Professional Documents
Culture Documents
Analysis/Design/Programming
Outline of
UML and Unified Process
Model
Domain
Definition of
the problem
Koichiro OCHIMIZU
Program
Construction of
the solution
h1
h2
UML
Description of
possibility
state-ofhunger
eat()
a1
hungry
person
apple
state of
hunger
volume
int state-of-hunger
eat
a2
satisfy
hunger
eaten
state-ofhunger
eat()
void eat ()
}
apple
int volume
volume
void eaten ()
eaten()
volume
eaten()
Program
Reproduction of the
Domain in the main
memory
Relationship
between
Methods and UML
Method 1
Method 2
Method 3
Component
View
Use-Case
View
Description
Deployment
View
Concurrency
View
UML
H.E. Eriksson and M. Penker, UML Toolkit John Wiley & Sons, Inc.
Relationships between
views and diagrams in UML
Use-Case View
Use-Case Diagram, Activity Diagram
Logical View
Class Diagram, Object Diagram
State Diagram, Sequence Diagram, Collaboration Diagram,
Activity Diagram
Concurrency View
State Diagram, Sequence Diagram, Collaboration Diagram,
Activity Diagram
Component Diagram,, Deployment Diagram
Deployment View
Deployment Diagram
Component View
Component Diagram
i
Use-Case Model
Use-Case Diagram
Analysis Model
describe Realization a Use-Case by a Collaboration
Diagram and a Flow of Event Description
Design Model
Class Diagram , Sequence Diagram, and Statechart Diagram
Deployment Model
Deployment Diagram
Implementation Model
Component Diagram
Test Model
Test Case
UML Notations
Use Case
Actor
Withdraw Money
Use Case
Deposit Money
Bank
Customer
Bank
Customer
Use Case
Use Case
Transfer between Accounts
Stereotypes
Stereotype/keyword Applies to symbol
Actor
class
trace
dependency
subsystem
package
Meaning
Specifies a coherent set of roles
that users of use cases play
when interacting these use
cases
Withdraw
Money
G.Booch, J.Rumbaugh, I. Jacobson , The Unified Modeling Language User
Guide, Addison Wesley, 1999.
Functional Requirements
Analysis Model
<<trace>>
Use Case
Collaboration
Withdraw Money
Withdraw Money
Use Case
System
Actor
Dispenser
UML notation
Collaboration
collaboration name
Collaboration
Use Case
Actor
Collaboration
<<trace>>
Analysis Stereotypes
In the analysis model, three different stereotypes on
classes are used: <<boundary>>, <<control>>, <<entity>>.
Boundary
Dispenser
Cashier Interface
Control
Withdrawal
Entity
Account
I. Jacobson, G.Booch, J.Rumbaugh,The Unified Software Development Process,
Addison Wesley, 1999.
Analysis Stereotypes
<<boundary>> classes in general are used to
model interaction between the system and its
actors.
<<entity>> classes in general are used to model
information that is long-lived and often persistent.
<<control>> classes are generally used to
represent coordination, sequencing, transactions,
and control of other objects. And it is often used
to encapsulate control related to a specific use
case.
I. Jacobson, G.Booch, J.Rumbaugh,The Unified Software Development Process,
Addison Wesley, 1999.
UML notation
identify
1: identify
Message
2: request withdrawal
: Cashier
Interface
: Bank
: Account
Customer
4: authorize dispense
5: dispense money
:Dispenser
Analysis Classes
Collaboration
The Cashier Interface verifies the Bank Customers identity and asks a
Withdrawal object to perform the transaction (2).
Use case
Event Flow
Description
Collaboration
Collaboration
Diagram
Actor
Collaboration
Then the Withdrawal object authorizes the Dispenser to dispense the amount that
the Bank Customer requested (4) .
The Bank Customer then receives the requested amount of money (5) .
I. Jacobson, G.Booch, J.Rumbaugh,The Unified Software Development Process,
Addison Wesley, 1999.
UseUse-Case Model
Dispenser
Withdrawal
Withdraw Money
Bank
Customer
Transfer between
Accounts
Bank
Customer
Deposit Money
Cashier Transfer
Interface
Money
receptor
Account
Analysis Class
Focus on functional requirements in defining analysis class.
Deal with non functional requirements in design phase or
implementation phase.
Make the class responsibility clear
Define attributes that exist in a real world
Define association but do not Include details like
navigation
Use stereotype classes; <<boundary>>, <<control>>, and
<<entity>>.
Deposit
UML notation
Dispenser
Cashier Interface
<<trace>>
Account
<<trace>>
<<trace>>
Client
Manager
Active Class
<<trace>>
withdrawal
Dispenser
Sensor
Display
Withdrawal
Client
Manager
Dispenser
Feeder
Key Pad
Card
Reader
Account
Transaction
Manager
Cash
Counter
Persistent
Class
Account
Manager
Design Classes
I. Jacobson, G.Booch, J.Rumbaugh,The Unified Software Development Process,
Addison Wesley, 1999.
Class Diagram
for use case withdraw money
Card
Reader
Transaction
Manager
Client
Manager
Display
Bank
Customer
Use Case
Persistent
Class
Key Pad
withdrawal
Account
Dispenser
Feeder
Actor
Cash
Counter
Account
Manager
Dispenser
Sensor
I. Jacobson, G.Booch, J.Rumbaugh,The Unified Software Development Process,
Addison Wesley, 1999.
Sequence Diagram
for use case withdraw money
Card
Reader
Bank
Customer
Display
Key Pad
Client
Manager
Cash
Counter
Transaction
Manager
Insert card
Card inserted (ID)
Ask for PIN code
Use case
Show request
Specify PIN code
Show request
Actor
Specify amount
Amount (A)
Request cash availability
Request amount withdrawal (A)
Display
Transaction
Manager
Key Pad
Account
Manager
Withdrawal
Management
client.exe
<<trace>>
Persistent
Class
<<service
subsystem>>
Cash
Counter
<<executable>>
Client
Manager
Client
Manager
Dispensing
Dispenser
Feeder
Account
Management
Withdrawal
Card
Reader
Bank
Customer
<<sub
system>>
<<subsystem>>
Transaction
Management
<<subsystem>>
ATM
interface
Transfers
Withdrawal
Dispenser
Feeder
<<trace>>
<<file>>
Cash
Counter
<<compilation>>
client.c
Dispenser
Sensor
Account
Dispenser
Sensor
<<file>>
dispenser.c
Test Model
<<trace>>
Withdraw money
Withdraw Money
Basic Flow -