You are on page 1of 17

Nội dung

„ Biểu đồ trạng thái (state diagram)


„ Biểu đồ tuần tự (sequency diagram)
Chương 7 „ Biểu đồ cộng tác (collaboration diagram)
„ Biểu đồ hoạt động (activity diagram)
Biểu đồ tuần tự và biểu đồ cộng tác còn được
Mô hình động „

gọi là biểu đồ tương tác (interaction)

UML/NN 1
UML/NN 2

9 Biểu đồ Mô hình động (dynamic model)


1. Biểu đồ Use case (Use Case Diagram) „ Hệ thống sẽ đáp lại những sự kiện từ bên ngoài ra
2. Biểu đồ lớp (Class Diagram) sao
3. Biểu đồ đối tượng (Object Diagram) „ Cần phải xác định chuỗi các thủ tục là hệ quả của
một sự kiện từ bên ngoài
4. Biểu đồ trạng thái (State Diagram)
„ Trọng tâm của mô hình này là chỉ ra ứng xử theo
5. Biểu đồ trình tự (Sequence Diagram) thời gian của các đối tượng trong hệ thống.
6. Biểu đồ cộng tác (Collaboration Diagram) „ Chỉ ra hoạt động của một hệ thống theo một
7. Biểu đồ hoạt động (Activity Diagram) hướng nhìn
8. Biểu đồ thành phần (Component Diagram)
9. Biểu đồ triển khai (Deployment Diagram)
UML/NN 3 UML/NN 4

1
Biểu đồ trạng thái: đèn giao thông Biểu đồ trạng thái (state)
„ Trạng thái của đối tượng ở một thời điểm là tình
trạng của đối tượng ở ngay lúc đó
„ Trạng thái của đối tượng được xác định bởi tất cả
thuộc tính của đối tượng và những liên kết mà nó
giữ

UML/NN 5 UML/NN 6

Các thành phần Biểu đồ trạng thái

““top”
top”
top” state
state
State
„ Biểu đồ trạng thái đưa ra hình ảnh động của
State
Initial
Initial hệ thống
pseudostate
pseudostate top
Trigger
Trigger „ Biểu đồ trạng thái biểu diễn cho hành vi của
Ready những đối tượng riêng biệt
Transition
Transition „ Nó chỉ ra trình tự những trạng thái mà đối tượng
trải qua suốt chu kỳ sống nhằm đáp ứng những
stop /ctr := 0
sự kiện
Done Nó cũng mô tả những sự kiện làm thay đổi trạng
Final
Final „
Action
Action
state
state
stop thái của đối tượng

UML/NN 7 UML/NN 8

2
Biểu đồ trạng thái Biểu đồ trạng thái
„ Biểu đồ trạng thái đặc biệt hữu ích để mô tả: „ Tất cả trạng thái
„ Các thực thể nghiệp vụ phức tạp, như khách „ Tất cả dịch chuyển
hàng và tài khoản „ Quá trình thay đổi trạng thái gọi là dịch chuyển trạng
„ Hành vi của hệ thống con thái (transition)
„ Tương tác trong các lớp biên (boundary) trong „ Dịch chuyển là kết quả của một hoạt động mà gây ra
một biến đổi trạng thái quan trọng
quá trình xác định giao diện
„ Việc hiện thực các use case „ Tất cả sự kiện gây ra dịch chuyển
„ Các đối tượng phức tạp, hiện thực các thực thể
nghiệp vụ hoặc các thực thể thiết kế phức tạp

UML/NN 9 UML/NN 10

Trạng thái con Cách tạo biểu đồ trạng thái


„ Trạng thái của một đối tượng có thể có các trạng 1. Xác định thực thể có hành vi phức tạp
thái con. Trạng thái con là một phần của trạng thái 2. Định nghĩa trạng thái ban đầu và trạng thái kết thúc
kết hợp 3. Xác định những biến cố ảnh hưởng tới thực thể
„ Trạng thái con có thể thực hiện đồng thời hay tuần 4. Làm việc từ trạng thái bắt đầu dò ra trạng thái trung
gian
tự 5. Xác định các hành động vào và ra của các trạng thái
6. Mở rộng các trạng thái bằng các trạng thái con khi
cần thiết
7. Nếu thực thể là một lớp, kiểm tra các hành động của
nó trong trạng thái đó có được sự hỗ trợ bởi các tác
vụ và các kết hợp của một lớp không. Nếu không
phải mở rộng lớp này

UML/NN 11 UML/NN 12

3
Biểu đồ trạng thái Mô hình dịch chuyển trạng thái
„ Mô hình trạng thái của lớp Message

hightlight
Composed focus
compose command
entry/ assign ID
exit/ fill date Read
on char/ handle character re-fwd cmd / quote / append subject
entry/ convert to rich text

