You are on page 1of 184

1

Phn tch v thit k h


thng hung di tung
Nguyn Thanh Bnh
Khoa Cng Ngh Thng Tin
Truong Dai hoc Bach khoa, Dai hoc Da Nng
7-Aug-07 Phan tich va thit k h thng huong di tuong 2
Ni dung (1)
Cac khai nim huong di tuong
Tng quan v ngn ngu m hinh hoa UML
UML trong tin trinh phat trin phn mm
M hinh hoa yu cu
Biu d ca su dung
M hinh hoa khai nim
Biu d hoat dng
Biu d trang thai
2
7-Aug-07 Phan tich va thit k h thng huong di tuong 3
Ni dung (2)
Biu d lop
Biu d tuong tac
Biu d tun tu
Biu d cng tac
M hinh hoa kin truc
Biu d goi
Biu d cai dt
M hoa
Ung dung
7-Aug-07 Phan tich va thit k h thng huong di tuong +
Tai liu tham khao
G. Booch, J. Rumbaugh, I. Jacobson, The UniIied Modeling Language
User Guide, Addision-Wesley, 1999.
Craig Larman, Applying UML and Patterns: An Introduction to
Object-Oriented Analysis and Design and Iterative Development,
Third Edition, Addision-Wesley, 2004.
Pierre-Alain Muller, Modelisation objet avec UML, Eyrolles, 1997.
Bernard Boigelot, Cours de l`Ingenierie du logiciel oriente-objet.
Olivier Gerbe, Cours UML, IFI, 2000.
UML applied Object Oriented Analysis and Design using the UML,
Ariadne training, 2000.
Dng Vn Duc, Giao trinh nhp mn UML, NXB Lao dng x hi,
2003.
Nguyn Vn Ba, Phat trin huong di tuong voi UML 2.0 va C,
NXB Dai hoc Quc gia Ha ni, 2005.
3
7-Aug-07 Phan tich va thit k h thng huong di tuong 5
Cc khi nim co ban v hung
di tung (1)
7-Aug-07 Phan tich va thit k h thng huong di tuong 6
Ni dung trinh bay
Huong chuc nng
Huong di tuong (HDT)
Di tuong
Lop
Cac tinh cht co ban cua HDT
4
7-Aug-07 Phan tich va thit k h thng huong di tuong 7
Huong chuc nng
Dua vao cac chuc nng cua h thng
H thng la tp hop cac chuc nng
Chia nho cac chuc nng va lam min dn
H thng gm cac h thng con
Lam chu d phuc tap
Cac chuc nng trao di voi nhau bng
truyn tham s hoc du liu (chng han bin
toan cuc) dung chung
7-Aug-07 Phan tich va thit k h thng huong di tuong 8
Huong chuc nng
Phn cp chuc nng
H thng
Chuc nng 1
Chuc nng 2
Chuc nng 1.1 Chuc nng 1.2 Chuc nng 2.1 Chuc nng 2.2
5
7-Aug-07 Phan tich va thit k h thng huong di tuong 9
Huong chuc nng
Uu dim
Phn tich duoc cac chuc nng cua h thng
Dua lai kt qua mong doi
Nhuoc dim
Chuc nng cu truc
Thay di v chuc nng kho khn thay di cu truc
Tinh mo cua h thng thp
Kho tai su dung
Chi phi sua chua li lon
7-Aug-07 Phan tich va thit k h thng huong di tuong 10
Huong di tuong
Ly di tuong lam trung tm
H thng tp hop cac di tuong quan h
giua cac di tuong
Cac di tuong trao di bng thng dip
(message)
Khng su dung bin toan cuc
Dong goi
Thua k
6
7-Aug-07 Phan tich va thit k h thng huong di tuong 11
Huong di tuong
Phn bit
Lp trinh cu truc
Thut toan cu truc du liu chuong trinh
Lp trinh HDT
di tuong chuong trinh
di tuong thut toan cu truc du liu
7-Aug-07 Phan tich va thit k h thng huong di tuong 12
Huong di tuong
Uu dim chinh
PT & TK gn gui voi th gioi thuc
Tai su dung d dang
Dong goi, che du thng tin lam cho h thng
tin cy hon
Thua k lam giam chi phi, h thng co tinh mo
cao hon
Xy dung h thng lon va phuc tap
7
7-Aug-07 Phan tich va thit k h thng huong di tuong 13
Di tuong
Di tuong (object) la khai nim cho phep
m ta cac su vt/thuc th trong th gioi thuc
Cac di tuong duy tri cac quan h giua
chung
Nguyn Vn A la mt di tuong
7-Aug-07 Phan tich va thit k h thng huong di tuong 1+
Di tuong
Cac tinh cht cua di tuong
Di tuong trang thai hanh vi dinh danh
Trang thai la cac dc tinh cua di tuong tai mt thoi
dim
Hanh vi th hin cac chuc nng cua di tuong
Dinh danh th hin su tn tai duy nht cua di tuong
8
7-Aug-07 Phan tich va thit k h thng huong di tuong 15
Di tuong : trang thai
Trang thai tp hop cac thuc tinh
Mi thuc tinh m ta mt dc tinh
Tai mt thoi dim cu th, cac thuc tinh mang
cac gia tri trong min xac dinh
Vi du
Mt chic xe may: mau xanh, 110 cm3, dream,
12000km, dung yn, .
7-Aug-07 Phan tich va thit k h thng huong di tuong 16
Di tuong : hanh vi
Hanh vi tp hop cac phuong thuc
Phuong thuc: la mt thao tac hoc duoc thuc
hin boi chinh no, hoc thuc hin khi co yu
cu tu mi truong (thng dip tu di tuong
khac)
Hanh vi phu thuc vao trang thai
Vi du:
mt xe may co cac hanh vi: khoi dng, chay, .
9
7-Aug-07 Phan tich va thit k h thng huong di tuong 17
Giao tip giua cac di tuong
Cac di tuong giao tip voi nhau
Gui thng dip (message) cho nhau
Cac loai thng dip
ham dung (constructor)
ham huy (destructor)
ham chon lua (get)
ham sua di (set)
cac ham chuc nng khac
Di tuong A Di tuong B
Thng dip
7-Aug-07 Phan tich va thit k h thng huong di tuong 18
Di tuong
Giua cac di tuong co mi lin kt (link)
voi nhau
Vi du
Nguyn Vn A Dai hoc Da Nng
Hoc
10
7-Aug-07 Phan tich va thit k h thng huong di tuong 19
Lop
Lop la khai nim dung d m ta mt tp
hop cac di tuong co cung mt cu truc,
cung hanh vi va co cung nhung mi quan h
voi cac di tuong khac
Lop cac thuc tinh cac phuong thuc
7-Aug-07 Phan tich va thit k h thng huong di tuong 20
Lop
Lop la mt buoc truu tuong hoa
Tim kim cac dim ging nhau, bo qua cac dim khac
nhau cua di tuong
Truu tuong hoa lam giam d phuc tap
Person
Name
Age
changeAge
11
7-Aug-07 Phan tich va thit k h thng huong di tuong 21
Lop
Quan h giua cac lop: kt hop
Mt kt hop la mt tp hop cac mi lin kt
giua cac di tuong
Sinh vin Dai hoc
hoc
7-Aug-07 Phan tich va thit k h thng huong di tuong 22
Lop & Di tuong
Di tuong la th hin (instance) cua lop
Gia tri la th hin cua thuc tinh
Lin kt la th hin cua kt hop
Lop Di tuong
Thuc tinh Gia tri
Kt hop Lin kt
12
7-Aug-07 Phan tich va thit k h thng huong di tuong 23
Cac tinh cht cua HDT
Tinh dong goi (encapsulation)
du liu xu ly du liu di tuong
thuc tinh phuong thuc lop
Uu dim
Han ch anh huong khi co su thay di cp nht
Ngn can su truy cp thng tin tu bn ngoai
Che du thng tin
7-Aug-07 Phan tich va thit k h thng huong di tuong 2+
Cac tinh cht cua HDT
Tinh thua k (inheritance)
Mt lop duoc xy dung tu mt hoc nhiu lop khac
bng vic chia s cac thuc tinh va phuong thuc
Lop con thua k cac thuc tinh va phuong thuc tu lop
cha
Tng quat hoa/chuyn bit hoa
Tng quat hoa (generaliation): dt cac tinh cht chung cua cac
lop khac nhau vao mt lop cha
Chuyn bit hoa (specialiation): tao ra mt lop con co cac tinh
cht ring tu lop cha
13
7-Aug-07 Phan tich va thit k h thng huong di tuong 25
Cac tinh cht cua HDT
Don thua k: mt lop con ch thua k tu mt lop cha duy
nht
Lop truu tuong hay lop chung: Xet
Lop cu th hay lop chuyn bit: XeKhach
Lop chuyn bit co th thay th lop chung trong tt ca cac
ung dung. Vi du: t tai l mt t.
XeOt
XeKhach XeTai
T

n
g

q
u
a
t

h
o
a
C
h
u
y

n

b
i

t

h
o
a
7-Aug-07 Phan tich va thit k h thng huong di tuong 26
Cac tinh cht cua HDT
Da thua k: mt lop con thua k tu nhiu
lop cha khac nhau
Person
Personnel
Teacher
Student
Phd candidate
Reseacher
14
7-Aug-07 Phan tich va thit k h thng huong di tuong 27
Cac tinh cht cua HDT
Da thua k
Dung d tn cac thuc tinh
Da thua k khng duoc chp nhn boi mt s ngn
ngu: Java
X
a
Y
a
Z
a cua X
a cua Y
7-Aug-07 Phan tich va thit k h thng huong di tuong 28
Cac tinh cht cua HDT
Uu dim cua thua k
Phn loai cac lop: cac lop duoc phn loai, sp
xp theo mt thu bc d d quan li
Xy dung cac lop: cac lop con duoc xy dung
tu cac lop cha
Tit kim thoi gian xy dung, tranh lp lai
thng tin
15
7-Aug-07 Phan tich va thit k h thng huong di tuong 29
Cac tinh cht cua HDT
Tinh da hinh (polymorphism): cua phuong thuc,
tuc la kha nng cac phuong thuc khac nhau duoc
thuc hin d tra loi cung mt yu cu
Mi lop con thua k dc ta cac phuong thuc tu lop
cha, va cac phuong thuc nay co th duoc sua di
trong lop con d thuc hin cac chuc nng ring
trong lop do
Mt phuong thuc (cung mt tn phuong thuc) co
nhiu dang (dinh ngha) khac nhau trong cac lop
khac nhau
7-Aug-07 Phan tich va thit k h thng huong di tuong 30
Cac tinh cht cua HDT
Vi du tinh da hinh
DaGiac
DienTich()
HinhVung
DienTich()
HinhTamGiac
DienTich()
16
7-Aug-07 Phan tich va thit k h thng huong di tuong 31
Gii thiu UML (2)
Nguyn Thanh Bnh
Khoa Cng Ngh Thng Tin
Truong Dai hoc Bach khoa, Dai hoc Da Nng
7-Aug-07 Phan tich va thit k h thng huong di tuong 32
Ni dung trinh bay
Khai nim m hinh hoa
Mt s phuong phap m hinh hoa HDT
Lich su phat trin UML
Gioi thiu tng quan UML
UML mt ngn ngu
Cac khai nim co ban cua UML
17
7-Aug-07 Phan tich va thit k h thng huong di tuong 33
Khai nim m hinh hoa
M hnh (model) la mt su don gian hoa cua h
thng thuc
M hinh la su biu din bng hinh anh cua h
thng thuc
M hinh din ta h thng
o mt muc truu tuong,
theo mt quan dim,
bng mt hinh thuc biu din (vn ban, hinh anh, .)
M hnh ha (modeling) la qua trinh dung m
hinh d din ta h thng
7-Aug-07 Phan tich va thit k h thng huong di tuong 3+
Khai nim m hinh hoa
Tai sao m hinh hoa
M hinh hoa d d hiu
D nhn thuc vn d
M hinh hoa d trao di
Phuong tin trao di giua nhung nguoi phat trin
M hinh hoa d hoan chnh
D dang nhn su phu hop giua m hinh va nhu cu
d cai tin, hoan thin
18
7-Aug-07 Phan tich va thit k h thng huong di tuong 35
Khai nim m hinh hoa
Cac nguyn tc m hinh hoa
Chon m hinh thich hop
Goc nhin co so du liu: m hinh thuc th - kt hop
Goc nhin co cu truc: thut toan
Goc nhin huong di tuong: cac lop va cac quan h
Cac m hinh duoc th hin nhiu muc chinh
xac khac nhau
H thng duoc din ta o cac muc chi tit khac nhau,
tuy theo nhu cu nguoi su dung
7-Aug-07 Phan tich va thit k h thng huong di tuong 36
Khai nim m hinh hoa
Cac nguyn tc m hinh hoa
Cac m hinh phai lin h voi th gioi thuc
Cac m hinh xy dung gn gui voi m hinh h thng
thuc
M hinh huong di tuong M hinh hoa co cu truc
Mt h thng phai duoc m hinh hoa moi mt tp
hop cac m hinh
Ch mt m hinh la khng th du
Phai th hin duoc nhiu goc nhin khac nhau v h thng:
su dung, thit k, cai dt, .
19
7-Aug-07 Phan tich va thit k h thng huong di tuong 37
Mt s phuong phap m hinh hoa
HDT
OOD (Object Oriented Design)
OOSE (Object Oriented SoItare
Engineering)
OMT (Object Modeling Technique)
7-Aug-07 Phan tich va thit k h thng huong di tuong 38
OOD (Object Oriented Design)
Phuong phap duoc phat trin boi Booch
M hinh tnh
Biu d lop
Biu d di tuong
M hinh dng
Biu d trang thai
Biu d thoi gian
20
7-Aug-07 Phan tich va thit k h thng huong di tuong 39
OOSE (Object Oriented SoItare
Engineering)
Phuong phap duoc phat trin boi Jacobson
Nm m hinh
M hinh yu cu (kich ban su dung)
M hinh phn tich (muc khai nim)
M hinh thit k (muc logic)
M hinh m hoa (muc vt ly)
M hinh kim thu
7-Aug-07 Phan tich va thit k h thng huong di tuong +0
OMT (Object Modeling
Technique)
Phuong phap duoc phat trin boi Rumbaugh
Ba m hinh
M hinh tnh
m hinh thuc th quan h
M hinh dng
biu d trang thai va chuyn tip
M hinh chuc nng
dua trn biu d lung du liu
21
7-Aug-07 Phan tich va thit k h thng huong di tuong +1
Lich su phat trin UML
1975-1990
nhiu ngn ngu m hinh hoa HDT duoc phat trin
1990-1994
hon 50 phuong phap phat trin HDT trong do co cac
phuong phap OOD, OOSE va OMT
10/1994
Rumbaugh va Booch tin hanh du an UML o Rational
7-Aug-07 Phan tich va thit k h thng huong di tuong +2
Lich su phat trin UML
10/1995
Phin ban du tin cua phuong phap hop nht
ra doi duoi cai tn UniIied Method v0.8
Cui 1995
Jacobson tham gia nhom cua Booch va
Rumbaugh
6/1996
Phin ban UML v0.9 tich hop OOSE ra doi
22
7-Aug-07 Phan tich va thit k h thng huong di tuong +3
Lich su phat trin UML
1996
Hi thao du tin v UML duoc t chuc
1997
Phin ban UML v1.0 duoc d xut nhu la
chun voi t chuc OMG (Object Management
Group)
7-Aug-07 Phan tich va thit k h thng huong di tuong ++
Lich su phat trin UML
7/1997
phin ban UML v1.1 duoc d nghi chun hoa o OMG
11/1997
UML v1.1 duoc chp nhn la phuong phap chun boi
OMG
6/1998
UML v1.2 duoc phat hanh boi OMG
8/1998
UML v1.3 duoc phat hanh boi OMG
23
7-Aug-07 Phan tich va thit k h thng huong di tuong +5
UML mt ngn ngu
Mt ngon ng cung cp tu vung, ngu phap (cu
phap) va ngu ngha d m ta su giao tip
Mt ngon ng mo hinh hoa la ngn ngu ma trong
do tu vung va lut duoc su dung d m ta muc
khai nim va muc vt ly cua mt h thng
UML cung cp tu vung va lut d m ta cac m
hinh khac nhau cua mt h thng
7-Aug-07 Phan tich va thit k h thng huong di tuong +6
UML ngn ngu d m hinh hoa
truc quan
UML cung cp tp hop cac ki hiu va lut
d biu din d hoa nhung m hinh cua h
thng
Biu din d hoa thuong dem lai cai nhin
tt hon v h thng
24
7-Aug-07 Phan tich va thit k h thng huong di tuong +7
UML ngn ngu d dc ta
Mt dc ta la mt m ta chinh xac va khng
nhp nhng v h thng
UML cung cp cac cng cu d dc ta h
thng o nhiu muc: phn tich, thit k va
cai dt
7-Aug-07 Phan tich va thit k h thng huong di tuong +8
UML ngn ngu d xy dung
Cac m hinh UML co th duoc chuyn sang
mt ngn ngu lp trinh kha d dang
UML la kha chinh xac va khng nhp
nhng d cho phep thuc hin cac m phong
25
7-Aug-07 Phan tich va thit k h thng huong di tuong +9
UML ngn ngu d lp tai liu
UML cho phep m ta tt ca cac buoc xy
dung mt h thng
Cac m hinh duoc xy dung tao nn mt tai
liu dy du va chinh xac v h thng
7-Aug-07 Phan tich va thit k h thng huong di tuong 50
Cac khai nim co ban cua UML
Cac phn tu
Cac quan h
Cac biu d
26
7-Aug-07 Phan tich va thit k h thng huong di tuong 51
Cac phn tu
Cac phn tu cu truc
Cac phn tu dng
Cac phn tu nhom
Cac phn tu chu thich
7-Aug-07 Phan tich va thit k h thng huong di tuong 52
Cac phn tu cu truc
Lop (class)
Giao din (interIace)
Cng tac (collaboration)
Tinh hung (case)
Thanh phn (component)
Nut (node)
27
7-Aug-07 Phan tich va thit k h thng huong di tuong 53
Cac phn tu cu truc
Lop (class)
Lop la dc ta mt tp hop cac di tuong co
cung thuc tinh, hanh vi va cac quan h
Mt lop duoc biu din boi hinh chu nht
Vi du
Dim
x, y : int
vDim()
diChuyn(x, y)
7-Aug-07 Phan tich va thit k h thng huong di tuong 5+
Cac phn tu cu truc
Giao din (interIace)
Mt giao din la mt tp hop dc ta cac hanh
vi/phuong thuc cua mt lop hoc mt thanh
phn
Mt giao din duoc biu din d hoa boi mt
hinh trn
Vi du
ImageObserver
28
7-Aug-07 Phan tich va thit k h thng huong di tuong 55
Cac phn tu cu truc
Cng tac (collaboration)
Mt cng tac dinh ngha mt su tuong tac giua
cac phn tu
Mt cng tac duoc biu din boi mt hinh -lip
co net dut
Vi du
Kim tra mt
don dt hang
7-Aug-07 Phan tich va thit k h thng huong di tuong 56
Cac phn tu cu truc
Ca su dung (use case)
Mt ca su dung su dung la m ta mt tp hop cac hoat
dng cua h thng nhm tra loi yu cu cua mt tac
nhn (actor)
Mt ca su dung duoc thuc hin boi mt cng tac
Mt ca su dung duoc biu din boi hinh -lip
Vi du
Thanh toan
hoa don
29
7-Aug-07 Phan tich va thit k h thng huong di tuong 57
Cac phn tu cu truc
Thanh phn (component)
Mt thanh phn la mt phn vt ly va co th
thay th duoc cua mt h thng
Mt thanh phn duoc biu din nhu sau
Agent.java
7-Aug-07 Phan tich va thit k h thng huong di tuong 58
Cac phn tu cu truc
Nut (node)
Mt nut la mt phn tu vt ly cua h thng, no
tn tai khi h thng thuc thi
Nut biu din mt ngun tai nguyn voi b nho
va kha nng xu li
Nut duoc biu din boi hinh hp chu nht
Vi du
Server
30
7-Aug-07 Phan tich va thit k h thng huong di tuong 59
Cac phn tu dng
Tuong tac
May trang thai
7-Aug-07 Phan tich va thit k h thng huong di tuong 60
Cac phn tu dng
Tuong tac (interaction)
Mt tuong tac la mt tp hop cac thng dip
(message) trao di giua cac di tuong
Mt thng dip duoc biu din boi mui tn
Vi du
print()
31
7-Aug-07 Phan tich va thit k h thng huong di tuong 61
Cac phn tu dng
May trang thai (state machine)
May trang thai dc ta chui cac trang thai thay
di cua mt di tuong
Mt trang thai duoc biu din nhu sau
Doi
7-Aug-07 Phan tich va thit k h thng huong di tuong 62
Cac phn tu nhom
Goi (package)
Goi la k thut d nhom cac phn tu
Goi duoc biu din nhu sau
Client
32
7-Aug-07 Phan tich va thit k h thng huong di tuong 63
Cac phn tu chu thich
Chu thich (note)
Chu thich la mt giai thich lin quan dn mt
phn tu UML ma cho phep mang lai thng tin
b sung
Mt chu thich duoc biu din boi mt hinh chu
nht co mt goc bi gp
Vi du
Xem tp tin
note.doc
7-Aug-07 Phan tich va thit k h thng huong di tuong 6+
Cac quan h
Quan h phu thuc (dependency)
Quan h kt hop (association)
Quan h tng quat hoa (generaliation)
Quan h cai dt (realiation)
33
7-Aug-07 Phan tich va thit k h thng huong di tuong 65
Quan h phu thuc
Quan h phu thuc la quan h ngu ngha
giua hai phn tu ma su thay di cua phn
nay s anh huong dn phn tu kia
Quan h phu thuc duoc biu din mt mui
tn dut net nhu sau:
7-Aug-07 Phan tich va thit k h thng huong di tuong 66
Quan h kt hop
Quan h kt hop la quan h cu truc ma
dinh ngha mt tp hop cac lin kt giua cac
di tuong
Quan h duoc biu din boi mt doan thng
voi cac bi s/ban s (multiplicity) va vai
tr
so huu 0..1 0..n
34
7-Aug-07 Phan tich va thit k h thng huong di tuong 67
Quan h tng quat hoa
Quan h tng quat hoa la quan h giua mt
phn tu chung (lop cha) va phn tu cu th
(lop con)
Quan h tng quat hoa th hin tinh thua k
Quan h tng quat hoa duoc biu din nhu
sau
7-Aug-07 Phan tich va thit k h thng huong di tuong 68
Quan h cai dt
Quan h cai dt la mt quan h ngu ngha
ma trong do mt phn tu s cai dt (thuc
hin) phn tu khac
Quan h cai dt duoc biu din boi mui tn
voi net dut nhu sau
35
7-Aug-07 Phan tich va thit k h thng huong di tuong 69
Cac biu d (diagram)
Biu d lop (class diagram)
Biu d di tuong (object diagram)
Biu d ca su dung (use case diagram)
Biu d trang thai (state diagram)
Biu d hoat dng (activity diagram)
Biu d tuong tac (interaction diagram)
Biu d tun tu (sequence diagram)
Biu d cng tac (collaboration diagram)
Biu d goi (package diagram)
Biu d thanh phn (component diagram)
Biu d trin khai (deployement diagram)
7-Aug-07 Phan tich va thit k h thng huong di tuong 70
Cac biu d (diagram)
Biu d
Biu d
cu truc
Biu d
hanh vi
Biu d
lop
Biu d
di tuong
Biu d
thanh phn
Biu d
trin khai
Biu d
goi
Biu d
hoat dng
Biu d
ca su dung
Biu d
tuong tac
Biu d
trang thai
Biu d
tun tu
Biu d
cng tac
36
7-Aug-07 Phan tich va thit k h thng huong di tuong 71
Biu d lop
Biu d lop (class diagram) m ta tp hop cac lop
va cac tuong tac giua chung
Cac biu d lop m ta cu truc tnh cua h thng
MtHang QuyHang
1
Chua
Quan h kt hop
7-Aug-07 Phan tich va thit k h thng huong di tuong 72
Biu d di tuong
Biu d di tuong (object diagram) m ta tp hop cac di
tuong va cac quan h giua chung
Cac biu d di tuong m ta cung cac thng tin nhu biu
d lop nhung duoi cach nhin cac th hin cua lop
tivi:MtHang
dinTu:QuyHang
tuLanh:MtHang
37
7-Aug-07 Phan tich va thit k h thng huong di tuong 73
Biu d ca su dung
Biu d ca su dung (use case diagram) m ta tp
hop cac ca su dung, cac tac nhn va nhung quan
h giua chung
Cac biu d ca su dung m ta cai nhin tnh v h
thng duoi con mt cua nguoi su dung
Cac biu d ca su dung rt quan trong d nm bt
cac chuc nng cua h thng
7-Aug-07 Phan tich va thit k h thng huong di tuong 7+
Biu d ca su dung
admin
add user
delete user
modiIy user
Iind user
use
38
7-Aug-07 Phan tich va thit k h thng huong di tuong 75
Biu d trang thai
Biu d trang thai (state diagram) biu din may trang thai
(trang thai, chuyn tip, su kin va hoat dng)
Nhung biu d trang thai m ta cai nhin dng v h thng
Cac biu d trang thai la rt quan trong d hiu r hanh vi
(behavior) cua h thng
LamLanh Suoim
nhnNutLanh
nhnNutm
7-Aug-07 Phan tich va thit k h thng huong di tuong 76
Biu d hoat dng
Biu d hoat dng (activity diagram) m ta lung thng tin
tu mt hoat dng nay dn mt hoat dng khac
Nhung biu d hoat dng m ta cai nhin dng v h thng
Cac biu d hoat dng la rt quan trong d hiu r hoat
dng cua h thng
Dt hang
Lam hoa don
Tra tin Giao hang
39
7-Aug-07 Phan tich va thit k h thng huong di tuong 77
Biu d tuong tac
Biu d tuong tac (interaction diagram) gm biu
d tun tu va biu d cng tac
Biu d tun tu (sequence diagram) m ta su trao di
cac thng dip giua cac di tuong dua theo thoi gian
7-Aug-07 Phan tich va thit k h thng huong di tuong 78
Biu d tuong tac
Vi du
:TaiLiu :MayFax
goi()
:DyDinThoai
nhcMay()
bmS(s)
gui(trang)
chuyn(trang)
dKtNi
mMoi
dKtNi
40
7-Aug-07 Phan tich va thit k h thng huong di tuong 79
Biu d tuong tac
Biu d cng tac (collaboration diagram) m ta su
trao di cac thng dip giua cac di tuong dua
theo cu truc quan h giua cac di tuong
:TaiLiu
:MayFax
:DyDinThoai
1: goi()
3: gui()
1.1: nhcMay()
1.3: bmS()
3.1: chuyn()
1.2: mMoi()
1.4: dKtNi
2: dKtNi()
7-Aug-07 Phan tich va thit k h thng huong di tuong 80
Biu d goi
Biu d goi (package diagram) cho phep nhom cac lop thanh cac goi
quan h voi nhau
Tao nn mt cu trc ph thuc gia cc gi thay vi cu truc phu
thuc giua cac lop
HThng
DB InterIace
KhachHang SanPhm
41
7-Aug-07 Phan tich va thit k h thng huong di tuong 81
Biu d thanh phn
Biu d thanh phn (component diagram) ch ra t chuc va
su phu thuc giua cac thanh phn cua h thng
Cac biu d thanh phn m ta cai nhin tnh v su cai dt
cua h thng
<<document>>
index.html
<<document>>
find.html
<<executable>>
index.html
<<library>>
lib.dll
7-Aug-07 Phan tich va thit k h thng huong di tuong 82
Biu d trin khai
Biu d trin khai (deployment diagram) m ta cac nut va
cac thanh phn cua h thng tai thoi dim thuc thi
Terminal
Terminal
Server
42
7-Aug-07 Phan tich va thit k h thng huong di tuong 83
Goc nhin h thng
H thng duoc th hin duoi nm goc nhin
khac nhau
Goc nhin logic Goc nhin cai dt
Goc nhin hanh vi Goc nhin trin khai
Goc nhin nguoi su dung
7-Aug-07 Phan tich va thit k h thng huong di tuong 8+
Goc nhin h thng
Goc nhin nguoi su dung (use case vie) m
ta h thng duoi goc nhin cua nguoi so huu
va nguoi su dung cui cung
M ta cac muc tiu va muc dich cua h thng
M ta cac chuc nng cua h thng
43
7-Aug-07 Phan tich va thit k h thng huong di tuong 85
Goc nhin h thng
Goc nhin logic (logical vie) m ta mt
tnh (static) va cu truc cua h thng
Goc nhin hanh vi (behavior vie) m ta mt
dng cua h thng
M ta cac tuong tac va cng tac giua cac phn
tu cua h thng
7-Aug-07 Phan tich va thit k h thng huong di tuong 86
Goc nhin h thng
Goc nhin cai dt (component vie) m ta
thuc hin giai phap
M ta t chuc m chuong trinh cua giai phap
Goc nhin trin khai (deployment vie) m
ta su thuc thi cua giai phap
M ta cac phn tu vt ly cua giai phap (b xu
ly, thit bi, .)
44
7-Aug-07 Phan tich va thit k h thng huong di tuong 87
Goc nhin va biu d
Goc nhin logic Goc nhin cai dt
Goc nhin hanh vi Goc nhin trin khai
Goc nhin nguoi su dung
Biu d trang thai
Biu d hoat dng
Biu d tun tu
Biu d cng tac
Biu d lop
Biu d di tuong
Biu d goi
Biu d thanh phn
Biu d trin khai
Biu d ca su dung
7-Aug-07 Phan tich va thit k h thng huong di tuong 88
Vi du
Xy dung phn mm tinh tin tai mt cua
hang
Ca su dung (use case)
Khach hang mua hang va tra bng tin mt
Khanh hang mua hang va tra bng the
.
45
7-Aug-07 Phan tich va thit k h thng huong di tuong 89
Vi du
Lop (class)
BanHang
D liu. ngav, gio, mtHang, dangThucHin.
Thao tac. tinhTong(), tra(soTin), .
CuaHang
D liu. tn, diaChi, .
.
7-Aug-07 Phan tich va thit k h thng huong di tuong 90
Vi du
Hoat dng (activity)
Cac mt hang mua boi khach hang duoc
ghi/nhap lan luot tung mt hang, sau do mav
hin thi tong so tin, .
.
Trang thai (state)
Mot BanHang dang duoc thuc hin hav d kt
thuc,
.
46
7-Aug-07 Phan tich va thit k h thng huong di tuong 91
Vi du
Tuong tac (interaction)
Tong so tin thu duoc tinh bng cach cong tat
ca ca tong so tin ma moi khach hang tra, .
.
7-Aug-07 Phan tich va thit k h thng huong di tuong 92
UML trong tin trnh pht
trin phn mm (3)
Nguyn Thanh Bnh
Khoa Cng Ngh Thng Tin
Truong Dai hoc Bach khoa, Dai hoc Da Nng
47
7-Aug-07 Phan tich va thit k h thng huong di tuong 93
Ni dung trinh bay
Khai nim cng ngh phn mm
Cac tin trinh phat trin phn mm
Tin trinh hop nht
7-Aug-07 Phan tich va thit k h thng huong di tuong 9+
Cng ngh phn mm
Cng ngh phn mm: ly thuyt, phuong
phap va cng cu phat trin cac h thng
phn mm
Dng co
Phn mm lon va phuc tap
Dat tiu chun cht luong: hiu qua, bao tri,
kim thu, tai su dung, .
Chi phi thp, han ch cac nguy co
48
7-Aug-07 Phan tich va thit k h thng huong di tuong 95
Cng ngh phn mm
Cac hoat dng phat trin phn mm
Xac dinh yu cu (dc ta yu cu)
Phn tich (phn mm lam cai gi)
Thit k (phn mm duoc lam nhu th nao)
Cai dt (m hoa)
Kim thu (phn mm dung yu cu)
Su t chuc cac hoat dng nay tao nn mt
tin trinh phat trin (developpment process)
7-Aug-07 Phan tich va thit k h thng huong di tuong 96
UML la ngn ngu ki hiu
UML ch la ngn ngu m hinh hoa
UML khng cho chung ta bit lam th nao
d phat trin phn mm
Cn su dung UML trong mt tin trinh phat
trin
49
7-Aug-07 Phan tich va thit k h thng huong di tuong 97
Tin trinh thac d (aterIall)
Xac dinh vn d
Dc ta yu cu
Phn tich
Thit k
M hoa
Kim thu
Giai doan sau ch duoc bt du
khi giai doan truoc d hoan thanh
Khng quay lui
7-Aug-07 Phan tich va thit k h thng huong di tuong 98
Tin trinh thac d
Nhuoc dim
Cung nhc: giai doan sau ch bt du khi giai
doan truoc d kt thuc, khng quay lui
Kho d tim cac vn d, li
Tim thy vn d qua tr
D tao nn san phm co cu truc ti
Di voi h thng phuc tap
Cn hiu toan b h thng tng d phuc tap
Mt giai doan co th rt dai (vai nm)
50
7-Aug-07 Phan tich va thit k h thng huong di tuong 99
Tin trinh thac d
Cai tin: tin trinh V
Cho phep quay lui
B gy duong phat trin
Nhn manh vn d kim thu
7-Aug-07 Phan tich va thit k h thng huong di tuong 100
Tin trinh xon c (spiral model)
Phat trin theo chu k, mi chu k cho mt san phm
(nguyn mu) thuc thi duoc, mi chu k gm 4 giai doan
Xac dinh va tim giai
phap cho nguy co
Xac dinh cac muc tiu,
rang buc va giai phap
Kim thu nguyn mu va k
hoach cho chu k tip theo
Thit k va phat
trin nguyn mu
51
7-Aug-07 Phan tich va thit k h thng huong di tuong 101
Tin trinh xon c (spiral model)
Giam cac nguy co tim n
Nhn duoc phan hi tu nguoi su dung som
Giam d phuc tap
Su thay di cng ngh co th duoc thich ung d dang
Tuy nhin, tin trinh kho d quan ly: tin trinh thac
nuoc phu hop voi k thut quan ly mang Gantt, cn tin
trinh xon c thi yu cu k thut khac
7-Aug-07 Phan tich va thit k h thng huong di tuong 102
Tin trinh hop nht
Su mo rng cua tin trinh xon c
Hinh thuc hon
Cht ch hon
52
7-Aug-07 Phan tich va thit k h thng huong di tuong 103
Tin trinh hop nht
Tin trinh hop nht co th duoc nhin duoi
hai goc nhin khac nhau
Gc nhn quan l: quan tm dn lnh vuc kinh
t, chin thut, con nguoi
Tin trinh gm bn giai don
Gc nhn k thut: quan tm dn cng ngh,
kim tra cht luong, phuong phap
Tin trinh gm nhiu buc l}p
7-Aug-07 Phan tich va thit k h thng huong di tuong 10+
Tin trinh hop nht: goc nhin
quan ly
Tin trinh phat trin phn mm duoc chia
lam 4 giai doan
Khoi du (inception): danh gia tinh kha thi
Soan thao (elaboration): phn tich, thit k kin truc
Xy dung (construction): thuc hin, cu th hoa san
phm
Chuyn giao (transition): chuyn giao cho nguoi su
dung
53
7-Aug-07 Phan tich va thit k h thng huong di tuong 105
Tin trinh hop nht: goc nhin
quan ly
Khoi du
Inception
Son thao
Elaboration
Xy dng
Construction
Chuyn giao
1ransition
Vn d Giai phap
Dt vn d Giai quyt vn d Thuc hin
Thoi gian
7-Aug-07 Phan tich va thit k h thng huong di tuong 106
Khoi du (inception)
Dinh ngha muc dich, yu cu
Tim hiu vn d va phac thao phuong an thuc hin
Danh gia loi ich
Xac dinh cac nguy co
Dinh ngha cac tiu chun danh gia
Danh gia thoi gian thuc hin va chi phi
Xy dung phuong an thuc hin
Danh gia tinh kha thi v k thut
Tin trinh hop nht: goc nhin
quan ly
54
7-Aug-07 Phan tich va thit k h thng huong di tuong 107
Khoi du
Duoc thuc hin boi cac cac chuyn gia v thi
truong va nha tin hoc
Quyt dinh thuc hin hay khng
Tin trinh hop nht: goc nhin
quan ly
7-Aug-07 Phan tich va thit k h thng huong di tuong 108
Soan thao (elaboration)
Phn tich yu cu
Xac dinh cac chuc nng cua h thng
Lua chon kin truc h thng
Xy dung k hoach thuc hin
Tin trinh hop nht: goc nhin
quan ly
55
7-Aug-07 Phan tich va thit k h thng huong di tuong 109
Soan thao
Thuc hin boi cac nha tin hoc
Chu yu dua trn cac ca su dung (use case)
Giup nguoi su dung hiu ro cai ho cn
Chi tit hoa dn cac ca su dung
Xy dung m hinh cac lop (class)
Tin trinh hop nht: goc nhin
quan ly
7-Aug-07 Phan tich va thit k h thng huong di tuong 110
Soan thao
Kt qua
M ta chuc nng cua h thng (biu d ca su dung,
kich ban su dung va biu d lop)
Kin truc thuc thi duoc cua h thng
K hoach hoan chnh d phat trin h thng
K hoach chi tit cac buoc lp
Tin trinh hop nht: goc nhin
quan ly
56
7-Aug-07 Phan tich va thit k h thng huong di tuong 111
Xy dung (construction)
Phat trin phn mm cho nguoi su dung
Thuc hin boi nhiu buoc lp
Xy dung kin truc chi tit
Phat trin mt phn h thng
Kim thu mt phn h thng
Cai dt mt phn h thng
Tin trinh hop nht: goc nhin
quan ly
7-Aug-07 Phan tich va thit k h thng huong di tuong 112
Xy dung
Mi buoc lp cho mt nguyn mu thuc thi
duoc (executable prototype)
Thm dn dn cac chuc nng
Tin trinh hop nht: goc nhin
quan ly
57
7-Aug-07 Phan tich va thit k h thng huong di tuong 113
Chuyn giao (transition)
Giai doan phat trin gn nhu kt thuc
Danh gia du an
Chuyn giao phn mm cho nguoi su dung
Hun luyn nguoi su dung
Tip thi, phn phi, ban
Tin trinh hop nht: goc nhin
quan ly
7-Aug-07 Phan tich va thit k h thng huong di tuong 11+
Chuyn giao
Kt qua
H thng thuc thi duoc
Phin ban
Phin ban chinh thuc
Huong dn cai dt
Huong dn su dung
Tin trinh hop nht: goc nhin
quan ly
58
7-Aug-07 Phan tich va thit k h thng huong di tuong 115
Vi du din hinh: du an trong hai nm
Tin trinh hop nht: goc nhin
quan ly
10 10 30 50
2,5 thang
2,5 thang
7 thang 12 thang
Inception Elaboration Construction Transition
7-Aug-07 Phan tich va thit k h thng huong di tuong 116
Goc nhin k thut tp trung vao vic trin khai, t
chuc cac hoat dng k thut d tao ra phn mm
Tin trinh phat trin la mt dy cac buoc lp
(iteration)
Mi buoc lp tao ra mt nguyn mu thuc thi
duoc
H thng lon dn theo s buoc lp cho dn khi
hoan thanh
Mi buoc lp tri qua tt ca cac giai doan (hoat
dng) phat trin c din
Tin trinh hop nht: goc nhin k
thut
59
7-Aug-07 Phan tich va thit k h thng huong di tuong 117
Mi buoc lp gm cac hoat dng:
Dc ta
Phn tich
Thit k
M hoa
Kim thu
Cai dt
Mi buc l}p l mt tin trnh thc d
Tin trinh hop nht: goc nhin k
thut
7-Aug-07 Phan tich va thit k h thng huong di tuong 118
Cac buoc lp cho phep kim tra su lua chon
cng ngh su dung
Kim tra tinh kha thi v k thut
Buoc lp du tin duoc phat trin rt nhanh,
cho ra mu thu (thuong bi loai bo)
Cac buoc lp cui cho ra phin ban
Tin trinh hop nht: goc nhin k
thut
60
7-Aug-07 Phan tich va thit k h thng huong di tuong 119
Thoi gian
Buoc lp chun bi
Buoc lp kin truc
Buoc lp kin truc
Buoc lp phat trin
Buoc lp phat trin
Buoc lp chuyn giao
Buoc lp chuyn giao
Buoc lp phat trin
Mu thu (maquette)
Nguyn mu kin truc
Nguyn mu kin truc
Nguyn mu phat trin
Nguyn mu phat trin
Tin trinh hop nht: goc nhin k
thut
Buc l}p Kt qua
Phin ban chinh thuc
Phin ban
Phin ban
7-Aug-07 Phan tich va thit k h thng huong di tuong 120
Thoi gian
Buoc lp chun bi
Buoc lp kin truc
Buoc lp kin truc
Buoc lp phat trin
Buoc lp phat trin
Buoc lp chuyn giao
Buoc lp chuyn giao
Buoc lp phat trin
Mu thu (maquette)
Nguyn mu kin truc
Nguyn mu kin truc
Nguyn mu phat trin
Nguyn mu phat trin
Phin ban chinh thuc
Phin ban
Tin trinh hop nht: kt hop hai
goc nhin
Buc l}p Kt qua
Phin ban
Giai don
Khoi du
Soan thao
Xy dung
Chuyn giao
61
7-Aug-07 Phan tich va thit k h thng huong di tuong 121
Rational UniIied Process
Tin trinh hop nht duoc phat trin boi cng
ty Rational
Rational UniIied Process (RUP)
H tro phat trin huong di tuong
Phn mm RUP
7-Aug-07 Phan tich va thit k h thng huong di tuong 122
UML va UniIied Process
62
7-Aug-07 Phan tich va thit k h thng huong di tuong 123
UML va UniIied Process
Hai giai doan chinh su dung UML
Elaboration
Short Use Case diagrams
Analysis Class diagrams
Construction
Complete Use Case diagrams
Design Class diagrams
Interactions diagrams
State diagrams
Activity diagrams
Package diagrams
Deployment diagrams
7-Aug-07 Phan tich va thit k h thng huong di tuong 12+
UML va UniIied Process
Inception
Elaboration Construction Transition
So luoc use case
M hinh khai nim
Phn tich
Thit k
M hoa
Kim thu
Phn tich
Thit k
M hoa
Kim thu
Buoc lp 1
Buoc lp 2 .
Hoan chnh use case
Biu d hoat dng
Biu d trang thai
Biu d lop
Biu d tuong tac
Biu d goi
Biu d trin khai
63
7-Aug-07 Phan tich va thit k h thng huong di tuong 125
M hnh ho yu cu - Biu d
ca su dng (4)
Nguyn Thanh Bnh
Khoa Cng Ngh Thng Tin
Truong Dai hoc Bach khoa, Dai hoc Da Nng
7-Aug-07 Phan tich va thit k h thng huong di tuong 126
Ni dung trinh bay
Ca su dung
Tac nhn
Biu d ca su dung
Cach xac dinh cac ca su dung
Sp xp cac ca su dung
64
7-Aug-07 Phan tich va thit k h thng huong di tuong 127
Ca su dung (Use case)
Buoc du tin cua phn tich yu cu la xac
dinh cac ca su dung cua h thng
Mt ca su dng la mt tuong tac giua h
thng va mi truong
Tp hop cac ca su dung la m ta toan b h
thng cn xy dung
7-Aug-07 Phan tich va thit k h thng huong di tuong 128
Ca su dung
Vi du: phat trin mot phan mm thao vn
ban
Cac ca su dung co th:
Nhap vn ban moi
Sua vn ban d ton tai
Tao muc luc
Chep doan vn ban
.
65
7-Aug-07 Phan tich va thit k h thng huong di tuong 129
Ca su dung
Mt ca su dung tuong ung voi mt chuc
nng cua h thng duoi gc nhn cua ngui
su dng
Mt ca su dung co th lon hoc nho
Mt ca su dung ch ra lam th nao mt mc
tiu cua ngui su dng duoc thoa mn boi
h thng
7-Aug-07 Phan tich va thit k h thng huong di tuong 130
Ca su dung
Cn phn bit cac mc tiu cua nguoi su dung va
cac tuong tc cua ho voi h thng
Muc tiu: cai ma nguoi su dung mong doi
Tuong tac: k thut cho phep dap ung muc tiu
Vi du
Muc tiu: co duoc mot vn ban trinh bav dep
Tuong tac: chon dinh dang trang, chon font ch, dinh
nghia cac kiu tiu d (heading), .
Thuc t, chung ta xac dinh cac muc tiu truoc, sau
do chon tp hop cac tuong tac dap ung cac muc
tiu do
66
7-Aug-07 Phan tich va thit k h thng huong di tuong 131
Ca su dung
Vi du: cn xy dung mt h thng ATM cho phep rut tin
Co th co vai tuong tac chung trong mt kich ban sau:
Dua th vao
Nhp m PIN
Chon s tin rut
Khng dinh s tin rut
Ly th ra
Ly tin
Ly phiu rut tin
Cac tuong tac trn co la cac ca su dung khng
7-Aug-07 Phan tich va thit k h thng huong di tuong 132
Ca su dung
Cu tra loi: khng.
Tai sao
Vi chng han Nhp m PIN khng dap ung mt muc tiu
nao cua nguoi su dung.
Muc tiu cua nguoi su dung la Rut tin, vy do nn la
mt ca su dung.
67
7-Aug-07 Phan tich va thit k h thng huong di tuong 133
Tac nhn (Actor)
Tc nhn dong vai tr mt nguoi su dung hoc mt thuc
th bn ngoai tuong tac voi h thng
Vi du: Can phat trin h thong tinh tin o siu thi
Cac tac nhn co th la: Khach hang, Nguoi ban hang, Nguoi quan
lv, Kho hang
Cn phn bit: tac nhn (actor) va nguoi su dung (user)
Nhiu nguoi su dung co th tuong ung mt tac nhn: nhiu nguoi
ban hang khac nhau dong cung vai tro doi voi h thong
Mt nguoi su dung co th tuong ung voi nhiu tac nhn khac
nhau: cung mot nguoi co th dong thoi dong hai vai tro la nguoi
ban hang va nguoi quan lv
7-Aug-07 Phan tich va thit k h thng huong di tuong 13+
Tac nhn
Tac nhn khng nht thit lun lun la con
nguoi
Tac nhn co th la mi truong, h thng
khac, thuc th bn ngoai tuong tac voi h
thng
Vi du
Kho hang la co th mt co so du liu
68
7-Aug-07 Phan tich va thit k h thng huong di tuong 135
Dc ta ca su dung
Dc ta din hinh cua mt ca su dung:
Ca su dung: tn ca su dung thuong bt du boi mt
dng tu
Cac tac nhn: danh sach cac tac nhn lin quan
M ta: tom tt cac xu ly cn thuc hin
Vi du
Ca su dng: Mua hang
Cc tc nhn: Khach hang, Nguoi ban hang
M ta: Mt khach hang sau khi d chon cac mt hang, mang gio
hang dn quy thu tin. Nguoi ban hang ghi nhn cac mt hang,
thng bao tng s tin, thu tin va tra tin cn lai cho khach hang.
Khach hang mang hang di.
7-Aug-07 Phan tich va thit k h thng huong di tuong 136
Dc ta ca su dung
Dc ta ca su dung co th thm:
Tham chiu (reIerence) dn muc lin quan trong dc ta yu cu
Diu kin truoc va diu kin sau khi thuc hin ca su dung
Vi du
Ca su dng: Mua hang
Cc tc nhn: Khach hang, Nguoi ban hang
Tham chiu: R1.2, R2.3
Diu kin truc: Nguoi ban hang d dng nhp thanh cng.
Diu kin sau: Cac mt hang ban d duoc ghi nhn va d ghi nhn thanh
toan tin.
M ta: Mt khach hang sau khi d chon cac mt hang, mang gio hang dn
quy thu tin. Nguoi ban hang ghi nhn cac mt hang, thng bao tng s
tin, thu tin va tra tin cn lai cho khach hang. Khach hang mang hang
di.
69
7-Aug-07 Phan tich va thit k h thng huong di tuong 137
Dc ta ca su dung
Ngoai ra, di voi mi ca su dung ta co th xy
dung mt kich ban (scenario) hanh dng m ta cac
su kin xay ra
Kich ban: gm cac su kin chinh va cac su kin
ngoai l
Cac su kin chia lam hai lung
Lung tuong ung voi cac tac nhn
Lung tuong ung voi h thng
7-Aug-07 Phan tich va thit k h thng huong di tuong 138
Dc ta ca su dung
Cac su kin chinh
Hnh dng cua tc nhn Hnh dng cua h thng
1. Mt khach hang dua
hang d chon mua dn quy
tinh tin.
2. Nguoi ban hang ghi nhn
tung mt hang.
Nu mt mt hang co s
luong nhiu hon mt thi
nguoi ban hang co th nhp
vao mt s.
3. Xac dinh mt hang, hin thi
cac thng tin va gia mt hang.
S nay duoc hin thi.
70
7-Aug-07 Phan tich va thit k h thng huong di tuong 139
Dc ta ca su dung
Cac su kin chinh (tip)
+. Sau khi d ghi nhn tt
ca cac mt hang, nguoi ban
hang bao hiu kt thuc vic
ghi nhn hang.
6. Nguoi ban hang thng
bao tng s tin phai tra cho
khach hang.
7. Khach hang tra tin cho
nguoi ban hang.
5. Tinh va hin thi tng s
tin.
Hnh dng cua tc nhn Hnh dng cua h thng
7-Aug-07 Phan tich va thit k h thng huong di tuong 1+0
Dc ta ca su dung
Cac su kin chinh (tip)
8. Nguoi ban hang nhp s
tin khach hang tra.
10. Nguoi ban hang xac
nhn su tra tin, ly tin du
tra cho khach hang va dua
cho khach hang phiu ban
hang.
12. Khach hang roi quy
thu tin voi tui hang
9. Hin thi tin du va in phiu
ban hang
11. Ghi nhn phin ban hang.
Hnh dng cua tc nhn Hnh dng cua h thng
71
7-Aug-07 Phan tich va thit k h thng huong di tuong 1+1
Dc ta ca su dung
Cac su kin phu
7. Khach hang khng co du
tin. Nguoi ban hang huy
bo vic ban.
3. Su xac nhn mt hang
khng dung. Hin thi li.
Hnh dng cua tc nhn Hnh dng cua h thng
Luu : dinh dang dc ta cac ca su dung khng cn
thit phai cht ch.
7-Aug-07 Phan tich va thit k h thng huong di tuong 1+2
Ca su dung
Xac dinh cang nhiu ca su dung mt cach co th
Khng di vao qua chi tit, nhm giam d phuc tap
Mt m ta ngn gn v mi ca su dng la du, co
th bo qua phn k|ch ban, tham chiu dn d}c
ta yu cu, diu kin truc v diu kin sau.
Bao dam rng cac ca su dung bao quat ht cac yu
cu cua h thng
72
7-Aug-07 Phan tich va thit k h thng huong di tuong 1+3
Biu d ca su dung
Biu d ca su dung m ta quan h giua cac tac
nhn va cac ca su dung cua mt h thng.
Ki hiu
Tac nhn
Use case
Kt hop ch su
tham gia cua tac
nhn vao ca su dung
Gioi han cua
h thng
7-Aug-07 Phan tich va thit k h thng huong di tuong 1++
Biu d ca su dung
Vi du
Ghi nhn
Mua hang
Tra hang
Khoi dng
Nguoi ban hang
Nguoi quan ly
Khach hang
73
7-Aug-07 Phan tich va thit k h thng huong di tuong 1+5
Biu d ca su dung
Cac tac nhn co th co quan h thua k
Vi du
Khach hang
Ca nhn Cng ty
7-Aug-07 Phan tich va thit k h thng huong di tuong 1+6
Quan h mo rng
Co th xay ra truong hop: mt ca su dung tuong tu
voi mt ca su dung khac, tuy nhin no gm thm
mt s hanh dng
Vi du
Ca su dng: Mua hang bng the tin dung
Cc tc nhn: Khach hang, Nguoi ban hang
M ta: Mt khach hang sau khi d chon cac mt hang, mang gio
hang dn quy thu tin. Nguoi ban hang ghi nhn cac mt hang,
thng bao tng s tin. Khach hang dua th vao may va nhp m
PIN. Khach hang nhn phiu ban hang va mang hang di.
74
7-Aug-07 Phan tich va thit k h thng huong di tuong 1+7
Quan h mo rng
Ca su dung nay la mt bin th cua ca su dung
mua hang`, tuy nhin thm vao cac hanh dng
lin quan dn tra tin bng th
Ca su dung 'mua hang bng the tin dung` la mt
s mo rng cua ca su dung 'mua hang`
7-Aug-07 Phan tich va thit k h thng huong di tuong 1+8
Quan h mo rng
Ki hiu
Nu mt ca su dung kt hop voi mt tac nhn, thi
tt ca cac ca su dung mo rng du kt hop voi tac
nhn do
Mua hang Mua hang bng th
extends
Quan h mo
rng
75
7-Aug-07 Phan tich va thit k h thng huong di tuong 1+9
Quan h su dung
Truong hop nhiu ca su dung chia s cng mt dy cc
hnh dng. Nu phn chung la quan trong va huong toi
mt muc tiu r rang, nhu th ta co th xy dung mt ca su
dung ring
Vi du: chung ta mun chp nhn mua hang tra tin mot lan
va mua hang tra gop
Hai ca su dung 'mua hang tra tin mot lan` va 'mua hang
tra gop thuc hin mt dy cac hanh dng ma co th duoc
m ta boi ca su dung ghi nhan cac mt hang
7-Aug-07 Phan tich va thit k h thng huong di tuong 150
Quan h su dung
Dc ta cua ca su dung ghi nhan cac mt hang
Ca su dng: ghi nhan cac mt hang
Cc tc nhn: nguoi ban hang, khach hang
M ta: Khach hang mang cac mt hang dn quy tinh
tin. Nguoi ban hang ghi nhn cac mt hang va thng
bao tng s tin phai tra.
76
7-Aug-07 Phan tich va thit k h thng huong di tuong 151
Quan h su dung
Ki hiu
Mua hang tra
mt ln
Mua hang tra gop
use
Quan h su
dung
Ghi nhn
cac mt hang
use
Nguoc voi quan h mo rng, cac ca su dung trong quan h su dung khng
nht thit kt hop voi cung tac nhn.
7-Aug-07 Phan tich va thit k h thng huong di tuong 152
Cach xac dinh cac ca su dung
Phuong phap phong vn
Kho khn, vi hai nguoi khac nhau duoc phong
vn co th dua ra y kin khac nhau
Phuong phap hi thao (orkshop)
Tp hop tt ca nhung ai lin quan dn h thng
d thao lun: cac nha tin hoc va khach hang
(nguoi su dung)
Mi nguoi du dua ra y kin
77
7-Aug-07 Phan tich va thit k h thng huong di tuong 153
Cach xac dinh cac ca su dung
Cach tin hanh hi thao
Lit k tt ca cac tac nhn co th
Lit k tt ca cac ca su dung co th
Phn tich, bin chung mi ca su dung bng
cach vit ra mt m ta don gian
M hinh hoa cac ca su dung va tac nhn
7-Aug-07 Phan tich va thit k h thng huong di tuong 15+
Cach xac dinh cac ca su dung
Khuyn khich
Khng nn c gng tim moi ca su dung,
Trong qua trinh phat trin cac ca su dung s l din
dn
Nu khng th bin chung cho mt ca su dung
Co th do khng phai la ca su dung
78
7-Aug-07 Phan tich va thit k h thng huong di tuong 155
Sp xp cac ca su dung
Khi tt ca cac ca su dung d duoc xac dinh
Tin trinh phat trin gm nhiu buoc lp
Mi buoc lp thuc hin thit k, m hoa va
kim thu ch mt vi ca su dng
Lam sao chia cac ca su dung vao cac buoc
lp
7-Aug-07 Phan tich va thit k h thng huong di tuong 156
Sp xp cac ca su dung
Lp 1 Lp 2 Lp 3 .
A
B
C
D
Cac ca su dung
79
7-Aug-07 Phan tich va thit k h thng huong di tuong 157
Sp xp cac ca su dung
Cac ca su dung nn duoc thuc hin truoc
Cac ca su dung chua cac nguy co
Cac ca su dung kin truc chinh
Cac ca su dung di hoi nghin cuu moi, cng
ngh moi
Cac ca su dung ma khach hang quan tm hon
7-Aug-07 Phan tich va thit k h thng huong di tuong 158
Hoan chnh cac ca su dung
Cac ca su dung d duoc trinh bay chi tit
Ch m ta ngn gon cac ca su dung : tn ca su
dung, cac tac nhn, m ta ca su dung
Hoan chnh ca su dung :
Thm vao kich ban cac lung su kin
Thm vao tham chiu dn dc ta yu cu
Thm cac diu kin truoc va diu kin sau khi ca su
dung xay ra
80
7-Aug-07 Phan tich va thit k h thng huong di tuong 159
Hoan chnh cac ca su dung
Vi du ca su dung
Ca su dng: Mua hang
Cc tc nhn: Khach hang, Nguoi ban
hang
M ta: Mt khach hang sau khi d chon cac
mt hang, mang gio hang dn quy thu tin.
Nguoi ban hang ghi nhn cac mt hang,
thng bao tng s tin, thu tin va tra tin
cn lai cho khach hang. Khach hang mang
hang di.
7-Aug-07 Phan tich va thit k h thng huong di tuong 160
Hoan chnh cac ca su dung
Vi du ca su dung hoan chnh hon
Ca su dng: Mua hang
Cc tc nhn: Khach hang, Nguoi ban hang
Tham chiu: R1.2, R2.3
Diu kin truc: Nguoi ban hang d dng nhp thanh cng.
Diu kin sau: Cac mt hang ban d duoc ghi nhn va d
ghi nhn thanh toan tin.
M ta: Mt khach hang sau khi d chon cac mt hang, mang
gio hang dn quy thu tin. Nguoi ban hang ghi nhn cac
mt hang, thng bao tng s tin, thu tin va tra tin cn lai
cho khach hang. Khach hang mang hang di.
81
7-Aug-07 Phan tich va thit k h thng huong di tuong 161
Hoan chnh cac ca su dung
Vi du ca su dung hoan chnh hon (2)
Hnh dng cua tc nhn Hnh dng cua h thng
1. Mt khach hang dua
hang d chon mua dn quy
tinh tin.
2. Nguoi ban hang ghi nhn
tung mt hang.
Nu mt mt hang co s
luong nhiu hon mt thi
nguoi ban hang co th nhp
vao mt s.
3. Xac dinh mt hang, hin thi
cac thng tin va gia mt hang.
S nay duoc hin thi.
Cc s kin chnh
7-Aug-07 Phan tich va thit k h thng huong di tuong 162
Hoan chnh cac ca su dung
Vi du ca su dung hoan chnh hon (3)
Cc s kin chnh
+. Sau khi d ghi nhn tt
ca cac mt hang, nguoi ban
hang bao hiu kt thuc vic
ghi nhn hang.
6. Nguoi ban hang thng
bao tng s tin phai tra cho
khach hang.
7. Khach hang tra tin cho
nguoi ban hang.
5. Tinh va hin thi tng s
tin.
Hnh dng cua tc nhn Hnh dng cua h thng
82
7-Aug-07 Phan tich va thit k h thng huong di tuong 163
Hoan chnh cac ca su dung
Vi du ca su dung hoan chnh hon (4)
Cc s kin chnh
8. Nguoi ban hang nhp s
tin khach hang tra.
10. Nguoi ban hang xac
nhn su tra tin, ly tin du
tra cho khach hang va dua
cho khach hang phiu ban
hang.
12. Khach hang roi quy
thu tin voi tui hang
9. Hin thi tin du va in phiu
ban hang
11. Ghi nhn phin ban hang.
Hnh dng cua tc nhn Hnh dng cua h thng
7-Aug-07 Phan tich va thit k h thng huong di tuong 16+
Hoan chnh cac ca su dung
Vi du ca su dung hoan chnh hon (5)
Cc s kin ph
7. Khach hang khng co du
tin. Nguoi ban hang huy
bo vic ban.
3. Su xac nhn mt hang
khng dung. Hin thi li.
Hnh dng cua tc nhn Hnh dng cua h thng
83
7-Aug-07 Phan tich va thit k h thng huong di tuong 165
Bai tp 1
My rt tin ATM co cac chuc nng chinh nhu sau:
Cp phat tin cho nhung ai co th ngn hang (cho phep rut mt s
luong tin boi h thng thng tin cua ngn hang) va nhung ai co
th VISA (cho phep tu xa boi h thng VISA)
Cho xem kim tra s tin tai khoan va bo tin vao tai khoan bng
tin mt hoc ngn phiu di voi nhung ai co th ngn hang
Tt ca cac giao tac du duoc kim tra an toan
Kim tra m PIN
M PIN nhp sai 3 ln thi th s bi nut
Cn phai thuong xuyn nap tin vao may, ly ngn phiu va cac th bi
nut ra
Xac dinh cac tac nhn, cac ca su dung va v biu d ca su dung
7-Aug-07 Phan tich va thit k h thng huong di tuong 166
Bai tp 1
Cac tac nhn
Nguoi co th ngn hang (bankcard)
Nguoi co th VISA (VISAcard)
Nguoi vn hanh may (operator)
H thng VISA (VISA)
H thng thng tin ngn hang (bank)
84
7-Aug-07 Phan tich va thit k h thng huong di tuong 167
Bai tp 1
Cac ca su dung
Rut tin voi th ngn hang (ithdra by bankcard)
Rut tin voi th VISA (ithdra by VISAcard)
Kim tra m PIN (identiIy)
Xem s tin cn trong tai khoan (balance)
Bo tin vao tai khoan bng ngn phiu hoc tin mt (deposit)
Nap tin vao may (put money)
Ly th bi nut trong may (get cards)
Ly ngn phiu trong may (get cheques)
7-Aug-07 Phan tich va thit k h thng huong di tuong 168
Bai tp 1
VISAcard
ithdra ith VISA card
VISA
bankcard
ithdra ith bank card
balance
deposit
deposit by cheque deposit by cash
bank
identiIy
extend
include
85
7-Aug-07 Phan tich va thit k h thng huong di tuong 169
Bai tp 1
operator
put cash
get cards
get cheques
7-Aug-07 Phan tich va thit k h thng huong di tuong 170
Bai tp 2
Quan l do to nhn vin: Mt cng ty mun m ta bng UML vic dao tao
nhn vin d tin hoc hoa mt s cng vic. Vic dao tao duoc bt du khi
nguoi quan ly dao tao nhn duoc yu cu dao tao cua mt nhn vin. Nhn
vin nay co th xem danh muc cac chuyn d dao tao cua cac don vi dao tao
ky kt voi cng ty. u cu cua nhn vin duoc xem xet boi nguoi quan ly dao
tao va nguoi quan ly s tra loi la chp nhn hay tu chi d nghi do. Trong
truong hop chp nhn, nguoi quan ly s xac dinh chuyn d phu hop trong
danh muc cac chuyn d, sau do gui cho nhn vin ni dung cua chuyn d va
danh sach cac khoa dao tao. Nhn vin s chon khoa dao tao va nguoi quan ly
s dng ky khoa hoc voi don vi dao tao cho nhn vin. Trong truong hop
mun huy bo dng ky khoa dao tao, nhn vin phai thng bao som cho nguoi
quan ly bit d nguoi quan ly thuc hin huy bo. Cui khoa dao tao, nhn vin
chuyn phiu danh gia kt qua hoc v cho cng ty. Nguoi quan ly s kim tra
hoa don thanh toan tin cua don vi dao tao.
Xy dung biu d ca su dung.
86
7-Aug-07 Phan tich va thit k h thng huong di tuong 171
Bai tp 3
Quan l bn com hp: Cng ty XXX co mt h thng nha hang XXX chuyn
cung cp com hp tai nha. Hin tai cac don dt hang duoc thuc hin bng din
thoai dn cac cua hang XXX. Cng ty ch co th xu ly mt s co gioi han cac
don dt hang va mi khach hang phai bit r thuc don cung cp boi cua hang
ma ho lin lac (co th thay di tuy theo cua hang). Cng ty XXX mun tin hoc
hoa tin trinh dt hang / ch bin / giao hang.
Cng ty mun xy dung phn mm quan ly tu xa cac don dt hang, cac nha
hang, cac nhn vin. Phn mm cung cho phep truy cp xem cac loai com hp
qua internet, mi hp com co tn, gia va anh. Di voi cac hp com co mon n
nong, mt khoang thoi gian tu luc chun bi dn luc giao hang s duoc gan cho
hp com, nu khach hang nhn hp com tr hon so voi thoi gian quy dinh thi
co th yu cu tra tin lui. Tuy nhin, d han ch kha nng nay, thi vic d
nghi tra lui khng duoc thuc hin qua internet ma khach hanh phai vit don d
nghi va gui dn nguoi quan ly cng ty.
7-Aug-07 Phan tich va thit k h thng huong di tuong 172
Bai tp 3
Nguoc lai, don dt hang co th thuc hin bt k luc nao qua internet. Khach
hang cn phai co th tin dung. Khi dt hang, khach hang cn phai cung cp
thng tin: ho tn va dia ch giao hang. Mt don dt hang co th yu cu nhiu
hp com, loai hp com khac nhau va s luong tung loai hp com. Mt khi d
dt hang, khach hang co th theo di don dt hang cua minh. Khi ma don dt
hang chua duoc xu ly thi khach hang co th huy don dt hang.
Cac nha hang XXX mo cua 24/24h. D bao dam phuc vu trn nhiu dia ban va
24/24h, cng ty hop dng nhiu nhn vin lam vic ban thoi gian, chu yu la
sinh vin. Mi nhn vin duoc cp mt din thoai di dng d tin lin lac. Khi
cn bao rng nhn vin do ranh ri, ch cn n nut trn din thoai di dng hoc
nguoc lai n mt nut khac d thng bao nhn vin do bn. Nguoi quan ly co
th xem trang thai cua toan h thng thng qua Internet. Nguoi quan ly co th
giao nhim vu cho nhn vin lam vic o cua hang hoc di giao hang. Mt nhn
vin co th thay di dia dim lam vic hoc vai tr (lam vic tai cua hang hay
di giao hang) nhiu ln trong mt ngay phu thuc vao cac don dt hang.
87
7-Aug-07 Phan tich va thit k h thng huong di tuong 173
Bai tp 3
Khi dt hang, khach hang khng ch ro dt o cua hang nao, ma chinh nguoi
quan ly s yu cu cua hang nao cung cp va nhn vin nao giao hang. Muc
dich la d nguoi quan ly d ti uu thoi gian, khoang cach, hoat dng giua cac
cua hang va cac nhn vin. Mi nhn vin giao hang co phuong tin ring d
di giao hang. Hon nua, khi di giao hang nhn vin s duoc cung cp thit bi
chuyn dung co tich hop GPS, cho phep dinh vi chinh xac thng qua kt ni v
tinh. Thit bi co mt man hinh cho phep nhn vin xem thng tin cac don dt
hang ma nhn vin do cn thuc hin giao hang, tra ban d va dinh vi cac cua
hang va dia ch khach hang. Nhn vin giao hang cung su dung thit bi nay d
thng bao khi nao anh ta thuc hin don dt hang nao va khi nao giao hang cho
khach hang.
Trong mi cua hang co mt nhn vin dong vai tr diu phi vin. Tai cua
hang, ch co diu phi vin la nguoi duy nht su dung phn mm cn cac nhn
vin khac chun bi cac mon n. Diu phi vin xem cac don dt hang cn thuc
hin, ch ro khi nao bt du chun bi mon n cho don dt hang, khi nao kt
thuc va khi nao thi giao cho nhn vin giao hang.
Xy dung biu d ca su dung, ch xet cac tac nhn la nguoi su dung.
7-Aug-07 Phan tich va thit k h thng huong di tuong 17+
M hnh khi nim (5)
Nguyn Thanh Bnh
Khoa Cng Ngh Thng Tin
Truong Dai hoc Bach khoa, Dai hoc Da Nng
88
7-Aug-07 Phan tich va thit k h thng huong di tuong 175
Ni dung trinh bay
M hinh khai nim
Xac dinh cac khai nim
Xac dinh cac thuc tinh
Xac dinh cac kt hop
7-Aug-07 Phan tich va thit k h thng huong di tuong 176
M hinh khai nim
Xac dinh cac khai nim quan trong trong h thng
M hinh khai nim (conceptual model) m ta cac khai
nim trong cac quan h cua chung
UML khng cung cp m hinh khai nim, tuy nhin cung
cp ki hiu va cu phap d biu din m hinh do chinh la
biu d lp
giai doan nay, m hinh khai nim cn duoc goi biu d
lop phn tich (analysis class diagram) luu y, khac voi
biu d lop thit k (design class diagram)
Ngoai ra, m hinh khai nim cung cn duoc goi la m hinh
lnh vuc (domain model)
89
7-Aug-07 Phan tich va thit k h thng huong di tuong 177
M hinh khai nim
M hinh khai nim gm:
Cc khi nim cua lnh vuc nghin cuu
Cc thuc tnh va cc thao tc cua cac khai nim nay
Cc quan h cua cac khai nim nay
Mt khai nim la biu din o muc cao (truu tuong)
v mt su vt
Mt khai nim la mt phn tu cua lnh vuc nghin
cuu, chu khng phai mt phn tu cua phn mm
hay h thng
7-Aug-07 Phan tich va thit k h thng huong di tuong 178
M hinh khai nim
Trong m hinh khai nim, chung ta s nm bt cac khai
nim nhn bit boi khach hang
Vi du cac khai nim dung: khi nim gn lin vi vn d
Thang my trong h thng diu khin thang may
V my bay trong h thng dt ve may may
D}t hng trong h thng mua ban hang qua mang
Vi du ti v khai nim: khi nim gn lin vi giai php
DanhSachKhachHang bang cac khach hang
EventTrigger tin trinh thuc hin duyt h thng 10 phut mt
ln
90
7-Aug-07 Phan tich va thit k h thng huong di tuong 179
M hinh khai nim
Lam sao bit duoc mt khai nim la dung hay
khng
Nguyn tc: Nu khch hng khng hiu khi
nim, rt c th d khng phai l khi nim
M hinh khai nim s duoc chuyn dn sang biu
d lop thit k trong giai doan xy dung
7-Aug-07 Phan tich va thit k h thng huong di tuong 180
Xac dinh cac khai nim
D xac dinh cac khai nim, dua vao dc ta
yu cu, ma cu th hon la dua vao cac ca su
dung
Vi du: ca su dung mua hang
Cac khai nim co th: KhachHang,
NguoiBanHang, TinhTin, MuaHang,
MtHang, .
91
7-Aug-07 Phan tich va thit k h thng huong di tuong 181
Xac dinh cac khai nim
Mt s ung cu vin cua khai nim tu dc ta hoc
ca su dung:
Cac di tuong vt ly (xe t)
Cac vi tri, dia dim (nha ga)
Cac giao tac (thanh toan)
Cac vai tr cua con nguoi (nguoi ban)
Cac h thng khac o bn ngoai (co so du liu tu xa)
Danh tu truu tuong (su khat, n ung)
Cac t chuc (dai hoc)
Cac su kin (cp cuu)
Nguyn tc/chinh sach
7-Aug-07 Phan tich va thit k h thng huong di tuong 182
Xac dinh cac khai nim
Cach khac d xac dinh cac khai nim
Cac danh tu va cum danh tu trong dc ta yu cu hoc
dc ta ca su dung co th la cac khai nim
Dua vao hiu bit va kinh nghim loai bo cac danh tu
va cum danh tu khng la cac khai nim
Vi du: dua vao kich ban ca su dung mua hang
Gach chn cac danh tu va cum danh tu
92
7-Aug-07 Phan tich va thit k h thng huong di tuong 183
Xac dinh cac khai nim
Vi du
Hnh dng cua tc nhn Hnh dng cua h thng
1. Mt khach hang dua
hang d chon mua dn quy
tinh tin.
2. Nguoi ban hang ghi nhn
tung mt hang.
Nu mt mt hang co s
luong nhiu hon mt thi
nguoi ban hang co th nhp
vao mt s.
3. Xac dinh mt hang, hin thi
cac thng tin va gia mt hang.
S nay duoc hin thi.
7-Aug-07 Phan tich va thit k h thng huong di tuong 18+
Xac dinh cac khai nim
Vi du
+. Sau khi d ghi nhn tt
ca cac mt hang, nguoi ban
hang bao hiu kt thuc vic
ghi nhn hang.
6. Nguoi ban hang thng
bao tng s tin phai tra cho
khach hang.
7. Khach hang tra tin cho
nguoi ban hang.
5. Tinh va hin thi tng s
tin.
Hnh dng cua tc nhn Hnh dng cua h thng
93
7-Aug-07 Phan tich va thit k h thng huong di tuong 185
Xac dinh cac khai nim
Vi du
8. Nguoi ban hang nhp s
tin khach hang tra.
10. Nguoi ban hang xac
nhn su tra tin, ly tin du
tra cho khach hang va dua
cho khach hang phiu ban
hang.
12. Khach hang roi quy
thu tin voi tui hang
9. Hin thi tin du va in phiu
ban hang
11. Ghi nhn phin ban hang.
Hnh dng cua tc nhn Hnh dng cua h thng
7-Aug-07 Phan tich va thit k h thng huong di tuong 186
Xac dinh cac khai nim
Phn bit giua khai nim (concept) va thuc tinh
(attribut)
Nu mt phn tu cua lnh vuc nghin cuu khng la mt
con s hoc mt chui ki tu thi co th do la mt khai
nim
Vi du: Cn xy dung phn mm quan ly cac chuyn
bay. ich cua mt chuyn bay la thuc tinh cua mt
chuyn bay hay la mt khai nim khac
Tra loi: dich mt chuyn bay la mt sn bay, khng
phai la mt con s hay vn ban, do la mt khai nim
94
7-Aug-07 Phan tich va thit k h thng huong di tuong 187
Xac dinh cac khai nim
Lop MTa
Lop MTa la lop chua thng tin m ta cac di tuong
khac
Vi du: Lop MtHang chua cac thng tin v Mt Hang
MtHang
mMH
tnMH: text
gia
sXri
mauSc
Phuong an 1 (chua tt)
7-Aug-07 Phan tich va thit k h thng huong di tuong 188
Xac dinh cac khai nim
Lop MTa
MtHang
sXri
mauSc
Phuong an 2 (tt hon)
MTaMtHang
mMH
tnMH: text
gia

