Object Oriented Analysis and Design: Applying UML and Patterns
Object Oriented Analysis and Design: Applying UML and Patterns
Object Oriented Analysis and Design: Applying UML and Patterns
and Design
Chapter 1
Applying UML and Patterns
Applying UML
UML
Assigning Responsibilities
The
Requirements Analysis
All
Use Cases
Writing
Analysis, Object-Oriented
Analysis and Object-Oriented Design are
not a complete toolkit for a software
developer. There are many other skills
necessary in Software development,
including programming. This course only
covers a subset of the necessary skills.
emphasizes an investigation of
the problem and requirements, rather
than a solution.
"Analysis" is a broad term, best qualified,
as in requirements analysis (an
investigation of the requirements) or
object analysis (an investigation of the
domain objects).
Design
emphasizes a conceptual
solution that fulfills the requirements,
rather than its implementation.
do
VTOL
Glider
Helicopter
Jet
Drone
Military
Turboprop
Space Shuttle
Airship
12
Implementation
During
Example Tasks
Define
Use Cases
Define a Domain Model
Define Interaction Diagrams
Define Design Class Diagrams
UML
The
Object
Attributes
Instantiations
Classes
What is an Object?
Physical entity
Truck
Conceptual entity
Chemical Process
Software entity
Linked List
24
Representing Objects
An
: Professor
ProfessorClark :
Professor
a + b = 10
ProfessorClark
Professor Clark
What is a Class?
A
26
Sample Class
Class
Course
Properties
Name
Location
Days offered
Credit hours
Start time
End time
a + b = 10
Behavior
Add a student
Delete a student
Get course roster
Determine if it is full
27
Representing Classes
A
28
Class Compartments
Professor
name
empID
create( )
save( )
delete( )
change( )
29
VTOL
Glider
Helicopter
Jet
Drone
Military
Turboprop
Space Shuttle
Airship
30
Inheritance
Modularity
Encapsulation
Abstraction
Object Orientation
31
What is Abstraction?
32
What is Abstraction?
Salesperso
n
Customer
Not saying
Which
salesperso
n just a
salesperso
n in
Manages
Complexity
general!!!
Product
33
What is Encapsulation?
Hide
What is Modularity?
The
Order Processing
System
Order
Fulfillment
Billing
Manages Complexity
35
Polymorphism
Polymorphism
36
What is Polymorphism?
The
OO Principle:
Encapsulation
37
Polymorphism
Polymorphism literally
meaning many forms, the
concept that different
objects can respond to the
same message in different
ways.
Override a technique
whereby a subclass
(subtype) uses an attribute
or behavior of its own
instead of an attribute or
behavior inherited from the
class (supertype).
38
What is an Interface?
Interfaces
formalize polymorphism
Interfaces support plug-and-play
architectures
Tube
<<interface>>
Shape
Pyramid
Draw
Move
Scale
Rotate
Cube
39
Also referred to as a child class and, if it exists at the lowest level of the
inheritance hierarchy, as concrete class.
40
Inheritance (cont.)
41
Text Book
Applying UML and patterns: An introduction to Object-Oriented Analysis
and Design and Iterative Development by Craig Larman, Prentice Hall;
3rdEdition (October 30, 2004). ISBN-10: 0131489062