Session02 OOA
Session02 OOA
Session02 OOA
Introduction to Object-
Oriented Analysis and
Design
Steve Chenoweth Chandan Rupakheti
Office: Moench Room F220 Office: Moench Room F203
Phone: (812) 877-8974 Phone: (812) 877-8390
Email: [email protected] Email: [email protected]
Demonstrate object-oriented
design basics like domain
models, class diagrams, and
interaction (sequence and
communication) diagrams.
Size
Needs, Features, &
Requirements
Complexity
Performance Software
System
Communication
CONCRETE &
COMPLETE
Q2
Thinking at the Right Level
Abstraction - hiding irrelevant details
to focus attention at right level
Process of component identification
is top-down, decomposing the
system into successively smaller,
less complex components
Process of integration, which is
bottom-up, building (composing) the
target system by combining
components in useful ways
Q4
Topics Covered in Book
OOA/D
Iterative
development with
an agile Unified
Process
http://www.craiglarman.com/wiki/images/4/43/Craig_larman_head.JPG Q5
Assigning responsibilities to software
objects is a critical ability in Object-
Oriented development. Why?
Q6
Analysis versus Design
Analysis Classes/Objects
n
Design
A conceptual solution,
rather than its implementation Data/Attributes
Q7
Analysis and Design Concepts
Analysis Concept
Design Concept
Plane
visualization of
domain concept tailNumber domain concept
Grady Booch
Player Die
1 Rolls 2
name faceValue
1 2
Plays
1
DiceGame
1 Includes
Sequence Diagram for Play Dice Game
Design Class Diagram for Dice Game
DiceGame Die
Q8
Three Perspectives to Apply UML
Q9
Abstract Requirements to Concrete Systems
Concrete
Implementation
Implementation
Classes
(Language)
Software
Classes Platform
(Design Class Specific
Analysis/ Diagrams) Model
Conceptual Platform
Classes Independent
(Domain Model) Model
Computational
Independent
Model
Abstract
Requirements
The Case Studies
NextGen Point of Sale (POS) System
Monopoly Game