1
Duoc m ta
95
7-Aug-07 Phan tich va thit k h thng huong di tuong 189
Xac dinh cac khai nim
Lop MTa
Khi nao su dung lop MTa
Khi cn giam bot su du thua, trung lp thng tin
Khi cn m ta v di tuong dc lp voi cac di tuong cu th
Khi cn cn duy tri thng tin v di tuong cho du cac di
tuong cu th bi xoa
7-Aug-07 Phan tich va thit k h thng huong di tuong 190
Xac dinh cac khai nim
Lop MTa
Vi du: trong lnh vuc hang khng, cn m ta quan h
giua cac chuyn bay va cac sn bay
ChuynBay
ngay
gio
sHiu
SnBay
tn

1
Bay dn
Phuong an 1
96
7-Aug-07 Phan tich va thit k h thng huong di tuong 191
Xac dinh cac khai nim
Lop MTa
MTaChuynBay
sHiu
SnBay
tn

1
Bay dn
Phuong an 2
ChuynBay
ngay
gio

1
7-Aug-07 Phan tich va thit k h thng huong di tuong 192
Biu din khai nim
Su dung ki hiu cua biu d lop
MtaMtHang
Khai nim
Cac thuc tinh
Cac thao tac
(chua xet dn o
giai doan nay)
97
7-Aug-07 Phan tich va thit k h thng huong di tuong 193
Thuc tinh
Cac thuc tinh (attribut) cua mt khai nim biu din du
liu cn thit cho cac th hin (instance) cua khai nim
Vi du
MtaMtHang
Khai nim
Cac thuc tinh
m
tn: text
Kiu (khng bt buc)
7-Aug-07 Phan tich va thit k h thng huong di tuong 19+
Thuc tinh
Mt thuc tinh ch dai din cho cac du liu lin quan dn
khai nim so hu thuc tinh do
Vi du
NguoiBanHang
tn
sQuy
NguoiBanHang
tn
Quy
s
Sai
Dung
98
7-Aug-07 Phan tich va thit k h thng huong di tuong 195
Thuc tinh
Cach xac dinh cac thuc tinh
Cac con s va chui ki tu la cac thuc tinh
Nu mt tinh cht cua mt khai nim khng th lam
duoc diu gi thi rt co th do la thuc tinh
Nu nghi ngo mt thuc tinh la khai nim, thi don gian
hy coi do la khai nim
Vi du: luong la thuc tinh hay khai nim so voi khai nim cong
nhan
Nu nghi ngo do la khai nim thi coi nhu luong va cong nhan
la hai khai nim tach roi
7-Aug-07 Phan tich va thit k h thng huong di tuong 196
Thao tac
Khai nim co th co cac thao tac (operation)
Thao tac cua khai nim chinh la kha nng thuc
hin cua mt th hin cua khai nim
Vi du
MtHangBan
Khai nim
Cac thuc tinh
ngay
gioBtDu: Time
tngTin(): Integer
Thao tac
99
7-Aug-07 Phan tich va thit k h thng huong di tuong 197
Thao tac
giai doan elaboration, m hinh khai nim co th
khng nht thit phai m ta cc thao tc cua
khai nim
Giai doan construction s thuc hin cng vic nay
mt cach chi tit va dy du
7-Aug-07 Phan tich va thit k h thng huong di tuong 198
Kt hop
Kt hp (association) biu din quan h giua cac th hin
cua cac khai nim
Vi du: kt hop chua giua khai nim cua hang va khai nim
mt hang
Ki hiu
CuaHang MtHang
Chua
Kt hop
100
7-Aug-07 Phan tich va thit k h thng huong di tuong 199
Kt hop
Co th tn tai kt hop cua nhiu hon hai khai nim
Vi du
Person Company
Iunction
ProIession
ork employ
7-Aug-07 Phan tich va thit k h thng huong di tuong 200
Kt hop
Bi s (multiplicity) cua vai tr ch ra s th hin co th
cua quan h tham gia vao quan h
Cac bi s co th
1: ch dung mt
1..: tu mt dn nhiu
: tu 0 dn nhiu
m..n: tu m dn n
Vi du
MtHang CuaHang
1
Chua
101
7-Aug-07 Phan tich va thit k h thng huong di tuong 201
Han ch kt hop (qualiIicator)
Giam s th hin tham gia vao mt kt hop
Ki hiu
Mi th hin A voi gia tri kev xac dinh mt tp con cac th
hin B tham gia vao kt hop
B A
key
qualiIicator
7-Aug-07 Phan tich va thit k h thng huong di tuong 202
Han ch kt hop (qualiIicator)
Vi du
Phn bit cac sinh vin hoc tai mt dai hoc dua vao m s sinh
vin
Phn bit cac mt hang thuc vao mt danh muc mt hang dua vao
m s mt hang
SinhVin DaiHoc
N
o
sinh vin
MtHang DanhMucMtHang
ID
102
7-Aug-07 Phan tich va thit k h thng huong di tuong 203
Chuyn bit hoa
Mt khai nim co th v co ban ging voi mt khai nim
khac, ch co mt vai su khac nhau trn mt s tinh cht
(thuc tinh, thao tac, cac kt hop)
Khai nim thu nht duoc goi la chuyn bit ha
(specialiation) cua khai nim thu hai
Khai nim thu nht duoc goi la khai nim chuyn bit hoa
(specialied concept), khai nim thu hai duoc goi la khai
nim chung (general concept)
7-Aug-07 Phan tich va thit k h thng huong di tuong 20+
Chuyn bit hoa
Ki hiu
general concept
specialied concept
specialied concept
103
7-Aug-07 Phan tich va thit k h thng huong di tuong 205
Thua k
Khai nim chuyn bit hoa tha k (inheritance) tt ca cac
tinh cht cua cua khai nim chung. Cac tinh cht nay bao
gm:
Cac thuc tinh
Cac thao tac
Cac kt hop voi khai nim khac
7-Aug-07 Phan tich va thit k h thng huong di tuong 206
Thua k
Vi du
Cac khai nim ThanhToanBngTinMt va
ThanhToanBngTh du co thuc tinh tng va kt hop
thanh toan voi khai nim PhinBanHang
ThanhToan
tng: Integer
ThanhToanBngTinMt ThanhToanBngTh
PhinBanHang
1 1 thanh toan
104
7-Aug-07 Phan tich va thit k h thng huong di tuong 207
Khai nim truu tuong
Tuong tu nhu lop, khai nim truu tuong khng co cac th
hin
Luu y, trong tai liu vit tay co th vit abstract duoi tn
khai nim truu tuong
ThanhToan
tng: Integer
ThanhToanBngTinMt ThanhToanBngTh
PhinBanHang
1 1 thanh toan Khai nim truu tuong
duoc vit in nghing
7-Aug-07 Phan tich va thit k h thng huong di tuong 208
Quan h hop thanh va quan h
kt tp
Quan h hp thnh (composition) va quan h kt tp
(agregation) la hai kt hp d}c bit ch s so huu
Quan h hop thanh: mt khai nim thanh phn ch thuc vao mt
khai nim toan phn
Quan h kt tp: mt khai nim thanh phn co th thuc vao nhiu
khai nim toan phn
ToanPhn MtPhn
ToanPhn
MtPhn
105
7-Aug-07 Phan tich va thit k h thng huong di tuong 209
Quan h hop thanh va quan h
kt tp
Vi du
Mt th hin cua Point khng th dng thoi thuc vao
mt th hin cua Triangle va mt th hin cua Circle
Point
Triangle
Style
color
isFilled
Circle
radius
1 3
1 1
7-Aug-07 Phan tich va thit k h thng huong di tuong 210
Quan h hop thanh va quan h
kt tp
Quan h hop thanh nhn mnh s so hu: nu khai nim
toan phn bi huy bo thi khai nim thanh phn cung bi huy
bo theo
Trong truong hop, th t cua cac khai nim thanh phn la
quan trong, thi thm vao kt hop diu kin ordered
Vi du
Polygon
Point
3..
ordered
106
7-Aug-07 Phan tich va thit k h thng huong di tuong 211
Khai nim kt hop
Co th m ta cac tnh cht cua mt kt hop giua
hai khai nim boi mt khi nim kt hp
(association concept)
Vi du
employ
Person
ork
Company
1..
Employment
begin, end: Date
Khai nim kt hop
7-Aug-07 Phan tich va thit k h thng huong di tuong 212
Bai tp 1
Xy dung m hinh khai nim cua h
thng/phn mm ban hang tai siu thi
Phn mm ban hang su dung tai siu thi nhm
giup ghi nhn hoat dng ban hang, xu ly cac
thanh toan voi khach hang. Phn mm duoc su
dung boi nguoi ban hang va duoc quan ly boi
nguoi quan ly siu thi. Phn mm nhm tu
dng hoa cng vic cua nguoi ban hang tai
quy thu tin.
107
7-Aug-07 Phan tich va thit k h thng huong di tuong 213
Bai tp 1
ThanhToan
PhienBanHang
KhachHang
NguoiBan
DongHang
DanhMucMatHang
CuaHang
NguoiQuanLy
1
1
1
1
1
1
1
1..

