You are on page 1of 37

UML Bi 1: Gi i thi u t ng quan v ngn ng UML

T i sao chng ta ph i xy d ng m hnh cho h th ng? M hnh ha l cch xem xt m t bi ton thng qua vi c s d ng cc m hnh. M hnh dng hi u r bi ton, trao i thng tin gi a nh ng ng i lin quan nh khch hng, chuyn gia, ng i phn tch, ng i thi t k ... M hnh gip cho vi c xc nh cc yu c u t t hn, thi t k r rng hn v kh nng b o tr h th ng cao hn. M hnh l s tr u t ng ha, m t m t b n ch t c a m t v n ho c m t c u trc ph c t p b ng cch lo i b nh ng chi ti t khng quan tr ng, khi n cho bi ton tr nn d hi u v d n m b t hn. Tr u t ng ha l m t kh nng c b n c a con ng i trong vi c gi i quy t cc v n ph c t p. Cc k s, ki n trc s, cc ngh s t ng xy d ng nh ng m hnh t hng nghn nm nay th cc thi t k c a h tr c khi th c hi n chng. Vi c pht tri n cc h th ng ph n m m cng khng ngo i l . xy d ng m t h th ng ph c t p, nh ng ng i pht tri n ph i tr u t ng ha nh ng kha c nh (View) khc nhau c a h th ng, xy d ng cc m hnh b ng cch s d ng cc k hi u m t cch r rng, c n th n, ki m tra xem cc m hnh tho mn cc yu c u c a h th ng cha v d n d n thm vo cc chi ti t c th v ki m sot ki n trc c a h th ng. M hnh c th m t cc c u trc, nh n m nh v m t t ch c c a h th ng ho c n c th m t cc hnh vi, t p trung vo m t ng c a h th ng. Chng ta xy d ng m hnh hi u r hn v h th ng m chng ta ang xy d ng, t o ra c h i c th n gi n ha v ti s d ng. Chng ta xy d ng m hnh ki m sot r i ro. Vi c l p m hnh khng ch dnh cho cc h th ng l n. Khi xy d ng m hnh chng ta s t c 4 m c ch sau:

M hnh gip chng ta tr c quan ha h th ng nh l n v n c hay theo cch m chng ta mu n n s nh v y.

M hnh chuy n i t m hnh sang m t ci t c th .

Chng ta xy d ng m hnh c a nh ng h th ng ph c t p b i v chng ta khng th lnh h i m t lc ton b h th ng . V d nh khi xy m t nh kho chng ta c th b t tay vo xy ngay, khi xy m t ngi nh chng ta c th c n b n thi t k c a ngi nh . Khi c n xy mt ta nh cao t ng, chng ta ch c ch n c n b n thi t k c a to nh . i u ny cng ng trong lnh v c ph n m m. H th ng cng ph c t p th vi c xy d ng m hnh cng quan tr ng. Xy d ng m hnh cho php ng i thi t k th y c b c tranh t ng quan c a h th ng, th y c cc thnh ph n c a h th ng tng tc v i nhau nh th no hn l vi c sa l y vo chi ti t bn trong c a cc thnh ph n . Trong th gi i lun bi n ng c a cc ng d ng h ng i t ng th vi c pht tri n v b o tr cc ng d ng c ch t l ng cao trong m t kho ng th i gian h p l ngy cng tr nn kh khn hn. M t t ch c pht tri n ph n m m thnh cng l t ch c xy d ng c cc ph n m m c ch t l ng, tho mn c m i yu c u c a khch hng.

M hnh ha l ph n trung tm trong cc cng vi c, cc ho t ng d n t i m t ph n m m t t. Chng ta xy d ng m hnh trao i, bn b c v c u trc v ng x (behavior) mong mu n c a h th ng. Chng ta xy d ng m hnh tr c quan ha cho php chng ta ch r c u trc v ng x c a h th ng M hnh cho chng ta m t khun m u h ng d n chng ta trong qu trnh xy d ng h th ng. M hnh a ra cc d n ch ng b ng ti li u v cc quy t nh m chng ta a ra trong qu trnh thi t k h th ng.

Thng qua vi c m hnh ha, chng ta thu h p bi ton m chng ta ang nghin c u b ng cch ch t p trung vo m t kha c nh t i m t th i i m. i u ny cng gi ng nh phng php chia tr m Edsger Diskstra a ra: Gi i quy t m t v n kh b ng cch chia n thnh nh ng bi ton nh hn m b n c th gi i quy t c. M hnh ha l vi c n gi n ha th c t , lo i b nh ng i m th y u, tuy nhin ta ph i ch c ch n r ng khng b st m t chi ti t quan tr ng no. Ty thu c vo c i m t nhin c a h th ng, m i m hnh c th t p trung vo nh ng m t khc nhau c a h th ng. Nh h th ng t p trung vo d li u th cc m hnh v ph n thi t k tnh c a h th ng s c ch hn. Trong h th ng giao di n ng i dng th ph n tnh v ng c a Use case s l quan

tr ng. Trong h th ng th i gian th c, cc ti n trnh ng l quan tr ng. Cu i cng, trong h th ng phn tn d a trn c s Web th cc m hnh v th c thi v tri n khai l quan tr ng nh t.

Unified Modeling Language l g? UML l m t ngn ng dng


Tr c quan ha C th ha Sinh m d ng nguyn m u L p v cung c p ti li u

UML l m t ngn ng bao g m m t b ng t v ng v cc quy t c k t h p cc t v ng ph c v cho m c ch giao ti p. M t ngn ng dng cho vi c l p m hnh l ngn ng m b ng t v ng( cc k hi u) v cc quy t c c a n t p trung vo vi c th hi n v m t khi ni m cng nh v t l c a m t h th ng. M hnh ha mang l i s hi u bi t v m t h th ng. M t m hnh khng th gip chng ta hi u r m t h th ng, th ng l ph i xy d ng m t s m hnh xt t nh ng gc khc nhau. Cc m hnh ny c quan h v i nhau. UML s cho ta bi t cch t o ra v c hi u c m t m hnh c c u trc t t, nhng n khng cho ta bi t nh ng m hnh no nn t o ra v khi no t o ra chng. l nhi m v c a quy trnh pht tri n ph n m m.

