Tải bản đầy đủ (.pdf) (14 trang)

Chương 6 biểu đồ trang thái

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (169.37 KB, 14 trang )

Le Thi Bich Hang 1
1
Chng 6: Mô hình ng
PHÂN TÍCH THIT K H
THNG HNG I
NG
2
Cácni dung chính
 Bi  trng thái (StateChart Diagram)
 Bi  ho ng (Activity Diagram)
 Bi  thành phn (Component Diagram)
 Bi  trin khai (Deployment Diagram)
Le Thi Bich Hang 2
3
OO Model
Static Model
Dynamic Model
State Diagram
Interaction
Diagram
Din t thông tin v  ng tác, trao i thông p
y ra gia các i tng
Din t thông tin v  thay i trng thái bên trong
y ra gia các i tng ca mt lp c th
4
Intraobject behavior
Interobject behavior
 ng bi  ng tác khi chúng ta mun xem
xét hành vi ca “
nhi i tng trong mt use case
duy nht



u mun xem xét hành vi ca “
 i tng duy
nht thông qua nhiu use case
”, thì chúng ta s
ng bi  trng thái
Le Thi Bich Hang 3
5
Bitrng thái
(Statechart Diagram)
6
Bitrng thái
 Cho bit trng thái (state) mà m i tng
có th có và các s kin (event) s nh hng
n các trng thái ó nh th nào dc theo
tin trình thi gian.
 Bi  trng thái th hin nhng khía cnh
mà ta quan tâm ti khi xem xét trng thái ca
 i tng:
 Trng thái ban u
 t s trng thái  gia
 t hoc nhiu trng thái kt thúc
  bi i gia các trng thái
 Nhng s kin gây nên s bi i t t trng
thái này sang trng thái khác
Le Thi Bich Hang 4
7
State Name
State Variables
Activities

start
State Name
stop
event(arguments)[condition]/action
8
Trng thái (State)
 Là mt kt qu a các ho ng tr   c
i tng thc hin.
 Thng c xác nh qua giá tr a các thuc tính
ng nh các ni kt c i tng vi các i tng
khác.
 Hóa n (i tng)  c tr tin (trng thái).
 Chic xe ô tô (i tng) ang ng yên (trng thái).
 ng c i tng) ang chy (trng thái).
Le Thi Bich Hang 5
9
S bii trng thái
 Bi  trng thái c s ng  miêu t
vic bn thân i tng ph ng ra sao trc
các s kin và chúng thay i các trng thái ni
 a chúng nh th nào, ví d giá tr các
thuc tính ni b a nó s thay i nh th
nào
 t hóa n s chuyn t trng thái cha tr
tin sang trng thái ã tr tin khi có ai ó tr
tin cho nó.
10
State Name
State Variables
Activities

Tên trng thái
Bin trng thái: các thuc tính ca lp
Hành ng:
• entryi vào): xác nh các
hành ng khi nhp trng thái
(gán giá tr cho thuc tính, gi
thông p)
• exit i ra): xác nh hành ng
khi ri khi trng thái
• do (thc hin): xác nh hành
ng cn ph c thc hin
trong trng thái (gi thông p,
ch, tính toán)
Le Thi Bich Hang 6
11
Nhn bit trng thái và s kin
  i tng có th có nhng trng thái nào?
 Nhng s kin nào có th y ra?
 Trng thái mi s là gì?
 Có nhng th c nào s c thc thi?
 Chui tng tác gia các i tng là gì?
 Nhng s kin và s chuyn ti nào là không th y
ra?
 Cái gì khin cho m i tng c to ra?
 Cái gì khin cho m i tng b y?
 Cái gì khin cho i tng cn ph c tái phân loi?
12
Các cách todng bitrng thái
 Chuyn bi  trình t thành bi  trng
thái

 Xác nh các vòng lp
  sung thêm các u kin biên và các u
ki c bit
 Trn ln các kch bn khác vào trong bi 
Le Thi Bich Hang 7
13
 Quan sát các s ki nh hng  i tng mà ta
ang nghiên cu.
 p xp các s kin thành m ng dn, dán nhãn
input (hoc entry) và output (exit) cho các s kin.
Khong cách gia hai s kin này s là mt trng thái.
 u kch bn có th c nh i nhc li rt nhiu ln
(vô gii hn) => n ng dn t trng thái cui cùng
n trng thái u tiên.
14
Bi  trng thái ca mt máy ATM
Request
state
Process Mode
Request for Withdrawal
Waiting
Ask for
information
Information
received
Information
forward for
processing
Le Thi Bich Hang 8
15