save command read command / recover( id )

send command[ recipents != null ] / parse unhightlight

Sending sending done Stored logout


do/ send( repc ) entry/ save into folder

UML/NN 13 UML/NN 14

ATM: kiểm tra PIN Đăng ký khóa học: Trạng thái con

UML/NN 15 UML/NN 16

4
Nội dung Biểu đồ trình tự (sequency)
„ Biểu đồ trạng thái (state diagram) „ Trình tự xét từ trên xuống dưới
„ Biểu đồ trình tự (sequency diagram) : Customer : Interface : Vendor

„ Biểu đồ cộng tác (collaboration diagram)


Input Coin
„ Biểu đồ hoạt động (activity diagram)
Verify Coin

Reject Faulty Coin with


Message
Send Genuine Coin

Vend Tea

UML/NN 17 UML/NN 18

The BIG Picture –


Round Trip Engineering Biểu đồ trình tự
Business Modeling „ Minh họa tương tác giữa các đối tượng, thông điệp
gởi và nhận giữa những đối tượng theo trình tự
Code Generation Use Case Diagram & thời gian
Use Case Specification „ Trên chiều ngang có những hộp biểu diễn cho đối
Other Relevant Diagrams tượng hay tên lớp, tên được gạch dưới
„ Chiều đứng chỉ thời gian
Analysis Class Diagram „ Từ các hình chữ nhật biểu diễn đối tượng có các
Design Class Diagram đường gạch rời (dashed line) thẳng đứng biểu thị
thời gian sống của đối tượng. Trong khoảng thời
gian này, đối tượng được thể hiện, sẵn sàng để gửi
Design Sequence Diagram Analysis Sequence Diagram và nhận thông điệp
UML/NN 20

5
Đệ qui Message
„ Lặp lại cùng hoạt động cho đến khi đạt được một „ Tương tác giữa 2 đối tượng thông qua việc truyền
điều kiện message giữa 2 đối tượng
„ Mũi tên sự kiện vào và ra cùng một đối tượng „ Truyền message có nghĩa là gọi phương thức của
đối tượng
Khi thực hiện một phương thức một giá trị trả về
: Customer : Interface : Vendor
„

Input Coin
được truyền từ đối tượng được gọi tới đối tượng
gọi
Message được biểu diễn bằng một mũi tên có
Verify Coin
„

Reject Faulty Coin with


hướng từ đối tượng gọi tới đối tượng được gọi
Message
Send Genuine Coin

Vend Tea

UML/NN 21 UML/NN 22

Các thành phần Supermarket


Client Object Supplier Object

:Client :Supplier

Object Lifeline
Reflexive Message
1: PerformResponsibility

1.1: PerformAnother
Message Responsibility

Hierarchical Message
Numbering
Focus of Control

UML/NN 23 UML/NN 24

6
Các bước để vẽ một biểu đồ tuần tự ATM (1)
„ Quyết định ngữ cảnh của tương tác
„ Xác định các thành phần có cấu trúc (lớp hoặc đối
tượng) cần thiết để thực hiện chức năng
„ Xem xét các kịch bản (scenario) thay thế
„ Vẽ các biểu đồ thể hiện:
„ Đặt các đối tượng từ trái qua phải
„ Bắt đầu từ thông điệp bắt đầu, sắp xếp theo chiều từ
trên xuống dưới, cho biết các thuộc thể nhằm cung cấp
ngữ nghĩa
„ Thêm các ràng buộc, giải thích, các điều khiển
„ Nếu cần có thể vẽ một biểu đồ tổng quát
UML/NN 25 UML/NN 26

ATM (2) Đăng ký môn học (1)

: RegisterForCoursesForm : RegistrationController : CourseCatalogSystem : Course Catalog


: Student

1. // create schedule( )

1.1. // get course offerings( )

Student wishes to 1.1.1. // get course offerings(forSemester)


create a new
schedule 1.1.1.1. // get course offerings( )

1.2. // display course offerings( )


A list of the available
course offerings for this
semester are displayed

A blank schedule
1.3. // display blank schedule( )
is displayed for the
students to select
offerings

UML/NN 27 UML/NN 28

7
Đăng ký môn học (2) Nội dung
„ Biểu đồ trạng thái (state diagram)
„ Biểu đồ tuần tự (sequency diagram)
„ Biểu đồ cộng tác (collaboration
diagram)
„ Biểu đồ hoạt động (activity diagram)

UML/NN 29 UML/NN 30

Biểu đồ cộng tác (collaboration) Biểu đồ cộng tác


„ Tương tự như biểu đồ trình tự nhưng tập
trung vào sự kiện, không quan tâm tới thời Client Object

gian sống Link


Supplier Object

„ Đối tượng được chỉ ra bằng biểu tượng lớp