1. UML l ngn ng dng tr c quan ha i v i nhi u l p trnh vin, khng c kho ng cch no gi a t ng gi i quy t m t v n v vi c th hi n i u thng qua cc o n m. H ngh ra v h vi t m. Trn th c t , i u ny g p m t s v n . Th nh t, vi c trao i v cc t ng gi a nh ng ng i l p trnh s g p kh khn, tr khi t t c u ni cng m t ngn ng . Th m ch ngay c khi khng g p tr ng i v ngn ng th i v i t ng cng ty, t ng nhm cng c nh ng ngn ng ring c a h . i u ny gy tr ng i cho m t ng i m i vo c th hi u c nh ng vi c ang c ti n hnh. Hn n a, trong lnh v c ph n m m, nhi u khi kh c th hi u c n u ch xem xt cc o n m l nh. V d nh s phn c p c a cc l p, ta c th ph i duy t r t nhi u o n l nh hi u c s phn c p c a cc l p. V n u nh ng i l p trnh khng m t cc t ng m anh ta xy d ng thnh m l nh th nhi u khi cch t t nh t l xy d ng l i trong tr ng h p m t ng i khc m nh n ti p nhi m v khi anh ta r i kh i nhm. Xy d ng m hnh s d ng ngn ng UML gi i quy t c cc kh khn trn. Khi tr thnh m t chu n trong vi c l p m hnh, m i k hi u mang m t ngha r rng v duy nh t, m t nh pht tri n c th c c m hnh xy d ng b ng UML do m t ng i khc vi t. Nh ng c u trc m vi c n m b t thng qua c m l nh l kh khn nay c th hi n tr c quan. M t m hnh r rng, sng s a lm tng kh nng giao ti p, trao i gi a cc nh pht tri n. 2. UML l ngn ng dng chi ti t ha C ngha l xy d ng cc m hnh m t cc t m , r rng, y cc m c chi ti t khc nhau. c bi t l UML th c hi n vi c chi ti t ho t t c cc quy t nh quan tr ng trong phn tch, thi t k v th c thi m t h th ng ph n m m. 3. UML l ngn ng dng sinh ra m d ng nguyn m u

Cc m hnh xy d ng b i UML c th nh x t i m t ngn ng l p trnh c th nh : Java, C++... th m ch c cc b ng trong m t CSDL quan h hay CSDL h ng i t ng. Vi c cc yu c u c kh nng th ng xuyn thay i trong qu trnh pht tri n h th ng d n n vi c cc c u trc v hnh vi c a h th ng c xy d ng c th khc m hnh m ta xy d ng. i u ny c th lm cho m t m hnh t t tr nn v ngha v n khng cn ph n nh ng h th ng n a. Cho nn ph i c m t c ch ng b ha gi a m hnh v m l nh. UML cho php c p nh t m t m hnh t cc m th c thi.( nh x ng c). i u ny t o ra s nh t qun gi a m hnh c a h th ng v cc o n m th c thi m ta xy d ng cho h th ng . 4. UML l ngn ng dng l p v cung c p ti li u M t t ch c ph n m m ngoi vi c t o ra cc o n m l nh( th c thi) th cn t o ra cc ti li u sau:

Ghi chp v cc yu c u c a h th ng Ki n trc c a h th ng Thi t k M ngu n K ho ch d n Tests Cc nguyn m u ... ng d ng c a UML

5.

M c ch chnh c a UML l xy d ng m hnh cho cc h th ng ph n m m, n c th c s d ng m t cch hi u qu trong nhi u lnh v c nh:


H th ng thng tin doanh nghi p (enterprise) Ngn hng v d ch v ti chnh Vi n thng Giao thng Hng khng v qu c phng My mc i n t dng trong y t Khoa h c Cc ng d ng phn tn d a trn Web

UML khng ch gi i h n trong lnh v c ph n m m. N cn c th dng l p m hnh cho cc h th ng khng ph i l ph n m m nh h th ng php lu t (lu ng cng vi c - workflow), thi t k ph n c ng, ... 6. Cc thnh ph n c a UML 6.1. Cc ph n t mang tnh c u trc L p (Class) L m t t p h p cc i t ng c cng m t t p thu c tnh, cc hnh vi, cc m i quan h v i nh ng i t ng khc.

H p tc (Collaboration) Th hi n m t gi i php thi hnh bn trong h th ng, bao g m cc l p/ i t ng m i quan h v s tng tc gi a chng t c m t ch c nng mong i c a Use case.

Giao di n (Interface) L m t t p h p cc phng th c (operation) t o nn d ch v c a m t l p ho c m t thnh ph n (component). N ch ra m t t p cc operation m c khai bo ch khng ph i m c th c thi (implementation).

Use case l m t m t t p h p c a nhi u hnh ng tu n t m h th ng th c hi n t c m t k t qu c th quan st c i v i m t actor c th no . Actor l nh ng g bn ngoi m tng tc v i h th ng. Use case m t s tng tc gi a actor v h th ng. N th hi n ch c nng m h th ng s cung c p cho actor. T p h p cc Use case c a h th ng s t o nn t t c cc tr ng h p m h th ng c th c s d ng.

L p tch c c (Acitive class) l m t l p m cc i t ng c a n th c hi n cc ho t ng i u khi n. L p tch c c cng gi ng nh l p bnh th ng ngo i tr vi c cc i t ng c a n th hi n cc ph n t m ng x c a chng c th th c hi n ng th i v i cc ph n t khc. L p ny th ng dng bi u di n ti n trnh(process) v lu ng(thread)

Thnh ph n (Component) l bi u di n v t l c a m ngu n. Trong h th ng ta s th y cc ki u khc nhau c a component nh cc thnh ph n COM+ hay JavaBeans cng nh l cc thnh ph n nh cc file m ngu n, cc file nh phn t o ra trong qu trnh pht tri n h th ng.

Nodes l th hi n m t thnh ph n v t l nh l m t my tnh hay m t thi t b ph n c ng.

6.2. Cc ph n t th hi n hnh vi Tng tc (Interaction) bao g m m t t p cc thng bo(message) trao i gi a cc i t ng trong m t ng c nh c th no th c hi n m t ch c nng no .

My chuy n tr ng (States machine) th hi n cc tr ng thi c a m t i t ng trong th i gian s ng c a n nh m p ng cc s ki n, cc tc ng t bn ngoi. 6.3 Ph n t mang tnh nhm (Group) Gi (Package) Dng nhm cc ph n t c m t ngha chung no vo thnh nhm. Khng gi ng nh cc thnh ph n (component - t n t i trong lc th c thi), m t package ch mang tnh tr u t ng. Package dng nhn h th ng m t m c t ng qut hn so v i vi c xem xt t ng ph n t trong package.

Annotational (mang tnh ch t gi i thch): l cc ch thch dng m t , lm sng t v ghi ch v b t c ph n t no trong m hnh. Th ng dng nh t l Note g m cc rng bu c ho c ghi ch, c g n v i m t ph n t ho c m t t p h p cc ph n t .

6.4 Cc m i quan h (Relationships) Quan h Ph thu c (Dependency) Th hi n m i quan h m : n u c m t s thay i nh h ng t i i t ng ph thu c. K hi u: i t ng c l p s

Quan h K t h p ( Association) L m i quan h lin k t gi a 2 l p. Ni m t cch n gi n, khi m t i t ng c a l p ny g i thng i p t i ho c nh n thng i p t m t i t ng c a l p kia th ta ni gi a 2 l p c m i quan h association.

Quan h T p h p (Aggreagation)

l m t d ng c bi t c a quan h lin k t. N th hi n s lin k t ch t hn, l m i quan h ton th -b ph n.