1.. 1
1
1
1
NhnVin
MatHang
1
QuayTinhTien
1

HeThongBanHang
1
1.. 1
1..
1

MoTaMatHang

1
1

7-Aug-07 Phan tich va thit k h thng huong di tuong 21+


Bai tp 2
Quan l do to o trung tm tin hc: Mt cng ty mun m ta bng UML
vic dao tao nhn vin d tin hoc hoa mt s cng vic. Vic dao tao duoc bt
du khi nguoi quan ly dao tao nhn duoc yu cu dao tao cua mt nhn vin.
Nhn vin nay co th xem danh muc cac chuyn d dao tao cua cac don vi dao
tao ky kt voi cng ty. u cu cua nhn vin duoc xem xet boi nguoi quan ly
dao tao va nguoi quan ly s tra loi la chp nhn hay tu chi d nghi do. Trong
truong hop chp nhn, nguoi quan ly s xac dinh chuyn d phu hop trong
danh muc cac chuyn d, sau do gui cho nhn vin ni dung cua chuyn d va
danh sach cac khoa dao tao. Nhn vin s chon khoa dao tao va nguoi quan ly
s dng ky khoa hoc voi don vi dao tao cho nhn vin. Trong truong hop
mun huy bo dng ky khoa dao tao, nhn vin phai thng bao som cho nguoi
quan ly bit d nguoi quan ly thuc hin huy bo. Cui khoa dao tao, nhn vin
chuyn phiu danh gia kt qua hoc v cho cng ty. Nguoi quan ly s kim tra
hoa don thanh toan tin cua don vi dao tao.
Xy dung biu m hinh khai nim.
108
7-Aug-07 Phan tich va thit k h thng huong di tuong 215
Bai tp 3
Quan l bn com hp: Cng ty XXX co mt h thng nha hang XXX chuyn
cung cp com hp tai nha. Hin tai cac don dt hang duoc thuc hin bng din
thoai dn cac cua hang XXX. Cng ty ch co th xu ly mt s co gioi han cac
don dt hang va mi khach hang phai bit r thuc don cung cp boi cua hang
ma ho lin lac (co th thay di tuy theo cua hang). Cng ty XXX mun tin hoc
hoa tin trinh dt hang / ch bin / giao hang.
Nho vao phn mm do, cng ty mun quan ly tu xa cac don dt hang, cac nha
hang, cac nhn vin. Phn mm cung cho phep truy cp xem cac loai com hp
qua internet, mi hp com co tn, gia va anh. Di voi cac hp com co mon n
nong, mt khoang thoi gian tu luc chun bi dn luc giao hang s duoc gan cho
hp com, nu khach hang nhn hp com tr hon so voi thoi gian quy dinh thi
co th yu cu tra tin lui. Tuy nhin, d han ch kha nng nay, thi vic d
nghi tra lui khng duoc thuc hin qua internet ma khach hanh phai vit don d
nghi va gui dn nguoi quan ly cng ty.
7-Aug-07 Phan tich va thit k h thng huong di tuong 216
Bai tp 3
Nguoc lai, don dt hang co th thuc hin bt k luc nao qua internet. Khach
hang cn phai co th tin dung. Khi dt hang, khach hang cn phai cung cp
thng tin: ho tn va dia ch giao hang. Mt don dt hang co th yu cu nhiu
hp com loai hp com khac nhau va s luong tung loai hp com. Mt khi d
dt hang, khach hang co th theo di don dt hang cua minh. Khi ma don dt
hang chua duoc xu ly thi khach hang co th huy don dt hang.
Cac nha hang XXX mo cua 24/24h. D bao dam phuc vu trn nhiu dia ban va
24/24h, cng ty hop dng nhiu nhn vin lam vic ban thoi gian, chu yu la
sinh vin. Mi nhn vin duoc cp mt din thoai di dng d tin lin lac. Khi
cn bao rng nhn vin do ranh ri, ch cn n nut trn din thoai di dng hoc
nguoc lai n mt nut khac d thng bao nhn vin do bn. Nguoi quan ly co
th xem trang thai cua toan h thng thng qua Internet. Nguoi quan ly co th
giao nhim vu cho nhn vin lam vic o cua hang hoc di giao hang. Mt nhn
vin co th thay di dia dim lam vic hoc vai tr (lam vic tai cua hang hay
di giao hang) nhiu ln trong mt ngay phu thuc vao cac don dt hang.
109
7-Aug-07 Phan tich va thit k h thng huong di tuong 217
Bai tp 3
Khi dt hang, khach hang khng ch ro dt o cua hang nao, ma chinh nguoi
quan ly s yu cu cua hang nao cung cp va nhn vin nao giao hang. Muc
dich la d nguoi quan ly d ti uu thoi gian, khoang cach, hoat dng giua cac
cua hang va cac nhn vin. Mi nhn vin giao hang co phuong tin ring d
di giao hang. Hon nua, khi di giao hang nhn vin s duoc cung cp thit bi
chuyn dung co tich hop GPS, cho phep dinh vi chinh xac thng qua kt ni v
tinh. Thit bi co mt man hinh cho phep nhn vin xem thng tin cac don dt
hang ma nhn vin do cn thuc hin giao hang, tra ban d va dinh vi cac cua
hang va dia ch khach hang. Nhn vin giao hang cung su dung thit bi nay d
thng bao khi nao anh ta thuc hin don dt hang nao va khi nao giao hang cho
khach hang.
Trong mi cua hang co mt nhn vin dong vai tr diu phi vin. Tai cua
hang, ch co diu phi vin la nguoi duy nht su dung phn mm cn cac nhn
vin khac chun bi cac mon n. Diu phi vin xem cac don dt hang cn thuc
hin, ch ro khi nao bt du chun bi mon n cho don dt hang, khi nao kt
thuc va khi nao thi giao cho nhn vin giao hang.
Xy dung m hinh khai nim.
7-Aug-07 Phan tich va thit k h thng huong di tuong 218
Biu d hot dng (6)
Nguyn Thanh Bnh
Khoa Cng Ngh Thng Tin
Truong Dai hoc Bach khoa, Dai hoc Da Nng
110
7-Aug-07 Phan tich va thit k h thng huong di tuong 219
Biu d hoat dng
Phuong phap phn tich va thit k truyn thng
Biu d lung du liu (DFD Data-Flo Diagram)
Vi du
Sinh vin
Xem thng tin
mn hoc
Xet nang luc
sinh vin
Nn hoc
Sinh vin on dang k
ang k
7-Aug-07 Phan tich va thit k h thng huong di tuong 220
Biu d hoat dng
Phuong phap phn tich va thit k HDT
Biu d hoat dng
<<kho du liu>>
Nn hoc
<<kho du liu>>
Sinh vin
<<kho du liu>>
on dang k
Xem thng tin
mn hoc
ang k
Xet nang luc
sinh vin
111
7-Aug-07 Phan tich va thit k h thng huong di tuong 221
Biu d hoat dng
Biu d hot dng (activity diagram) cho phep
m ta hoat dng cua h thng so voi mt hoc
nhiu ca su dung
Mt biu d hoat dng dinh ngha:
Cc hot dng (activity) cua h thng va cua cac tac
nhn
Th t ma cac hoat dng nay duoc thuc hin
Ph thuc co th giua cac hoat dng nay
Mt hoat dng tuong ung voi mt cng vic o
muc truu tuong cao co muc tiu xac dinh
7-Aug-07 Phan tich va thit k h thng huong di tuong 222
Biu d hoat dng
Cac hot dng khng tuong ung voi cac
thao tc trong m hinh khai nim, cac thao
tac do lin quan dn khai nim, chu khng
lin quan dn h thng hay cac tac nhn
Thng thuong, cac biu d hoat dng duoc
dinh ngha truoc hoc trong khi xy dung
m hinh khai nim
Dua vao biu d hoat dng cac thao tac s duoc
thm vao m hinh khai nim
112
7-Aug-07 Phan tich va thit k h thng huong di tuong 223
Biu d hoat dng
Ki hiu cua cac hoat dng
activity 1
activity 2
activity n
Bt du
Kt thuc
Hoat dng
Chuyn tip: activity 2 ch
bt du khi activity 1 kt thuc
7-Aug-07 Phan tich va thit k h thng huong di tuong 22+
Biu d hoat dng
Vi du cac hoat dng
Xu ly hoa don
Dt hang
Dng nhp
Hoat dng
113
7-Aug-07 Phan tich va thit k h thng huong di tuong 225
Biu d hoat dng
Dng b hoa cac hoat dng
Cac activity 1`, ., n` (cung nhu 1, ., n) co th thuc hin trong bt c th t
nao. Hoc cac activity nay co th thuc hin dng thi.
activity 1
activity 1`
Thanh dng b ch ra rng cac
activity 1`, ., n` ch bt du khi
tt ca activity 1, ., n kt thuc
activity 2 activity n
activity n`
7-Aug-07 Phan tich va thit k h thng huong di tuong 226
Biu d hoat dng
Dng b hoa co diu kin
activity 1
activity 1`
Ch ra rng condition phai duoc danh gia
mi khi mt trong cac activity 1, ., n kt thuc
cac activity 1`, ., n` ch bt du
khi condition la dung
activity 2 activity n
activity n`
condition
114
7-Aug-07 Phan tich va thit k h thng huong di tuong 227
Biu d hoat dng
Quyt dinh
activity 0
activity 1 activity 2 activity n
cond. 1
cond. n cond. 2
Ch ra rng cond. n phai dung
truoc khi bt du activity n
7-Aug-07 Phan tich va thit k h thng huong di tuong 228
Biu d hoat dng
Quyt dinh kt hop: trong truong hop nu co nhiu quyt
dinh di lin nhau, thi cn phai biu din bng hoat dng
ring
activity 0
activity 1
activity 2
cond. 1 cond. 2
Quyt dinh thu nht
cond. 3
cond. 4
cond. 5 cond. 6
Hoat dng biu din
quyt dinh thu hai
Quyt dinh thu ba
115
7-Aug-07 Phan tich va thit k h thng huong di tuong 229
Biu d hoat dng
Vi du
Chon dia dim
Lp du an
Du thu du an
Xy dung thu cng Xy dung h tro may moc
Nghim thu
khng chp nhn
chp nhn
7-Aug-07 Phan tich va thit k h thng huong di tuong 230
Biu d hoat dng
Hanh lang (simlane): dung d phn lung cac hoat dng
lin quan dn cac tac nhn hoc h thng
Thanh toan bng th
Nhn th
Kim duyt
Tru vao th
Nhp m
Khach hang Nguoi ban hang Dich vu kim duyt H thng
116
7-Aug-07 Phan tich va thit k h thng huong di tuong 231
Biu d hoat dng
Bai tp: May rut tin ATM
M ta mt may ATM. Cac chuc nng chinh nhu sau:
Cp phat tin cho nhung ai co th ngn hang (cho phep rut mt s
luong tin boi h thng thng tin cua ngn hang) va nhung ai co th
VISA (cho phep tu xa boi h thng VISA)
Cho xem kim tra s tin tai khoan va bo tin vao tai khoan bng tin
mt hoc ngn phiu di voi nhung ai co th ngn hang
Tt ca cac giao tac du duoc kim tra an toan
Kim tra m PIN
M PIN nhp sai 3 ln thi th s bi nut
Cn phai thuong xuyn nap tin vao may, ly ngn phiu va cac th bi
nut ra
7-Aug-07 Phan tich va thit k h thng huong di tuong 232
Biu d hoat dng
Bai tp
M ta vic rut tin voi mt th VISA bng biu d hoat dng. Th
co th la khng hop l. Nu th hop l, khach hang co th nhp m
PIN. Th s bi nut sau ba ln nhp khng thanh cng. H thng
ngn hang cho phep rut mt s luong tin ti da hoc tu chi vic
rut tin. Mt th khng duoc ly lai boi khach hang sau khi rut s
bi nut. Tin mt khng ly boi khach hang s bi may thu hi lai.
Phiu xac nhn vic rut tin lun duoc in trong khi khach hang cho
ly tin.
117
7-Aug-07 Phan tich va thit k h thng huong di tuong 233
Biu d trng thi (7)
Nguyn Thanh Bnh
Khoa Cng Ngh Thng Tin
Truong Dai hoc Bach khoa, Dai hoc Da Nng
7-Aug-07 Phan tich va thit k h thng huong di tuong 23+
Biu d trang thai
Biu d trang thai (state diagram) m ta
hanh vi cua mt th hin cua mt khai nim
(hay hanh vi cua mt di tuong)
Biu d trang thai bao gm:
Cac trng thi cua mt th hin (di tuong)
Cac chuyn tip cho phep chuyn tu trang thai
nay sang trang thai khac
Cac s kin cho phep vuot qua cac chuyn tip
118
7-Aug-07 Phan tich va thit k h thng huong di tuong 235
Trang thai
Mt trng thi la mt tinh hung ma th hin/di
tuong cua mt khai nim/lop tn tai o mt thoi
dim nao do
Mt th hin o trong mt trang thai trong mt
khoang thoi gian nht dinh
Trong khoang thoi gian do, th hin co th thuc
hin cac hoat dng va cho doi cac su kin
Ki hiu
tn Trang thai
7-Aug-07 Phan tich va thit k h thng huong di tuong 236
Chuyn tip
Cac chuyn tip (transition) gn lin voi cac hanh
dng kich hoat boi cac su kin
Co hai loai chuyn tip
Chuyn tip trong (interne transition) mt trang thai,
cho phep tra loi mt su kin ma khng roi trang thai do.
Chuyn tip gia cc trng thi hay chuyn tip
ngoi (externe transition): m ta mt su chuyn trang
thai.
119
7-Aug-07 Phan tich va thit k h thng huong di tuong 237
Chuyn tip
Vi du: cac trang thai cua mt may diu ha
LamLanh
HaNhitD/xuLy()
Chuyn tip trong
LamLanh Suoim
nhnNutLanh
nhnNutm
Chuyn tip ngoai
7-Aug-07 Phan tich va thit k h thng huong di tuong 238
Vi du
M ta cac trang thai cua khai nim may ATM
Doi Hoat dng
duaThVao
ktThuc
khoiDng
tt
Trang thai bt du
Trang thai kt thuc
Su kin
120
7-Aug-07 Phan tich va thit k h thng huong di tuong 239
Su kin
Mt chuyn tip co dang tng quat nhu sau:
SuKin DiuKin / HanhDng
SuKin la tn su kin dn dn su vuot qua mt
chuyn tip
DiuKin la mt biu thuc logic phai dung d co th
vuot qua mt chuyn tip
HanhDng dinh ngha mt thao tac duoc thuc hin
khi vuot qua chuyn tip.
7-Aug-07 Phan tich va thit k h thng huong di tuong 2+0
Su kin
Vi du: cac trang thai cua bong dn
KhngSang Sang
BtCngTc CmDNi / btSang()
121
7-Aug-07 Phan tich va thit k h thng huong di tuong 2+1
Su kin dc bit
Co ba s kin d}c bit danh cho chuyn tip
trong mt trang thai
entry va exit cho phep m ta cac hoat dng cn phai
thuc hin luc vo hoc luc ra trang thai
do dc ta mt hoat dng cn phai duoc thuc hin khi o
trong trang thai
Luu y: khi cac chuyn tip trong co mt trong ba su kin
trn thi chung khng th co cac biu thuc diu kin
7-Aug-07 Phan tich va thit k h thng huong di tuong 2+2
Su kin dc bit
Vi du
NhpMtKhu
entry / khng hin thi cac ki tu nhp vao
exit / hin thi cac ki tu nhp vao
do/ quan ly nhp vao cua nguoi su dung
122
7-Aug-07 Phan tich va thit k h thng huong di tuong 2+3
Vi du biu d trang thai
Control
do / controlProduct()
Delivery
do / deliver()
Waiting
Delivered
Quan ly ~order
/chooseFirstProduct
notAllControled
/chooseNextProduct
allControled and
allProductsNotAvailable]
allControled and
allProductsAvailable]
ReceptionProduct
allProductsAvailable]
ReceptionProduct
allProductsNotAvailable]
livered
7-Aug-07 Phan tich va thit k h thng huong di tuong 2++
Trang thai phuc hop
Nhiu trang thai va chuyn tip ni cac trang thai nay co
th nhom lai tao nn mt trng thi phc hp (composite
state)
Mt trang thai phuc hop chua mt trang thai du
Vi du
123
7-Aug-07 Phan tich va thit k h thng huong di tuong 2+5
Trang thai phuc hop
Control
do / controlProduct()
Delivery
do / deliver()
Waiting
Delivered
/chooseFirstProduct
notAllControled
/chooseFirstProduct
allControled and
allProductsNotAvailable]
allControled and
allAvailable]
ReceptionProduct
allAvailable]
ReceptionProduct
allProductsNotAvailable]
livered
Cancel
cancel
Active
7-Aug-07 Phan tich va thit k h thng huong di tuong 2+6
Trang thai canh tranh
Cac trng thi cnh tranh (concurent state) tn
tai dng thoi bn trong mt trang thai phuc hop
Vi du: xu ly dng thoi order va payment
Control Delivery
VeriIication Payment
Waiting
124
7-Aug-07 Phan tich va thit k h thng huong di tuong 2+7
Trang thai lich su
Di khi cn ghi nho lai trang thai cui cung khi di ra khoi
mt trang thai phuc hop, ta su dung trng thi l|ch su
(history state)
Vi du
LamLanh Suoim
nhnNutLanh
nhnNutm
Trang thai lich su
HotDng
H
Tt
bt
tt
7-Aug-07 Phan tich va thit k h thng huong di tuong 2+8
Vi du
Hy m ta biu d trang thai cua cac khai nim
sau:
Hoa don
H thng ban hang (phn mm ban hang o siu thi)
Thang may
125
7-Aug-07 Phan tich va thit k h thng huong di tuong 2+9
Vi du
Hoa don
ChuaThanhToan DThanhToan
thanhToan lamHoaDon
7-Aug-07 Phan tich va thit k h thng huong di tuong 250
Vi du
H thng ban hang
ChoBanHang NhpMtHang
Nhp mt hang
Khanh dua hang
dn quy tinh tin
ThanhToan
Nhp mt hang tip theo
Kt thuc nhp
Thanh toan
126
7-Aug-07 Phan tich va thit k h thng huong di tuong 251
Vi du
Thang may
Dung
DiLn
DiXung
ttnguCu
ttnguCu
Xung(t)ttngHinTai
v t tngThpNht
Ln(t)ttngHinTai
v t tngCaoNht
7-Aug-07 Phan tich va thit k h thng huong di tuong 252
Bai tp 1
Tin trnh sua xe hoi o mt garage: Co nhiu xe hoi cua khach hang
yu cu duoc sua chua, chung duoc dt trong garage doi d sua. Vic
sua chua co th duoc tin hanh bt k luc nao. Khi sua chua co th cn
phai thay phu tung moi, trong truong hop do cn phai doi phu tung
moi duoc mua v d thay th. Khi sua xong xe, xe s duoc lai thu.
Theo kt qua thu, s xac dinh cn sua chua khac hoc xe d sn sang
d giao cho khach hang. Khi do, xe duoc dua vao garage doi khach
hang dn ly.
Hy xy dung biu d trang thai m ta cac trang thai cua xe hoi cn
sua chua.
127
7-Aug-07 Phan tich va thit k h thng huong di tuong 253
Bai tp 2
M ta cac trang thai cua mt cun sch trong thu vin
Khi cun sach duoc nhp vao thu vin, nu cun sach do la ban
duy nht thi no ch duoc doc tai ch, nu co nhiu ban cua cun
sach do thi no co th dung d cho muon. Thm chi co nhiu ban
cua cun sach, nguoi thu thu co quyn thay di cac ban do thanh
loai tai liu ch duoc doc tai ch. Nu mt cun sach duoc cho
muon mt thoi gian xac dinh ma no khng duoc tra lai thi coi nhu
la bi mt va sau do 1 nm thi bi xoa ra khoi CSDL. Tuy nhin, nu
sau do tim thy thi no lai sn sang d cho muon. Trong truong hop
cun sach qua cu va hu hong thi no s bi loai bo. Cun sach co th
duoc thay th cun moi hoc bi xoa khoi CSDL. Khng th dt
truoc sach ma hin tai khng co trong thu vin.
7-Aug-07 Phan tich va thit k h thng huong di tuong 25+
Biu d lop
Nhc lai: giai doan elaboration d xy dung
m hinh khai nim hay cn goi la biu d
lop phn tich
Giai doan construction xy dung biu d
lp (class diagram) chi tit hay cn goi la
biu d lop thit k (design class diagram)
Biu d lop nhu th la mt buoc chi tit hoa
m hinh khai nim
128
7-Aug-07 Phan tich va thit k h thng huong di tuong 255
Biu d lp (8)
Nguyn Thanh Bnh
Khoa Cng Ngh Thng Tin
Truong Dai hoc Bach khoa, Dai hoc Da Nng
7-Aug-07 Phan tich va thit k h thng huong di tuong 256
Biu d lop
Biu d lop dinh ngha:
Cac lp (class)
Cac thuc tnh (attribut) cua lop: cac bin va kiu
cua chung
Cac thao tc (operation) cua lop: cac phuong thuc
(method), cac tham di va co th gia tri tra v
Cac quan h giua cac lop
129
7-Aug-07 Phan tich va thit k h thng huong di tuong 257
Biu d lop
Biu d lop co cung quy tc cu phap voi m hinh khai
nim
Thuc ra, m hinh khai nim su dung cac cu phap cua biu d lop
trong UML
Tt ca cc k hiu v quy tc (d trinh bay) di vi m hnh khi
nim du duc su dng d xy dng biu d lp
Biu d lop duoc xy dung dua trn m hinh khai nim
Cac lp co th chu yu la cac khi nim hoc cac thnh
phn khc
Biu d lop s la nn tang cho buoc m hoa
7-Aug-07 Phan tich va thit k h thng huong di tuong 258
Biu d lop
Di voi biu d lop, mi thuc tinh hay mi
phuong thuc co th co thm muc kha kin kha
nng nhin thy (visibility)
Ki hiu
- mc ring (priviate), thuc tinh hay phuong thuc
ch duoc nhin thy boi di tuong cua lop do
# mc bao v (protected), thuc tinh hay phuong
thuc ch duoc nhin thy boi di tuong cua lop do va di
tuong cua cac lop thua k lop do
+ mc chung (public), thuc tinh hay phuong thuc
ch duoc nhin thy boi di tuong cua tt ca cac lop
130
7-Aug-07 Phan tich va thit k h thng huong di tuong 259
Biu d lop
Vi du
Shape
- origin : Point
+ setOrigin(p : Point)
+ getOrigin() : Point)
+ move(p : Point)
+ resie(s : Scale)
+ display()
# pointInShape(p : Point) : Boolean
Tn lop
Thuc tinh
Phuong thuc
7-Aug-07 Phan tich va thit k h thng huong di tuong 260
Biu d lop
Thuc tinh dn xut (derived attribut) la cac thuc tinh cua
biu d lop ma co th suy ra tu cac thuc tinh khac.
Ki hiu: thuc tinh dn xut bt du boi /, mt rang buc
co th di km d giai thich su dn xut
Vi du
Person
name
birthDate
/ age
Thuc tinh dn xut
age CurrentDate birthDate
Rang buc
131
7-Aug-07 Phan tich va thit k h thng huong di tuong 261
Biu d lop
Cac quan h giua cac lop
Quan h kt hop (association)
Quan h chuyn bit hoa/tng quat hoa
(specialiation/generaliation)
Quan h hop thanh (composition)
Quan h kt tp (agregation)
Quan h phu thuc (dependence)
7-Aug-07 Phan tich va thit k h thng huong di tuong 262
Biu d lop
Quan h kt hop (association)
Quan h chuyn bit hoa/tng quat hoa
(specialiation/generaliation)
MtHang QuyHang
1
Chua
Quan h kt hop
NguoiQuanLy NguoiBanHang
Quan h tng quat hoa
NhnVin
132
7-Aug-07 Phan tich va thit k h thng huong di tuong 263
Biu d lop
Quan h kt tp (agregation)
Quan h hop thanh (composition)
DanhMucMtHang
MtHang

