Object Oriented Design
Tom Kelliher, CS 319
Nov. 18, 1998
- Modular decomposition, domain specific architectures.
- Object oriented design: object model, inheritance & polymorphism,
identifying objects, concurrent objects, analysis example.
Read Ch. 23.
- What is an object --- from the point of view of the application and a
principles of programming point of view?
- What are the components of an object? Advantages of objects?
Disadvantages?
The object oriented development process:
- Object oriented analysis: Develop an object oriented model of the
application domain. These objects may not map into system objects.
- Object oriented design: Develop an object oriented model of a
software system which implements the requirements. May or may not be
structured around application domain objects.
- Object oriented programming: Implement a software design in an object
oriented language, incorporating classes and inheritance.
- Distinguish between object and object classes.
- What is the object model?
- Passive vs. active objects.
- What is inheritance? Advantages? Disadvantages?
- What is multiple inheritance? Advantages? Disadvantages?
- Why is it a bad idea to use inheritance during the design process?
- What is polymorphism? What is it good for? Advantages?
Disadvantages?
How do we determine the objects in a system?
No one method works all the time.
- Grammatical analysis: From a natural language system description,
identify nouns as objects and actions as operations.
- Tangible entities in application domain: These become the objects.
Then, identify operations.
- Behavioral techniques: First, understand overall behavior. Assign
behaviors to different parts of the system, identifying initiators and
participators.
- Scenario-Based analysis: Analyze various system scenarios,
identifying objects, attributes, operations.
- Again, active vs. passive objects.
- The best way to control/service a sensor?
Begin the object oriented development of a soda machine controller:
- Analysis: What process should be used to identify objects?
- Identify the objects in the system.
Thomas P. Kelliher
Tue Nov 17 14:52:50 EST 1998
Tom Kelliher