Quan h G p (Composition) l m t d ng c bi t c a quan h aggregation. Trong n u nh i t ng ton th b h y th cc i t ng b ph n c a n cng b h y theo.

Quan h Th a k (Generalization) l m i quan h t ng qut ha/ c th ha, trong i t ng c th s k th a cc thu c tnh v phng th c( behavior) c a i t ng t ng qut.

Quan h Hi n th c ha (Realization) M i quan h gi a interface v class hay component hi n th c ho n ho c m i quan h gi a Use case v Collaboration hi n th c ha Use case .

6.5 Cc bi u (Diagrams) Bi u l p (Class Diagram) Bao g m m t t p h p cc l p, cc giao di n, cc collaboration v m i quan h gi a chng. N th hi n m t tnh c a h th ng. Bi u i t ng (Object Diagram) Bao g m m t t p h p cc i t ng v m i quan h gi a chng. i t ng l m t th hi n c a l p, bi u i t ng l m t th hi n c a bi u l p. Bi u Use case (Use Case Diagram)

Khi ni m actor: l nh ng ng i, h th ng khc th ng m c tng tc v i h th ng.

bn ngoi ph m vi c a h

Bi u Use case bao g m m t t p h p cc Use case, cc actor v th hi n m i quan h tng tc gi a actor v Use case. N r t quan tr ng trong vi c t ch c v m hnh ha hnh vi c a h th ng Bi u trnh t (Sequence Diagram) l m t d ng bi u tng tc (interaction), bi u di n s tng tc gi a cc i t ng theo th t th i gian. N m t cc i t ng lin quan trong m t tnh hu ng c th v cc b c tu n t trong vi c trao i cc thng bo(message) gi a cc i t ng th c hi n m t ch c nng no c a h th ng. Bi u h p tc (Collaboration) G n gi ng nh bi u Sequence, bi u Collaboration l m t cch khc th hi n m t tnh hu ng c th x y ra trong h th ng. Nhng n t p trung vo vi c th hi n vi c trao i qua l i cc thng bo gi a cc i t ng ch khng quan tm n th t c a cc thng bo . C ngha l qua chng ta s bi t c nhanh chng gi a 2 i t ng c th no c trao i nh ng thng bo g cho nhau. Bi u chuy n tr ng thi (Statechart) Ch ra m t my chuy n tr ng, bao g m cc tr ng thi, cc b c chuy n tr ng v cc ho t ng. N c bi t quan tr ng trong vi c m hnh ha hnh vi c a m t l p giao di n(interface class) hay collaboration v n nh n m nh vo cc p ng theo s ki n c a m t i t ng, i u ny r t h u ch khi m hnh ha m t h th ng ph n ng(reactive). Bi u ho t ng (Activity) L m t d ng c bi t c a bi u chuy n tr ng. N ch ra lu ng i t ho t ng ny sang ho t ng khc trong m t h th ng. N c bi t quan tr ng trong vi c xy d ng m hnh ch c nng c a h th ng v nh n m nh t i vi c chuy n i quy n ki m sot gi a cc i t ng Bi u thnh ph n (Component)

ch ra cch t ch c v s ph thu c c a cc thnh ph n(component). N lin quan t i bi u l p, trong m t thnh ph n th ng nh x t i m t hay nhi u l p, giao di n , collaboration. Quan h Th a k (Generalization) ch ra c u hnh c a h th ng khi th c thi. 7. Cc quy t c c a UML Cc thnh ph n c a UML khng th ng u nhin t c nh nhau. Nh b t c m t ngn ng no, UML c nh ng quy t c ch ra r ng m t m hnh t t s nh th no. M t m hnh t t l m hnh mang tnh nh t qun v c s k t h p hi ha gi a cc m hnh c lin quan c a n. UML c m t s quy t c dnh cho vi c:

t tn: c th truy xu t cc ph n t c a m hnh th ph i t tn cho chng nh tn c a cc quan h , bi u ... Xc nh ph m vi: ng c nh mang l i m t ngha c th cho m t ci tn Tnh nhn th y c: c c s n gi n v d ki m sot th nh ng ng c nh khc nhau c n ch ra r ng m t ci tn l hi n h u v c s d ng b i nh ng i t ng khc nh th no. Tnh ton v n: m i th quan h m t cch ng n v nh t qun v i nhau nh th no.

8. Cc k thu t chung c a UML 8.1 C th ha Nh trnh by ph n trn, vi c th hi n tr c quan gip chng ta hi u v n d dng hn ch khng c ngha l cc m t b ng l i l khng c ch.Cho nn UML khng ch l m t t p cc k hi u h a. Bn c nh cc k hi u h a cn c cc pht bi u b ng l i ch r ng ngha c a cc k hi u . V d nh trong k hi u c a m t l p( m t hnh ch nh t) cn c th c ch r ra cc thu c tnh, cc phng th c c a l p . 8.2 Trang tr

T t c cc ph n t trong UML u c m t hnh d ng phn bi t i v i cc ph n t khc. ng th i chng cng c thi t k th hi n nh ng m t quan tr ng nh t c a i t ng. V d nh k hi u cho m t l p l m t hnh ch nh t r t d v b i v l p l m t thnh ph n quan tr ng, xu t hin r t nhi u trong cc m hnh h ng i t ng. V k hi u ny th hi n c c 3 thnh ph n quan tr ng c a l p l tn l p, cc thu c tnh v cc phng th c c a n. Ngoi ra n cn bao g m cc chi ti t nh: l p c ph i l l p tr u t ng khng, cc thu c tnh, phng th c c a n thu c lo i g (public, private hay protected). Ni tm l i cc k hi u trong UML gip ta nh n bi t cc c i m quan tr ng c a i t ng, khi ni m c m t m t cch d dng v nhanh chng. 8.3 Phn chia Phn bi t r ph n tr u t ng v c th . Tr c tin l l p v i t ng. M t l p l m t s tr u t ng ha, m t i t ng l m t th hi n c th c a s tr u t ng . Trong UML ta c th m hnh l p v i t ng. C r t nhi u th tng t . V d nh m t Use case v m t th hi n c a Use case, m t component v m t th hi n c a component 8.4 K thu t m r ng UML cung c p nh ng thnh ph n c b n l p nn m t m hnh cho m t ph n m m. Nhng n khng th no bao qut h t theo th i gian m i m hnh trong m i lnh v c. Do UML c thi t k m theo ngha l ng i dng c th m r ng m t s thnh ph n c th p d ng m t cch t t nh t cho h th ng c a h m l i khng ph i thay i hay thi t k l i cc thnh ph n c s c a UML. C ch bao g m:

Stereotypes (khun m u): m r ng t p t v ng c a UML, cho php t o nh ng thnh ph n m i k th a nh ng c i m c a nh ng thnh ph n c ng th i ch a thm nh ng c i m ring g n v i m t bi ton c th no . Tagged values (gi tr th ): m r ng thu c tnh c a cc thnh ph n c a UML, n cho php ta t o thm nh ng thng tin m i v m t ph n t . V d nh khi lm vi c h p tc t o ra m t s n ph m, ta mu n ch ra cc phin b n v tc gi c a m t i t ng no . i u ny

