際際滷

際際滷Share a Scribd company logo
L畉p tr狸nh h動畛ng 畛i t動畛ng
C++
Extra part - UML
Gi畉ng vi棚n gi畉ng d畉y: Nguy畛n H畛u V但n Long
BM MMT&TT 2
Ch動董ng 2 Extra
L畉p tr狸nh h動畛ng 畛i t動畛ng OOP
p S董 l動畛c v畛 UML
p M畛t s畛 bi畛u 畛 trong UML
p S董 畛 l畛p v v鱈 d畛 minh h畛a trong StarUML
BM MMT&TT 3
 L畛p
 Khai b叩o
 畛nh ngh挑a
 Thu畛c t鱈nh v Hm thnh vi棚n
 畛i t動畛ng
 Khai b叩o
 S畛 d畛ng
 S董 l動畛c hm x但y d畛ng v hm h畛y
 D畛 li畛u hm thnh vi棚n t挑nh
 Khai th叩c 1 l畛p trong 畛ng d畛ng
N畛i dung bi gi畉ng
BM MMT&TT 4
 Gi畛i thi畛u UML
 C叩c lo畉i bi畛u 畛 trong UML
 S董 畛 l畛p
 M畛t s畛 v鱈 d畛 minh h畛a
 Gi畛i thi畛u StarUML
N畛i dung bi gi畉ng
BM MMT&TT 5
 UML: Unified Modeling Language
 L m畛t ng担n ng畛 d湛ng 畛 m担 h狸nh h坦a c叩c h畛 th畛ng th担ng
tin theo H動畛ng 畛i t動畛ng theo h動畛ng th畛ng nh畉t.
 Ra 畛i nm 1997 -> ph畛 bi畉n 畉n nay.
 Bao g畛m m畛t h畛 th畛ng c叩c k箪 hi畛u (symbol), s董 畛
(diagram) th畛ng nh畉t 畛 thi畉t k畉 c叩c IS theo OO.
 動畛c s畛 d畛ng trong nhi畛u giai o畉n c畛a qui tr狸nh ph叩t tri畛n
ph畉n m畛m: ph但n t鱈ch, thi畉t k畉, tri畛n khai, ki畛m th畛.
 M畛t s畛 c担ng c畛: Rational Rose, Visio, StartUML,
ArgoUML,ph叩t sinh t畛 畛ng cho c叩c ng担n ng畛
OOP
Gi畛i thi畛u UML
BM MMT&TT 6
 UML bao g畛m 9 lo畉i s董 畛
 Use case disgram: S董 畛 use case
 Class diagram: S董 畛 l畛p.
 Object diagram: S董 畛 畛i t動畛ng.
 Sequence diagram: S董 畛 tr狸nh t畛.
 State diagram: S董 畛 tr畉ng th叩i.
 Collaboration diagram: S董 畛 c畛ng t叩c.
 Component disgram: S董 畛 thnh ph畉n.
 Deployment diagram: S董 畛 tri畛n khai.
 Activity diagram: S董 畛 ho畉t 畛ng.
Gi畛i thi畛u UML
BM MMT&TT 7
 Class diagram (s董 畛 l畛p)
 M担 t畉 c畉u tr炭c c畛a h畛 th畛ng theo h動畛ng 畛i t動畛ng.
 C畉u tr炭c c畛a m畛t h畛 th畛ng 動畛c x但y d畛ng t畛 c叩c l畛p v
m畛i quan h畛 gi畛a ch炭ng.
 K箪 hi畛u (notation)
 L畛p
 Giao di畛n
 Quan h畛
 K畉t h畛p (Association), t畉p h畛p (Aggregation) v t畛ng h畛p
(Composition).
 Hi畛n th畛c h坦a (Realization).
 Th畛a k畉/T畛ng qu叩t h坦a (Generalization).
S董 畛 l畛p (Class Diagram)
BM MMT&TT 8
 L畛p
S董 畛 l畛p (Class Diagram)
BM MMT&TT 9
 Giao di畛n v quan h畛 Realization: l quan h畛 gi畛a giao
di畛n v l畛p ci 畉t n坦
S董 畛 l畛p (Class Diagram)
Quan h畛
Realization
BM MMT&TT 10
 Quan h畛 k畉t h畛p (Association): M担 t畉 m畛i li棚n h畛 ng畛
ngh挑a gi畛a c叩c l畛p.
S董 畛 l畛p (Class Diagram)
Quan h畛
Association
T棚n
Association
L畛p
T棚n
role
BM MMT&TT 11
 Quan h畛 k畉t h畛p (Association)
 Quan h畛 k畉t h畛p nhi畛u chi畛u (n-ary)
 L畛p k畉t h畛p (association class): 動畛c xem l thu畛c
