3. Object
◦ encapsulates both data (attributes) and data manipulation
functions (called methods, operations, and services)
Class
◦ generalized description (template or pattern) that describes a
collection of similar objects
Super-class
◦ a collection of objects
Sub-class
◦ an instance of a class
3
4. Class hierarchy
◦ attributes and methods of a super-class are inherited by its
sub-classes
Messages
◦ the means by which objects exchange information with one
another
Inheritance
◦ provides a means for allowing sub-classes to reuse existing
super-class data and procedures
◦ provides mechanism for propagating changes
4
5. Polymorphism
◦ mechanism that allows several objects in an class hierarchy to
have different methods with the same name
◦ instances of each sub-class will be free to respond to
messages by calling their own version of the method
5
6. Build new class from scratch without using
inheritance
Use inheritance to create new class from
existing class contains most of the desired
attributes and operations
Restructure the class hierarchy so that the
required attributes and operations can be
inherited by the newly created class
6
7. Override some attributes or operations in an
existing class and use inheritance to create a
new class with (specialized) private versions of
these attributes and operations.
7
8. Customer communication
Planning
Risk analysis
Engineering construction and analysis
Customer evaluation
8
9. Identify candidate classes
Look-up classes in library
Extract classes if available
Engineer classes if not available
◦ Object-oriented analysis (OOA)
◦ Object-oriented design (OOD)
◦ Object-oriented programming (OOP)
◦ Object-oriented testing (OOT)
Put new classes in library
Construct Nth iteration of the system
9
10. External Entities
◦ devices or people
Things in Problem Domain
◦ Reports, displays, signals
Events
◦ completion of some task
Roles
◦ manager, engineer, salesperson
Organizational Units
◦ divisions, groups, teams
Structures
◦ sensors, vehicles, computers
10
11. Does object information need to be retained?
Does object provide a set of needed services that can
change its attributes?
Does object have major (important) attributes?
Can you identify common attributes for all object
instances?
Can you identify common operations for all object
instances?
Is it an external entity that produces or consumes
information?
11
12. Establish a common process framework (CPF).
Use CPF & historic data to eliminate time & effort.
Specify products & milestones.
Define Q.A. checkpoints.
Manage changes.
Monitor project.
12
14. Number of scenario scripts.
Number of key classes.
Number of support classes.
(# key classes)/(# support classes).
Number of major iterations (around spiral
model).
Number of completed contracts.
14