Trình tự trong biểu đồ cộng tác được chỉ
:Client
„
bằng số của thông điệp :Supplier
1: PerformResponsibility
„ Là một cách tốt hơn cho việc thiết kế tác vụ
và hiểu những ảnh hưởng lên đối tượng đã
cho
Message
„ Chỉ ra các chi tiết về các lệnh gọi tác vụ
UML/NN 31 UML/NN 32

8
Cách tạo biểu đồ cộng tác Đăng ký môn học
„ Dựa vào ngữ cảnh: hệ thống, hệ thống con, 5: // display course offerings( )
6: // display blank schedule( )
use case hoặc các thao tác : Course Catalog

„ Xác định các phần tử cấu trúc (lớp, đối : RegisterForCoursesForm


4: // get course offerings( )

: CourseCatalogSystem

tượng…) cần thiết


2: // get course offerings( )

„ Mô hình các quan hệ có cấu trúc 3: // get course offerings(forSemester)


1: // create schedule( )
„ Vẽ biểu đồ cộng tác mức thể hiện
: RegistrationController

„ Có thể vẽ biểu đồ cộng tác mức đặc tả để


nêu tóm tắt các kịch bản : Student

UML/NN 33 UML/NN 34

Biểu đồ cộng tác Mô hình trình tự và cộng tác


„ Tương đương về ngữ nghĩa. Có thể chuyển
qua lại giữa 2 mô hình mà không mất mát
thông tin
„ Mô hình động một hệ thống
„ Mô hình một kich bản use case

UML/NN 35 UML/NN 36

9
Khác biệt giữa 2 mô hình Đăng ký môn học

Trình tự Cộng tác


– Show the explicit – Show relationships in addition
sequence of messages to interactions
– Show execution – Better for visualizing patterns
occurrence of communication
– Better for visualizing – Better for visualizing all of the
overall flow effects on a given object
– Better for real-time – Easier to use for
specifications and for brainstorming sessions
complex scenarios

UML/NN 37 UML/NN 38

Đăng ký môn học: cộng tác Nội dung


„ Biểu đồ trạng thái (state diagram)
„ Biểu đồ tuần tự (sequency diagram)
„ Biểu đồ cộng tác (collaboration diagram)
„ Biểu đồ hoạt động (activity diagram)

UML/NN 39 UML/NN 40

10
Biểu đồ hoạt động (activity) Biểu đồ hoạt động (activity)
„ Là phương tiện mô tả dòng công việc
(workflow)
„ Thường bắt giữ các tác động (active) khi một
thao tác (operation) được thực thi.
„ Mô tả tương tác diễn ra như thế nào giữa
các đối tượng có quan hệ
„ Thường dùng trong mô hình nghiệp vụ và
mô hình hệ thống (các use case), giải thích
rõ các hoạt động phức tạp

UML/NN 41 UML/NN 42

Ký hiệu Start State


Ký hiệu
Activity State
1. Activity states, represent the performance of Decision
a step within the workflow. (branch)
2. Transition show what activity state follows
Alternative
after another. thread
3. Decisions (branch) for which a set of guard
conditions are defined. These are conditions
Synchronisation
that must be met to trigger the transition.
bar
4. Synchronization bars, which you can use to
show parallel subflows. Synchronization Concurrent
bars allow you to show concurrent threads - thread
fork or join.
Transition
Stop/End State

11
Cách tạo biểu đồ hoạt động Swimlanes (luồng)
„ Xác định tác nhân và use case „ Tương tự biểu đồ
hoạt động giúp cho
„ Xác định các nhánh việc hiểu được sự
„ Tạo ra dòng hoạt động có thể hiểu phân bổ hoạt động
giữa các đối tượng
„ Bổ sung các thông tin quan trọng
„ Dùng swimlane
„ Tinh chế các hoạt động

UML/NN 45 UML/NN 46

ATM Biểu đồ hoạt động


Customer Sales Warehouse

Request
Product
Process Pull
order material

Continue Ship
work order

Receive Bill
order customer

Pay Close
bill order

UML/NN 47 UML/NN 48

12
Mô hình
Biểu đồ hoạt động nghiệp vụ

This example
is a proposal
process, taken
from an
organization
that sells
telecom
network
solutions.

UML/NN 49

Mô hình hệ thống
Mô hình hệ thống

Just as you would use an activity diagram to show


the structure of a workflow, you could also use it to
show the structure of a flow of events of a system
use case

13
Use Case Model Analysis & Design Model
Use Case Use Case
Diagrams Diagrams
Use Case Use Case
Model Class Object Model Class Object
Diagrams Diagrams Diagrams Diagrams
Analysis Analysis
Model Component Model Component
Diagrams Diagrams Incl. subsystems
and packages
Design Deployment Design Deployment
Model Diagrams Model Diagrams

