2. HÆ° ng ch c nÄng
D a vĂ o cĂĄc ch c nÄng c a h th ng
H th ng lĂ t p h p cĂĄc ch c nÄng
Chia nh cĂĄc ch c nÄng vĂ lĂ m m n d n
H th ng g m cĂĄc h th ng con
Là m ch ñ ph c t p
CĂĄc ch c nÄng trao ñ i v i nhau b ng
truy n tham s ho c d li u (ch ng h n
bi n toĂ n c c) dĂčng chung
3
HÆ° ng ch c nÄng
PhĂąn c p ch c nÄng
H th ng
Ch c nÄng 1 Ch c nÄng 2
Ch c nÄng 1.1 Ch c nÄng 1.2 Ch c nÄng 2.1 Ch c nÄng 2.2
4
2
3. HÆ° ng ch c nÄng
ÆŻu ñi m
PhĂąn tĂch Ă±Æ° c cĂĄc ch c nÄng c a h th ng
Ă°Æ°a l i k t qu mong ñ i
NhÆ° c ñi m
Ch c nÄng c u trĂșc
Thay ñ i v ch c nÄng khĂł khÄn thay ñ i c u trĂșc
TĂnh m c a h th ng th p
KhĂł tĂĄi s d ng
Chi phĂ s a ch a l i l n
5
HÆ° ng ñ i tÆ° ng
L y ñ i tÆ° ng lĂ m trung tĂąm
H th ng = t p h p cĂĄc ñ i tÆ° ng + quan
h gi a cĂĄc ñ i tÆ° ng
CĂĄc ñ i tÆ° ng trao ñ i b ng thĂŽng ñi p
(message)
KhĂŽng s d ng bi n toĂ n c c
Ă°Ăłng gĂłi
Th a k
6
3
6. Ă° i tÆ° ng : tr ng thĂĄi
Tr ng thĂĄi = t p h p cĂĄc thu c tĂnh
M i thu c tĂnh mĂŽ t m t ñ c tĂnh
T i m t th i ñi m c th , cåc thu c
tĂnh mang cĂĄc giĂĄ tr trong mi n xĂĄc
ñ nh
VĂ d
âą M t chi c xe mĂĄy: mĂ u xanh, 110 cm3,
dream, 12000km, ñ ng yĂȘn, âŠ
11
Ă° i tÆ° ng : hĂ nh vi
HĂ nh vi = t p h p cĂĄc phÆ°ÆĄng th c
PhÆ°ÆĄng th c: lĂ m t thao tĂĄc ho c
Ă±Æ° c th c hi n b i chĂnh nĂł, ho c
th c hi n khi cĂł yĂȘu c u t mĂŽi
trÆ° ng (thĂŽng ñi p t ñ i tÆ° ng khĂĄc)
HĂ nh vi ph thu c vĂ o tr ng thĂĄi
VĂ d :
⹠m t xe måy có cåc hà nh vi: kh i ñ ng,
ch y, âŠ
12
6
7. Giao ti p gi a cĂĄc ñ i tÆ° ng
CĂĄc ñ i tÆ° ng giao ti p v i nhau
G i thÎng ñi p (message) cho nhau
ThÎng ñi p
Ă° i tÆ° ng A Ă° i tÆ° ng B
Cåc lo i thÎng ñi p
âą hĂ m d ng (constructor)
âą hĂ m h y (destructor)
âą hĂ m ch n l a (get)
⹠hà m s a ñ i (set)
âą cĂĄc hĂ m ch c nÄng khĂĄc
13
Ă° i tÆ° ng
Gi a cĂĄc ñ i tÆ° ng cĂł m i liĂȘn k t
(link) v i nhau
VĂ d
Nguy n VÄn A H c Ă° i h c Ă°Ă N ng
14
7
8. L p
L p lĂ khĂĄi ni m dĂčng ñ mĂŽ t m t
t p h p cĂĄc ñ i tÆ° ng cĂł cĂčng m t
c u trĂșc, cĂčng hĂ nh vi vĂ cĂł cĂčng
nh ng m i quan h v i cĂĄc ñ i tÆ° ng
khĂĄc
L p = cĂĄc thu c tĂnh + cĂĄc phÆ°ÆĄng
th c
15
L p
L p lĂ m t bÆ° c tr u tÆ° ng hĂła
TÏm ki m cåc ñi m gi ng nhau, b qua cåc
ñi m khĂĄc nhau c a ñ i tÆ° ng
Person
Name
Age
changeAge
Tr u tÆ° ng hĂła lĂ m gi m ñ ph c t p
16
8
9. L p
Quan h gi a cĂĄc l p: k t h p
M t k t h p lĂ m t t p h p cĂĄc m i
liĂȘn k t gi a cĂĄc ñ i tÆ° ng
h c
Sinh viĂȘn Ă° ih c
17
L p & Ă° i tÆ° ng
Ă° i tÆ° ng lĂ th hi n (instance) c a l p
GiĂĄ tr lĂ th hi n c a thu c tĂnh
LiĂȘn k t lĂ th hi n c a k t h p
L p Ă° i tÆ° ng
Thu c tĂnh GiĂĄ tr
K th p LiĂȘn k t
18
9
10. CĂĄc tĂnh ch t c a HĂ°T
TĂnh ñóng gĂłi (encapsulation)
d li u + x lĂœ d li u = ñ i tÆ° ng
thu c tĂnh + phÆ°ÆĄng th c = l p
ÆŻu ñi m
H n ch nh hÆ° ng khi cĂł s thay ñ i c p
nh t
NgÄn c n s truy c p thĂŽng tin t bĂȘn ngoĂ i
Che d u thĂŽng tin
19
CĂĄc tĂnh ch t c a HĂ°T
TĂnh th a k (inheritance)
M t l p Ă±Æ° c xĂąy d ng t m t ho c nhi u
l p khĂĄc b ng vi c chia s cĂĄc thu c tĂnh vĂ
phÆ°ÆĄng th c
L p con th a k cĂĄc thu c tĂnh vĂ phÆ°ÆĄng
th c t l p cha
T ng quĂĄt hĂła/chuyĂȘn bi t hĂła
âą T ng quĂĄt hĂła (generalization): ñ t cĂĄc tĂnh ch t
chung c a cĂĄc l p khĂĄc nhau vĂ o m t l p cha
âą ChuyĂȘn bi t hĂła (specialization): t o ra m t l p
con cĂł cĂĄc tĂnh ch t riĂȘng t l p cha
20
10
11. CĂĄc tĂnh ch t c a HĂ°T
Ă°ÆĄn th a k : m t l p con ch th a k t m t l p cha duy
nh t
XeĂtĂŽ
ChuyĂȘn bi t hĂła
T ng quĂĄt hĂła
XeKhĂĄch XeT i
L p tr u tÆ° ng hay l p chung: XeĂtĂŽ
L p c th hay l p chuyĂȘn bi t: XeKhĂĄch
L p chuyĂȘn bi t cĂł th thay th l p chung trong t t c
cĂĄc ng d ng. VĂ d : ĂtĂŽ t i lĂ m t ĂŽtĂŽ.
21
CĂĄc tĂnh ch t c a HĂ°T
Ă°a th a k : m t l p con th a k t
nhi u l p cha khĂĄc nhau
Person
Personnel Student
Reseacher Teacher
Phd candidate
22
11
12. CĂĄc tĂnh ch t c a HĂ°T
Ă°a th a k
Ă° ng ñ tĂȘn cĂĄc thu c tĂnh
X Y
a a
Z
ac aX
ac aY
Ă°a th a k khĂŽng Ă±Æ° c ch p nh n b i m t
s ngĂŽn ng : Java
23
CĂĄc tĂnh ch t c a HĂ°T
ÆŻu ñi m c a th a k
PhĂąn lo i cĂĄc l p: cĂĄc l p Ă±Æ° c phĂąn
lo i, s p x p theo m t th b c ñ d
qu n lĂ
XĂąy d ng cĂĄc l p: cĂĄc l p con Ă±Æ° c
xĂąy d ng t cĂĄc l p cha
Ti t ki m th i gian xĂąy d ng, trĂĄnh
l p l i thĂŽng tin
24
12
17. Ca s d ng
CĂąu tr l i: khĂŽng.
T i sao ?
VĂŹ ch ng h n âNh p mĂŁ PINâ khĂŽng ñåp ng m t m c
tiĂȘu nĂ o c a ngÆ° i s d ng.
M c tiĂȘu c a ngÆ° i s d ng lĂ âRĂșt ti nâ, v y ñó nĂȘn
lĂ m t ca s d ng.
33
TĂĄc nhĂąn (Actor)
TĂĄc nhĂąn ñóng vai trĂČ m t ngÆ° i s d ng ho c m t
th c th bĂȘn ngoĂ i tÆ°ÆĄng tĂĄc v i h th ng
VĂ d : C n phĂĄt tri n h th ng tĂnh ti n siĂȘu th
CĂĄc tĂĄc nhĂąn cĂł th lĂ : KhĂĄch hĂ ng, NgÆ° i bĂĄn hĂ ng,
NgÆ° i qu n lĂœ, Kho hĂ ng
C n phĂąn bi t: tĂĄc nhĂąn (actor) vĂ ngÆ° i s d ng
(user)
Nhi u ngÆ° i s d ng cĂł th tÆ°ÆĄng ng m t tĂĄc nhĂąn:
nhi u ngÆ° i bĂĄn hĂ ng khĂĄc nhau ñóng cĂčng vai trĂČ
ñ i v i h th ng
M t ngÆ° i s d ng cĂł th tÆ°ÆĄng ng v i nhi u tĂĄc
nhĂąn khĂĄc nhau: cĂčng m t ngÆ° i cĂł th ñ ng th i
ñóng hai vai trĂČ lĂ ngÆ° i bĂĄn hĂ ng vĂ ngÆ° i qu n lĂœ
34
17
18. TĂĄc nhĂąn
TĂĄc nhĂąn khĂŽng nh t thi t luĂŽn luĂŽn lĂ
con ngÆ° i
TĂĄc nhĂąn cĂł th lĂ mĂŽi trÆ° ng, h
th ng khĂĄc, th c th bĂȘn ngoĂ i tÆ°ÆĄng
tĂĄc v i h th ng
VĂ d
Kho hĂ ng lĂ cĂł th m t cÆĄ s d li u
35
Ă° c t ca s d ng
ð c t ñi n hÏnh c a m t ca s d ng:
Ca s d ng: tĂȘn ca s d ng thÆ° ng b t ñ u b i m t
ñ ng t
CĂĄc tĂĄc nhĂąn: danh sĂĄch cĂĄc tĂĄc nhĂąn liĂȘn quan
MĂŽ t : tĂłm t t cĂĄc x lĂœ c n th c hi n
VĂ d
Ca s d ng: Mua hĂ ng
CĂĄc tĂĄc nhĂąn: KhĂĄch hĂ ng, NgÆ° i bĂĄn hĂ ng
MÎ t : M t khåch hà ng sau khi ñã ch n cåc m t hà ng,
mang gi hĂ ng ñ n qu y thu ti n. NgÆ° i bĂĄn hĂ ng ghi nh n
cĂĄc m t hĂ ng, thĂŽng bĂĄo t ng s ti n, thu ti n vĂ tr ti n
cĂČn l i cho khĂĄch hĂ ng. KhĂĄch hĂ ng mang hĂ ng ñi.
36
18
19. Ă° c t ca s d ng
Ă° c t ca s d ng cĂł th thĂȘm:
Tham chi u (reference) ñ n m c liĂȘn quan trong ñ c t yĂȘu c u
Ă°i u ki n trÆ° c và ñi u ki n sau khi th c hi n ca s d ng
VĂ d
Ca s d ng: Mua hĂ ng
CĂĄc tĂĄc nhĂąn: KhĂĄch hĂ ng, NgÆ° i bĂĄn hĂ ng
Tham chi u: R1.2, R2.3
Ă°i u ki n trÆ° c: NgÆ° i bĂĄn hĂ ng ñã ñÄng nh p thĂ nh cĂŽng.
Ă°i u ki n sau: CĂĄc m t hĂ ng bĂĄn ñã Ă±Æ° c ghi nh n và ñã ghi
nh n thanh toĂĄn ti n.
MÎ t : M t khåch hà ng sau khi ñã ch n cåc m t hà ng, mang gi
hĂ ng ñ n qu y thu ti n. NgÆ° i bĂĄn hĂ ng ghi nh n cĂĄc m t hĂ ng,
thĂŽng bĂĄo t ng s ti n, thu ti n vĂ tr ti n cĂČn l i cho khĂĄch hĂ ng.
Khåch hà ng mang hà ng ñi.
37
Ă° c t ca s d ng
Ngoà i ra, ñ i v i m i ca s d ng ta có th xùy d ng
m t k ch b n (scenario) hà nh ñ ng mÎ t cåc s
ki n x y ra
K ch b n: g m cĂĄc s ki n chĂnh vĂ cĂĄc s ki n
ngo i l
CĂĄc s ki n chia lĂ m hai lu ng
Lu ng tÆ°ÆĄng ng v i cĂĄc tĂĄc nhĂąn
Lu ng tÆ°ÆĄng ng v i h th ng
38
19
20. Ă° c t ca s d ng
CĂĄc s ki n chĂnh
Hà nh ñ ng c a tåc nhùn Hà nh ñ ng c a h th ng
1. M t khĂĄch hĂ ng Ă±Æ°a
hà ng ñã ch n mua ñ n qu y
tĂnh ti n.
2. NgÆ° i bĂĄn hĂ ng ghi nh n 3. XĂĄc ñ nh m t hĂ ng, hi n th
t ng m t hĂ ng. cĂĄc thĂŽng tin vĂ giĂĄ m t hĂ ng.
N u m t m t hĂ ng cĂł s S nĂ y Ă±Æ° c hi n th .
lÆ° ng nhi u hÆĄn m t thĂŹ
ngÆ° i bĂĄn hĂ ng cĂł th nh p
vĂ o m t s .
39
Ă° c t ca s d ng
CĂĄc s ki n chĂnh (ti p)
Hà nh ñ ng c a tåc nhùn Hà nh ñ ng c a h th ng
4. Sau khi ñã ghi nh n t t 5. TĂnh vĂ hi n th t ng s
c cĂĄc m t hĂ ng, ngÆ° i bĂĄn ti n.
hĂ ng bĂĄo hi u k t thĂșc vi c
ghi nh n hĂ ng.
6. NgÆ° i bĂĄn hĂ ng thĂŽng
bĂĄo t ng s ti n ph i tr cho
khĂĄch hĂ ng.
7. KhĂĄch hĂ ng tr ti n cho
ngÆ° i bĂĄn hĂ ng.
40
20
21. Ă° c t ca s d ng
CĂĄc s ki n chĂnh (ti p)
Hà nh ñ ng c a tåc nhùn Hà nh ñ ng c a h th ng
8. NgÆ° i bĂĄn hĂ ng nh p s 9. Hi n th ti n dÆ° vĂ in phi u
ti n khĂĄch hĂ ng tr . bĂĄn hĂ ng
10. NgÆ° i bĂĄn hĂ ng xĂĄc 11. Ghi nh n phiĂȘn bĂĄn hĂ ng.
nh n s tr ti n, l y ti n dÆ°
tr cho khĂĄch hĂ ng vĂ Ă±Æ°a
cho khĂĄch hĂ ng phi u bĂĄn
hĂ ng.
12. KhĂĄch hĂ ng r i qu y
thu ti n v i tĂși hĂ ng
41
Ă° c t ca s d ng
CĂĄc s ki n ph
Hà nh ñ ng c a tåc nhùn Hà nh ñ ng c a h th ng
3. S xĂĄc nh n m t hĂ ng
khĂŽng ñĂșng. Hi n th l i.
7. Khåch hà ng khÎng có ñ
ti n. NgÆ° i bĂĄn hĂ ng h y
b vi c bĂĄn.
LÆ°u Ăœ: ñ nh d ng ñ c t cĂĄc ca s d ng khĂŽng c n
thi t ph i ch t ch .
42
21
22. Ca s d ng giai ño n
Elaboration
Xåc ñ nh cà ng nhi u ca s d ng m t cåch có th
KhÎng ñi và o quå chi ti t, nh m gi m ñ ph c t p
M t mÎ t ng n g n v m i ca s d ng là ñ , có
th b qua ph n k ch b n, tham chi u ñ n ñ c t
yĂȘu c u, ñi u ki n trÆ° c và ñi u ki n sau.
B o ñ m r ng cĂĄc ca s d ng bao quĂĄt h t cĂĄc yĂȘu
c u c a h th ng
43
Bi u ñ ca s d ng
Bi u ñ ca s d ng mÎ t quan h gi a cåc
tĂĄc nhĂąn vĂ cĂĄc ca s d ng c a m t h
th ng.
KĂ hi u
Use case
TĂĄc nhĂąn K t h p ch s
tham gia c a tĂĄc
nhĂąn vĂ o ca s d ng Gi i h n c a
h th ng
44
22
23. Bi u ñ ca s d ng
VĂ d
Ghi nh n
Mua hĂ ng
NgÆ° i bĂĄn hĂ ng
Tr hĂ ng
KhĂĄch hĂ ng
NgÆ° i qu n lĂœ Kh i ñ ng
45
Bi u ñ ca s d ng
CĂĄc tĂĄc nhĂąn cĂł th cĂł quan h th a
k
VĂ d
KhĂĄch hĂ ng
CĂĄ nhĂąn CĂŽng ty
46
23
24. Quan h m r ng
CĂł th x y ra trÆ° ng h p: m t ca s d ng
tÆ°ÆĄng t v i m t ca s d ng khĂĄc, tuy
nhiĂȘn nĂł g m thĂȘm m t s hĂ nh ñ ng
VĂ d
Ca s d ng: Mua hĂ ng b ng th tĂn d ng
CĂĄc tĂĄc nhĂąn: KhĂĄch hĂ ng, NgÆ° i bĂĄn hĂ ng
MÎ t : M t khåch hà ng sau khi ñã ch n cåc m t
hĂ ng, mang gi hĂ ng ñ n qu y thu ti n. NgÆ° i bĂĄn
hĂ ng ghi nh n cĂĄc m t hĂ ng, thĂŽng bĂĄo t ng s ti n.
KhĂĄch hĂ ng Ă±Æ°a th vĂ o mĂĄy vĂ nh p mĂŁ PIN. KhĂĄch
hà ng nh n phi u bån hà ng và mang hà ng ñi.
47
Quan h m r ng
Ca s d ng nĂ y lĂ m t bi n th c a ca s
d ng âmua hĂ ngâ, tuy nhiĂȘn thĂȘm vĂ o cĂĄc
hĂ nh ñ ng liĂȘn quan ñ n tr ti n b ng th
Ca s d ng âmua hĂ ng b ng th tĂn d ngâ
lĂ m t s m r ng c a ca s d ng âmua
hĂ ngâ
48
24
25. Quan h m r ng
KĂ hi u
Mua hĂ ng << extends >> Mua hĂ ng b ng th
Quan h m
r ng
N u m t ca s d ng k t h p v i m t tĂĄc
nhĂąn, thĂŹ t t c cĂĄc ca s d ng m r ng
ñ u k t h p v i tåc nhùn ñó
49
Quan h s d ng
TrÆ° ng h p nhi u ca s d ng chia s cĂčng m t dĂŁy
cĂĄc hĂ nh ñ ng. N u ph n chung lĂ quan tr ng vĂ
hÆ° ng t i m t m c tiĂȘu rĂ” rĂ ng, nhÆ° th ta cĂł th xĂąy
d ng m t ca s d ng riĂȘng
VĂ d : chĂșng ta mu n ch p nh n mua hĂ ng tr ti n
m t l n vĂ mua hĂ ng tr gĂłp
Hai ca s d ng âmua hĂ ng tr ti n m t l nâ vĂ âmua
hĂ ng tr gĂłpâ th c hi n m t dĂŁy cĂĄc hĂ nh ñ ng mĂ cĂł
th Ă±Æ° c mĂŽ t b i ca s d ng âghi nh n cĂĄc m t
hĂ ngâ
50
25
26. Quan h s d ng
Ă° c t c a ca s d ng âghi nh n cĂĄc m t
hĂ ngâ
Ca s d ng: ghi nh n cĂĄc m t hĂ ng
CĂĄc tĂĄc nhĂąn: ngÆ° i bĂĄn hĂ ng, khĂĄch hĂ ng
MÎ t : Khåch hà ng mang cåc m t hà ng ñ n
qu y tĂnh ti n. NgÆ° i bĂĄn hĂ ng ghi nh n cĂĄc
m t hĂ ng vĂ thĂŽng bĂĄo t ng s ti n ph i tr .
51
Quan h s d ng
KĂ hi u
Mua hĂ ng tr
<< use >>
m tl n
Ghi nh n
<< use >> cĂĄc m t hĂ ng
Mua hĂ ng tr gĂłp
Quan h s
d ng
NgÆ° c v i quan h m r ng, cĂĄc ca s d ng trong quan h s d ng khĂŽng
nh t thi t k t h p v i cĂčng tĂĄc nhĂąn.
52
26
27. Cåch xåc ñ nh cåc ca s
d ng
PhÆ°ÆĄng phĂĄp ph ng v n
KhĂł khÄn, vĂŹ hai ngÆ° i khĂĄc nhau Ă±Æ° c
ph ng v n cĂł th Ă±Æ°a ra Ăœ ki n khĂĄc nhau
PhÆ°ÆĄng phĂĄp h i th o (workshop)
T p h p t t c nh ng ai liĂȘn quan ñ n h
th ng ñ th o lu n: cåc nhà tin h c và khåch
hĂ ng (ngÆ° i s d ng)
M i ngÆ° i ñ u Ă±Æ°a ra Ăœ ki n
53
Cåch xåc ñ nh cåc ca s
d ng
CĂĄch ti n hĂ nh h i th o
Li t kĂȘ t t c cĂĄc tĂĄc nhĂąn cĂł th
Li t kĂȘ t t c cĂĄc ca s d ng cĂł th
PhĂąn tĂch, bi n ch ng m i ca s d ng
b ng cĂĄch vi t ra m t mĂŽ t Ă±ÆĄn gi n
MĂŽ hĂŹnh hĂła cĂĄc ca s d ng vĂ tĂĄc
nhĂąn
54
27
28. Cåch xåc ñ nh cåc ca s
d ng
Khuy n khĂch
KhĂŽng nĂȘn c g ng tĂŹm m i ca s
d ng,
âą Trong quĂĄ trĂŹnh phĂĄt tri n cĂĄc ca s d ng
s l di n d n
N u khĂŽng th bi n ch ng cho m t ca
s d ng
⹠Có th ñó khÎng ph i là ca s d ng
55
S p x p cĂĄc ca s d ng
Khi t t c cĂĄc ca s d ng ñã Ă±Æ° c xĂĄc ñ nh
Ti n trĂŹnh phĂĄt tri n g m nhi u bÆ° c l p
M i bÆ° c l p th c hi n thi t k , mĂŁ hĂła vĂ
ki m th ch m t vĂ i ca s d ng
LĂ m sao chia cĂĄc ca s d ng vĂ o cĂĄc bÆ° c
l p?
56
28
29. S p x p cĂĄc ca s d ng
L p1 L p2 L p3 âŠ
A B D
C
CĂĄc ca s d ng
57
S p x p cĂĄc ca s d ng
CĂĄc ca s d ng nĂȘn Ă±Æ° c th c hi n trÆ° c
CĂĄc ca s d ng ch a cĂĄc r i ro/nguy cÆĄ
CĂĄc ca s d ng ki n trĂșc chĂnh
CĂĄc ca s d ng ñĂČi h i nghiĂȘn c u m i,
cĂŽng ngh m i
CĂĄc ca s d ng mĂ khĂĄch hĂ ng quan tĂąm
hÆĄn
58
29
31. BĂ i t p 1
CĂĄc ca s d ng
RĂșt ti n v i th ngĂąn hĂ ng (withdraw by bankcard)
RĂșt ti n v i th VISA (withdraw by VISAcard)
Ki m tra mĂŁ PIN (identify)
Xem s ti n cĂČn trong tĂ i kho n (balance)
B ti n vĂ o tĂ i kho n b ng ngĂąn phi u ho c ti n m t
(deposit)
N p ti n vĂ o mĂĄy (put money)
L y th b nu t trong mĂĄy (get cards)
L y ngĂąn phi u trong mĂĄy (get cheques)
61
BĂ i t p 1
withdraw with VISA card
VISAcard VISA
withdraw with bank card
balance
bankcard bank
deposit
<<include>>
<<extend>> identify
deposit by cheque deposit by cash
62
31
36. Xåc ñ nh cåc khåi ni m
ð xåc ñ nh cåc khåi ni m, d a và o
ñ c t yĂȘu c u, mĂ c th hÆĄn lĂ d a
vĂ o cĂĄc ca s d ng
VĂ d : ca s d ng âmua hĂ ngâ
CĂĄc khĂĄi ni m cĂł th : KhĂĄchHĂ ng,
NgÆ° iBĂĄnHĂ ng, TĂnhTi n, MuaHĂ ng,
M tHĂ ng, âŠ
71
Xåc ñ nh cåc khåi ni m
M ts ng c viĂȘn c a khĂĄi ni m t ñ c t
ho c ca s d ng:
CĂĄc ñ i tÆ° ng v t lĂœ (xe ĂŽtĂŽ)
CĂĄc v trĂ, ñ a ñi m (nhĂ ga)
CĂĄc giao tĂĄc (thanh toĂĄn)
CĂĄc vai trĂČ c a con ngÆ° i (ngÆ° i bĂĄn)
CĂĄc h th ng khĂĄc bĂȘn ngoĂ i (cÆĄ s d li u t xa)
Danh t tr u tÆ° ng (s khĂĄt, Än u ng)
Cåc t ch c (ñ i h c)
CĂĄc s ki n (c p c u)
NguyĂȘn t c/chĂnh sĂĄch
72
36
37. Xåc ñ nh cåc khåi ni m
Cåch khåc ñ xåc ñ nh cåc khåi ni m
CĂĄc danh t vĂ c m danh t trong ñ c t yĂȘu c u
ho c ñ c t ca s d ng có th là cåc khåi ni m
D a vĂ o hi u bi t vĂ kinh nghi m lo i b cĂĄc danh t
vĂ c m danh t khĂŽng lĂ cĂĄc khĂĄi ni m
VĂ d : d a vĂ o k ch b n ca s d ng âmua hĂ ngâ
G ch chĂąn cĂĄc danh t vĂ c m danh t
73
Xåc ñ nh cåc khåi ni m
VĂ d
Hà nh ñ ng c a tåc nhùn Hà nh ñ ng c a h th ng
1. M t khĂĄch hĂ ng Ă±Æ°a
hà ng ñã ch n mua ñ n qu y
tĂnh ti n.
2. NgÆ° i bĂĄn hĂ ng ghi nh n 3. XĂĄc ñ nh m t hĂ ng, hi n th
t ng m t hĂ ng. cĂĄc thĂŽng tin vĂ giĂĄ m t hĂ ng.
N u m t m t hĂ ng cĂł s S nĂ y Ă±Æ° c hi n th .
lÆ° ng nhi u hÆĄn m t thĂŹ
ngÆ° i bĂĄn hĂ ng cĂł th nh p
vĂ o m t s .
74
37
38. Xåc ñ nh cåc khåi ni m
VĂ d
Hà nh ñ ng c a tåc nhùn Hà nh ñ ng c a h th ng
4. Sau khi ñã ghi nh n t t 5. TĂnh vĂ hi n th t ng s
c cĂĄc m t hĂ ng, ngÆ° i bĂĄn ti n.
hĂ ng bĂĄo hi u k t thĂșc vi c
ghi nh n hĂ ng.
6. NgÆ° i bĂĄn hĂ ng thĂŽng
bĂĄo t ng s ti n ph i tr cho
khĂĄch hĂ ng.
7. KhĂĄch hĂ ng tr ti n cho
ngÆ° i bĂĄn hĂ ng.
75
Xåc ñ nh cåc khåi ni m
VĂ d
Hà nh ñ ng c a tåc nhùn Hà nh ñ ng c a h th ng
8. NgÆ° i bĂĄn hĂ ng nh p s 9. Hi n th ti n dÆ° vĂ in phi u
ti n khĂĄch hĂ ng tr . bĂĄn hĂ ng
10. NgÆ° i bĂĄn hĂ ng xĂĄc 11. Ghi nh n phiĂȘn bĂĄn hĂ ng.
nh n s tr ti n, l y ti n dÆ°
tr cho khĂĄch hĂ ng vĂ Ă±Æ°a
cho khĂĄch hĂ ng phi u bĂĄn
hĂ ng.
12. KhĂĄch hĂ ng r i qu y
thu ti n v i tĂși hĂ ng
76
38
40. Xåc ñ nh cåc khåi ni m
L p âMĂŽT â
M tHĂ ng MĂŽT M tHĂ ng
Ă°Æ° c mĂŽ t 1
* mĂŁMH
s XĂȘri tĂȘnMH: text
mĂ uS c giĂĄ
PhÆ°ÆĄng ĂĄn 2 (t t hÆĄn)
79
Xåc ñ nh cåc khåi ni m
L p âMĂŽT â
Khi nĂ o s d ng l p âMĂŽT â
âą Khi c n gi m b t s dÆ° th a, trĂčng l p thĂŽng tin
âą Khi c n mĂŽ t v ñ i tÆ° ng ñ c l p v i cĂĄc ñ i
tÆ° ng c th
âą Khi c n c n duy trĂŹ thĂŽng tin v ñ i tÆ° ng cho dĂč
cĂĄc ñ i tÆ° ng c th b xĂła
80
40
43. Thu c tĂnh
M t thu c tĂnh ch ñ i di n cho cĂĄc d li u liĂȘn quan
ñ n khĂĄi ni m s h u thu c tĂnh ñó
VĂ d
NgÆ° iBĂĄnHĂ ng
tĂȘn
Sai s Qu y
NgÆ° iBĂĄnHĂ ng Qu y
Ă°Ășng tĂȘn s
85
Thu c tĂnh
CĂĄch xĂĄc ñ nh cĂĄc thu c tĂnh
CĂĄc con s vĂ chu i kĂ t lĂ cĂĄc thu c tĂnh
N u m t tĂnh ch t c a m t khĂĄi ni m khĂŽng
th lĂ m Ă±Æ° c ñi u gĂŹ thĂŹ r t cĂł th ñó lĂ
thu c tĂnh
N u nghi ng m t thu c tĂnh lĂ khĂĄi ni m, thĂŹ
Ă±ÆĄn gi n hĂŁy coi ñó lĂ khĂĄi ni m
âą VĂ d : lÆ°ÆĄng lĂ thu c tĂnh hay khĂĄi ni m so v i
khĂĄi ni m cĂŽng nhĂąn ?
âą N u nghi ng ñó lĂ khĂĄi ni m thĂŹ coi nhÆ° lÆ°ÆĄng vĂ
cĂŽng nhĂąn lĂ hai khĂĄi ni m tĂĄch r i
86
43
44. Thao tĂĄc
KhĂĄi ni m cĂł th cĂł cĂĄc thao tĂĄc (operation)
Thao tĂĄc c a khĂĄi ni m chĂnh lĂ kh nÄng
th c hi n c a m t th hi n c a khĂĄi ni m
VĂ d
M tHĂ ngBĂĄn KhĂĄi ni m
ngĂ y
CĂĄc thu c tĂnh
gi B tĂ° u: Time
t ngTi n(): Integer Thao tĂĄc
87
Thao tĂĄc
giai ño n elaboration, mÎ hÏnh khåi ni m
cĂł th khĂŽng nh t thi t ph i mĂŽ t cĂĄc
thao tĂĄc c a khĂĄi ni m
Giai ño n construction s th c hi n cÎng
vi c nà y m t cåch chi ti t và ñ y ñ
88
44
45. K th p
K t h p (association) bi u di n quan h gi a cĂĄc th
hi n c a cĂĄc khĂĄi ni m
VĂ d : k t h p ch a gi a khĂĄi ni m c a hĂ ng vĂ khĂĄi
ni m m t hĂ ng
KĂ hi u
C aHĂ ng Ch a > M tHĂ ng
K th p
89
K th p
CĂł th t n t i k t h p c a nhi u hÆĄn hai khĂĄi ni m
VĂ d
Profession
function
Person work employ Company
90
45
46. K th p
B i s (multiplicity) c a vai trĂČ ch ra s th hi n cĂł
th c a quan h tham gia vĂ o quan h
CĂĄc b i s cĂł th
1: ch ñĂșng m t
1..*: t m t ñ n nhi u
*: t 0 ñ n nhi u
m..n: t m ñ n n
VĂ d
1 Ch a > *
C aHĂ ng M tHĂ ng
91
H n ch k t h p
(qualificator)
Gi m s th hi n tham gia vĂ o m t k t h p
KĂ hi u
A key B
qualificator
M i th hi n A v i giå tr key xåc ñ nh m t t p con cåc
th hi n B tham gia vĂ o k t h p
92
46
47. H n ch k t h p
(qualificator)
VĂ d
PhĂąn bi t cĂĄc sinh viĂȘn h c t i m t ñ i h c d a vĂ o
mĂŁ s sinh viĂȘn
Ă° iH c No sinh viĂȘn SinhViĂȘn
PhĂąn bi t cĂĄc m t hĂ ng thu c vĂ o m t danh m c m t
hĂ ng d a vĂ o mĂŁ s m t hĂ ng
DanhM cM tHĂ ng ID M tHĂ ng
93
ChuyĂȘn bi t hĂła
M t khĂĄi ni m cĂł th v cÆĄ b n gi ng v i m t khĂĄi
ni m khĂĄc, ch cĂł m t vĂ i s khĂĄc nhau trĂȘn m t s
tĂnh ch t (thu c tĂnh, thao tĂĄc, cĂĄc k t h p)
KhĂĄi ni m th nh t Ă±Æ° c g i lĂ chuyĂȘn bi t hĂła
(specialization) c a khĂĄi ni m th hai
KhĂĄi ni m th nh t Ă±Æ° c g i lĂ khĂĄi ni m chuyĂȘn bi t
hĂła (specialized concept), khĂĄi ni m th hai Ă±Æ° c g i
lĂ khĂĄi ni m chung (general concept)
94
47
48. ChuyĂȘn bi t hĂła
KĂ hi u
general concept
specialized concept specialized concept
95
Th a k
KhĂĄi ni m chuyĂȘn bi t hĂła th a k (inheritance) t t c
cĂĄc tĂnh ch t c a c a khĂĄi ni m chung. CĂĄc tĂnh ch t
nĂ y bao g m:
CĂĄc thu c tĂnh
CĂĄc thao tĂĄc
CĂĄc k t h p v i khĂĄi ni m khĂĄc
96
48
49. Th a k
VĂ d
ThanhToĂĄn 1 thanh toĂĄn > 1 PhiĂȘnBĂĄnHĂ ng
t ng: Integer
ThanhToĂĄnB ngTi nM t ThanhToĂĄnB ngTh
CĂĄc khĂĄi ni m âThanhToĂĄnB ngTi nM tâ vĂ
âThanhToĂĄnB ngTh â ñ u cĂł thu c tĂnh ât ngâ vĂ k t
h p âthanh toĂĄnâ v i khĂĄi ni m âPhiĂȘnBĂĄnHĂ ngâ
97
KhĂĄi ni m tr u tÆ° ng
TÆ°ÆĄng t nhÆ° l p, khĂĄi ni m tr u tÆ° ng khĂŽng cĂł cĂĄc
th hi n
ThanhToĂĄn 1 thanh toĂĄn > 1 PhiĂȘnBĂĄnHĂ ng
KhĂĄi ni m tr u tÆ° ng
Ă±Æ° c vi t in nghiĂȘng t ng: Integer
ThanhToĂĄnB ngTi nM t ThanhToĂĄnB ngTh
LÆ°u Ăœ, trong tĂ i li u vi t tay cĂł th vi t {abstract} dÆ° i
tĂȘn khĂĄi ni m tr u tÆ° ng
98
49
50. Quan h h p thĂ nh vĂ quan
h k tt p
Quan h h p thĂ nh (composition) vĂ quan h k t
t p (agregation) là hai k t h p ñ c bi t ch s s
h u
Quan h h p thĂ nh: m t khĂĄi ni m thĂ nh ph n ch
thu c vĂ o m t khĂĄi ni m toĂ n ph n
ToĂ nPh n M tPh n
Quan h k t t p: m t khĂĄi ni m thĂ nh ph n cĂł th
thu c vĂ o nhi u khĂĄi ni m toĂ n ph n
ToĂ nPh n M tPh n
99
Quan h h p thĂ nh vĂ quan
h k tt p
3 1
Point
VĂ d
Triangle Circle
1 Style 1 radius
color
isFilled
M t th hi n c a âPointâ khĂŽng th ñ ng th i thu c
vĂ o m t th hi n c a âTriangleâ vĂ m t th hi n c a
âCircleâ
100
50
52. BĂ i t p 1
XĂąy d ng mĂŽ hĂŹnh khĂĄi ni m c a h
th ng/ph n m m bĂĄn hĂ ng t i siĂȘu th
Ph n m m bĂĄn hĂ ng s d ng t i siĂȘu th
nh m giĂșp ghi nh n ho t ñ ng bĂĄn hĂ ng, x
lĂœ cĂĄc thanh toĂĄn v i khĂĄch hĂ ng. Ph n
m m Ă±Æ° c s d ng b i ngÆ° i bĂĄn hĂ ng vĂ
Ă±Æ° c qu n lĂœ b i ngÆ° i qu n lĂœ siĂȘu th .
Ph n m m nh m t ñ ng hóa cÎng vi c c a
ngÆ° i bĂĄn hĂ ng t i qu y thu ti n.
103
BĂ i t p 1
1
DongHang * MatHang * MoTaMatHang
1
1..* * *
1 1 1
1..* 1 * 1
PhienBanHang CuaHang DanhMucMatHang
1 1 1 1..*
* 1
1 1..* HeThongBanHang
1 1 1
QuayTinhTien
ThanhToan KhĂĄchHĂ ng 1
1
1
NguoiQuanLy
NgÆ° iBĂĄn
NhĂąnViĂȘn
104
52
54. Bi u ñ l p
Bi u ñ l p cĂł cĂčng quy t c cĂș phĂĄp v i mĂŽ hĂŹnh khĂĄi
ni m
Th c ra, mĂŽ hĂŹnh khĂĄi ni m s d ng cĂĄc cĂș phĂĄp c a
bi u ñ l p trong UML
T t c cåc kà hi u và quy t c (ñã trÏnh bà y) ñ i v i
mĂŽ hĂŹnh khĂĄi ni m ñ u Ă±Æ° c s d ng ñ xĂąy
d ng bi u ñ l p
Bi u ñ l p Ă±Æ° c xĂąy d ng d a trĂȘn mĂŽ hĂŹnh khĂĄi
ni m
CĂĄc l p cĂł th ch y u lĂ cĂĄc khĂĄi ni m ho c cĂĄc
thĂ nh ph n khĂĄc
Bi u ñ l p s lĂ n n t ng cho bÆ° c mĂŁ hĂła
107
Bi u ñ l p
Ă° i v i bi u ñ l p, m i thu c tĂnh hay m i phÆ°ÆĄng
th c cĂł th cĂł thĂȘm m c kh ki n â kh nÄng nhĂŹn
th y (visibility)
KĂ hi u
âââ m c riĂȘng (priviate), thu c tĂnh hay phÆ°ÆĄng th c
ch Ă±Æ° c nhĂŹn th y b i ñ i tÆ° ng c a l p ñó
â#â m c b o v (protected), thu c tĂnh hay phÆ°ÆĄng
th c ch Ă±Æ° c nhĂŹn th y b i ñ i tÆ° ng c a l p ñó vĂ
ñ i tÆ° ng c a cĂĄc l p th a k l p ñó
â+â m c chung (public), thu c tĂnh hay phÆ°ÆĄng th c
ch Ă±Æ° c nhĂŹn th y b i ñ i tÆ° ng c a t t c cĂĄc l p
108
54
55. Bi u ñ l p
VĂ d TĂȘn l p
Shape
Thu c tĂnh
â origin : Point
+ setOrigin(p : Point) PhÆ°ÆĄng th c
+ getOrigin() : Point)
+ move(p : Point)
+ resize(s : Scale)
+ display()
# pointInShape(p : Point) : Boolean
109
Bi u ñ l p
Thu c tĂnh d n xu t (derived attribut) lĂ cĂĄc thu c tĂnh
c a bi u ñ l p mĂ cĂł th suy ra t cĂĄc thu c tĂnh
khĂĄc.
KĂ hi u: thu c tĂnh d n xu t b t ñ u b i â/â, m t rĂ ng
bu c cĂł th ñi kĂšm ñ gi i thĂch s d n xu t
VĂ d
Person
RĂ ng bu c
name Thu c tĂnh d n xu t
birthDate
{age = CurrentDate â birthDate} / age
110
55
56. Bi u ñ l p
CĂĄc quan h gi a cĂĄc l p
Quan h k t h p (association)
Quan h chuyĂȘn bi t hĂła/t ng quĂĄt hĂła
(specialization/generalization)
Quan h h p thĂ nh (composition)
Quan h k t t p (agregation)
Quan h ph thu c (dependence)
111
Bi u ñ l p
Quan h k t h p (association) Quan h k t h p
1 Ch a > * M tHĂ ng
Qu yHĂ ng
Quan h chuyĂȘn bi t hĂła/t ng quĂĄt hĂła
(specialization/generalization)
NhĂąnViĂȘn Quan h t ng quĂĄt hĂła
NgÆ° iBĂĄnHĂ ng NgÆ° iQu nLĂœ
112
56
57. Bi u ñ l p
Quan h k t t p (agregation)
Quan h
0..*
Company * Person
Quan h h p thĂ nh (composition)
Quan h
1
DanhM cM tHĂ ng * M tHĂ ng
113
Bi u ñ l p
Quan h ph thu c (dependence): mĂŽ t
m t l p ph thu c vĂ o l p khĂĄc
VĂ d
Quan h ph th c
Circle Point
center : Point
114
57
58. Bi u ñ l p
Và d : chuy n ñ i mÎ hÏnh khåi ni m
thà nh bi u ñ l p
Gi s mĂŽ hĂŹnh khĂĄi ni m
ThanhToĂĄn 1 thanh toĂĄn > 1 PhiĂȘnBĂĄnHĂ ng
ThanhToĂĄnB ngTi nM t ThanhToĂĄnB ngTh
115
Bi u ñ l p
Chi ti t cĂĄc thu c tĂnh
ThanhToĂĄn 1 thanh toĂĄn > 1 PhiĂȘnBĂĄnHĂ ng
t ng : Integer
ThanhToĂĄnB ngTi nM t ThanhToĂĄnB ngTh
116
58
59. Bi u ñ l p
Chi ti t cĂĄc phÆ°ÆĄng th c
ThanhToĂĄn 1 thanh toĂĄn > 1 PhiĂȘnBĂĄnHĂ ng
t ng : Integer tĂnhT ng() : Integer
ThanhToĂĄnB ngTi nM t ThanhToĂĄnB ngTh
nh nTi n() tr VĂ oTh ()
117
Bi u ñ l p
Xåc ñ nh cåc m c kh ki n
ThanhToĂĄn 1 thanh toĂĄn > 1 PhiĂȘnBĂĄnHĂ ng
# t ng : Integer + tĂnhT ng() : Integer
ThanhToĂĄnB ngTi nM t ThanhToĂĄnB ngTh
+ nh nTi n() + tr VĂ oTh ()
118
59
61. Bi u ñ tÆ°ÆĄng tĂĄc
Bi u ñ tÆ°ÆĄng tĂĄc mĂŽ t hĂ nh vi c a h th ng
M i bi u ñ tÆ°ÆĄng tĂĄc tÆ°ÆĄng ng m t tĂĄc v Ă±Æ° c
th c hi n b i m t s cĂĄc ñ i tÆ° ng
Bi u ñ tÆ°ÆĄng tĂĄc xĂąy d ng d a trĂȘn n n t ng c a
bi u ñ ho t ñ ng và bi u ñ tr ng thåi
Bi u ñ tÆ°ÆĄng tĂĄc mĂŽ t cĂĄc hĂ nh ñ ng c a cĂĄc ñ i
tÆ° ng ñ th c hi n m t tĂĄc v . CĂĄc hĂ nh ñ ng c a
ñ i tÆ° ng bao g m:
g i cĂĄc thĂŽng ñi p (message) gi a cĂĄc ñ i tÆ° ng
t o (create) vĂ h y (destroy) cĂĄc ñ i tÆ° ng
121
Bi u ñ tu n t
Bi u ñ tu n t (sequence diagram) bi u
di n s tÆ°ÆĄng tĂĄc gi a cĂĄc ñ i tÆ° ng b ng
vi c nh n m nh th t trao ñ i thÎng ñi p
gi a cĂĄc ñ i tÆ° ng
Bi u ñ tu n t g m:
cĂĄc ñ i tÆ° ng
cĂĄc thĂŽng ñi p trao ñ i gi a cĂĄc ñ i tÆ° ng
122
61
62. Bi u ñ tu n t
M i ñ i tÆ° ng cĂł m t Ă±Æ° ng sinh t n (lifeline) bi u di n
th i gian t n t i c a nĂł.
KĂ hi u Ă° i tÆ° ng
object object:Class :Class
Ă°Æ° ng sinh t n
123
Bi u ñ tu n t
Th i gian ho t ñ ng (activation) lĂ
th i gian mà ñ i tÆ° ng ñang th c
hi n m t thao tĂĄc
KĂ hi u
object
Th i gian ho t ñ ng
124
62
63. Bi u ñ tu n t
M t thÎng ñi p ñ c t trao ñ i gi a
cĂĄc ñ i tÆ° ng
Cåc lo i thÎng ñi p
G i (call)
Tr v (return)
G i (send)
T o (create)
H y (destroy)
125
Bi u ñ tu n t
ThĂŽng ñi p g i g i m t phÆ°ÆĄng th c/thao tĂĄc trĂȘn ñ i tÆ° ng
Ă° i tÆ° ng g i ph i ñ i thĂŽng ñi p Ă±Æ° c th c hi n k t thĂșc
m i có th th c hi n cÎng vi c khåc (thÎng ñi p ñ ng b )
M t ñ i tÆ° ng cĂł th g i thĂŽng ñi p cho chĂnh nĂł
KĂ hi u
object A object B object
message()
G i thĂŽng ñi p g i G i cho chĂnh nĂł
126
63
64. Bi u ñ tu n t
ThÎng ñi p tr v tr v m t giå tr
cho ñ i tÆ° ng g i
KĂ hi u
Object A Object B
message()
value
ThÎng ñi p tr v
127
Bi u ñ tu n t
ThĂŽng ñi p g i g i m t tĂn hi u ñ n m t ñ i tÆ° ng
KhĂĄc v i thĂŽng ñi p g i, khi ñ i tÆ°ÆĄng g i thĂŽng ñi p
g i nó khÎng ch ñ i, mà ti p t c th c hi n cÎng vi c
khåc (thÎng ñi p khÎng ñ ng b )
KĂ hi u
object A object B
message()
ThÎng ñi p g i
128
64
65. Bi u ñ tu n t
ThĂŽng ñi p t o g i phÆ°ÆĄng th c t o m t ñ i tÆ° ng
ThĂŽng ñi p h y g i phÆ°ÆĄng th c h y m t ñ i tÆ° ng
KĂ hi u
ThÎng ñi p t o
object A
<<create>>
object B
<<destroy>>
ThÎng ñi p h y
129
Bi u ñ tu n t
VĂ d
public class A
{
:A private B objB;
public void msg1()
{
msg1 <<create>> objB = new B();
:B
objB.msg2();
msg2 objB.msg3();
}
}
msg3
public class B
{
âŠ
public void msg2() { ⊠}
public void msg3() { ⊠}
}
130
65
66. Bi u ñ tu n t
M t thĂŽng ñi p cĂł th Ă±Æ° c g i l p
nhi u l n
Kà hi u G i l p thÎng ñi p 10 l n
object A object B
*[1..10]message()
for(i = 1; i<= 10; i++)
{
objectB.message()
}
131
Bi u ñ tu n t
M t thĂŽng ñi p cĂł th Ă±Æ° c g i l p
nhi u l n ph thu c và o m t ñi u ki n
KĂ hi u G i l p thĂŽng ñi p trong khi C ñĂșng
object A object B
*[C]message()
while(C)
{
objectB.message()
}
132
66
67. Bi u ñ tu n t
M t thĂŽng ñi p cĂł th Ă±Æ° c g i ph
thu c và o ñi u ki n r nhånh
KĂ hi u
object A object B object C
[C]message()
if(C)
objectB.message();
else [not C]message()
objectC.message();
133
Bi u ñ tu n t
M t thĂŽng ñi p cĂł th Ă±Æ° c g i ñ
quy
KĂ hi u
ThÎng ñi p ñ quy
:BinaryTree
print()
print()
134
67
68. Bi u ñ tu n t
VĂ d
:TĂ iLi u :MĂĄyFax :DĂąyĂ°i nTho i
g i()
nh cMĂĄy()
ĂąmM i
b mS (s )
ñãK tN i ñãK tN i
g i(trang)
chuy n(trang)
135
Bi u ñ tu n t
VĂ d
:NgÆ° iBĂĄn :MĂĄyTĂnhTi n :PhiĂȘnBĂĄnHĂ ng
thanhToĂĄn(s Ti n)
thanhToĂĄn(s Ti n) <<create>> :ThanhToĂĄn
thanhToĂĄn(s Ti n)
ti nDÆ°
ti nDÆ°
tr Ti nDÆ°() <<destroy>>
136
68
69. Bi u ñ tu n t
Gi a bi u ñ tÆ°ÆĄng tĂĄc vĂ bi u ñ l p vĂ cĂł m i quan
h ch t ch v i nhau
VĂ d
MĂĄyTĂnhTi n PhiĂȘnBĂĄnHĂ ng
m ThanhToĂĄn() thanhToĂĄn()
:MĂĄyTĂnhTi n :PhiĂȘnBĂĄnHĂ ng
m ThanhToĂĄn(s Ti n) thanhToĂĄn(s Ti n)
137
Bi u ñ c ng tåc
Bi u ñ c ng tåc (collaboration diagram) mÎ t s
tÆ°ÆĄng tĂĄc gi a cĂĄc ñ i tÆ° ng b ng vi c nh n m nh
c u trĂșc k t h p gi a cĂĄc ñ i tÆ° ng vĂ nh ng thĂŽng
ñi p trao ñ i gi a chĂșng
Bi u ñ c ng tĂĄc lĂ s m r ng c a bi u ñ ñ i tÆ° ng
Bi u ñ c ng tåc ch ra
th t g i cĂĄc thĂŽng ñi p: m i thĂŽng ñi p Ă±Æ° c gĂĄn
m t s tu n t
ñi u ki n g i cåc thÎng ñi p
138
69
70. Bi u ñ c ng tåc
C u trĂșc thĂŽng ñi p Ă±Æ° c mĂŽ t d ng t ng quĂĄt nhÆ° sau:
precondition / condition sequence * *|| iteration : result := message(parameters)
âprecondition /â: danh sĂĄch s tu n t c a cĂĄc thĂŽng ñi p trÆ° c
thĂŽng ñi p c n g i. ThĂŽng ñi p ch Ă±Æ° c g i ñi khi t t c cĂĄc thĂŽng
ñi p trÆ° c nĂł ñã Ă±Æ° c g i ñi.
âconditionâ: thĂŽng ñi p ch Ă±Æ° c g i ñi khi ñi u ki n Ă±Æ° c th a
mĂŁn.
âsequenceâ: s tu n t c a thĂŽng ñi p c n g i. VĂ d , vi c g i
thÎng ñi p 1.3.5 theo sau vi c g i thÎng ñi p 1.3.4, c hai thÎng
ñi p nà y n m trong lu ng 1.3.
â*â: ch ra thĂŽng ñi p Ă±Æ° c g i ñi nhi u l n m t cĂĄch tu n t .
â*||â: ch ra thĂŽng ñi p Ă±Æ° c g i ñi nhi u l n m t cĂĄch ñ ng th i.
âiterationâ: ch ra s l n g i thĂŽng ñi p m t cĂĄch tu n t ho c ñ ng
th i
âresultâ: ch ra giĂĄ tr tr v c a thĂŽng ñi p.
âmessageâ: tĂȘn thĂŽng ñi p
âparametersâ: danh sĂĄch cĂĄc tham s c a thĂŽng ñi p.
139
Bi u ñ c ng tåc
VĂ d
4 : hello() : thÎng ñi p có s tu n t là 4.
[time = 12h] 1 : lunch() : thÎng ñi p nà y ch
Ă±Æ° c g i ñi n u lĂ lĂșc 12h.
1.3.5 * call() : thĂŽng ñi p nĂ y Ă±Æ° c g i ñi
nhi u l n.
3 / *|| [i:= 1..5] 1.2 : close() : thÎng ñi p nà y
Ă±Æ° c g i ñi nÄm l n m t cĂĄch ñ ng th i vĂ
sau thÎng ñi p s 3.
1.2, 2.3 / [t < 10] 3.1 name = getName() :
thĂŽng ñi p nĂ y Ă±Æ° c g i ñi sau cĂĄc thĂŽng
ñi p 1.2, 2.3 và v i ñi u ki n t<10.
140
70
71. Bi u ñ c ng tåc
Và d bi u ñ c ng tåc
:NgÆ° iBĂĄn :ThanhToĂĄn
1 : thanhToĂĄn(s Ti n)
1.1.1 : <<create>>
2 : tr Ti nDÆ°()
1.1.3 : ti nDÆ°() 1.1.2 : thanhToĂĄn(s Ti n)
1.1.4 : <<desstroy>>
1.2 ti nDÆ°()
:H Th ng :PhiĂȘnBĂĄnHĂ ng
1.1 : thanhToĂĄn(s Ti n)
141
Bi u ñ tÆ°ÆĄng tĂĄc
BĂ i t p 1: MĂĄy rĂșt ti n ATM
Xùy d ng bi u ñ tu n t cho ca s d ng
rĂșt ti n trong trÆ° ng h p thĂ nh cĂŽng
Xùy d ng bi u ñ tu n t cho ca s d ng
xem s ti n dÆ° trong tĂ i kho n
142
71
73. Sinh mĂŁ
Và d : bi u ñ l p
orderListe OneOrder contains >
1..* *
â quantity: Integer
1 1
ListOfOrders AirPlane
+ subtotal() : double
â datePlaced â price : float
â clientID
+ total() : double + getPrice() : float
145
Sinh mĂŁ
MĂŁ l p OneOrder
public class OneOrder
OneOrder
{
public double subtotal()
â quantity: Integer {
}
+ subtotal() : double private int quantity;
}
146
73
74. Sinh mĂŁ
MĂŁ l p OneOrder
OneOrder contains >
public class OneOrder
* {
â quantity: Integer public double subtotal()
1
{
AirPlane
}
+ subtotal() : double
â price : float private int quantity;
private AirPlane airPlane;
}
+ getPrice() : float
147
Sinh mĂŁ
MĂŁ l p ListOfOrders
orderListe OneOrder
1..* public class ListOfOrder
{
â quantity: Integer public double total()
1
{
ListOfOrders
}
+ subtotal() : double
â datePlaced private Date datePlaced;
private int clientID;
â clientID private Vector orderList;
}
+ total() : double
148
74
75. Sinh mĂŁ
Bi u ñ c ng tĂĄc th c hi n phÆ°ÆĄng th c
total()
1 : total() 2 : *[for each] subtotal()
:ListOfOrders :OneOrder
3 : getPrice()
:AirPlane
149
Sinh mĂŁ
MĂŁ phÆ°ÆĄng th c total()
1 : total() 2 : *[for each] subtotal()
:ListOfOrders :OneOrder
3 : getPrice()
public double total()
{
} :AirPlane
150
75
76. Sinh mĂŁ
MĂŁ phÆ°ÆĄng th c total()
1 : total() 2 : *[for each] subtotal()
:ListOfOrders :OneOrder
public double total() 3 : getPrice()
{
double sum = 0;
for (int i=0; i<orderList.size(); i++)
sum += orderList.elementAt(i).subtotal();
return sum; :AirPlane
}
151
Sinh mĂŁ
MĂŁ phÆ°ÆĄng th c subTotal()
1 : total() 2 : *[for each] subtotal()
:ListOfOrders :OneOrder
public double subtotal() 3 : getPrice()
{
return (quantity * airplane.getPrice());
}
:AirPlane
152
76
77. Sinh mĂŁ
MĂŁ phÆ°ÆĄng th c getPrice()
1 : total() 2 : *[for each] subtotal()
:ListOfOrders :OneOrder
public float getPrice() 3 : getPrice()
{
return price;
}
:AirPlane
153
CĂŽng c
Ph n m m Rational Rose, Poisedon
for UML, Umbrello
Thi t k cåc bi u ñ UML
Sinh mĂŁ chÆ°ÆĄng trĂŹnh
âą C++
âą Java
âą VB
âą Ada
154
77