t鱈nh c畛a m畛t quan h畛 k畉t h畛p.
S董 畛 l畛p (Class Diagram)
L畛p k畉t
h畛p
BM MMT&TT 12
 Quan h畛 t畉p h畛p (Aggregation): L m畛t d畉ng 畉c bi畛t c畛a
quan h畛 k畉t h畛p, m担 t畉 m畛i quan h畛 ton th畛-b畛 ph畉n gi畛a m畛t
th畛c th畛 v c叩c b畛 ph畉n c畛a m畛t th畛c th畛.
S董 畛 l畛p (Class Diagram)
Ton th畛 B畛 ph畉n
BM MMT&TT 13

Quan h畛 t畛ng h畛p (Composition): L m畛t d畉ng 畉c bi畛t
c畛a quan h畛 t畉p h畛p, c坦 t鱈nh s畛 h畛u cao. Trong 坦, c叩c b畛 ph畉n
c畛a m畛t th畛c th畛 kh担ng th畛 s畛ng l但u h董n th畛c th畛.
 C叩i t畛ng th畛 s畉 動畛c c畉u thnh ho畉c h畛y b畛 t畛 nh畛ng
thnh ph畉n c畛a n坦.
S董 畛 l畛p (Class Diagram)
Ch炭 箪: N畉u kh担ng c坦 sinh vi棚n => kh担ng c坦 schedule. Ho畉c, n畉u
kh担ng t畛n t畉i quy畛n s叩ch (book) th狸 kh担ng c坦 c叩c ch動董ng s叩ch
(chapter)
BM MMT&TT 14
 Quan h畛 th畛a k畉 (Inheritance):
Ph畛 l畛c UML
L畛p cha
L畛p con
BM MMT&TT 15
1. H達y cho bi畉t trong tr嘆
ch董i tr棚n, bao g畛m
nh畛ng 畛i t動畛ng/s畛
v畉t no?
2. M畛i 畛i t動畛ng c坦 th畛
th畛c hi畛n c叩c thao
t叩c/hnh 畛ng no?
3. Li畛t k棚 thu畛c t鱈nh c畛a
t畛ng 畛i t動畛ng.
Ph畛 l畛c UML

More Related Content

