Download presentation
Presentation is loading. Please wait.
Published byHector Austin Modified over 9 years ago
1
Objects and Components
3
The adaptive organization The competitive environment of businesses continuously changing, and the pace of that change is increasing at an accelerating rate. Where it was once possible for a company to stake out its marketing turf and defend its position for years, static positioning is now viable only in a few isolated industries. For most companies today, the only constant is change.
4
Object Orientation Basic building blocks of a system are the OBJECTS black boxes encapsulating data and procedures messages can be send and received by objects object libraries and templates Importance reusability maintainability flexibility
5
Database Evolution File SystemDatabaseOO - system
6
Why objects ? Grady Booch: simply because there appears to be no other way to economically produce an enduring and resilient programming system. David A. Taylor objects are the enabling technology for adaptive business systems Planning !!!
7
The waterfall model project definition system study design programming Installation Post Imple- mentation Project proposal report Functional specifications Feasibility report design specifications program specs code tests of system performance audit, feed-back - intermediate reports - go/nogo intervals
8
Number of problems time System reliability evolution
9
Why OO ? Good reasons With the increasing complexity of the systems, the waterfall model suffers from two illusions: The analyst knows everything and understands the problem completely before implementation starts The users read the system analysis report and approve it
10
Project management Iterative style develop a series of solutions to a problem, each of them closer to satisfying the requirements ( also called : evolutionary development ) Incremental style Builds system functionality a little at a time. The results are not entire solutions. Matthew Pittman proposes iterative analysis and design combined with incremental development
11
OO - Life cycle Facts: System requirements are not fully known at the start knowledge of the system grows during development better develop a system incrementally start with some core functions object modeling analysis design construction full system definition coordination and reuse OMG Life Cycle
12
What is an object ? An object is a software package that contains a collection of related procedures ( methods ) and data ( variables ) An object is a data abstraction with a state, a behavior and an identity whereby operations are encapsulated together with the data structures on which they are defined B0923C7 12403 Peters Brussels 1 y comp change address enroll give grade
13
The object paradigm Five principles: Abstraction Encapsulation Object communication, message passing Inheritance Polymorphism
14
Abstraction an abstraction is a simplified view of some part of reality, focusing on some aspects, suppressing others good abstraction emphasizes on those details that are important for the actual observer the use of abstraction makes it possible to postpone decisions regarding details an object is an abstraction of both data and functionality, with a focus on the outside view, separating the implementation of the object from the essential
15
Abstraction focuses upon the essential characteristics of some object, relative to the perspective of the user From: Grady Booch Abstraction
16
Encapsulation From: Grady Booch Encapsulation hides the details of the implementation of an object
17
Encapsulation Encapsulation is the mechanism by which an object is made to look like a black box to an external observer It is the packaging of a set of ideas into one logical unit, which can be referred to as a single unit Good encapsulation hides design decisions. An external observer sees what the object does, not how it does it. It is the basis for reusability
18
Classes A Class is a software template that defines the methods and variables to be included in a particular kind of object. objects of the same structure and behavior belong to the same class an object belongs to a class or is an instance of a class objects only exist at run-time classes are set up at design time a class can contain rules that all instances must satisfy
19
Messages passing A message starts an operation on an object A message is simply the name of an object, followed by the name of the method the object knows how to execute, and eventually followed by parameters Objects can pass messages to other objects Signature : The message signature contains the stipulation of the message format a message consists of the name of a method and the required arguments the set of messages to which an object responds is the behavior of the object
20
Message passing The task of software development is to engineer the illusion of simplicity.
21
Message Interface Message interface The set of messages an object commits to respond to. A class must specify the messages that objects of this type will make available to other objects Interfaces protect objects from being corrupted by other objects protect other objects from depending on its internal structure Interfaces may be segmented by combining them into composite interfaces
22
Anatomy of a message A message consists of three parts 1.A receiver object 2.A method the receiver knows how to execute 3.An ordered set of parameters that this method requires to carry out this function (optional) Vehicle Turn : 90 receiver method parameter Messages conform to signatures
23
Inheritance the ability of an instance of a class C to use not only the methods and variables defined for C but also those designed for an ancestor of C Inheritance allows new classes to be build incrementally on existing classes Message interfaces are also inherited students and staff members are sub-classes of person Person change address student grade Staff member pay
24
Composite objects Objects can contain other objects(Composite objects) Collection class is a special kind of class Benefits of Composition even a deeply nested structure can be treated as a single, unified object this helps manage complexity Delegation when an object assigns a task to another object
25
Method overriding it is possible to override methods Polygon Give area Hexagon Triangle Give area Rectangle Give area
26
Attention Person Head Leg This is not inheritance (but Aggregation)
27
Polymorphism The ability of different objects to respond differently to the same message is called POLYMORPHISM e.g. DRAW NEW A variable can point to an object whose class is not absolutely known
28
Number of problems time OO-System Reliability With OO development techniques A system is never replaced entirely continuous evolution lower implementation risk
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.