Professional Documents
Culture Documents
Topics and Skills Covered: Ooa/D
Topics and Skills Covered: Ooa/D
Introduction
OOA/D
Iterative
development with
an agile Unified
Process
Analysis and Design?
• Analysis • Design
OOA/OOD
• OOA
– Examine requirements from the perspective of
classes and objects found in the vocabulary of
the problem domain
– Finding and describing objects/concepts in the
problem domain
– Investigation of domain objects
• OOD
– Defining software objects and how they
collaborate to fulfill requirements
– Concerned with their responsibilities and
collaborations
Example: Flight Information System
Plane
visualization of
domain concept tailNumber domain concept
Iterative Development
• Key steps
– Define use cases
– Define domain model
– Define interaction diagrams
– Define design class diagrams
DiceGame
1 Includes
Conceptual Perspective
DiceGame Die (domain model)
1 Includes 2
faceValue Raw UML class diagram
notation used to visualize
real-world concepts.
Specification or
DiceGame Die Implementation
Perspective
die1 : Die 2 faceValue : int (design class diagram)
die2 : Die
getFaceValue() : int Raw UML class diagram
play() roll() notation used to visualize
software elements.
Unified Modeling Language (UML)
exceptions
AssociationClass ThrownException1
Multiplicity:
zero or
1..40 one to 1..* 5 exactly
* Class more; Class
forty
Class one or
more
Class
five
"many"
Source: www.craiglarman.com
Harmful is knowing
how to read and
draw UML diagrams,
but not being an
expert in design and
patterns.
Source: www.craiglarman.com