Documente Academic
Documente Profesional
Documente Cultură
Engineering
CIS 375
Bruce R. Maxim
UM-Dearborn
1
OO Concepts - 1
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
Superclass
a collection of objects
Subclass
an instance of a class
2
OO Concepts - 2
Class hierarchy
attributes and methods of a superclass are
inherited by its subclasses
Messages
the means by which objects exchange information
with one another
Inheritance
provides a means for allowing subclasses to reuse
existing superclass data and procedures
provides mechanism for propagating changes
3
OO Concepts - 3
Polymorphism
mechanism that allows several objects in
an class hierarchy to have different
methods with the same name
instances of each subclass will be free to
respond to messages by calling their own
version of the method
Advantages of OO Architectures
Implementation details of data and
procedures hidden from the outside world
reduces propagation of side effects after changes
Object-Oriented Evolutionary
Process Model
Customer communication
Planning
Risk analysis
Engineering construction and analysis
Customer evaluation
Object-Oriented Software
Construction
Class Candidates
External Entities
devices or people
Events
completion of some task
Roles
manager, engineer, salesperson
Organizational Units
divisions, groups, teams
Structures
sensors, vehicles, computers
10
11
12
Management of OO Projects
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.
13
OO Project Milestones
Contracts completed.
OO Analysis completed.
OO Design completed.
OO Programming completed.
OO Testing completed.
14
OO Project Metrics
OO Estimation - 1
1. Use some effort decomposition technique
(e.g. FP) to determine size estimates.
2. Use O.O.A. to develop scenario scripts and
count them.
3. Use O.O.A. to get the number of key
classes.
4. Categorize types of the user interfaces to
determine support class multiplier:
NoUI = 2.0 TextUI = 2.25 GUI = 2.5 Complex GUI = 3.0
16
OO Estimation - 2
5.
6.
7.