You are on page 1of 171

V ng b c cng doanh nghi p s

Phn tch v thi t k


Chng 1: T NG QUAN V
1- D n nh p: 1.1- Tnh tr c quan: 1.2- M hnh tr u t ng:

HTTT theo UML


PHN TCH THI T K H TH NG

1.3- M hnh ha tr c quan: 2- M t chu trnh pht tri n ph n m m: 2.1- Software Development m t bi ton ph c t p: 2.2- Chu Trnh Pht Tri n Ph n M m (Software Development Life Cycle): 2.3- Cc giai o n c a Chu Trnh Pht Tri n Ph n M m: 3- Phng php h ng ch c nng v phng php h ng i t ng: 3.1- Phng php h ng ch c nng: 3.2- Phng php h ng i t ng:

4- u i m c a m hnh h ng i t ng: 4.1- Tnh ti s 4.2- Cc giai h ng i t ng: d ng (Reusable) o n c a chu trnh pht tri n ph n m m v i m hnh

Ph n cu h i

Chng 2: NGN NG

M HNH HO TH NG NH T L G

1- Gi i thi u UML: 1.1- M hnh ha h th ng ph n m m. 1.2- Tr c khi UML ra 1.3- S ra i c a UML. i.

V ng b c cng doanh nghi p s


1.4- UML (Unifield Modeling Language). 1.5- Phng php v cc ngn ng 2- UML trong phn tch thi t k h m hnh ho.

th ng: th ng:

3- UML v cc giai o n pht tri n h

Ph n cu h i

Chng 3: KHI QUT V

UML

1- UML v cc giai o n c a chu trnh pht tri n ph n m m 1.1- Giai o n nghin c u s b : 1.2- Giai o n phn tch: 1.3- Giai o n thi t k : 1.4- Giai o n xy d ng: 1.5- Th nghi m: UML

2- Cc thnh ph n c a ngn ng 3- H ng nhn (View)

3.1- H ng nhn Use case (Use case View): 3.2- H ng nhn logic (Logical View): 3.3- H ng nhn thnh ph n (Component View): 3.4- H ng nhn song song (Concurrency View): 3.5- H ng nhn tri n khai (Deployment View): 4- Bi u (diagram) Use case (Use Case Diagram): l p (Class Diagram): i t ng (Object Diagram): tr ng thi (State Diagram):

4.1- Bi u 4.2- Bi u 4.3- Bi u 4.4- Bi u

V ng b c cng doanh nghi p s


4.5- Bi u 4.6- Bi u 4.7- Bi u 4.8- Bi u 4.9- Bi u 5- Ph n t 6- C ch trnh t (Sequence Diagram):

c ng tc (Collaboration Diagram): ho t ng (Activity Diagram):

thnh ph n (Component Diagram): tri n khai (Deployment Diagram):

m hnh (model element) chung (General Mechanism)

6.1- Trang tr (Adornment) 6.2- Ghi ch (Note) 6.37- M c t (Specification)

r ng UML 7.1- Khun m u (Stereotype) 7.2- Gi tr nh km (Tagged Value)

7.3- H n ch (Constraint) 8- M hnh ha v i UML 9- Cng c (Tool) UML

10- Tm t t v

Ph n Cu h i

Chng 4: M hnh ha USE CASE


1- Gi i thi u Use Case 2- M t s 3- S v d Use Case

c n thi t ph i c Use Case

4- M hnh ha Use Case 5- Bi u Use Case

5.1- H th ng

V ng b c cng doanh nghi p s


5.2- Tc nhn 5.3- Tm tc nhn 5.4- Bi u di n tc nhn trong ngn ng 5.5- Use Case 5.6- Tm Use Case 5.7- V d tm Use Case: 6- Cc bi n th 7- Quan h (Variations) trong m t Use Case UML

gi a cc Use Case

7.1- Quan h m r ng 7.2- Quan h s d ng

7.3- Quan h chung nhm 8- Miu t Use Case 9- Th Use Case

10- Th c hi n cc Use Case 11- Tm t t v Use Case

Ph n cu h i

Chng 6: M HNH
1- S

NG

c n thi t c m hnh ng (Dynamic model)

2- Cc thnh ph n c a m hnh ng 3- u i m c a m hnh ng 4- S ki n v thng i p (Event & Message) 4.1- S ki n (Event)

4.2- Thng i p (Message) 5- Bi u 6- Bi u tu n t (Sequence diagram)

c ng tc (Collaboration Diagram)

V ng b c cng doanh nghi p s


7- Bi u tr ng thi (State Diagram) bi n i tr ng thi (State transition)

7.1- Tr ng thi v s 7.2- Bi u

tr ng thi ki n tr ng thi

7.3- Nh n bi t tr ng thi v s

7.4- M t s l i mch b o cho vi c t o d ng bi u 8- Bi u ho t ng (Activity Diagram)

9- Vng i i t ng (Object lifecycle) 9.1- Vng 9.2- Vng i sinh ra v ch t i il p

10- Xem xt l i m hnh ng 10.1- Th m v n bi u 10.2- Ph i h p s ki n d ng bi u no tr ng thi

10.3- Bao gi th s

10.4- L p con v bi u

tr ng thi

11- Ph i h p m hnh i t ng v m hnh ng 12- Tm t t v m hnh ng

Ph n cu h i

V ng b c cng doanh nghi p s

1- D N NH P
1.1- Tnh tr c quan:
Chng ta c th th y r ng: "M t s t p h p d c trnh by b ng so v i cc d Kh th s truy n t i li u ph c t p nh t nh khi n ng i c nhi u thng tin hn nn ph c t p hn. i km v i trnh by v t ra

li u th". V i ph n m m cng v y, khi ngnh Cng nghi p ph c t p c a chng ta

c a chng ta ngy cng pht tri n, cc h th ng s tr nng n m b t v ki m sot s kh nng trnh by h th ng m t cch ton di n - m t s ngoi gi i h n c a nh ng dng l nh th. S nh ng ngn ng Java cho th y s

thnh cng trn th tr ng c a i v i qu

nh Visual Basic v ph n giao di n tr c quan c a C++, trnh by tr c quan mang tnh c t y u

trnh pht tri n cc h th ng ph c t p.

1.2- M hnh tr u t ng:


Tr c th c t y, c m t th i gian di, ngnh cng nghi p chng ta l ch ng nh ng nhi u th ng tho mn n ph n m m khng th ph i ni u d a trn s n sinh ra t i m t "Cu c kh ng ho ng ph n m m". Cc cu c tranh lu n nh ng h

i h i v nhu c u c a khch hng, m cn m i nh l p trnh h ng

v t qu ngn sch v th i h n. Cc cng ngh c gip chng ta nng cao nng su t lao

i t ng, l p trnh tr c quan cng nh cc mi tr ng pht tri n tin ti n ng, nhng trong nhi u tr ng chnh c a ngnh pht h p, chng ch h ng t i t ng th p nh t c a vi c pht tri n ph n m m: ph n vi t l nh (coding). M t trong nh ng v n tri n ph n m m th i nay l c nhi u tr thi u hi u bi t v th y h n b t tay vo l p trnh qu s m n y lo u khi m

v t p trung qu nhi u vo vi c vi t code. L do m t ph n l do ban qu n quy trnh pht tri n ph n m m v h i qun l p trnh c a h khng vi t code. V b n thn cc l p trnh ng i vi t code - v n l tc v

vin cng c m th y an tm hn khi h th ng m h ph i t o nn.

quen thu c! hn l khi xy d ng cc m hnh tr u t ng cho h

1.3- M hnh ha tr c quan:


M hnh ho tr c quan l m t phng th c t duy v v n m hnh c t ch c xoay quanh cc khi ni m chng ta hi u v n s d ng cc n d n i th c. M hnh gip

, giao ti p v i m i ng i c lin quan

(khch hng, chuyn gia lnh v c thu c

n, nh phn tch, nh thi t

V ng b c cng doanh nghi p s


k , ). M hnh r t h u d ng trong vi c m hnh ho doanh nghi p, so n th o ti li u, thi t k chng trnh cng nh ngn hng d li u. M hnh gip hi u cc i h i c a h th ng t t hn, t o cc thi t k r rng hn v xy d ng nn cc h th ng d b o tr hn. M hnh l k t qu c a s tr u t ng ha nh m miu t tr thnh d s v th cc thnh ph n hi u hn. Tr u th cng xy

c ty uc am tv n

hay m t c u trc ph c t p qua vi c l c b t cc chi

ti t khng quan tr ng v lm cho v n quy t cc v n d ng m hnh t h ph c t p. Cc k

t ng ha l m t nng l c cn b n c a con ng i, cho php chng ta gi i s, ngh th hng ngn nm nay nghi m thi t k tr c khi

th c hi n. Pht tri n ph n m m cng khng l ngo i l . khc nhau c a h th ng, s b sung thm chi ti t d ng k hi u chnh xc i h i c a h

xy d ng cc

th ng ph c t p, nh pht tri n ph i tr u t ng ha nhi u h ng nhn xy d ng m hnh, th ng, v d n d n

ki m tra xem m hnh c th a mn cc

chuy n cc m hnh thnh th c hi n.

Chng ta xy d ng m hnh cho cc h th ng ph c t p b i chng ta khng th hi u th u o nh ng h th ng nh th trong tr ng thi ton v n c a c a ngnh xy d ng. N u b n b t tay vo xy ngay. N u chng. Kh h n. nng th u hi u v n m b t tnh ph c t p c a con ng i l c gc v n, b n c th b n s

i u ny ta c th th y r trong v d

mu n t o m t tp l u

b n xy m t ngi nh, c l Th

c n t i b n v , nhng n u b n mu n

xy m t to nh ch c tr i th ch c ch n b n khng th khng c n b n v . gi i ph n m m c a chng ta cng th . Ch t p trung vo cc dng phn tch Forms trong Visual Basic ch ng cung c p vi c pht tri n n. Xy d ng m hnh cho s tng tc gi a cc code hay th m ch c php nh thi t k thnh ph n trong t ng thnh ph n. M t mi tr ng kinh doanh mang tnh c nh tranh gay g t v lun lun thay i d n n tnh ph c t p ngy cng tng cao, v tnh ph c t p ny c trng cho cc nh pht tri n h p th ng. M ch c, trnh by tr c quan, th u hi u v t o nn cc ng cc thch th c c a vi c t ra nh ng thch th c hnh gip chng ta t h

m t ci nhn ton c c v

t p trung vo b c tranh l n v

n, trnh b sa l y vo nh ng chi ti t ring bi t c a

th ng ph c t p. Chng gip chng ta

pht tri n ph n m m, hm nay cng nh ngy mai.

V ng b c cng doanh nghi p s

2- M T

CHU TRNH PHT TRI N PH N M M:

2.1- Software Development m t bi ton ph c t p:


Kinh nghi m c a nhi u nh thi t k v pht tri n cho th y pht tri n ph n m m l m t bi ton ph c t p. Xin nu m t s n: Nh ng ng i pht tri n ph n m m r t kh hi u cho ng nh ng g ng i dng c n Yu c u c a ng i dng th ng thay Yu c u th ng c miu t i trong th i gian pht tri n. cc l do th ng c k

b ng vn b n, di dng, kh hi u,

nhi u khi th m ch mu thu n. i qun pht tri n ph n m m, v n l ng i "ngoi cu c", r t kh nh n th c th u o cc m i quan h ti m ng d ng l n. li u ph c t p c a con ng i (t i cng n v ph c t p c n c th hi n chnh xc trong cc Kh nng n m b t cc d

m t th i i m) l c h n. Kh nh l ng chnh xc hi u su t c a thnh ph m v th a mn mong ch t pha ng i dng.

chnh xc s

Ch n l a ph n c ng v ph n m m thch h p cho gi i php l m t trong nh ng thch th c l n Ph n m m ngoi ra c n c kh c thi t k t t l ph n m m tr ng, d t ph n m m s a pha c ng i v i Designer. ng v m r ng. Ph n m m i trong mi nng ti s

nng thch

ng v ng tr c nh ng bi n

ng ng i dng hay t

pha cng ngh . V d

c pht tri n cho m t nh bng c n c kh

d ng cho m t nh bng khc v i r t t s a nng thch ng. M t ph n m m c kh nng m

i ho c hon ton khng c n

i. Ph n m m tho mn cc yu c u c coi l ph n m m c kh

r ng l ph n m m

c thi t k

sao cho

d pht tri n theo yu c u c a ng i dng m khng c n s a ch a nhi u. Chnh v v y, m t s m m l: Hi u khng ng nh ng g ng i dng c n Khng th thch ng cho ph h p v i nh ng thay i v yu c u cc khi m khuy t th ng g p trong pht tri n ph n

i v i h th ng

V ng b c cng doanh nghi p s


Cc Module khng kh p v i nhau Ph n m m kh b o tr v nng c p, m r ng Pht hi n tr cc l h ng c a d Ch t l ng ph n m m km Hi u nng c a ph n m m th p Cc thnh vin trong nhm khng bi t khi no, u, t i sao ph i thay i. c ai thay i ci g, n

2.2- Chu Trnh Pht Tri n Ph n M m (Software Development Life Cycle):


V pht tri n ph n m m l m t bi ton kh, nn c l i m qua m t s tr c h t ta c n i, xoay cc cng vi c cn b n c a qu trnh ny. Th ng ng i

ta hay t p h p chng theo ti n trnh th i gian m t cch tng

quanh chu trnh c a m t ph n m m, d n t i k t q a khi ni m Chu Trnh Pht Tri n Ph n M m (Software Development Life Cycle - SDLC) nh sau: Chu Trnh Pht Tri n Ph n M m l m t chu i cc ho t tch (Analyst), nh thi t k ng i dng (User) Nh ng ho t pht tri n v th c hi n m t h ng c a nh phn th ng thng tin. an khc nhau.

(Designer), ng i pht tri n (Developer) v

ng ny c th c hi n trong nhi u giai

Nh phn tch (Analyst): l ng i nghin c u yu c u c a khch hng/ng i dng d ng nhu c u c a m t t php v cng ngh nh ngha m t ph m vi bi ton, nh n ch c, xc nh xem nhn l c, phng c i thi n m t cch lm sao

my tnh c th

t t nh t cng tc c a t ch c ny. Nh thi t k (Designer): thi t k h th ng theo h ng c u trc nh cc yu c u

c a database, screens, forms v reports quy t

v ph n c ng v ph n m m cho h th ng c n c pht tri n. Chuyn gia lnh v c (Domain Experts): l nh ng ng i hi u th c ch t v n tin h c ho. H cng t t c nh ng s ph c t p c a h th ng c n c khng nh t thi t ph i l nh l p trnh, nhng h t ra

th gip nh l p trnh hi u yu c u i ng lm ph n m m c c s

i v i h th ng c n pht

tri n. Qu trnh pht tri n ph n m m s

c r t nhi u thu n l i n u

tr gip c a h .

V ng b c cng doanh nghi p s


L p trnh vin (Programmer): l nh ng ng i d a trn cc phn tch v thi t k b ng ngn ng vi t chng trnh (coding) cho h th ng l p trnh c th ng nh t. i t ng ph c v c a h th ng c n c

Ng i dng (User): l pht tri n.

cho r hn, xin l y v d v m t v n

n gi n sau: c m t

Ng i bnh th ng chng ta khi nhn m t chi c xe t th ng s b c tranh t V n bn ngoi nh sau:

Hnh 1.1: Nhn v n

t c a ng i bnh th ng nh sau:

Chuyn gia lnh v c s gip nh phn tch "trnh by l i" v n

Hnh 1.2: Nhn v n Chnh v s k t qu h ng tr

t c a chuyn gia phn tch ng vai tr r t quan i v i cc chuyn

gip c a chuyn gia lnh v c c th o n c th hi n sao cho d ng.

tr ng nn trong nh ng giai phn tch nn gia lnh v c.

u c a qu trnh pht tri n ph n m m, hi u

y cng l mt trong r t nhi u l do khi n cho phng php

i t ng c nhi u ng i h ng

V ng b c cng doanh nghi p s

2.3- Cc giai o n c a Chu Trnh Pht Tri n Ph n M m:


Chu trnh c a m t ph n m m c th sau: Nghin c u s b Feasibility Study) Phn tch yu c u (Analysis) Thi t k h th ng (Design of the System) Xy d ng ph n m m (Software Construction) Th nghi m h th ng (System Testing) Th c hi n, tri n khai (System Implementation) B o tr, nng c p (System Maintenance) a - Nghin c u s b : Cu h i quan tr ng nh t khi pht tri n m t h ph i cu h i v th ng k th ng hon ton n (Preliminary Investigation hay cn g i l c chia thnh cc giai o n nh

khng ph i cu h i mang tnh phng php lu n. M cng ch ng thu t. N l m t cu h i d ng nh c v c bi t kh tr c l i: y c gi n, nhng th t ra th c t th ng ch ng h M c d vi c l m l n v thu t cng c th c c u vn n u c ng l m t h c tr l i. k n c th i u g

th c hi n khng?

ng bu n l chnh cu h i ny trong t ra v l i cng khng nh sai l m v

phng php hay quy t y ti nguyn cng s

d n t i th t b i, nhng th ng th d

c g ng qun mnh

c a cc nhn vin ti gi i. Nhng s ho c c g ng t

ch ng m t ai v m t

c u vn cho m t h th ng ph n m m hon ton ch ng c c n t i ng ha m t quy trnh l m l c. n, b n ph i c m t t ng cho n.

Tr c khi b t tay vo m t d t ng ny trong giai su t giai o n kh i

i song song v i vi c n m b t cc yu c u v xu t hi n u. N hon t t m t pht bi u: "H th ng m lm c nh ng vi c nh sau....". Trong t ng , ng

chng ta mong mu n s r t nhi u gi thuy t s

o n ny, chng ta t o nn m t b c tranh v

c cng nh n hay lo i b . Cc ho t

trong th i gian ny th ng bao g m thu th p cc t ng, nh n bi t r i ro, nh n bi t cc giao di n bn ngoi, nh n bi t cc cc ch c nng chnh m h nguyn m u dng t ng c th n t th ng c n cung c p, v c th t o m t vi th ng. minh ch ng cc khi ni m c a h

nhi u ngu n khc nhau: khch hng, chuyn

V ng b c cng doanh nghi p s


gia lnh v c, cc nh pht tri n khc, chuyn gia v b n nghin c u tnh kh k ny th ng s th m tra hay tr b "b k ngh , cc th ng ch

thi cng nh vi c xem xt cc h i, b i chng

khc ang t n t i. M t kha c nh c n nh c t i l code vi t trong th i c vi t nh m m c gip cc gi thuy t khc nhau, ch cha ph i th

code c vi t theo k t qu phn tch v thi t k th u o. Trong giai an nghin c u s b , nhm pht tri n h s d ng, cng ngh th ng c n ng

xem xt cc yu c u c a doanh nghi p (c n dng h th ng), nh ng ngu n ti nguyn c th cng nh c ng ng i dng cng cc t ng c a h phn tch kh i v i h th ng m i. C th d ng v t o ch

th c hi n th o lu n, nghin c u, xem xt kha c nh thng m i, nng l i-l , phn tch cc tr ng h p s cc nguyn m u xy d ng nn m t khi ni m cho h th ng

cng v i cc m c ch, quy n u tin v ph m vi c a n. Th ng trong giai o n ny ng i ta cng ti n hnh t o m t phin d ng ti nguyn. ng s l p nn t p h p cc th ng kh ng s thi d n

b n th c a l ch trnh v k ho ch s M t giai o n nghin c u s b m c

thch

yu c u (d giai c

khi qut cao) khng

i v i m t h

v c mong mu n, k c v phng di n k thu t l n x h i. M t o n nghin c u s b th ng khng d ng. o n nghin c u s b l Bo Co K t Qu Nghin c ch p nh n d a trn u. c th c hi n tho t i cc h t t hay s c mong mu n, t ti n, b t kh thi v

nh ngha l m l c nh ng h th ng th ng ch ng

c hon

K t qu c a giai C u Tnh Kh

Thi. Khi h

th ng tng lai

b n bo co ny cng l lc giai o n Phn tch b t b- Phn tch yu c u Sau khi th ng hi u h xem xt v tnh kh c a d thi c a h

th ng cng nh t o l p o n

m t b c tranh s b

n, chng ta b c sang giai

c coi l quan tr ng nh t trong cc cng vi c l p trnh: th ng c n xy d ng. Ng i th c hi n cng vi c ny l nh

phn tch. Qu trnh phn tch nhn chung l h qu c a vi c tr l i cu h i "H th ng c n ph i lm g?". Qu trnh phn tch bao g m vi c nghin c u chi ti t h ho t th ng doanh nghi p hi n th i, tm cho ra nguyn l c nng cao, c i thi n. ng c a n v nh ng v tr c th

Bn c nh l vi c nghin c u xem xt cc ch c nng m h th ng

V ng b c cng doanh nghi p s


c n cung c p v cc m i quan h c a chng, bn trong cng nh xc nh cc yu c a

v i pha ngoi h th ng. Trong ton b giai o n ny, nh phn tch v ng i dng c n c ng tc m t thi t v i nhau c u i v i h vo h th ng. Nh ng m c tiu c th c a giai o n phn tch l: Xc nh h th ng c n ph i lm g. th ng, t c l cc tnh nng m i c n ph i

Nghin c u th u o t t c cc ch c nng c n cung c p v nh ng y u t lin quan Xy d ng m t m hnh nu b t b n ch t v n nhn c th c (trong Trao i s ng th c). cho chuyn gia lnh v c nh n s nh t m t h ng

nh ngha v n

gi, gp . K t qu c a giai o n phn tch l b n c T Yu C u

(Requirements Specifications). c - Thi t k Sau giai xc thi t k h th ng th i v i h th ng c

o n phn tch, khi cc yu c u c o n ti p theo l thi t k xoay quanh cu h i chnh: H

nh, giai

cho cc yu c u m i. Cng tc th ng lm cch no th a mn

cc yu c u c nu trong

c T Yu C u?

M t s cc cng vi c th ng c th c hi n trong giai o n thi t k : Nh n bi t form nh p li u ty theo cc thnh ph n d nh p. Nh n bi t reports v nh ng output m h th ng m i ph i s n sinh Thi t k k ) Nh n bi t cc thnh ph n d li u v b ng t o database l t input n output. forms (v trn gi y hay my tnh, s d ng cng c thi t li u c n

c tnh cc th t c gi i thch qu trnh x K t qu c T giai o n thi t k l c T Thi t K

(Design Specifications). B n

Thi t K

Chi Ti t s

c chuy n sang cho cc l p trnh vin

th c hi n giai o n xy d ng ph n m m. d - Xy d ng ph n m m

V ng b c cng doanh nghi p s


y l giai o n vi t l nh (code) th c s , t o h th ng. T ng ng i vi t nh s n. Cng chnh n chng trnh,

code th c hi n nh ng yu c u gi i thch th

c nh thi t k

ng i vi t code ch u trch nhi m vi t ti li u lin quan l do cho vi c ny.

t c (procedure) m anh ta t o nn c vi t nh th no v

m b o chng trnh c vi t nn ph i tho mn m i yu c u c ghi tr c trong b n ph i ti n hnh th c T Thi t K Chi Ti t, ng i vi t code cng ng th i nghi m nghi m ph n chng trnh c a mnh. Ph n th c chia thnh hai b c chnh:

trong giai o n ny c th Th

nghi m n v : cc ph n chng trnh c a mnh v i d c th c hi n theo m t k mong ch chnh trong giai li u gi ny

Ng i vi t code ch y th

(test/dummy data). Vi c ny

ho ch th , cng o n th i. Giai o n th

do chnh ng i vi t code so n ra. M c nghi m n v nhi u khi c g i l "Th Th

l xem chng trnh c cho ra nh ng k t qu

h p tr ng" (White Box Testing)

nghi m n v c l p: m trch. C n ch n n v chng t ny

Cng vi c ny do m t thnh vin khc trong nhm ng i khng c lin quan tr c ti p trnh c n th nghi m m b o tnh

n vi c vi t code c a

c l p. Cng vi c th

cng c th c hi n d a trn k ho ch th e- Th nghi m h t c th ng t c c n c th

do ng i vi t code so n nn.

Sau khi cc th b ti t ghi trong tho tch mn. D

nghi m ring, c n ph i th

nghi m ton

h th ng. M i th li u th

c tch h p v ch y th , ki m tra xem m i chi c ch n l c c bi t, k t qu c n c phn

c T Yu C u v nh ng mong ch c a ng i dng c c

pht hi n m i l ch l c so v i mong ch .

f - Th c hi n, tri n khai Trong giai o n ny, h th ng v a pht tri n s ng i dng th t s m b o h th ng c tri n khai sao cho b t tay vo s c s d ng h li u c n thi t cng nh d ng h u hi u

pha ng i dng. Tr c khi hu n luy n cho ng i dng, nh t. g - B o tr, nng c p Ty theo cc bi n l i th i hay c n ph i

th ng, nhm cc nh pht tri n c n t o cc file d

i trong mi tr ng s c s a

d ng, h s

th ng c th

tr

nn

i nng c p

d ng c hi u qu . Ho t

V ng b c cng doanh nghi p s


ng b o tr h th ng c th r t khc bi t ty theo m c s a i v

nng c p c n thi t.

t ng qut cc giai o n c a Chu Trnh Pht Tri n Ph n M m:

Hnh 1.3: S

t ng qut cc giai o n c a Chu Trnh Pht Tri n Ph n M m

3- Phng php h ng ch c nng v phng php h ng t ng: 3.1- Phng php h ng ch c nng:

y l l i ti p c n truy n th ng c a ngnh Cng ngh ph n m m. Theo l i ti p c n ny, chng ta quan tm ch y u t i nh ng thng tin m h th ng s gi gn. Chng ta h i ng i dng xem h ngn hng d li u nh p thng tin v in bo co s c n nh ng thng tin no, , cung n c trnh by cc thng tin. Ni ng ( ng x ) r i chng ta thi t k c p Forms ch a nh ng thng tin

m t cch khc, chng ta t p trung vo thng tin v khng m y nh ng g c th x y ra v i nh ng h th ng v cch ho t c a h th ng l ra sao. p d ng y l l i ti m c n xoay quanh d li u v

t o nn hng ngn h th ng trong su t nhi u nm tr i.

V ng b c cng doanh nghi p s


L i ti p c n xoay quanh d hng d ng d ng l i c th li u l phng php t t cho vi c thi t k ngn

li u v n m b t thng tin, nhng n u p d ng cho vi c thi t k khi n pht sinh nhi u kh khn. M t trong nh ng i v i cc h th ng th ng xuyn thay l vi c thay i. M t li u c th d dng x i ngn hng

thch th c l n l yu c u h th ng xoay quanh d d hay cch ho t

li u, nhng l i kh th c thi nh ng thay ng c a h th ng. i t ng

i trong nguyn t c nghi p v

Phng php h ng V i l i ti p c n h ng v n

c pht tri n ng.

tr l i cho v n

i t ng, chng ta t p trung vo c

hai m t c a

: thng tin v cch ho t

3.2- Phng php h ng

i t ng:
thng d ng hi n th i c a ngnh cng ang nhanh chng tm cch p d ng v ng d ng c a h . Th t s l a ph n i i t ng. Nhng h ng

H ng i t ng l thu t ng nghi p ph n m m. Cc cng ty cc ng d ng hi n th i

tch h p cng ngh m i ny vo cc t ng c ngha l g? L i ti p c n h ng

u mang tnh h ng

i t ng l m t l i t duy v

v n

theo l i nh x i th c. V i l i xy d ng n tr

cc thnh ph n trong bi ton vo cc ti p c n ny, chng ta chia i t ng, chng tng chi xy lu lo i m u g M t khi nhau t o i

i t ng ngoi

ng d ng thnh cc thnh ph n nh , g i l cc c l p v i nhau. Sau i t ng ta c th l i v i nhau. Hy ngh

ng d ng b ng cch ch p cc cn b n, t

i b ng cc m u g . B c

u tin l t o hay mua m t vi ch p rp chng l i v i xy d ng m t s i

t o nn cc kh i xy d ng cn b n c a mnh. , b n c th nh v y m t khi

c cc kh i xy d ng t o lu i. Tng t

t ng cn b n trong th gi i my tnh, b n c th ch p chng l i v i nhau ng d ng c a mnh. n gi n: v n y s l nh x rt ti n m t t i nh bng. Cc m u c a cc i t ng ngoi c s i th c nh c nh n ng d ng s i t ng .

Xin l y m t v d g thnh ph n

ti kho n, nhn vin, khch hng, V di n cng nh gi i p xoay quanh cc

4- U

I M C A M HNH H NG
4.1- Tnh ti s d ng (Reusable)

I T NG:

Phng php phn tch v thi t k h ng v khi ni m c a ph m vi lnh v c

i t ng th c hi n theo cc thu t ng

ng d ng (t c l c a doanh nghi p hay n v

V ng b c cng doanh nghi p s


m h thi t k th ng tng lai c n ph c v ), nn n t o s th c ngoi i. Trong v d v th c hi n ti p c n tng ng gi a h

th ng v v n

bn xe t, m i giai

o n phn tch

u xoay quanh cc khi ni m nh khch hng, nhn vin ng th i l qu trnh

bn hng, xe t, V qu trnh pht tri n ph n m m chuyn gia lnh v c, chuyn gia k

c ng tc c a khch hng/ng i dng, nh phn tch, nh thi t k , nh pht tri n, thu t,... nn l i ti p c n ny khi n cho vi c giao ti p gi a h v i nhau c d dng hn. M t trong nh ng u thi t k h ng i m quan tr ng b c nh t c a phng php phn tch v d ng: b n c th t o cc thnh ph n ( i

i t ng l tnh ti s

t ng) m t l n v dng chng nhi u l n sau . Gi ng nh vi c b n c th ti s d ng cc kh i xy d ng (hay b n sao c a n ) trong m t to lu nh , m t con tu v tr , b n cng c th h ng ti s t ng) cn b n trong cc thi t k i, m t ngi i d ng cc thnh ph n ( t hng. , nn kh

i t ng cng nh code c a m t h

th ng k ton, h th ng ki m k, ho c m t h th ng V cc i t ng d ng c th nghi m k

cng trong l n dng tr c

nng ti s

i t ng c tc d ng gi m thi u l i v cc kh khn trong vi c thi t k v pht tri n ph n m m. i t ng gip chng ta x h l cc v n ph c t p trong nng thch ng v

b o tr, gip tng t c Phng php h ng b n ch c.

pht tri n ph n m m v t o ra cc th

ph n m m c kh

4.2- Cc giai o n c a chu trnh pht tri n ph n m m v i m hnh h ng i t ng: Phn tch h ng i t ng (Object Oriented Analysis - OOA): L giai an pht tri n m t m hnh chnh xc v sc tch c a v n i t ng v khi ni m o n OOA, v n i th c, d hi u i v i ng i s , c thnh d ng. ng v i

ph n l cc Trong giai cc

c trnh by b ng cc thu t ng , h th ng c n ph i c

tng

i t ng c th c. Thm vo

nh ngha sao cho

ng i khng chuyn Tin h c c th d dng hi u c. D a trn m t v n b n thi t k c s n, nh phn tch c n nh x cc s i t ng hay th c t o ra c ch a cc th c th i

th c th c nh khch hng, t, ng i bn hng, vo thi t k g n c n v i tnh hu ng th c. M hnh thi t k c th c v gi trong m t v n

nguyn cc m u hnh v c u trc, quan h cng d ng phng php h ng thu c m t v n c th c m

nh hnh vi c a chng. Ni m t cch khc, s t ng chng ta c th v n gi m hnh ha cc th c th

c c u trc, quan h cng nh hnh vi c a chng.

V ng b c cng doanh nghi p s


i v i v d nh: Khch hng Ng i bn hng Phi u t hng m t phng bn t, giai o n OOA s nh n bi t c cc th c th

Phi u (ho n) thanh ton Xe t Tng tc v quan h gi a cc i t ng trn l:

Ng i bn hng d n khch hng tham quan phng trng by xe. Khch hng ch n m t chi c xe Khch hng vi t phi u Khch hng tr ti n xe Xe t c giao n cho khch hng t xe

i v i v d nh bng l , giai o n OOA s nh n bi t c cc th c th nh: Lo i ti kho n: ATM (rt ti n t (bnh th ng), Fixed ( Khch hng Nhn vin Phng my tnh. Tng tc v quan h gi a cc i t ng trn: u t),... ng), Savings (ti t ki m), Current

M t khch hng m i m m t ti kho n ti t ki m Chuy n ti n t Chuy n ti n t Xin ch l ho t y, nh ti kho n ti t ki m sang ti kho n u t

ti kho n ti t ki m sang ti kho n ATM n c hai kha c nh: thng tin v cch

ni, ta ch

ng c a h th ng (t c l nh ng g c th x y ra v i nh ng thng tin ). " i th c vo my tnh nh th i t ng. th t s l u

L i phn tch b ng ki u nh x

i m l n c a phng php h ng Thi t k OOD):

h ng i t ng (Object Oriented Design -

V ng b c cng doanh nghi p s


L giai o nt ch c chng trnh thnh cc t p h p l th c th i t ng c ng tc, m i i

t ng trong

c a m t l p. Cc l p l thnh vin c a m t cy c u

trc v i m i quan h th a k . M c ch c a giai kh o n OOD l t o thi t k d a trn k t qu c a giai nh phi ch c nng, nh ng yu c u v o n OOA, c a

d a trn nh ng quy yu c u v

mi tr ng, nh ng m b o tho mn t t

nng th c thi,.... OOD t p trung vo vi c c i thi n k t qu

OOA, t i u ha gi i php c cung c p trong khi v n c cc yu c u c xc l p. Trong giai o n OOD, nh thi t k nh chng c n ph i y cng l giai

nh ngha cc ch c nng, th c

t c

(operations), thu c tnh (attributes) cng nh m i quan h l p (class) v quy t mi tr ng pht tri n. o n

c a m t hay nhi u li u v p

i u ch nh sao cho ph h p v i thi t k ngn hng d

d ng cc k thu t tiu chu n ha. V cu i giai Cc bi u o n OOD, nh thi t k ny c th tnh bi u th cc l p v a ra m t lo t cc bi u i t ng, trong khi bi u (diagram) khc ng. ng bi u th n v thnh

nhau. Cc bi u

c chia thnh hai nhm chnh l Tnh v

tng tc gi a cc l p v phng th c ho t sau ny c th ph n nh hn c a ng d ng. L p trnh h ng

ng chnh xc c a chng. Cc l p

c nhm thnh cc gi (Packages) t c l cc

t ng

(Object

Oriented

Programming - OOP): Giai s o n xy d ng ph n m m c th i t ng. h ng c th c hi n s d ng k thu t l p trnh i t ng qua vi c i t ng. M t vi c a vo s

h ng ngn ng

l phng th c th c hi n thi t k h ng l p trnh c h tr cc tnh nng h ng c, n ch i t ng th ng

d ng m t ngn ng

c nh c t i l C++ v Java. K t qu chung

cu c c a giai

o n ny l m t lo t cc code ch y

d ng sau khi tr i qua nhi u vng quay c a nhi u b c th nghi m khc nhau.

PH N CU H I
H i: M t s t p h p d s truy n t i p: ng n ng i li u ph c t p nh t nh khi c trnh by b ng li u th? th c nhi u thng tin hn so v i cc d

H i: M hnh gip chng ta t ch c, trnh by tr c quan, th u hi u v t o nn cc h th ng ph c t p. p: ng

V ng b c cng doanh nghi p s


H i: u (Reusable)? p: ng. i m l n nh t c a m hnh h ng i t ng l tnh ti s d ng

V ng b c cng doanh nghi p s

1- GI I THI U UML:
1.1- M hnh ha h Nh trnh by th ng ph n m m: o n phn tch h th ng l s n d ng v nh cc

ph n tr c, m c tiu c a giai

xu t ra m t m hnh t ng th c a h th ng c n xy d ng. M hnh ny c n ph i c trnh by theo h ng nhn (View) c a khch hng hay ng i s lm sao h hi u c. M hnh ny cng c th i v i h th ng v qua n. c lnh h i m t cch th u u tin ng i ta o trong h u nh u, khi mu n quy t cs d ng xc yu c u c a ng i dng kh thi c a d gip chng ta

nh gi tnh

T m quan tr ng c a m hnh xy d ng m t v t th no nh c ,

t t c cc ngnh khoa h c k thu t t

nhi u th k nay. B t k

t o nn cc b n v

ngo i hnh l n phng th c ho t . V t

ng c a n. Ch ng h n cc b n v k c th t n t i trong m t s giai o n

thu t th ng g p l m t d ng m hnh quen thu c. M hnh nhn chung l m t cch m t c a m t v t th no nh t nh, d l giai o n thi t k hay giai o n xy d ng ho c ch l m t k c chia thnh nhi u h ng c xy d ng

ho ch. Nh thi t k c n ph i t o ra cc m hnh m t t t c cc kha c nh khc nhau c a s n ph m. Ngoi ra, m t m hnh c th nhn, m i h ng nhn trong s trong nhi u giai chi ti t nh t nh. c m t c th trong ngn ng tr c quan, i u c ngha l a o n v chng s m t m t kha c nh ring bi t c a s n c b sung thm m t s

ph m hay h th ng c n c xy d ng. M t m hnh cng c th m i giai o n, m hnh s

M hnh th ng

ph n cc thng tin Theo

hi n b ng cc k hi u thng tin m i

h a v cc k t n i gi a d ng vn b n; ngn t ". T o m tr

chng, ch khi c n thi t m t s ng nh cu ng n ng

c bi u di n

"M t b c tranh ni nhi u hn c

hnh cho cc h th ng ph n m m tr c khi th c s c ng

xy d ng nn chng,

thnh m t chu n m c trong vi c pht tri n ph n m m v

c ch p nh n trong

ng lm ph n m m gi ng nh trong b t k m t ngnh khoa h c k thu t

no khc. Vi c bi u di n m hnh ph i tho mn cc y u t sau: Chnh xc (accurate): M t ng h th ng c n xy d ng. c mu

ng nh t (consistent): Cc view khc nhau khng thu n v i nhau.

C th hi u c (understandable): Cho nh ng ng i xy d ng l n s d ng i (changeable)

D thay

V ng b c cng doanh nghi p s


D dng lin l c v i cc m hnh khc. C th ni thm r ng m hnh l m t s n gi n ho hi n th c. M hnh c

xy d ng nn ton th c a n.

chng ta d dng hi u v hi u t t hn h th ng c n xy d ng.

T o m hnh s gip cho chng ta hi u th u o m t h th ng ph c t p trong s

Ni tm l i, m hnh ha m t h th ng nh m m c ch: Hnh dung m t h chng ta. Ch r c u trc ho c ng x c a h th ng. th ng theo th c t hay theo mong mu n c a

T o m t khun m u h ng d n nh pht tri n trong su t qu trnh xy d ng h th ng. Ghi l i cc quy t nh c a nh pht tri n s d ng sau ny.

1.2- Tr c khi UML ra i: u nh ng nm 1980, ngnh cng ngh ng h ng h ng trong s ph n m m ch c duy nh t m t ngn 1980, cc ngn ng i t ng. V m t vi u th p k 90

i t ng l Simula. Sang n a sau c a th p k th ng ph n m m theo h ng

i t ng nh Smalltalk v C++ xu t hi n. Cng v i chng, n y sinh nhu nh ng ngn ng m hnh ho xu t hi n nh ng nm

c u m hnh ho cc h c nhi u ng i dng l:

Grady Boochs Booch Modeling Methodology James Rambaughs Object Modeling Technique OMT Ivar Jacobsons OOSE Methodology Hewlett- Packards Fusion Coad and Yordons OOA and OOD M i phng php lu n v ngn ng php x l ring v cng c h tr php no l t t nh t. phng php trn trn u c h th ng k hi u ring, phng l i, b i t t c cc i m

ring, khi n n y ra cu c tranh lu n phng i m m nh v i m y u ring. V th , cc nh d ng ph i h p cc khc bi t

y l cu c tranh lu n kh c cu tr

u c nh ng

pht tri n ph n m m nhi u kinh nghi m th ng s m nh c a m i phng php cho gi a cc phng php gian, t t c Chnh hi n th c ny h u nh khng ng k

ng d ng c a mnh. Trong th c t , s ti m c n l i v b

v theo cng ti n trnh th i sung l n cho nhau.

nh ng phng php trn

c nh ng ng i tin phong trong lnh v c m hnh ho

V ng b c cng doanh nghi p s


h ng i t ng nh n ra v h quy t nh ng i l i cng nhau tch h p nh ng

i m m nh c a m i phng php v a ra m t m hnh th ng nh t cho lnh v c cng ngh ph n m m. 1.3- S ra i c a UML:

Trong b i c nh trn, ng i ta nh n th y c n thi t ph i cung c p m t phng php ti m c n cc bi u c chu n ho v th ng nh t cho vi c m hnh ho h ng n m b t cc quy t lnh nh v m t thi t k i t ng. Yu c u c th l a ra m t t p h p chu n ho cc k hi u (Notation) v (Diagram) m t cch r , chng rng, rnh m ch. c ba cng trnh tin phong nh m t i m c tiu

c th c hi n d i s Ng

o c a James Rumbaugh, Grady Booch v Ivar n k t qu l xy d ng c m t Ngn

Jacobson. Chnh nh ng c g ng ny d n

M Hnh Ho Th ng Nh t (Unifield Modeling Language UML). m hnh ho th ng nh t c ph n chnh bao g m nh ng k i t ng s d ng th hi n v c t , tr c quan giao ti p gi a

UML l m t ngn ng hi u hnh h c,

c cc phng php h ng

miu t cc thi t k c a m t h th ng. N l m t ngn ng c n ng ph n m m cao. UML c th cs d ng lm cng c

ho, xy d ng v lm su li u cho nhi u kha c nh khc nhau c a m t h th ng ng i dng, nh phn tch, nh thi t k v nh pht tri n ph n m m. Trong qu trnh pht tri n c nhi u cng ty h tr v khuy n khch pht tri n

UML c th k t i nh: Hewlett Packard, Microsoft, Oracle, IBM, Unisys. 1.4- UML (Unifield Modeling Language): Ngn ng ngn ng m hnh ha th ng nh t (Unifield Modeling Language UML) l m t bi u di n m hnh theo h ng ch l: d ng cc khi ni m h ng i t ng. ki n i t ng c xy d ng b i ba tc

gi trn v i ch

M hnh ho cc h th ng s Thi t l p m t k t n i t c n m hnh ho. Gi i quy t v n v m c

nh n th c c a con ng i

n cc s

th a k trong cc h th ng ph c t p,

c nhi u rng bu c khc nhau. T o m t ngn ng my. 1.5- Phng php v cc ngn ng m hnh ho: m hnh ho c th s d ng c b i ng i v

Phng php hay phng th c (method) l m t cch tr c ti p c u trc ho s suy ngh v hnh ng c a con ng i. Phng php cho ng i s d ng bi t ph i

V ng b c cng doanh nghi p s


lm g, lm nh th no, khi no v t i sao (m c t k t qu ch c a hnh m t ng). Phng nh ng g s i m

php ch a cc m hnh (model), cc m hnh d ng cho vi c truy n language) l ngn ng

c dng

trong qu trnh s

d ng phng php.

khc nhau chnh gi a m t phng php v m t ngn ng cu l nh (instruction) m t nh ng cng vi c ng i s M t m hnh c bi u di n theo m t ngn ng t p cc quy t c ch cch s

m hnh ho (modeling

m hnh ho khng c m t ti n trnh (process) hay cc d ng c n lm. m hnh

m hnh ho. Ngn ng

ho bao g m cc k hi u nh ng bi u t ng c dng trong m hnh v m t d ng chng. Cc quy t c ny bao g m:

Syntactic (C php): cho bi t hnh d ng cc bi u t ng v cch k t h p chng trong ngn ng . Semantic (Ng c hi u th ngha): cho bi t ngha c a m i bi u t ng, chng no khi n m trong ho c khng n m trong ng c nh

c a cc bi u t ng khc. Pragmatic: nh ngha ngha c a bi u t ng sao cho m c ch

c a m hnh c th hi n v m i ng i c th hi u c.

2- UML TRONG PHN TCH THI T K


UML c th h ng c s d ng trong nhi u giai th c hi n v b o tr. V m c i t ng lo i h th ng khc nhau nh: H

TH NG:
pht tri n, thi t k cho t i ny l dng cc bi u

o n, t

ch chnh c a ngn ng

m t h th ng nn mi n

ng d ng c a UML bao g m nhi u

th ng th ng tin (Information System): C t gi , l y, bi n d ng. X l nh ng kho ng d trong cc c s

i li u

bi u di n thng tin cho ng i s d li u quan h hay h ng H th ng k

l n c cc quan h ph c t p, m chng c lu tr i t ng. l v

thu t (Technical System): X y l lo i thi t b ph i x

i u khi n cc c

thi t b k

thu t nh vi n thng, h

th ng qun s , hay cc qu l cc giao ti p

trnh cng nghi p. th c (real time). H

bi t, khng c ph n m m chu n v th ng l cc h th ng th i gian

th ng nhng (Embeded System): Th c hi n trn ph n c ng i n tho i di ng, i u khi n xe hi,

g n vo cc thi t b nh gian th c. Nh ng h mn hnh a c ng,

i u ny c th c hi n b ng vi c l p trnh m c th p v i h tr th i th ng ny th ng khng c cc thi t b nh

V ng b c cng doanh nghi p s


H m t s th ng phn b ( Distributed System): li u t ni ny c phn b ng b trn mb o

my cho php truy n d li u v th ng

n ni khc m t

cch d dng. Chng i h i cc c ch lin l c ton v n d

c xy d ng trn m t s cc k thu t

i t ng nh CORBA, COM/DCOM, hay Java Beans/RMI. H th ng Giao d ch (Business System): M t m c ch, ti

nguyn (con ng i, my tnh, ), cc quy t c (lu t php, chi n thu t kinh doanh, c ch , ), v cng vi c ho t Ph n m m h hnh, c s d th ng (System Software): d ng. ng kinh doanh. nh ngha c s h i u

t ng k thu t cho ph n m m khc s li u, giao di n ng i s

d ng, ch ng h n nh h

3- UML V CC GIAI

O N PHT TRI N H

TH NG

Preliminary Investigation: use cases th dng. Ph n miu t use case xc m i quan h v giao ti p v i h th ng. Analysis: M c ch chnh c a giai

hi n cc yu c u c a ng i

nh cc yu c u, ph n diagram th hi n

an ny l tr u t ng ha v tm cs d ng lm r s t n

hi u cc c c u c trong ph m vi bi ton. Class diagrams trn bnh di n tr u t ng ha cc th c th ngoi t i cng nh m i quan h i th c c a chng. Ch nh ng l p (class) n m trong

ph m vi bi ton m i ng quan tm. Design: K t qu ph n analysis c pht tri n thnh gi i php k thu t. Cc l p c m hnh ha chi ti t cung c p h t ng k thu t nh giao c t chi ti t di n, n n t ng cho database, K t qu ph n Design l cc cho giai o n xy d ng ph n m m. Development: M hnh Design s code. Testing: S d ng cc UML diagrams trong cc giai o n tr c. C 4 c chuy n thnh code. Programmer o n Design hi u v n v t o

d ng cc UML diagrams trong giai

hnh th c ki m tra h th ng: Unit testing (class diagrams & class specifications): ki m tra t ng n th , c dng ki m tra cc l p hay cc nhm n th . Integration testing (integration diagrams & collaboration diagrams): ki m tra tch h p l ki m tra k t h p cc

V ng b c cng doanh nghi p s


component v i cc l p ng khng. System testing (use-case diagrams): ki m tra xem h th ng c p ng c ch c nng m ng i s d ng yu c u hay khng. Acceptance testing: Ki m tra tnh ch p nh n th ng, th ng ny th c hi n tng t nh ki m tra h th ng. c c a h xem chng ho t ng v i nhau c

c th c hi n b i khch hng, vi c ki m tra

PH N CU H I
H i: UML (Unifield Modeling Language) l g? p: Ngn ng m hnh ha th ng nh t UML l m t ngn ng i t ng. m bi u

di n m hnh theo h ng H i:

i m khc nhau c b n gi a phng php (method) v m t ngn ng

hnh ho (modeling language) l g? p: i m khc nhau c b n gi a m t phng php v m t ngn ng m hnh ho khng c m t ti n trnh (process) nh ng cng vi c ng i s d ng chng. d ng c n c dng trong m

m hnh ho l ngn ng

hay cc cu l nh (instruction) m t

lm m n bao g m cc k hi u nh ng bi u t ng hnh v m t t p cc quy t c ch cch s

V ng b c cng doanh nghi p s

Chng 3: KHI QUT V

UML

1- UML V CC GIAI PH N M M

O N C A CHU TRNH PHT TRI N

1.1- Giai o n nghin c u s b : UML a ra khi ni m Use Case s d ng). UML s d ng bi u quan h cng nh s n m b t cc yu c u c a khch hng (ng i Use case (Use Case Diagram) nu b t m i

giao ti p v i h th ng.

Qua phng php m hnh ha Use case, cc tc nhn (Actor) bn ngoi quan tm t n h th ng s c m hnh ha song song v i ch c nng m h c miu t trong bi u c t i i u g pha h i h i pha h th ng (t c l Use case). Cc tc nhn v cc Use case c m t trong ti li u, v n s c m hnh

ha cng cc m i quan h v m t Use case hng: Anh ta hay ch ta ch vi c ch c nng ny s

Use case c a UML. M i cc yu c u c a khch n

th ng m khng h

c th c thi ra sao.

1.2- Giai o n phn tch: Giai cc o n phn tch quan tm i t ng) cng nh c ch n qu trnh tr u t ng ha u tin (cc l p v . Sau khi nh b ng ng

hi n h u trong ph m vi v n s

phn tch nh n bi t c cc l p thnh ph n c a m hnh cng nh m i quan h gi a chng v i nhau, cc l p cng cc m i quan h cng c bi u l p (class diagram) c a UML. S c miu t th c hi n cc Use case cng s t n t i trong ph m vi v n l p k thu t nh c miu t c ng tc gi a cc l p nh m vo cc m hnh

(dynamic models) c a UML. Trong giai

o n phn tch, ch duy nh t cc l p c i th c) l c m hnh ha. Cc li u, cho s giao ti p,

(cc khi ni m

nh ngha chi ti t cng nh gi i php trong h th ng ph n m m, v

d nh cc l p cho giao di n ng i dng, cho ngn hng d

trng h p, v.v..., cha ph i l m i quan tm c a giai o n ny. 1.3- Giai o n thi t k : Trong giai o n ny, k t qu c a giai o n phn tch s gi i php k thu t. Cc l p m i s k ngn hng d c t kh c b sung thu t: Giao di n ng i dng, cc ch c nng li u, giao ti p v i cc h c m r ng thnh m t cc i t ng trong

t o thnh m t h t ng c s lu tr

th ng khc, giao di n v i cc thi t b th ng,.... Cc l p thu c ph m vi v n v h t ng c s .

ngo i vi v cc my mc khc trong h giai o n phn tch s nng thay i trong c

c "nhng" vo h t ng c s k thu t ny, t o ra hai phng di n: Ph m vi v n

V ng b c cng doanh nghi p s


Giai o n thi t k s h th ng. 1.4- Giai o n xy d ng: Trong giai t ng c th o n xy d ng (giai o n l p trnh), cc l p c a giai o n thi t k s i a ra k t qu l b n c t chi ti t cho giai o n xy d ng

c bi n thnh nh ng dng code c th trong m t ngn ng (khng nn dng m t ngn ng cs thu c vo kh nng c a ngn ng khn hay d

l p trnh h ng

l p trnh h ng ch c nng!). Ph trong UML, t t d hi u, d

d ng, y c th l m t cng vi c kh i cc m hnh ny thnh cc c s d ng a ra nh ng k t

dng. Khi t o ra cc m hnh phn tch v thi t k o n tr c, m hnh s thnh m t tr

nh t nn c g ng n trnh vi c ngay l p t c bi n dng code. Trong nh ng giai lu n v vi c vi t code c th n gi n. Giai giao ti p v t o nn c u trc c a h chnh xc v

th ng; v v y, v i vng

ng i cho vi c t o ra cc m hnh o n ring bi t, ni cc

o n xy d ng l m t giai

m hnh c chuy n thnh code. 1.5- Th nghi m:

Nh trnh by trong ph n Chu Trnh Pht Tri n Ph n M m, m t h th ng ph n m m th ng c th nghi m qua nhi u giai nghi m o n v v i nhi u nhm th UML khc nhau lm n n d ng bi u d ng bi u l p (class thnh ph n o n u m b o ban nghi m khc nhau. Cc nhm s diagram) v th h c t l p, th d ng nhi u lo i bi u n v s

t ng cho cng vi c c a mnh: Th (component diagram) v bi u nghi m h th ng s ny. th ng c phng th c ho t

nghi m tch h p th ng s

c ng tc (collaboration diagram), v giai Use case (use case diagram) ng nh c nh ngha t ng

d ng bi u

trong cc bi u

2- CC THNH PH N C A NGN NG
Ngn ng UML bao g m m t lo t cc ph n t t o ra cc bi u c k p h p v i nhau cng c cc nguyn t c

UML
h a (graphic element) c th y l m t ngn ng , nn UML . UML:

.B i

k t h p cc ph n t

M t s nh ng thnh ph n ch y u c a ngn ng

H ng nhn (view): H ng nhn ch ra nh ng kha c nh khc nhau c a h th ng c n ph i c m hnh ha. M t h ng nhn tr u t ng ha bao g m nh ngha c a m t khng ph i l m t b n v , m l m t s m t lo t cc bi u

khc nhau. Ch qua vi c

lo t cc h ng nhn khc nhau, m i h ng nhn ch ra m t kha c nh ring bi t c a h th ng, ng i ta m i c th t o d ng nn m t b c tranh hon thi n v h th ng. Cng chnh cc h ng nhn ny

V ng b c cng doanh nghi p s


n i k t ngn ng pht tri n. Bi u s (diagram): Bi u l cc hnh v miu t n i dung c cc m hnh ha v i quy trnh c ch n cho giai o n

trong m t h ng nhn. UML c t t c 9 lo i bi u d ng trong nh ng s k t h p khc nhau h ng nhn c a m t h th ng. Ph n t s

khc nhau

cung c p t t c

m hnh ha (model element): Cc khi ni m c g i l cc ph n t i t ng quen thu c. V d nh l p,

d ng trong cc bi u

m hnh, th hi n i t ng,

cc khi ni m h ng thng c cs lin k t, ph

i p cng nh cc quan h gi a cc khi ni m ny, bao g m thu c, khi qut ha. M t ph n t m hnh th ng d ng trong nhi u bi u khc nhau, nhng n lun lun c

ch m t ngha v m t k hi u. C ch b th chung: C ch chung cung c p thm nh ng l i nh n xt php chung v c m hnh; chng cn cung c p thm cc c ch

sung, cc thng tin cng nh cc quy t c ng m r ng ngn ng

m t ph n t

UML cho ph h p v i m t phng php xc

nh (m t quy trnh, m t t ch c ho c m t ng i dng).

3- H NG NHN (VIEW)
M hnh ha m t h th ng ph c t p l m t vi c lm kh khn. L t ng nh t l ton b h th ng c miu t ch trong m t b n v , m t b n v cch r rng v m ch l c ton b ti p v d khng th h n m b t t t c h th ng, m t b n v hi u. M c d v y, th ng th c miu t y l chuy n b t kh miu t nh ngha m t thi. M t b n v th ng. M t m t ngoi ra l i cn d giao m t h

cc thng tin c n thi t

th ng c n ph i

v i m t lo t cc kha c nh khc nhau: V

ch c nng (c u trc tnh c a n cng nh cc tng tc nng (yu c u v th i gian, v cng nh v kha c nh t ch c (t

ng), v m t phi ch c n vo cc code c a ton b h

ng tin c y, v qu trnh th c thi, v.v. v v.v.) ch c lm vi c, nh x c miu t trong m t lo t cc h ng

module,...). V v y m t h th ng th ng

nhn khc nhau, m i h ng nhn s th hi n m t b c nh nh x th ng v ch ra m t kha c nh ring c a h th ng.

V ng b c cng doanh nghi p s

Hnh 3.1- Cc View trong UML M i m t h ng nhn c miu t trong m t lo t cc bi u , ch a ng cc

thng tin nu b t kha c nh v thi t k r t d x y ra s c th

c bi t c a h th ng. Trong th c t khi phn tch trng l p thng tin, cho nn m t bi u trn th t t th ng t th no

l thnh ph n c a nhi u h ng nhn khc nhau. Khi nhn h th ng. M t bi u t o trong m t h ng nhn c

nhi u h ng nhn khc nhau, t i m t th i m t kha c nh c a h c n ph i bi u c a h th ng n gi n c miu t

i m c th ng i ta ch t p trung vo dnh li n v i cc t t c cc

i u ki n giao ti p d dng, k t h p t t c

khc cng nh cc h ng nhn khc, lm sao cho b c tranh ton c nh b ng s cc thng tin t cc ph n t ch a cc k hi u hnh h c m t m hnh

h ng nhn. M t bi u

c a h th ng. UML c t t c cc h ng nhn sau: H ng nhn Use case (use case view): ngoi. H ng nhn logic (logical view): ch ra ch c nng s cng nh ng x ng c a h th ng. c thi t k y l h ng nhn ch ra h ng tc nhn bn

kha c nh ch c nng c a m t h th ng, nhn t

bn trong h th ng nh th no, qua cc khi ni m v c u trc tnh

H ng nhn thnh ph n (component view): ch ra kha c nh t ch c c a cc thnh ph n code. H ng nhn song song (concurrency view): ch ra s song/ trng h p trong h th ng, h ng n v n ng b ha trong h th ng. H ng nhn tri n khai (deployment view): ch ra kha c nh tri n khai h th ng vo cc ki n trc v t l (cc my tnh hay trang thi t b c coi l tr m cng tc). t n t i song giao ti p v

V ng b c cng doanh nghi p s


Khi b n ch n cng c chuy n t st m t ch c nng s c miu t khai ( v bi u , hy ch n cng c no t o i u ki n d dng ch quan ny cng ph i t o i u xem ch c nng ny

h ng nhn ny sang h ng nhn khc. Ngoi ra, cho m c c thi t k nh th no, cng c

ki n d dng cho b n chuy n sang h ng nhn Use case ( nh th no t xem ch c nng ny s c phn b

pha tc nhn), ho c chuy n sang h ng nhn tri n ra sao trong c u trc v t l - Ni

m t cch khc l n c th n m trong my tnh no). Ngoi cc h ng nhn k trn, ngnh cng nghi p ph n m m cn s h ng nhn khc, v d nghi p v s h ng nhn tnhd ng c cc

ng, h ng nhn logic-v t l, quy trnh

(workflow) v cc h ng nhn khc. UML khng yu c u chng ta ph i s d a trn cc

d ng cc h ng nhn ny, nhng y cng chnh l nh ng h ng nhn m cc

nh thi t k c a UML ngh t i, nn c kh nng nhi u cng c h ng nhn . 3.1- H ng nhn Use case (Use case View): H ng nhn Use case miu t tc nhn t bn ngoi mong c th l m t ng i s nghi m; n h

ch c nng c a h th ng s ph i cung c p do

i. Tc nhn l th c th tng tc v i h th ng;

d ng ho c l m t h th ng khc. H ng nhn Use case l qua cc bi u ho t c miu t Use case (use case diagram) v th nh ng (activity diagram). Cch s mang tnh d ng qua m t lo t cc Use case trong h ng c th cho i). y s

h ng nhn dnh cho khch hng, nh thi t k , nh pht tri n v ng i th c miu t tho ng cng bao g m c cc bi u th ng nhn chung s

nhn Use case, ni m i m t Use case l m t l i miu t

m t tnh nng c a h th ng (c ngha l m t ch c nng c mong H ng nhn Use case mang tnh trung tm, b i n

t ra n i dung thc

pht tri n cc h ng nhn khc. M c tiu chung c a h tnh phi ch c nng khc v th th ng qua vi c th h ng nhn ny c c s

th ng l cung c p cc n t t c cc i c a

ch c nng miu t trong h ng nhn ny cng v i m t vi cc thu c tnh mang nh h ng h ng nhn khc. H ng nhn ny cng khch hng (H i: " y c ph i l th d ng th m tra (verify) h ng v i mong c t ?).

nghi m xem h ng nhn Use case c ng nh

b n mu n") cng nh c ng v i h th ng

v a c hon thnh (H i: "H th ng c ho t

3.2- H ng nhn logic (Logical View): H ng nhn logic miu t cung c p. Ch h s y u n k phng th c m cc ch c nng c a h c s c d ng cho cc nh thi t k th ng s c

v nh pht tri n.

Ng c l i v i h ng nhn Use case, h ng nhn logic nhn vo pha bn trong c a th ng. N miu t tng tc ng s c u trc tnh (l p, i t ng, v quan h ) cng nh i p cho nhau cung x y ra khi cc i t ng g i thng

V ng b c cng doanh nghi p s


c p ch c nng nh s n. H ng nhn logic nh ngha cc thu c tnh nh

tr ng t n (persistency) ho c song song (concurrency), cng nh cc giao di n cng nh c u trc n i t i c a cc l p. C u trc tnh c miu t b ng cc bi u l p (class diagram) v bi u (sequence diagram), bi u ng (activity diagram). i

t ng (object diagram). Qu trnh m hnh ha tr ng thi (state diagram), bi u tng tc (collaboration diagram) v bi u trnh t ho t

ng c miu t trong cc bi u

3.3- H ng nhn thnh ph n (Component View): L m t l i miu t c a vi c th c thi cc modul cng nh s v i nhau. N th ng bi u nhau, s c s thnh ph n. Thnh ph n c ch ra trong bi u ph thu c gi a chng

d ng cho nh pht tri n v th ng bao g m nhi u y l cc modul l nh thu c nhi u lo i khc cng v i c u trc cng nh s cc thnh ph n, v d ph thu c c a nh v tr c a ti nguyn c b sung vo

chng. Cc thng tin b sung v (trch nhi m y. nh m t b n bo co v

i v i m t thnh ph n), ho c cc thng tin qu n tr khc, v d ti n trnh c a cng vi c cng c th

3.4- H ng nhn song song (Concurrency View): H ng nhn song song nh m t i s v cc b c a h x chia h th ng thnh cc qui trnh (process)

l (processor). Kha c nh ny, v n l m t thu c tnh phi ch c nng d ng m t cch h u hi u cc ngu n ti l cc s ki n khng nv n ng b t mi ng b c th c thi

th ng, cho php chng ta s

nguyn, th c thi song song, cng nh x tr ng. Bn c nh vi c chia h ha cc ti u trnh .

th ng thnh cc ti u trnh c th

song song, h ng nhn ny cng ph i quan tm

giao ti p v

H ng nhn song song ginh cho nh pht tri n v ng i tch h p h bao g m cc bi u bi u th c thi (bi u ng (tr ng thi, trnh t , tng tc v ho t thnh ph n v bi u tri n khai).

th ng, n

ng) cng cc

3.5- H ng nhn tri n khai (Deployment View): Cu i cng, h ng nhn tri n khai ch cho chng ta s c a h th ng, v d tri n khai v m t v t l

nh cc my tnh cng nh cc my mc v s nghi m h th ng v c th nh x

lin k t gi a

chng v i nhau. H ng nhn tri n khai ginh cho cc nh pht tri n, ng i tch h p cng nh ng i th hi n b ng cc bi u cc thnh ph n c a h i t ng no s c tri n khai. H ng nhn ny cng bao g m s th ng vo c u trc v t l; v d th c thi trn my tnh no.

nh chng trnh no hay

V ng b c cng doanh nghi p s

4- BI U
Bi u

(DIAGRAM)
bao g m cc k hi u ph n t m hnh ha c s p x p khc th hay m t kha c nh c th c a h th ng. M t , m i lo i c nhi u bi u th ; v khi c v

l cc hnh v

minh h a m t thnh ph n c m hnh h nhau. M t bi u bi u

th ng th ng c nhi u lo i bi u

l m t thnh ph n c a m t h ng nhn c

ra, n th ng th ng cng dung c a bi u Ph n sau miu t cc chi ti t v hnh .

c x p vo m t h ng nhn. M t khc, m t s lo i

c th l thnh ph n c a nhi u h ng nhn khc nhau, ty thu c vo n i

cc khi ni m cn b n n m , ng c miu t

ng sau m i lo i bi u

. T t c

bi u

c nh c a chng, ngha chnh xc c a chng v s chi ti t trong cc chng sau (m l y lm v d y c l y ra t nng p d ng ng). Cc bi u

tng tc gi a chng v i nhau i t ng m hnh nhi u lo i h th ng khc nhau

ch ra nt phong ph v kh

r ng kh p c a ULM. 4.1- Bi u M t bi u c a chng Use case (Use Case Diagram):

Use case ch ra m t s l ng cc tc nhn ngo i c nh v m i lin k t i v i Use case m h th ng cung c p (nhn hnh 3.2). M t Use case c a m t ch c nng m h th ng cung c p. L i miu t Use cng c th l m t bi u ngoi vo bn trong i v i mong i c a ng i s

l m t l i miu t ho t

case th ng l m t vn b n ti li u, nhng km theo c a cc tc nhn (hnh vi c a h d ng), khng miu t h th ng. Cc bi u case). ch c nng Use case s h th ng ra sao. Cc Use case th ng theo nh s c cung c p s

ng. Cc Use case c miu t duy nh t theo h ng nhn t ho t ng n i b

nh ngha cc yu c u v m t ch c nng

c miu t chi ti t hn trong chng 4 (Use

V ng b c cng doanh nghi p s


Hnh 3.2- Bi u use case c a m t cng ty b o hi m l p (Class Diagram): th ng (nhn hnh 3.3).

4.2- Bi u M t bi u Cc l p l ph

l p ch ra c u trc tnh c a cc l p trong h i di n cho cc v t c x

l trong h th ng. Cc l p c th quan thu c vo l p khc), chuyn bi t ha chuyn bi t ha c a l p khc), hay n v ). T t c cc m i quan h c coi l

h v i nhau trong nhi u d ng th c: lin k t (associated - c n i k t v i nhau), thu c (dependent - m t l p ny ph (specialized - m t l p ny l m t k t qu bi u u c th hi n trong bi u

ng gi ( packaged - h p v i nhau thnh m t theo khi ni m thu c tnh (attribute) v th tnh theo phng di n c u trc th i i m no trong ton b vng M t h th ng th ng s cc bi u l p ny cng

l p, i km v i c u trc bn trong c a cc l p t c (operation). Bi u c miu t y c hi u l c t i b t k

i h th ng. l p ch ng ph i bao gi l p t t c

c m t lo t cc bi u

c nh p vo m t bi u l p. Bi u

l p t ng th duy nh t v c miu t chi ti t

m t l p c th tham gia vo nhi u bi u trong chng sau.

Hnh 3.3 - Bi u

l p cho m t giao d ch Ti chnh i t ng (Object Diagram): l p v th ng cng s ny n m d ng ch

4.3- Bi u M t bi u bi u M t bi u m t th i l p, ch tr

i t ng l m t phin b n c a bi u l p. S i t ng ch ra m t lo t cc

cc k hi u nh bi u

khc bi t gi a hai lo i bi u c a bi u

i t ng th c th c a l p, thay v cc l p. l p, ch ra m t b c tranh

i t ng v v y l m t v d i m no . Bi u i t ng s

th c t c th x y ra khi h th ng th c thi: b c tranh m h th ng c th c t i d ng chung cc k hi u c a bi u hai ngo i l : i t ng c vi t v i tn c g ch d i v t t c cc u c ch ra (nhn hnh 3.4).

th c th trong m t m i quan h

V ng b c cng doanh nghi p s


Bi u d ng i t ng khng quan tr ng b ng bi u v d ha m t bi u nh th c s l p, chng c th ra sao. M t bi u i t ng. c s th v i c ng

l p ph c t p, ch ra v i nh ng th c th c th b c tranh ton c nh s ng x d ng lm m t thnh ph n c a m t bi u ng gi a m t lo t cc

nh ng m i quan h

t ng th ng th ng

tc (collaboration), ch ra l i

Hnh 3.4 - Bi u

l p v bi u

i t ng th hi n c a l p

4.4- Bi u M t bi u ra t t c khi m t

tr ng thi (State Diagram): b sung cho l i miu t m t l p. N ch ki n

tr ng thi th ng l m t s cc tr ng thi m thay c xc thay i t ng t

i t ng c a l p ny c th i p nh n cho n - v d qua

c, v nh ng s nh

(event) no s gy ra s m t kho ng th i gian

i tr ng thi (hnh 3.5). M t s i hay l m t s

ki n c th x y ra thng bo r ng i u ki n no chuy n i i tr ng thi

g i thng

c th a mn. M t s ng lin quan, xc

i tr ng thi

c g i l m t s chuy n

tr ng thi (State Transition). M t chuy n ny di n ra. Bi u tr ng thi khng

i tr ng thi cng c th c m t hnh

nh i u g ph i c th c hi n khi s

c v cho t t c cc l p, m ch ring cho nh ng l p nh ngha r rng v hnh vi c a l p b nh tr ng thi cng c th

c m t s l ng cc tr ng thi c h ng v thay c v cho h th ng t ng th . Bi u chng sau (M hnh ng).

i qua cc tr ng thi khc nhau. Bi u

tr ng thi c miu t chi ti t hn trong

V ng b c cng doanh nghi p s

Hnh 3.5- M t v d v bi u 4.5- Bi u M t bi u (message) cc trnh t trnh t

tr ng thi (Sequence Diagram): ng gi a m t lo t cc ny l ch ra trnh t i m c th no i t ng (xem cc thng i p th c tng tc gi a

ch ra m t c ng tc

hnh 3.6). Kha c nh quan tr ng c a bi u c g i gi a cc i t ng, i u s x y ra t i m t th i trnh t trao

i t ng. N cng ch ra trnh t ch a m t lo t cc i thng i p gi a cc

trong trnh t

thi c a h th ng. Cc bi u b ng cc bi u ng th ng i p , v bi u ch ra s

i t ng c bi u di n trn xu ng d i trong i t ng khi th i gian ng th hi n i

ng. Tr c th i gian c h ng t c bi u di n b ng cc i p) n i li n gi a nh ng

tri qua. Cc thng

ng g ch ngang g n li n v i ng th ng c a vo ph n

mi tn (bi u th thng l c a bi u .

t ng. Tr c th i gian cng nh ng l i nh n xt khc th ng s

Hnh 3.6 - M t bi u 4.6- Bi u M t bi u

trnh t

cho Print Server

c ng tc (Collaboration Diagram): c ng tc trao ng, cng gi ng nh m t bi u trnh t ho c dng bi u c g i l y u t c nh i p ( c g i l tng tc), c ng tc th ng s trnh t ; n u ng

c ng tc ch ra m t s hi n s

trnh t . Th ng ng i ta s ch n ho c dng bi u c ng tc. Bn c nh vi c th bi u l ng c ng tc ch ra cc c nh). Vi c nn s i thng

i t ng v quan h c a chng (nhi u khi trnh t hay bi u

d ng bi u

c quy t

nh theo nguyn t c chung sau: N u th i gian hay trnh t

quan tr ng nh t c n ph i nh n m nh th hy ch n bi u

V ng b c cng doanh nghi p s


l y u t quan tr ng hn, hy ch n bi u c ng tc. Trnh t ny. i t ng, ni m t lo t cc i i tng tc gi a cc

i t ng c th hi n trong c hai lo i bi u Bi u t ng t ng c ch ra th c ng tc c v theo d ng m t bi u l p/ bi u

c ch ra cng v i m i quan h gi a chng v i nhau (s ch ra dng ch y thng t m cc thng c tr i p gi a cc

d ng nh ng k i p th ng i u ki n,

hi u nh trong bi u

i t ng). Cc mi tn c v gi a cc i t ng. Cc thng

nh km theo cc nhn (label), m t trong nh ng ch c nng c a nhn l i p cg i v , v.v... Khi i. N cng c th ch ra cc lm quen v i cch vi t nhn, m t theo dng th c thi cng ch a c cc i i t ng tch c c

ch ra nh ng gi tr nh pht tri n c th nh s trao

c bi u

c ng tc v tun th

i thng

i p. M t bi u

c ng tc cng c th ng song song v i cc

t ng tch c c (active objects), ho t khc (hnh 3.7). Bi u

c ng tc c miu t chi ti t trong chng sau.

Hnh 3.7 - M t bi u 4.7- Bi u M t bi u ho t

cng tc c a m t printer server ho t ng (Activity Diagram): l n l t c a cc ho t d ng miu t c s ng (activity) cc ho t d ng ng miu

ng ch ra m t trnh t ho t ng th ng ng khc, v d ho t

(hnh 3.8). Bi u t

c s

c th c hi n trong m t th cc dng ch y ho t tng tc. Bi u c t c a m t ho t tr ng thi hnh m t s trnh t

t c, m c d n cng c th

nh trong m t Use case hay trong m t ng, ch a ng - action). M t x y ra i u ki n, ngoi ra

ng bao g m cc tr ng thi hnh

ng c n ph i c th c hi n (m t hnh

ng s qua i khi hnh i u khi n cn c th

ng c th c hi n xong (khc v i bi u y ch y gi a cc tr ng thi hnh ch ra cc quy t nh, cc ng. Bi u

tr ng thi: m t tr ng thi ch chuy n sang tr ng thi khc sau khi ki n r rng !). Dng ng lin k t v i nhau. Bi u cn c th ch a cc lo i

cng nh ph n th c thi song song c a cc tr ng thi hnh trong t cch l thnh ph n c a hnh ng c th c hi n.

c t cho cc thng i p c g i i ho c c nh n v ,

V ng b c cng doanh nghi p s

Hnh 3.8 - M t bi u 4.8- Bi u M t bi u

ho t

ng cho m t printer server

thnh ph n (Component Diagram):

thnh ph n ch ra c u trc v t l c a cc dng l nh (code) theo khi l m t t p tin source code, c phn (binary) hay m t thnh ph n th c thi t

ni m thnh ph n code. M t thnh ph n code c th m t thnh ph n nh n thi hnh, nh th

(executable). M t thnh ph n ch a cc thng tin v cc l p logic ho c cc l p m c ngha l n t o ra m t nh x h ng nhn logic vo ph thu c gi a ng m m t h ng nhn thnh ph n. Bi u cc thnh ph n v i nhau, tr thnh ph n cng c th c thay c miu t i s thnh ph n cng ch ra nh ng s gy ra

gip cho cng vi c phn tch hi u

i v i cc thnh ph n khc. Thnh ph n c nhm gp l i v i nhau thnh t ng d ng trong cng vi c l p trnh c th

v i b t k lo i giao di n no m chng b c l , v d

nh giao di n OLE/COM; v chng c th gi (package). Bi u (xem hnh 3.9). thnh ph n c s

V ng b c cng doanh nghi p s


Hnh 3.9 - M t bi u 4.9- Bi u Bi u thnh ph n ch ra s ph thu c gi a cc thnh ph n m

tri n khai (Deployment Diagram):

tri n khai ch ra ki n trc v t l c a ph n c ng cng nh ph n m m th v t ng trang thi t b c n i k t gi a chng v i nhau, b n cng c th ch ra lo i c a c xc nh v tr ch ra nh ng ph n m m no s ph thu c gi a

trong h th ng. B n c th ch ra t ng my tnh c th (node) i km s cng nh cc cc thnh ph n. Bi u

cc m i n i k t . Bn trong cc nt m ng (node), cc thnh ph n th c thi c i t ng s c th c thi t i nh ng nt m ng no. B n cng c th ch ra s

tri n khai ch ra h ng nhn tri n khai, miu t

ki n trc v t l th t s ch t t c

c a h th ng.

y l m t h ng nhn r t xa l i miu t duy ch c nng c a h ng m t nt m ng trong m t ki n trc v t l cho t i nh ng r i cu i cng, ti n t i m t Use case. R t nhi u th ng c s d ng ng th i t o ra m t l i t ng th c a n.

nhn Use case. M c d v y, trong m t m hnh t t, ng i ta c th nh ng con ng d n t

thnh ph n c a n, cho t i l p m n th c thi, cho t i nh ng tng tc m cc i t ng c a l p ny tham gia h ng nhn khc nhau c a h miu t th u o

i v i h th ng trong s

Hnh 3.10 - M t bi u

tri n khai ch ra ki n trc v t l c a h th ng

5- PH N T
Cc khi ni m l m t xem n s miu t

M HNH (MODEL ELEMENT):


c s d ng trong cc bi u m hnh c c g i l cc ph n t nh ngha v i ng m hnh ngha (semantic), m

(model element). M t ph n t th hi n

nh ngha v b n ch t ph n t miu t

hay l m t xc

nh ngha chnh xc c s d ng

i u g trong nh ng l i kh ng . M t ph n t

nh r rng. M i ph n t

hnh cn c m t s ph n t

tr c quan, m t k hi u hnh h c

ny trong bi u

c th t n t i trong nhi u d ng

V ng b c cng doanh nghi p s


bi u c th khc nhau, nhng cng c nh ng nguyn t c xc c ch ra trong lo i bi u nh lo i ph n t no

no. M t vi v d cho ph n t

v hnh l l p,

i t ng, tr ng thi, nt m ng, gi, thnh ph n (hnh 3.11).

Hnh 3.11- Cc thnh ph n m hnh th ng dng Hnh 3.12 ch ra m t vi v d m hnh, chng c s lo i quan h ng ch : N i k t (Association): n i cc ph n t Khi qut ha (Generalization): cn ngha r ng m t ph n t m t ph n t S ph khc. thu c (Dependency): ch ra r ng m t ph n t ny ph v cc th c th n i (link). c g i l tnh th a k , c chuyn bi t ha c a d ng c a m i quan h , n i cc ph n t y cng l m t d ng ph n t m hnh khc v i nhau. M t vi

ny c th l m t s

thu c trong m t phng th c no vo m t ph n t khc. K t t p (Aggregation): M t d ng c a n i k t, trong m t ph n t ny ch a cc ph n t khc. ng

Ngoi ra cn c cc ph n t chng cng nh nh ng chng sau.

m hnh khc nh thng i p (Message), hnh cc ph n t u c gi i thch k

(action) v khun m u (stereotype). T t c ng d ng

m hnh, ngha c a l ng hn trong cc

V ng b c cng doanh nghi p s

Hnh 3.12 cc v d v vi lo i quan h

6- C CH
UML th

CHUNG (GENERAL MECHANISM):


cc c ch chung trong t t c sung, th ng cc bi u nh m m c ch y l nh ng thng tin khng th m hnh.

hi n m t s

cung c p thm cc thng tin b

c th hi n qua cc ch c nng v kh nng c b n c a cc ph n t 6.1- Trang tr (Adornment) Cc s v d th th trang tr tr c quan c th . l k thu t c s d ng c s

d ng km thm vo cc ph n t

hnh trong bi u th . Khi th

ng tc trang tr b sung thm ng s c in

ngha cho ph n t . M t

phn bi t m t lo i th c th (l p) v m t th c m. Khi cng chnh ph n t s c g ch d i v c nh t th th c g ch d i s . M t hnh ch

hi n m t lo i, tn ph n t tn c a th c th c in m s th y l m t v d

hi n ch m t th c th c coi l c

c a lo i ny, tn ph n t l n tn c a lo i

hi n l p v i tn hi n m t

hi n m t l p v tn

i t ng,

tiu bi u c a adornment. Cng nguyn t c m l th hi n m t

c p d ng cho cc nt m ng, khi k hi u nt c in c a l p nt m ng ny v d c t c th v s hay m t kho ng s

lo i nt, v d th c th m t s

nh my in (Printer), khi k hi u c g ch d i l th hi n m t Johns HP 5MP-printer. Cc ki u trang tr (multiplicity), ni s l ng l c c vi t l ng trong quan h

khc l cc l i n i v i nhau s g n ph n t

ch ra bao nhiu th c th c a cc lo i th c th

tham gia trong m t quan h . K hi u trang tr

m hnh c m n b sung thng tin (hnh 3.13).

Hnh 3.13 - Phn bi t gi a l p v 6.2- Ghi ch (Note)

i t ng b ng trang tr

V ng b c cng doanh nghi p s


Cho d m t ngn ng n cng khng th m hnh ha c c m r ng n bao nhiu chng n a, i u ki n b sung thm m hnh, b t c

nh ngha t t c m i vi c. Nh m t o

cho m t m hnh nh ng thng tin khng th k ni no trong b t k bi u L i ghi ch th ng n i b ng m t

c th hi n b ng ph n t

UML cung c p kh nng km theo l i ghi ch. M t l i ghi ch c th D ng thng tin c a b n thn n l chu i k t i km theo m t s

no, v n c th ch a b t k lo i thng tin no. (string), khng c UML di n gi i. m hnh trong bi u , c m hnh no c chi ti t ha cc ph n t

ng ch m ch m, ch ra ph n t

ho c c gi i thch (hnh 3.14). M t l i ghi ch th ng ch a l i nh n xt ho c cc cu h i c a nh t o m hnh, v d l i nh c nh c n ph i x l v n no trong th i gian sau ny. L i ghi ch cng c th ch a cc thng tin d ng khun m u (stereotype).

Hnh 3.14 - M t v d v ghi ch 6.3Cc ph n t ct (Specification) li u v ph n t nh

m hnh c thu c tnh (Property) ch a cc gi tr d trong m t d ng thng tin c xc

ny. M t thu c tnh c value), th ng chng

nh ngha v i m t tn v m t gi tr nh km (tagged nh tr c, v d nh ngha tr c, v d

s nguyn hay chu i k t . C m t lo t thu c tnh c nh ti li u (docement), trch nhi m (Responsibility), s v tnh song song (Conccurency). Thu c tnh m t l p s c s d ng thm cc c th c t b sung v

tr ng t n (Persistence)

m t ph n t , nh ng . V d tiu bi u l c t ny a ng nh, cung c p nhi u

thng tin bnh th ng ra khng c miu t thng tin hn v ph n cc cng c cc thu c tnh s

hi n trong bi u

b ng m t ti li u vn b n nh t

trch nhi m cng nh kh m hnh ha chng s no c ch ra (Hnh 3.15).

nng c a l p ny. Lo i

bnh th ng ra khng

c ch ra trong cc bi u c th

, nhng th ng th trong c truy c p qua hnh

nh p nt vo m t ph n t

, hi u qu l m t c a s ch a

ct v i t tc

V ng b c cng doanh nghi p s

Hnh 3.15- M t c a s

c t th hi n cc

c tnh c a class

7- M
php

R NG UML
c m r ng ho c c th ch c c m th c s a i ph h p v i m t phng th . Chng ta s bn nh c bi t, m t t hay m t ng i dng c

UML c th lu n s qua

n ba c ch

r ng UML: khun m u (stereotype), gi tr

km (tagged value) v h n ch (constraint). 7.1- Khun m u (Stereotype) C ch m r ng khun m u m hnh nh ngha m t lo i ph n t nh ng m hnh m i d a trn ngha (semantic) ring c th cs

m t ph n t m t ph n t

t n t i. Khun m u c th

c coi l "tng t " nh

c s n, c ng thm ph n quy

bi t khng c trong ph n t lo i ph n t h

g c kia. Khun m u c a m t ph n t

d ng trong cng tnh hu ng nh ph n t nh lin k t, khi qut ha, s ph

cn b n. Khun m u d a trn t t c cc thu c. Ngn ng UML c ch a m t s d ng s a i

m hnh s n c - l p, nt m ng, thnh ph n, cng nh cc m i quan nh ngha s n v chng c s UML.

l ng l n cc khun m u c cc ph n t ny gip gn gi

m hnh s n c, thay cho vi c ph i

nh ngha hon ton m i. C ch

tnh n gi n c a n n t ng ngn ng

V ng b c cng doanh nghi p s


Khun m u c miu t qua vi c a tn c a chng vo trong m t c p k t ngo c nh n ny c g i l c a ny. i km k

ngo c nh n <<>>, theo nh trong hnh 3.16. K t m t lo i khun m u c hi u hnh h c m t m u, ta s th c th c th

guillements. Khun m u cng c th c k hi u hnh h c ring. M t ph n t hi n b i tn khun m u k t h p c a c ph n t cn b n, hay l s hai y u t

B t k khi no m t ph n t v i <<Window>> s c n ph i c s Nh c

m hnh c n i k t v i m t tn ho c k hi u khun thu c lo i khun m u...". V d , m t l p

c " y l m t lo i ph n t

c g i l "m t l p trong d ng khun m u c a s ", nh ngha khi khun m u ny c nh ngha.

ngha c a n l m t d ng l p c a s . Nh ng thu c tnh c th m m t l p c a s

ni, khun m u l m t c ch m UML khng tr i c n thi t.

r ng xu t s c, l m t c ch ngn cho m hnh m i m b n c n ch n nh

ngn ng

nn qu ph c t p, m c d v n cho php th c hi n s a ph n cc ph n t UML. M t khun m u sau c

m r ng v s a th c s d ng

u c m t khun m u n n t ng trong ngn ng c ng thm cc ng m hnh cn thi u. ngha nn cc ph n t

ngha c n thi t, nh m m c

Hnh 3.16- Customer l m t l p khun m u <<Actor>> 7.2- Gi tr nh km (Tagged Value) Nh tr v ga tr ni, cc ph n t m hnh c th c cc thu c tnh ch a m t c p tn-gi c g i l cc nh ngha tr c, ch a u c d ng c

b n thn chng (hnh 3.17). Cc thu c tnh ny cng cn nh km. UML c ch a m t lo t cc thu c tnh d ng cng c th cc ph n t sung v

nhng k c ng i s cc thng tin b th c

nh ngha ra cc thu c tnh m i m hnh. M i hnh d ng thng tin

nh km vo ph n t : cc thng tin chuyn bi t v khc, v d nh cc cng c

phng php, cc

thng tin c a nh qu n tr v ti n trnh m hnh ha, cc thng tin c s b i cc cng c tin no m ng i s d ng mu n nh km vo ph n t m hnh.

t o code, hay b t k m t lo i thng

V ng b c cng doanh nghi p s

Hnh 3.17 - M t v d v Tagged Value 7.3- H n ch M ts S (Constraint) gi i h n v s c s d ng ho c ngha c a m t ph n t . d ng nhi u l n trong d ng trong ch m t bi u

h n ch l m t s

h n ch ho c s

c khai bo trong cng c v c s nh ngha v s

r t nhi u bi u

khc nhau, hay

, theo nh nhu c u. Hnh 3.18 ch ra m i quan h n i k t gi a nhm cc cng dn l n tu i v l p con ng i, ch ra r ng nhm cng dn c th miu t nhm ny, ng i ta ny s h n ch s nh ngha m t s c nhi u ng i lin quan. M c d v y, tham gia vo i nh ngha r ng ch nh ng ng i no l n hn 60 tu i m i c th

h n ch , h n h p tiu chu n tham gia c s

v i ch nh ng ng i no m thu c tnh tu i tc c gi tr l n hn 60. l ng nh ng ng i ns khng c n, ng i ta r t d t , n c th d n hi u l m khi di n t bi u

d ng trong m i quan h . N u . Trong tr ng h p t i

th c thi sai tri c a h th ng. c c t nh ngha v ring, v d cs c ng d ng tr c ti p trong cng c th nh: "cng dn gi" v d ng trong nhi u bi u nh ngha s n, chng c

Trong tr ng h p ny, h n ch chnh bi u c m n nh ngha v i tn cng l i

c c n t i. Nhng nhn chung th h n ch

"ng i c tu i l n hn 60", v h n ch ny s khc nhau. UML c ch a m t lo t cc h n ch miu t chi ti t trong cc chng sau.

Hnh 3.18- M t rng bu c h n ch h p

i t ng Person gp ph n vo quan h k t

V ng b c cng doanh nghi p s

8- M HNH HA V I UML
Khi xy d ng h nh m th ng v i UML, ng i ta khng ch xy d ng duy nh t m t m ch khc nhau. Trong giai o n phn tch, m c ch c a m ch c a hnh. S c nhi u m hnh khc nhau trong nh ng giai o n pht tri n khc nhau, n cc m c hnh l n m b t t t c cc yu c u g m cc l p v cc c ng tc " c ch i v i h th ng v m hnh ha n n t ng bao o n thi t k , m c

i th c". Trong giai

m hnh l m r ng m hnh phn tch, t o thnh m t gi i php k thu t kh thi, n mi tr ng c a cng vi c xy d ng (vi t code). Trong giai o n xy c vi t nn v o n tri n khai, m t c d ng code, m hnh chnh l nh ng dng code ngu n th t s , c d ch thnh cc chng trnh. V cu i cng, trong giai Kh nng theo di xuyn su t nhi u giai

l i miu t s gi i thch h th ng c n c tri n khai ra sao trong ki n trc v t l. o n v nhi u m hnh khc nhau m b o qua cc thu c tnh ho c cc m i quan h nng cao (refinement). M c d hnh l cc m hnh khc nhau, nhng chng u c n ph i thay c gn gi t t ng i ta c th u d c xy d ng nn dng i ng c l i, m

m r ng n i dung c a cc m hnh

giai o n tr c. Chnh v th , t t c cc m u v r i d n d n t ng b c

r ng ra hay ti thi t l p m hnh phn tch kh i a cc s 3.19). i vo m hnh thi t k

cng nh cc m hnh xy d ng (hnh

Hnh 3.19- M t h th ng c m t trong nhi u m hnh B n thn ngn ng nguyn t c ngn ng nh ng s quy n quy t kh nng UML khng ph thu c vo giai o n, c ngha l cng nh ng d ng t m hnh ha n m c nh ng m c

v cng nh ng bi u ph i thay

cs i nh m

vi c khc nhau trong nh ng giai nh xem m t m hnh s

o n khc nhau. Nh thi t k

ch no v bao trm nh ng ph m vi no. Ngn ng

m hnh ha ch cung c p

t o ra cc m hnh trong m t phong cch m r ng v nh t qun. UML, ton b cng vi c c n ph i c th c hi n

Khi m hnh ha b ng ngn ng ph i

theo m t phng php hay m t qui trnh, xc c ti n hnh v chng ph i

nh r nh ng b c cng vi c no

c th c thi ra sao. M t qui trnh nh v y

V ng b c cng doanh nghi p s


th ng s chia cng vi c ra thnh cc vng l p k ti p, m i vng l p bao g m

cc cng vi c: phn tch yu c u/ phn tch/ thi t k / th c hi n/ tri n khai. M c d v y, cng c m t quy trnh nh hn nh t, cng vi c s b t c p t i n i dung c a vi c m hnh ha. duy Bnh th ng ra, khi s n xu t m t m hnh ho c s n xu t ch m t bi u khc nhau, trnh by v n khoa h c v phc th o, trao Cng c c s

u b ng vi c thu th p m t nhm thch h p cc c nhn v m c tiu; h c ng tc cho m t giai o n h i th o i nh ng sng ki n v t ng v m hnh c th . c quy t c a o n ny l h t s c khc bi t v mang tnh c c m t n n t ng s th c s

d ng trong giai

ng u h ng - th ng l gi y dn post it hay b ng tr ng. Cng vi c nh ch ng no nh ng ng i tham gia c c m gic h th c ti n cho m t m hnh (gi ng nh m t tiu vo m t cng c , m hnh tiu s c t c t o d ng nn, ph h p v i nh ng quy gi i php ch c, v sau ). K t qu sau nh c a ngn ng c d v n

m t bi u

m hnh ha. li u ha v cng nh tch h p c tch nh t

Sau , m hnh c chi ti t ha qua nh ng cng vi c mang tnh vng l p, cng ngy cng c nhi u chi ti t v c b sung. Khi gi i php c a n, tiu m hnh c kh v th m nh s nng s ban c pht hi n, c nhi u thng tin hn d ng. Khi m hnh c thu th p v

u d n d n tr thnh m t l i chu n on cho m t g n hon thi n, m t s s n

c th c hi n, d n t i vi c m hnh ho c bi u khc trong cng d cng c ki m tra l i ch c ch n n

h p v i nh ng m hnh v bi u qun. M hnh sau ng v n

m b o s

ang gi i quy t

c n gi i quy t (hnh 3.20).

V ng b c cng doanh nghi p s

Hnh 3.20 - M t ti n trnh cho cng vi c m hnh ho th c t Cu i cng, m hnh s c th c thi v tri n khai thnh m t lo t cc nguyn c ki m tra tm khi m khuy t. Cc th c hi n t i t hay ph l qu l n, nh

m u (prototype), nguyn m u ny s

khi m khuy t bao g m k c cc ch c nng cn thi u, s r giai nh i r l i cng vi c c a mnh s o n s phc

s n xu t v pht tri n qu cao. Nh ng khi m khuy t th ng s p nh pht tri n kh c ph c chng. N u v n pht tri n c th ch c n thay hon t t bi u i ng c l i t t c cc b c cng vi c c a mnh cho t i t n ny khng l n, nh pht tri n c l c t c a m hnh. Xin l ng l n cc bi u c th c hi n ngay l p t c sau khi c m t s

u tin. N u cc v n

i m t vi thnh ph n trong t ch c ho c ; n ch nn c th c hi n khi

r ng b c t o nguyn m u khng th

V ng b c cng doanh nghi p s


lin quan. Nguyn m u sau ny c th ch nh m m c c v t i, c th c t o d ng nn

ch ki m tra, ho c l n u b c t o nguyn m u ny thnh

cng, n s tr thnh m t vng l p trong quy trnh pht tri n th t s .

9- CNG C
S tr

(TOOL)
m hnh ha ph c t p v r ng m nh UML c n thi t s c ng b u tin c a m t m hnh c th

d ng m t ngn ng

gip c a cng c . M c d phc th o m b o s

th c hi n b ng b ng tr ng cng gi y v m c, nhng cng vi c b o tr, ha v nh t qun trong m t lo t cc bi u khng th tr thnh kh thi n u khng c cng c . Th tr ng cng c m hnh ha d ng trong m c di k t khi xu t hi n t ng chng trnh. R t nhi u cng c trnh v m t cht, s ti n nh t trong th c t

khc nhau th ng l i

s kh i su t m t th i gian

u tin v cc chng trnh tr gip cho vi c t o ch thng minh hn cc chng c m t vi b c

d ng m t vi quy ch ki m tra tnh nh t qun ho c m t vi m hnh ha. M c d hm nay t i g n sng ki n kh i th y kia n gi n nh

ki n th c v phng php v ngn ng nh v nhi u cng c

nhi u hn (Rational Rose), nhng th tr ng v n cn khng t cng c cha c g t gia, v n cn ch a l i ho c nh ng nt k qu c, k c nh ng v n nh copy v dn. Nh ng cng c chng u c ngn ng ny cn h n ch ny. m hnh ha gi phng di n r ng t t c b n

m hnh ha ring, hay t nh t th cng c nh ng

ngha ring c a chng v ngn ng Cng v i s ra i c a ngn ng

UML, cc nh cung c p cng c

y c th dnh nhi u th i gian hn cho vi c nng c p cng c , b i h khng c n ph i d n tm d n s c cho vi c ngn ng m i. i c n ph i cung c p cc ch c nng sau: i u ki n d dng v v bi t ra cc bi u kh nng thng c nh bo m hnh. c n ph i m hnh c nh ng ng nh ngha cc phng php m i cng nh cc

M t cng c m hnh ha h n V minh

bi u : c n ph i t o hi u m c

trong ngn ng

m hnh ha. Cng c ch c a cc bi u

c n ph i

ngha cng nh cc quy t c ho c ngn ch n vi c s

n gi n,

n c th

d ng khng thch h p cc ph n t

Ho t ng nh m t nh kho (Repository): cng c h tr m t nh kho trung tm , th s thay t t c cc thng tin v c lu tr c cc bi u trong cng m t ch . N u v d khc c s d ng l p ny.

tn c a m t l p b thay

i trong m t bi u

i ny c n ph i x y ra trong t t

V ng b c cng doanh nghi p s


H ki n d m hnh ho c H c n h nhau. T ng t o code (code generate): m t cng c cao c p c n c s tr tr tr nh h ng (Navigation): cng c dng cho ng i s d ng t theo di m t ph n t bi u c n ph i t o i u

nh h ng v chuy n d ch trong ny sang bi u khc,

m r ng l i miu t c a m t ph n t . nhi u ng i s d ng (multiuser support): Cng c d ng, v t o i u ki n cho h cng

cho nhi u ng i s

lm vi c v i m t m hnh m khng ngn ch n ho c qu y ph l n

ph i c kh nng t o ra code, ni t t c cc thng tin trong m hnh c chuy n t i thnh cc khung code (code skeletons), d ng lm n n t ng cho giai o n xy d ng chng trnh. Ti t o m hnh (Reserve engineer): M t cng c cao c p c n ph i c kh nng nh ng dng code dng chuy n l p trnh. Tch h p v i cc cng c tr ng, v d khc: m t cng c khc, v i c c n ph i c kh c nh ng thnh ph n code ang t n t i v t c lm t d s n xu t ra m hnh. T suy ra, m t m hnh c th

t n t i; ho c m t nh pht tri n c th

i chuy n v gi a cng vi c m hnh ha v cng vi c

nng tch h p v i nh ng cng c

vi c pht tri n mi

nh cc trnh so n th o (editor), chng trnh d ch qu n tr c u hnh, h th ng

(compiler), chng trnh tm l i (debugger) cng nh cc cng c c a doanh nghi p khc nh cng c theo di cc phin b n. Bao qut m hnh nhau: cng c khc nhau) , t tc cc m c tr u t ng ha khc l i miu t c p tr u d ng m t l ng cc gi t c c th no

c n ph i d

chuy n t i t th ng (t c l

t ng ha cao nh t c a h

i xu ng cho t i c p c a nh ng dng code th t s . Sau

truy xu t nh ng dng l nh code cho m t th .

trong m t l p no , b n c th ch c n nh p chu t vo tn c a th t c trong m t bi u

Trao i m hnh: M t m hnh hay m t bi u hnh no c n ph i c kh nng c xu t ra t cs r i nh p vo m t cng c cng c

c a m t m ny

m t cng c

khc, gi ng nh nh ng dng l nh code d ng trong m t c p d ng cho i c n ph i

c s n sinh trong m t cng c ny c th khc. Nguyn t c trao

V ng b c cng doanh nghi p s


cc m hnh trong m t ngn ng xc. m hnh ha c nh ngha chnh

10- TM T T V
khc nhau c a h

UML
th ng. Ch khi k t h p t t c cc h ng nhn l i v i nhau, , y l nh ng nh ngha i

UML t ch c m t m hnh thnh m t lo t cc h ng nhn, th hi n cc kha c nh ng i ta m i co c m t b c tranh tr n v n v h th ng. M t h ng nhn khng ph i l m t hnh v , n i dung c a n c miu t qua cc bi u hnh v ch a ng cc ph n t . M t bi u m hnh ha. M t bi u ch a cc ph n t bnh th ng ch trnh nh l p,

by m t ph n n i dung c a m t h ng nhn, v m t h ng nhn c v i r t nhi u bi u m hnh, v d

t ng, nt m ng, thnh ph n v nh ng m i quan h nh n i k t, khi qut ha, ph thu c. Cc ph n t Cc lo i bi u bi u ny c ngha (semantic) v cc k hi u hnh h c. l p, bi u i t ng, bi u hnh Use case, ng, bi u

trong UML l: bi u

tr ng thi, bi u

trnh t , bi u

c ng tc, bi u

thnh ph n v bi u v chng s

tri n khai. M c ch c a cc lo i bi u

cng nh quy t c

c miu t chi ti t trong chng sau. b sung thng tin khng th c th hi n trong nh ng thnh ph n nh km, h n

UML c m t s c ch chung qu trnh v tnh ch bi u

. Nh ng thng tin ny bao g m v d

trang tr, cc l i ghi ch c th ch a b t k lo i thng tin no cng nh cc thu c c t . Ngoi ra cn c cc c ch m i v i ph n t , v khun m u, s n c. c miu t trong nhi u lo i m hnh khc nhau, m i lo i m nh ng yu c u i th c. M hnh thi t k thu t, theo khi ni m c a hi n i l p trnh h ng r ng, bao g m gi tr nh ngha m t lo i ph n t m hnh m i d a

trn m t ph n t M t h v th ng s

hnh nh m m t m c chuy n t i k t qu m t thi t k h

ch khc nhau. M hnh phn tch miu t

m t ch c nng v m hnh ha cc l p ngoi phn tch thnh m t gi i php k ph n m m ho t

ng hon ch nh. M hnh xy d ng code th nh v chng trnh v a

th ng qua vi c th o chng cho n trong m t ngn ng

t ng. V cu i cng, m hnh tri n khai

c t o nn

trong m t ki n trc v t l bao g m cc my tnh v cc trang thi t b . Cng vi c c lm theo nhi u vng l p khc nhau ch hi n m t l n. s c d ng UML m t cch nghim ch nh cho m t d n c th t ngoi i, b n , tr t t khng ph i ch l m t chu i th c

c n cng c . M t cng c tn ti n c kh nng cho ng i dng v bi u cc thng tin vo m t kho chung, cho php d h ng nhn v bi u

dng d ch chuy n gi a cc

khc nhau trong m hnh, t o bo co v ti li u, t o

V ng b c cng doanh nghi p s


khung code t m hnh, c nh ng dng code s n c r i s n sinh ra m hnh t

, v d dng tch h p v i cc cng c pht tri n khc.

PH N CU H I
H i: UML c cng c d ng)? p: Use Case H i: M t bi u trong UML c bao ch a cc h ng nhn khc nhau. khc nhau no gip n m b t cc yu c u c a khch hng (ng i s

p: Sai, m t h ng nhn bao g m m t lo i cc bi u H i: Hy li t k cc thnh ph n ch y u c a ngn ng p: H ng nhn( View), Bi u chung. H i: UML c cng c Testing)? p: Bi u H i: UML c cng c Testing)? p: Use case Diagram l p v ct l p cho giai o n th no ph c v cho giai o n th UML

(Diagram), Ph n t

m hnh, C ch

nghi m

n v (Unit

no ph c v

nghi m h th ng (System

H i: UML t o n n t ng cho vi c giao ti p gi a khch hng, nh phn tch, nh thi t k v l p trnh vin. p: ng

V ng b c cng doanh nghi p s

Chng 4: M hnh ha USE CASE

1- GI I THI U USE CASE


Trong giai o n phn tch, ng i s d ng c ng tc cng nhm pht tri n ph n yu c u i v i h th ng. d ng cn l m t thnh m m t o nn m t t h p thng tin quan tr ng v

Khng ch l ng i cung c p thng tin, b n thn ng i s ph n h t s c quan tr ng trong b c tranh ton c nh ph i ch ra c a ng i s c nh ng h c phng th c ho t d ng. Hi u c th ng v a tho

v nhm pht tri n c n t o d ng d ng,

ng c a h th ng tng lai theo h ng nhn t ra v a d dng s

i m quan tr ng ny l cha kha mn cc yu c u d ng.

th m ch t o ni m vui thch trong s Nh v y cng c

gip ta m hnh ho h th ng t

h ng nhn c a ng i s

d ng

g i l Use Case. V Gi s ti quy t

tr l i r hn v Use Case ta xt m t tr ng h p sau: nh mua m t chi c my fax m i. Khi c ch n y? Ti t n c a hng my vn

phng, ti m i nh n ra l ph i ch n l a trong m t danh sch my mc r t phong ph. Lo i my no s v i chi c my fax s h i th t chnh xc mnh mu n lm g ? Ti mu n mua? Ti mu n c nh ng tnh nng no? Ti mu n dng

b ng gi y th ng hay gi y thermal ? Ti mu n copy b ng ci my scanner? Ti c c n ph i g i fax th t nhanh s tng t c? Li u ti c mu n s i n tho i g i t i v m t b n fax g i t i ?. T t c chng ta mn hng no mnh s s k u tr i qua nh ng kinh nghi m nh v y khi quy t nm c

n i n v i my tnh c a mnh? Ti mu n dng n v a lm my fax v a lm c n m t ch c nng ch n phn bi t gi a m t c d ng my fax ny

nh mua m t lm trong h i

khng ph i v ni m vui b c pht. Vi c chng ta s

nh ng tr ng h p nh v y l m t d ng phn tch Use Case: Chng ta t ra sao? Tr l i xong cu h i trn ta m i c kh i h i c a mnh. i u quan tr ng

d ng s n ph m (hay h th ng) s p b t ta b ra m t kho n ti n ng nng ch n ra s n ph m y l ph i bi t nh ng i

tho mn nh ng h i l g.

Lo i quy trnh ny

ng vai tr r t quan tr ng

i v i giai

o n phn tch c a

m t nhm pht tri n h th ng. Ng i dng mu n s

d ng h th ng tng lai, h

th ng m b n s p thi t k v xy d ng, nh th no? Use Case l m t cng c d ng quy t ny. tr gip cho cng vi c c a nh phn tch cng ng i s th ng. M t t p h p cc Use Case s nh lm g v i h lm n i th ng

nh tnh nng c a h

b t m t h th ng theo phng di n nh ng ng i dng

V ng b c cng doanh nghi p s


lm r hn, ta hy xt m t v d nh bng l . H th ng tng lai trong tr ng h p ny s s nhi u ng i s m c ch khc bi t: Qu n tr gia s d ng h th ng cho m c ch th ng k d ng h th ng th c hi n cc d ch v d ng, m i ng i s giao ti p v i h th ng cho m t

Nhn vin ti p khch s ph c v khch hng. Nhn vin phng d ch lin quan n

u t s u t.

d ng h

th ng

th c hi n cc giao

Nhn vin th m tra ch

k s

d ng h

th ng cho m c n khch hng.

ch xc

nh n ch k v b o tr thng tin lin quan Khch hng giao ti p v i h s

th ng (nh bng) cho cc ho t

ng

d ng d ch v nh m ti kho n, g i ti n vo, rt ti n m t, d ng v h th ng trong m i m t tnh hu ng k d ng mu n th c thi

Qu trnh tng tc gi a ng i s trn s khc nhau v ph cng h th ng.

thu c vo ch c nng m ng i s

Nhm pht tri n h th ng c n ph i xy d ng nn m t k ch b n nu b t s tc c n thi t gi a ng i s d nh k ch b n cho s d ng v h th ng trong m i kh nng ho t tng tc gi a nhn vin thu ngn v h

tng ng. V

th ng c a b

ph n ti t ki m trong su t ti n trnh c a m t giao d ch. M t k ch b n khc v d l chu i tng tc x y ra gi a b ph n ti t ki m v b ph n d ch chuy n ti n. Nhn chung, c th v vi c s d ng h chu i ny s coi m t Use case nh l t p h p c a m t lo t cc c nh k ch th ng. M i c nh k ch m t m t chu i cc s ki n. M i m t u t trong m t giao

c kch ho t b i m t ng i no , m t h th ng khc hay l m t ki n nh th c g i l cc Tc Nhn (Actor). K t qu c a

ph n trang thi t b no , ho c l m t chu i th i gian. Nh ng th c th kch ho t nn cc chu i s chu i ny ph i c gi tr s m t tc nhn khc. d ng i v i ho c l tc nhn gy nn n ho c l

2- M T S

V D

USE CASE
trn, m t s nh ng Use Case d th y nh t l:

Trong v d nh bng l

M t khch hng m m t ti kho n m i. Phng u t tnh ton ti n li cho cc ti kho n u t.

M t chng trnh

u t m i c a vo p d ng.

V ng b c cng doanh nghi p s


Yu c u chuy n ti n c a khch hng c th c hi n. Chuy n ti n theo k h n t kho n ti t ki m. m t ti kho n u t sang m t ti

3- S
ni v

C N THI T PH I C USE CASE


xu t s c khuy n khch nh ng ng i dng ti m nng i v i ng i dng, ch ng ph i bao gi d ng h th ng cng l chuy n gy d ng th ng bi t nhi u hn nh ng g gip cho nhm pht tri n b h th ng t h ng nhn c a h .

Use Case l m t cng c

vi c th hi n v m t nh ng m h c th di n t ra: Cng c

nh trong vi c s Use Case s khc.

d dng. M t hi n th c c th t l ng i s "l p bng" cc bi u , ngoi ra m t s

trnh by tr c quan cng cho php b n k t h p

Use Case v i cc lo i bi u

Sng ki n ch cho vi c h

o l li cu n c ng i dng tham gia vo nh ng giai o n th ng chung cu c tr nh s tr thnh m t cng c quen thu c

tin c a qu trnh phn tch v thi t k h th ng. Vi c ny s ng i dng m n d

nng cao xc su t i v i cc

gip thay v l m t t p h p kh hi u v r i

r m c a cc khi ni m my tnh m ng i dng trong gi i doanh thng c c m gic khng bao gi hi u c v khng th lm vi c cng. Cng tc li ko ng i s c ng i s d ng tham gia tch c c vo qu trnh phn tch l n n th m xc cc nhi m v cn

t ng quan tr ng cho vi c t o d ng m t m hnh "thnh cng", m t m hnh d d ng hi u v ch p nh n sau khi b n. Ngoi ra, Use Case cn gip nhm pht tri n quy t th ng ph i tri n khai. nh cc l p m h

4- M HNH HA USE CASE


Tr ng h p s th ng m i s Use Case trong d ng l m t k thu t m hnh ha c s ph i lm g ho c m t h th ng d ng m t m t h ang t n t i lm g. M t m hnh th ng v khch

c xy d ng qua m t qu trnh mang tnh vng l p (interative), d ng cu i) s d n t i m t c t yu c u c t t c m i

nh ng cu c h i th o bn lu n gi a nhm pht tri n h

hng (ho c/v ng i s Jacobson, ng th p tc cm ts

ng i ch p nh n. Ng i cha tinh th n c a m hnh ha Use Case l Ivar t o nn k thu t m hnh ha d a trn nh ng kinh nghi m thu c bi t l n lao t pha c ng ng h ng i t ng v c trong qu trnh t o h th ng AXE c a hng Erisson. Use Case nh n quan tm ng ln r t nhi u phng php h ng i t ng khc nhau.

Nh ng thnh ph n quan tr ng nh t c a m t m hnh Use Case l Use Case, tc nhn v h th ng. Ranh gi i c a h th ng c nh ngha qua ch c nng t ng c th hi n qua m t lo t cc th m h th ng s th c thi. Ch c nng t ng th

V ng b c cng doanh nghi p s


Use Case v m i m t Use Case Case ph i th c thi ton b c t m t ch c nng tr n v n, c ngha l Use , t s ki n c kch ho t u tin b i i h i c th c hi n hon t t. cho m t tc nhn, gi

ch c nng

m t tc nhn ngo i c nh cho t i khi ch c nng tr ny l nh ng g m tc nhn mong mu n t l m t ng i s v i h th ng. Trong k thu t m hnh ha Use Case, h d ng c a h

M t Use Case lun lun ph i cung c p m t gi tr no

pha h th ng. Tc nhn l b t k l m t h

m t th c th ngo i c nh no mong mu n tng tc v i h th ng. Th ng th ng, th ng, nhng nhi u khi cng c th th ng khc ho c l m t d ng my mc thi t b ph n c ng no c n tng tc

th ng s

c hnh d ng c a m t "h p c p t i trong giai o n

en" v cung c p cc Use Case. H th ng lm i u nh th no, cc Use Case c th c thi ra sao, o n uc ad l nh ng kha c nh cha c ny. Trong th c t , n u m hnh ha Use Case c th c hi n trong nh ng giai

n th th ng nh pht tri n s khng bi t Use Case sau ny s

c th c thi (t c l bi n thnh nh ng dng code th t s ) nh th no. M c tiu chnh y u i v i cc Use Case l: nh v m t cc yu c u v s m t ch c nng c a h

quy t th ng,

y l k t qu

rt ra t

th a thu n gi a khch hng

(v/ho c ng i s

d ng cu i) v nhm pht tri n ph n m m. r rng v nh t qun v m hnh c th c s cs vi c h th ng giao cung

t o nn m t l i m t c n ph i lm g, lm sao su t ton b ti p cho t t c

d ng nh t qun

qu trnh pht tri n,

d ng lm cng c

nh ng ng i pht tri n nn cc yu c u ny, v

t o nn m t n n t ng cho vi c t o nn cc m hnh thi t k c p cc ch c nng c yu c u. t o nn m t n n t ng cho cc b c th b o h th ng th a mn ra. Trong th c t ngh ? th ng l tr nghi m h th ng,

m a

ng nh ng yu c u do ng i s l i cu h i: Li u h

d ng

th ng cu i

cng c th c hi n nh ng ch c nng m kh i

u khch hng

cung c p kh nng theo di cc yu c u v m t ch c nng c chuy n thnh cc l p c th ng. n gi n ha vi c thay i v m Use Case b thay i v m r ng h th ng qua vi c thay th cng nh cc th t c c th trong h

r ng m hnh Use Case, sau i cng nh ng hi u

ch theo di ring nh ng ng c a chng trong thi t

k h th ng v xy d ng h th ng.

V ng b c cng doanh nghi p s


Nh ng cng vi c c th c n thi t 1. t o nn m t m hnh Use Case bao g m: nh ph m vi h th ng)

nh ngha h th ng (xc

2. Tm ra cc tc nhn cng nh cc Use Case 3. M t Use Case 4. nh ngha m i quan h gi a cc Use Case

5. Ki m tra v ph chu n m hnh. y l m t cng vi c mang tnh tng tc r t cao, bao g m nh ng cu c th o lu n v i khch hng v nh ng ng i Case bao g m cc bi u nhng nh ng l i m t h c a chng v i nhau. Cc bi u th c s m hnh tr c quan khng th i di n cho cc lo i tc nhn. M hnh Use Use Case ch ra cc tc nhn, Use Case v m i quan ny cho ta m t ci nhn t ng th v m hnh, c a t ng Use Case th ng l i l vn b n. V cc cung c p t t c cc thng tin c n thi t, nn c n

thi t ph i dng c hai k thu t trnh by . C r t nhi u ng i quan tm hng (v/ho c ng i s n vi c s d ng cc m hnh Use Case. Khch n chng v m hnh Use Case cs v ngn ng c d ng ra

d ng cu i) quan tm c m t

t ch c nng c a h th ng v m t xem h th ng c th v s sao. Cc Use Case v v y ph i c a khch hng/ng i s Nh pht tri n c n v qua c d ng.

trong nh ng thu t ng

n cc m hnh Use Case

hi u h th ng c n ph i lm g,

c m t n n t ng cho nh ng cng vi c tng lai (cc m hnh

khc, cc c u trc thi t k v vi c th c thi xy d ng h th ng b ng code). Cc nhm chuyn gia th Case th ch c nng c nghi m tch h p v th u. n nh ng ho t ng lin k t n ch c nh nghi m h th ng c n m b o s th c hi n n Use ng

nghi m v ki m tra xem h c t trong giai o n

th ng c

V cu i cng, b t k ng i no lin quan nng c a h th ng u c th quan tm

n cc m hnh Use Case; v d

cc nhm ti p th , bn hng, h tr khch hng v cc nhm so n th o ti li u. M hnh Use Case m t r t quan tr ng, b i n C ch c nng c c t h ng nhn Use Case c a h nh h ng nt t c u ch u th ng. H ng nhn ny l cc Use Case, b i c th c

cc h ng nhn khc c a h th ng. nh h ng t

c u trc logic l n c u trc physic

trong m hnh ny chnh l nh ng ch c nng ch cu i cng l thi t k

thi trong cc c u trc kia. M c mn cc yu c u .

ra m t gi i php th a

M hnh ha cc Use Case ch ng ph i ch h th ng m i; n cng cn c s d ng

c dng

n m b t cc yu c u c a

h tr cho vi c pht tri n m t phin

V ng b c cng doanh nghi p s


b n m i c a h th ng. Khi pht tri n m t phin b n m i c a h th ng t i, ng i ta s i b ang t n c

sung thm cc ch c nng m i vo m hnh Use Case

b ng cch thm vo cc tc nhn m i cng nh cc Use Case m i, ho c l thay c t c a cc Use Case c. Khi b sung thm vo m hnh Use Case ang khng b ra b t k m t ch c nng no v n cn c c n t i. t n t i, hy ch

5- BI U
Use Case bi u

USE CASE
c m t trong ngn ng UML qua bi u Use Case (Use Case m hnh bi u th h c chia thnh m t s l ng l n cc

Diagram), v m t m hnh Use Case c th nh th . M t bi u

Use Case ch a cc ph n t

th ng, tc nhn cng nh Use Case v ch ra cc m i quan h gi a cc Use Case. L i m t n i dung Use Case th ng c cung c p d i d ng vn b n. Trong nh ngha cc yu c u v ch c v r ng m t Use d ng,

UML, l i m t nng c m t bi u

c coi l thu c tnh "vn b n" (document) c a Use Case. L i Use Case b ng vn b n, b n cng c th i v i ng i s

m t ny bao ch a nh ng thng tin quan tr ng, th . Thay cho vi c m t ho t

ng (activity diagram). M c d u v y, nn nh ho t

Case c n ph i l

c m t sao cho d hi u v d giao ti p d ng.

m nh ng c u trc ph c t p nh m t bi u i v i nh ng ng i khng quen s

ng c th gy c m gic xa

Tm t t: M t bi u

Use Case th hi n:

H th ng Tc nhn v Use Case. V d bi u Use Case trong UML:

Hnh 4.1- M t v d bi u Trong : H trn th ng

Use case trong UML

c th

hi n qua hnh ch

nh t v i tn h

th ng

bn

V ng b c cng doanh nghi p s


Tc nhn c th hi n qua k hi u hnh nhn Use Case c th hi n qua hnh ellipse 5.1- H th ng:

V h th ng l m t thnh ph n c a m hnh Use Case nn ranh gi i c a h th ng m ta mu n pht tri n c n ph i c nh ngha r rng. Xin nh r ng m t h th ng khng ph i bao gi cng nh t thi t l m t h th ng ph n m m; n c th l m t chi c my, ho c l m t doanh nghi p. gi ng i ta cng r rng nhn ra tc v nh ngha cc ranh gi i v trch nng c t ng ha t t nhi m c a h th ng khng ph i bao gi cng l vi c d dng, b i khng ph i bao no c kh nh t m c h th ng ny v tc v no th t t nh t nn th c hi n th cng ho c dnh no trong phin b n u tin c a n. C g ng t i a cho phin b n u

cho cc h th ng khc. M t kha c nh khc c n ch l h th ng c n ph i l n t i tin c a h th ng th ng l cch m ng i ta hay th c hi n, th nhng nh ng

m c tiu qu t m nh v y c th khi n cho h th ng tr nn qu l n v th i gian cung c p h th ng qu lu. M t sng ki n t t hn l xc nh n cho r cc ch c nng cn b n v t p trung vo vi c r rng, c n n t ng r ng m nh ngha m t ki n trc h th ng thch h p, c b sung vo nhi u ch c nng hn c th

h th ng ny trong cc phin b n sau. Y u t quan tr ng l b n ph i t o d ng nh ng giai t ng, m o n c m t b n catalog c a cc khi ni m v nh ngha thch h p trong i c a h sau s th ng ho c c dng y cha ph i m hnh ph m vi cc thu t ng

(cc th c th ) trung tm cng v i cc thu t ng u c a th i k phn tch. g ng m t ng hn l m t c

doanh nghi p m chng ta c n m hnh ha. Cc thu t ng c th l m t m hnh khi ni m ch ra cc m i quan h vn b n ch a cc thu t ng th gi i th c. 5.2- Tc nhn: M t tc nhn l m t ng i ho c m t v t no h th ng. Trong khi ni m "tng tc v i h tc nhn s g i thng i p th ng, ho c l thay ng i m cng c th khc cng l i m t

m t Use Case. Phng th c c th c a catalog ny c th r t khc nhau; n n gi n ho c ch l m t ny trong v n t t nh ng thu t ng

tng tc v i h th ng, s

d ng h l

th ng", chng ta mu n ni r ng

n h th ng ho c l nh n thng i p xu t pht t i u n a, m t tc nhn c th

i cc thng tin cng v i h th ng. Ni m t cch ng n g n, l m t h th ng khc (v d nh l m t chi c my tnh

tc nhn th c hi n cc Use Case. Thm m t c n i k t v i h

th ng c a chng ta ho c m t lo i trang thi t b ph n

c ng no tng tc v i h th ng).

V ng b c cng doanh nghi p s


M t tc nhn l m t d ng th c th (m t l p), ch nhn m t th t s v c v i di n cho m t vai tr, ch khng ph i m t th c th . Tc d ng mu n mua h p khng ng ng

khng ph i l m t ng i s

th c a h th ng. N u m t anh chng John no y m i l th

ng b o hi m t

m t hng b o hi m, th vai tr c a anh ta s l ng i mua h p m chng ta mu n m hnh ha, ch th c, m t con ng i c th c th

ng b o hi m, v

ph i b n thn anh chng John. Trong s vai tr lm nhi u tc nhn trong m t h th i cng c th vai tr m m t con ng i c c th b h n ch , v d th

th ng: m t nhn vin ngn hng . M t khc, s

l khch hng c a chnh ngn hng c php

l ng cc n v a

m trch trong m t h th ng cng

cng m t ng i khng c php v a so n ha khng

ph duy t ha n . M t tc nhn s c m t tn, v ci tn ny c n ph i ph n nh l i vai tr c a tc nhn. Ci tn . M t tc nhn giao ti p v i h gi ng nh khi ni m chng ta Use Case bao gi cng n. Khi m t Use Case th ng b ng cch g i ho c l nh n thng quen bi t trong l p trnh h ng g i thng i p i p i p, n cho n m t c ph n nh l i m t th c th ring bi t c a m t tc nhn, m cng khng ph n nh ch c nng c a tc nhn

i t ng. M t

c kch ho t b i m t tc nhn g i thng c th c hi n, Use Case c th i p ny cng c th

hay l nhi u tc nhn. Nh ng thng

n v i cc tc nhn

khc, bn c nh chnh tc nhn kch ho t v gy ra Use Case. Tc nhn cng c th nhn s nhn x c x p lo i. M t tc nhn chnh (Primary Actor) l tc th ng, t c l cc ch c nng l tc th ng b o hi m, m t tc nhn cn b n c th d ng cc ch c n ng ph c a h

d ng nh ng ch c nng cn b n c a h l vi c ghi danh v qu n l cc h p

chnh. V d , trong m t h

ng b o hi m. M t tc nhn ph th ng, v d li u, giao ti p, c th l nh rt ra cc c m hnh

(secondary actor) l tc nhn s nh cc ch c nng b o tr h back-up v cc tc v

th ng nh qu n tr ngn hng d cho tc nhn ph

qu n tr khc. M t v d

qu n tr ho c l m t nhn vin s ha m b o m t y

d ng ch c nng trong h th ng hai lo i tc nhn ny u

thng tin th ng k v doanh nghi p. C nng chnh m i th t s Tc nhn cn c th hay tc nhn th

cc ch c nng c a h

th ng, m c d cc ch c

n m trong m i quan tm ch y u c a khch hng. c nh ngha theo d ng tc nhn ch ng khng bao gi ng (active actor)

ng (passive actor). M t tc nhn ch

ng l tc nhn gy ra gy ra Use Case m ch

Use Case, trong khi tc nhn th

tham gia vo m t ho c l nhi u Use Case. 5.3- Tm tc nhn:

V ng b c cng doanh nghi p s


Khi nh n di n tc nhn, c ngha l chng ta l c ra cc th c th theo kha c nh s tc nhn d ng v tng tc v i h c th ng. Sau t mnh vo v tr c a tc nhn i v i h th ng v xc ng quan tm th i h i c a

chng ta c th

g ng nh n ra cc yu c u v

nh tc nhn c n nh ng Use Case no. C th

nh n di n ra cc tc nhn qua vi c tr l i m t s cc cu h i nh sau: Ai s chnh)? Ai s c n s h tr c a h th ng th c hi n nh ng tc v hng s d ng nh ng ch c nng chnh c a h th ng (tc nhn

ngy c a h ? Ai s c n b o tr, qu n tr v nhn ph )? H th ng s ph i x l v lm vi c v i nh ng trang thi t b ph n m b o cho h th ng ho t ng (tc

c ng no? H th ng c n ph i tng tc v i cc h th ng khc no? Nhm cc h th ng ny c chia ra lm hai nhm, nhm kch ho t cho m i th ng bao g m c cc quan h v i h th ng, v nhm m h th ng c n ph i xy d ng c a chng ta s h thi t l p quan h . Khi ni m h th ng my tnh khc cng nh cc ng d ng khc trong chnh ng. th ng s s n

chi c my tnh m h th ng ny s ho t Ai hay ci g quan tm sinh ra? Khi i tm nh ng ng i s d ng h th ng, n k t qu

(gi tr ) m h

ng quan st nh ng ng i

ang ng i th ng v . ng . T

tr c mn hnh my tnh. Nn nh r ng, ng i s s d ng cc d ch v c a h th ng ny t

d ng c th l b t k ng i n m t k t qu no

no hay b t k v t no tng tc ho c tr c ti p ho c gin ti p v i h qun r ng m hnh ha Use Case nghi p, v th suy ra h khng ph i l ng i s c th c hi n d ng theo ngha

m hnh ha m t doanh n gi n v tr c ti p l

tc nhn th ng th ng l khch hng c a doanh nghi p

ng i ng i tr c mn hnh my tnh v thao tc v i my tnh. c th nh n d ng c t t nhi u tc nhn khc nhau, hy ti n hnh nghin th ng hi n th i (m t h th ng th cng ho c ng nh ng vai tr no khi th c thi cng d ng c th th c thi nhi u

c u nh ng ng i s

d ng c a h

m t h th ng ang t n t i), h i xem h vai tr khc nhau t i nhi u th i no trong h th ng ang c s

vi c hng ngy c a h v i h th ng. Cng ng i s d ng.

i m khc nhau, ty thu c vo vi c ch c nng

V ng b c cng doanh nghi p s


Xin nh c l i, m t tc nhn l m t vai tr (m t l p), ch b n c th s m b o r ng tc nhn th t s khng ph i m t th c th

ring l . M c d v y, khi cung c p v d l m t vi cc th c th c a m t tc nhn, t n t i. M t tc nhn ph i c m t lin k t (Association) no s v i m t ho c l nhi u Use Case. M c d c i m no . C n ph i t

nh ng tc nhn c th

khng kch ho t nn m t Use Case no, nhng tc nhn tn ph n nh ng vai tr c a tc nhn trong h

giao ti p t nh t v i m t Use Case t i m t th i

tn cho tc nhn lm sao th ng.

5.4- Bi u di n tc nhn trong ngn ng Tc nhn trong UML l m t l p v i bi t ng

UML:

"Actor" (Tc nhn) v tn c a l p

ny l tn c a tc nhn (ph n nh vai tr c a tc nhn). M t l p tc nhn c th v a c thu c tnh (attribute) l n hnh vi (method) cng nh m t thu c tnh ti li u (document) m t tc nhn . M t l p tc nhn c m t bi u t ng chu n ha, bi u t ng "hnh nhn":

Hnh 4.2- bi u t ng tc nhn trong UML 5.5- Use Case: M t Use Case l chu i hnh st i di n cho m t ch c nng nguyn v n m m t tc nhn nh n UML c nh ngha l m t t p h p c a cc t o ra m t k t qu c th quan th . Nh ng hnh ng ny th ng th c hi n

c. M t Use Case trong ngn ng ng m m t h c, t c l m t gi tr

n v i m t tc nhn c

c th bao g m vi c giao ti p v i m t lo t cc tc nhn cng nh th c hi n tnh ton v cng vi c n i b bn trong h th ng. Cc tnh ch t tiu bi u c a m t Use Case l: M t Use Case bao gi cho h th ng no . M t Use Case ph i cung c p m t gi tr cho m t tc nhn. Gi tr khng ph i bao gi lun ph i c th y r. cng c n thi t ph i n i tr i ra ngoi, nhng cng c gy ra b i m t tc nhn, c

th c hi n nhn danh m t tc nhn no Hi m khi c tc nhn khng lin quan

. Tc nhn ph i ra l nh n vi c gy ra m t Use Case

th c hi n Use Case , d l tr c ti p hay gin ti p.

V ng b c cng doanh nghi p s


M t Use Case l ph i hon t t. M t trong nh ng l i th ng g p l s chia m t Use Case thnh cc Use Case nh hn, v cc Use Case ny th c thi l n nhau gi ng nh vi c g i hm cho m t ngn ng tr cu i cng c a n cha c s n sinh ra, th m ch ngay c khi x y ra nhi u d ng). Use Case c n i v i tc nhn qua lin k t (association). 1-1 v khng c h ng. i u ng lin k t ch ra ng tc giao ti p (v d nh i tho i v i ng i s l p trnh. M t Use Case s khng c coi l hon t t ch ng no m gi

nh ng tc nhn no giao ti p v i Use Case no. M i lin k t bnh th ng ra l m t m i quan h mu n ni ln r ng m t th c c t tn theo m t th c a l p tc nhn s giao ti p v i m t th c th c a m t Use Case v c hai c th giao ti p v i nhau trong c hai chi u. M t Use Case s th c th m Use Case s th c hi n, v d nh k h p danh sch, v.v, v th ng l m t c m t M t Use Case l m t l p, ch ra cng nh nh ng ngo i l c as di n cho m t s s d ng c hn l ch m t t ng b o hi m, c p nh t ring l . tr n v n m t

khng ph i m t th c th . N m t c th

ch c nng, k c cc gi i php b sung v thay th c th c, cc l i c th x y x y ra trong qu trnh th c thi. M t k t qu i th c th ha m t Use Case c g i l m t c nh k ch (scenario) v n ng b o hi m" c th ng b o hi m t

th c a h th ng (m t ng d n th c thi ring bi t

qua h th ng). V d m t c nh k ch c a Use Case "K h p cho chi c xe Toyota Carolla m anh ta v a mua." 5.6- Tm Use Case: Qu trnh tm cc Use Case b t tr c. u v i cc tc nhn

l "John lin h v i h th ng qua i n tho i r i sau k h p

c xc

nh

ph n

i v i m i tc nhn, hy h i cc cu h i sau: a. Tc nhn ny c n nh ng ch c nng no t c a tc nhn l g ?. V d cho m t giao d ch rt ti n bn my ATM trong m t nh bng ng chnh c a khch hng (tc nhn) c th l: h th ng? Hnh ng chnh

l , cc hnh

t th vo my ATM Nh p password Nh p lo i chuy n d ch Nh p s ti n m t mu n rt ra Yu c u v lo i ti n

V ng b c cng doanh nghi p s


Nh t ti n ra t my

Rt th v t in k t qu giao d ch b. Tc nhn c c n ph i lu tr c, ph i t o, ph i h y b , ph i s a ch a, hay l

m t lo i thng tin no trong h th ng? V d : Nhn vin nh bng li u c quy n truy xu t hay thay m c ti n li? Khch hng c th thay i password c a mnh. nh ng s ki n no ? i

c. Tc nhn c c n ph i bo cho h Nh ng s ki n nh th s

th ng bi t v

i di n cho nh ng ch c nng no?

V d : Khch hng k t thc ti kho n, nhn vin cung c p nh ng thng tin ny cho h th ng. C m t chng trnh u t m i, cc chi ti t c a chng

trnh ny s ph i c nhn vin nh bng nh p vo h th ng. d. H th ng c c n ph i thng bo cho Actor v nh ng thay i b t ng

trong n i b h th ng? Trong ti kho n cn qu t ti n. Ba k lin ti p ti n lng cha v ti kho n. c n gi n ha ho c h u y l nh ng

e. Cng vi c hng ngy c a tc nhn c th hi u ha qua cc ch c nng m i trong h ch c nng tiu bi u cha c t f. Cc cu h i khc: Use Case c th V d : S S c gy ra b i cc s

th ng (th ng

ng ha trong h th ng)?

ki n no khc?

ki n th i gian: Cu i thng, h t h n ki n bnh th ng c a h th ng: T nh tr c. ng

u t. ng chuy n ti n theo

cc l nh xc Cc s

ki n b t bnh th ng: H p

u t k t thc tr c

th i h n.

V ng b c cng doanh nghi p s


H tin th ng c n nh ng thng tin u vo/ u ra t u vo/ u ra no? Nh ng thng

u t i v s

i u? th ng hi n th i n m u

Kh khn v thi u h t chnh trong h (th cng /t ng ha)?

i v i nhm cu h i cu i khng c ngha l Use Case m tc nhn s sau xc

y khng c tc nhn,

c nh n ra ch khi chng ta nh n di n ra cc Use Case ny v

nh tc nhn d a trn c s l Use Case. Xin nh c l i, m t Use Case

bao gi cng ph i c lin k t v i t nh t m t tc nhn. 5.7- V d tm Use Case:

Nh bng ABC a ra cc yu c u sau: M t khch hng c th mu n g i ti n vo, rt ti n ra ho c n gi n ki m tra l i s k t qu ti n trong ti kho n c a anh ta qua my t th c hi n v trao t ng rt ti n (ATM). Khi khch hng. Quan st cc ch c nng cn b n v cc thnh ph n tham gia, ta th y c hai tc nhn d nh n ra nh t l khch hng v nhn vin thu ngn. Qua , c th nhn d ng cc Use Case sau: G i ti n vo. Rt ti n ra. Ki m tra m c ti n trong ti kho n Th c hi n cc chuy n d ch n i b h th ng In k t qu cc chuy n d ch th c hi n. a ti n vo ho c rt ti n ra, c n ph i ghi ra gi y gi y ny cho

nh ng chuy n d ch

V ng b c cng doanh nghi p s

Hnh 4.3 Cc Use case trong h th ng ATM Use Case g i ti n vo v rt ti n ra ph chuy n d ch trong n i b kho n l m t Use Case h thu c vo Use Case th c hi n cc ph n n l i ph thu c

th ng, vi c th c hi n ny v

vo ch c nng in ra cc cng vi c c th c hi n. Ki m tra m c ti n trong ti c l p, khng ph thu c vo cc Use Case khc.

6- CC BI N TH
M i Use Case s

(VARIATIONS) TRONG M T USE CASE


ng chnh (Basic Course). i v i Use Case ny. ng thay th (Alternative) l ti n trnh i

c m t dng hnh

bnh th ng hay ti n trnh mong Ngoi ra, c th

cn c m t hay nhi u dng hnh c chia lm hai nhm chnh:

khc. Chng c th

Thay th bnh th ng (Normal Alternative) i u ki n gy l i (Error Condidtions) Nh ng g mang tnh bnh th ng hn trong Use Case th ng. C th miu t cc dng hnh Case ). V d m t khch hng c th ch n cc lo i giao d ch sau c a ATM: G i ti n vo Rt ti n ra Ki m tra m c ti n trong ti kho n y l nh ng v d cho cc dng hnh ng thay th bnh th ng. ng thay th b ng t ng (xem ph n ti li u Use c g i l Thay th bnh

V ng b c cng doanh nghi p s


i u ki n gy l i i di n cho nh ng b c ti n hnh b t bnh th ng trong m t n nh ng i u ki n gy l i , v d : ti n hnh giao d ch

Use Case. C n ph i tnh tr c

M c ti n trong ti kho n khng Password khng ng ATM b ngh n th Hnh sau nu b t dng hnh nh s khc bi t c a chng

ng chnh v nh ng dng hnh i v i ti n trnh mong

ng thay th cng

i c a Use Case.

Hnh 4.4 Cc ti n trnh trong h th ng ATM

7- QUAN H

GI A CC USE CASE
d ng v quan h t o d ng l hai d ng khc nhau c a tnh th a t nhi u Use Case chung v i

C ba lo i quan h Use Case: Quan h m r ng, quan h s nhm. Quan h m r ng v quan h s k . Quan h nhau vo trong m t gi. t o nhm l m t phng cch

V ng b c cng doanh nghi p s


7.1- Quan h m r ng

Nhi u khi trong qu trnh pht tri n Use Case, ng i ta th y m t s Use Case t n t i cung c p m t ph n nh ng ch c nng c n thi t cho m t Use Case m i. Trong m t tr ng h p nh v y, c th nh ngha m t Use Case m i l Use Case m r ng, Use Case g c (Base Use c c ng thm m t ph n m i. M t Use Case nh v y c g i l m t Use Case m r ng (Extended Use Case ). Trong quan h Case ) c dng m r ng khng nh t thi t ph i s Bi u "K h p r ng ph i l m t Use Case hon thi n. Use Case m d ng ton b hnh vi c a Use Case g c. ng mua t l Use Case m r ng c a

sau ch ra Use Case K h p ng b o hi m.

Hnh 4.5 - Quan h m r ng gi a cc Use Case Quan h m r ng gi a cc Use Case c bi u th b ng gic r ng tr v pha Use Case c dng m r ng, <<extends>>. 7.2- Quan h s d ng th hnh vi ny c cs d ng d ng. o n th ng v i hnh tam i km v i stereotype

Khi m t nhm cc Use Case cng chung m t hnh vi no th

c tch ring ra thnh m t Use Case ring bi t v n c th

b i cc Use Case kia, m t m i quan h nh v y c g i l quan h s Trong quan h hnh s d ng, ph i s d ng ton b

Use Case khi qut ha, ni m t m t Use Case khc. Cc c s d ng trong ng x y ra trong

cch khc, ta c m t Use Case ny s cng m t ti n trnh. Chng c th Use Case chuyn bi t ha.

d ng ton b

ng trong Use Case khi qut ha khng c n ph i

c tr n l n v i cc hnh

V ng b c cng doanh nghi p s

Hnh 4.6 - Quan h s Quan h s

d ng gi a cc Use Case c bi u th b ng o n th ng v i hnh tam

d ng gi a cc Use Case

gic r ng tr v pha Use Case c s 7.3- Quan h chung nhm Khi m t s quan v i nhau. cc Use Case cng x

d ng, i km v i stereotype <<uses>>.

l cc ch c nng tng t

ho c c th

lin

n nhau theo m t phng th c no

, ng i ta th ng nhm chng l i

Nhm cc Use Case c th c hi n b ng khi ni m "Gi" (Package) c a UML. Gi khng cung c p gi tr gia tng cho thi t k . V d : t t c cc Use Case c lin quan n s tng tc gi a khch hng v

nhn vin thu ngn s

c nhm thnh "Package Khch hng- N/v thu ngn"

Hnh 4.7 Package c a UML Tm t t v Use Case v i my ATM trong ngn hng l : Cho t i nay chng ta xc nh c m t vi Use Case, phn tch dng hnh ng thay th , cng nh rt ra cc m i thu th p c v

ng chnh cng nh cc dng hnh quan h gi a chng. Bi u

sau t ng h p nh ng thng tin

nhm cc Use Case cn b n c a m t h th ng ATM.

V ng b c cng doanh nghi p s

Hnh 4.8 - Bi u

m t s Use Case trong h th ng ATM

8- MIU T
y l l i ct

USE CASE
n gi n v nh t qun v vi c cc tc nhn v cc Use Case (h ng x i ngo i c a h v v cc thu t ng c p t i vi c th c hi n n i b bn trong h th ng. Ngn ng cs d ng trong l i miu t chnh l ngn ng

Nh trnh by, l i miu t m t Use Case th ng c th c hi n trong vn b n. th ng) tng tc v i nhau ra sao. N t p trung vo th ng v khng cc thu t ng cs

d ng b i khch hng/ng i dng.

Vn b n miu t c n ph i bao g m nh ng i m sau: M c ch c a Use Case: M c c ch chung cu c c a Use Case l g? u mang tnh

Ci g c n ph i

t t i? Use Case ni chung

h ng m c ch v m c ch c a m i Use Case c n ph i r rng. Use Case c kh i ch y nh th no: Tc nhn no gy ra s hi n Use Case ny? Trong hon c nh no? Chu i cc thng tc nhn trao Y u t no s i p gi a tc nhn v Use Case: Use Case v cc i p hay s ki n no thng bo l n cho nhau quy t th ng nh? i p gi a h c s th c

i thng miu t

nhau, c p nh t ho c nh n thng tin v gip th ng v tc nhn, v nh ng th c th d ng ho c l b thay i?

dng ch y chnh c a cc thng no trong h

V ng b c cng doanh nghi p s


Dng ch y thay th cc y u t m c trong m t Use Case: M t Use Case c th ng miu t chng qu chi ti t l l i c n n

nh ng dng th c thi thay th ty thu c vo i u ki n. Hy nh c ny, nhng ch chng c th

che khu t dng ch y chnh c a cc ho t ng tc x c bi t s

ng trong tr ng h p cn b n. Nh ng c miu t thnh cc Use Case khc. Use Case s k t thc v i m t gi tr n tc nhn.

i v i tc nhn nh th

no:

Hy miu t khi no Use Case c coi l k t thc, v lo i gi tr m n cung c p

Hy nh r ng l i miu t ny s xc tc nhn bn ngoi, ch hi u v th m tra chng ( ta mu n t d hi u l m. M t Use Case cng c th xc b th nh xem hnh

nh nh ng g c th c thi c lin quan vi c d

khng ph i nh ng s r i ng r ng n

c th c hi n bn trong h dng

th ng. Vn b n ph i r rng, nh t qun, khi n cho khch hng c th

i di n cho nh ng g m anh/c

pha h th ng). Trnh dng nh ng cu vn ph c t p, kh di n gi i v

c miu t qua m t bi u ng, th t ng no sau s

ho t

ng. Bi u

ho t

ng ny ch ra chu i cc hnh

c a chng, cc quy t c th c hi n.

nh ch n l a

sung cho l i miu t th

m t Use Case, ng i ta th ng

a ra m t lo t cc c th c tc d c c bi t, khi c

c nh k ch c

minh h a u

i u g s x y ra m t khi Use Case ny c

ha. L i miu t

c nh k ch minh h a m t tr ng h p c coi l m t th c th ng x

nhn l n Use Case

th . Khch hng c th

dng hi u hn ton b

m t Use Case ph c t p n u c nh ng c nh k ch v phng th c ho t

miu t th c ti n hn, minh h a l i l i khng ph i l ng c vin

ng c a h b sung ch

th ng. Nhng xin nh r ng, m t l i miu t c nh k ch ch l m t s thay th cho l i miu t Use Case.

Sau khi cc Use Case 2.7) c

c miu t , m t ho t

ng v m t cng vi c (

c bi t

c n ph i th c hi n l th m tra xem cc m i quan h c nh n di n khng. Tr c khi t t c c thch h p, th pht tri n cha th cc m i quan h

c p t i trong ph n c miu t , nh xc s nh d n c th

cc Use Case

c nh ng ki n th c hon t t v t ng th nghi m lm theo phng th c

n m t tnh hu ng nguy hi m. Trong th i gian th c hi n cng vi c ny, hy tr l i cc cu h i sau: T t c cc tc nhn lin quan n m t Use Case c m i lin k t

giao ti p v i Use Case khng?

V ng b c cng doanh nghi p s


C t n t i nh ng s tng t gi a m t lo t cc tc nhn minh h a c miu t l m t l p

m t vai tr chung v nhm ny li u c th tc nhn cn b n (base class)? C t n t i nh ng s m t dng ch y hnh tng t

gi a m t lo t cc Use Case, minh h a c d ng n v i m t Use Case khc?

ng chung? N u c, li u i u ny c th

miu t l m t m i quan h s C t n t i nh ng tr ng h p

c bi t c a m t Use Case c th

c miu t l m t m i quan h m r ng? C t n t i m t tc nhn no hay m t Use Case no khng c m i lin k t giao ti p? N u c, ch c ch n tri: T i sao l i xu t hi n tc nhn ny? C l i yu c u no v ch c nng c xc c b t k m t Use Case no x Case cho yu c u . nh, nhng l i khng y c chuy n l m l c, sai

l? N u th , hy t o m t Use

Vn b n miu t m t Use Case n gi n:


V d Use Case "Cung C p Thng Tin V M t Ti Kho n T i Nh Bng ABC: Sau in ln mn hnh c a khi phn tch h th ng, ta nh n th y c n c m t Use Case

nhn vin nh bng t t c nh ng chi ti t v m t ti kho n c a m t khch hng. ct Use Case:

Chi ti t ti kho n: // tn Use Case S Use Case: UCSEC35

Miu t ng n: // miu t ng n g n Use Case Use Case "chi ti t ti kho n" cho php nhn vin nh bng xem cc chi ti t c a m t ti kho n m anh ta Dng ch y cc s nh tm hi u.

ki n: // dng logic chung ng khc ch ra cc Ti

Nhn vin ch n Chi Ti t Ti Kho n trn menu. M t con thng tin chi ti t c a ti kho n l g i t Kho n (xem Use Case s UCSEC99). Dng hnh ng chnh: // dng logic chi ti t. M i khch hng s th c m t s

Mn Hnh Tm T t Thng Tin V

nh danh g i l CustomerId. M t khch hng c th ng, mn

c nhi u ti kho n. Sau khi nhn vin nh p CustomerId vo h

hnh ph i in ra t t c nh ng ti kho n thu c v khch hng ny v thu c v nh

V ng b c cng doanh nghi p s


bng ABC, r i rc t i t t c cc chi nhnh. Khi ch n ti p lo i ti kho n v s c in ra. ti

kho n, cc chi ti t c a ti kho n mong mu n s Lo i ti kho n ti t ki m: N u lo i ti kho n

c ch n l ti kho n ti t ki m, th c in ra:

theo Use Case s UCSEC45, cc chi ti t sau y s M c ti n hi n c Cc t sec cha thanh ton L ng ti n tn d ng c php L ng ti n li cho t i ngy hm nay

L ng ti n t i thi u c n ph i c trong ti kho n Lo i ti kho n u t: N u lo i ti kho n c ch n l lo i c in ra. u t, th theo Use

Case s UCSEC46, cc chi ti t sau y s H n S ti n Ngy u t u t u t

L ng ti n cu i h n Ngy cu i h n T l l i Dng hnh ng thay th : // chu i logic thay th Khng tm th y chi ti t: Khi ch n m t s ti kho n khng thch h p (khng c ti kho n tng ng) d v l do ch c nng hay k a ra m t mn hnh bo l i. thu t, theo Use Case s UCSEC12, h th ng s

i u ki n thot: // Use Case k t thc nh th no? Nt Thot: Khi ch n nt thot, ng i s d ng s quay tr l i mn hnh chnh. d ng s c yu c u ch n lo i ti

Nt Xem Thm: Khi ch n nt ny, ng i s kho n t m t danh sch xu ng.

Nt Xem Giao D ch: Khi ch n nt ny, ng i s hnh "Giao d ch" v theo Use Case s d ch x y ra

d ng s

c chuy n sang mn ch ra nh ng giao

UCSEC91, mn hnh s

i v i ti kho n, bn c nh nh ng chi ti t chnh c a ti kho n.

Nt Yu C u In K t Qu : Khi ch n ph n th c n ny, k t qu giao d ch theo Use Case s UCSEC70 s c in ra m t my in a phng n i tr c ti p v i my tnh c a nhn vin.

V ng b c cng doanh nghi p s


Cc yu c u c bi t: // cc yu c u c bi t Theo Use Case s UCSEC110, h th ng c kh nng in ln mn hnh b ng nh ng ngn ng Ngo i Ng khc. Ch c nng ny s trn menu. c kch ho t khi ng i s d ng ch n m c

i u ki n tr c : // i u x y ra tr c khi Use Case c th c hi n B o an: Ng i s ring bi t d ng (nhn vin ti p khch) c cung c p m t s nh danh

truy nh p vo h th ng. d ng ch n c mn hnh Chi Ti t Ti Kho n sau khi

D ch chuy n: Ng i s

truy nh p thnh cng v Identify thnh cng. i u ki n sau : // i u g x y ra sau khi Use Case c th c hi n? H th ng s khng lu tr ln a c ng c c b . l i b t k m t thng tin no lin quan t i khch hng

9- TH
th

USE CASE
ch chnh c a Use Case l th c th c hi n ct nghi m (testing). C hai lo i c pht tri n mb o y: ki m tra (verification) v ph m b o l h th ng

M t trong cc m c

nghi m khc nhau

duy t xc nh n (validation). Ki m tra ng r ng h n v ph h p v i cc th ng s c n n.

c t o ra. Ph duy t xc nh n

c pht tri n chnh l th

m khch hng ho c ng i s

d ng cu i th t s

Cng vi c ph duy t xc nh n Ngay khi m t m hnh Use Case giai hng cng nh ng i s d ng. H

c th c hi n k

tr c giai

o n pht tri n. ang trong ng

c hon t t (hay th m ch c th

o n pht tri n), m hnh ny ph i mong

c trnh by v th o lu n v i khch i c a h hi u i v i h th ng; c bi t l

c n ph i xc nh n r ng m hnh ny l

n, hon t t v th a mn s tri n ph i chng, giai

phng cch m h th ng cung c p ch c nng cho h . m b o r ng khch hng th t s trnh tr ng h p t o ra nh ng th khng th

lm i u , nh pht ch p nh n n i. Trong xu t hi n v chng c n n giai o n ph duy t th ng n r t

c m hnh v ngha c a

o n ny, r rng l cc cu h i v cc t ng s o n xc nh n cng c th

ph i c b sung thm vo m hnh Use Case tr c khi chung cu c. Giai nghi m h th ng, nhng

c th c hi n trong th i k th d ng th ton b d

i m y u c a phng th c lm ny l n u h th c a ng i s u.

khng th a mn nh ng yu c u c c th s ph i lm l i t

V ng b c cng doanh nghi p s


Ki m tra h khng th th ng l m b o n ho t ng ng nh c t . ng i u ny c ng nh

c th c hi n tr c khi d ng

c nh ng thnh ph n c a h xem h th ng c ho t ng theo

th ng

t o ra. Ch sau nh ng l i

ng i ta m i c th th

c t m ng i s

a ra, r ng cc Use Case th c hi n

ng theo nh ng phng

miu t

trong m hnh, r ng chng ho t

th c c miu t trong vn b n miu t Use Case. ib d c Use Case. c dng trong c giai D c Use Case. Theo k o n nh ngha l n

M t trong nh ng k thu t h u d ng th nghi m Use Case g i l " i B

thu t ny, nhi u u b ng ng

ng i khc nhau trong nhm lm m hnh s th ng trong m t Use Case c s kh i ch y m t Use Case c s th . Ng i th

ng vai cc tc nhn cng nh h

m nh n vai tc nhn s b t u t hnh

vi c ni ra tc nhn lm g v i h th ng. K t qu c a cng vi c ny l h th ng c b t ng trn. Ng i vai h th ng sau tri n ni anh ta lm g khi Use Case c miu t c th c hi n. Nh pht c

ng ngoi tr chi di n k ch s ghi chp v tm cch pht hi n ra cc i m b ng cc di n vin. Trong tr ng h p ng b sung khng y chi ti t. c miu

y u trong cc Use Case t cng nh m t vi hnh

th, b n s tm th y r ng c m t vi chu i hnh

ng khng c miu t v i

Cc "di n vin" cng hi u th u o kha c nh s cng vi c th Use Case s cng hi u qu li u ng nh ng vai tr khc nhau s h ng nhn, cung c p d lm cch no c th hn, v ch ra nh ng l th i

d ng c a h th ng bao nhiu th i cc di n vin v c h bi t i trong miu t

b y nhiu. Vi c thay

d n t i nh ng thay

u vo cho cc nh t o m hnh

a ra nh ng l i miu t

Use Case r rng hn, minh b ch cc tc nhn c th c thi theo ki u ny,

i m cn thi u. M t khi vai tr c a t t c

c di n v th c thi, v t t c cc Use Case i m m ng i ta ni m t qu trnh th hon t t.

nghi m c a m hnh Use Case

10- TH C HI N CC USE CASE


Use Case l nh ng l i miu t i u Case c ngha l Use Case s u c phn b v cho cc v y nn trch nhi m cl pv is th c thi cc ch c nng c a h th ng. ha) trong h th ng, ng c miu t trong ti li u Use c th c hi n (th c th

th c thi cc hnh

i t ng c ng tc th c thi ch c nng .

Cc nguyn t c c a UML cho vi c th c hi n cc Use Case l: M t Use Case s c th c hi n trong m t s gi i php (ph ni m l p/ context c a s thu c vo s c ng tc (collaboration): M t s gi a chng c ng tc ch ra m t d ng cc khi c nh t t i ch c nng th c thi n i b ) c a m t Use Case s tng tc gi a chng

i t ng v m i quan h c ng tc) cng nh s

i v i nhau (g i l ng

V ng b c cng doanh nghi p s


mong mu n (g i l chu i tng tc c a s m t hnh ellipse c ch a tn c a s M ts c ng tc). K hi u cho s c ng tc l

c ng tc . ch ra c ng c ng tc: cc chu i v bi u th . Trong

c ng tc c trnh by trong UML qua m t lo t cc bi u c ng tc l m t lo t cc l p (v trong m t th c th s d ng y l bi u c ng tc, bi u no d ng lo i bi u c ng tc

c nh l n chu i tng tc gi a cc thnh ph n tham gia: thnh ph n tham gia trong m t s ho t qut v s i t ng). Cc bi u

ng. C n ph i s

t o ra m t b c tranh bao l ; nhng trong cc

c ng tc l quy t

nh ty thu c vo t ng tr ng h p c c th

m t vi tr ng h p, ch m t bi u khc nhau.

tr ng h p khc, ng i ta nh t thi t c n t i s

k t h p c a nhi u lo i bi u

M t c nh k ch (Scenario) l m t th c th (instance) c a m t Use Case hay l m t s s c ng tc: m t c nh k ch l m t chu i th c thi c ki n) trnh by m t s nh ng ng x th (m t dng ch y c th c a cc s th c th ha c a m t Use Case (t c l m t l n bn ngoi h ng v pha tc nhn. Khi quan c a s c ng tc, ng i ta s y,

d ng h th ng). Khi m t c nh k ch c quan st trong t cch m t Use Case,

ng i ta ch miu t miu t c s

st m t c nh k ch trong t cch l m t th c th thu t ton cng nh th t c c a chng cng s Tc v

th c thi n i t i (cc dng l nh code) c a cc l p tham gia giao ti p gi a chng v i nhau.

th c hi n m t Use Case l chuy n cc b c v hnh Use Case thnh l p (Class), th gi a chng v i nhau. N c miu t l

ng khc nhau trch

trong l i miu t nh quan h

t c trong nh ng l p ny cng ng tc phn b c ng tc th c c miu t

nhi m c a m i b c hi n Use Case

i trong Use Case vo cc l p tham gia s c xc nh c a Use Case; n

. T i giai o n ny, ng i ta ph i tm ra m t gi i php cung c p c am ts c ng tc n i b trong h th ng. c chuy n thnh th t c (operation) ng

nh ng hnh vi h ng ngo i trong nh ng thu t ng M i b c hnh cc th

ng trong Use Case s

trong cc l p tham gia. M t b c trong Use Case s trong Use Case v cc th t c

c chuy n thnh m t lo t 1-1 gi a cc hnh i t ng

t c t i nhi u l p; r t hi m khi x y ra nh x

c th c thi trong tng tc gi a cc

c a cc l p tham gia. Cng xin nh r ng m t l p c th tham gia nhi u Use Case khc nhau v trch nhi m cao nh t c a l p n m chnh trong vi c k t t p t t c cc vai tr m l p ny m nh n trong cc Use Case khc nhau. th c thi n theo khi ni m c ng tc c

M i quan h gi a m t Use Case v s ch ra ho c qua m t m i quan h b ng m t cng c

nng cao (refinement relationship) bi u th s t o i u ki n chuy n t

o n th ng ch m ch m v i mi tn - - - -> hay m t hyperlink ng m trong no . M t hyperlink trong m t cng c

V ng b c cng doanh nghi p s


vi c quan st m t Use Case trong m t bi u th c thi Use Case chu i hay bi u Case. Phn b trch nhi m cho cc l p m t cch thnh cng l m t tc v nghi m. Cng gi ng nh m i cng o n h ng mang tnh vng l p (iterative). Nh pht tri n th i h i kinh phn b m c . Cc hyperlink cng c ng tc) miu t Use Case sang ngay s c s d ng chuy n t ho t th no ng bi u c ng tc Use Case ng, bi u c a Use

ny sang m t c nh k ch (th ng l m t m hnh m ts

th c hi n c

i t ng khc, cng vi c ny nghi m v i nhi u s ng th i l i

trch nhi m khc nhau v d n d n nng c p chng trong gi i php c a mnh cho t i khi t o ra c m t m hnh th c hi n ch c nng , nng ng cho php ti n hnh cc s d ng phng php thay i trong tng lai. i t ng cn b n (c ngha l i t ng ch huy (control i i v i m i Use Case, cc l ai

Jacobson s objects) v t ng ny

nh ngha ba lo i

ba lo i l p): cc c s

i t ng bin (boundary objects), d ng miu t m t s

i t ng th c th (entity objects). i t ng k trn nh sau:

c ng tc th c thi Use Case. Trch

nhi m c a cc lo i

i t ng th c th : lo i mang tnh th tng tc lu tr t ng th c th

i t ng ny

i di n cho cc th c th l. Th ng chng gy nn cc i c

c a bi ton n m trong ph m vi m h i v i chng. Trong m t h ngn hng d

th ng x

ng, theo khi ni m l chng khng t

th ng thng tin, cc i t ng th c th

th ng mang tnh tr ng t n (persistent) v li u. Cc

trong m t h

th ng tham gia vo nhi u Use Case khc nhau. i t ng bin: lo i h i t ng ny n m g n ng ranh gi i c a th ng). Chng tng tc i p cng th ng v nh n thng

th ng (m c d v n n m bn trong h i p n cc lo i

v i cc tc nhn n m bn ngoi h nh g i thng th ng. i t ng ch huy: lo i cc nhm i t ng. M t

i t ng khc n m bn trong h

i t ng ny ch huy s i t ng nh th c th

tng tc gi a ng vai tr "b

ph n i u khi n cho ton b m t Use Case hon t t, hay n c th th c thi m t chu i hnh m t Ba lo i lo i bi u tng t ng chung c a nhi u Use Case. Th ng th i t ng nh v y ch t n t i trong qu trnh th c thi Use Case. cs d ng khi v cc cng i tm s

i t ng ny c ba k hi u khc nhau v c th miu t gi a chng c ng tc ho c bi u m t s l p c th l p. Sau khi c s

nh ngha nhi u lo i

i t ng khc nhau v xc nh n cc c ng tc, ng i ta c th

d ng trong m t lo t cc Use

V ng b c cng doanh nghi p s


Case khc nhau. S d ng cc Use Case theo phng th c ny ta c th t o nn h th ng; qui trnh pht tri n c Ivar

n n t ng cho vi c phn tch v thi t k

Jacobson g i l "Qui Trnh Pht Tri n Theo Use Case" (Use case driven). Nhn chung c nhi u phng php khc nhau Case v quan h cho cc l p. C phng php c a chng v i nhau. Sau thay ngh phn b trch nhi m t Use

u tin ph i ti n hnh phn tch phn tch t ng Use Case

ph m vi bi ton, ch ra t t c cc l p th c th (thu c ph m vi bi ton) v i m i nh pht tri n s v phn b nhi u khi s khc l i trch nhi m cho cc l p trong m hnh phn tch (analysis model), i chng ho c b sung thm cc l p m i. M t phng php tm cc l p, lm sao ngh l nn l y cc Use Case lm n n t ng

trong qu trnh phn b trch nhi m th m hnh phn tch c a ph m vi bi ton s t ng b c t ng b c c thi t l p. M t i m quan tr ng c n ph i nh c l i l cng vi c trong cc bi u l p m i s Trong m t s ch a c v ng h bi u l p v qua , d n y mang tnh vng l p. Khi thi u tr ng b ho c l i l p. Nh ng i ho c s a

phn b trch nhi m cho cc l p, ta c th pht hi n ra s c nh n d ng v tm ra nh m m c Use Case v khi hi u h ch h

n vi c s a ch a trong bi u

cho cc Use Case.

tr ng h p, th m ch c th x y ra chuy n ph i thay khng

th ng m t cch su s c hn, nh pht c miu t chnh xc chnh xc v c xy

tri n s nh n ra r ng c m t Use Case no th ng, lm sao ph i m b o cho n d ng

n. Cc Use Case gip chng ta t p trung vo kha c nh ch c nng c a c miu t x y ra v i nhi u phng i t ng (nhi u khi ng i

d ng chnh xc trong h th ng. M t trong nh ng v n php h ng i t ng m khng s trung qu nhi u vo c u trc tnh c a cc l p v cc b qua cc kha c nh ch c nng v kha c nh

n khi ni m Use Case l chng t p

ta g i l phng php m hnh ha khi ni m conceptual modeling) nhng l i ng c a h th ng.

11- TM T T V

USE CASE
d ng miu t nh ng yu c u mang qua cc khi ni m tc c miu t

M hnh Use Case l m t k thu t c s

tnh ch c nng c a m t h th ng. Use Case m t th c th bn ngoi v d

nhn bn ngoi, Use Case v h th ng. Tc nhn t ng trng cho m t vai tr v nh m t ng i dng, m t b ph n ph n c ng ho c ng c m t h th ng khc tng tc v i h th ng. Tc nhn gy ra v giao ti p v i cc Use Case, trong khi m t Use Case l m t t p h p c a cc chu i hnh th c hi n trong h th ng. M t Use Case ph i cung c p m t gi tr c n h ng t i no cho tc nhn, v bnh th ng n c miu t b ng vn b n. Tc nhn v Use Case l cc l p. M t tc nhn c lin k t v i m t ho c nhi u Use Case qua m i lin k t (Association) v c tc nhn l n Use Case khi qut ha, m i quan h ny miu t nh ng ng x u c th c m i quan h chung trong cc l p cha,

V ng b c cng doanh nghi p s


s c th a k b i m t ho c nhi u l p con. M t m hnh Use Case c miu t tr ng h p thu c ngn ng c ng tc. M t s UML.

b ng m t hay nhi u bi u

Use Case c th c hi n qua cc s m t ng c nh, ch ra cc l p/ i t ng tc ch ra cc l p/ nng c th . M t s tc v bi u b c hnh c ng tc

c ng tc l m t l i miu t th c hi n m t ch c ng, bi u c ng

i t ng v m i quan h c a chng v m t tng tng tc v i nhau ra sao ho t

c ng tc c miu t b ng bi u c phn b

chu i. Khi m t Use Case ng trong Use Case c n ph i

c th c hi n, trch nhi m cho m i cho cc l p tham gia s i song th . V c a m t c t c c a cc l p ny,

, th ng l qua vi c xc

nh cc th

song v i phng th c m chng tng tc v i nhau. M t c nh k ch l m t th c th c a m t Use Case, hay m t s th , m t c nh k ch l m t s m t s Use Case, ch duy nh t s th c th c a m t s c ng tc. Khi c nh k ch c ng tc, ch ra m t chu i th c thi c minh h a hay l m t v d c a m t Use Case hay l c ch ra trong t cch m t th c th c quan st v

tng tc gi a Use Case v tc nhn ngo i lai s tng tc gi a cc l p/

miu t , nhng khi c nh k ch trong h th ng cng s

c ch ra theo h ng l m t i t ng pha bn

c ng tc, th s c miu t .

PH N CU H I
H i: M t tc nhn (Actor) trong m t Use Case lun l m t con ng i p: Sai, tc nhn l m t ng i ho c m t v t no th ng. H i: H th ng khc cng c th p: ng ng vai tr tc nhn trong m t Use Case? tng tc v i h

H i: M i h th ng ch c m t Use Case? p: Sai H i: Bi u p: Use case m t ch c nng h th ng? ng

Chng 5: M HNH
1- L p, i t ng v quan h cc thnh ph n c b n c a m hnh:

I T NG

V ng b c cng doanh nghi p s


Trong m hnh ha h ng m hnh l l p, i t ng, nh ng ph n t c u thnh cn b n nh t c a i t ng d ng

i t ng v m i quan h gi a chng v i nhau. L p v ng tc phn l p (classification) i t ng

s m hnh ha nh ng g c trong h th ng m chng ta mu n miu t , cc m i quan h s bi u th c u trc. t hng ngn nm nay loi ng i bi t th . 1.1M t i t ng (Object) t ng trng cho m t th c th , ho c l th c th c th , v d nh m t chi c xe t ch t n t i c s n gi n ha vi c miu t cc h th ng ph c t p. Khi xy d ng cc h th ng ph n

n vi c l p trnh h ng

m m th l p v cc m i quan h c a chng

c chuy n thnh cc dng code c

i t ng l m t s

trong th gi i

i th c ho c th c th mang tnh khi ni m. M t

i t ng c th hng c a b n nh m t

t ng trng cho ci g

ho c chi c my tnh c a ti, ho c t ng trng cho m t khi ni m v d quy trnh ha h c, m t giao d ch trong nh bng, m t l i tin trong qu trnh s Cng c nh ng xu t t

t hng, nh ng thng

d ng tn d ng c a khch hng hay m t t l ti n l i. nh cc i t ng th c thi m t trong h gi i th c, nhng l k t qu c a cc u lin quan ng x th ng d n n

i t ng (v d

ph n m m) khng th t s th c. Nh ng

t n t i

ngoi th

qu trnh nghin c u c u trc v

i t ng ngoi th gi i

i t ng , d l b ng cch ny hay cch khc,

quan ni m c a chng ta v th gi i th c. M t i t ng l m t khi ni m, m t s c u c ba ng x tr u t ng ha, ho c l m t ng d ng no ng x v s c tnh: tr ng thi, v t v i . M i i nh n di n.

ranh gi i v ngha

nh ngha r rng cho m t

t ng trong m t h th ng 1.2- Tr ng thi, Tr ng thi (state) c a m t n c

v nh n di n c a i t ng i t ng

i t ng l m t trong nh ng hon c nh ni i t ng th ng s thay i t ng c th c v i cc

c th t n t i. Tr ng thi c a m t nh ngha qua m t t ny cng nh m i quan h m tr ng thi: tr ng thi cho l p h c ny cn nh

i theo th i gian, v i t ng khc. V d

h p cc thu c tnh, v i gi tr c a cc thu c tnh

m t danh sch ghi danh cho m t l p h c trong h th ng tr ng h c c th c hai ng v tr ng thi m . N u danh sch sinh vin ghi danh hn s t i a cho php (v d l 10), th tr ng thi c a 10 sinh vin ghi danh cho l p, danh sch

b ng ghi danh ny l m . M t khi s chuy n sang tr ng thi ng. ng x (Behaviour) xc cc ng x lm. nh m t

i t ng s

ph n

ng nh th

no tr c i t ng

nh ng yu c u t ny c th

i t ng khc, n tiu bi u cho nh ng g m

c th c thi qua lo t cc Phng th c (operation) c a

V ng b c cng doanh nghi p s


i t ng. Trong v d th c ng x l b tr ng i h c, m t ng k. i t ng l duy nh t d tr ng thi i t ng khc. V d , kha h c is i t ng trong h th ng i t ng b ng ghi danh l p h c c i tn c a m t sinh vin

sung thm m t sinh vin hay xa

khi sinh vin ng k h c hay bi b S nh n di n (Identity)

m b o r ng m i i s

c a n c th gi ng v i tr ng thi c a cc 101 chng 1 v kha h c v n c s ghi danh tr ng h c. M c d c hai

101 chng 2 l hai

u thu c lo i b ng ghi danh, m i kha h c

nh n d ng duy nh t c a mnh. 1.3- L p (Class):

M t l p l m t l i miu t chung ng ra

c a m t nhm cc

i t ng c chung thu c tnh, i t ng khc v t o i t ng d ng khi

chung phng th c ( ng x ), chung cc m i quan h v i cc i t ng. M i

ngha (semantic). Ni nh th c ngha l p l m t khun m u i t ng l m t th c th c a m t l p no v m t phn lo i cc

khng th l k t qu th c th ha c a nhi u hn m t l p. Chng ta s ni m l p bn lu n v cc h th ng v nh n d ng ra trong th gi i th c. M t l p t t s n m b t m t v ch m t s

i t ng m chng ta

tr u t ng ha - n ph i c m t ch t t c cc thng tin v m t sinh chnh. L p

chnh. V d , m t l p v a c kh

nng gi

vin v thng tin v t t c nh ng l p h c m ng i sinh vin tr i qua trong nhi u nm tr c khng ph i l m t l p t t, b i n khng c ch ny c n ph i l ch s c chia ra lm hai l p lin quan c a sinh vin. n nhau: l p sinh vin v l p

V ng b c cng doanh nghi p s


Khi t o d ng m hnh cng nh th t s cc khi ni m c a chnh ph m vi v n ti p hn. N u chng ta xy d ng h m t h th ng cho qun s xy d ng cc h th ng doanh nghi p, cc d ng khi n cho m hnh d hi u v d giao th ng cho m t cng ty b o hi m, m hnh c n ph i c

h th ng thng tin, my mc ho c cc l ai h th ng khc, chng ta c n s

c n ph i d a trn cc khi ni m c a ngnh b o hi m. N u chng ta xy d ng i, th cc khi ni m c a th gi i qun s th ng. M t h c th d d ng khi m hnh ha h th ng d a trn cc khi ni m chnh c thi t k l i cho ph h p v i c

c a m t ngnh doanh nghi p no nh ng qui ch , chi n l c v qui ph c s

nh m i, b i chng ta ch c n cn b ng v kh c cu c i th c v d a trn cc khi l m t phng php r t thch i t ng v m i

chnh l ch gi a cng vi c c v cng vi c m i. Khi cc m hnh , h ng i t ng s

xy d ng d a trn cc khi ni m l y ra t ni m thu c ph m vi v n quan h gi a chng. M t l p l l i miu t h th ng phn tn, h cho m t d ng th ng k h p b i n n t ng c a phng php h ng

i t ng l cc l p,

i t ng trong b t k m t h th ng no thu t, h

th ng thng tin, h

th ng nhng th i gian th c, h c lu tr , phn tch

th ng ph n m m v h

th ng doanh thng. Cc v t d ng

(artifact) trong m t doanh nghi p, nh ng thng tin c n ho c cc vai tr m m t tc nhn

m nh n trong m t doanh nghi p th ng s

tr thnh cc l p trong cc h th ng doanh nghi p v h th ng thng tin. V d v cc l p trong doanh nghi p v cc h th ng thng tin: Khch hng B n thng thuy t Ha n Mn n Ti s n B n cng b gi c phi u Cc l p trong m t h th ng k d nh my mc c s thu t th ng bao g m cc i t ng k thu t, v

d ng trong h th ng:

Sensor Mn hnh I/O card ng c Nt b m

V ng b c cng doanh nghi p s


L p i u khi n Cc h th ng ph n m m th ng c cc l p trong m t h i u hnh: File Chng trnh ch y c Trang thi t b Icon C as Thanh ko 1.4- Bi u M t bi u l p (Class diagram): l p miu t h ng nhn li u, nhng i di n cho cc th c th ph n m m

l p l m t d ng m hnh tnh. M t bi u

tnh c a m t h

th ng b ng cc khi ni m l p v m i quan h

gi a chng v i

nhau. M c d n cng c nh ng nt tng t c hnh vi. M t trong cc m c ch c a bi u

v i m t m hnh d

nn nh r ng cc l p khng ph i ch th hi n c u trc thng tin m cn miu t l p l t o n n t ng cho cc bi u nh tr ng thi c a i ng). khc, th hi n cc kha c nh khc c a h th ng (v d t ng hay c ng tc h ng ng gi a cc l p c th M t l p trong m t bi u i t ng c h tr l p, nhng bn c nh t ng th t s

i t ng, c ch ra trong cc bi u

c th c thi tr c ti p trong m t ngn ng l p ch ch ra cc i i m t cht ch ra cc i t ng).

tr c ti p khi ni m l p. M t bi u

cn c m t bi n t u hi khc

l cc th c th c a cc l p ny (bi u

V ng b c cng doanh nghi p s

t o m t bi u

l p,

u tin ta ph i nh n di n v miu t cc l p. M t khi n quan h gi a cc l p v i nhau.

c m t s l ng cc l p, ta s xt 2- Tm l p:

H u nh khng c m t cng th c chung cho vi c pht hi n ra cc l p. l p l m t cng vi c c a chuyn gia i h i tr sng t o v c n ph i c th c thi v i s thay i theo th i gian. T p h p ban d ng ng d ng. V qui trnh phn tch v thi t k

i tm cc tr gip

mang tnh vng l p, u c a cc l p c th c thi v u tin c tm ra

nn danh sch cc l p s bi n ng c

tm ra cha ch c l t p h p cu i cng c a cc l p sau ny s i thnh code. V th , th ng ng i ta hay s vin (Candidate Class) miu t t p h p nh ng l p

n khi ni m cc l p

cho h th ng. Nh ni trong ph n 2.10 (Th c hi n Tr ng h p s ch c nng c a h d ng), tr ng h p s

d ng l nh ng l i miu t thu c v cc c xc ta i tm cc l p l

th ng, cn trch nhi m th c thi ng x h ng ngo i

i t ng c ng tc th c thi ch c nng . Ni m t cch khc, chng ti n t i tm gi i php cung c p nh ng d ng. . C phng php cc l p th c th (thu c nh trong cc tr ng h p s

C nhi u phng php khc nhau

th c hi n cng vi c

ngh ti n hnh phn tch ph m vi bi ton, ch ra t t c phn tch t ng tr ng h p s

ph m vi bi ton) v i m i quan h c a chng v i nhau. Sau nh pht tri n s d ng v phn b trch nhi m cho cc l p trong m i chng ho c b sung thm hnh phn tch (analysis model), nhi u khi s thay

V ng b c cng doanh nghi p s


cc l p m i. C phng php t ng ngh nn l y cc tr ng h p s d ng lm n n

tm cc l p, lm sao trong qu trnh phn b

trch nhi m th m hnh

phn tch c a ph m vi bi ton s t ng b c t ng b c c thi t l p. 2.1- Phn tch ph m vi bi ton tm l p: u v i cc khi ni m then nh n di n v l c ra

Qu trnh phn tch ph m vi bi ton th ng c b t ch t (Key Abstraction), m t cng c th ng c s cc l p ng c vin (Candidate class).

d ng

2.1.1- Khi ni m then ch t Hy l y v d m t nh bng ABC, i u u tin ta ngh t i l g? Ti n! Bn c nh

, ABC cn ph i c nh ng th c th lin quan t i ti n nh sau: Khch hng S n ph m (cc ti kho n nh bng) L c l ng nhn vin Ban qu n tr nh bng Phng my tnh trong nh bng Nh ng th c th bng c th ny c g i l cc khi ni m then ch t cho nh ng g m nh c coi l cc s n ph m c a m t

c. Khi ni m then ch t ho c mang tnh c u trc (structural) ho c khch hng. Th c th mang tnh ch c nng duy tr m t ti kho n

mang tnh ch c nng (functional). Th c th mang tnh c u trc l nh ng th c th v t l tng tc v i nh bng, v d ho c chuy n ti n t cc th c th ta l nh ng ch c nng m nh bng ph i th c hi n, v d n

ti kho n ny sang ti kho n khc. Khi ni m then ch t l u tin. Chng r t quan tr ng v gip ta:

nh ngha ranh gi i c a v n Nh n m nh n cc th c th c lin quan n thi t k c a h th ng

Lo i b th c th n m ngoi ph m vi h th ng Cc khi ni m then ch t th ng s phn tch M t khi ni m then ch t tm l i l m t l p hay c a ph m vi bi ton. Khi trnh by v i ng i s gi a v i nh ng th c th ngh rt ti n, s lin quan t i ng i s rt ti n t ti t ki m, th i t ng thu c chuyn ngnh d ng, chng c m t nh x 1-1 d ng nh ha n, sec, gi y tr thnh cc l p trong m hnh

ng, nhn vin thu ngn, nhn vin

nh bng, cc phng ban,.

V ng b c cng doanh nghi p s


M c tr u t ng: tr u t ng c a cc khi

Khi phn tch ph m vi bi ton, c n ch r ng m c ni m then ch t l r t quan tr ng, b i m c u r t d gy nh m l n. M c tr u t ng qu cao d n t i nh ng

tr u t ng qu cao hay qu th p

nh ngha qu khi qut v m t th c th , th . V ti n

t o nn m t ci nhn v m v th ng khng nh m vo m t m c tiu c s d n n l i miu t : "M t ng i n nh bng g i ti n vo, v s

d trong m t nh bng, ta khng th ch n khi ni m then ch t l "ng i", b i n c m t ng i khc ti p nh n." trong khi m t yu c u quan tr ng ph i phn bi t gi a nhn vin v i khch hng v ch c nng c a h nhau. Tng t d ng: Form m ti kho n i h i t t c 15 Entry. Nh ng d li u trn Form ny ghi u ph i c cn ph i. a ch c a khch hng trn Form. nh v y, m c tr u t ng qu th p cng d gy hi u l m, b i nh ng nh ng quy t nh y l

l khc h n

thng tin qu v n v t cha thch h p v i th i

i m ny. V d

Khng c nhi u ch nn c

dnh cho cc giai o n sau. khi ni m then ch t: u tin trong c no chng ta l nh ng th c th d c nh tr c.

Vi i m c n ch v

Nh ng th c th xu t hi n

kh nng tr thnh khi ni m then ch t cho m t v n

M i l n tm th y m t khi ni m then ch t m i, c n xem xt n theo cch nhn c av n , c th h i cc cu h i sau: Nh ng ch c nng no c th c th c hi n i v i th c th ny?

i u g khi n nh ng th c th lo i ny c t o ra? N u khng c cu tr l i thch h p, c n ph i suy ngh l i v th c th M i khi ni m then ch t m i c n ph i ch c nng c a khi ni m. 2.1.2- Nh n d ng l p v i t ng N m v ng khi ni m l p, chng ta c th tng i t ng trong ph m vi v n danh t thnh l p v i t ng. i d dng tm th y cc l p v c p d ng l vin chuy n ng c c . ng

t tn cho thch h p, miu t

. M t nguyn t c th s th ng

trong cc l i pht bi u bi ton th ng l cc

V ng b c cng doanh nghi p s


M t s g i th c t cho vi c tm l p trong ph m vi v n B c u tin l c n ph i t p trung nghin c u k : Cc danh t trong nh ng l i pht bi u bi ton :

Ki n th c chuyn ngnh thu c ph m vi bi ton Cc Tr ng h p s V d d ng ti kho n mang l i ti n li", ta th y c hai

trong l i pht bi u "C m t s

danh t

l ti kho n v ti n li. Chng c th l cc l p ti m nng cho m hnh

nh bng l . Th hai, chng ta c n ch Cc th c th n cc nhm v t th trong h th ng hi n th i nh: th ng: nh ng v t th tng tc v i h

v t l c a h

th ng, v d khch hng. Cc v t th th y. V d h u hnh: cc v t th nh cng c v t l m ta c th nhn v s

giao thng, sch v , m t con ng i, m t

ngi nh,. Trong m t nh bng ABC, c th l t p sec, phi u ngh rt ti n, s ti t ki m, cc lo i Form c n thi t. Cc s ki n (Events): M t chi c xe b h ng, m t ci c a c m ra. o h n m t ti kho n u t, hi n t ng

Trong m t nh bng l s

rt qu nhi u ti n m t trong m t ti kho n bnh th ng. Cc vai tr (Role): V d khch hng,... Cc s tng tc (Interactions): V d vi c bn hng l m t chu i yu c u m t nh m , khch hng, ng i bn hng, . l nhn vin, nh qu n tr ,

Trong m t nh bng, vai tr c th

tng tc bao g m khch hng, ng i bn hng v s n ph m. Trong m t nh bng, vi c m m t ti kho n m i s chu i tng tc gi a nhn vin v khch hng. V tr (Location): M t gn cho m t v tr no mnh. n v t ch c (Organisation Unit): V d cc phng ban, phng ph n v t no ho c m t ng i no i v i nh ng c

. V d : t

xe. Trong m t c as c a

nh bng ta c th th y nhn vin thu ngn lun

trng by s n ph m, cc b ph n. Trong m t nh bng c th c b ph n ti kho n bnh th ng, b ti kho n u t. ph n ti kho n ti t ki m, b

Bn c nh , cn nhi u cu h i khc gip ta nh n d ng l p. V d nh:

V ng b c cng doanh nghi p s


Ta c thng tin c n c lu tr ho c c n c phn tch khng? i, phn tch ho c x ng c vin

N u c thng tin c n ph i

c lu tr , bi n

l trong m t phng th c no c ghi trong h

th ch c ch n s l

cho l p. Nh ng thng tin ny c th l m t khi ni m lun c n ph i th ng ho c l s ki n, giao d ch x y ra t i m t th i i m c th no . Ta c cc h ng ngoi c th th ng ngo i vi khng? N u c, th ng chng cng th ng bn c coi l cc l p ch a h th ng c a chng ta ho c

c quan tm t i khi t o d ng m hnh. Cc h

tng tc v i h th ng c a chng ta. Chng ta c cc m u, th vi n l p, thnh ph n v nh ng th khng? N u chng ta c m u, th vi n, thnh ph n t tr c (xin c c a cc b n ng nghi p, mua c t ng c c p) th chng th ng cng s ch a cc vin l p. l khng? M i tr cc d khc n

cc nh cung

C thi t b ngo i vi m h th ng c a chng ta c n x thi t b k thnh thu t c n i v i h ng c vin cho l p x

th ng c a chng ta th ng s

l lo i thi t b ngo i vi ny. ch c khng? Miu t m t n v t

Chng ta c ph n cng vi c t ch c l cng vi c m hnh doanh nghi p. 2.1.3- T ng k t v

c th c hi n v i cc l p,

c bi t l trong cc

cc ngu n thng tin cho vi c tm l p: c bi t ch khi tm l p l:

Nhn chung, cc ngu n thng tin chnh c n Cc l i pht bi u yu c u Cc Tr ng h p s S d ng

tr gip c a cc chuyn gia

ng d ng

Nghin c u h th ng hi n th i Lo t cc l p u tin c nh n d ng qua ng c y th ng c g i l cc l p th ng tng t ng c

vin (Candidate Class). Ngoi ra, nghin c u nh ng h th s mang l i cho ta cc l p Khi nghin c u h then ch t vin khc:

cng c

th ng hi n th i, hy ng c

n cc danh t u

v cc khi ni m c nh n di n theo m t tn

nh n ra l p

vin. Khng nn a cc l p c nh c l i

m t l n n a vo m hnh ch b i v chng g i khc. V d , m t h

th ng nh bng c th

coi cng m t khch hng v i

nhi u v tr khc nhau l nhi u khch hng khc nhau. C n ch khi phn tch

V ng b c cng doanh nghi p s


nh ng l i miu t di n l p. C nhi u ngu n thng tin m nh thi t k ch khi lm nh v y, ta m i c th c n ph i ch t i khi thi t k kh l p v nh th trnh d n n s trng l p trong qu trnh nh n

tin ch c v

nng t o d ng m t m hnh

t t. Hnh sau t ng k t cc ngu n thng tin k trn.

Cc tr ng h p s tr c s t nt ic a

d ng l ngu n t t nh t cho vi c nh n di n l p v d ng

i t ng. d ng t i s

C n nghin c u k cc Tr ng h p s yu c u ph i a vo m t s

tm cc thu c tnh (attribute) bo i u ny tr

i t ng ho c l p ti m nng. V d n u Tr ng h p s ti kho n (account-number) th

t nt ic am t M t ngu n khc

i t ng ti kho n. nh n ra l p/ i t ng l cc Input v Output c a h th ng.

N u Input bao g m tn khch hng th y l tn hi u cho bi t s i t ng khch hng, b i n l m t attribute c a khch hng. Ni chuy n v i ng i s th ng i s d ng miu t d ng cng g i m

t nt ic am t

n cc khi ni m then ch t. Th ng a vo nh ng g v mong d ng

h th ng theo l i c n ph i

ch k t qu g. Thng tin a vo v k t qu theo l i miu t c a ng i s c n ph i c t p h p l i v i nhau nh n d ng khi ni m then ch t.

2.2- Cc l p Theo cc b c k

ng c

vin: u giai o n phn tch, ta ng c miu t c

trn trong ph n

m t s l p khc nhau. Nh ng l p ny hi n nh ng l p c kh

c g i l cc l p

vin, chng th

nng t n t i trong m t h

th ng cho tr c. M c d v y,

V ng b c cng doanh nghi p s


y v n c th cha ph i l k t qu chung cu c, m t s l p ng c vin c th

s b lo i b trong cc b c sau v khng thch h p. Giai o n u khi nh ngha cc l p ng c vin, ta cha nn c g ng thanh l c nhi u l.

cc l p, hy t p trung co m c tiu nghin c u bao qut v ton di n t ngu n thng tin khc nhau khng b st nhi u kha c nh c n x ng c vin c th l:

V d trong nh m t bng l , cc l p Khch hng

Cc lo i ti kho n khc nhau Sec, s ti t ki m, n, . Phi u yu c u m ti kho n m i Th ATM B n in thng tin v ti kho n Gi y ch ng nh n ti kho n u t

Th x p hng (Token), s th t Nhn vin Nhn vin thu ngn 2.3- Lo i b C r t nhi u lo i l p cc l p ng c ng c vin khng thch h p:

vin khng thch h p c n ph i c lo i b : nh ngha cng m t th c th , nn hai l p bi u hi n

L p d, th a: Khi c hn m t l p gi l i l p t t nh t v lo i b bng c hai l p ch

nh ng l p khc. V d , trong m t nh l i m t. khng lin ng m ti n bn

ti kho n v khch hng. C

cng m t th c th v v th ch c n gi L p khng thch h p: L p quan n v n d ng c n ph i

nh ngha ra nh ng th c th

th c t i. M i l p khng xu t pht t c lo i b . V d , l p c a cc my ng c

ph m vi

casse trong m t nh bng c th l m t l p khng thch h p.

vin cho khi ni m

L p khng r rng: L p khng c ch c nng c l p khng r rng. L p t n t i v c gi tr s th ng l l p c m t ch c nng b . V d quan st nhi u b rng. Cc l p khng r rng c n ph i c

th

c g i l cc nh r

d ng trong m t h

c nh n di n v xc

nh ngha l i ho c lo i

ph n khc nhau trong m t nh bng

V ng b c cng doanh nghi p s


ABC. M t trong nh ng b ph n c nh n di n c th l b ph n hnh chnh. V ph m vi cho qu trnh vi tnh ha c a nh bng hi n th i cha bao g m m ng hnh chnh nn l p ny c th th ng c n xy d ng tr c m t). Tng t , nh ng thu c tnh v phng th c khng r rng c n ph i c lo i ra kh i danh sch cc l p ph i b xo h n, nhng c n cc l p c n thi t c ng c vin. Chng khng c n ta c th nhn r ng x sau ny c th a ra ngoi c coi l m t l p khng r rng (v khng c ch c nng r rng trong h

c nh n di n. Cc

c gn cho cc l p thch h p hn. Cc l p ch l vai tr (Role) cc vai tr v gi Hy gi tr. M t l p khng cung c p ng x c n thi t ho c thu c tnh c n thi t ng x no m ch nh ngha m t t p c nghin c u m t khch hng c i v i m t l p khc: Hy lo i b t t c nh qu n tr , nhn vin thu nh ng l p khc ch l vai ch l vai tr c a l p nhn vin.

l i l p chnh. V d

ngn, ng i ch y gi y r t c th

l i l p nhn vin v lo i b t t c

c th s l l p khng c n thi t. Nhi u khi, c th c m t l p ch ng cung c p m t thu c tnh ho c k th xc c nh s h p cc m i quan h . Nh ng l p nh th c n ph i lin quan v i h th ng. V d

nh ngha l khch hng quan tr ng hay khch hng bnh m anh ta c v i nh bng trong t

th ng ty theo m i quan h cch ch nhn ti kho n. T t c nh ng cng c

xy d ng (Implementation constructs) v d c a ra kh i m hnh o n xy d ng ph n c dng t i trong giai

nh stack, arrays, link lists, c n ph i phn tch. Chng s m m. M t l p c tn mang tnh ch ng t c th

n gi n ch l m t hm c coi

khng ph i l m t l p. V d

"rt ti n" khng c n ph i

l m t l p, n c th l ch c nng c a m t l p. L p ch c m t hm ho c ch l s nng no . L p khng c hm l m t thi u st trong m hnh. V n hm c th t ng ha d miu t vi c th c hi n m t ch c c th c hi n y

n gi n ch l m t hm, ho c qu trnh tr u y cha

li u (data abstraction)

thnh ph n (phng th c) c a l p ny cha c suy ngh th u o.

V ng b c cng doanh nghi p s


3- L p v i t ng trong UML: UML th hi n l p b ng hnh ch nh t c 3 ph n. Ph n th nh t ch a tn l p.

Trong ph n th

hai l thu c tnh v cc d

li u thnh ph n c a l p v trong ph n

th ba l cc phng th c hay hm thnh ph n c a l p. 3.1- Tn l p (lass name): Tn l p v n vin,.... 3.2- Thu c tnh (attribute): L p c thu c tnh miu t th ng l nh ng d ng d nh ng li u c i m c a c i t ng. Gi tr c a thu c tnh l p trnh h c in m (bold) v cn gi a. Tn l p ph i c d n xu t t ph m vi

v r rng nh c th . V th

n l danh t , v d

nh ti kho n, nhn

n gi n

a ph n cc ngn ng

tr nh Integer, Boolean, Floats, Char, Thu c tnh c th t li u thu c tnh c nhi u m c c th trng th y c (visibility) khc nhau, miu cc l p khc, khc v i l p nh

c truy xu t t

ngha ra n. N u thu c tnh c tnh trng th y l cng c ng (public), th n c th c nhn th y v s th y khc l b o v b i cc l p d n xu t. Trong UML, thu c tnh cng c ng mang k hi u "+" v thu c tnh ring mang d u "-". Gi tr s thay c gn cho thu c tnh c th l m t cch i trong tr ng thi c a c i t ng. u c th miu t tr ng thi c a i d ng ngoi l p (protected), c s . N u thu c tnh c tnh trng th y l bn ngoi l p . M t tnh trng khi qut ha c th z k d ng chung v i cng c ring (private), b n s khng th truy c p n t

v chuyn bi t ha. N cng gi ng nh cc thu c tnh ring nhng

t ng. M i l n cc gi tr ny thay

i l bi u hi n cho th y c th

x y ra m t

Lu : M i

i m c a m t th c th l nh ng thng tin c n lu tr .

chuy n thnh thu c tnh c a l p miu t lo i th c th 3.3- Phng th c (methods): Phng th c t ng c s d ng nh ngha cc ho t m t l p s x l thay ng m l p c th

th c hi n. T t c

cc

c t o t

c chung thu c tnh v phng th c. Phng th c i cc thu c tnh cng nh th c hi n cc cng vi c c g i l cc hm (function), nhng chng n m c p d ng cho cc qua tn, gi tr tr v i t ng c a l p ny. M t v danh sch c a 0 cho t i

khc. Phng th c th ng trong m t l p v ch c th phng th c c miu t

V ng b c cng doanh nghi p s


nhi u tham s . Lc thi hnh, phng th c c g i km theo m t i t ng c a

l p. V nhm cc phng th c miu t nh ng d ch v m l p c th cung c p nn chng c coi l giao di n c a l p ny. Gi ng nh thu c tnh, phng th c cng c tnh trng th y c nh cng c ng, ring v b o v .

3.4- K hi u i t ng: i t ng l th c th c a cc l p nn k hi u dng cho dng cho l p. i t ng cng l k hi u

Hnh trn tnh hi u

c nh sau: CAH l

i t ng c a l p AccountHolder. Cc thu c c th c th ha. Ch r ng k

c gn gi tr ,

y l cc gi tr khi l p

i t ng khng ch a ph n phng th c.

4- Quan h Bi u

gi a cc l p: hi n cc l p v cc m i quan h gi a chng. Quan h gi a cc

l p th

l p g m c b n lo i: Lin h (Association) Khi qut ha (Generalization) Ph thu c (Dependency) Nng c p (Refinement) M t lin h quan h cc l m t s n i k t gi a cc l p, cng c ngha l s c n i k t gi a cc c nh

i t ng c a cc l p ny. Trong UML, m t lin h miu t ngha l m t s i t ng. gi a m t y u t lin quan v ng

nh ngha l m t m i

m t t p h p cc n i k t (links), trong khi n i k t

ngha (semantic connection) gi a m t nhm

Khi qut ha l m i quan h m ty ut

mang tnh khi qut cao hn v i t ng l m t th c th c a cs d ng b tc ni

mang tnh chuyn bi t hn. Y u t mang tnh chuyn bi t hn c th

ch a ch cc thng tin b sung. M t th c th (m t m t l p) c a y u t mang tnh chuyn bi t hn c th no m

i t ng mang tnh khi qut ha hn c php.

V ng b c cng doanh nghi p s


S ph thu c l m t m i quan h mang tnh ph n y u t ph thu c. v t, nhng gi a cc y u t , g m m t y u mang tnh thu c. M t s thay i trong y u t c l ps c

l p v m t y u t nh h ng M ts

nng c p l m i quan h gi a hai l i miu t c a cng m t s tr u t ng ha khc nhau.

nh ng m c 5- Lin h M t lin h

(Association) l m t s n i k t gi a cc l p, m t lin quan v v i m t ng ngha gi a cc hai i

i t ng c a cc l p tham gia. Lin h ngha khi m t i t ng ny c lin h

th ng th ng mang tnh hai chi u, c i t ng khc th c bi u th b ng cc i t ng c a hai

t ng ny nh n th y nhau. M t m i lin h

l p c n i k t v i nhau, v d r ng "chng bi t v nhau", " c n i v i nhau", "c m i X l i c m t Y",.... L p v lin h gi a cc l p l nh ng cng c r t m nh m cho vi c m hnh ha cc h th ng ph c t p, v d nh c u trc s n ph m, c u trc vn b n v t t c cc c u trc thng tin khc. M i lin k t (hnh 4.18). c th hi n trong bi u UML b ng m t ng th ng n i hai l p

5.1- Vai tr trong lin h M t lin h c th c cc vai tr (Roles). Cc vai tr c n i v i m i l p bao m nh n nhn t h ng l p

ch a trong quan h . Vai tr c a m t l p l ch c nng m n gc nhn c a l p kia. Tn vai tr n. ch nhn ra, th hi n l p ny ng vai tr nh th no

c vi t km v i m t mi tn ch t

i v i l p m mi tn ch

Trong v d

trn: m t khch hng c th b i khch hng.

l ch

nhn c a m t ti kho n v ti

kho n c chi m gi

ng th ng th hi n lin h gi a hai l p.

V ng b c cng doanh nghi p s


M ts i m c n ch khi t tn vai tr: i n u trng v i tn l p

Tn vai tr c th b

Tn vai tr ph i l duy nh t. Tn vai tr ph i khc v i cc thu c tnh c a l p. Tn vai tr ph i miu t ph m vi v n 5.2- Lin h Ta cng c th m t s uc a s c ch c nng m l p ny m

nh n trong quan h , t c c n ph i l cc khi ni m l y ra t , gi ng nh tn cc l p.

m t chi u (Uni-Directional Association) m t chi u b ng cch thm m t mi tn v n i k t ch c th c

d ng m i lin h

ng th ng n i k t. Mi tn ch ra r ng s

d ng duy nh t theo chi u c a mi tn.

Bi u

ph n 5.15 th

hi n r ng gi a hai l p c lin h , nhng khng h

thng tin v s

l ng cc

i t ng trong quan h . Ta khng th bi t m t khch c g i l s l ng ph n

hng c th c bao nhiu ti kho n v m t ti kho n c th l c a chung cho bao nhiu khch hng. Trong UML, lo i thng tin nh th t (Cardinality) trong quan h . 5.3- S l ng (Cardinality) trong lin h :

V ng b c cng doanh nghi p s

Bi u

trn ni r m t khch hng c th m m t ho c nhi u ti kho n v m t

ti kho n c th thu c v m t cho t i ba khch hng. S l ng c ghi pha u ng th ng th hi n lin h , st vo l p l mi n l ng ph n t v d trong lin h c th t 0-t i-1 nh l

p d ng c a n. Ph m vi c a s (5..11). Cng c th miu t 1.

(0..1), 0-t i-nhi u (0..* hay ), m t-t i-nhi u (1..), hai (2), nm-t i-m i m t m t dy s (1,4,6, 8..12). Gi tr m c

Hnh trn l v d nhng t t c ki m v

cho m t bi u

l p tiu bi u. Bi u u thu c v b

gi i thch r ng b

ph n

d ch v ti kho n ti t ki m c a m t nh bng c th c nhi u ti kho n ti t ki m nh ng ti kho n ny ph n . M t ti kho n ti t 1 ph n n l i c th c nhi u ti li u, nhng nh ng ti li u ny ch thu c

v m t ti kho n ti t ki m m thi. M t ti kho n ti t ki m c th thu c v t kho n. 5.4- Pht hi n lin h : Th ng s c nhi u m i lin h gi a cc i t ng trong m t h

cho t i nhi u nh t l 3 khch hng. M i khch hng c th c nhi u hn m t ti

th ng. Quy t , cc yu c u.

nh lin h no c n ph i Gi ng nh danh t cc m i quan h .

c th c thi l cng vi c th c giai

o n thi t k . C

th tm cc m i lin h qua vi c nghin c u cc l i pht bi u v n gip chng ta tm l p, cc ng t

y s gip ta tm ra

M t vi l i mch b o khi tm lin h : V tr v m t v t l ho c s t xc nh hay bi u l ch n cho lin h . V d : t i S bao ch a: C m ng t thay th , i di n: M i c m ng

m t v tr

u l m t bi u hi n ch c

a i m, ng i trong, bi u l s bao ch a, v d nh: l

thnh ph n c a.... Giao ti p: C nhi u c m ng t bi u l s giao ti p, v d

truy n thng i p, ni chuy n v i, Quy n s h u: V d : thu c v , c a,

V ng b c cng doanh nghi p s


Tho mn m t i u ki n: Nh ng c m t ch ng/v c a, qu n tr , . 5.5- X l cc lin h khng c n thi t: l phn bi c cc lin h c n thi t khng c n thi t c th bao g m ho c cc lin h khng ch tng hi u nh: lm vi c cho, l

Sau khi tm cc m i lin h , b c ti p theo ra kh i cc lin h lin quan khng c n thi t. Lin h ng c nh ng lin h bao ch a cc l p qu . Nh ng lin h nh th

vin b lo i tr

n h th ng. C nh ng lin h l v d

c t o ra nh m m c

tiu ti u c a cc chi ti t th c thi v khng

lin quan t i giai o n ny. C n ch phn bi t gi a hnh miu t xu t t ng hnh nh ng c m t mang tnh ng v m i lin h . Ng i ta th ng c xu h ng lin h l n hnh ng u c d n ng t trong b n miu t yu c u. Cc hnh

ng nh l lin h , b i c

c th hi n sai thnh lin h cng c n ph i p d ng m t nguyn t c: lin h i v i m t

c lo i b . Khi lm vi c ng v v y

ny, c th nn

l n i k t mang tnh tnh gi a cc khng ph i quan h gi a

i t ng, trong khi hnh c coi l Phng th c cc l p. V d t

ng ch l thao tc x y ra m t l n. Hnh i t ng ch

v i "Ban qu n tr nh bng

u i vi c m t nhn vin",

ng t

u i vi c ng

th hi n hnh

ng. Trong khi v i M t nhn vin lm vi c cho hng" th

lm vi c" miu t lin h gi a hai l p nhn vin v hng. g ng lo i b cc lin h d th a, b n s c bi t ch tr ng. th y c m t s lin h d

Trong khi c th a

"l n vo" m hnh c a chng ta trong giai

o n thi t k . Hnh sau ch ra

m t s lo i lin h d th a c n

5.6- Nng c p cc m i lin h : M t khi cc m i lin h c n thi t c nh n d ng, b c ti p theo l ngin c u k m hnh v nng c p cc m i lin h ng tc nng c p k v phng di n s . t l i cho h n nh cn

u tin l xem xt l i tn lin h , tn vai tr, l ng thnh ph n tham gia (Cardinality). S ng m t vai tr quan tr ng l ng. N u c n thi t, hy b

ng v i b n ch t quan h m chng th hi n. M i lin h c n ph i c suy xt (Qualification) cho lin h nh c th y, b sung y u t h n sung cc lin h

gip lm gi m s

V ng b c cng doanh nghi p s


thi u. Nghin c u k th t ra th t ng th thng tin v cc thu c tnh, xem li u trong s chng c thu c tnh no sung cc

hi n lin h . N u c, hy chuy n chng thnh lin h . B xc nh cc d ng quan h gi a chng v i nhau. v y u t h n nh (Qualifier): h n

i u ki n c n thi t cng nh xem xt cc m i lin h trong m hnh

5.6.1- Lin h M t lin h nhau. Y u t c h n h n

nh lin h h n

hai l p v m t y u t s nh cc m i lin h

nh (Qualifier) v i

nh l m t thu c tnh h n ch h n

l ng thnh ph n tham gia m t-t i nhi u v nhi ui t ng c a u nhi u

trong m t m i lin h . C th t i-nhi u. Y u t c a lin h . V d m t th

nh gip phn bi t trong nhm

m c c nhi u t p tin.M t t p tin ch thu c v m t th m c m thi. nh, tn c a t p tin s xc nh duy nh t t p tin mang y ng vai tr y u t h n nh y

Trong m t th m c xc

tn . Th m c v T p tin l hai l p, v tn t ptin nh. M t th m c v m t tn t p tin xc

nh m t t p tin. Y u t h n

chuy n m t m i lin h m t-t i-nhi u thnh lin h m t-t i-m t.

5.6.2- Lin h Nh bng n l ch a ra quy

V (AND Association) nh: khch hng khi mu n m m t ti kho n ATM ph i u t. Trong m t tr ng h p nh th ,

nhn c a t nh t m t ti kho n

m i lin h V (AND) s

c th hi n nh sau:

Bi u

trn cho th y m t khch hng c th c nhi u hn m t ti kho n

u t

c th i h n v ch m t ti kho n ATM. Trong bi u c p d ng gi a nhm ti kho n c th c. 5.6.3- Lin h V d

c m t m i lin h V ng m

u t v ti kho n ATM m m t khch hng

HO C (OR Association) u c th k h p ng

t i m t hng b o hi m n , c nhn cng cng ty

b o hi m, nhng c nhn v cng ty khng c php c cng lo i h p hi m nh nhau. Trong m t tr ng h p nh th , gi i php l s HO C (OR Association). M t lin h hai hay nhi u lin h , xc nh r ng HO C l m t s h n ch .

ng b o

d ng lin h i m

i v i m t nhm

i t ng c a m t l p ny t i m t th i

ch c th tham gia vo nhi u nh t m t trong cc m i lin h

V ng b c cng doanh nghi p s


5.6.4- Lin h c s p x p (Ordered Association) i t ng c m t tr t t ng m nh. Gi tr m c c

Cc m i n i k t (link) gi a cc nh c a tr t t s hi u l m t lin h v i tr t t c th hi n nh sau:

ny l ng u nhin. M t lin h

c tr t t

r rng c th

s p x p (sort order) trong nhm cc n i k t, n

Nhn {ordered}

c ghi g n l p c

i t ng c s p x p. Bi u

trn c

c l cc ti kho n ti t ki m c s p x p theo khch hng. 5.6.5- Lin h tam nguyn (Ternary Association)

C th c nhi u hn hai l p n i k t v i nhau trong m t lin h tam nguyn.

Bi u

trn c

c nh sau: M t khch hng c th quan h v i b ph n u t s xu t hi n qua quan h gi a khch hng v b ph n

u u

t v m t b ph n nh n ti kho n t.

u t c th c m t ho c nhi u khch hng. M t gi y ch ng

5.6.6- L p lin h M t l p c th c

(Association Class) c

nh km theo m t lin h , trong tr ng h p ny n s

g i l m t l p lin h . M t l p lin h khng th ng, l p lin h lin h cs i m n i k t c th

c n i t i b t k m t l p no c a khc. L p i t ng

m i lin h , m t i chnh b n thn m i lin h . Cng gi ng nh m t l p bnh c thu c tnh, Phng th c v cc quan h g n li n v i m t d ng b sung thm thng tin cho n i k t (link), v d nh th i

c thi t l p. M i n i k t c a lin h

c a l p lin h . V d sau miu t m t h th ng thang my. B ph n c i u khi n ch huy b n t pha b ph n i u

thang my. Cho m i n i k t gi a nhm thang my v b ph n i u khi n c m t hng x p (queue). M i hng lu tr khi n l n t khi n ch n m t thang my nh ng y u c u k pha thang my (nh ng nt b m bn trong thang). Khi b ph n i u th c hi n m t l i yu c u nt m t hnh khch c cc hng v

ng ngoi thang my (m t hnh khch trn hnh lang), n s ch n thang my no c hng yu c u ng n nh t.

V ng b c cng doanh nghi p s


5.6.7- Lin h quy (Recursive Association) y u

C th lin k t m t l p v i b n thn n trong m t m i lin h . M i lin h v n th hi n m t s lin quan ng ngha, nhng cc i t ng c n i k t thu c chung m t l p. M t lin h c a m t l p v i chnh b n thn n m t lin h quy, v l n n t ng cho r t nhi u m hnh ph c t p, s i t ng cho bi u l p trong hnh 5.25.

c g i l d ng v d quy

miu t cc c u trc s n ph m. Hnh 5.25 ch ra m t v d c a lin h v hnh 5.26 l m t bi u

6- Quan h

k t t p (Aggregation)

6.1- Khi ni m k t t p: K t t p l m t tr ng h p cc b ph n". N c s c bi t c a lin h . K t t p bi u th r ng quan h c t o thnh b i m i d ng khi chng ta mu n t o nn m t th c th

gi a cc l p d a trn n n t ng c a nguyn t c "m t t ng th b ng cch t p h p cc th c th t n t i v i nhau. M t v d l chi c xe t g m c b n bnh xe, m t v.v.... Qu trnh ghp cc b ph n l i v i nhau s ng t

tiu bi u c a k t t p

ng c, m t khung g m, m t h p s ,

t o nn th c th c n thi t c g i l c ch t i khi g p cc lo i k t t p khng c tn ring. Tn

k t t p. Trong qu trnh tm l p, k t t p s c t o b i", "g m c", . Quan h

ng m ch a trong n l "bao g m cc thnh ph n". 6.2- K hi u k t t p: K hi u UML cho k t t p l th s k t t p (t ng th ). c t o b i cc l p chi ti t v khch hng, cc l nh giao d ch nh c a nh bng. ng th ng v i hnh thoi (diamond) t st l p bi u

M t l p ti kho n

i v i ti kho n cng nh cc quy Quan h trn c th

c trnh by nh sau:

M i thnh ph n t o nn k t t p (t ng th ) c g i l m t b ph n (aggregates). M i b ph n v ph n n l i c th c t o b i cc b ph n khc.

V ng b c cng doanh nghi p s

Trong tr ng h p ti kho n k trn, m t trong cc b ph n c a n l cc chi ti t v khch hng. Cc chi ti t v khch hng l i bao g m danh sch ch danh sch kho n. 6.3- K t t p v lin h : Khi ni m k t t p n y sinh trong tnh hu ng m t th c th bao g m nhi u thnh ph n khc nhau. Lin h gi a cc l p m t khc l m i quan h gi a cc th c th . Quan st hnh sau: a ch , cc quy nh v ti kho n, ti k h n cng nh cc chi ti t khc khi m

M t ti kho n c t o b i cc chi ti t v khch hng, cc l nh giao d ch ti kho n cng nh cc quy ph n c a ti kho n, nhng c quan h v i ti kho n. Nhn chung, n u cc l p "ton th b c n i k t v i nhau m t cch ch t ch coi quan h

i v i

nh c a nh bng. Khch hng khng ph i l l b

qua quan h

ph n" th ng i ta c th

l k t t p. Khng c l i

h ng d n ch c ch n v r rng cho vi c bao gi v ph m vi v n

nn dng k t t p v bao gi n.

nn dng lin h . M t l i ti m c n nh t qun i km v i nh ng ki n th c su s c s gip nh phn tch ch n gi i php ng

7- Khi qut ha v chuyn bi t ha (Generalization & Specialization) Hy quan st c u trc l p trong bi u sau:

Trong hnh trn, ti kho n l khi ni m chung c a cc lo i ti kho n khc nhau v ch a nh ng ch a s suy ra t c t c n thi t cho t t c cc lo i ti kho n. V d ti kho n. Ta c th nh n c th c bi t ti kho n v tn ch c hai lo i ti kho n

d ng ti kho n chung ny, m t lo i mang tnh k h n v m t lo i mang chia cch hai l p ny v i nhau l cc quy ng c a hai lo i ti kho n. nh chuyn

tnh giao d ch. Y u t

ngnh hay ng hn l phng th c ho t

V ng b c cng doanh nghi p s


Tng t nh v y, ti kho n u t trung h n v di h n l i l nh ng khi ni m c bi t c a lo i ti kho n giao d ch.

chuyn bi t c a khi ni m ti kho n c k h n. M t khc, ti kho n bnh th ng v ti kho n ti t ki m l nh ng tr ng h p Lo i c u trc l p nh th

c g i l m t c u trc hnh cy ho c c u trc phn i m xu t pht c a cy xu ng d i, chng ta c chuyn bi t ha nhi u hn. Theo con ph i i qua l p ti kho n

c p. Khi chng ta d ch chuy n t ng i t ti kho n

s g p cc khi ni m cng ngy cng

n ti kho n ti t ki m, ta s

giao d ch. L p ny ti p t c phn lo i cc l p chuyn bi t ha cao hn, ty thu c vo ch c nng c a chng. 7.1- K hi u khi qut ha v chuyn bi t ha Trong bi u trn, cc l p trong m t c u trc cy c n i v i nhau b ng m t

mi tn r ng, ch t

l p chuyn bi t hn t i l p khi qut hn.

Qu trnh b t

u v i m t l p khi qut

s n xu t ra cc l p mang tnh chuyn

bi t cao hn c g i l qu trnh chuyn bi t ho (Specialization) Chuyn bi t ha: l qu trnh tinh ch m t l p thnh nh ng l p chuyn bi t c t cho l p k t qu . L p mang

hn. Chuyn bi t ha b sung thm chi ti t v t o ra cc l p con (Subclass). M t khc, n u chng ta kho n. Con ng b t i d c c u trc cy t u t

tnh khi qut c g i l l p cha (superclass), k t qu chuyn bi t ha l vi c

d i ln, ta s

g p cc l p ngy

cng mang tnh khi qut cao hn - V d t tnh khi qut cao hn L p chuyn bi t

l p ti kho n ti t ki m ln t i l p ti

m t l p chuyn bi t v khi n n ngy cng mang

c g i l qu trnh khi qut ha (Generalization). c g i l l p cha. ng khc nhau xem xt cng

y c g i l l p con, trong v d trn l ti kho n ti t ki m,

trong khi l p khi qut k t qu

Chuyn bi t ha v khi qut ha l hai con m t m i quan h . M t l p l l p con c a m t l p ny c th khc. 7.2- Y u t

ng vi tr l m t l p cha c a l p

phn bi t (Discriminatior)

V ng b c cng doanh nghi p s


t o m t c u trc phn c p, c n ph i c m t s qu trnh chuyn bi t ha. Thu c tnh (Discriminator). V i m i gi tr c th con tng ng. gn cho y u t phn bi t trong l p cha, ta s c m t l p thu c tnh lm n n t ng cho phn bi t

c g i l y u t

Trong hnh trn, y u t ta gi tnh giao d ch. Theo

phn bi t trong l p ti kho n l "lo i ti kho n". Chng

thi t r ng ch c hai lo i ti kho n, m t mang tnh k h n v m t mang , ta ph i t o ra hai l p con, m t cho cc ti kho n mang

tnh k h n v m t cho cc ti kho n mang tnh giao d ch. Trong m hnh i t ng, khng nh t thi t ph i nu b t y u t i t ng hay khng. M c d u v y, phn bi t. Y u t c m b o cho

phn bi t lun c m t trong m t c u trc phn c p l p cha/ con, d c nh n m nh trong m hnh m t m hnh c cng vi c nn th c hi n. 7.2.1- L p tr u t ng Quan st c u trc trong hnh trn, ta th y l p ti kho n s th c th ha, c ngha l h th ng s khng bao gi khng bao gi nh ngha r rng, trnh by y u t

phn bi t v n lun l

t o ra cc

i t ng thu c n m c

l p ny. Nguyn nhn l v l p ti kho n mang tnh khi qut cao vi c kh i t o l p ny s d v y v n s cc n khng c m t ngha no

ng k . L p ti kho n m c c dng

ng m t vai tr quan tr ng trong vi c khi qut ha cc thu c tnh n trong cc l p d n xu t t ngoi i, chng n. Nh ng lo i l p nh th t n t i y ngha trong

cung c p m t cy c u trc l p v khng c s m t m hnh th t s class). 7.2.2- T o l p tr u t ng Cc l p tr u tr ng l k t qu

c g i l l p tr u tr ng (abstract

c a qu trnh khi qut ha. Hy quan st v d ng u cy c u trc v c g i l l p cn c khi qut n. Trong qu trnh khi

c u trc l p sau y. L p ti kho n ha v c th

b n. L p cn b n c a m t cy c u trc ch a nh ng thu c tnh c p d ng cho m i l p d n xu t t

qut ha, cc thu c tnh c dng chung trong cc l p chuyn bi t c a ln l p cha. L p cha v cu i c t o b i cc thu c tnh chung c a t t c cc l p d n xu t t n. Nh ng l p cha d ng nh v y trong r t nhi u tr ng h p s mang tnh i v s khng theo u i m c ch kh i t o, chng c l i ng x cc thu c tnh chung c a cc khi qut tuy t

gi ng nh m t thng ch a (container) cho t t c

l p d n xu t. Nh ng l p nh th trong tr ng h p chung th ng l k t qu nh

V ng b c cng doanh nghi p s


x c a nh ng danh t t nh n di n l p. tr u t ng, l h qu c a phng php s d ng cc danh

Bi u

trn cho ta m t v d v khi qut ha v cc thu c tnh chung, n ch ra theo m i m c chuyn bi t ha l i c thm c b sung thm cho cc l p, khi n chng mang tnh chuyn m c tr u t ng bn trn. V d l p ti kho n c y l nh ng thu c tnh h t s c cc d ng cc thu c tnh c a n, d l tr c ti p hay gin ti p (

nhi u l p chuyn bi t. Ch r ng c cc thu c tnh thu c tnh l s m c bi t cao hn so v i cc l p cha chung chung. T t c

ti kho n v tn khch hng. cc l p d n xu t t

tr u t ng th p hn n a),

u c quy n s

l p ti kho n. Cc l p ti kho n c k h n v ti kho n giao d ch l hai l p chuyn bi t d n xu t t ring c a chng - v d v m c ti n t i thi u nh th v i ti kho n l p ti kho n. Chng c nh ng thu c tnh chuyn bi t m c th i gian (duration) t i v i l p ti kho n c k h n l p ti kho n. Cng tng t u t trung h n l cc lo i i v i l p ti kho n giao d ch bn c nh hai thu c tnh s u t ng n h n v ti kho n

ti kho n v tn khch hng m chng th a k

l p thu c ti kho n c k h n, ti kho n ti t ki m v ti kho n bnh th ng l cc lo i l p thu c l p ti kho n giao d ch. 7.2.3- L p c L pc th (concrete class) ni t tr c, cc l p c th i

th l nh ng l p c th th c th ha. Nh ha c g i l cc u t di h n c th

khi th c th

i t ng. Trong v d

trn, cc l p ti kho n

u t ng n h n v ti kho n t ng. Tng t

c th c th ha thnh

i v i ti kho n ti t ki m v ti kho n bnh th ng. pht tri n cy c u trc d ng nguyn t c khi qut ha c tinh ch (refine) cc ng x khc

7.2.4- T ng k t v

C ch dng chung thu c tnh v th t c s g i l tnh th a k l p s (inheritance). S

d ng tnh th a k

d n t i vi c pht tri n m t cy c u trc. Nn pht hi n nh ng ng x c a cng m t l p s d n t i vi c t o ra cc l p con. ng x nt t c

(behaviour) chung trong m t lo t l p r i th hi n n thnh m t l p cha. S bi t trong

Khi pht tri n cy c u trc, hy quan st c m t lin h t n t i t m t l p c th nn d ch chuy n lin h ny ln l p cha.

c a cc l p. Trong tr ng h p cc l p con c a m t l p cha,

N u t n t i m t lin h gi a m t l p no v m t l p cha, hy chuyn bi t ha v nng cao c u trc xc nh xem li u lin h ny c c p d ng cho t t c

V ng b c cng doanh nghi p s


cc l p con c a l p cha n hay khng. N u c th gn n vo l p cha, n u khng th d ch xu ng cho nh ng l p con ph h p. Trong khi ti n hnh khi qut ha, tr ng tm cng vi c l xc chung trong m t nhm nhi u l p chuyn bi t b c trung. Khi y u t chung c a t t c nh cc ng x c l i

xy d ng

m t th t c ho c m t thu c tnh chung, nn ki m tra l i xem chng c th t s c p d ng ch khi chng ta c m t t p h p cc l p t ng ring bi t v c m t s t o nn l p cha ch a cc Khi chuyn bi t ha, ta thch cc l c ra ng x c a n ng x l ng l n cc chung . khc bi t trong ng x ng x nh ngha m t lo i

cc l p chuyn bi t trong ph m vi ny. Khi qut ha chung. Tr ng tm y l

i tm cc s

t o cc l p con

ng. C ngha l ta xem xt m t l p t n t i, ki m tra xem c ph i t t c u c kh nng p d ng cho m i i t ng. N u khng, ta ng x khng ph i lc no cng c n thi t v chia tr ng h p n ra thnh

cc l p con. Tr ng tm c a chuyn bi t ha l t o cc l p con. V i c ch th a k , m t l p con s k th a m i thu c tnh th t c c a t t c

cc l p cha c a n. Hnh sau lm r vi c t o c u trc l p s d ng tnh khi qut.

Th ng x y ra tr ng h p t t c cc l p con cng tham gia vo m t lin h ho c k t t p. Trong tr ng h p ny nn t o l p cha Hnh sau gi i thch thm i m ny: nh ngha lin h /k t t p .

8- Quan h

ph

thu c v nng c p (Dependency & Refinement) v khi qut ha, UML cn nh ngha hai lo i quan h lin quan ng khc.

Bn c nh lin h Quan h ph n t thay hnh ph

thu c (Dependency) l m t s cl ps nh h ng

ngha gi a hai thu c. M i s m d ng,.v.v... i t ng

m hnh, m t mang tnh i trong ph n t

c l p v m t mang tnh ph n ph n t

ph thu c. Ph n t

y c th l m t l p, m t gi (package), m t tr ng h p s

C th nu m t vi c d cho s m t l p g i m t th trn u c m t s

ph thu c nh: m t l p l y tham s l

c a m t l p khc, m t l p truy nh p m t ph

i t ng ton c c c a m t l p khc, cc tr ng h p

t c thu c thu c m t l p khc. Trong t t c

thu c c a m t l p ny vo m t l p kia, m c d chng

khng c lin h r rng v i nhau.

V ng b c cng doanh nghi p s


Quan h ph thu c c th hi n b ng ng th ng g ch r i (dashed line) v i m hnh. N u s d ng nhn c nh lo i ph thu c. Hnh sau ch ra m hnh nh n th hai (th m ch t i c

mi tn (v c th thm m t nhn) gi a cc ph n t th n s l m t khun m u (stereotype), xc m t s ph quy n truy c p c bi t t i c u trc n i b

thu c d ng "friend", c ngha r ng m t ph n t c a ph n t

nh ng ph n mang tnh nhn th y l private).

Nng c p (Refinement) l m t quan h v t, nhng quan h thi t k nh ng m c gi a m t lo i

gi a hai l i miu t

c a cng m t s l m i

tr u t ng ha khc nhau. Nng c p c th

i t ng v l p th c hi n n. Cc nng c p th ng g p u m hnh ha cng m t th , quan h c ng tc gi a

khc l quan h

gi a m t l p phn tch (trong m hnh phn tch) v m t l p

(trong m hnh thi t k )

m t l i miu t c m c tr u t ng ha cao v m t l i miu t c m c tr u t ng ha th p (v d m t b c tranh khi qut c a m t s ). Quan h ng v m t bi u d ng m n gi n v m t chi ti t c a cng c ng tc nng c p cn c s

hnh ha nhi u m c th c thi c a cng m t th th c thi ph c t p hn, hi u qu hn). Quan h nng c p c th hi n b ng

(m t th c thi

ng th ng g ch r i (dashed line) v i

mi tn r ng.

Quan h s

nng c p

c s

d ng trong vi c ph i h p m hnh. Trong cc d c ph i h p v i nhau. Ph i h p m hnh

n c

l n, m i m hnh

u c n ph i

d ng nh m m c ch: Ch ra m i lin quan gi a cc m hnh nhau. Ch ra m i lin quan gi a cc m hnh nhi u giai o n khc nhau (phn nhi u m c tr u t ng khc

tch yu c u, phn tch, thi t k , th c thi,...). H tr vi c qu n tr c u hnh. H tr vi c theo di trong m hnh. 9- Nng c p m hnh qua cc vng l p k ti p

V ng b c cng doanh nghi p s


Cho t i th i i m ny, chng ta i qua cc b c cng vi c phn tch cn b n v i t ng. M hnh ny c n ph i c

t o nn phin b n

u tin c a m hnh

l y lm m c tiu cho cc vng l p nng c p ti p theo. Cng vi c nng c p c th giai c th c hi n b ng cch a m hnh qua t t c cc i t ng m t l n n a. L n ny, nh ng ki n th c us t ra r t h u d ng. Khi nng c p m hnh

o n pht tri n m hnh n cc b c sau:

thu c trong vng pht tri n c n ch

a) Nghin c u cc l p (dissimilar). N u c, x (harmony) trong l p. V d

tm cc thu c tnh v th l p thnh cc thnh ph n v i m t l p

t c khng t o tnh

ng d ng ng nh t

m nh n hai vai tr khc nhau, hy x nh r rng. ch no th l

l p thnh cc l p k t qu v i nh ng th t c c xc

b) N u pht hi n th y m t ch c nng khng h ng t i m t l p

tri u ch ng thi u l p. Hy b sung l p thi u v a th t c k trn vo l p . c) Khi qut ha l cn cha cng cc m i lin h . c bi t quan tr ng i v i h th ng th n u c cc lin h trng l p (nhi u lin h k th p

nh ngha m t quan h ). Trong tr ng h p ny, c n t o l p cha

d) N u m t vai tr mang m t ngha ny thnh m t l p lin h .

th ng n c n m t l p ring. M t l a ch n khc l bi n lin h

nh ngha vai tr

e) N u m t l p thi u c thu c tnh l n th t c v / ho c lin h th r t c th l m t l p khng c n thi t. Hy lo i b nh ng l p n u c th . f) Hy r st ton b h th ng tm nh ng vai tr gi a cc l p cn cha

th hi n. N u c, y l tri u ch ng thi u lin h . g) N u c m t lin h d ng t i th r t c th m t lin h no c gi a cc i t ng nhng l i ch ng c th ta t c no s xc nh t c

y l m t lin h

khng c n thi t. V d

gi a nhn vin thu ngn v khch hng nhng l i khng c th nh ngha gi a hai ng i. Trong tr ng h p ny, r t c th lin h

l khng c n thi t. M ts mch b o th c t : Nghin c u hi u th u o v n c n gi i quy t: u b ng cch vi t ra cc c u

Khi xy d ng m hnh v

i t ng, khng nn b t

trc l p, cc m i lin h cng nh nh ng m i quan h th a k l r trn b m t p th ng vo m t chng ta. Hy dnh th i gian nghin c u k b n ch t v n . M hnh i t ng ph i c thi t k ph h p v i gi i php cho v n m

chng ta nh m t i.

V ng b c cng doanh nghi p s


C n th n khi ch n tn: Tn c n c ch n m t cch c n th n b i n ch ng nh n s i t ng ch khng ch nh m t i m t kha c nh no c a B t c t n t i cc th c th . i t ng. chuyn i

Tn c n ph i chnh xc, ng n g n, trnh gy bn ci. Tn ph i th hi n t ng th

ni no c th , hy ch n nh ng tn no bao ch a cc danh t i v i ng i s d ng, ho c cc th c th c t tn m t cch t i t

ngnh quen thu c v i ng i s nh m l n. C n gi Hy khng c

d ng. Nh ng tn t o ra nh ng hnh xa v i

r t d gy ra

cho m hnh

i t ng c n gi n:

l i xu h ng t o ra cc m hnh ph c t p, chng ch mang l i s u c a quy trnh m hnh ha c i t ng, hy xc dnh cho giai

nh m l n, b i r i. Trong vng

nh cc m i lin h cn b n v g t ra ngoi cc chi ti t, vi c xem xt t i cc s l ng thnh ph n tham gia (Cardinality) trong quan h o n sau; r t c th l th hai ho c vng th vng th cc thnh ph n tham gian trong quan h ch ng i ta th y nh ng phin b n lin h v i s l ng l t Nn s hai. T t nh t l cc chi ti t ph n nh s l ng c b sung thm vo trong vng i t ng. Th ng th ng,

ba c a cng vi c m hnh ha

u tin c a m hnh th ng ch ch a cc m i

0-t i-0; 0-t i-1, 1- t i-1; 1-t i-nhi u. nh b t c khi no c th . ba t ng khi

d ng cc m i lin h h n

Trnh khi qut ha qu nhi u. Th ng ch nn h n ch qut. Hy nghin c u th t k cc m i lin h

1-t i-nhi u. Chng th ng c th

c chuy n thnh cc quan h 1-t i-0 ho c 1-t i-1. T t c cc m hnh c n ph i c l y lm i t ng cho vi c ti p t c nng

c p. N u khng th c hi n nh ng vng nng c p sau , r t c th m hnh c a chng ta s thi u hon ch nh. ng tc Th ng s cho nh ng ng i khc xem xt l i m hnh l r t quan tr ng. lin quan qu c n k v i m hnh s khi n chng ta m la,

khng nh n nh ng ra khi m khuy t c a n. M t ci nhn v t trong tr ng h p ny l r t c n thi t. Khng nn m hnh ha cc m i lin h x y ra, ta th ng c th h . Thm vo , c lc ta b qua s thnh thu c tnh. N u i u ny nh.

nh n th y qua tri u ch ng l m hnh thi u lin c n thi t c a m t y u t h n

V ng b c cng doanh nghi p s


Vi c vi t ti li u cho m hnh l v cng quan tr ng. Cc ti li u c n ph i n m b t th u o nh ng nguyn nhn n m ng sau m hnh v trnh by chng chnh xc nh c th . 10- Ch t l ng m hnh Lm sao bi t c m hnh l t t hay cha t t? M t ngn ng php v ng m hnh ha c

th cung c p ng v n l i s

ngha cho ta lm vi c, nhng n khng cho ta bi t nh ch t l ng m hnh. i u ch ch t khi

li u m t m hnh v a c t o d ng nn l t t hay khng. Y u t ny m ra m t quan tr ng trong vi c xc chng ta thi t k m hnh l th c nh...). Trong m t m hnh, y u t c av n n ch quan tr ng b t nh t l ph i n m b t c b n ch t n chng ta mu n ni v hi n th c. M hnh mang

di n gi i cho nh ng g m chng ta nghin c u (hi n th c, m t vi n

. Trong m t h th ng ti chnh, chng ta th ng m hnh ha cc ha khng ph i cc mn n . Trong a ph n doanh nghi p, b n thn ha c t m quan tr ng n ch l m t s ph n nh n nh v y, y u t i u quan tr ng y l cc

khng th t s

mn n . M t ha

th hi n c a m t mn n , nhng ta c n ph i . M t khi ni m khc l m t ti kho n c r t nhi u m hnh th hi n ti c coi l

m hnh ha lm sao

nh bng. Trong nh ng nm 70 v 80 kho n nh bng. Khch hng (ch

nhn c a ti kho n t i nh bng)

m t thnh ph n c a ti kho n ny (m t ti kho n nh bng khn th u tin x y ra l nh bng khng th x

c m hnh ha

nh l m t l p ho c l m t th c th v m t khch hng l m t thu c tnh). Kh l ti kho n c nhi u ch . V n a ch . hai l nh bng khng th t o ra cc chi n l c maketing nh m t i nh ng

khch hng khng c ti kho n trong nh bng ch b i v h khng c

V v y, m t trong nh ng kha c nh c a ch t l ng m hnh l tnh thch h p c a m hnh . M t m hnh thch h p ph i n m b t cc kha c nh quan tr ng c a nh gi ch t l ng l th , d b o qu n, mang tnh i t ng nghin c u. Nh ng kha c nh khc trong vi c m hnh ph i d giao ti p, ph i c m t m c tiu c

v ng b n v c kh nng tch h p. Nhi u m hnh c a cng m t h th ng nhng c cc m c ch khc nhau (ho c l h ng nhn khc nhau) ph i c kh nng tch h p c v i nhau. D l s ph i d ng phng php no ho c ngn ng m hnh ha no, ta v n cn thnh m t ng s can l t t c

i m t v i cc v n

khc. Khi t o d ng m hnh, chng ta tr

ph n c a doanh ngh p, c ngha l chng ta c n ph i quan st hi u thi p c a chng ta vo doanh nghi p. Y u t cc kha c nh c a s can thi p v d quan tr ng l c n ph i x

nh v chnh sch, vn ha, c u trc x

h i v nng su t. N u khng lm c i u ny, r t c th ta khng c kh nng

V ng b c cng doanh nghi p s


pht hi n v n m b t t t c nh ng i h i c n thi t t r ng nh ng pht bi u yu c u l nh ng g khch hng th c s l c bao quanh khch hng. 10.1- Th M t m hnh s c t y u c a v n n no l m t m hnh t t? nng giao ti p v i n, n u n n m b t c nh ng ch c i m th . c c n). Hy pha khch hng (c n ch cng chnh xc v i n cc v n

a ra khng ph i bao gi c bi t ch

chnh sch n i b , cc m u hnh x h i, cc c u trc khng chnh th c v cc th

l m t m hnh t t n u ta c kh ch c a n v n u chng ta . M t m hnh t t

ph h p v i cc m c

i h i th i gian xy d ng; bnh th ng ra c thnh l p v i m t m c ng ton b l c l ng ch khc r t c th pht hi n

c t o b i m t nhm pht tri n,

M t trong nh ng m c ch ny c th l huy ra cc yu c u c a m t c quan. M t m c m t k c t yu c u, th c hi n m t giai ng tc ny c n ph i thu t cho m t h

l m hnh ha m t b n thi t k c t p h p nh

o n phn tch, hay v

th ng thng tin. Khi cc c nhn khc nhau

thnh nhm, tin r t c th ng d ng.

c th c hi n t p trung vo m c tiu

tr c. Cc nhm

m hnh ha m t doanh ngh p ho c l m t h th ng thng

c t o b i khch hng, chuyn gia m hnh ha v chuyn gia

10.2- Ta c th

giao ti p v i m hnh? d giao ti p? T t c cc d n, d l n hay nh , c cc ti

T i sao m hnh l i ph i l th u c n ph i

c giao ti p. Con ng i ta ni chuy n v i nhau. H

li u c a nhau v th o lu n cc n i dung c a chng. Sng ki n kh i th y n m ng sau b t k m t m hnh no cng l N u chng ta t o ra cc m hnh m khng ai v ngha. M hnh ch ng ph i ho c ng i d n um td t o ra kh nng giao ti p v i chng. c n i, hi u n i, th l vi c lm u m t phng php ph c v cho vi c

c t o ra b i ng i d n t

n ra l nh. M hnh c t o ra

giao ti p v t p h p cc c g ng c a chng ta ch t l ng cao nh c th .

n nng su t, hi u qu v

10.3- M hnh c ph h p v i m c ch c a n khng? M t m hnh hnh c n ph i c m t m c nh n c ra. T t c n, v cc m hnh l ng m i u ny khi n cho vi c s ch r rng, sao cho ai dng n cng ch, nhng th ng m c ch ny d ng v hi u n tr c th nn kh khn.

u c m c

Cc m hnh phn tch v m hnh thi t k

l m hnh c a cng m t h nh r rng m c ch cho

th ng, nhng chng v n l nh ng m hnh khc nhau v t p trung vo cc ch khc nhau (hay l chi ti t khc nhau). C n ph i xc m i m hnh c th ki m tra v ph duy t n. N u khng c m c ch r rng,

V ng b c cng doanh nghi p s


chng ta v d r t c th s th m tra m t m hnh hnh phn tch nh th n l

m t m hnh thi t k . 10.4- N m b t nh ng i m tr ng y u Nhi u m hnh ch bao g m cc ti li u c a doanh nghi p v d n, nh ng thng tin nh n bao g m cc ti li u th v n c, cc h p i u g s x y ra n u doanh nghi p thay nh cc ha i? y l m t

ng b o hi m. N u m hnh ch l s

r t quan tr ng trong th c t . Chng ta c n thi t ph i n m b t b n ch t c kh nng x l cc thay i m t cch thch h p. Hy m hnh n m t m hnh di n gi i ph n i nho nh trong i i cc l p di n gi i cc lo i

c a doanh nghi p (t o nn ph n nhn) v m hnh xoay quanh cc khi ni m thi t y u ha ph n nhn c a doanh nghi p v sau doanh nghi p c th n ). 10.5- Ph i h p cc m hnh Cc m hnh khc nhau c a cng m t h v lin quan th ng ph i c kh nng c k t h p tch ch v th c x m i

nhn . M t khi ph n nhn c m hnh ha, nh ng thay l qua vi c s a nh cc ha t ng thu c ph n nhn (v d n l m t s

di n gi i c a cc mn

n nhau. M t trong cc kha c nh c a ph i h p m hnh l s (m c d chng c th

h p. Tch h p c ngha l m t nhm cc m hnh cng chung m c hi n cng m t th nh m hnh

c nhi u h ng nhn khc nhau, v d

ng, m hnh ch c nng, m hnh tnh), th chng ph i c kh

nng c rp l i v i nhau m khng lm n y sinh mu thu n. Quan h gi a cc m hnh nh ng m c tr u t ng khc nhau l m t kha n kh nng c th cho cng ngh l p c th hi n b ng c ph i h p tr u khc nhau, ph c v

c nh quan tr ng khc. N l m t trong nh ng cha kha d n theo di b c pht tri n c a cc ph n t trnh. Quan h gi a cc m c quan h nng c p trong UML. t i m i m t m c t ng khc nhau. 10.6Ngay c ph c t p c a m hnh i u tr u t ng khc nhau c th

c ngha l cc m hnh s

tr u t ng cng nh

c ph i h p gi a cc m c

khi cc m hnh c a chng ta d c nh ng

dng giao ti p, c m t m c v c th

ch r c

rng, n m b t

i m tr ng y u trong ph m vi v n

ph i h p v i nhau, ta v n c th g p kh khn n u m hnh qu ph c t p. Nh ng m hnh c c k ph c t p s kh nghin c u, kh th m tra, kh ph duy t v kh b o tr. Sng ki n t t l hy b t ha nhi u hn b ng cch s v n u v i m t m hnh n gi n, v sau chi ti t d ng vi c ph i h p m hnh. N u b n ch t ph m vi

c a chng ta l ph c t p, hy x m hnh thnh nhi u m hnh khc nhau

V ng b c cng doanh nghi p s


(s d ng cc ti u m hnh t c l cc gi) v c g ng qui trnh ny c th

ki m sot c tnh hu ng. 11- Tm t t v m hnh i t ng

Khi t o m hnh l chng ta di n gi i cc chi ti t v nh ng g m chng ta nghin c u, th nhng m t y u t r t quan tr ng l m hnh ph i n m b t i t ng l m t th l trong m t s phng th c no c nh ng g m i . M t i m tr ng y u c a i t ng nghin c u. M t

chng ta c th ni v v c th x c a chng ta v th gi i th c). M t M t l p l l i miu t t t ng c s d ng

t ng t n t i trong th gi i th c (ho c ni cho chnh xc hn l trong s

hi u bi t

i t ng c th l m t thnh ph n c a m t i t ng v i cng l i ng x . L p v i

h th ng no trong th gi i m t chi c my, m t t ch c, m t doanh ngh p. 0, 1 ho c nhi u bn lu n v cc h th ng. d ng m t ngn ng php v ng ngha m hnh ha v d t o d ng m hnh.

Khi chng ta m hnh ha, chng ta s nh UML, cung c p cho chng ta ng Ngn ng bi t,

m hnh ha m c d v y khng th cho chng ta bi t li u chng ta ch r rng v

t o ra m t m hnh t t hay khng. Ch t l ng m hnh c n ph i c ch ring i u c ngha l t t c cc m hnh c n ph i c m t m c c lm sao d giao ti p, d chnh xc v chng ph i n m b t c b n ch t c a cc m hnh c n ph i b o tr. UML cung c p m hnh tnh, qua cc bi u m ts ph n t ng v theo ch c nng. M hnh tnh c th hi n i t ng nghin c u. T t c th m tra, ph duy t v

l p, bao g m cc l p v m i quan h gi a chng. Quan h c th n i k t gi a cc i t ng c a cc l p

l lin h , khi qut ho, ph thu c ho c l nng c p. M t m i quan h lin h l n i k t gi a cc l p, c ngha l s ny. Khi qut ha l quan h gi a m t ph n t mang tnh chuyn bi t hn. Ph n t chuyn bi t hn c th khi qut hn c l p s gy tc mang tnh khi qut hn v m t i t ng l m t th c th c a d ng b t c ni no m thu c l m i quan h thu c. M i thay nhng nh ng thu c. M t quan h

mang tnh chuyn bi t hn c th c s

ch ch a cc thng tin b sung. M t th c th (m t m t l p) c a ph n t th c th c a ph n t

c cho php. Ph ng n ph n t

gi a hai ph n t , m t mang tnh i trong ph n t m c nng c p l m t quan h

c l p v m t mang tnh ph ph c a cng m t th

gi a hai l i miu t

tr u t ng khc nhau.

Ph n cu h i

V ng b c cng doanh nghi p s


H i: Khi t o d ng m hnh, c n s m hnh d hi u v d giao ti p. p: ng d ng cc khi ni m c a chnh ph m vi v n

H i: Cc l p ch th hi n c u trc thng tin? p: sai, cc l p khng ph i ch th hnh vi. H i: Cc khi ni m then ch t th ng s tch? p: ng trong cc l i pht bi u bi ton s l ng c vin tr thnh cc l p trong m hnh phn hi n c u trc thng tin m cn m t c

H i: Th ng cc danh t chuy n thnh l p v p: ng

i t ng?

H i: Quan h k t h p (Association) gi a cc l p th t n t i gi a cc p: ng, v d i t ng?

nh ngha cc m i lin quan c

m t m i quan h

k t h p l m t s

n i k t gi a cc l p, c

ngha l s

n i k t gi a cc

i t ng c a cc l p ny. gi a cc l p d a trn n n t ng c a nguyn

H i: K t t p bi u th r ng quan h t c "m t t ng th p: ng, n

c t o thnh b i cc b ph n" cs d ng khi chng ta mu n t o nn m t th c th m i b ng

cch t p h p cc th c th t n t i v i nhau H i: Khi qut ho c s d ng t o cc l p con? ut m t l p chuyn bi t v khi n n

p: Sai, khi qut ho l qu trnh b t

ngy cng mang tnh khi qut cao hn (l p cha) H i: Chuyn bi t ho b sung thm chi ti t v p: c t cho l p k t q a? m t l p thnh nh ng l p

ng, chuyn bi t ho l qu trnh tinh ch

chuyn bi t hn (l p con)

V ng b c cng doanh nghi p s

Chng 6: M HNH

NG

1- S

C N THI T C M HNH
i t ng

NG (DYNAMIC MODEL)
nh ngha h th ng theo khi ni m ng x mang tnh c u trc v ho t ng th t s c a

M hnh

i t ng v qu trnh pht tri n n l tr ng tm c a nh ng cu c th o i t ng miu t

lu n trong chng tr c. M hnh cc thnh ph n tnh. M hnh m t h

ch c nng c a cc l p. M c d u v y, th ng ho t

m hnh ha s i v i h

th ng v trnh by m t h ng nhn

th ng trong th i gian h

ng, chng ta c n t i m hnh ng (dynamic model). ng c p t i cc tr ng thi khc nhau trong vng ng x c a m t h b ng cc i u ki n khc nhau n ic a

Trong UML, m hnh m t th i ho t i t ng thu c h i m c th s ng c a n.

th ng. Phng th c

th ng t i m t nh cho s

c miu t

M t y u t

h t s c quan tr ng l c n ph i hi u cho t c s l h qu

c h

th ng s

p l i nh

nh ng kch thch t

pha bn ngoi ra sao, c ngha l chng ta c n ph i xc c a m t s

v nghin c u nh ng chu i cc th l i ng x

kch thch t

ngoi. Cho vi c ny, ta c n t i m hnh ph thu c vo th i gian c a cc

ng b i tr ng tm c a m hnh ny l i t ng trong h th ng. hi n s thay i x y ra o n khc i t ng

Chng ta c n t i m hnh th thi u v d

ng b i chng ta c n th

trong h th ng d c theo th i gian ch y. Cng c trong tr ng h p cc th ng ho t nhau trong th i gian h c gi tr . V d ng. i u

miu t m hnh

ng l khng

i t ng tr i qua nhi u giai c ngha l m c d

c t o ra m t l n, nhng cc thu c tnh c a chng ch d n d n t ng b c nh n nh m t ti kho n u t c k h n c t o ra, nhng t ng s ti n li c ng d n c a n ch Cc m hnh i t ng khi theo c tng ln d n d n theo th i gian. h t s c c n thi t ng ng v v th miu t ng x c a m t c bi u

ng cng l y u t u l cc ho t ng.

a ra cc yu c u ho c th c thi cc tc v . C tc v m ch c th

l n d ch v ,

nh ngha,

di n qua m t m hnh

2- CC THNH PH N C A M HNH
n nhau. V d m t l nh g i th

NG

i t ng trong cc h th ng giao ti p v i nhau, chng g i thng i p (message) i t ng khch hng l John g i m t thng i p mua hng lm m t vi c g ng c a s . M t thng giao ti p nh th i p th ng l m t i t ng i c g i l kha i t ng ny g i qua m t i t ng kia. Cc n ng i bn hng l Bill t c m m t

giao ti p v i nhau ra sao v hi u c nh ng c a m t h

th ng, ngha c a khi ni m ny l cu h i: cc i t ng trong m t h

t ng c ng tc v i nhau qua giao ti p nh th no v cc

V ng b c cng doanh nghi p s


th ng thay i tr ng thi ra sao trong th i gian h th ng ho t c th ng. S giao ti p c g i l :

trong m t nhm cc bi u bi u tu n t ho t

i t ng nh m t o ra m t s cc l nh g i hm

tng tc (interaction), tng tc c th (sequence Diagram), bi u ng (activity Diagram).

hi n qua ba lo i bi u

c ng tc (collaboration Diagram) v

Trong chng ny, chng ta s Bi u

c p t i b n lo i bi u m t

ng c a UML: i t ng c th c nh ng

tr ng thi: miu t

tr ng thi no trong vng cng nh cc s m t t ha n c th

i c a n,

ng x

trong cc tr ng thi i tr ng thi, v d , tr ti n) ho c l

ki n no gy ra s c tr

chuy n

ti n (tr ng thi

cha c tr ti n (tr ng thi cha tr ti n). Bi u bi u tu n t : miu t cc i t ng tng tc v giao ti p v i tu n t i p l th i gian. Cc c g i v nh n

nhau ra sao. Tiu tu n t

i m trong cc bi u

ch ra chu i c a cc thng i t ng, nh m m c

gi a m t nhm cc ch c nng. Bi u

ch th c hi n m t s

c ng tc: cng miu t

cc

i t ng tng tc v i c ng tc l s n m i quan hi n chng c bi t

nhau ra sao, nhng tr ng ki n. T p trung vo s h (n i k t) gi a cc

i m trong m t bi u

ki n c ngha l ch i t ng, v v th . ng khc

m ph i th

m t cch r rng trong bi u Bi u

ho t ng: l m t con

ch ra tng tc, i t ng tng tc c miu t

nhng chng t p trung vo cng vi c. Khi cc v i nhau, cc trong bi u V bi u tu n t , bi u ng. Nh ng ho t ho t ng ny cng th ng. ho t ng t

i t ng cng th c hi n cc tc v , t c l cc ho t c a chng

c ng tc l n bi u d ng bi u ph

u ch ra tng tc c coi l

nn th ng b n s tng tc. Quy t quan tr ng nh t.

ph i ch n nn s nh c a b n s

no khi l p ti li u cho m t

thu c vo vi c kha c nh no

Ngoi c u trc tnh v d ng th ng s c p t nh ng giai

ng x

ng, h ng nhn ch c nng cng c th d ng chnh l cc l i miu t h

c s

miu t h th ng. H ng nhn ch c nng th hi n cc ch c nng m h cung c p. Tr ng h p s tr c, tr ng h p s o n mu n s th ng theo cc tc nhn c th s d ng h th ng ra sao. Nh ch miu t

ch c nng; chng miu t

d ng bnh th ng ra th ng nh th

c m hnh ha trong xem

u tin c a qu trnh phn tch, nh m m c d ng h

tc nhn c th

no. M hnh tr ng h p s

V ng b c cng doanh nghi p s


d ng ch nn n m b t duy nh t kha c nh tc nhn s trong h bi u c s th ng th c hi n tr ng h p s tu n t , bi u d ng h th ng, khng nn c miu t b i cc

c p kha c nh h th ng c xy d ng bn trong ra sao. L p v cc tng tc d ng. Tng tc ho t d ng c ng tc v ho c/v bi u ng, t c l c m t s th ng. Cc l p c c m hnh ha v tr ng thi s

n i k t gi a h ng nhn ch c nng v h ng nhn d ng trong vi c th c thi cc tr ng h p s l p v bi u miu t qua cc bi u

ng c a h

tr ng thi (m t bi u

nh km cho m t l p, m t h th ng con ho c l m t h th ng). Tr ng h p s d ng v cc m i quan h c a chng 3 (tr ng h p s d ng). ng miu t nm kha c nh cn b n khc nhau: n tng tc c miu t trong chng

Nhn chung, m t m hnh

Hnh 6.1- Cc thnh ph n c a m hnh Cc thnh ph n k trn s Ngoi ra, m t m hnh c s d ng n c

ng

c p chi ti t hn trong cc ph n sau. c s d ng c xc nh cc nguyn t c

ng cng cn

chuyn ngnh (business rule) c n ph i trong m hnh. M t vi v d m hnh

c p d ng trong m hnh. N cng a vo nh ng v tr no

nh xem cc nguyn t c

cho nh ng nguyn t c chuyn ngnh c n ph i

c th

hi n trong

ng: M t khch hng khng m c ti n trong ti kho n. Nh ng mn ti n u t c k h n khng th chuy n sang m t tn c quy n rt ti n ra n u khng c

khc tr c khi o h n. Gi i h n cao nh t trong m t l n rt ti n ra b ng th USD. ATM l 500

V ng b c cng doanh nghi p s

3- U
B t c

I M C A M HNH
ng x n m hnh

NG:
ng c n ph i ng. c nghin c u ho c th hi n,

khi no c nh ng

chng ta s ph i dng M hnh

ng ng m t vai tr v cng quan tr ng trong nh ng tr ng h p nh: Cc h th ng mang tnh tng tc cao H th ng c s d ng cc trang thi t b ngo i vi c th g i nn cc

ng x M hnh tnh. V d

c a h th ng. ra th t s h u hi u trong tr ng h p c a cc h ch nh p d li u lu tr th ng

ng khng t m t h li u.

th ng ch nh m m c

vo m t

ngn hng d M t m hnh s

ng t p trung vo cc chu i tng tc (bi u ki n (bi u tu n t ). M t m hnh ch th hi n r rng theo th i gian ho t i t ng:

c ng tc) v vo ng c th ng c a h c th ng

y u t th i gian c a cc s d ng cho m c

n u trong th i gian ny c nh ng c t o ra B xa i c lu tr B h y

Hy quan st tr ng h p rt ti n m t v tng tc c a khch hng bng: Khch hng ti n m t. Khch hng hng. a gi y yu c u i n t t c

i v i nh

cc chi ti t c n thi t vo gi y yu c u rt

cho m t nhn vin pht th

x p

Nhn vin pht th ghi s c a gi y yu c u rt ti n vo danh sch. ng tc ghi s tng c a gi y yu c u rt ti n c th c hi n tu n t ,

ng v i nh ng s th tu n t

c pht ra.

M t t m th x p hng (token) c trao cho khch hng. Khch hng th c a mnh. Song song v i qu trnh ch c a khch hng, gi y yu c u rt ti n c a anh ta tr i qua nhi u giai o n trong n i b nh bng. i vo hng x p, ch nhn vin bn casse g i ng s

V ng b c cng doanh nghi p s


Ch k c a khch hng trn gi y yu c u rt ti n c th m tra. Gi y yu c u c xem xt v phng di n s ti kho n v m c

ti n trong ti kho n. N u m t trong hai i u ki n trn khng c th a mn, qu trnh i v ti p t c.

rt ti n m t s b ch n l i ho c l c s a Khi c m ts s hai c i u ki n nu trn a

c th a mn, gi y yu c u rt ti n

n cho nhn vin ng i bn casse, ni khch hng d theo s th x p hng.

c g i t i tu n t

Nhn vin bn casse a ti n m t cho khch hng. L i Lo i ng x ng x trong vi c rt ti n m t l mang tnh c a qu trnh ph c th ng. ny khng th n m hnh ng cng t ng. Su t qu trnh rt ti n m t, nh. i t ng, y l tr ng

tng tc v trnh t h p ta c n M hnh qua tu n t ki n nh t m t t tnh th x r i sau

thu c vo m t s cc i u ki n xc

hi n qua m hnh

ra h u d ng trong tr ng h p c nh ng trang thi t b tr i i u i t ng m hnh ha l i u t ng x c a m t my rt ti n t vo trong my, ATM c

cc b c trong m t vng l p v ti n trnh ph thu c vo m t s nh. V d m t

ng (ATM). My ATM l n l t t c (ch c nng), b t quay tr

i qua cc b c c a m t vng l p mang c

vi c m t th ATM u (

l cc yu c u do khch hng a ra, d ng l i v ch yu c u giao d ch khc, l i tr ng thi ban ng yn) sau khi th

rt ra ngoi.

Hnh 6.2- M hnh

ng c a my rt ti n ATM

4- S

KI N V THNG
4.1- S

I P (EVENT & MESSAGE)

ki n (Event):

V ng b c cng doanh nghi p s


M t trong nh ng thnh ph n quan tr ng b c nh t c a m t M ts M ts s b t hnh ni s ki n l m t s kch thch c g i t i t ng l s ki n.

i t ng ny sang

i t ng khc. ng no . V d

ki n l m t vi c s x y ra v c th gy ra m t hnh b t i n, trong my c

nh khi b n b m ln nt Play trn my CD-Player, n s r ng CD-Player c ng t t). S ho t ki n

u chi nh c (gi ng y l ki n v

a CD v ni chung l dn CD-Player nh ngha r rng gi a s

y l b n nh n ln nt Play, v hnh n ik t c nhn qu

u chi nh c. N u c m t s

ng, ng i ta g i n l quan h ki n v hnh ng

(Causality). Trong cng ngh c a quan h y

ph n m m, chng ta th ng ch m hnh ha cc h th ng mang tnh nhn qu , c n i k t v i nhau. M t ph n v d v i t c nhn qu : b n li xe trn xa l khng ph i l nhn qu rng gi a s th ng ph n qu nhanh, c nh st ngn xe l i. n ik t c

b i hnh

ng ngn b n l i c a c nh st khng ch c nh ngha r ng (ngn xe). Trong m hnh ha, ng no khi n h

ch n bao gi cng x y ra; v th m khng c m t s ki n (li xe qu nhanh) v hnh n s ng theo m t cch no . v y l ta quan tm

ki n theo ngha l b t k hnh

Quan st v d m t nh bng l , ta c m t vi v d v s i n m t t gi y yu c u rt ti n. S o h n m t ti kho n u t c k h n.

ki n nh sau:

K t thc m t h p

ng tr c k h n.

i n m t gi y yu c u m ti kho n. UML bi t n t t c b n lo i s ki n:

M t i u ki n tr thnh c th a mn (tr thnh ng) Nh n c m t tn hi u ngo i t Nh n c m t l i g i th i t ng ). M t kho ng th i gian xc Xin ch r ng c cc l i x y ra cng l s l n i v i m hnh. 4.1.1- S Cc s ki n c l p v s ki n ph thu c n nhau. C m t s s ki n khc. V d : ki n, nh tr c tri qua. ki n v c th mang tnh h u d ng r t t ct m t m t i t ng khc i t ng khc (hay t chnh

ki n c th mang tnh

c l p hay lin quan

theo b n ch t, ph i i tr c ho c l x y ra sau cc s

V ng b c cng doanh nghi p s


i n cc chi ti t trong m t t yu c u rt ti n m t s d n t i vi c

nh n c m t s th x p hng. S o h n c a m t ti kho n u t c k h n s d n n ng

tc gia h n ho c rt ti n m t. i n cc chi ti t trong m t gi y yu c u m ti kho n s d n t i

vi c ph i n p m t kho n ti n t i thi u (theo quy Cc s ki n c l p l nh ng s ki n khng

nh) vo ti kho n.

c n i k t v i nhau trong b t k

m t phng di n no. V d : Rt ti n m t v nhau. M l m t ti kho n c l p v i nhau. u t v vi c m m t ti u t c k h n v m m t ti kho n giao d ch a ti n vo ti kho n l cc s ki n c l p v i

K t thc tr c k h n m t ti kho n kho n Cc s ki n u t c k h n khc l

c l p v i nhau. ki n song song hay ng th i.

c l p cn c th

c g i l cc s

B i chng khng ph thu c vo nhau, nn cc s m t th i i m. Trong nhi u tr ng h p, m t s chuy n t i thnh nhi u s m t cho nhn vin pht th ti p. C nh ng tnh hu ng ni m t s ngn m t t sc c th ng th i ki n ring l c g i s ki n ring l

ki n ny c th x y ra t i cng

trong ph m vi v n l m t lo t cc s

ki n trong h th ng. V d : x p hng s c k t qu

a gi y yu c u rt ti n ki n n i

c nh n b i nhi u nh m t l i

i t ng ngh

khc nhau v khi n cho chng ph n vin ki m tra sc. 4.1.2-S S ki n n i l cc s

ng thch h p. V d

n cho nhn vin thu ngn v nhn

ki n n i (internal) v s h

ki n ngo i (external): th ng. y l cc s ki n do i

ki n x y ra trong n i b iv i

m t

i t ng ny gy ra

i t ng khc. V d , tnh ton ti n li cho m t

ti kho n

u t c k h n s

c n i b h th ng th c hi n, tun theo m t

t ng quan st ngy thng. S ki n ngo i l nh ng s ki n c kch nn t pha bn ngoi bin gi i c a h u t.

th ng, v d nh s

k t thc tr c k h n m t ti kho n ki n v l p s ki n:

4.1.3- S

V ng b c cng doanh nghi p s


L p s ki n i v i s ki n cng nh l p i v i i t ng bnh th ng. L i ki n. nh

ngha xc L ps

nh m t lo i s

ki n c g i l m t l p s c phn lo i:

ki n ngoi ra cn c th

Cc tn hi u n gi n: L p s ha Cc s ch ra m t s

ki n trong tr ng h p ny s

c th c th

ki n ho c l m t tn hi u c a m t s li u: th ng th m t s ki n c n ph i "bi t

ki n. nng v i t ng s i t ng

ki n chuy n t i d

ki n c kh n cc nh cc

chuy n t i d nh n c s s nh n s cc ki n. V

li u. T t c cc s

ki n ny. Thng tin v ng i nh n s , cn c th c cc d

ki n c g i l thng li u b sung thu c v

tin nh n di n. Ni m t cch khc, y u t nh n di n xc ki n. Bn c nh i t ng khc, khng nh t thi t ph i l

i t ng g i hay nh n s

m t nguyn t c, cc s n cho t t c cc

ki n thu c d ng pht tin (Broadcast) s ki n ny l khng quan tr ng

c truy n i v i ki n. i

i t ng. N u s

t ng no trong tr ng thi hi n th i c a n th 4.2- Thng i p (Message): Trong l p trnh h ng d i d ng thng c nh ny, y u t i p

i t ng s b qua s

i t ng, m t tng tc gi a hai cg it i t ng ny sang

i t ng "thng

c th c thi

i t ng khc. Trong ng i p qu chnh t c c a m t i p m t khc y th ng c th c hi n

quan tr ng l khng nn hi u danh t t c n gi n (m t

xc theo ngha vn h c bnh th ng. M t thng i p qua m t l nh g i th tr v cho i t ng khc); khi th t c i t ng g i th

i t ng ny g i m t th

c th c hi n xong, quy n i u khi n c trao t c cng v i gi tr tr v . M t thng c g i qua m t s c ch giao ti p no i p c th hi n trong t t c cc

cng c th l m t thng i p th c th ra trong cc h lo i bi u tn n i gi a

, ho c l qua m ng ho c l n i b trong m t my tnh, y l i u th ng x y th ng th i gian th c. Thng ng (tu n t , c ng tc, ho t i t ng. M t thng i p i t ng g i v ng v tr ng thi) theo ngha l s c v l m t c th ng v i mi ch r i p. Lo i mi tn s

giao ti p gi a cc lo i thng i p.

i t ng nh n thng

Hnh 6.3 ch r cc lo i thng i p c s

d ng trong UML.

V ng b c cng doanh nghi p s

Hnh 6.3- Cc k hi u c a cc ki u thng i p Thng i p n gi n (simple): Ch miu t khi n. N ch ra quy n cho ti t no v quan tr ng s giao ti p i v i bi u i u khi n c trao t i p ny n gi n chi u i u i t ng ny sang b t k m t chi c s d ng khi

i t ng khc m khng km thm l i miu t . Lo i thng . (synchronous): th ng t c x l thng x i p no v c th

ng i ta khng bi t cc chi ti t v giao ti p ho c coi chng l khng

Thng i p ng b m t l nh g i th t c. Th

c th c thi l c hon i t ng

i p ny ph i l) tr c khi

t t (bao g m b t k nh ng thng g i ti p t c th c thi. Qu trnh tr thng i p n gi n. Thng i p khng ng b khi n trnh t khng t ng g i v ni c a mnh sau khi c x

c l ng vo trong, c ch ra d i d ng

c g i nh l m t thnh ph n c a s

(asynchronous):

y l d ng i u tr v iv i i

ng b , ni khng c m t s i p

i t ng g i thng i p ti p t c qu trnh th c thi g i thng i, khng ch cho t i khi n d ng trong ng th i. i p ny th ng c s

l xong. Lo i thng

cc h th ng th i gian th c, ni cc Thng ch m t i p n gi n v thng i p ng b c th

i t ng th c thi

c k t h p v i nhau trong i p ng b m t tr v i u ny ch r r ng s

ng th ng ch thng

i p v i mi tn ch thng pha kia.

pha v mi tn ch thng i p n gi n

c x y ra h u nh ngay l p t c sau l nh g i hm.

5- BI U
Bi u tu n t

TU N T

(SEQUENCE DIAGRAM)
i t ng tng tc v i nhau ra sao. Chng t p tu n t c hai tr c: tr c n m d c ch i t ng. M t bi u tu n t

minh h a cc

trung vo cc chu i thng i p, c ngha l cc thng i p c g i v nh n gi a m t lo t cc i t ng nh th no. Bi u th i gian, tr c n m ngang ch ra m t t p h p cc

V ng b c cng doanh nghi p s


cng nu b t s tng tc trong m t c nh k ch (scenario) m t s tng tc s

x y ra t i m t th i i m no trong qu trnh th c thi c a h th ng. T cc hnh ch nh t bi u di n ng i i t ng c cc i t ng, t c l s ng g ch r i (dashed line) t n t i c a i t ng trong ha, s n c th i t ng. ng b , pha bn i t ng i u t c th c th ng

th ng sng M i tn khng

ng bi u th

chu i tng tc. Trong kho ng th i gian ny, g i v nh n thng u ng b hi n b ng cc ng th ng thng ng th ng s hay n gi n.

i t ng

i p. Qu trnh giao ti p gi a cc i p n m ngang n i cc c bi u ch ra lo i thng

i p ny mang tnh trao i thng

tu n t , hy b t

trn c a bi u

r i ch y d c xu ng v quan st s

i p gi a cc

i t ng x y ra d c theo ti n trnh th i gian. V d hy quan st m t c nh k ch rt ti n m t t i m t my ATM c a m t nh

bng l :

Hnh 6.4- Bi u Bi u trn c th

c nh k ch rt ti n m t t i my ATM c di n gi i theo trnh t th i gian nh sau:

V ng b c cng doanh nghi p s


C ba l p tham gia c nh k ch ny: khch hng, my ATM v ti kho n. Khch hng a yu c u rt ti n vo my ATM i t ng my ATM yu c u khch hng cung c p m s M s c g i cho h th ng ki m tra ti kho n v bo k t qu ki m tra n

i t ng ti kho n ki m tra m s cho ATM ATM g i k t qu ki m tra ny

n khch hng

Khch hng nh p s ti n c n rt. ATM g i s ti n c n rt i t ng ti kho n tr s n cho ti kho n ti n vo m c ti n trong ti kho n. i t ng ti kho n x l yu

T i th i i m ny, chng ta th y c m t mi tn quay tr l i ch vo i t ng ti kho n. ngha c a n l c u ny trong n i b i t ng v khng g i s ki n ra ngoi.

i t ng ti kho n tr v m c ti n m i trong ti kho n cho my ATM. i t ng ATM tr v m c ti n m i trong ti kho n cho khch

hng v d nhin, c l ng ti n khch hng yu c u c rt. i t ng ti kho n ch b t ki m tra m s hon t t. Sau t i, i u ny v , n ch t u c sinh ra khi i t ng ATM c n t i n c

i t ng ti kho n ti p t c s ng cho t i khi giao d ch i t ng khch hng v ng

i. B i khch hng c th mu n ti p t c th c hi n cc i t ng my ATM v n ti p t c t n i i t ng c ko v t qu

giao d ch khc nn

c ch ra qua vi c cc

ng th ng th hi n s

ki n cu i cng trong chu i tng tc. l ng nh cc khng cn

Lo i tng tc ny l r t h u d ng trong m t h th ng c m t s i t ng v i m t s l ng l n cc s l ng cc i t ng trong m t h m y thch h p. c th v bi u tu n t , u tin hy xc nh cc

ki n x y ra gi a chng. M c d v y, khi s

th ng tng ln th m hnh ny s

i t ng lin quan v

th hi n cc s Khi v bi u

ki n x y ra gi a chng. tu n t , c n ch : S ki n c bi u di n b ng cc ng th ng n m ngang. i t ng b ng cc ng n m d c.

V ng b c cng doanh nghi p s


Th i gian trn bi u . c th hi n b ng ng th ng n m d c b t trn xu ng d i. u t

i u c ngha l cc s m chng x y ra, v t

ki n c n ph i c th hi n

theo ng th t

6- BI U
M t bi u y u vo s

C NG TC (COLLABORATION DIAGRAM)
c ng tc miu t tng tc gi a cc c ng tc, cc c ng tc c th tng tc gi a cc i t ng. i t ng c bi u di n b ng k hi u l p. Th nh s cc thng i p. K thu t mi tn s i t ng cng gi ng nh bi u ki n, t c l t p trung ch

tu n t , nhng n t p trung tr c h t vo cc s

Trong m t bi u t trong bi u nh s thu t

hi n b ng cch

c coi l hi c ph n kh hi u hn so v i k tu n t . Nhng u i m c a bi u t c), y u t

d ng trong bi u tu n t . Bi u sau t

c ng tc l n c th ch c n trnh trong bi u

ra cc chi ti t v cc l nh g i hm (th

y l m t v d s trong bi u

cho m t bi u .

c ng tc, tu n t

c chu n b cng cho l p

m t c nh k ch rt ti n m t nh trong bi u st cc th s 1.1, khch hng.

c a ph n tr c. Hy quan l hm AskForPin(), m l p

u tin th t c WithdrawalReq() c g i t

l l nh g i s 1. B c ti p theo trong tu n t l p ATM. Thng i p trong bi u hi n r ng "gi tr tr

cg it

c vi t d i d ng pin:=

AskForPin(), th

v " c a hm ny chnh l m s

khch hng s cung c p. Hnh cung bn l p ti kho n bi u th r ng hm ComputeNetBalance() trong n i b l p ti kho n v n x l c c b . Th ng th n s ring (private) c a l p. c g i t c

l m t th

V ng b c cng doanh nghi p s

Hnh 6.5- M t bi u

c ng tc c a kch c nh rt ti n

my ATM

7- BI U
Bi u

TR NG THI (STATE DIAGRAM)


i c a cc i t ng, cc h th ng con i t ng

tr ng thi n m b t vng

(Subsystem) v cc h th ng. Chng cho ta bi t cc tr ng thi m m t c th c v cc s thi x i, cc l i x y ra, cc km v i t t c i u ki n c th a mn) s nh h ng

ki n (cc thng i p nh n c, cc kho ng th i gian qua n nh ng tr ng nh ng tr ng thi c th n s

nh th no d c theo ti n trnh th i gian. Bi u cc l p c nh ng tr ng thi tr ng thi xc nh ng x

c nh n di n r rng v c l i v miu t

ph c t p. Bi u

khc bi t ra ki n no

sao ph thu c vo tr ng thi, ngoi ra n cng cn miu t r nh ng s s thay i tr ng thi c a cc 7.1- Tr ng thi v s T t c cc i t ng c i t ng c a m t l p.

bi n i tr ng thi (State transition) c a cc ho t nh qua gi i t ng khc. i

u c tr ng thi; tr ng thi l m t k t qu i t ng th c hi n v n th ng c bi t xc i t ng: c xc i t ng v i cc

ng tr c

tr c a cc thu c tnh cng nh cc n i k t c a M t l p c th cng c th c m t thu c tnh c xc

nh tr ng thi, ho c tr ng thi

nh qua gi tr c a cc thu c tnh bnh th ng" trong

t ng. V d v cc tr ng thi c a Ha n (

i t ng) c tr ti n (tr ng thi). i t ng) ang ng yn (tr ng thi).

Chi c xe t ( ng c (

i t ng) ang ch y (tr ng thi).

V ng b c cng doanh nghi p s


Jen ( Kate ( M t l s i t ng s thay ki n; v d c ai i t ng) ang ng vai tr ng i bn hng (tr ng thi). i t ng) l y ch ng (tr ng thi). i tr ng thi khi c m t vi c no tr ti n cho ha ng x bi n n, b t x y ra, th c g i bi n i

ng c xe t hay l l y i t ng v ch miu t m t

ch ng l y v . Kha c nh ra i t ng ny s i t ng s b n thn thay

ng c hai chi u khng gian: tng tc v s i ngo i c a cc i tr ng thi n i b d ng

tr ng thi n i b . Tng tc miu t l i tng tc v i cc i p, n i k t ho c ch m d t n i k t). S c a n s thay tr ng thi n i b i nh th no. Bi u

i t ng khc ra sao (qua vi c g i thng gi tr cc thu c tnh n i b miu t vi c i cc tr ng ki n v chng thay n s chuy n t

i cc tr ng thi ra sao v d ng ra sao tr c cc s

tr ng thi c s

i t ng ph n

c a chng nh th no, v d , m t ha

thi cha tr ti n sang tr ng thi tr ti n khi c ai tr ti n cho n. Khi m t ha n c t o ra, 7.2- Bi u Bi u tr ng thi th u tin n b c vo tr ng thi cha c tr ti n. tr ng thi hi n nh ng kha c nh m ta quan tm t i khi xem xt

tr ng thi c a m t

i t ng: u gi a

Tr ng thi ban M t s tr ng thi

M t ho c nhi u tr ng thi k t thc S bi n i gi a cc tr ng thi ki n gy nn s bi n i t m t tr ng thi ny sang

Nh ng s

tr ng thi khc Hnh sau s thc, s ch ra cc k hi u UML th hi n tr ng thi b t i t ng. u v tr ng thi k t

ki n cng nh cc tr ng thi c a m t

Hnh 6.6- Cc k hi u UML th hi n b t m t i t ng.

u, k t thc, s

ki n v tr ng thi c a

V ng b c cng doanh nghi p s

Hnh 6.7- Bi u

tr ng thi th c hi n ho n.

M t tr ng thi c th c ba thnh ph n, nh c ch trong hnh sau:

Hnh 6.8- Cc ngn Tn, Bi n tr ng thi v hnh Ph n th chuy n

ng

nh t ch ra tn c a tr ng thi, v d nh ch , c tr ti n hay ang ng. Ph n th hai (khng b t bu c) dnh cho cc bi n tr ng thi. c th hi n qua bi u ra r t h u d ng trong tr ng thi, v d ng c th c s d ng d ng cs c li t k. C ba lo i s d ng xc xc xc nh hnh nh hnh y l tr ng thi; nhi u khi cc nh cc lo i bi n ng, ni ki n chu n ha c ng kh i nh p i p. S tr ng thi. S c th c hi n

nh ng thu c tnh c a l p bi n t m th i cng t cc s th m (counter). Ph n th ki n v cc hnh c s ki n i vo c s c s

ba (khng b t bu c) l ph n dnh cho ho t

d ng cho ph n hnh

ng: entry (i vo), exit (i ra), v do (th c nh cc hnh ng khi r i b ng c n ph i i m t thng

hi n). Lo i s

tr ng thi, v d ki n i ra c th ki n th c hi n

gn gi tr cho m t thu c tnh ho c g i

trong tr ng thi, v d

nh g i m t thng

i p, ch , hay tnh ton. Ba lo i s

ki n chu n ny khng th M ts bi n

d ng cho cc m c ch khc. ki n i km v i n, nhng khng b t i tr ng thi s c th c hi n khi s c th c hi n ng th c hi n

i tr ng thi th ng c m t s ki n i km, s ch , thay

bu c. N u c m t s trnh

ki n kia x y ra. M t hnh ang ti p di n (v d i t ng v n trong khi s b bi n

ng lo i th c hi n trong tr ng thi c th l m t qu i u khi n cc th t c,...) ph i nguyn trong tr ng thi ny. M t hnh

c th b ng t b i cc s ang ti p di n.

ki n t

ngoi, c ngha l m t s

ki n ki n gy nn m t

i tr ng thi c th ngng ng t m t hnh

ng th c hi n mang tnh n i

Trong tr ng h p m t s thi s (hnh d ng thay i khi hnh ki u ng n i b

bi n i vo,

i tr ng thi khng c s trong tr ng thi cc hnh

ki n

i km th tr ng ng do ng i s c

ng n i b , khi t t c

c th c hi n xong

i ra, th c hi n hay cc hnh

nh ngha). Theo

ng thu c tr ng thi

V ng b c cng doanh nghi p s


th c hi n xong, m t s ki n t ngoi. thay i tr ng thi s t ng x y ra m khng c n s

Hnh 6.9- Bi n

i tr ng thi khng c s

ki n t

ngoi. S

thay

i tr ng thi

x y ra khi cc ho t

ng trong m i tr ng thi c th c hi n xong. ki n

7.3- Nh n bi t tr ng thi v s Qu trnh pht hi n s

ki n v tr ng thi v m t b n ch t bao g m vi c h i m t

s cc cu h i thch h p: M t i t ng c th c nh ng tr ng thi no?: Hy li t k ra t t c i t ng c th c trong vng i c a n. i

nh ng tr ng thi m m t Nh ng s

ki n no c th x y ra?: B i s

ki n gy ra vi c thay

tr ng thi nn nh n ra cc s di n tr ng thi. Tr ng thi m i s tr ng thi khi s x y ra. C nh ng th nh h ng t c no s

ki n l m t b c quan tr ng

nh n

l g?: Sau khi nh n di n s

ki n, hy xc

nh

ki n ny x y ra v tr ng thi sau khi s

ki n ny

c th c thi?: Hy i t ng.

n cc th

t c

n tr ng thi c a m t

Chu i tng tc gi a cc t ng cng c th Qui xc nh no s nh h ng

i t ng l g?: Tng tc gi a cc n tr ng thi c a i t ng.

c p d ng cho cc ph n nh ki m t a ph n ng

ng c a cc i v i m t s

i t ng ki n s

v i nhau?: Cc qui

nh r hn cc tr ng thi. ki n v s chuy n t i no l khng th thay x y ra?: Nhi u

Nh ng s

khi c m t s s

ki n ho c s

i tr ng thi khng th x y ra.

V d nh bn m t chi c t c bn r i. Ci g khi n cho m t tr l i cho m t s m t kha h c. i t ng c t o ra?: ki n. V d i t ng c t o ra

nh m t sinh vin ghi danh cho

V ng b c cng doanh nghi p s


Ci g khi n cho m t kha h c. Ci g khi n cho Nh ng lo i s qu n tr s th c hi n. 7.4- M t s l i mch b o cho vi c t o d ng bi u tu n t thnh bi u tr ng thi. tr ng thi i t ng c n ph i c ti phn lo i (reclassfied)?: c tng ch c thnh nh c ng tc ti phn lo i c a nhn vin i t ng b h y?: i t ng s b h y i khi

chng khng c c n t i n a. V d khi m t sinh vin k t thc m t

ki n nh m t nhn vin

khi n cho

Chuy n bi u Xc

nh cc vng l p (loop) c bi t

B sung thm cc i u ki n bin v cc i u ki n Tr n l n cc c nh k ch khc vo trong bi u M t khi m hnh nh c l i cho m i

tr ng thi.

c t o nn, hy nu ra cc cu h i v ki m tra xem m

hnh c kh nng cung c p t t c cc cu tr l i. Qui trnh sau y c n ph i c i t ng. tu n t thnh bi u ki n c miu t n tr ng thi trong bi u , ang

7.4.1- Chuy n bi u

Hy di theo m t chu i cc s Hy quan st cc s nghin c u. Hy s p x p cc s s ki n

chu i ny ph i mang tnh tiu bi u cho cc tng tc trong h th ng. nh h ng i t ng m ta

ki n thnh m t

ng d n, dn nhn input ki n. Kho ng cch gi a hai

(ho c entry) v output (exit) cho cc s ki n ny s l m t tr ng thi. c nh c

N u c nh k ch c th h n), hy n i tin. Bi u t bi u sau y ch ra bi u ho c bi u

i nh c l i r t nhi u l n (v gi i n tr ng thi u

ng d n t

tr ng thi cu i cng

tr ng thi c a m t l p my ATM,

c chi t su t

tu n t

c ng tc c trnh by trong cc ph n tr c.

V ng b c cng doanh nghi p s

Hnh 6.10- Chuy n m t bi u

tu n t

sang bi u

tr ng thi

7.4.2- Nh n ra cc vng l p (loop) M t chu i s (loop). ki n c th c nh c i nh c l i v s l n c g i l vng l p

Hnh 6.11- Bi u Ch :

l p

Trong m t vng l p, chu i cc s ph i

ki n

c nh c

i nh c l i c n ki n khc chu i

ng nh t v i nhau. N u c m t chu i cc s

khc th tr ng h p khng c vng l p. L t ng nh t l m t tr ng thi trong vng l p s thc. y l y u t bao gi k t thc. 7.4.3- B bi t Sau khi th ng, cc hon t t bi u tr ng thi cho m i i t ng c n thi t trong h i u ki n bin v c quan tm i u cha sung thm cc i u ki n bin v cc i u ki n c c s ki n k t khng

quan tr ng, n u khng th vng l p s

n lc chng ta c n ki m tra, c bi t khc, nh ng

i ch ng chng v i

i u ki n

i u ki n r t c th tr ng thi.

trong th i gian t o d ng bi u

i u ki n bin l nh ng

V ng b c cng doanh nghi p s


ki n thao tc trn gi tr , ki n quy t y l nh ng gi tr n m bn ranh gi i c a m t i t ng, v d nh quy 31 i v i ti kho n ny s i u ki n ngo i l , v d l m t ngy th i u i u 30 i

nh v tr ng thi c a i u ki n

nh v k h n c a

m t ti kho n l 30 ngy th ngy th ki n bin. Cc th c). c a thng 2 nm 2000 (n u c m t

c bi t l nh ng

i u ki n th t s

nh v y t n t i ngoi

7.4.4- Tr n l n cc c nh k ch khc vo trong bi u thi M t khi bi u nh ng chu i s thi. cc s tr ng thi cho m t ki n c i v i nh h ng i t ng

tr ng

i t ng s n sng, chng ta c n ph i tr n n i t ng ny vo trong bi u chnh c a bi u tr ng ng gin ti p c a tr ng thi. i t ng tr ng

i u ny c ngha l chng ta c n ph i quan st cc hi u ki n khc ang l ch

y l vi c quan tr ng, b i cc v v cc thi. i mb t nh tr c, nn l i ng x

i t ng trong m t h th ng tng tc v i nhau nng gy nn s c th ki n cho m t hi n trong bi u

i t ng khc cng c kh

ny cng c n ph i

u cho cng vi c ny l: n sung. Xc nh i m ni cc ng x b t u khc bi t v i nh ng tr ng thi. ng ng x nh m t i m b t u chung cho t t c cc chu i s ki n b

c m hnh ha trong bi u B sung thm s cc bi n i m i t

tr ng thi ny, trong t cch m t nh no .

d n thay th . C n

n nh ng

ng d n c v ngoi

ng nh t nhng th t

ra c khc bi t trong m t tnh hu ng nh t Hy ch s n cc s

ki n x y ra trong nh ng tnh hu ng b t ti n. M i s d ng gy nn nh i v i ng i s

ki n

do khch hng hay ng i s ng i s ti n l i d ng c th quy t u t.

u c th sa vo tr ng thi c a cc d ng v i m ki n t i m t th i

ki n b t ti n. H th ng khng n m quy n i u khi n lm n y ra m t s i v i anh ta. V d nh khch hng c th quy t

nh k t thc tr c k

h n m t ti kho n

M t tr ng h p khc cng c n ph i nn khng th bu n n n, l ng...) khi n cho s cng ph i c x

c x

l l s

ki n do ng i s

d ng gy

x y ra. C m t lo t cc l do (ng i s

d ng thi u t p trung,

ki n lo i ny khng x y ra. C tr ng h p ny k h n c a ti kho n, m t t m

l th u o. V d m t khch hng th t b i trong vi c bo cho

nh bng bi t nh ng m nh l nh c a anh ta v

sc c vi t ra nhng l i khng c kh nng gi i t a m c ti n c n thi t.

V ng b c cng doanh nghi p s


Nhn theo phng di n cc bi u hnh tr ng thi nh l m t thnh ph n c a m

ng, c n ch nh ng i m sau: Bi u c ng x tr ng thi ch c n c t o d ng nn cho cc l p ng quan tr ng. tr ng thi theo kha c nh tnh nh t qun cho ton b m hnh ng i c i t ng

Hy th m tra bi u v i nh ng s ng n.

ki n dng chung

Dng cc tr ng h p s tr ng thi. Khi

d ng

h tr cho qu trnh t o d ng bi u

nh ngha m t tr ng thi, hy ch

n nh ng thu c tnh

lin quan.

8- BI U
Bi u ho t

HO T

NG (ACTIVITY DIAGRAM)
ng v cc k t qu c a chng. Bi u ho t t c c th c hi n trong khi th c thi m t th ng l m t bi n th c a bi u

ng n m b t hnh

ng t p trung vo cng vi c (hm), cc ho t m t i t ng. Bi u ho t

ng trong m t l n th c thi m t tr ng h p s i khc, l n m b t hnh ho t

d ng ho c trong tr ng thi v c bi n i tr ng ng

m t m c tiu tng ng ph i ng) s

ng (cng vi c v nh ng ho t

c th c hi n) cng nh k t qu o n k

c a chng theo s

thi. Cc tr ng thi trong bi u chuy n sang giai

ng ( c g i l cc tr ng thi hnh ng trong tr ng thi ny ho t ki n no theo nh n i nh v trong cc lu ng ch c. M t bi u

ti p khi hnh

c th c hi n xong (m khng xc dung c a bi u v bi u tr ng thi). M t s tr ng thi l cc hnh

nh b t k m t s ng c a n c

i m phn bi t khc gi a bi u

(swimlane). M t lu ng s ho t

gom nhm cc ho t

ng, ch t i khi ni m ng i u trong m t t

ch u trch nhi m cho chng ho c chng n m trch nhi m th i tr ng thi ra Bi u hi n r cc hnh ng). cs

ng l m t phng php b sung cho vi c miu t tng tc, i km v i ng x y ra nh th no, chng lm g (thay ng), v chng x y i t ng), chng x y ra khi no (chu i hnh

u (lu ng hnh ho t ng c th

d ng cho nhi u m c ch khc nhau, v d nh: ng) s ng. i t ng. ph i c th c thi khi m t

n m b t cng vi c (hnh th t c c th c hi n. tr ng nh t c a bi u ho t

y l tc d ng th ng g p nh t v quan

n m b t cng vi c n i b trong m t

V ng b c cng doanh nghi p s


ch ra m t nhm hnh sao, v chng s nh h ng chng nh th no. ch ra m t tr ng h p s th no, theo khi ni m hnh i t ng. ch ra m t doanh nghi p ho t ch c v ng nh th no theo cc khi (workflow), ho c t c s d ng c th ng v cc s c th c th bi n ha nh ng lin quan c th n nh ng c th c thi ra

i t ng n m xung quanh

i tr ng thi c a

ni m cng nhn (tc nhn), qui trnh nghi p v d ng trong doanh nghi p). Bi u ho t ng c th c coi l m t lo i Flow chart. c p d ng

i t ng (cc kha c nh v t l cng nh tri th c

i m khc bi t l Flow ho t

Chart bnh th ng ra ch ng c th x

i v i cc qui trnh tu n t , bi u

l c cc cc qui trnh song song. thay i tr ng thi s n sinh ra m t k t qu . Vi c th c thi c a th ng lin quan, sau nh ngha ho t ng

Hnh ng v s M t hnh t c c th ny chng s chng v c th s ng

c th c hi n

c miu t d i d ng m t t p h p c a cc hnh ho t ng ch ra cc hnh u v m t

c chuy n thnh cc dng code th t s . Theo nh c m t i m b t i m k t thc. Bi u

ph n tr c, m t bi u

ng cng m i quan h gi a tr ng thi bnh th ng.

d ng cng cng nh ng k hi u nh trong bi u

Hnh

6.12-

Khi

m t

ng i

g i

tc ng th

PrintAllCustomer ng

(trong

l p

CustomerWindow), cc hnh hnh ng th

ng kh i

ng. hnh

u tin l hi n m t ng th t l xa ng; chng

h p thng bo ln mn hnh; hnh ba l g i file postscript

hai l t o m t t p tin postscript; c chuy n ti p t

n my in; v hnh ng

h p thng bo trn mn hnh. Cc hnh x y ra ngay khi hnh

ng trong giai o n ngu n c th c hi n.

V ng b c cng doanh nghi p s


Cc s thoi thay cs i c th d ng thay c b o v b i cc i u ki n canh gi thay th hi n m t quy t nh. K hi u quy t thay (Guard-condition), nh c th c m t thay i i ra

cc i u ki n ny ph i c th a mn th s ho c nhi u s i km cc

i m i n ra. M t k hi u hnh i i ra c dn nhn cc s

i i vo v m t ho c nhi u s

i u ki n b o v . Bnh th ng ra, m t trong s

bao gi cng c th a mn (l ng). M t s hnh l t t c thanh thay i c chia thnh hai hay nhi u s ng thay i khc s d n n cc y

ng x y ra song song. Cc hnh cc thay ng h i ng th i ph i

c th c hi n

ng th i, m c d c th ng i c chia ng song

chng cng c th

c th c hi n l n l t t ng ci m t. Y u t quan tr ng c th c hi n tr c khi chng thay

nh t l i v i nhau (n u c). M t ng th ng n m ngang k ha Synchronisation Bar) ch r ng m t s d ng ch ra s thnh nhi u nhnh khc nhau v ch ra m t s song. Cng ng th ng c s

m (cn c g i l

chia s thnh cc hnh

th ng nh t cc nhnh. ho t ng: c nh ngha r rng, c i t ng. Ho t

K hi u UML cho cc thnh ph n cn b n c a bi u Ho t ng (Activity): l m t qui trnh th

c th c thi qua m t hm ho c m t nhm ng c th hi n b ng hnh ch nh t bo trn c nh.

Thanh

ng b

ha (Synchronisation bar): chng cho php ta m

ra ho c l ng l i cc nhnh ch y song song n i b trong ti n trnh.

Hnh 6.13- Thanh i u ki n canh gi ho c vung, v d : [Customer existing].

ng b ha (Guard Condition): cc bi u th c logic c gi tr i u ki n canh gi c th hi n trong ngo c

ng ho c sai.

9- VNG
Vng i khc nhau vng l p.

I T NG (OBJECT LIFECYCLE)
i t ng i v i m t i qua ph thu c vo lo i i t ng: vng i t ng. C hai lo i vng i; v vng i i sinh ra r i ch t

i m m t

9.1- Vng i sinh ra v ch t i:

V ng b c cng doanh nghi p s


Trong m t vng S i sinh ra r i ch t i: c m t hay nhi u tr ng thi ni i t ng b t u t n t i.

Nh ng tr ng thi ny c g i l tr ng thi t o ra S c m t hay nhi u tr ng thi ic am t ng t cch l

i t ng. i m k t thc cho c g i l tr ng

vng

i t ng. Nh ng tr ng thi ny

thi k t thc. C hai lo i tr ng thi k t thc. M t d ng tr ng thi k t thc l lo i ni b h y v khng ti p t c t n t i n a. Lo i th sau i t ng s c lu tr i t ng i

hai l d ng tr ng thi k t thc m ng. i qua m t m t

l i ho c chuy n sang tr ng thi im l ng.

t ng ti p t c t n t i nhng khng ti p t c th hi n ng x Sau tr ng thi kh i t o v tr c tr ng thi k t thc, ho c l nhi u tr ng thi trung gian. T i m i m t th i tr ng thi hi n th i. Khng c m t

i t ng c th i m,

i t ng ph i

i m no sau tr ng thi kh i t o v tr c tr ng thi k t thc m

i t ng l i khng c tr ng thi. V d cho i t ng c vng i sinh ra v ch t i: khch hng, ti kho n.

9.2- Vng i l p Khc v i tr ng h p sinh ra v ch t i, trong vng i t ng c coi l i vng l p: y v s cn mi mi

lun lun t n t i

ti p t c t n t i. Khng c tr ng thi kh i t o cng khng c tr ng thi k t thc. M c d th t ra s i t ng c t o ra t i m t th i i m no v cng s th t i m no , nhng n v n i t ng t c coi l lun lun t n i vng l p s ra c m t vng

b h y di t t i m t th i c t o ra t i th i i m ci

t i v c m t. Th ng th nh ng

t h th ng v s ch t i khi h th ng k t thc.

M t

i t ng v i vng

i vng l p s c m t ho c l nhi u tr ng thi "ng yn". i t ng n m ch m t s tr ng thi hi n th i. i l p l i: my rt ti n t ng (ATM), nhn vin ki n x y ra. Bn c nh ,

l nh ng tr ng thi ni i t ng cng lun lun V d cho

i t ng c vng

thu ngn.

10- XEM XT L I M HNH


10.1- Th m v n bi u

NG
tr ng thi

V ng b c cng doanh nghi p s


Sau khi hon t t cc thnh ph n cn b n c a m hnh c ng tc, bi u tr ng thi v bi u thnh ph n v bi u cu i cng trong m hnh phc th o bi u c coi l bi u ng nh cc bi u ng, nhm pht tri n i m ny,

tu n t , bi u tri n c th khai c th

ho t

tri n khai. Bi u ng. T i th i ng.

c th coi l ta hon t t m t phin b n c a m hnh Ph n quan tr ng nh t trong m hnh ny l bi u cho m t lo t cc cu h i m t m c ch: Ki m tra tnh tr n v n c a m hnh m b o m i i u ki n gy l i c x Trong giai cx o n ny, c th s xc nh xem bi u

tr ng thi. Hy tm cu tr l i tr ng thi ng n v c

chi ti t thch h p hay cha. Cng vi c ny c n nh m t i hai m c

c cc c nh k ch (scenario) m i xu t hi n v gia c m t s c th tr ng thi cha c gi i quy t, song

nh p ph m vi quan st c a chng ta, n u tr c l. Nh ng tnh hu ng lo i ny l lo i v n nh th t ki n y cc s c th n trnh qua vi c xc 10.2- Ph i h p s

ki n v tr ng thi.

B c cu i cng l m t vng ki m tra b m hnh ng: Ki m tra

sung nh m

m b o tnh

ng

nc a

m b o m i thng

i p

u c

i t ng g i v

t ng nh n. Trong m t s i t ng nh n s ph i ki n ny.

tr ng h p, s

li u chnh xc c a nh ng x l nh ng s

ki n c th khng

c bi t t i, nhng chng ta

m b o r ng chng ta bi t nh ng l p no s

Hy nghin c u m hnh theo kha c nh tr ng thi, tm ra nh ng tr ng thi khng c tr ng thi d n tr c v khng c tr ng thi ti p theo. Nh ng tr ng thi thi ny r t c th v l tr ng thi kh i u ho c tr ng thi k t thc. M c d v y, n u tr ng thi khng thu c m t trong hai lo i tr ng thi kia, r t c th y l m t tri u ch ng cho th y m hnh cn thi u i u g . Nhn chung, t t c cc tr ng thi th ng u c tr ng thi d n

tr c v tr ng thi ti p sau. Hy l n theo h u lm n ng c a cc s ki n i vo (entry) ki n t m t m b o l i t ng ny

chng tng thch v i cc tr ng h p s i u ny, hy l n theo m t s

d ng ni chng xu t pht. ki n c ph h p v i

i t ng khc, ki m tra xem m i s

V ng b c cng doanh nghi p s


tr ng h p s s nh t qun. ng b , c th chng l k t qu c a m t s d ng hay khng. Trong tr ng h p c mu thu n, tr ng thi ho c tr ng h p s d ng m b o

hy s a l i bi u

Ki m tra l i nh ng l i ki n khng ch 10.3- Bao gi th s i.

d ng bi u

no ng cho t t c cc lo i h th ng. M c nm t

Khng c n ph i v t t c cc lo i bi u s lo i bi u ng nh t

d v y, trong m t s tr ng h p khc nhau chng ta nh t thi t ph i c n thch m t vi i u cn cha thng t v vi c s Bi u tu n t v bi u tu n t c ng tc d ng cc lo i bi u ng.

nh. Sau y l m t vi l i mch b o c th gip gi i

c v khi chng ta mu n xem xt

ng x c ng ng

ng c a nhi u d ng. Bi u tc gi a cc x

i t ng/ l p trong n i b m t c nh k ch c a m t tr ng h p s v bi u i t ng. d ng d ng th hi n ng x chnh xc c a m t ng x i t ng. c ng tc r t h u d ng trong vi c ch ra s i t ng, nhng chng l i khng h u d ng khi mu n miu t

chnh xc c a m t

Bi u Bi u h ps Bi u

tr ng thi c s ho t ng cs

th hi n l i

xuyn su t nhi u tr ng

d ng ho c cc ti u trnh x y ra song song c a m t l n th c thi. thnh ph n v bi u tri n khai c s d ng ch ra m i quan h v t

l gi a ph n m m v cc thnh ph n ph n c ng trong h th ng. 10.4- L p con v bi u T t c cc l p con tr ng thi

u th a k c thu c tnh cng nh cc th t c c a l p cha. V ng c a l p cha. tr ng thi ring bao ch a l i ng

v y, m t l p con cng s th a k c m hnh Ngoi bi u c a n. Bi u x tr ng thi

c th a k , l p con cng c bi u c m r ng

tr ng thi c a m t l p cha s

chuyn bi t c a l p con. tr ng thi c a l p con v bi u c l p. Bi u tr ng thi c a l p cha ph i c b o tr c nh ngha s n v i l p con i c a chnh

Bi u

ring bi t v

tr ng thi c a l p con c n ph i

d ng cc thu c tnh c a l p con ch cha. M t khc, v n c m t s

khng ph i ch b ng cc thu c tnh c a l p d ng chung, v d ch nn xem xt bi u thay

mc n i ngoi mu n c a l p cha

thng qua cc thu c tnh m chng s cc thu c tnh c a chng, ch hi n nh v y

tr ng thi cho cc ti kho n c k h n theo phng di n s

khng ph i l thu c tnh c a l p cha. Ta ph i th c

n trnh tr ng h p tr n l n thu c tnh c a l p con v l p cha.

V ng b c cng doanh nghi p s


Vi c tun th con s quy t c k trn trong qu trnh v bi u tr ng thi cho m t l p

m b o tnh m un cho

ng tc m r ng c a b n.

11- PH I H P M HNH
Khi k t h p gi a cc m hnh hnh suy ra, m i s v vo s ki n. gi a m hnh thay i v

I T NG V M HNH
i t ng v m hnh ng, m i s t c trong m hnh

NG
ki n trong m i t ng. T

ng c n ph i tng thch v i m t th i t ng. Hnh

m t tr ng thi trong m hnh

ng c n ph i ph h p i t ng

v i m t th t c c a

ng ph thu c vo tr ng thi c a

M i quan h sau:

i t ng v m hnh

ng c th

c miu t

nh

M hnh M hnh cc

i t ng l c c u (framework) cho m hnh ng xc nh cc chu i thay i t ng. i

ng. iv i

c php x y ra

i t ng trong m hnh ng b h n ch

M hnh m hnh Khng th

ch trong nh ng

i t ng c m t trong

i t ng cng nh c u trc c a chng. c m t m hnh ng. i t ng c ng thm v i ph n ng ng cho m t i t ng khng t n t i i

trong m hnh

i t ng. C m t m i quan h 1-1 gi a m hnh

t ng v m hnh M hnh x "s ng".

ng chnh l m hnh

M hnh s

i t ng miu t

khc bi t gi a cc i t ng ng x

i t ng nh l khc m t i

khc bi t gi a cc l p. Khi m t i t ng trong s ng, s

t ng khc th m i

s c m t l p ring. khc bi t trong ng x ng

M c d v y, trong m hnh s l p.

c m hnh ha thnh cc tr ng thi khc nhau c a cng m t

12- TM T T V
T t c cc h th ng miu t

M HNH

NG
ng x ng. C u trc c th c nh l p, quan h cc ph n t gi a cc l p, nt m hnh trong n i th ng

u c c u trc tnh v c m hnh tnh, v d ng x

qua cc ph n t

m ng v thnh ph n. Khi ni m l nh ng tng tc c xc ng x

miu t

b c u trc s tng tc v i nhau d c theo ti n trnh th i gian ra sao. nh tr c v c th ng c a m t h th ng g i l m hnh ng,

c m hnh ha. M hnh ha c UML h tr . C t t c

V ng b c cng doanh nghi p s


b n lo i bi u thi, bi u Bi u n i b khc nhau, m i lo i v i m t m c tu n t , bi u c s c ng tc v bi u d ng miu t c s l i ch khc nhau: bi u ng. cng nh cc tr ng thi th ng con ho c ki n x y i u i t ng theo ti n trnh tr ng

ho t ng x

tr ng thi

trong m t l p (n cng c th

d ng cho cc h

cho ton b ra, l i bao gi ng x th s

h th ng). N t p trung vo kha c nh cc cng nh cc hnh thay ng

th i gian s thay

i cc tr ng thi c a chng ra sao ty theo nh ng s i tr ng thi x y ra. M t s nh tr c qua i. miu t i p m t nhm cc i t ng s ki n c th n

c th c hi n trong cc tr ng thi, v ra khi m t t c, ho c

ki n tr thnh c th a mn, khi nh n m t tn hi u ho c l nh g i th l khi m t kho ng th i gian Bi u thng tu n t c s

d ng

tng tc

v i nhau trong m t c nh k ch ring bi t nh th i p, t c l cu h i cc thng tu n t i t ng nh th no. Bi u n m ngang ch ra cc c a m t bi u Bi u tu n t

no. N t p trung vo chu i

c g i v nh n gi a m t nhm cc

c hai tr c; tr c d c ch th i gian v tr c

i t ng tham gia c nh k ch. Kha c nh quan tr ng nh t l th i gian. d ng miu t cc i t ng tng tc v i nhau ng, n c

c ng tc

c s nh

trong khng gian b

(space), c ngha l bn c nh cc tng tc , cc thng i p s

cn miu t r rng cc nh s Bi u t o chu i. ho t ng c s

i t ng c n i k t v i nhau nh th no. Trong bi u

c ng tc khng c tr c cho th i gian; thay vo

d ng

miu t s

vi c x y ra ra sao, cng vi c c cs cs d ng cho cc th d ng ch ra cc

th c hi n nh th no. Bi u t c, cc l p, cc tr ng h p s quy trnh nghi p v (workflow).

ho t

ng cng c th

d ng, v cng c th

PH N CU H I
H i: Th no l m t vng l p? p: M t chu i s vng l p (loop). H i: M hnh c a h th ng p: ng ki n c l p cng c th l cc s ki n song song ng chnh l m hnh i t ng c ng thm ph n ng x ng ki n c th c nh c i, nh c l i v s l n c g i l

H i: Cc s p: ng

V ng b c cng doanh nghi p s


H i: M t i t ng khng nh t thi t ph i c tr ng thi. i t ng u c tr ng thi u v tr ng thi k t thc. u v tr ng thi k t thc.

p: Sai, m i

H i: M t l p c th c tr ng thi ban p: Sai, m t H i: M t vng

i t ng c th c tr ng thi ban i (chu trnh) vng l p c a

i t ng khng c tr ng thi kh i

t o cng khng c tr ng thi k t thc p: ng, i t ng c coi l lun lun t n t i y v s cn mi mi

ti p t c t n t i.

V ng b c cng doanh nghi p s

An Introduction to the Unified Modeling Language UML


tm

ICONIX is Introduction

pleased to offer a to the Unified

one-day course titled "An Language (UML)".

Modeling

"An Introduction to the Unified Modeling Language (UML)" was developed by Kendall Scott, co-author of the award-winning book UML Distilled, as well as Use Case Driven Object Modeling with UML, and author of the forthcoming UML for the Rest of Us. The course is designed to help you quickly get up to speed on the essential aspects of the UML and the most relevant parts of the associated Unified Process.

This one-day course is designed to provide a quick but insightful introduction to the standard visual modeling language, touching upon all of the key aspects of the UML and its relationship with the use-case-driven, architecture-centric, and iterative and incremental Unified Process. The course also provides pointers about how to go about learning more about the UML, from the published work of the 'three amigos' as well as The the course instructor's is own in UML six material. parts:

presented

The Overview addresses the "mission statement" of the UML, how the language evolved from the work of the "three amigos," and principles of modeling.

V ng b c cng doanh nghi p s

Views, Phases, and Diagrams addresses the five architectural views around which the UML is centered, the four Unified Process phases to which the UML relate, and the nine diagrams at the heart of the UML.

Structural (Static) Diagrams addresses the four UML diagrams

V ng b c cng doanh nghi p s

that focus on the structural aspects of a system being modeled, as well as the non-standard but popular package diagram.

Behavioral (Dynamic) Diagrams addresses the five UML diagrams that focus on the behavioral aspects of a system being modeled.

Odds and Ends addresses areas of the UML, such as templates,

V ng b c cng doanh nghi p s

processes and threads, and collaborations, which cross the conceptual boundaries that the diagrams establish.

Process-Specific Extensions addresses the class stereotypes that are required for robustness analysis (which is discussed extensively Use Case Driven Object Modeling with UML), and other Unified Process-related extensions associated with testing, use cases, and requirements.

V ng b c cng doanh nghi p s

"An Introduction to the Unified Modeling Language (UML)" is suitable for anyone who is interested in learning about the UML. No knowledge of object orientation is assumed; however, the instructor can customize the course as needed to make it more suitable for students who do have that knowledge. The flavor of the course that involves work with Rose assumes no experience working with visual modeling tools.

*UML is a trademark of Object Management Group, Inc. in the U.S. and other countries.

ICONIX Software Engineering, Inc./2800 28th Street, Suite 320/Santa Monica, CA 90405/Tel (310)458-0092/Fax (310)396-3454/email: marketing@iconixsw.com

V ng b c cng doanh nghi p s

Please note that this site is no longer being updated. Please click here to return to www.omg.org.

What Is OMG-UML and Why Is It Important?


As the strategic value of software increases for many companies, the industry looks for techniques to automate the production of software and to improve quality and reduce cost and time-to-market. programming, These patterns techniques and include component technology, visual frameworks.

Businesses also seek techniques to manage the complexity of systems as they increase in scope and scale. In particular, they recognize the need to solve recurring architectural problems, such as physical distribution, concurrency, replication, security, load balancing and fault tolerance. Additionally, the development for the World Wide Web, while making some things simpler, has exacerbated these architectural problems. The Unified Modeling Language (UML) was designed to respond to these needs. The Unified Modeling Language (UML) is a language for specifying, visualizing, constructing, and documenting the artifacts of software systems, as well as for business modeling and other non-software systems. The UML represents a collection of best engineering practices that have proven successful in the modeling of large and complex systems. The UML was developed by Rational Software and its partners. It is the successor to the modeling languages found in the Booch, OOSE/Jacobson, OMT and other methods. Many companies are incorporating the UML as a standard into their development processes and products, which cover disciplines such as business modeling, requirements management, analysis & design, programming and testing. The Importance Of Modeling

Developing a model for an industrial-strength software system prior to its construction or renovation is as essential as having a blueprint for a building.

V ng b c cng doanh nghi p s


Good models are essential for communication among project teams and to assure architectural soundness. As the complexity of systems increases, so does the importance of good modeling techniques. There are many additional factors of a projects success, but having a rigorous modeling language standard is essential. A modeling language must include:

Model elements fundamental modeling concepts and semantics. Notation visual rendering of model elements. Guidelines idioms of usage within the trade.

In the face of increasingly complex systems, visualization and modeling become essential. The UML is a well-defined and widely accepted response to that need. It is the visual modeling language of choice for building object-oriented and component-based systems. Goals of the UML

The primary goals in the design of the UML were as follows: 1) Provide users with a ready-to-use, expressive visual modeling language so they can develop and exchange meaningful models. 2) Provide extensibility and specialization mechanisms to extend the core concepts. 3) Be independent of particular programming languages and development processes. 4) Provide a formal basis for understanding the modeling language. 5) Encourage the growth of the OO tools market. 6) Support higher-level development concepts such as collaborations,

frameworks, patterns and components. 7) Integrate best practices. Scope of the OMG-UML

The Unified Modeling Language (UML) is a language for specifying, constructing, visualizing, and documenting the artifacts of a software-intensive system. First and foremost, the Unified Modeling Language fuses the concepts of Booch, OMT and OOSE. The result is a single, common, and widely usable modeling language for users of these and other methods.

V ng b c cng doanh nghi p s


Second, the Unified Modeling Language pushes the envelope of what can be done with existing methods. As an example, the UML authors targeted the modeling of concurrent, distributed systems to assure that the UML adequately addresses these domains. Third, the Unified Modeling Language focuses on a standard modeling language, not a standard process. Although the UML must be applied in the context of a process, experience has shown that different organizations and problem domains require different processes. (For example, the development process for shrinkwrapped software is an interesting one, but building shrink-wrapped software is vastly different from building hard-real-time avionics systems upon which lives depend.) Therefore, the efforts concentrated first on a common metamodel (which unifies semantics) and second on a common notation (which provides a human rendering of these semantics). The UML authors promote a development process that is use-case driven, architecture centric, and iterative and incremental. Outside The Scope of the UML

While the UML aims to simplify and standardize modeling it is not an all encompassing language. This gives it the flexibility to be used to design a variety of systems over a wide spectrum of industries. Some major areas outside of the scope of the UML include: Programming Languages The UML, a visual modeling language, is not intended to be a visual programming language, in the sense of having all the necessary visual and semantic support to replace programming languages. The UML is a language for visualizing, specifying, constructing, and documenting the artifacts of a softwareintensive system, but it does draw the line as you move toward code. The UML does have a tight mapping to a family of OO languages, so that you can get the best of both worlds Tools Standardizing a language is necessarily the foundation for tools and process. The primary goal of the OMG RFP was to enable tool interoperability. However, tools and their interoperability are very dependent on a solid semantic and notation definition, such as the UML provides. The UML defines a semantic metamodel, not a tool interface, storage, or run-time model, although these should be fairly close to one another. Process

V ng b c cng doanh nghi p s


Many organizations will use the UML as a common language for their project artifacts, but they will use the same UML diagram types in the context of different processes. The UML is intentionally process independent, and defining a standard process was not a goal of the UML or OMGs RFP. Origin of UML and How It Became An OMG Standard

Identifiable object-oriented modeling languages began to appear between mid1970 and the late 1980s as various methodologists experimented with different approaches to object-oriented analysis and design. The number of identified modeling languages increased from less than 10 to more than 50 during the period between 1989-1994. Many users of OO methods had trouble finding complete satisfaction in any one modeling language, fueling the "method wars." By the mid-1990s, new iterations of these methods began to appear and these methods began to incorporate each others techniques, and a few clearly prominent methods emerged. The development of UML began in late 1994 when Grady Booch and Jim Rumbaugh of Rational Software Corporation began their work on unifying the Booch and OMT (Object Modeling Technique) methods. In the Fall of 1995, Ivar Jacobson and his Objectory company joined Rational and this unification effort, merging in the OOSE (Object-Oriented Software Engineering) method. As the primary authors of the Booch, OMT, and OOSE methods, Grady Booch, Jim Rumbaugh, and Ivar Jacobson were motivated to create a unified modeling language for three reasons. First, these methods were already evolving toward each other independently. It made sense to continue that evolution together rather than apart, eliminating the potential for any unnecessary and gratuitous differences that would further confuse users. Second, by unifying the semantics and notation, they could bring some stability to the object-oriented marketplace, allowing projects to settle on one mature modeling language and letting tool builders focus on delivering more useful features. Third, they expected that their collaboration would yield improvements in all three earlier methods, helping them to capture lessons learned and to address problems that none of their methods previously handled well. As they began their unification, they established four goals to focus their efforts:

Enable the modeling of systems (and not just software) using objectoriented concepts.

Establish an explicit coupling to conceptual as well as executable artifacts. Address the issues of scale inherent in complex, mission-critical systems.

V ng b c cng doanh nghi p s

Create a modeling language usable by both humans and machines.

The efforts of Booch, Rumbaugh, and Jacobson resulted in the release of the UML 0.9 and 0.91 documents in June and October of 1996. During 1996, the UML authors invited and received feedback from the general community. They incorporated this feedback, but it was clear that additional focused attention was still required. While Rational was bringing UML together, efforts were being made on achieving the broader goal of an industry standard modeling language. In early 1995, Ivar Jacobson (then Chief Technology Officer of Objectory) and Richard Soley (then Chief Technology Officer of OMG) decided to push harder to achieve standardization in the methods marketplace. In June 1995, an OMG-hosted meeting of all major methodologists (or their representatives) resulted in the first worldwide agreement to seek methodology standards, under the aegis of the OMG process. During 1996, it became clear that several organizations saw UML as strategic to their business. A Request for Proposal (RFP) issued by the Object Management Group (OMG) provided the catalyst for these organizations to join forces around producing a joint RFP response. Rational established the UML Partners consortium with several organizations willing to dedicate resources to work toward a strong UML 1.0 definition. Those contributing most to the UML 1.0 definition included: Digital Equipment Corp., HP, i-Logix, IntelliCorp, IBM, ICON Computing, MCI Systemhouse, Microsoft, Oracle, Rational Software, TI, and Unisys. This collaboration produced UML 1.0, a modeling language that was well defined, expressive, powerful, and generally applicable. This was submitted to the OMG in January 1997 as an initial RFP response. In January 1997 IBM, ObjecTime, Platinum Technology, Ptech, Taskon, Reich Technologies and Softeam also submitted separate RFP responses to the OMG. These companies joined the UML partners to contribute their ideas, and together the partners produced the revised UML 1.1 response. The focus of the UML 1.1 release was to improve the clarity of the UML 1.0 semantics and to incorporate contributions from the new partners. It was submitted to the OMG for their consideration and adopted in the fall of 1997. UML Present and Future

The UML is nonproprietary and open to all. It addresses the needs of user and scientific communities, as established by experience with the underlying methods on which it is based. Many methodologists, organizations, and tool vendors have committed to use it. Since the UML builds upon similar semantics and notation

V ng b c cng doanh nghi p s


from Booch, OMT, OOSE, and other leading methods and has incorporated input from the UML partners and feedback from the general public, widespread adoption of the UML should be straightforward. There are two aspects of "unified" that the UML achieves: First, it effectively ends many of the differences, often inconsequential, between the modeling languages of previous methods. Secondly, and perhaps more importantly, it unifies the perspectives among many different kinds of systems (business versus software), development phases (requirements analysis, design and implementation), and internal concepts. Although the UML defines a precise language, it is not a barrier to future improvements in modeling concepts. We have addressed many leading-edge techniques, but expect additional techniques to influence future versions of the UML. Many advanced techniques can be defined using UML as a base. The UML can be extended without redefining the UML core. The UML, in its current form, is expected to be the basis for many tools, including those for visual modeling, simulation and development environments. As interesting tool integrations are developed, implementation standards based on the UML will become increasingly available. The Meta Object Facility

The main purpose of the OMG MOF is to provide a set of CORBA interfaces that can be used to define and manipulate a set of interoperable metamodels. The MOF is a key building block in the construction of CORBA-based distributed development environments. The Meta Object Facility represents the integration of work currently underway by the OMG members in the areas of object repositories, object modeling tools, and meta data management in distributed object environments. The MOF specification uses the Unified Modeling Language (UML) notation. The facility interface and semantics incorporate some of the advanced meta data management concepts that have been implemented in the commercial object repositories, development tools, and object framework products developed by the co-submitters. The specification enhances meta data management and meta data

interoperability in distributed object environments in general and in distributed development environments in particular. While the initial work addresses meta data interoperability in object analysis and design domain, it is anticipated that the MOF will be rich enough to support additional domains. Examples include metamodels that cover the application development life cycle as well as

V ng b c cng doanh nghi p s


additional domains such as data warehouse management and business object management. OMG is expected to issue new RFPs to cover these additional domains.

Copyright All For

1997-2001

Object

Management

Group,

Inc.

Rights questions about the WEBSITE, please

Reserved. contact

webeditor@omg.org For TECHNICAL questions, please contact

webtech@omg.org

V ng b c cng doanh nghi p s

Object Oriented Analysis and Design Using UML


A Whitepaper by Mark Collins-Cope of Ratio Group.

Introduction You're proficient in C++, Java or another OO language, you're designing class hierarchies, using inheritance, and manipulating complex pointer relationships to store the necessary links between your classes. You've probably drawn blobs (representing classes in some way) on whiteboards, with connecting lines to indicate the relationships between classes (inheritance or other). Perhaps you're feeling the need for a more formal notation to express your designs - using something that is language independent, and that enables you to consider the important aspects of design leaving the detail for later. Alternatively, perhaps you're a Project Manager, looking to formalise the OO design process a little to make sure you're getting the most from your move to C++/Java or a similar language. In this paper, I take a look at the UML (Unified Modelling Language) notation for Object Oriented Analysis and Design - the emerging standard designed by Booch, Rumbaugh and Jacobson, each of whom previously had their own notations published independently. The starting point is Object Modelling, a technique that enables you to focus on class structure, inheritance, etc., whilst avoiding language specifics such as pointer dereferencing. Object Modelling In UML

Figure 1 - Subset of UML Object Modelling Notation - A Summary

V ng b c cng doanh nghi p s


Object Modelling is the central technique in UML. It is a language independent notation allowing the specification of classes, their data or attributes(private) and methods (public), inheritance, and other more general relationships between classes. The notation itself is fairly simple to grasp (see figure 1), however this hides the somewhat more subtle thought processes underlying a good model. The best way to understand the notation is to look at an example. The following Object Model shows a simple Banking System, containing classes for Head-Office, Branch, Accounts held at that Branch, and the Customers who the Accounts belong to:

Figure 2 - A Simple Banking System Object Model Examining this Object Model in more detail, we can see the following information about our class structure:

Head-Office

class

(containing

"bankName"

and

"address"

fields,

otherwise known as attributes) "administers" an (unspecified) number of Branch classes; whilst a Branch is "administered-by" exactly one HeadOffice (the little black arrows indicates the direction in which the name given to a relationship should be read). On the diagram this relationship is represented by the line from the Head-Office class to the Brach class which is labelled "administers". The "1" at the Head-Office end of the line shows that exactly one Head-Office is associated with each Branch (as you would expect). The "*" at the Branch end of the line shows that a HeadOffice "administers" many Branches - again as you would expect.

V ng b c cng doanh nghi p s

Similarly, a Branch class (which contains "manager" and "address" attributes) "holds" many Account classes; whilst each Account class "isheld-by" exactly one Branch. We can also see that we have determined that an Account class has a "CalcCharges" method (also known as operations or member functions) defined. This method, when invoked, will look at the detail stored within the Account object, and apply the appropriate (undoubtedly extortionate) charges to the Account. The second method -"PrintStatement" - will take the details of the Account and print them out.

The inheritance "triangle" (labelled "account-type") shows us that our system knows about three types of Account: the basic account (in this case a virtual class called Account), and two specialised accounts - the CurrentAccount and SavingsAccount - which are derived from Account. The fact that the "CalcCharges" is shown in both sub-classes indicates that its implementation is re-defined for these classes (in C++ terms it is a virtual function). This is indicative of the fact that charges on a "SavingsAccount" are calculated in a completely different manner to charges on a "CurrentAccount".

Implicit in the decision to use inheritance and redefine methods in subclasses is the fact that the system, when implemented, will use the polymorphism features of the target language (C++, Java...) to enable all Accounts to be treated in a single coherent fashion, regardless of the particular charges mechanism involved. This is of course one of the reasons we use an object-oriented development language in the first place.

Each Account "belongs-to" exactly one owner - the Customer class on the diagram. Customers, on the other hand, may have many Accounts.

It's worth noting here that because an Account may "belong-to" a Customer, both CurrentAccounts and SavingsAccounts may also belong to a Customer. In other words, the "belongs-to" relationship between Accounts and Customers is inherited by the CurrentAccount and SavingsAccount classes. This fact simplifies the diagram considerably, removing the need for these relationships to be noted explicitly. This simplification will also be apparent in our final implementation of the system.

Finally, you can see that there are two relationships shown between the Account and the Transaction classes. This is because, in our banking system, each individual transaction (credit, debit, etc.) must have two associated accounts - the Account the money is "debit(ed)-from", and the

V ng b c cng doanh nghi p s


Account the money is "credit(ed)-to". This enables the bank to record exactly where each transaction has come from, and gone to, so to speak. These last point brings out an interesting feature of what is being shown on an Object Model: clearly it wouldn't make sense for each Transaction to be "debit(ed)-from" and "credit(ed)-to" the same Account - no money would be transferred! Obviously, although the lines (relationships) are shown to the same Account class, they do not (necessarily) represent links to the same Account object at run-time. A relationship shown on an Object Model indicates that some kind of run-time link will exist between two instances of the classes shown on the Object Model. Thus the Branch to Accounts relationship should be read as follows: An instance of the class Branch will be linked to (zero to) many instances of the class Account, whilst an instance of the class Account will be linked to (one and only) one instance of the class Branch. This can be shown more clearly by the following instance diagram (instance diagrams are used to assist in understanding and clarifying Object Models - they also give quite a hint as to how relationships can be implemented in

C++!):

V ng b c cng doanh nghi p s


Figure 3 - Instance Diagram Showing Branch and Account objects By now, you may be beginning to see how Object Models can assist the analysis/design process. They assist in the clarification of the relationships that should be (somehow) represented in a software system. The important point to note hear is that we are first working out what relationships we need to represent in our system ("belongs-to", etc.), without worrying too much about exactly how they should be stored. Put another way, Object Modelling allows us to focus on exactly what problem we are trying to solve, before we look at the best way of implementing our model in a particular programming language. Implementing Object Models

OK, that's fine, you may say, but how do Object Models relate to C++ or Java, exactly? Lets take a look at a sub-set of our previous example

Figure 4 - Subset of Banking Model Our Object Model shows us that we need four classes: Transaction; Account; Current Account and Savings Account, and that our implementation must enable us to represent the fact that any particular Account has two sets of Transactions associated with it - which will be needed to implement the PrintStatement

V ng b c cng doanh nghi p s


method. The Account, CurrentAccount and SavingsAccount classes are easily mapped to the C++ (or Java) inheritance mechanisms:

class /*... public: virtual void }; class /* public: virtual /* }; class /* public: virtual /* }; use void the CalcCharges(); base SavingsAccount: any use void the SavingsAccount: any

Account data... void

{ */ CalcCharges(); PrintStatement();

public additional

Account data /* PrintStatement re-definition method

{ */ */ */

CalcCharges(); base class

public additional /* class another PrintStatement

Account data re-definition method

{ */ */ */

Figure 5 - Mapping Object Model Inheritance To C++ Inheritance The Transaction class may be implemented as follows:
class long date_t public: /* Date(date_t); date_t Value(long); long }; Value(); Date(); /* /* Access and /* /* set get Update set functions */ */ get*/ */ */ value; date; /* /* Transaction stored date of in pence transaction { */ */

Figure 6 - Transaction Class In C++ This leaves us with the "debit-from" and "credit-to" relationships to be implemented. Here we have a number of choices: linked-lists; collection-classes; (dynamically bounded) arrays of pointers; etc. could all be used to represent these relationships.

V ng b c cng doanh nghi p s


class TransactionList Transaction public: void Transaction void }; TransactionList * Data * NextItem(TransactionList (Transaction Data(); *); /* /* NextItem(); *); /* set get next next /* get ptr ptr set */ */ */ */ * * next; data; /* TransactionList /* ptr store to the next transaction element here { */ */

Figure 7 - Simple Transaction List Handler Class For brevity, a linked-list class with a somewhat limited interface is used in this example although this may not the best choice. Amending our Account class definition to use this class gives us the following new definition:
class TransactionList TransactionList public: virtual void PrintStatement(); /* some new methods *); *); to /* /* /* /* manipulate Add Add Iterator:get Iterator:get the a a Transaction debit credit debit cred list Tx Tx Tx Tx */ */ */ */ */ void CalcCharges(); * * debitedFrom; creditedTo; /* Account /* debited credited to from Tx Tx list { list*/ */

DebitTx CreditTx Transaction* Transaction* }; /* /* add

(Transaction (Transaction

NextDebitTx(); NextCreditTx();

sample a new list * =

method * contained at tmpTxLp new the

implementation theTx) beginning = of the list

*/ { */ debitedFrom; TransactionList;

Account::DebitTx(Transaction TransactionList debitedFrom

debitedFrom->NextItem(tmpTxLp); /* }; new put the transaction data into the list */

debitedFrom->Data(theTx);

Figure 8 - Account Class amended to use Transaction List Although this is a somewhat simplistic implementation - it demonstrates the point that the model shown in figure 4 is easily translated into C++. Of course, better implementations of the "debit-from" relationship are possible, but the fact

V ng b c cng doanh nghi p s


that the Account class interface completely hides the underlying implementation of this relationship means that we can improve on our first cut implementation at a later date with little impact on our overall system code. In other words, use of the Account class interface has limited the impact of the relationship implementation method: something we strive to achieve when writing OO based applications. A couple of other points are worthy of note at this stage:

The linked list class contains pointers (references in Java) to Transaction objects. This is implicit in our Object Model, and is what the system's users would expect to see. To see why, consider the case when a new Transaction value is entered in error. The Transaction is linked to two accounts ("debit-from" and "credit-to"). If the Transaction object is shared, only one object need be modified to rectify the situation. Using two objects would either mean that either the system has to update two objects (equals more coding work), or that the user has to update two Transactions (equals greater potential for mistakes).

Although our Object Model "debit-from" relationship uses a linked list, there are many alternatives to this choice - including the use of a relational database to underpin the system. The point is, however, no matter what mechanism is used, we are actually trying to implement a "many-to-one" relationship between an Account and a Transaction. It is this relationship that exists in the banking problem domain - not a relationship involving linked lists or collection classes. Object Modelling enables us to spot the relationship required by the problem domain, and then choose the best way of implementing it.

So far, we have only implemented the "debit-from" relationship in one direction- from the Account class to the Transaction class. Our model does not (yet) specify in which direction the relationship will be traversed. If we need to traverse the relationship in both directions - getting from the Transaction to the related Account - our implementation will prove insufficient, and some form of double pointer schema may be needed. Much work would have been saved if we had known this fact before we had started writing the code.

Although

our

Object

Model

provided

starting

point

for

our

implementation, it was not complete, for example new methods have been added to the Account class.

V ng b c cng doanh nghi p s

Other factors may also influence our choice of implementation: do we need a direct form of access - for example using a Transaction number to go directly from the Account to the relevant Transaction? If we do, then a linked-list will prove an inefficient choice of implementation. Again, it would be very useful to know this type of information before we start trying to implement the relationship.

From these points we can see that we need to consider the wider requirements of our system before we can come up with the right implementation of our "debit-from" relationship (not to mention the many other classes and relationships that might be required). We can't produce a good design for a system unless we consider all the required functionality - in detail. Use Cases provide the mechanism for doing this. Use Cases In UML

Use Cases are used to document system requirements. They provide a useful technique which, in conjunction with Object Modelling, help us to clarify exactly what the system is supposed to do. Let's take a look at the requirements for our banking system

: Figure 9 - Use Cases for Banking System

V ng b c cng doanh nghi p s


This Use Case diagram shows us the following:

The required business functions - that is, the type of operation you'd expect to find on the menu of the application once it had been developed. In this case we have identified the following functions:

Bank managers need to periodically print out a report detailing all the customers who are overdrawn; these appear on the branch printer

Customers may use the system for balance enquiries Data processing staff use the system to do basic data entry (transactions on accounts)

Clerks may periodically request statements on behalf of Customers; There are four distinct types of user of the system: Bank Managers; Clerks; Data Processing Assistants; and Customers. Each type of user typically has their own particular set of requirements for a system: hence identify user types assists in identifying all the required system functions.

The Use Case diagramming technique allows us to make a first cut at defining the system requirements, and will help us in presenting these requirements back to the users of the system. It also partitions the system into single atomic business functions, which may be used as a basis for costing the system, or for planning a phased system delivery. In this case each successive phase would deliver further batches of Use Cases. Further information is still required, however, to tie down the detail of what each businese function does. Use Case Detail provides this information (explanatory notes are shown in bold):

Use Case Detail: Overdrawn Report Used Bank Manager Inputs: Details what information flows from the user to the system for this particular Use Case. theBranchSortCode - The Sort Code of the branch for which the report is required. theOverdraftPeriod - how long an Account has been overdrawn before it is forms By:

V ng b c cng doanh nghi p s


part of the report. Outputs: Details what information flows from the system to the external environment, in this current case overdraft; period the overdrawn printer! (days); overdraftReport (to branchPrinter) - structured as follows: customer name; Printed for all accounts that have been overdrawn for a period greater than theOverdraftPeriod, and which have not already been reported (on another report) in the last 30 days. Pre-Conditions: What validity checks or constraints apply on the inputs (or the internal system as a whole, in some cases). theBranchSortCode - must be a branch sort code held within the system. theOverdraftPeriod - must be a number between 0 and 100 days. Post-Condition: What changes does the Use Case make to the internal system state. Updates the reportedOnDate field of overdrawn accounts.

As work progresses on the Use Cases, the requirements of the system become clearer enabling the Object Model to be updated in parallel, helping us make sure our model (and the subsequent implementation in the chosen language) contains all the necessary classes and class inter-links. Whilst we're nearer to resolving some of the issues identified at the end of the discussion of implementing Object Models, a number are still outstanding: we still can't be sure in what direction the relationships must be implemented, whether we have identified all the methods; or what implementation of the links will best suit the use to which they'll be put. To sort out the remaining issues we'll need to look in more detail exactly how each Use Case will be implemented, using Sequence Diagrams. Sequence method system. call calls within Diagrams a

Sequence diagrams, performed on a per Use Case basis, examine the flow of

V ng b c cng doanh nghi p s

Figure 10 - Sequence Diagram for Overdrawn Report Performing a complete analysis requires that each individual Use Case must be examined, although in practise only selected Use Cases may be examined. The Sequence Diagram in figure 10 shows the Overdrawn Report Use Case defined earlier. The Overdrawn Report Use Case is thus implemented as follows:

The Head-Office object (there is only one of them) has methods which correspond to each Use Case - in this case an OverdrawnReport method (this is a convenience for brevity, normally there would be a single "InitialObject" which the system would know about, and which would provide the entry point into the run-time model for all code).

The Head-Office OverdrawnReport method locates the relevant Branch (as determined by the Use Case input: theBranchUseCase) and cascades the request to the Branch by calling its OverdrawnReport method.

The Branch object in turn passes the request on down to each Account it holds (using the Account's OverdrawnReport method)!

Each Account then:

V ng b c cng doanh nghi p s

checks if it has been overdrawn for greater than the period specified by theOverdraftPeriod, which is passed as an argument to the Account.OverdrawnReport method (the detail of this is not shown - but involves summing up all the Transactions it holds, and checking the date on which it last became overdrawn).

if appropriate it then calls one of its own methods to print the report (detail not shown), and resets its lastReportDate attribute, again using its own method.

The method calls unwind until the Use Case is complete.

Figure 11 - Updated Banking System Object Model Reviewing the Object Model (see figure 11), we can see a number of additions as a result of completing this Sequence Diagram:

OverdrawnReport methods have been added to the Branch and Account classes.

A lastReportedDate attribute and associated methods have been added to the Account class, along with a printOverdrawnReport method.

V ng b c cng doanh nghi p s

The "administers" relationship between Head-Office and Branch has been qualified to indicate that "direct access" via the Branch's "sort-code" is required across the link (thus assisting in link design) - note the consequent change in the multiplicity of the relationship from many-to-one to one-to-one.

We have added directionality to many of the links (e.g. see the arrowhead on the Branch to Account link).

Of course, we've only looked at one Use Case, so its likely the model will change further as more sequence diagrams are developed. The Overall Process

From the above discussion we can see that Use Cases and Sequence Diagrams both add to integrity and completeness of our Object Model, and that a good Object Model provides a firm foundation for a good design, and hence a good implementation system. of the

V ng b c cng doanh nghi p s

Figure 12 - The Overall Process This approach separates the Problem and Technical Domain aspects of the project:

Problem Domain Analysis is concerned with capturing requirements and producing a first cut Object Model. Typically the Object Model will be incomplete, having only a subset of the class attributes and methods defined.

Problem Domain Design is concerned with finalising the detail of the problem domain parts of the Object Model, and results in an Object Model with a complete set of Problem Domain specific classes, attributes and methods.

User Interface Design is the first step that focuses on the Technical Domain aspects of the problem, and involves taking the Use Cases as

V ng b c cng doanh nghi p s


defined earlier, and designing a Graphical User Interface appropriate to the Technical Architecture chosen for the project (MS Windows, X/Motif, etc.). Typically you would expect to find one controlling dialog box (which may use other subsidiary dialogs) for each Use Case in the system. Some prototyping may be appropriate at this point in the project. For small projects, prototyping and UI design may be undertaken in parallel with Use Case development.

Technical Domain, High Level Design focuses on adding classes to meet the technical needs of the project, and is driven by the technical architecture of the project. Classes may be GUI related, DBMS (object or relational) related, distribution related (CORBA, DCOM, etc.), external systems related, or may provide an interface to internal system components such as printers. Previous Sequence Diagrams may be updated to confirm the validity of the technical design - in particular you would expect to see GUI classes appearing between the System Boundary and the Problem Domain classes.

Finally, Detailed Technical Design, looks at link implementations, detailed data typing of attributes, full specification of all methods (including parameters), etc. The end result is a complete design of the full system.

The separation between Problem Domain and the Technical Domain aspects of the system is useful in large projects, allowing the focus of those working on the project to be clearly divided, as summarised in figure 13:

V ng b c cng doanh nghi p s


Figure 13 - Seperation Of Problem and Technical Domain Components of a System For smaller projects (one or two persons for a couple of months) the two domains may be merged, if desired. As mentioned previously, Use Cases may be used in phasing a project; the process shown earlier does not prohibit this. A project with 50 Use Cases could be structured in three phases as shown in figure 14:

Figure 14 - Evolutionary Phasing Of OO Project The object-based structure of the application lends itself well to this approach. Summary This paper has taken a look at the Use Case, Object Modelling, and Sequence Diagramming notations of UML, how Object Modelling maps to OO programming languages, and shown how these notations hang together to complement each other. A number of other UML notations are not covered in this article, however further information can be found on www.ratio.co.uk. I hope you can see that OOA/D offers a number of potential benefits in an OO based development environment. These include:

better modelling of the problem domain (equals happier users) better overall software design with a strong focus on class structure more flexible and maintainable systems through better class partitioning good documentation (the notations) - and a single central overall design notation (the Object Model)

a flexible approach to project phasing

V ng b c cng doanh nghi p s


assistance in tie-ing down requirements, and less work (in the long run)

Mark Collins-Cope is Technical Director at Ratio Group Ltd., a consultancy and training company specialising in OO related methods, languages and technologies. For further information on OOA/D using UML, Java, C++, Design Patterns or related topics please contact us Copyright This material remains the copyright of Ratio Group Ltd. Licence is granted for the use of this material for personal development purposes only.

You might also like