Sequence Sequence
Depl. Diagrams Depl. Diagrams
Model Model

Collaboration Collaboration
Impl. Diagrams Impl. Diagrams
Model Model
Statechart Statechart
Diagrams Diagrams
Test Test
Model Model
Activity Activity
UML/NN Diagrams 53 UML/NN Diagrams 54

Deployment and Implementation Model


Test Model
Use Case Use Case
Diagrams Diagrams
Use Case Use Case
Model Class Object Model Class Object
Diagrams Diagrams Diagrams Diagrams
Analysis Analysis
Model Component Model Component
Diagrams Diagrams

Design Deployment Design Deployment


Model Diagrams Model Diagrams
Incl. active classes
Test model refers to
Sequence and components Sequence
Depl. Depl. all other models and
Diagrams Diagrams
Model Model uses corresponding
diagrams
Collaboration Collaboration
Impl. Diagrams Impl. Diagrams
Model Model
Statechart Statechart
Diagrams Diagrams
Test Test
Model Model
Activity Activity
UML/NN Diagrams 55 UML/NN Diagrams 56

14
Bài tập - Login …Bài tập - Login

„ Use-case này mô tả cách một người dùng đăng „ Luồng sự kiện phụ (Alternative flow)
nhập vào hệ thống „ If in the basic flow, the actor enters an invalid name & pwd,
the system displays an error message
„ Luồng sự kiện chính (Basic flow)
„ The actor can choose to either return to the beginning of the
„ This use case starts when the actor wishes to log into the basic flow or canel the login, at which point the use case ends
system
„ The system requests that the actor enter his/her name & pwd
„ The actor enters his/her name and pwd
„ The system validates the entered name & pwd
„ The system logs the actor into the system

UML/NN 57 UML/NN 58

Sequence diagram Collaboration diagram

MainForm Log inForm Lo gin Con tr oll or DBU s er MainFor


1. Select Login m 2.1.2.1.1. sh ow resul t
1. Select Login
1.1. Show
1 .1. Sh ow
: U s er
2. Submit(usr,pas)
2. Submit(us r ,pa s )

2.1. Verify(us r,pa s )


2.1.2. SelfVerify(usr,pas) LoginFor
: User m
2.1.1. GetU s erLis t 2.1.2.1.
2.1.2. Sel fVeri fy(us r ,pas )

2.1.2.1. 2.1. Veri fy(u sr,pas)


LoginCont 2.1.1. GetUserList
2.1.2.1.1. s how res ult rollor

DBUser

UML/NN 59 UML/NN 60

15
Bài tập – Chọn phương thức thanh toán Bài tập - Chọn phương thức thanh toán

„ Chọn phương thức thanh toán: „ Luồng sự kiện chính


„ Pick up his check directly „ This use case starts when the employee wishes to
„ Receive it in the mail select a payment method
„ Have it deposited directly into a specified bank account „ The system requests the employee specify the payment
method he/she would like
„ The employee selects the desired payment method
„ If the employee selects the “pick up” method, no
additional information is required
„ If the employee selects the “mail” method, the system
requests employee specify the address that the
paycheck will be mailed to

UML/NN 61 UML/NN 62

…Bài tập - Chọn phương thức thanh toán

„ Luồng sự kiện chính (cont.)


„ If the employee selects the “direct deposit” method, the
system requests employee specify the bank name and
account number Draw the
„ Once the employee provides the requested information, the adjacent
system updates the employee information to reflect the diagram in
chosen payment method Visual
Paradigm
„ Luồng sự kiện phụ – Employee not found
„ If in the basic flow, information for the employee could not
be located, the system displays an error massage and the
use case ends

UML/NN 63

16
A Booking System Sequence Diagram
„ Actors: traveler, client account db, airline
Traveler : Booking System Client Account DBMS Airline Reservation System
reservation system change flight itinerary
„ Preconditions: Traveler has logged in get customer account
„ Basic course: get itinerary
„ Traveler selects ‘change flight itinerary’ option present itinerary
„ System retrieves traveler’s account and flight itinerary from client account
database select segment
„ System asks traveler to select itinerary segment she wants to change;
present detailed info
traveler selects itinerary segment.
„ System asks traveler for new departure and destination information; update information
traveler provides information. available flight
„ If flights are available then …
„ …
„ System displays transaction summary.
:
:
„ Alternative course:
„ If no flights are available then…

UML/NN 65 UML/NN 66

Collaboration Diagram

1: change flight itinerary


5: select segment 2: get customer account
3: get itinerary
7: update information
: Booking System
4: present itinerary
Traveler 6: present detailed info Client Account DBMS

8: available flight

Airline Reservation System

UML/NN 67

17

You might also like