khng c xy d ng s n trong UML m c th th c hi n thng qua vi c thm vo m t gi tr th . Constraints (rng bu c): m r ng ng ngha c a cc thnh ph n c a UML, cho php t o ra nh ng quy t c m i ho c s a ch a nh ng quy t c c.

9. Ki n trc c a h th ng Khi xem xt m t h th ng, chng ta c n xy d ng cc m hnh t nh ng kha c nh khc nhau, xu t pht t th c t l nh ng ng i lm vi c v i h th ng v i nh ng vai tr khc nhau s nhn h th ng t nh ng kha c nh khc nhau. UML xt h th ng trn 5 kha c nh:

1. Use-Case View Bao g m cc Use Case m t ng x c a h th ng theo cch nhn nh n c a ng i dng, ng i phn tch h th ng. N khng ch ra cch c u trc c a h th ng ph n m m, n ch dng nhn nh n m t cch t ng qut nh ng g m h th ng s cung c p, thng qua ng i dng c th ki m tra xem cc yu c u c a mnh c p ng y hay cha ho c c ch c nng no c a h th ng l khng c n thi t. Bi u dng n l bi u Use Case. 2. Logical View c dng xem xt cc ph n t bn trong h th ng v m i quan h , s tng tc gi a chng th c hi n cc ch c nng mong i c a h th ng.

3. Process View Chia h th ng thnh cc ti n trnh(process) v lu ng(thread), m t vi c ng b ha v cc x l ng th i. Dng cho ng i pht tri n v tch h p h th ng, bao g m cc bi u sequence, collaboration, activity v state. 4. Implementation View Bao g m cc component v file t o nn h th ng v t l. N ch ra s ph thu c gi a cc thnh ph n ny, cch k t h p chng l i v i nhau t o ra m t h th ng th c thi. 5. Deployment View Ch ra c u hnh ph n c ng m h th ng s ch y trn . N th hi n s phn tn, ci t cc ph n m t o nn ki n trcv t l c a h th ng. Bi u c s d ng l bi u Deployment.

UML Bi 2: Tm Use Case ng x c a h th ng, t c l nh ng ch c nng m h th ng cung c p s c m t trong m hnh Use case. Trong m t nh ng ch c nng (Use case), nh ng thnh ph n bn ngoi( Actor) tng tc v i h th ng v m i quan h gi a Use case v Actor (bi u Use case). M c ch quan tr ng nh t c a m hnh Use case l ph c v cho vi c trao i thng tin. N cung c p phng ti n khch hng, nh ng ng i dng tng lai c a h th ng v nh ng ng i pht tri n h th ng c th trao i v i nhau v bi n nh ng yu c u v m t nghi p v c a ng i dng thnh nh ng yu c u c th m l p trnh vin c th hi u m t cch r rng. Actor 1. nh ngha actor Actor khng ph i l m t ph n c a h th ng. N th hi n m t ng i hay m t h th ng khc tng tc v i h th ng. M t Actor c th :

Ch cung c p thng tin cho h th ng. Ch l y thng tin t h th ng. Nh n thng tin t h th ng v cung c p thng tin cho h th ng

2. M t Thng th ng, cc actor c tm th y trong pht bi u bi ton b i s trao i gi a phn tch vin v i khch hng v cc chuyn gia trong lnh v c(domain expert). Cc cu h i th ng c s d ng xc nh actor cho m t h th ng l:

i v i m t v n c th no th Ai l ng i quan tm ? H th ng c dng ni no trong t ch c? Ai l ng i c l i khi s d ng h th ng? Ai l ng i cung c p thng tin cho h th ng, s d ng thng tin c a h th ng v xa cc thng tin ? Ai l ng i h tr v b o tr h th ng? H th ng c s d ng ngu n l c no t bn ngoi?

C ng i no ng m t vi vai tr trong h th ng? C th phn thnh 2 actor C vai tr no m nhi u ng i cng th hi n? C th ch l m t actor H th ng c tng tc v i cc h th ng no khc khng?

C 3 lo i Actor chnh l:

Ng i dng. V d : sinh vin, nhn vin, khch hng... H th ng khc. S ki n th i gian. V d : K t thc thng, n h n...

i u g t o nn m t t p h p Actor t t? C n ph i cn nh c k l ng khi xc nh actor c a h th ng. Cng vi c ny th ng c th c hi n l p i l p l i. Danh sch u tin v cc actor hi m khi l danh sch cu i cng. V d nh trong bi ton ng k cc mn h c c a m t tr ng i h c, c m t cu h i l li u cc sinh vin m i vo tr ng l m t actor v sinh vin c l m t actor khc? Gi s cu tr l c th b c ti p theo l xc nh xem cch th c m hai actor ny tng tc v i h th ng. N u chng s d ng h th ng theo nh ng cch khc nhau th chng l hai actor ng c l i s ch l m t actor m thi. M t Actor: Vi c m t m t cch ng n g n v m i actor c n thm vo m hnh. M t ny c n ch r vai tr c a actor khi tng tc v i h th ng. V d : Sinh vin: l nh ng ng i ng k h c cc l p 3. K hi u Actor cng c m i quan h k th a. V d nh c th c hai actor l nhn vin tr lng thng, nhn vin lm h p ng. C hai u thu c m t ki u l Nhn vin. Actor Nhn vin l m t actor tr u t ng v n khng c m t th hi n no trong th c t , n c dng ch ra r ng c m t s i m chung gi a hai actor trn. Ni chung vi c m t quan h k th a gi a cc Actor l khng c n thi t, tr tr ng h p chng th c hi n nh ng tng tc khc nhau i v i h th ng. tr ng i h c.

V d :

Use case 1. nh ngha L m t kh i ch c nng c th c hi n b i h th ng mang l i m t k t qu c gi tr i v i m t actor no . 2. M t Use case m t s tng tc c trng gi a ng i dng v h th ng. N th hi n ng x c a h th ng i v i bn ngoi, trong m t hon c nh nh t nh, xt t quan i m c a ng i s d ng. N m t cc yu c u i v i h th ng, c ngha l nh ng g h th ng ph i lm ch khng ph i m t h th ng lm nh th no. T p h p t t c Use case c a h th ng s m t t t c cc tr ng h p m h th ng c th c s d ng. M t Use case c th c nh ng bi n th . M i m t bi n th c g i l m t k ch b n (scenario). Ph m vi c a m t Use case th ng c gi i h n b i cc ho t ng m ng i dng th c hi n trn h th ng trong m t chu k ho t ng th c hi n m t s ki n nghi p v . M t Use case m t m t nghi p v thng th ng. Nghi p v ny bao g m cc b c ring r , cn c g i l cc ho t ng. Khi cc b c c m t d i d ng vn b n th vi c ch ra s ph thu c gi a cc b c l m t vi c m t nhi u th i gian. Vi c th hi n cc b c d i d ng k hi u l d dng v d hi u hn. Do Use case th ng c m t chi ti t thng qua cc bi u m t hnh vi (behavior) nh bi u ho t ng (activity diagram), bi u trnh t (sequence diagram), bi u h p tc(collaboration diagram).

