You are on page 1of 15

Object-Oriented Analysis -- 1Ó 1995 John Mylopoulos

Object-Oriented Analysis Techniques


Coad s OOA Technique
Short History
Terminological Comparison
Postscript and Remarks
Object-Oriented Analysis
Object-Oriented Analysis -- 1Ó 1995 John Mylopoulos
Object-Oriented Analysis Techniques
Coad s OOA Technique
Short History
Terminological Comparison
Postscript and Remarks
Object-Oriented Analysis
Object-Oriented Analysis -- 2Ó 1995 John Mylopoulos
Object-Oriented Analysis
n Object-Oriented Analysis covers a host of techniques introduced in the
mid-eighties for requirements modelling.
n Such techniques focus on the things that exist within the application
domain, model them with objects
n These techniques use classification, generalization, aggregation to
structure object assemblies
n Actions (services/activities) are associated with objects
n State changes are effected by actions performed on objects
Object-Oriented Analysis -- 4Ó 1995 John Mylopoulos
Coad s Object-Oriented Analysis
n Proposed by Peter Coad [Coad91].
n An object is defined as a real world entity related to the problem domain,
with crisply defined boundaries.
n Objects are encapsulated along with their attributes and behaviour.
n In Coad s model, there are five kinds of concepts for modelling an
application: objects, attributes, structures, services and subjects.
identifier
attributes
services
patient
physician
name
address
makeAppointment
doLabTest
Object-Oriented Analysis -- 4Ó 1995 John Mylopoulos
Coad s Object-Oriented Analysis
n Proposed by Peter Coad [Coad91].
n An object is defined as a real world entity related to the problem domain,
with crisply defined boundaries.
n Objects are encapsulated along with their attributes and behaviour.
n In Coad s model, there are five kinds of concepts for modelling an
application: objects, attributes, structures, services and subjects.
identifier
attributes
services
patient
physician
name
address
makeAppointment
doLabTest
Object-Oriented Analysis -- 5Ó 1995 John Mylopoulos
Five Layers to OOA
n Class/Object Layer
n Structure Layer
n Service Layer
n Attribute Layer
n Subject Layer
Object-Oriented Analysis -- 6Ó 1995 John Mylopoulos
n Phase I: Identifying Problems &
Opportunities
Confirm that a problem exists
Carry out a study to determine if a system can be
developed to solve the problem (2 days - 4 weeks)
Produce the Feasibility Study
Object-Oriented Analysis -- 6Ó 1995 John Mylopoulos
n Phase I: Identifying Problems &
Opportunities
Confirm that a problem exists
Carry out a study to determine if a system can be
developed to solve the problem (2 days - 4 weeks)
Produce the Feasibility Study
Object-Oriented Analysis -- 7Ó 1995 John Mylopoulos
Phase II: Info Requirements Analysis
n Study existing procedures and information
systems
n Define goals to be achieved by the new system
n Propose alternate business processes
n Define the boundaries of the information system
n Define non-functional requirements
Object-Oriented Analysis -- 8Ó 1995 John Mylopoulos
n Phase III: Systems Analysis
n Chart input, processes, & outputs using Data Flow
Diagrams
n Develop data dictionary listing all attributes of the
system
n Analyse structured decisions using decision tables
or decision trees
n Analyse semi-structured decisions. May need to
develop decision support systems.
n Prepare System Proposal, Cost/Benefit Analysis of
alternatives
n Recommend course of action
Object-Oriented Analysis -- 8Ó 1995 John Mylopoulos
n Phase III: Systems Analysis
n Chart input, processes, & outputs using Data Flow
Diagrams
n Develop data dictionary listing all attributes of the
system
n Analyse structured decisions using decision tables
or decision trees
n Analyse semi-structured decisions. May need to
develop decision support systems.
n Prepare System Proposal, Cost/Benefit Analysis of
alternatives
n Recommend course of action
Object-Oriented Analysis -- 9Ó 1995 John Mylopoulos
n Phase IV: The Design Phase
n Specify an architecture and a detailed design for the
proposed information system
n Ideal system specified first, meeting all functional
requirements, then modified to meet non-functional
requirements and other constraints
n Resources allocated for hardware equipment,
personnel tasks and programming tasks
n Technical specifications are prepared
Object-Oriented Analysis -- 10Ó 1995 John Mylopoulos
n Phase V: Develop and Document
n The system is implemented on the basis of the
design specification.
n Analyst works with programmers to develop any
original software needed
n Analyst uses structured techniques (pseudo code,
flowcharts, ) to communicate with the
programmers
n Programming of the system is carried out
n Program testing is carried out
n Procedures, system manuals, software
specifications and documentation are completed
Object-Oriented Analysis -- 10Ó 1995 John Mylopoulos
n Phase V: Develop and Document
n The system is implemented on the basis of the
design specification.
n Analyst works with programmers to develop any
original software needed
n Analyst uses structured techniques (pseudo code,
flowcharts, ) to communicate with the
programmers
n Programming of the system is carried out
n Program testing is carried out
n Procedures, system manuals, software
specifications and documentation are completed
Object-Oriented Analysis -- 11Ó 1995 John Mylopoulos
n Phase VI: System Testing
n Testing of the system as a whole is performed
n Users conduct acceptance testing
Object-Oriented Analysis -- 12Ó 1995 John Mylopoulos
n Phase VII: Implementation & Evaluation
n Equipment is acquired and installed
n Staff is trained
n Conversion from old system
n Evaluation of system
Object-Oriented Analysis -- 12Ó 1995 John Mylopoulos
n Phase VII: Implementation & Evaluation
n Equipment is acquired and installed
n Staff is trained
n Conversion from old system
n Evaluation of system
Object-Oriented Analysis -- 13Ó 1995 John Mylopoulos
n The Ongoing Maintenance Phase
n Over 60% of a system s resource can be spent in
this phase
n Two flavours of maintenance:
n correction of software errors
n enhancements to meet changing needs
n Important that all previous phases keep easy
maintenance as major goal.
Object-Oriented Analysis -- 14Ó 1995 John Mylopoulos
Systems Lifecycle cq. OOAD
n I. Identifying Problems & Opportunities
n II. Info Requirements Analysis
n III. Systems Analysis
n IV. Systems Design
n V. Development & Documentation
n VI. Systems Testing
n VII. Implementation & Evaluation
n On-going Maintenance Phase
OOAD only affects phase III, IV, and V.
The other phases remain the same.
Object-Oriented Analysis -- 14Ó 1995 John Mylopoulos
Systems Lifecycle cq. OOAD
n I. Identifying Problems & Opportunities
n II. Info Requirements Analysis
n III. Systems Analysis
n IV. Systems Design
n V. Development & Documentation
n VI. Systems Testing
n VII. Implementation & Evaluation
n On-going Maintenance Phase
OOAD only affects phase III, IV, and V.
The other phases remain the same.
Object-Oriented Analysis -- 15Ó 1995 John Mylopoulos
Five Layers to OOA
n Class/Object Layer
n Structure Layer
n Service Layer
n Attribute Layer
n Subject Layer
Object-Oriented Analysis -- 16Ó 1995 John Mylopoulos
Structure: Basic Class Notation
Patient #
Patient # Patient #
physician
room
bed
lastVist
nextVisit
Patient
In-Patient Out-Patient
ER Notation OOA Notation
patient
in-patient out-patient
physician
room
bed
lastVisit
nextVisit
Object-Oriented Analysis -- 16Ó 1995 John Mylopoulos
Structure: Basic Class Notation
Patient #
Patient # Patient #
physician
room
bed
lastVist
nextVisit
Patient
In-Patient Out-Patient
ER Notation OOA Notation
patient
in-patient out-patient
physician
room
bed
lastVisit
nextVisit
Object-Oriented Analysis -- 17Ó 1995 John Mylopoulos
Structure: Subtyping or
Generalization-Specialization
Patient #
Patient # Patient #
physician
room
bed
lastVisit
nextVisit
Generalization/specialization structures organize objects into taxonomies.
Patients are either in-patients or out-patients. The physician attribute of
patients is inherited by both in-patients and out-patients.
Patient
In-Patient Out-Patient
Object-Oriented Analysis -- 18Ó 1995 John Mylopoulos
Structure: Whole-Part Structures
trafficLight
location support lampAssembly
0,3
1,1
1,1
0,1
Whole-Part structures describe an object as an assembly of other objects. A
traffic light consists of 0 to 3 lampAssemblies, a single support and a
single location.
Object-Oriented Analysis -- 18Ó 1995 John Mylopoulos
Structure: Whole-Part Structures
trafficLight
location support lampAssembly
0,3
1,1
1,1
0,1
Whole-Part structures describe an object as an assembly of other objects. A
traffic light consists of 0 to 3 lampAssemblies, a single support and a
single location.
Object-Oriented Analysis -- 19Ó 1995 John Mylopoulos
Services
n Objects provide services to other objects in their environments. For
example, a physician object may provide services examine, report.
n Coad distinguished three types of services:
Occurence services, whereby objects are created, destroyed,
changed,...; Coad suggests using a generic service occur and not
mention it for any particular object;
Calculate services, where an object performs a calculation for some
other object;
Monitor services, where an object is monitoring some process to see
if some condition applies;
n A special notation is used (dashed-line arrow) to indicate that an object is
using services from another object.
OOA views the world with Smalltalk glasses...
Object-Oriented Analysis -- 20Ó 1995 John Mylopoulos
Services and Relationships
in-patient patientRecord
physician
room
bed
visits
tests
1
0,m
1 0,1
physician, in-patient
use each other s
services
examine
report
visitPhys
takeTest
getData
physician getsData
from patientRecord
Object-Oriented Analysis -- 20Ó 1995 John Mylopoulos
Services and Relationships
in-patient patientRecord
physician
room
bed
visits
tests
1
0,m
1 0,1
physician, in-patient
use each other s
services
examine
report
visitPhys
takeTest
getData
physician getsData
from patientRecord
Object-Oriented Analysis -- 21Ó 1995 John Mylopoulos
distinct
dial tone
idle busy
busy
dial tone ringing
on hook/quiet
off hook/
dial tone
on hook/quiet
busy #/
busy tone
Dial #/
ring back tone
dial 9/
dist
tone
dial #/
ring back tone
called off hook/
connected
Legend:
input/output
State Transition Diagrams
dial busy number/
busy tone
connected
Object-Oriented Analysis -- 22Ó 1995 John Mylopoulos
Methodology
n Identify objects and classes (i.e., generic objects)
n Identify structures and build generalization, aggregation hierarchies.
n Define subjects. These partition all the objects and classes of an object
model into subject layers, which represent the application from a particular
perspective. Often whole Gen-Spec or Part-Whole structures are grouped
under one subject.
n Identify information that should be associated with each object. Place
attributes at the right structural level.
n Define services for each class.
Object-Oriented Analysis -- 22Ó 1995 John Mylopoulos
Methodology
n Identify objects and classes (i.e., generic objects)
n Identify structures and build generalization, aggregation hierarchies.
n Define subjects. These partition all the objects and classes of an object
model into subject layers, which represent the application from a particular
perspective. Often whole Gen-Spec or Part-Whole structures are grouped
under one subject.
n Identify information that should be associated with each object. Place
attributes at the right structural level.
n Define services for each class.
Object-Oriented Analysis -- 23Ó 1995 John Mylopoulos
Terminology
OOA OOSE OOD OMT
(Jacobson) (Booch) (Rumbaugh)
Metaclass
Object Instance Object Object
Gen-Spec Inheritance inherits Generalization
Whole-Part Consists-of Aggregation
Instance conn. Acquaintance Link
Message Stimuli Message Event
Message conn. Communication
Attribute Attribute Attribute
Service Operation Operation
Subject ~View (subsystem) Sheet
(Execution thread) Use case ~Scenario
(User) Actor
Object-Oriented Analysis -- 24Ó 1995 John Mylopoulos
The Unified Modeling Language
n Booch and Rumbaugh started working towards a unified modeling
language (UML) in 1994 under the auspices of Rational Inc.
n UML only offers a notation, not a methodology for modeling (as various
OOA techniques do).
n UML will be proposed by Rational Inc. and by Hewlett-Packard as a
standard for object-oriented analysis and design, to be adopted by the
OMG.
n If adopted by OMG, it is expected that all vendors will modify their CASE
tools to make them consistent with UML [UML97].
Object-Oriented Analysis -- 24Ó 1995 John Mylopoulos
The Unified Modeling Language
n Booch and Rumbaugh started working towards a unified modeling
language (UML) in 1994 under the auspices of Rational Inc.
n UML only offers a notation, not a methodology for modeling (as various
OOA techniques do).
n UML will be proposed by Rational Inc. and by Hewlett-Packard as a
standard for object-oriented analysis and design, to be adopted by the
OMG.
n If adopted by OMG, it is expected that all vendors will modify their CASE
tools to make them consistent with UML [UML97].
Object-Oriented Analysis -- 25Ó 1995 John Mylopoulos
Remarks
n Object-oriented analysis techniques are supposed to make it easier to
generate a design and subsequently code from a requirements
specification.
n The introduction of semantic structuring mechanisms (generalization,
aggregation) to requirements modeling is definitely a step in the right
direction.
n Trouble is, in the process, OOA techniques straightjacket the modeller s
view of the world (...the guy with the hammer sees the world like a bunch of
nails...)
n OOAD modellers often forget first few phases.
n OOAD doesn t lend itself well to drastically different architectures
Object-Oriented Analysis -- 26Ó 1995 John Mylopoulos
References
n [Booch86] Booch, G., Object-Oriented Development , IEEE Transactions on
Software Engineering 12(2), February 1986.
n [Booch94] Booch, G., Object-Oriented Analysis and Design, Benjamin-
Cummings, 1994 (2nd edition).
n [Coad91] Coad, P. and Yourdon, E., Object-Oriented Analysis, Prentice Hall,
1991.
n [Jacobson92] Jacobson, I., Christerson, M., Jonsson, P., Overgaard, G.,
Object-Oriented Software Engineering, Addison-Wesley, 1992.
n [Martin93] Martin, J., Object-Oriented Analysis and Design, Prentice-Hall,
1993.
n [Rumbaugh91] Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., Lorensen,
W., Object-Oriented Modeling and Design, Prentice-Hall, 1991.
n [UML97] http://www.rational.com
Object-Oriented Analysis -- 26Ó 1995 John Mylopoulos
References
n [Booch86] Booch, G., Object-Oriented Development , IEEE Transactions on
Software Engineering 12(2), February 1986.
n [Booch94] Booch, G., Object-Oriented Analysis and Design, Benjamin-
Cummings, 1994 (2nd edition).
n [Coad91] Coad, P. and Yourdon, E., Object-Oriented Analysis, Prentice Hall,
1991.
n [Jacobson92] Jacobson, I., Christerson, M., Jonsson, P., Overgaard, G.,
Object-Oriented Software Engineering, Addison-Wesley, 1992.
n [Martin93] Martin, J., Object-Oriented Analysis and Design, Prentice-Hall,
1993.
n [Rumbaugh91] Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., Lorensen,
W., Object-Oriented Modeling and Design, Prentice-Hall, 1991.
n [UML97] http://www.rational.com

You might also like