Bi  trng thái ca m  t hàng
self-transition
start
Dispatching
do/initiate
delivery
Checking
do/check
item
/get first item
[Not all items checked]
/get next item
[All items checked &&
all items available]
[All items checked &&
some items not in stock]
Item received
[Some items not in stock]
Delivered
Item received
[All items available]
Waiting
Delivered
state
transition
activity
guard condition
action
16
Bihong

(Activity Diagram)
Le Thi Bich Hang 9
17
Bihong
 Là mt bin th a bi  trng thái và có mt mc
tiêu tng i khác, ó là nm bt hành ng (công vic
và nhng ho ng ph c thc hin) cng nh t
qu a chúng theo s bi i trng thái.
 Các hành ng ca bi  ho ng  nh v
trong các lung (swimlane).
 Bi  ho ng có th c s ng cho nhiu mc
ích khác nhau:
  m bt công vic (hành ng) s ph c thc
thi khi mt th  c thc hin.
  ch ra mt nhóm hành ng liên quan có th c
thc thi ra sao, và chúng s nh hng n nhng
i tng nm xung quanh chúng nh th nào.
 …
18
Bihong
 Bi  ho ng s ng cùng nhng ký hiu
nh trong bi  trng thái.
 Trng thái (State) là các ho ng (Activity) th
hin s thi hành ca các thao tác.
  chuyn tip (Transition) c to ra khi có
t hay nhiu thao tác hoàn tt.
 t bi  ho ng c gn vi mt lp,
hoc vi s thc thi ca mt thao tác, hay là vi
t use case.
Le Thi Bich Hang 10

19
Cáckýhiu
Ho ng (Activity): là mt qui trình  nh ngha rõ
ràng, có th c thc thi qua mt hàm hoc mt
nhóm i tng. Ho ng c th hin bng hình
ch nht bo tròn cnh.
 Thanh ng b hóa (Synchronisation bar): cho phép ta
 ra hoc là óng li các nhánh chy song song ni
 trong tin trình.
 u kin canh gi (Guard Condition): các biu thc
logic có giá tr ho úng hoc sai. u kin canh gi
c th hin trong ngoc vuông
 m quy nh (Decision Point): c s ng  ch
ra các s thay i kh thi. Kí hiu là hình thoi.
20

m

c quan ni

m, m

t
activity làm

ttácv

c

n



c th

c hi

n.

m



thi hành, m

t activity làm

t phng th

cc

am

tl

p.
Activity
Activity
Activity
Activity
Activity

[condition 1]
[condition 2]
[synchronization
condition]
start
end
Bi  trng thái c dùng  t ni các lung công vic ho 
miêu t hành vi có nhiu x lý song song
Le Thi Bich Hang 11
21
Bi  at ng ca máy ATM
Dua the ATM
vao may
Xac nhan the Xac nhan so
PIN
Xac nhan so
tien can rut
Day tien ra
may
Hien thi thong
bao
[all valid]
any not valid
End
Start
22
Decision Activity
Ví d: Mô t phng thc ch  ng
Find
Beverage

Put Coffee
in Filter
Add Water
to Reservoir
Get Cups
[found coffee]
Put Filter
in Machine
synchronization
bar
Turn On
Machine
Brew
Coffee
Pour
Coffee
[no coffee]
[found Cola]
Get Can
of Cola
Drink
Beverage
[no Cola]
Person
Activity
End
Le Thi Bich Hang 12
23
Bithành phn&
Bitrin khai

24
COMPONENT DIAGRAM
Th hinsph thuc gia các phnmm
S/W Component 2
S/W Component 1
Architectural Modeling
 Component Diagram
 Deployment Diagram
Physical
View
Le Thi Bich Hang 13
25
Th hinmiquanhvt lý gia các thành
phn phncng và phnmmtronghthng
Node 1
Node 2
connection
Compo-
nent A
Compo-
nent B
DEPLOYMENT
DIAGRAM
26
Bao gi thìsdng binào?
 Bi  tun t và bi  ng tác c v khi
chúng ta mun xem xét ng x ng ca nhiu
i tng/ lp trong ni b t kch bn ca mt
trng hp s ng.
 Bi  tun t và bi  ng tác rt hu dng

trong vic ch ra s ng tác gia các i tng.
 Bi  trng thái c s ng  th hi ng
 chính xác ca m i tng.
Le Thi Bich Hang 14
27
Bao gi thìsdng binào?
 Bi  ho ng c s ng  th hin li
ng x xuyên sut nhiu trng hp s ng
hoc các tiu trình xy ra song song ca mt ln
thc thi.
 Bi  thành phn và bi  trin khai c
 ng  ch ra mi quan h t lý gia phn
m và các thành phn phn cng trong h
thng.

×