Use case cng c th c m t thng qua cc thi t k nguyn m u mn hnh, cc v d v bi u m u bo co. i u ny gip cho ng i dng d dng m ng t ng h th ng s lm vi c nh th no, qua c th ki m tra tnh ng n c a Use case. Cc cu h i th ng c s d ng xc nh Use Case cho m t h th ng l:

Nhi m v c a m i actor l g? C actor no s t o, lu tr , thay i, xa ho c c thng tin trong h th ng? C actor no c n bo tin cho h th ng v m t thay i t ng t t bn ngoi? C actor no c n c thng bo v m t s vi c c th x y ra trong h th ng? Tr ng h p s d ng no s h tr v b o tr h th ng? T t c cc yu c u v m t ch c nng c c th hi n h t thng qua cc tr ng h p s d ng cha?

i u g t o nn m t Use Case t t C m t cu h i th ng xuyn c t ra v m c chi ti t c a Use case. N nn m c no l t t. C l khng c cu tr l i hon ton ng, nhng c m t s nh n xt nh sau: "M t Use case th ng bi u hi n m t ch c nng c th c hi n tr n v n (khng ng t qung) t u n cu i. M t Use case ph i mang l i m t i u g c gi tr i v i actor". M t Use case Use case c n c m t vi cu ng n g n m t m c ch c a Use case, cho ta bi t ch c nng do Use case cung c p. 3. K hi u M t Use case c th hi n b i m t Ngoi ra cn c th c thm cc ch c a Use case. M i Use case trong h case c th c nh s thu n ti ho c trong ti li u m t . V d : hnh ellip km theo tn c a Use case. thch m t chi ti t hn v ngha th ng c tn phn bi t duy nh t. Use n cho vi c tra c u nhanh trn bi u

4. Lu ng s ki n cho m t Use case (The Flow of events) Use case ch cung c p m t khung nhn m c cao, t ng qut. hi u r hn h th ng c n ph i lm g th c n ph i m t chi ti t hn, g i l lu ng s ki n. N l m t ti li u m t cc ho t ng c n thi t t c ng x mong i c a Use case. Tuy l m t chi ti t nhng lu ng s ki n v n c vi t sao cho c th ch ra nh ng g h th ng c n lm ch khng ph i ch ra h th ng lm nh th no. V d : trong lu ng s ki n chng ta ni Ki m tra m c a ng i dng ch khng ni r ng vi c ph i th c hi n b ng cch xem xt trong m t b ng no trong c s d li u. N m t chi ti t nh ng g ng i dng c a h th ng s lm v nh ng g h th ng s lm. N c n ph i c p t i:

Use case b t u v k t thc khi no v nh th no C nh ng s tng tc no gi a Use case v actor th c hi n ch c nng . Nh ng d li u no c n thi t cho Use case Th t th c hi n thng th ng c a cc s ki n Cc m t v cc lu ng ngo i l ho c r nhnh.

M i d n c n c m t m u chu n cho vi c t o ti li u v lu ng s ki n. C th dng theo m u n gi n nh sau:


X. Lu ng s ki n cho Use case ABC X1. i u ki n b t u: danh sch nh ng i u ki n ph i th a mn tr c khi Use case c th c hi n. V d nh: m t Use case khc ph i th c hi n tr c khi Use case ny c th c hi n hay ng i dng ph i c quy n th c hi n Use case ny. Khng nh t thi t m i Use case u ph i c i u ki n b t u. X2. Lu ng chnh: m t nh ng b c chnh s x y ra khi th c hi n Use case. X3. Cc lu ng ph ( lu ng con). X4. Cc lu ng r nhnh.

Trong X l s th t c a Use case trong h th ng. V d : Lu ng s ki n m t Use case cho h th ng rt ti n t ng nh sau: 1.1 i u ki n b t u. 1.2 Lu ng chnh: 1.2.1 Ng i dng a th vo my. 1.2.2. My hi n thng bo cho m ng v yu c u nh p m s 1.2.3 Ng i dng nh p m s 1.2.4 My xc nh n m s ng. N u nh p sai m s , lu ng r nhnh E-1 c th c hi n. 1.2.5 My hi n ra ba l a ch n:

Rt ti n: lu ng con A-1 Chuy n ti n: lu ng con A-2 Thm ti n vo ti kho n: lu ng con A-3

1.2.6 Ng i dng ch n rt ti n 1.3. Lu ng con: 1.3.1 Lu ng con A-1: 1.3.1.1 My h i s l ng ti n c n rt 1.3.1.2 Ng i dng nh p s ti n c n rt My ki m tra trong ti kho n c ti n khng. N u khng lu ng r nhnh E-2 c th c hi n .... 1.4. Lu ng r nhnh: 1.4.1 E-1: Ng i dng nh p sai m s

My thng bo l ng i dng nh p sai m s yu c u ng i dng nh p l i ho c h y b giao d ch. 1.4.2 E-2: Khng ti n trong ti kho n... ////////////////////////////////////////////// Cc m i quan h 1. Quan h gi a Use case v Actor: Th ng g i l quan h tng tc v n th hi n s tng tc gi a m t actor v m t Use case. M i quan h ny c th l hai chi u (t Actor n Use case v ng c l i), n cng c th ch l m t chi u, lc chi u c a quan h s ch ra r ng ai l ng i kh i t o lin l c (communicate). Quan h ny th hi n b i m t ng th ng n i gi a actor v Use case (quan h hai chi u) hay m t mi tn (quan h m t chi u). 2. Quan h gi a Use case v i Use case: C ba lo i quan h sau: uses, extends v generalization. Quan h Uses (s d ng): C th c nhi u Use case c chung m t s ch c nng nh . Khi nn tch ch c nng thnh m t Use case ring hn l m t n trong t t c cc Use case m c n ch c nng . Khi c m t quan h Uses gi a cc Use case trn v Use case v a t o ra. V d : trong h th ng qu n l th vi n, m i Use case u b t u b ng vi c ki m tra nh danh c a ng i dng. Ch c nng ny c th m t trong m t Use case tn l ng nh p h th ng, sau cc Use case khc s s d ng Use case ny khi c n thi t. Quan h Extends (m r ng): Khng gi ng nh quan h Uses trong ni r ng khi m t Use case A s d ng Use case B c ngha l trong khi th c hi n Use case A ph i th c hi n Use case B, quan h Extends dng ch :