1
Quan h
Company
Person

0..
Quan h
7-Aug-07 Phan tich va thit k h thng huong di tuong 26+
Biu d lop
Quan h phu thuc (dependence): m ta mt lop
ph thuc vao lop khac
Vi du
Point Circle
Quan h phu thc
center : Point
133
7-Aug-07 Phan tich va thit k h thng huong di tuong 265
Biu d lop
Vi du: chuyn di m hnh khi nim thnh
biu d lp
Gia su m hinh khai nim
ThanhToan
ThanhToanBngTinMt ThanhToanBngTh
PhinBanHang
1 1 thanh toan
7-Aug-07 Phan tich va thit k h thng huong di tuong 266
Biu d lop
Chi tit cac thuc tinh
ThanhToan
tng : Integer
ThanhToanBngTinMt ThanhToanBngTh
PhinBanHang
1 1 thanh toan
134
7-Aug-07 Phan tich va thit k h thng huong di tuong 267
Biu d lop
Chi tit cac phuong thuc
ThanhToan
tng : Integer
ThanhToanBngTinMt
nhnTin()
ThanhToanBngTh
truVaoTh()
PhinBanHang
tinhTng() : Integer
1 1 thanh toan
7-Aug-07 Phan tich va thit k h thng huong di tuong 268
Biu d lop
Xac dinh cac muc kha kin
ThanhToan
# tng : Integer
ThanhToanBngTinMt
+ nhnTin()
ThanhToanBngTh
+ truVaoTh()
PhinBanHang
+ tinhTng() : Integer
1 1 thanh toan
135
7-Aug-07 Phan tich va thit k h thng huong di tuong 269
Biu d lop
Bai tp 1: Trung tm dao tao tin hoc
Cn xy dung phn mm quan ly dao tao o mt trung tm tin hoc tu nhn.
Mt chuyn d/mn hoc duoc m ta boi mt s thng tin nhu tn, thoi
luong, . Mi chuyn d co th duoc mo nhiu khoa trong mt nm. Mi
khoa mang mt s thng tin nhu ngay bt du, gia, . Mt khoa hoc
thuong duoc day boi nhiu giao vin, trong do co mt giao vin chiu trach
nhim chinh. Mi giao vin day nhiu khoa trong mt nm. Phn mm
cn ghi nhn s gio day mi giao vin. Mi giao vin co mt vai thng tin
ca nhn, nhu tn, dia ch, . Mi khoa hoc co mt s hoc vin. Hoc vin
gm hai loai: cac hoc vin tu do va cac hoc vin la nhn vin cac cng ty
di tac. Mi hoc vin co mt s thng tin ca nhn, nhu tn, dia ch, .
Nu hoc vin la nhn vin cac cng ty di tac cn ghi nhn thm tn va
dia ch cng ty. Phn mm cn quan ly ring r (dc bit la vic thu tin)
cua hai loai hoc vin trn.
Xy dung biu d lop.
7-Aug-07 Phan tich va thit k h thng huong di tuong 270
Biu d lop
Bai tp 2: Cng ty XXX co mt h thng nha hang XXX chuyn
cung cp com hp tai nha.
Chi tit m hinh khai nim d xy dung bng cach thm cac thuc
tinh
136
7-Aug-07 Phan tich va thit k h thng huong di tuong 271
Biu d tuong tc (9)
Nguyn Thanh Bnh
Khoa Cng Ngh Thng Tin
Truong Dai hoc Bach khoa, Dai hoc Da Nng
7-Aug-07 Phan tich va thit k h thng huong di tuong 272
Biu d tuong tac
Biu d tuong tac m ta hnh vi cua h thng
Mi biu d tuong tac tuong ung mt tc v duc
thc hin boi mt s cc di tung
Biu d tuong tac xy dung dua trn nn tang cua
biu d hoat dng va biu d trang thai
Biu d tuong tac m ta cac hanh dng cua cac
di tuong d thuc hin mt tac vu. Cac hanh dng
cua di tuong bao gm:
gui cc thng dip (message) giua cac di tuong
to (create) va huy (destroy) cac di tuong
137
7-Aug-07 Phan tich va thit k h thng huong di tuong 273
Biu d tuong tac
Co hai loai biu d tuong tac:
Biu d tun tu
Biu d cng tac
7-Aug-07 Phan tich va thit k h thng huong di tuong 27+
Biu d tun tu
Biu d tun tu (sequence diagram) biu din su
tuong tac giua cac di tuong bng vic nhn manh
thu tu trao di thng dip giua cac di tuong
Biu d tun tu gm:
cac di tuong
cac thng dip trao di giua cac di tuong
138
7-Aug-07 Phan tich va thit k h thng huong di tuong 275
Biu d tun tu
Mi di tung co mt duong sinh tn (liIeline) biu din thoi gian tn
tai cua no.
Ki hiu
object object:Class :Class
Di tuong
Duong sinh tn
7-Aug-07 Phan tich va thit k h thng huong di tuong 276
Biu d tun tu
Thoi gian hoat dng (activation) la thoi gian
ma di tuong dang thuc hin mt thao tac
Ki hiu
object
Thoi gian hoat dng
139
7-Aug-07 Phan tich va thit k h thng huong di tuong 277
Biu d tun tu
Mt thng dip dc ta trao di giua cac di
tuong
Cac loai thng dip
Goi (call)
Tra v (return)
Gui (send)
Tao (create)
Huy (destroy)
7-Aug-07 Phan tich va thit k h thng huong di tuong 278
Biu d tun tu
Thng dip goi goi mt phuong thuc/thao tac trn di
tuong
Di tuong goi phai doi thng dip duoc thuc hin kt thuc moi co
th thuc hin cng vic khac (thng dip dng b)
Mt di tuong co th gui thng dip cho chinh no
Ki hiu object A object B
message()
object
Gui thng dip goi Gui cho chinh no
140
7-Aug-07 Phan tich va thit k h thng huong di tuong 279
Biu d tun tu
Thng dip tra v tra v mt gia tri cho di
tuong goi
Ki hiu
Object A Object B
message()
Thng dip tra v
value
7-Aug-07 Phan tich va thit k h thng huong di tuong 280
Biu d tun tu
Thng dip gui gui mt tin hiu dn mt di tuong
Khac voi thng dip goi, khi di tuong gui thng dip gui no
khng cho doi, ma tip tuc thuc hin cng vic khac (thng dip
khng dng b)
Ki hiu
object A object B
message()
Thng dip gui
141
7-Aug-07 Phan tich va thit k h thng huong di tuong 281
Biu d tun tu
Thng dip tao goi phuong thuc tao mt di tuong
Thng dip huy goi phuong thuc huy mt di tuong
Ki hiu
object A
object B
create
Thng dip tao
destroy
Thng dip huy
7-Aug-07 Phan tich va thit k h thng huong di tuong 282
Biu d tun tu
Vi du
:A
:B
create msg1
msg2
msg3
public class A
{
private B objB;
public void msg1{)
{
objB = new B{);
objB.msg2{);
objB.msg3{);
}
}
public class B
{
.
public void msg2{) { . }
public void msg3{) { . }
}
142
7-Aug-07 Phan tich va thit k h thng huong di tuong 283
Biu d tun tu
Mt thng dip co th duoc gui lp nhiu
ln
Ki hiu
object A
1..10message()
Gui lp thng dip 10 ln
object B
for(i = 1; i<= 10; i++)
{
objectB.message()
)
7-Aug-07 Phan tich va thit k h thng huong di tuong 28+
Biu d tun tu
Mt thng dip co th duoc gui lp nhiu
ln phu thuc vao mt diu kin
Ki hiu
object A
Cmessage()
Gui lp thng dip trong khi C dung
object B
while(C)
{
objectB.message()
)
143
7-Aug-07 Phan tich va thit k h thng huong di tuong 285
Biu d tun tu
Mt thng dip co th duoc gui phu thuc
vao diu kin r nhanh
Ki hiu
object A
Cmessage()
object B
if(C)
objectB.message();
else
objectC.message();
object C
not Cmessage()
7-Aug-07 Phan tich va thit k h thng huong di tuong 286
Biu d tun tu
Mt thng dip co th duoc goi d quy
Ki hiu
print()
Thng dip d quy
:BinaryTree
print()
144
7-Aug-07 Phan tich va thit k h thng huong di tuong 287
Biu d tun tu
Vi du
:TaiLiu :MayFax
goi()
:DyDinThoai
nhcMay()
bmS(s)
gui(trang)
chuyn(trang)
dKtNi
mMoi
dKtNi
7-Aug-07 Phan tich va thit k h thng huong di tuong 288
Biu d tun tu
Vi du
:NguoiBan :MayTinhTin
thanhToan(sTin)
:PhinBanHang
thanhToan(sTin)
thanhToan(sTin)
:ThanhToan
tinDu
tinDu
traTinDu()
create
destroy
145
7-Aug-07 Phan tich va thit k h thng huong di tuong 289
Biu d tun tu
Giua biu d tuong tac va biu d lop va co mi quan h
cht ch voi nhau
Vi du
MayTinhTin
moThanhToan()
PhinBanHang
thanhToan()
:MayTinhTin :PhinBanHang
thanhToan(sTin) moThanhToan(sTin)
7-Aug-07 Phan tich va thit k h thng huong di tuong 290
Biu d tuong tac
Co hai loai biu d tuong tac:
Biu d tun tu
Biu d cng tac
146
7-Aug-07 Phan tich va thit k h thng huong di tuong 291
Biu d cng tac
Biu d cng tac (collaboration diagram) m ta su tuong
tac giua cac di tuong bng vic nhn manh cu truc kt
hop giua cac di tuong va nhung thng dip trao di giua
chung
Biu d cng tac la su mo rng cua biu d di tuong
Biu d cng tac ch ra
thu tu gui cac thng dip: mi thng dip duoc gan mt s tun tu
diu kin gui cac thng dip
7-Aug-07 Phan tich va thit k h thng huong di tuong 292
Biu d cng tac
Cu truc thng dip duoc m ta dang tng quat nhu sau:
precondition / condition sequence ,, iteration : result : message(parameters)
precondition /: danh sach s tun tu cua cac thng dip truoc thng dip
cn gui. Thng dip ch duoc gui di khi tt ca cac thng dip truoc no d
duoc gui di.
condition: thng dip ch duoc gui di khi diu kin duoc thoa mn.
sequence: s tun tu cua thng dip cn gui. Vi du, vic gui thng dip
1.3.5 theo sau vic gui thng dip 1.3.4, ca hai thng dip nay nm trong
lung 1.3.
: ch ra thng dip duoc gui di nhiu ln mt cach tun tu.
,,: ch ra thng dip duoc gui di nhiu ln mt cach dng thoi.
iteration: ch ra s ln gui thng dip mt cach tun tu hoc dng thoi
result: ch ra gia tri tra v cua thng dip.
message: tn thng dip
parameters: danh sach cac tham s cua thng dip.
147
7-Aug-07 Phan tich va thit k h thng huong di tuong 293
Biu d cng tac
Vi du
4 : hello() : thng dip co s tun tu la 4.
time 12h] 1 : lunch() : thng dip nay ch duoc gui
di nu la luc 12h.
1.3.5 ` call() : thng dip nay duoc gui di nhiu ln.
3 / `[[ i: 1..5] 1.2 : close() : thng dip nay duoc gui
di nm ln mt cach dng thoi va sau thng dip s 3.
1.2, 2.3 / t < 10] 3.1 name getName() : thng dip
nay duoc gui di sau cac thng dip 1.2, 2.3 va voi diu
kin t10.
7-Aug-07 Phan tich va thit k h thng huong di tuong 29+
Biu d cng tac
Vi du biu d cng tac
:NguoiBan
:HThng
:PhinBanHang
:ThanhToan
1 : thanhToan(sTin)
2 : traTinDu()
1.2 tinDu()
1.1 : thanhToan(sTin)
1.1.1 : create
1.1.2 : thanhToan(sTin)
1.1.4 : desstroy
1.1.3 : tinDu()
148
7-Aug-07 Phan tich va thit k h thng huong di tuong 295
Biu d tuong tac
Bai tp 1: May rut tin ATM
Xy dung biu d tun tu cho ca su dung rut tin trong
truong hop thanh cng
Xy dung biu d tun tu cho ca su dung xem s tin
du trong tai khoan
7-Aug-07 Phan tich va thit k h thng huong di tuong 296
Biu d gi (10)
Nguyn Thanh Bnh
Khoa Cng Ngh Thng Tin
Truong Dai hoc Bach khoa, Dai hoc Da Nng
149
7-Aug-07 Phan tich va thit k h thng huong di tuong 297
Biu d goi
Mt goi (package) nhom cac lop lin quan lai voi nhau
(tuong tu khai nim thu muc trong h diu hanh)
Ki hiu
GUI
Goi chua cac lop lin quan
dn Graphical User InterIace
7-Aug-07 Phan tich va thit k h thng huong di tuong 298
Biu d goi
Biu d goi (package diagram) m ta cac cac goi va quan
h giua chung
Ki hiu
Goi
Lop
Phu thuc
Subsystem 1
Subsystem 2
150
7-Aug-07 Phan tich va thit k h thng huong di tuong 299
Biu d goi
Tao sao phai goi
Chia cac h thng lon thanh h thng con d d quan ly
Cho phep phat trin lp dng thoi
Nguyn tc dong goi
Su c kt (cohesion) cao: tinh c kt th hin cac lop trong cung
mt goi phai hop tac cung nhau, huong toi cung muc dich
Su moc ni (coupling) kem: la su rang buc anh huong nhau giua
cac goi. Su moc ni giua cac goi cang long lo cang tt.
7-Aug-07 Phan tich va thit k h thng huong di tuong 300
Biu d goi
Vi du
Domain
DB InterIace
Orders Clients
User InterIace
151
7-Aug-07 Phan tich va thit k h thng huong di tuong 301
Biu d trin khai (11)
Nguyn Thanh Bnh
Khoa Cng Ngh Thng Tin
Truong Dai hoc Bach khoa, Dai hoc Da Nng
7-Aug-07 Phan tich va thit k h thng huong di tuong 302
Biu d trin khai
Biu d trin khai (deployment diagram) ch ra su tuong
ung giua cac phn tu phn mm va cac phn tu phn cung
cua h thng
Biu d trin khai gm:
Cac nt (node), biu din cac don vi xu ly
Cac thnh phn (component) biu din cac phn tu phn mm
Cac kt ni (connection) ch ra kt ni vt ly giua cac nut
152
7-Aug-07 Phan tich va thit k h thng huong di tuong 303
Biu d trin khai
Ki hiu va vi du
:Processing
:Database
:InterIace
Terminal
Server
TCP/IP
Nut
Thanh phn Kt ni
7-Aug-07 Phan tich va thit k h thng huong di tuong 30+
M ha (12)
Nguyn Thanh Bnh
Khoa Cng Ngh Thng Tin
Truong Dai hoc Bach khoa, Dai hoc Da Nng
153
7-Aug-07 Phan tich va thit k h thng huong di tuong 305
M hoa
Lp trinh huong di tuong
Sinh m
Chuyn cac m hinh thit k sang m chuong
trinh huong di tuong
7-Aug-07 Phan tich va thit k h thng huong di tuong 306
Lp trinh huong di tuong
Lp trinh thu tuc: C, Pascal, .
Du liu
Ham 1
Ham 3
Ham 2
154
7-Aug-07 Phan tich va thit k h thng huong di tuong 307
Lp trinh huong di tuong
Lp trinh huong di tuong: C, Java, .
Du liu
Thao tac trn du liu
Du liu
Thao tac trn du liu
Du liu
Thao tac trn du liu
Thng dip
Thng dip
7-Aug-07 Phan tich va thit k h thng huong di tuong 308
Lp trinh huong di tuong
Lp trinh huong di tuong: C, Java
Dinh ngha lop
Thuc tinh
Phuong thuc
Constructor va Destructor
Thua k
Lop truu tuong va giao din
155
7-Aug-07 Phan tich va thit k h thng huong di tuong 309
Lp trinh huong di tuong
Dinh ngha lop trong C
class User {
[private:]
string name;
int age;
public:
User(string n, int a):name(n), age(a) {}
string getName() {return name;}
int getAge() {return age;}
void setName(string n) {name = n;}
void setName(int a) {age = a;}
void print();
.
};
void User::print(){
cout << "name: " << name << " age: " << age << endl;
}
.
User u(" Nguyen Van A ", 35);
User* p = new User( " Nguyen Van A ", 35 ); /*phai su dung delete p;*/
7-Aug-07 Phan tich va thit k h thng huong di tuong 310
Lp trinh huong di tuong
Dinh ngha lop trong Java
class User {
private String name;
private int age;
public User(String n, int a) {name = n; age = a;}
public String getName() {return name;}
public int getAge() {return age;}
public void setName(String n) {name = n;}
public void setName(int a) {age = a;}
public void print(){
System.out.println( "name: " + name + " age: " + age );
}
.
}
.
User u = new User ("Nguyen Van A", 35 );
156
7-Aug-07 Phan tich va thit k h thng huong di tuong 311
Lp trinh huong di tuong
Constructor va Destructor trong C
Constructor la phuong thuc khoi gan gia tri cho cac thuc tinh
Destructor la phuong thuc giai phong b nho
Destructor la bt buc khi co thuc tinh la con tro va co su cp
phat b nho
class X {};
class Y {
X* p;
public: Y( X* q ) : p( new X(*q) ) {}
~Y(){ delete p; }
};
Constructor
Destructor
7-Aug-07 Phan tich va thit k h thng huong di tuong 312
Lp trinh huong di tuong
Constructor va Destructor trong Java
Co constructor nhung khng co destructor
Khng co con tro
Khng co cp phat b nho
157
7-Aug-07 Phan tich va thit k h thng huong di tuong 313
Lp trinh huong di tuong
Thua k trong C
C cho phep da thua k
class StudentUser : public User {
string schoolEnrolled;
public: StudentUser(string n, int a, string school) : User(n, a){
schoolEnrolled = school;
}
void print() {
User::print();
cout << "School Enrolled: " << schoolEnrolled << endl;
}
};
class StudentUser : public User, public Student { . };
7-Aug-07 Phan tich va thit k h thng huong di tuong 31+
Lp trinh huong di tuong
Thua k trong Java
Java khng cho phep da thua k
class StudentUser extends User {
private String schoolEnrolled;
public StudentUser( String n, int a, String school ) {
super(n, a);
schoolEnrolled = school;
}
public void print() {
super.print();
System.out.print( " School: " + schoolEnrolled );
}
}
158
7-Aug-07 Phan tich va thit k h thng huong di tuong 315
Lp trinh huong di tuong
Lop truu tuong va giao din
C va Java du cho phep dinh ngha lop truu tuong
Java co khai nim giao din, C thi khng
Boi vi C cho phep da thua k
Java khng cho phep da thua k, nhung cho phep thua k tu mt lop
va cai dt nhiu giao din
Giao din gn ging lop truu tuong
Shape
Circle Rectangle
Lop truu tuong
7-Aug-07 Phan tich va thit k h thng huong di tuong 316
Lp trinh huong di tuong
Lop truu tuong trong C
Lop truu tuong trong Java
class Shape {
public:
virtual double area( ) = 0;
virtual double circumference() = 0;
....
}
abstract class Shape {
abstract public double area( );
abstract public double circumference();
....
}
159
7-Aug-07 Phan tich va thit k h thng huong di tuong 317
Lp trinh huong di tuong
Giao din trong Java
Thay th da thua k
interface MyInterface {
public double area( );
public double circumference();
.
}
class MyClass implements MyInterface {
// ci dt cc phuong thuc khai bo trong MyInterface
}
class MyClass extends SuperClass implements MyInterface1, MyInterface2{
// ci dt cc phuong thuc khai bo trong MyInterface1 , MyInterface2
}
7-Aug-07 Phan tich va thit k h thng huong di tuong 318
Sinh m
Chuyn cac m hinh thit k sang m chuong
trinh (C, Java, .)
M chuong trinh huong di tuong
Dinh ngha cac lop va giao din
Dinh ngha cac phuong thuc
Cac biu d lp s duoc chuyn sang m chuong
trnh d|nh nghia cc lp tuong ung
Cac biu d tuong tc s duoc chuyn thanh m
chuong trnh d|nh nghia cc phuong thc
Cac biu d khac s h tro cho qua trinh m hoa
160
7-Aug-07 Phan tich va thit k h thng huong di tuong 319
Sinh m
Vi du: biu d lop
ListOIOrders
datePlaced
clientID
total() : double
OneOrder
quantity: Integer
subtotal() : double
AirPlane
price : Iloat
getPrice() : Iloat
1
1..

