Component object model ppt

distributed component object model ppt and document object model ppt
Dr.DouglasPatton Profile Pic
Dr.DouglasPatton,United States,Teacher
Published Date:26-07-2017
Your Website URL(Optional)
Comment
The University of Iowa CS:2820 (22C:22) Object-Oriented Software Development Spring 2015 The Object Model by Cesare TinelliThe Object Model of Development Built on the best ideas from previous • technologies Influenced by major trends in software • engineering: 1. increased focus on programming-in- the-large 2. evolution of high-level programming languagesObject in Object-Oriented Programming Languages Entity that combines features of • procedures: performs computations • data: stores local state • is characterized by certain invariants •Essence of OO Programming Programs are organized as cooperative • collections of objects Each object is an instance of some class • Classes are related via an inheritance • relationshipOO Analysis Builds a model of the real-world using • an object-oriented view Examines requirements in terms of • classes and objects found in the problem domainOO Design Leads to an object-oriented decomposition • Uses various notations (e.g., UML • diagrams) to express various views of the system being designed: logical (classes and objects) vs. physical • structure (modules and processes) static vs. dynamic aspects •OO Software Development The products of OO Analysis serve as • starting points for OO Design The products of OO Design serve as • blueprints for an OO implementationThe Object Model of Development Is built on the synergy among: abstraction typing • • encapsulation concurrency • • modularity persistence • • hierarchy •Abstraction The process of identifying similarities • between objects, situations or processes and ignoring their differences A description, or specification, of • something that emphasizes some details or properties while ignoring others It focuses on the essential characteristics • of something relative to a viewer's perspectiveAbstraction Main trait: it can be understood and • analyzed independently on how it is realized Quality: it is relative to its viewers/users • and their current needs Establishing the right set of abstractions for a problem domain is the main challenge of design Abstraction in OO Design We can characterize the behavior of an • object, the server, in terms of the services it provides to other objects, the clients client client client Server client client clientAbstraction in OO Design An object's abstraction defines a • contract that other objects depend on and • must be honored by the object • The contract establishes all assumptions • a client may make about the behavior of the serverDesign by Contract Each service (operation) provided by an • object has a set of preconditions, to be satisfied by the • client when invoking the service postconditions, guaranteed by the • server upon completion of the service invariants, properties maintained • between operationsAbstraction Examples Temperature sensor • Point on a grid • Bank account •The Object Model of Development Is built on the synergy among: abstraction typing ✓ • encapsulation concurrency • • modularity persistence • • hierarchy •Encapsulation The abstraction of an object should • precede any decisions about its implementation Implementation details should not be • accessible to clients Encapsulation is the process of hiding • such detailsEncapsulation Achieved in OO languages by hiding the • internals of an object (attributes and method implementations) It greatly facilitates changes that do not • impact the abstraction (i.e., the object's contract) Leads to a clear separation of concerns • (contract vs way to honor it) Localizes design decisions likely to change •Encapsulation in OO Languages Classes of objects described in two parts: interface • captures outside view of the object and its essential behavior implementation • provides a representation of the abstraction and the mechanisms to achieve its behaviorEncapsulation Examples Heater Controller • Point on plane • Queue •The Object Model of Development Is built on the synergy among: abstraction typing ✓ • encapsulation concurrency ✓ • modularity persistence • • hierarchy •

Advise: Why You Wasting Money in Costly SEO Tools, Use World's Best Free SEO Tool Ubersuggest.