Cc hnh vi ty ch n: c th th c hi n ho c khng. V d : khi g i email c th th c hi n cc thao tc b o m t n i dung th ho c l khng. Ta c Use case B o m t c quan h extends v i Use case G i email. Cc hnh vi m ch th c hi n trong m t s i u ki n nh t nh. V d nh: Khi thm sch m i trong th vi n th ph i nh p cc t kha cho n, n u t kha cha c ph i th c hi n thm t kha r i m i ti p t c th c hi n thm cc thng tin v sch. Ta c Use case Thm t kha c quan h extends Use case Thm sch. M t s hnh vi khc s c th c hi n ph thu c vo s l a ch n c a dng. ng i V d nh: ng i dng c a h th ng rt ti n t ng c th ch n Rt ti n nhanh ho c Rt ti n theo cch bnh th ng. Ta c Use case Rt ti n nhanh c quan h extends v i Use case Rt ti n.

Quan h Generalization (th a k ): Cng gi ng nh quan h th a k gi a hai l p, quan h th a k gi a use case A v use case B ni ln r ng use case B k th a nh ng c i m c a use case A ngoi ra n cng c th c thm nh ng c trng ring c a n. V d : nh ki m tra nh danh ng i dng c th theo nhi u cch: Ki m tra m s , ki m tra d u vn tay... Khi c hai u th c hi n m t s hnh ng tng i gi ng nhau c a m t l p hnh ng g i l Ki m tra nh danh ng i dng. Bi u use case (Use case Diagram) 1. nh ngha L bi u th hi n s tng tc, m i quan h gi a cc Use case v actor trong h th ng. 2. M t M i h th ng th ng c m t bi u Use case chnh th hi n ph m vi c a h th ng v cc ch c nng chnh c a h th ng. S l ng cc Use case khc c t o ra s ty thu c vo yu c u. C th l:

M M o M

t bi u th hi n t t c cc Use case lin quan n m t actor no t bi u th hi n t t c cc Use case c ci t trong m t giai n pht tri n. t bi u th hi n m t Use case v t t c cc m i quan h c a n.

Tuy nhin nn cn nh c cc bi u th hi n cc thng tin c n thi t, n u qu nhi u bi u s gy ra s nh m l n v m t i l i ch c a vi c n gi n ha. T p h p cc Use case gip cho khch hng d dng xem xt m c t ng qut h th ng m ta s xy d ng. M t h th ng thng th ng c t 20 n 50 Use case. 3. K hi u M t bi u Use case bao g m m t t p cc Use case v actor. Gi a Use case v actor c m t ng n i n u nh actor kh i u m t Use case. Bi u Use case c th l ng nhau, c ngha l m t Use case trong m t bi u Use case c th c phn nh ra thnh nh ng Use case khc, n m trong m t bi u Use case khc. V d : H th ng qu n l d n v ngu n nhn l c. C b n Actor l Resource Manager (Ng i qu n l ngu n nhn l c), Project Manager (Ng i qu n l d n), System Administrator (Ng i qu n tr h th ng) v Backup System(h th ng sao lu d li u). Hnh 1-1 l bi u use case m c t ng qut, cung c p m t b c tranh ton c nh v cc actor v use case c a h th ng. Hnh 1-2 chi ti t ha use case "Qu n l ngu n nhn l c" b ng cch ch ra cc use case m actor Resource Manager mong mu n h th ng. Resource Manager c th thm m i, s a, xa cc thng tin v k nng c a nhn vin. M t k nng ph i c tm ra trong c s d li u tr c khi n c xa ho c s a nn use case FindSkill c t o ra. Hai use case UpdateSkill v RemoveSkill u s d ng ch c nng c a use case FindSkill nn chng c quan h uses v i use case ny. Resource Manager cng c th thm, xa, s a cc thng tin v nhn vin. Khi c p nh t thng tin v m t nhn vin, Resource Manager c th l a ch n: thm k nng cho m t nhn vin hay xa b m t k nng c a m t nhn vin. Do hai use case UnassignSkill from Resource v use case AssignSkill to

Resource c quan h extends v i use case UpdateResource ch ra chng l hai kh nng l a ch n c a use case ny.

Hnh 1-1: bi u Use case

m c t ng qut.

Ta c th xy d ng thm cc bi u chi ti t hn.

Hnh v 1-2: bi u Use case Manage Resource

m c chi ti t hn.

Nhn vo bi u trn ta th y r tc d ng c a n trong vi c trao i thng tin v i khch hng. Khch hng c th bi t r nh ng ch c nng no s c h th ng cung c p. Nhn vo cc actor h c th bi t chnh xc ai s tng tc v i h th ng. Vi c ny s gip h tm ra cc ch c nng cn thi u. V d nh: Khch hng c th ni r ng: khng, cc ch c nng trn r t hay nhng ti cn mu n xem 10 nhn vin lm vi c lu nm nh t trong cng ty. V nh v y cc ch c nng c a h th ng s d dng n m b t v t c s nh t tr v i khch hng m khng ph i b t khch hng c qu nhi u ti li u k thu t nh tr c.

UML Bi 3: Tm l p (Class) i t ng (object) nh ngha i t ng l khi ni m dng m hnh ha m t v t ho c m t khi ni m trong th gi i th c. M t Khi nghin c u i t ng c n ch t i 3 c i m l: tr ng thi (state), ng x (behavior) v nh danh (indentity) c a i t ng. Tr ng thi: t p d li u, thng tin m t i t ng. Tr ng thi l m t trong nh ng kh nng m i t ng c th t n t i. Tr ng thi c a i t ng thay i theo th i gian v c nh ngha b i m t t p cc thu c tnh, gi tr c a cc thu c tnh cng v i cc m i quan h c a i t ng v i cc i t ng khc. V d nh i t ng Danh sch ng k mn h c trong h th ng ng k l p h c c a m t tr ng i h c c th c hai tr ng thi m v ng. N u s l ng sinh vin ng k cn nh hn s t i a cho php th tr ng thi c a i t ng l m , khi t n s l ng sinh vin t i a cho m t l p h c th i t ng chuy n sang tr ng thi ng. ng x : dng nh ngha cch ng x c a i t ng i v i nh ng yu c u t cc i t ng khc. ng x c a m t i t ng th hi n thng qua m t t p cc php ton(operation) c a i t ng. nh danh: m i i t ng l duy nh t, gi a cc i t ng ph i c s phn cch r rng, cc i t ng khc nhau c nh danh khc nhau, cc nh danh ny khng ph thu c vo tr ng thi hay ng x c a i t ng K hi u

Trong UML i t ng c th hi n b i m t hnh ch nh t, tn c a i t ng c g ch chn.