1
contains orderListe
7-Aug-07 Phan tich va thit k h thng huong di tuong 320
Sinh m
M lop OneOrder
OneOrder
quantity: Integer
subtotal() : double
public class OneOrder
{
public double subtotal()
{
}
private int quantity;
}
161
7-Aug-07 Phan tich va thit k h thng huong di tuong 321
Sinh m
M lop OneOrder
public class OneOrder
{
public double subtotal()
{
}
private int quantity;
private AirPlane airPlane;
}
OneOrder
quantity: Integer
subtotal() : double
AirPlane
price : Iloat
getPrice() : Iloat

1
contains
7-Aug-07 Phan tich va thit k h thng huong di tuong 322
Sinh m
M lop ListOfOrders
public class ListOfOrder
{
public double total()
{
}
private Date datePlaced;
private int clientID;
private Vector orderList;
}
ListOIOrders
datePlaced
clientID
total() : double
OneOrder
quantity: Integer
subtotal() : double
1
1..
orderListe
162
7-Aug-07 Phan tich va thit k h thng huong di tuong 323
Sinh m
Biu d cng tac thuc hin phuong thuc total()
:ListOIOrders :OneOrder
:AirPlane
1 : total() 2 : Ior each subtotal()
3 : getPrice()
7-Aug-07 Phan tich va thit k h thng huong di tuong 32+
Sinh m
M phuong thuc total()
:ListOIOrders :OneOrder
:AirPlane
1 : total() 2 : Ior each subtotal()
3 : getPrice()
public double total()
{
}
163
7-Aug-07 Phan tich va thit k h thng huong di tuong 325
Sinh m
M phuong thuc total()
:ListOIOrders :OneOrder
:AirPlane
1 : total() 2 : Ior each subtotal()
3 : getPrice() public double total()
{
double sum = 0;
for (int i=0; i<orderList.size(); i++)
sum += orderList.elementAt(i).subtotal();
return sum;
}
7-Aug-07 Phan tich va thit k h thng huong di tuong 326
Sinh m
M phuong thuc subTotal()
:ListOIOrders :OneOrder
:AirPlane
1 : total() 2 : Ior each subtotal()
3 : getPrice()
public double subtotal()
{
return (quantity * airplane.getPrice());
}
164
7-Aug-07 Phan tich va thit k h thng huong di tuong 327
Sinh m
M phuong thuc getPrice()
:ListOIOrders :OneOrder
:AirPlane
1 : total() 2 : Ior each subtotal()
3 : getPrice()
public float getPrice()
{
return price;
}
7-Aug-07 Phan tich va thit k h thng huong di tuong 328
Cng cu
Phn mm Rational Rose, Poisedon for
UML, Umbrello
Thit k cac biu d UML
Sinh m chuong trinh
C
Java
VB
Ada
165
7-Aug-07 Phan tich va thit k h thng huong di tuong 329
Ung dng (13)
Nguyn Thanh Bnh
Khoa Cng Ngh Thng Tin
Truong Dai hoc Bach khoa, Dai hoc Da Nng
7-Aug-07 Phan tich va thit k h thng huong di tuong 330
Vn d
Vn d rt don gian, nhm m ta cac buoc phn tich va
thit k mt cach chi tit
Trich dn tu tai liu Appliying UML ang Patterns cua
Claig Larman
Xy dung chuong trinh tr choi suc sc: nguoi choi tung
hai con suc sc 10 ln, nu mi ln tung tng s hai con
suc sc la 7, nguoi choi ghi duoc 10 dim. Kt thuc cuc
choi, s dim cua nguoi choi duoc ghi vao bang dim
thanh tich cua nhung nguoi choi.
166
7-Aug-07 Phan tich va thit k h thng huong di tuong 331
Phn tich va thit k
Xac dinh cac chuc nng cn thit
Biu d ca su dung
Play: nguoi choi tung hai con suc sc 10 ln, nu mi
ln tung tng s hai con suc sc la 7, nguoi choi ghi
duoc 10 dim.
View High Score: nguoi choi xem s dim cua minh.
Play
View High Score Player
7-Aug-07 Phan tich va thit k h thng huong di tuong 332
Phn tich va thit k
Biu d hoat dng
M ta cac xu ly chung va cac giao tip giua nguoi su dung va h
thng
Mt s cac hoat dng duoc lin kt voi cac mu giao din su dung
167
7-Aug-07 Phan tich va thit k h thng huong di tuong 333
Phn tich va thit k
Biu d hoat dng
View High Score Play
Roll dice
Turn < 10
[true]
[view]
[play]
[exit]
[false]
Update High Score
7-Aug-07 Phan tich va thit k h thng huong di tuong 33+
Phn tich va thit k
Giua cac ca su dung va cac hoat dng co mi quan h voi
nhau
Play
View High Score
Player
Menu
View High Score Play
Roll dice
Turn < 10
[true]
[view]
[play]
[exit]
[false]
Update High Score
168
7-Aug-07 Phan tich va thit k h thng huong di tuong 335
Phn tich va thit k
M hinh khai nim
Cac khai nim: Player, Die, DiceGame, HighScore
PIayer Die
DiceGame
HighScore
1 2
1
1
1
2
1
1
rolls
includes
plays
scoring
7-Aug-07 Phan tich va thit k h thng huong di tuong 336
Phn tich va thit k
Biu d cng tac
:DiceGame :Player
d1:Die
d2:Die
1: play()
2
: r
o
lls
(
)
3
: ro
lls
(
)
169
7-Aug-07 Phan tich va thit k h thng huong di tuong 337
Phn tich va thit k
M hinh khai nim chi tit thanh biu d lop
+play()
-name
-score : int = 0
PIayer
+rolls()
-faceValue : int = 1
Die
DiceGame
HighScore
1
2
1
1
1
2
1
1
rolls
includes
plays
scoring
7-Aug-07 Phan tich va thit k h thng huong di tuong 338
Phn tich va thit k
Quan h giua biu d cng tac va biu d lop
+play()
-name
-score : int = 0
PIayer
+rolls()
-faceValue : int = 1
Die
DiceGame
HighScor
1
2
1
1
1
2
1
1
rolls
includes
plays
scoring
:DiceGame :Player
d1:Die
d2:Die
1: play()
2
: ro
lls
()
3
: ro
lls
()
170
7-Aug-07 Phan tich va thit k h thng huong di tuong 339
Phn tich va thit k
Biu d tun tu
:DiceGam :Player d1:Die d2:Die
1: play()
2: rolls()
3: rolls()
7-Aug-07 Phan tich va thit k h thng huong di tuong 3+0
Phn tich va thit k
Biu d tun tu
Chung ta m ta chi tit hon vic tao ra cac di tuong khi bt du
chuong trinh
:DiceGame :Player d1:Die d2:Die
:RealPlayer
1: DiceGame()
2: Die()
3: Die()
4: start()
Player(name)
171
7-Aug-07 Phan tich va thit k h thng huong di tuong 3+1
Phn tich va thit k
Biu d trang thai
M ta cac trang thai cua mt van choi
Ready to Play
exit
start game
Player ready
start
n progress
play
rolls die [turn < 10]
cancel
[turn >= 10]
cancel
7-Aug-07 Phan tich va thit k h thng huong di tuong 3+2
Phn tich va thit k
Su khng tuong thich giua biu d trang thai va biu d hoat dng
Menu
View High Score Play
Roll dice
Turn < 10
[true]
[view]
[play]
[exit]
[false]
Update High Score
Ready to Play
exit
start game
Player ready
start
n progress
play
rolls die [turn < 10]
cancel
[turn >= 10]
cancel
172
7-Aug-07 Phan tich va thit k h thng huong di tuong 3+3
Phn tich va thit k
Sua di biu d hoat dng
Sua di cac giao din
View High Score Play
Roll dice
Turn < 10
[true]
[view]
[play]
[exit]
[false]
Update High Score
cancel
cancel
7-Aug-07 Phan tich va thit k h thng huong di tuong 3++
Phn tich va thit k
Trong cac buoc thit k, bang dim (High Score) chua duoc xu ly: tao
ra va cp nht High Score, cn b sung
:DiceGame :Player d1:Die d2:Die
:RealPlayer
1: DiceGame()
2: Die()
3: Die()
5: start()
6: Player(name)
:HighScore
4: HighScore()
173
7-Aug-07 Phan tich va thit k h thng huong di tuong 3+5
Phn tich va thit k
Trong cac buoc thit k, bang dim (High Score) chua duoc xu ly: tao
ra va cp nht High Score, cn b sung
:DiceGame :Player d1:Die d2:Die
2: play()
3: rolls()
4: rolls()
:Entry
5: Entry(name, score)
:HighScore
6: add(:Entry)
1: Player()
7-Aug-07 Phan tich va thit k h thng huong di tuong 3+6
Phn tich va thit k
Trong cac buoc thit k, bang dim (High Score) chua duoc xu ly: tao
ra va cp nht High Score, cn b sung
+play()
+Player()()
-name
-score : int = 0
PIayer
+rolls()
+Die()
-faceValue : int = 1
Die
+DiceGame()
+start()
DiceGame
+HighScore()
+add(Entry)()
HighScore
1
2
1
1
1
2
1
1
rolls
includes
plays
scoring
+Entry(name, score)()
-name
-score
Entry
1 *
contains
174
7-Aug-07 Phan tich va thit k h thng huong di tuong 3+7
Phn tich va thit k
Kin truc tng quan
Thit k kin truc 3 tng/lop
Play
View High Score
Trinh din (Presentation)
Ung dung (Application)
CSDL (Data Base)
7-Aug-07 Phan tich va thit k h thng huong di tuong 3+8
Phn tich va thit k
Biu d cac goi tuong ung voi kin truc
UI: ung voi tng trinh din
Core: ung voi tng ung dung
DB: ung voi tng CSDL
Util: chua cac dich vu dung chung
UI
Core
DB
UtiI
175
7-Aug-07 Phan tich va thit k h thng huong di tuong 3+9
Phn tich va thit k
Su dung cac Design Pattern d cai tin biu d lop trong goi Core
Lop DiceGame ch co mt di
tuong duy nht
Lop HighScore ch co mt di
tuong duy nht
Su dung mu thit k: Singleton
+play()
+Player()
-name
-score : int = 0
PIayer
+rolls()
+Die()
-faceValue : int = 1
Die
+DiceGame()
+start()
DiceGame
+HighScore()
+add()
HighScore
1
2
1
1
1
2
1
1
rolls
includes
plays
scoring
+Entry(name, score)()
-name
-score
Entry
1 *
contains
7-Aug-07 Phan tich va thit k h thng huong di tuong 350
Phn tich va thit k
Nhc lai mu thit k Singleton
Ap dung cho cac lop DiceGame va HighScore
Thm vao mt s cac phuong thuc cho cac lop
Singleton
static uniqueSingleton
other attributs .
static instance()
other operations .
return uniqueSingleton;
176
7-Aug-07 Phan tich va thit k h thng huong di tuong 351
Phn tich va thit k
Su dung mu thit k Singleton d cai tin biu d lop goi Core
+play()
+Player()
+display()
-name
-score : int = 0
PIayer
+rolls()
+Die()
+display()
-faceValue : int = 1
Die
+DiceGame()
+start()
+getnstance() : DiceGame
-$dg : DiceGame = null
DiceGame
+HighScore()
+getnstance() : HighScore
+add()
+load()
+save()
-$hs : HighScore = null
HighScore
1 2
-player
1
1
1
-dice
2
rolls
+Entry(name, score)()
-name
-score
Entry
1 *
contains
public static HighScore getnstance{
return HighScore;
}
private static HighScore hs = null;
7-Aug-07 Phan tich va thit k h thng huong di tuong 352
Phn tich va thit k
Su dung mu thit k Observer d cai tin biu d lop goi Core
Nhc lai mu Observer
Subject
attach(o Observer)
dettach(o Observer)
notify()
for all o in observer
o.update()
ConcreteSubject
getState()
setState()
subjectState
Observer
update()
ConcreteObserver
update()
observerState
observer
observerState=
subject.getState()
return subjectState;
subject
177
7-Aug-07 Phan tich va thit k h thng huong di tuong 353
Phn tich va thit k
Su dung mu thit k Observer d cai tin biu d lop goi
Core
Cac lop Die va Player la cac ConcreteSubfect
Su hin thi cac di tuong cua Die va Player la cac
ConcreteObserver
D hin thi cac di tuong cua Die va Player, su dung cac di
tuong Jpanel cua Java, tuc la mt vung cua cua s
7-Aug-07 Phan tich va thit k h thng huong di tuong 35+
Phn tich va thit k
Su dung mu thit k Observer d cai tin biu d lop goi Core
+play()
+Player()
+display()
-name
-score : int = 0
PIayer
+rolls()
+Die()
+display()
-faceValue: int = 1
Die
+notifyObserrvers()
+addObserver()
+...()
-changed: bool = false
ObservabIe
JPaneI
+update(o : Observable, arg : Object)()
interface
Observer
+DieView(die : Die)()
+update(o : Observable, arg : Object)()
DieView
+PlayerView(player : Player)()
+update(o : Observable, arg : Object)()
PIayerView
178
7-Aug-07 Phan tich va thit k h thng huong di tuong 355
Phn tich va thit k
Biu d tun tu m ta su tuong tac
:Die :Ramdomize :DieView
2:setValue()
3:notifyObservers()
1:getValue()
4:update(Observable, Object)
7-Aug-07 Phan tich va thit k h thng huong di tuong 356
Phn tich va thit k
Thit k goi UI
JFrame
+okAction()
HighScoreForm
+MainForm()
+exitAction()
+startAction()
+hscoreAction()
MainForm
+PlayerForm()
+okAction()
+cancelAction()
PIayerForm
+RollForm()
+okAction()
+cancelAction()
RoIIForm
+PlayerView()
+update()
PIayerView
+DieView()
+update()
DieView
+HighScoreView()
+update()
HighScoreView
+update()
interface
Observer
1
2
1
179
7-Aug-07 Phan tich va thit k h thng huong di tuong 357
Phn tich va thit k
Thit k goi Util: chua lop Randomier su dung lop co sn Random
+getnstance()
+getValue()
Randomizer
Random
Singleton
:Player :Die :Randomizer :Random
1:roll()
2:getnstance()
4:Random()
3:Randomizer()
5:getValue()
6:nextnt()
7-Aug-07 Phan tich va thit k h thng huong di tuong 358
Phn tich va thit k
Thit k goi DB
Lam sao d tao ra su dc lp giua goi Core va goi DB, ngha
la co th su dung nhiu loai luu tru du liu khac nhau
Tp tin truy cp tun tu
CSDL thng qua JDBC, .
Su dung mu thit k Factory Method
180
7-Aug-07 Phan tich va thit k h thng huong di tuong 359
Phn tich va thit k
Thit k goi DB
Nhc lai mu thit k Factory Method
Product
Creator
factoryNethod()
anOperation()
ConcreteProduct
CreateCreator
factoryNethod()
<<create>>
* 1
.
product = factoryNethod();
.
return new ConcreteProduct();
7-Aug-07 Phan tich va thit k h thng huong di tuong 360
Phn tich va thit k
Thit k goi DB: biu d lop
+HighScore()
+getnstance() : HighScore
+add()
+load()
+save()
-$hs : HighScore= null
HighScore
+HighScoreJDBC()
+load()
+save()
HighScoreJDBC
+HighScoreFile()
+load()
+save()
HighScoreFiIe
+makeKit()
- :
DBKit
+makeKit()
FiIeKit
+makeKit()
JDBCKit
<<create>>
Luu y: Khng co quan h kt hop giua HighScore va DBKit vi HighScore la lop duoc thit
theo mu Singleton
181
7-Aug-07 Phan tich va thit k h thng huong di tuong 361
Phn tich va thit k
Thit k goi DB: biu d tun tu
:RealPlayer :DiceGame :JDBCKit :HighScoreJDBC
1:JDBCKit()
2:getnstance()
3:DiceGame()
4:makeKit()
5:HighScoreJDBC()
6:load()
7:exit() 8:getnstance()
9:save()
DiceGame sees JDBCKit as DBKit
and HighScoreJDBC as HighScore
Only RealPlayer knows that
he uses JDBCKit, while
DiceGame does not!
7-Aug-07 Phan tich va thit k h thng huong di tuong 362
Phn tich va thit k
Biu d trin khai
Game Computer
JDBC Computer
FiIe System
save/load the high score
Play the game
JDBC Connection
182
7-Aug-07 Phan tich va thit k h thng huong di tuong 363
Phn tich va thit k
Cn tip tuc hoan thin cac biu d lop chi tit phu hop voi
ngn ngu su dung cai dt
Hoan thin tip cac biu d tuong tac
M hoa bng ngn ngu lp trinh
.
Kt lun (14)
183
7-Aug-07 Phan tich va thit k h thng huong di tuong 365
Kt lun
Cac khai nim co ban v huong di tuong
Lich su phat trin cua cac phuong phat phn
tich va thit k huong di tuong
Cac tin trinh phat trin phn mm
7-Aug-07 Phan tich va thit k h thng huong di tuong 366
Kt lun
Cac buoc phat trin h thng huong di
tuong
M hinh hoa yu cu
M hinh hoa khai nim
M hinh hoa cu truc dng
M hinh hoa cu truc tnh
M hoa
Ung dung
184
7-Aug-07 Phan tich va thit k h thng huong di tuong 367
Bai tp lon
Chia nhom tu 3 dn 4 sinh vin
Tu chon d tai
Vi du: h thng quan ly thu vin, h thng dao tao, .
Phn tich va thit k huong di tuong d tai d
chon
Kt qua
Bao cao (20-40 trang)
Np vao ngay thi hoc k
7-Aug-07 Phan tich va thit k h thng huong di tuong 368
Danh gia
Bai tp lon
40
Thi hoc k
60

You might also like