Chuong2 extra c_

  • 1. L畉p tr狸nh h動畛ng 畛i t動畛ng C++ Extra part - UML Gi畉ng vi棚n gi畉ng d畉y: Nguy畛n H畛u V但n Long
  • 2. BM MMT&TT 2 Ch動董ng 2 Extra L畉p tr狸nh h動畛ng 畛i t動畛ng OOP p S董 l動畛c v畛 UML p M畛t s畛 bi畛u 畛 trong UML p S董 畛 l畛p v v鱈 d畛 minh h畛a trong StarUML
  • 3. BM MMT&TT 3 L畛p Khai b叩o 畛nh ngh挑a Thu畛c t鱈nh v Hm thnh vi棚n 畛i t動畛ng Khai b叩o S畛 d畛ng S董 l動畛c hm x但y d畛ng v hm h畛y D畛 li畛u hm thnh vi棚n t挑nh Khai th叩c 1 l畛p trong 畛ng d畛ng N畛i dung bi gi畉ng
  • 4. BM MMT&TT 4 Gi畛i thi畛u UML C叩c lo畉i bi畛u 畛 trong UML S董 畛 l畛p M畛t s畛 v鱈 d畛 minh h畛a Gi畛i thi畛u StarUML N畛i dung bi gi畉ng
  • 5. BM MMT&TT 5 UML: Unified Modeling Language L m畛t ng担n ng畛 d湛ng 畛 m担 h狸nh h坦a c叩c h畛 th畛ng th担ng tin theo H動畛ng 畛i t動畛ng theo h動畛ng th畛ng nh畉t. Ra 畛i nm 1997 -> ph畛 bi畉n 畉n nay. Bao g畛m m畛t h畛 th畛ng c叩c k箪 hi畛u (symbol), s董 畛 (diagram) th畛ng nh畉t 畛 thi畉t k畉 c叩c IS theo OO. 動畛c s畛 d畛ng trong nhi畛u giai o畉n c畛a qui tr狸nh ph叩t tri畛n ph畉n m畛m: ph但n t鱈ch, thi畉t k畉, tri畛n khai, ki畛m th畛. M畛t s畛 c担ng c畛: Rational Rose, Visio, StartUML, ArgoUML,ph叩t sinh t畛 畛ng cho c叩c ng担n ng畛 OOP Gi畛i thi畛u UML
  • 6. BM MMT&TT 6 UML bao g畛m 9 lo畉i s董 畛 Use case disgram: S董 畛 use case Class diagram: S董 畛 l畛p. Object diagram: S董 畛 畛i t動畛ng. Sequence diagram: S董 畛 tr狸nh t畛. State diagram: S董 畛 tr畉ng th叩i. Collaboration diagram: S董 畛 c畛ng t叩c. Component disgram: S董 畛 thnh ph畉n. Deployment diagram: S董 畛 tri畛n khai. Activity diagram: S董 畛 ho畉t 畛ng. Gi畛i thi畛u UML
  • 7. BM MMT&TT 7 Class diagram (s董 畛 l畛p) M担 t畉 c畉u tr炭c c畛a h畛 th畛ng theo h動畛ng 畛i t動畛ng. C畉u tr炭c c畛a m畛t h畛 th畛ng 動畛c x但y d畛ng t畛 c叩c l畛p v m畛i quan h畛 gi畛a ch炭ng. K箪 hi畛u (notation) L畛p Giao di畛n Quan h畛 K畉t h畛p (Association), t畉p h畛p (Aggregation) v t畛ng h畛p (Composition). Hi畛n th畛c h坦a (Realization). Th畛a k畉/T畛ng qu叩t h坦a (Generalization). S董 畛 l畛p (Class Diagram)
  • 8. BM MMT&TT 8 L畛p S董 畛 l畛p (Class Diagram)
  • 9. BM MMT&TT 9 Giao di畛n v quan h畛 Realization: l quan h畛 gi畛a giao di畛n v l畛p ci 畉t n坦 S董 畛 l畛p (Class Diagram) Quan h畛 Realization
  • 10. BM MMT&TT 10 Quan h畛 k畉t h畛p (Association): M担 t畉 m畛i li棚n h畛 ng畛 ngh挑a gi畛a c叩c l畛p. S董 畛 l畛p (Class Diagram) Quan h畛 Association T棚n Association L畛p T棚n role
  • 11. BM MMT&TT 11 Quan h畛 k畉t h畛p (Association) Quan h畛 k畉t h畛p nhi畛u chi畛u (n-ary) L畛p k畉t h畛p (association class): 動畛c xem l thu畛c t鱈nh c畛a m畛t quan h畛 k畉t h畛p. S董 畛 l畛p (Class Diagram) L畛p k畉t h畛p
  • 12. BM MMT&TT 12 Quan h畛 t畉p h畛p (Aggregation): L m畛t d畉ng 畉c bi畛t c畛a quan h畛 k畉t h畛p, m担 t畉 m畛i quan h畛 ton th畛-b畛 ph畉n gi畛a m畛t th畛c th畛 v c叩c b畛 ph畉n c畛a m畛t th畛c th畛. S董 畛 l畛p (Class Diagram) Ton th畛 B畛 ph畉n
  • 13. BM MMT&TT 13 Quan h畛 t畛ng h畛p (Composition): L m畛t d畉ng 畉c bi畛t c畛a quan h畛 t畉p h畛p, c坦 t鱈nh s畛 h畛u cao. Trong 坦, c叩c b畛 ph畉n c畛a m畛t th畛c th畛 kh担ng th畛 s畛ng l但u h董n th畛c th畛. C叩i t畛ng th畛 s畉 動畛c c畉u thnh ho畉c h畛y b畛 t畛 nh畛ng thnh ph畉n c畛a n坦. S董 畛 l畛p (Class Diagram) Ch炭 箪: N畉u kh担ng c坦 sinh vi棚n => kh担ng c坦 schedule. Ho畉c, n畉u kh担ng t畛n t畉i quy畛n s叩ch (book) th狸 kh担ng c坦 c叩c ch動董ng s叩ch (chapter)
  • 14. BM MMT&TT 14 Quan h畛 th畛a k畉 (Inheritance): Ph畛 l畛c UML L畛p cha L畛p con
  • 15. BM MMT&TT 15 1. H達y cho bi畉t trong tr嘆 ch董i tr棚n, bao g畛m nh畛ng 畛i t動畛ng/s畛 v畉t no? 2. M畛i 畛i t動畛ng c坦 th畛 th畛c hi畛n c叩c thao t叩c/hnh 畛ng no? 3. Li畛t k棚 thu畛c t鱈nh c畛a t畛ng 畛i t動畛ng. Ph畛 l畛c UML