L p (Class) nh ngha L p l nh ngha c a m t t p h p cc i t ng c chung cc thu c tnh, cc ng x v ng ngha. Nh v y l p l m t khun m u t o ra i t ng. M i i t ng l m t th hi n c a m t l p v m t i t ng khng th l th hi n c a nhi u hn m t l p. M t L p l khi ni m quan tr ng nh t trong h ng i t ng. Xy d ng c m t t p h p l p t t s t o nn m t h th ng t t. Tuy nhin vi c tm l p khi phn tch m t h th ng khng ph i l vi c n gi n. Khng c m t phng php hon ch nh tm l p. Tuy nhin c m t cch r t hi u qu tm cc l p c a m t h th ng. l vi c tm cc l p Th c th (Entity), l p Ngo i bin (Boundary) v l p i u khi n (Control). L p th c th (Entity Class) L p th c th dng m hnh ha cc thng tin lu tr lu di trong h th ng. N th ng c l p v i cc i t ng khc xung quanh, c ngha l n khng quan tm t i vi c cc i t ng xung quanh tng tc v i h th ng nh th no. Do n th ng c kh nng s d ng l i. V d nh l p Sinh vin, l p ny c th c trong h th ng qu n l i m, h th ng ng k h c, h th ng qu n l th vi n... c a m t tr ng i h c. Cc danh t , c m danh t m t v cc trch nhi m (responsibility) trong lu ng s ki n l m t ni d pht hi n l p th c th . Danh sch cc danh t ban u c th c xem xt lo i b ra nh ng danh t bn ngoi lnh v c bi ton, nh ng danh t trng l p...Cc l p th c th th ng c g i l l p lnh v c b i v n th ng dng m t cc i t ng, cc khi ni m lin quan n lnh v c c a h th ng ang xy d ng. K hi u:

L p bin (Boundary Class) Dng n m gi s tng tc gi a ph n bn ngoi v i ph n bn trong c a h th ng. Chng cung c p giao di n cho m t ng i dng hay m t h th ng khc tng tc v i h th ng. M i m t tng tc gi a c p Actor/ Use case i h i t nh t l m t l p bin. K hi u:

L p i u khi n (Control Class) Th hi n trnh t ng x c a h th ng trong m t hay nhi u Use case. L p ny dng i u ph i cc ho t ng c n th c hi n hi n th c ha ch c nng c a m t Use case. C n th n tr ng trong vi c s d ng l p i u khi n. N u m t l p i u khi n lm nhi u hn vi c i u ph i cc ho t ng th n c thi t k sai v i b n ch t n. K hi u:

Ngoi ra cn c cch phn lo i nh sau: l p thng th ng, l p tr u t ng (abstract class), l p tham s (parameterized class), l p th hi n (instantiated class), l p ti n ch (utilities class), l p ti n ch tham s (parameterized utilities class), l p th hi n ti n ch (instantiated utilities class). L p tham s (parameterized class): l l p dng t o ra m t h cc l p c cc ng x c chung ngha nhng th c hi n trn cc t p d li u khc nhau.

V d :

L p th hi n (instantiated class): khi ta gn m t gi tr c th cho tham s c a l p tham s , ta c m t l p th hi n. Nh trn ta c l p List dng m t m t danh sch v cc php ton lin quan t i danh sch nh thm m t ph n t vo danh sch, xa m t ph n t kh i danh sch, duy t danh sch. By gi ta cho m t gi tr c th l nhn vin, ta c danh sch nhn vin.

L p ti n ch (utilities class): l m t t p h p cc php ton. V d nh ta c m t s hm ton h c : l y bnh phng, l y cn... m c dng nhi u ni trong h th ng, khi cc hm ny c nhm l i v ng kn trong m t l p g i l l p ti n ch. L p ti n ch th ng c dng m r ng tnh nng c a ngn ng l p trnh, lu gi cc hm c th ti s d ng cho nhi u h th ng. L p ti n ch tham s (parameterized utilities class): cng gi ng nh l p ti n ch, n bao g m m t t p h p cc hm hay dng nhng ch m t l p tc ng t ng qut ch khng ch r ki u d li u m n s thao tc. L p th hi n ti n ch (instantiated utilities class): khi cho m t gi tr c th cho l p ti n ch tham s ta c m t l p th hi n ti n ch. V d L p tr u t ng (abstract class): l l p c thi t k m c tr u t ng cao nh t, n ch a nh ng thu c tnh, nh ng hnh vi chung cho nhi u l p con khc. L p tr u t ng c t o

ra ch cho cc l p khc k th a n, nh ng phng th c khai bo trong l p tr u t ng khng c ci t m chng ch c ci t cc l p con. Cho nn khng c m t i t ng no c t o ra t l p tr u t ng.

Phn b trch nhi m gi a cc l p M hnh l m t t p h p c a r t nhi u l p, chng ta c n m b o r ng c m t s phn b trch nhi m tng i cng b ng gi a cc l p. i u c ngha l khng c l p no qu l n ho c qu nh . M i l p c n ph i lm t t m t cng vi c. N u c nhi u l p qu l n, chng ta s th y r ng m hnh r t kh thay i v s d ng l i. N u c nhi u l p qu nh , chng ta s kh c kh nng ki m sot v hi u h t ngha c a chng. gi i quy t v n ny, chng ta nn th c hi n cc b c sau:

Xc nh m t t p h p cc l p m cng vi c tng i lin quan v i nhau th c hi n m t s ng x no . Xc nh m t t p h p cc trch nhi m cho m i l p. Xem xt t ng l p m t, n u l p no qu l n th tch n ra thnh nh ng l p nh hn, t p h p nh ng l p nh thnh m t l p l n hn v phn ph i trch nhi m m t cch h p l gi a cc l p. Cn nh c cch th c m nh ng l p ny h p tc v i nh ng l p khc, phn ph i l i cc trch nhi m n u th y c n thi t. Cng vi c ny th c hi n l p i, l p l i cho t i lc c m th y tng i ph h p, n ph thu c nhi u vo kinh nghi m th c t .

M t l p Trong qu trnh phn tch, c nhi u l p c t o ra, do c n c m t m t cho m i l p hi u r m c ch c a l p l lm g, trnh s nh m l n. M t l p c n ch ra m c ch c a l p ch khng ph i c u trc c a l p. K hi u:

c th hi n b i m t hnh ch nh t, c cc ph n ngn cch gi a tn, thu c tnh, phng th c c a l p. V d : L p Ng i c: L p ny ch a cc thng tin c n thi t v ng i c, ph c v cho vi c m n sch. Ng i c l ng i ng k v i th vi n v m n sch c a th vi n. M t m t t i s nh sau: L p Ng i c: L p ny g m c tn ng i c, a ch ... Gi (Packages) N u h th ng ch c m t vi l p th ta c th d dng qu n l chng. Tuy nhin h u h t cc h th ng u c kh nhi u l p v do ta c n c m t c ch nhm chng l i cho d s d ng, qu n l v s d ng l i. M t gi( package) l m t t p h p cc l p hay cc gi c lin quan v i nhau. Qua vi c nhm l p l i theo gi, ta c th nhn m hnh m c t ng qut hn v khi c n ta c th xem chi ti t cc l p trong m t gi. Trong UML m t gi k hi u nh sau:

Bi u l p (Class Diagram) Khi c nhi u l p thm vo m hnh, bi u l p c t o ra cung c p m t b c tranh m t m t s ho c t t c cc l p trong m hnh. Th ng c m t bi u chnh th hi n cc gi trong m hnh. M i gi l i c m t bi u chnh c a gi m t cc l p trong gi v m i quan h gi a chng. S l ng bi u l p l tu .

Thng th ng c m t s cch dng nh sau:


Th hi n c u trc v ng x c a m t hay nhi u l p. Th hi n m i quan h th a k gi a cc l p.

Bi u l p l m t cng c h u hi u trong vi c thi t k . N gip cho l p trnh vin xem xt v ln thi t k v c u trc c a h th ng tr c khi vi t m l nh. V d : M t d n c nhi u ho t ng (activity) v m t ho t ng c nhi u nhi m v (task). Quan h g p (composition) gi a d n v ho t ng ch ra r ng cc ho t ng ph i g n v i m t d n, n u d n b h y b th cc ho t ng cng b h y b .

Bi u l p

d ng t ng qut.

Bi u l p

m c chi ti t

Nh ng ng i pht tri n s d ng bi u l p xy d ng cc l p. M t s cng c CASE s gip t o ra m khung cho cc l p v ng i pht tri n s chi ti t ha b ng ngn ng l p trnh m h ch n. Phn tch vin s dng bi u l p xem h th ng m c chi ti t. Cc ki n trc s h th ng s xem thi t k c a h th ng. N u c m t l p c qu nhi u ch c nng, h c th cn nh c tch l p ra thnh cc l p con

Phn tch h

th ng thng tin h ng i t ng v i UML

Trong chng tr c, cc bi vi t c p t i t m quan tr ng c a vi c l p m hnh v s h tr c a UML trong vi c l p m hnh nh th no. Tuy nhin nhi m v chnh c a UML l ng vai tr m t ngn ng m hnh ha th ng nh t, tr c quan, chu n ha cc k hi u, ng ngha c a cc m hnh v cc bi u khi th hi n cc i t ng, cc s ki n trong th gi i th c v trong lnh v c my tnh ch khng ch ra cho ng i dng bi t vi c l p m hnh cho m t h th ng ph i theo cc b c nh th no. chnh l m c ch c a m t phng php phn tch, thi t k h ng i t ng. H ng i t ng l m t cch ti p c n khc v i cch ti p c n c c u trc truy n th ng. V i cch ti p c n h ng i t ng, ta chia ng d ng thnh cc i t ng, tng i c l p v i nhau. Sau ta c th xy d ng h th ng b ng cch k t h p chng l i v i nhau. M t trong nh ng u i m c a phng php ny l tnh s d ng l i. Ta c th xy d ng cc i t ng m t l n v dng chng trong nhi u ng d ng. Hn th n a cc i t ng ny qua m t qu trnh th nghi m v ki m tra nn cc r i ro v l i l r t t. V y phng php h ng i t ng khc phng php c c u trc i m no? Theo cch ti p c n c c u trc th chng ta t p trung vo cc thng tin m h th ng s lu gi . Chng ta h i ng i dng v cc thng tin m h c n, thi t k c s d li u lu tr cc thng tin ny, l p cc mn hnh nh p v hi n th thng tin, t o cc bo co in thng tin. Ni m t cch khc, chng ta t p trung vo thng tin m t ch tr ng t i ci g c th c hi n v i cc thng tin t c l ng x c a h th ng. Cch ti p c n ny cn c g i l h ng d li u v c dng t o ra hng nghn ng d ng trong nhi u nm qua. H ng d li u p d ng t t trong vi c thi t k c s d li u v n m b t thng tin, tuy nhin cch ti p c n ny g p ph i m t s kh khn. M t trong nh ng thch th c l n nh t l vi c thay i cc yu c u c a ng i dng. M t h th ng c xy d ng h ng d li u c th i u khi n vi c thay i c s d li u m t cch d dng nhng nh ng thay i v quy t c nghi p v (business rules) s khng d dng th c thi. Khi ni m h ng i t ng c pht tri n gi i quy t v n ny. N s t p trung vo c d li u v cc thao tc trn cc d li u . Do h th ng s linh ho t hn v d dng thay i khi d li u v ng x trn d li u thay i.

UML khng ch thu n ty l m t ngn ng m hnh ha. N c pht tri n b i cc chuyn gia hng u trong lnh v c h ng i t ng, nh ng ng i xu t ra nh ng phng php phn tch thi t k h ng i t ng hay c dng nh t, nh k thu t phn tch Use case c a Ivar Jacobsson, bi u chuy n tr ng thi c a Harel... do n u nh ng ng i phn tch ti p c n vi c xy d ng cc ph n t c a m hnh c nh ngha trong UML m t cch h p l v c h th ng th h s thu c m t phng php phn tch, thi t k h ng i t ng t t. Thng th ng vi c phn tch v thi t k h th ng c th c hi n theo cc b c sau: - Phn tch yu c u: Dng phng php phn tch Use case n m b t cc yu c u c a khch hng. y l m t b c quan tr ng v s thnh cng c a b c ny s quy t nh s thnh cng c a d n. B i v m t h th ng d c xy d ng t t n u nhng khng p ng c nh ng nhu c u c a khch hng h th ng s th t b i. - Phn tch: Sau khi bi t c ng i dng mu n g, chng ta t p trung m t l i h th ng, cc khi ni m chnh trong lnh v c c a h th ng c n xy d ng, trong h ng i t ng g i l cc l p lnh v c ( domain class ), m i quan h v s tng tc gi a cc i t ng . M c ch chnh l hi u h th ng ho t ng nh th no. - Thi t k : b c ny s d ng k t qu thu c cc b c tr c m r ng thnh m t gi i php k thu t, thm vo cc l p thu c v k thu t nh cc l p giao di n, cc l p i u khi n...T p trung m t c u trc bn trong c a h th ng, s tng tc c a t p h p cc i t ng t c nh ng ch c nng m h th ng c n c. M c d UML khng b t bu c ph i s d ng m t quy trnh pht tri n ph n m m c th no nh ng n c khuy n khch s d ng v i quy trnh l p v tng d n. Vi c phn tch thi t k h ng i t ng c h th ng ha nh sau: 1. Phn tch Use case : 1. Tm Actor 2. Tm Use case 3. Xy d ng bi u Use case 2. Tm l p:

3.

4.

5. 6.

7.

1. L p 2. Gi 3. Xy d ng bi u l p 4. Xy d ng bi u i t ng Phn tch s tng tc gi a cc i t ng 1. K ch b n 2. Xy d ng bi u trnh t 3. Xy d ng bi u h p tc Xc nh quan h gi a cc i t ng 1. Quan h Association 2. Quan h Generalization 3. Quan h Dependency 4. Quan h Realization Thm vo cc thu c tnh v phng th c cho cc l p Xc nh ng x c a i t ng 1. Xy d ng bi u chuy n tr ng 2. Xy d ng bi u ho t ng Xc nh ki n trc c a h th ng 1. Xy d ng bi u thnh ph n 2. Xy d ng bi u tri n khai.

Ki m tra l i m hnh

You might also like