Bai Giang Ve UML

Embed Size (px)

Citation preview

  • UML

    Bi 1: Gii thiu tng quan v ngn ng UML

    Ti sao chng ta phi xy dng m hnh cho h thng?

    M hnh ha l cch xem xt mt bi ton thng qua vic s dng cc m hnh. M hnh dng hiu r bi ton, trao i thng tin gia nhng ngi lin quan nh khch hng, chuyn gia, ngi phn tch, ngi thit k... M hnh gip cho vic xc nh cc yu cu tt hn, thit k r rng hn v kh nng bo tr h thng cao hn.

    M hnh l s tru tng ha, m t mt bn cht ca mt vn hoc mt cu trc phc tp bng cch loi b nhng chi tit khng quan trng, khin cho bi ton tr nn d hiu v d nm bt hn. Tru tng ha l mt kh nng c bn ca con ngi trong vic gii quyt cc vn phc tp. Cc k s, kin trc s, cc ngh s tng xy dng nhng m hnh t hng nghn nm nay th cc thit k ca h trc khi thc hin chng. Vic pht trin cc h thng phn mm cng khng ngoi l. xy dng mt h thng phc tp, nhng ngi pht trin phi tru tng ha nhng kha cnh (View) khc nhau ca h thng, xy dng cc m hnh bng cch s dng cc k hiu mt cch r rng, cn thn, kim tra xem cc m hnh tho mn cc yu cu ca h thng cha v dn dn thm vo cc chi tit c th v kim sot kin trc ca h thng.

    M hnh c th m t cc cu trc, nhn mnh v mt t chc ca h thng hoc n c th m t cc hnh vi, tp trung vo mt ng ca h thng.

    Chng ta xy dng m hnh hiu r hn v h thng m chng ta ang xy dng, to ra c hi c th n gin ha v ti s dng. Chng ta xy dng m hnh kim sot ri ro.

    Vic lp m hnh khng ch dnh cho cc h thng ln. Khi xy dng m hnh chng ta s t c 4 mc ch sau:

    M hnh gip chng ta trc quan ha h thng nh l n vn c hay theo cch m chng ta mun n s nh vy.

    M hnh chuyn i t m hnh sang mt ci t c th.

  • Chng ta xy dng m hnh ca nhng h thng phc tp bi v chng ta khng th lnh hi mt lc ton b h thng . V d nh khi xy mt nh kho chng ta c th bt tay vo xy ngay, khi xy mt ngi nh chng ta c th cn bn thit k ca ngi nh . Khi cn xy mt ta nh cao tng, chng ta chc chn cn bn thit k ca to nh . iu ny cng ng trong lnh vc phn mm. H thng cng phc tp th vic xy dng m hnh cng quan trng. Xy dng m hnh cho php ngi thit k thy c bc tranh tng quan ca h thng, thy c cc thnh phn ca h thng tng tc vi nhau nh th no hn l vic sa ly vo chi tit bn trong ca cc thnh phn .

    Trong th gii lun bin ng ca cc ng dng hng i tng th vic pht trin v bo tr cc ng dng c cht lng cao trong mt khong thi gian hp l ngy cng tr nn kh khn hn. Mt t chc pht trin phn mm thnh cng l t chc xy dng c cc phn mm c cht lng, tho mn c mi yu cu ca khch hng.

    M hnh ha l phn trung tm trong cc cng vic, cc hot ng dn ti mt phn mm tt. Chng ta xy dng m hnh trao i, bn bc v cu trc v ng x(behavior) mong mun ca h thng. Chng ta xy dng m hnh trc quan ha cho php chng ta ch r cu trc v ng x ca h thng

    M hnh cho chng ta mt khun mu hng dn chng ta trong qu trnh xy dng h thng.

    M hnh a ra cc dn chng bng ti liu v cc quyt nh m chng ta a ra trong qu trnh thit k h thng.

    Thng qua vic m hnh ha, chng ta thu hp bi ton m chng ta ang nghin cu bng cch ch tp trung vo mt kha cnh ti mt thi im. iu ny cng ging nh phng php chia tr m Edsger Diskstra a ra: Gii quyt mt vn kh bng cch chia n thnh nhng bi ton nh hn m bn c th gii quyt c.

    M hnh ha l vic n gin ha thc t, loi b nhng im th yu, tuy nhin ta phi chc chn rng khng b st mt chi tit quan trng no.

    Ty thuc vo c im t nhin ca h thng, mi m hnh c th tp trung vo nhng mt khc nhau ca h thng. Nh h thng tp trung vo d liu th cc m hnh v phn thit k tnh ca h thng s c ch hn. Trong h thng giao din ngi dng th phn tnh v ng ca Use case s l quan

  • trng. Trong h thng thi gian thc, cc tin trnh ng l quan trng. Cui cng, trong h thng phn tn da trn c s Web th cc m hnh v thc thi v trin khai l quan trng nht.

    Unified Modeling Language l g?

    UML l mt ngn ng dng

    Trc quan ha C th ha Sinh m dng nguyn mu Lp v cung cp ti liu

    UML l mt ngn ng bao gm mt bng t vng v cc quy tc kt hp cc t vng phc v cho mc ch giao tip. Mt ngn ng dng cho vic lp m hnh l ngn ng m bng t vng( cc k hiu) v cc quy tc ca n tp trung vo vic th hin v mt khi nim cng nh vt l ca mt h thng.

    M hnh ha mang li s hiu bit v mt h thng. Mt m hnh khng th gip chng ta hiu r mt h thng, thng l phi xy dng mt s m hnh xt t nhng gc khc nhau. Cc m hnh ny c quan h vi nhau.

    UML s cho ta bit cch to ra v c hiu c mt m hnh c cu trc tt, nhng n khng cho ta bit nhng m hnh no nn to ra v khi no to ra chng. l nhim v ca quy trnh pht trin phn mm.

  • 1. UML l ngn ng dng trc quan ha

    i vi nhiu lp trnh vin, khng c khong cch no gia tng gii quyt mt vn v vic th hin iu thng qua cc on m. H ngh ra v h vit m. Trn thc t, iu ny gp mt s vn . Th nht, vic trao i v cc tng gia nhng ngi lp trnh s gp kh khn, tr khi tt c u ni cng mt ngn ng. Thm ch ngay c khi khng gp tr ngi v ngn ng th i vi tng cng ty, tng nhm cng c nhng ngn ng ring ca h. iu ny gy tr ngi cho mt ngi mi vo c th hiu c nhng vic ang c tin hnh. Hn na, trong lnh vc phn mm, nhiu khi kh c th hiu c nu ch xem xt cc on m lnh. V d nh s phn cp ca cc lp, ta c th phi duyt rt nhiu on lnh hiu c s phn cp ca cc lp. V nu nh ngi lp trnh khng m t cc tng m anh ta xy dng thnh m lnh th nhiu khi cch tt nht l xy dng li trong trng hp mt ngi khc m nhn tip nhim v khi anh ta ri khi nhm.

    Xy dng m hnh s dng ngn ng UML gii quyt c cc kh khn trn.

    Khi tr thnh mt chun trong vic lp m hnh, mi k hiu mang mt ngha r rng v duy nht, mt nh pht trin c th c c m hnh xy dng bng UML do mt ngi khc vit.

    Nhng cu trc m vic nm bt thng qua c m lnh l kh khn nay c th hin trc quan.

    Mt m hnh r rng, sng sa lm tng kh nng giao tip, trao i gia cc nh pht trin.

    2. UML l ngn ng dng chi tit ha

    C ngha l xy dng cc m hnh mt cc t m, r rng, y cc mc chi tit khc nhau. c bit l UML thc hin vic chi tit ho tt c cc quyt nh quan trng trong phn tch, thit k v thc thi mt h thng phn mm.

    3. UML l ngn ng dng sinh ra m dng nguyn mu

  • Cc m hnh xy dng bi UML c th nh x ti mt ngn ng lp trnh c th nh : Java, C++... thm ch c cc bng trong mt CSDL quan h hay CSDL hng i tng.

    Vic cc yu cu c kh nng thng xuyn thay i trong qu trnh pht trin h thng dn n vic cc cu trc v hnh vi ca h thng c xy dng c th khc m hnh m ta xy dng. iu ny c th lm cho mt m hnh tt tr nn v ngha v n khng cn phn nh ng h thng na. Cho nn phi c mt c ch ng b ha gia m hnh v m lnh.

    UML cho php cp nht mt m hnh t cc m thc thi.( nh x ngc). iu ny to ra s nht qun gia m hnh ca h thng v cc on m thc thi m ta xy dng cho h thng .

    4. UML l ngn ng dng lp v cung cp ti liu

    Mt t chc phn mm ngoi vic to ra cc on m lnh( thc thi) th cn to ra cc ti liu sau:

    Ghi chp v cc yu cu ca h thng Kin trc ca h thng Thit k M ngun K hoch d n Tests Cc nguyn mu ...

    5. ng dng ca UML

    Mc ch chnh ca UML l xy dng m hnh cho cc h thng phn mm, n c th c s dng mt cch hiu qu trong nhiu lnh vc nh:

    H thng thng tin doanh nghip (enterprise) Ngn hng v dch v ti chnh Vin thng Giao thng Hng khng v quc phng My mc in t dng trong y t Khoa hc Cc ng dng phn tn da trn Web

  • UML khng ch gii hn trong lnh vc phn mm. N cn c th dng lp m hnh cho cc h thng khng phi l phn mm nh h thng php lut (lung cng vic - workflow), thit k phn cng, ...

    6. Cc thnh phn ca UML

    6.1. Cc phn t mang tnh cu trc

    Lp (Class) L mt tp hp cc i tng c cng mt tp thuc tnh, cc hnh vi, cc mi quan h vi nhng i tng khc.

    Hp tc (Collaboration) Th hin mt gii php thi hnh bn trong h thng, bao gm cc lp/ i tng mi quan h v s tng tc gia chng t c mt chc nng mong i ca Use case.

    Giao din (Interface) L mt tp hp cc phng thc (operation) to nn dch v ca mt lp hoc mt thnh phn (component). N ch ra mt tp cc operation mc khai bo ch khng phi mc thc thi (implementation).

  • Use case

    l m t mt tp hp ca nhiu hnh ng tun t m h thng thc hin t c mt kt qu c th quan st c i vi mt actor c th no . Actor l nhng g bn ngoi m tng tc vi h thng. Use case m t s tng tc gia actor v h thng. N th hin chc nng m h thng s cung cp cho actor. Tp hp cc Use case ca h thng s to nn tt c cc trng hp m h thng c th c s dng.

    Lp tch cc (Acitive class) l mt lp m cc i tng ca n thc hin cc hot ng iu khin. Lp tch cc cng ging nh lp bnh thng ngoi tr vic cc i tng ca n th hin cc phn t m ng x ca chng c th thc hin ng thi vi cc phn t khc. Lp ny thng dng biu din tin trnh(process) v lung(thread)

    Thnh phn (Component) l biu din vt l ca m ngun. Trong h thng ta s thy cc kiu khc nhau ca component nh cc thnh phn COM+ hay JavaBeans cng nh l cc thnh phn nh cc file m ngun, cc file nh phn to ra trong qu trnh pht trin h thng.

  • Nodes

    l th hin mt thnh phn vt l nh l mt my tnh hay mt thit b phn cng.

    6.2. Cc phn t th hin hnh vi

    Tng tc (Interaction) bao gm mt tp cc thng bo(message) trao i gia cc i tng trong mt ng cnh c th no thc hin mt chc nng no .

    My chuyn trng (States machine) th hin cc trng thi ca mt i tng trong thi gian sng ca n nhm p ng cc s kin, cc tc ng t bn ngoi.

    6.3 Phn t mang tnh nhm (Group) Gi (Package) Dng nhm cc phn t c mt ngha chung no vo thnh nhm. Khng ging nh cc thnh phn (component - tn ti trong lc thc thi), mt package ch mang tnh tru tng. Package dng nhn h thng mt mc tng qut hn so vi vic xem xt tng phn t trong package.

  • Annotational (mang tnh cht gii thch): l cc ch thch dng m t, lm sng t v ghi ch v bt c phn t no trong m hnh. Thng dng nht l Note gm cc rng buc hoc ghi ch, c gn vi mt phn t hoc mt tp hp cc phn t.

    6.4 Cc mi quan h (Relationships) Quan h Ph thuc (Dependency) Th hin mi quan h m : nu c mt s thay i i tng c lp s nh hng ti i tng ph thuc. K hiu:

    Quan h Kt hp ( Association) L mi quan h lin kt gia 2 lp. Ni mt cch n gin, khi mt i tng ca lp ny gi thng ip ti hoc nhn thng ip t mt i tng ca lp kia th ta ni gia 2 lp c mi quan h association.

    Quan h Tp hp (Aggreagation)

  • l mt dng c bit ca quan h lin kt. N th hin s lin kt cht hn, l mi quan h ton th-b phn.

    Quan h Gp (Composition) l mt dng c bit ca quan h aggregation. Trong nu nh i tng ton th b hy th cc i tng b phn ca n cng b hy theo.

    Quan h Tha k (Generalization) l mi quan h tng qut ha/ c th ha, trong i tng c th s k tha cc thuc tnh v phng thc( behavior) ca i tng tng qut.

    Quan h Hin thc ha (Realization) Mi quan h gia interface v class hay component hin thc ho n hoc mi quan h gia Use case v Collaboration hin thc ha Use case .

    6.5 Cc biu (Diagrams) Biu lp (Class Diagram) Bao gm mt tp hp cc lp, cc giao din, cc collaboration v mi quan h gia chng. N th hin mt tnh ca h thng.

    Biu i tng (Object Diagram) Bao gm mt tp hp cc i tng v mi quan h gia chng. i tng l mt th hin ca lp, biu i tng l mt th hin ca biu lp.

    Biu Use case (Use Case Diagram)

  • Khi nim actor: l nhng ngi, h thng khc bn ngoi phm vi ca h thng m c tng tc vi h thng.

    Biu Use case bao gm mt tp hp cc Use case, cc actor v th hin mi quan h tng tc gia actor v Use case. N rt quan trng trong vic t chc v m hnh ha hnh vi ca h thng

    Biu trnh t (Sequence Diagram) l mt dng biu tng tc (interaction), biu din s tng tc gia cc i tng theo th t thi gian. N m t cc i tng lin quan trong mt tnh hung c th v cc bc tun t trong vic trao i cc thng bo(message) gia cc i tng thc hin mt chc nng no ca h thng.

    Biu hp tc (Collaboration) Gn ging nh biu Sequence, biu Collaboration l mt cch khc th hin mt tnh hung c th xy ra trong h thng. Nhng n tp trung vo vic th hin vic trao i qua li cc thng bo gia cc i tng ch khng quan tm n th t ca cc thng bo . C ngha l qua chng ta s bit c nhanh chng gia 2 i tng c th no c trao i nhng thng bo g cho nhau.

    Biu chuyn trng thi (Statechart) Ch ra mt my chuyn trng, bao gm cc trng thi, cc bc chuyn trng v cc hot ng. N c bit quan trng trong vic m hnh ha hnh vi ca mt lp giao din(interface class) hay collaboration v n nhn mnh vo cc p ng theo s kin ca mt i tng, iu ny rt hu ch khi m hnh ha mt h thng phn ng(reactive).

    Biu hot ng (Activity) L mt dng c bit ca biu chuyn trng. N ch ra lung i t hot ng ny sang hot ng khc trong mt h thng. N c bit quan trng trong vic xy dng m hnh chc nng ca h thng v nhn mnh ti vic chuyn i quyn kim sot gia cc i tng

    Biu thnh phn (Component)

  • ch ra cch t chc v s ph thuc ca cc thnh phn(component). N lin quan ti biu lp, trong mt thnh phn thng nh x ti mt hay nhiu lp, giao din , collaboration.

    Quan h Tha k (Generalization) ch ra cu hnh ca h thng khi thc thi.

    7. Cc quy tc ca UML

    Cc thnh phn ca UML khng th ngu nhin t cnh nhau. Nh bt c mt ngn ng no, UML c nhng quy tc ch ra rng mt m hnh tt s nh th no. Mt m hnh tt l m hnh mang tnh nht qun v c s kt hp hi ha gia cc m hnh c lin quan ca n.

    UML c mt s quy tc dnh cho vic:

    t tn: c th truy xut cc phn t ca m hnh th phi t tn cho chng nh tn ca cc quan h, biu ...

    Xc nh phm vi: ng cnh mang li mt ngha c th cho mt ci tn

    Tnh nhn thy c: c c s n gin v d kim sot th nhng ng cnh khc nhau cn ch ra rng mt ci tn l hin hu v c s dng bi nhng i tng khc nh th no.

    Tnh ton vn: mi th quan h mt cch ng n v nht qun vi nhau nh th no.

    8. Cc k thut chung ca UML

    8.1 C th ha

    Nh trnh by phn trn, vic th hin trc quan gip chng ta hiu vn d dng hn ch khng c ngha l cc m t bng li l khng c ch.Cho nn UML khng ch l mt tp cc k hiu ha. Bn cnh cc k hiu ha cn c cc pht biu bng li ch r ng ngha ca cc k hiu . V d nh trong k hiu ca mt lp( mt hnh ch nht) cn c th c ch r ra cc thuc tnh, cc phng thc ca lp .

    8.2 Trang tr

  • Tt c cc phn t trong UML u c mt hnh dng phn bit i vi cc phn t khc. ng thi chng cng c thit k th hin nhng mt quan trng nht ca i tng. V d nh k hiu cho mt lp l mt hnh ch nht rt d v bi v lp l mt thnh phn quan trng, xut hin rt nhiu trong cc m hnh hng i tng. V k hiu ny th hin c c 3 thnh phn quan trng ca lp l tn lp, cc thuc tnh v cc phng thc ca n. Ngoi ra n cn bao gm cc chi tit nh: lp c phi l lp tru tng khng, cc thuc tnh, phng thc ca n thuc loi g (public, private hay protected). Ni tm li cc k hiu trong UML gip ta nhn bit cc c im quan trng ca i tng, khi nim c m t mt cch d dng v nhanh chng.

    8.3 Phn chia

    Phn bit r phn tru tng v c th.

    Trc tin l lp v i tng. Mt lp l mt s tru tng ha, mt i tng l mt th hin c th ca s tru tng . Trong UML ta c th m hnh lp v i tng.

    C rt nhiu th tng t. V d nh mt Use case v mt th hin ca Use case, mt component v mt th hin ca component

    8.4 K thut m rng

    UML cung cp nhng thnh phn c bn lp nn mt m hnh cho mt phn mm. Nhng n khng th no bao qut ht theo thi gian mi m hnh trong mi lnh vc. Do UML c thit k m theo ngha l ngi dng c th m rng mt s thnh phn c th p dng mt cch tt nht cho h thng ca h m li khng phi thay i hay thit k li cc thnh phn c s ca UML. C ch bao gm:

    Stereotypes (khun mu): m rng tp t vng ca UML, cho php to nhng thnh phn mi k tha nhng c im ca nhng thnh phn c ng thi cha thm nhng c im ring gn vi mt bi ton c th no .

    Tagged values (gi tr th): m rng thuc tnh ca cc thnh phn ca UML, n cho php ta to thm nhng thng tin mi v mt phn t. V d nh khi lm vic hp tc to ra mt sn phm, ta mun ch ra cc phin bn v tc gi ca mt i tng no . iu ny

  • khng c xy dng sn trong UML m c th thc hin thng qua vic thm vo mt gi tr th.

    Constraints (rng buc): m rng ng ngha ca cc thnh phn ca UML, cho php to ra nhng quy tc mi hoc sa cha nhng quy tc c.

    9. Kin trc ca h thng

    Khi xem xt mt h thng, chng ta cn xy dng cc m hnh t nhng kha cnh khc nhau, xut pht t thc t l nhng ngi lm vic vi h thng vi nhng vai tr khc nhau s nhn h thng t nhng kha cnh khc nhau.

    UML xt h thng trn 5 kha cnh:

    1. Use-Case View

    Bao gm cc Use Case m t ng x ca h thng theo cch nhn nhn ca ngi dng, ngi phn tch h thng. N khng ch ra cch cu trc ca h thng phn mm, n ch dng nhn nhn mt cch tng qut nhng g m h thng s cung cp, thng qua ngi dng c th kim tra xem cc yu cu ca mnh c p ng y hay cha hoc c chc nng no ca h thng l khng cn thit. Biu dng n l biu Use Case.

    2. Logical View

    c dng xem xt cc phn t bn trong h thng v mi quan h, s tng tc gia chng thc hin cc chc nng mong i ca h thng.

  • 3. Process View

    Chia h thng thnh cc tin trnh(process) v lung(thread), m t vic ng b ha v cc x l ng thi. Dng cho ngi pht trin v tch hp h thng, bao gm cc biu sequence, collaboration, activity v state.

    4. Implementation View

    Bao gm cc component v file to nn h thng vt l. N ch ra s ph thuc gia cc thnh phn ny, cch kt hp chng li vi nhau to ra mt h thng thc thi.

    5. Deployment View

    Ch ra cu hnh phn cng m h thng s chy trn . N th hin s phn tn, ci t cc phn m to nn kin trcvt l ca h thng. Biu c s dng l biu Deployment.

  • UML Bi 2: Tm Use Case

    ng x ca h thng, tc l nhng chc nng m h thng cung cp s c m t trong m hnh Use case. Trong m t nhng chc nng (Use case), nhng thnh phn bn ngoi( Actor) tng tc vi h thng v mi quan h gia Use case v Actor (biu Use case).

    Mc ch quan trng nht ca m hnh Use case l phc v cho vic trao i thng tin. N cung cp phng tin khch hng, nhng ngi dng tng lai ca h thng v nhng ngi pht trin h thng c th trao i vi nhau v bin nhng yu cu v mt nghip v ca ngi dng thnh nhng yu cu c th m lp trnh vin c th hiu mt cch r rng.

    Actor

    1. nh ngha actor

    Actor khng phi l mt phn ca h thng. N th hin mt ngi hay mt h thng khc tng tc vi h thng. Mt Actor c th:

    Ch cung cp thng tin cho h thng. Ch ly thng tin t h thng. Nhn thng tin t h thng v cung cp thng tin cho h thng

    2. M t

    Thng thng, cc actor c tm thy trong pht biu bi ton bi s trao i gia phn tch vin vi khch hng v cc chuyn gia trong lnh vc(domain expert). Cc cu hi thng c s dng xc nh actor cho mt h thng l:

    i vi mt vn c th no th Ai l ngi quan tm ? H thng c dng ni no trong t chc? Ai l ngi c li khi s dng h thng? Ai l ngi cung cp thng tin cho h thng, s dng thng tin ca h

    thng v xa cc thng tin ? Ai l ngi h tr v bo tr h thng? H thng c s dng ngun lc no t bn ngoi?

  • C ngi no ng mt vi vai tr trong h thng? C th phn thnh 2 actor

    C vai tr no m nhiu ngi cng th hin? C th ch l mt actor H thng c tng tc vi cc h thng no khc khng?

    C 3 loi Actor chnh l:

    Ngi dng. V d: sinh vin, nhn vin, khch hng... H thng khc. S kin thi gian. V d: Kt thc thng, n hn...

    iu g to nn mt tp hp Actor tt?

    Cn phi cn nhc k lng khi xc nh actor ca h thng. Cng vic ny thng c thc hin lp i lp li. Danh sch u tin v cc actor him khi l danh sch cui cng.

    V d nh trong bi ton ng k cc mn hc ca mt trng i hc, c mt cu hi l liu cc sinh vin mi vo trng l mt actor v sinh vin c l mt actor khc? Gi s cu tr l c th bc tip theo l xc nh xem cch thc m hai actor ny tng tc vi h thng. Nu chng s dng h thng theo nhng cch khc nhau th chng l hai actor ngc li s ch l mt actor m thi.

    M t Actor:

    Vic m t mt cch ngn gn v mi actor cn thm vo m hnh. M t ny cn ch r vai tr ca actor khi tng tc vi h thng. V d:

    Sinh vin: l nhng ngi ng k hc cc lp trng i hc.

    3. K hiu

    Actor cng c mi quan h k tha. V d nh c th c hai actor l nhn vin tr lng thng, nhn vin lm hp ng. C hai u thuc mt kiu l Nhn vin. Actor Nhn vin l mt actor tru tng v n khng c mt th hin no trong thc t, n c dng ch ra rng c mt s im chung gia hai actor trn.

    Ni chung vic m t quan h k tha gia cc Actor l khng cn thit, tr trng hp chng thc hin nhng tng tc khc nhau i vi h thng.

  • V d:

    Use case

    1. nh ngha

    L mt khi chc nng c thc hin bi h thng mang li mt kt qu c gi tr i vi mt actor no .

    2. M t

    Use case m t s tng tc c trng gia ngi dng v h thng. N th hin ng x ca h thng i vi bn ngoi, trong mt hon cnh nht nh, xt t quan im ca ngi s dng. N m t cc yu cu i vi h thng, c ngha l nhng g h thng phi lm ch khng phi m t h thng lm nh th no. Tp hp tt c Use case ca h thng s m t tt c cc trng hp m h thng c th c s dng.

    Mt Use case c th c nhng bin th. Mi mt bin th c gi l mt kch bn (scenario). Phm vi ca mt Use case thng c gii hn bi cc hot ng m ngi dng thc hin trn h thng trong mt chu k hot ng thc hin mt s kin nghip v.

    Mt Use case m t mt nghip v thng thng. Nghip v ny bao gm cc bc ring r, cn c gi l cc hot ng. Khi cc bc c m t di dng vn bn th vic ch ra s ph thuc gia cc bc l mt vic mt nhiu thi gian. Vic th hin cc bc di dng k hiu l d dng v d hiu hn. Do Use case thng c m t chi tit thng qua cc biu m t hnh vi (behavior) nh biu hot ng (activity diagram), biu trnh t (sequence diagram), biu hp tc(collaboration diagram).

  • Use case cng c th c m t thng qua cc thit k nguyn mu mn hnh, cc v d v biu mu bo co. iu ny gip cho ngi dng d dng mng tng h thng s lm vic nh th no, qua c th kim tra tnh ng n ca Use case.

    Cc cu hi thng c s dng xc nh Use Case cho mt h thng l:

    Nhim v ca mi actor l g? C actor no s to, lu tr, thay i, xa hoc c thng tin trong h

    thng? C actor no cn bo tin cho h thng v mt thay i t ngt t bn

    ngoi? C actor no cn c thng bo v mt s vic c th xy ra trong h

    thng? Trng hp s dng no s h tr v bo tr h thng? Tt c cc yu cu v mt chc nng c c th hin ht thng qua

    cc trng hp s dng cha?

    iu g to nn mt Use Case tt

    C mt cu hi thng xuyn c t ra v mc chi tit ca Use case. N nn mc no l tt. C l khng c cu tr li hon ton ng, nhng c mt s nhn xt nh sau: "Mt Use case thng biu hin mt chc nng c thc hin trn vn (khng ngt qung) t u n cui. Mt Use case phi mang li mt iu g c gi tr i vi actor".

    M t Use case

    Use case cn c mt vi cu ngn gn m t mc ch ca Use case, cho ta bit chc nng do Use case cung cp.

    3. K hiu

    Mt Use case c th hin bi mt hnh ellip km theo tn ca Use case. Ngoi ra cn c th c thm cc ch thch m t chi tit hn v ngha ca Use case. Mi Use case trong h thng c tn phn bit duy nht. Use case c th c nh s thun tin cho vic tra cu nhanh trn biu hoc trong ti liu m t.

    V d:

  • 4. Lung s kin cho mt Use case (The Flow of events) Use case ch cung cp mt khung nhn mc cao, tng qut. hiu r hn h thng cn phi lm g th cn phi m t chi tit hn, gi l lung s kin. N l mt ti liu m t cc hot ng cn thit t c ng x mong i ca Use case.

    Tuy l m t chi tit nhng lung s kin vn c vit sao cho c th ch ra nhng g h thng cn lm ch khng phi ch ra h thng lm nh th no.

    V d: trong lung s kin chng ta ni Kim tra m ca ngi dng ch khng ni rng vic phi thc hin bng cch xem xt trong mt bng no trong c s d liu. N m t chi tit nhng g ngi dng ca h thng s lm v nhng g h thng s lm. N cn phi cp ti:

    Use case bt u v kt thc khi no v nh th no C nhng s tng tc no gia Use case v actor thc hin chc

    nng . Nhng d liu no cn thit cho Use case Th t thc hin thng thng ca cc s kin Cc m t v cc lung ngoi l hoc r nhnh.

    Mi d n cn c mt mu chun cho vic to ti liu v lung s kin. C th dng theo mu n gin nh sau:

    X. Lung s kin cho Use case ABC X1. iu kin bt u: danh sch nhng iu kin phi tha mn

    trc khi Use case c thc hin. V d nh: mt Use case khc phi thc hin trc khi Use case ny c thc hin hay ngi dng phi c quyn thc hin Use case ny. Khng nht thit mi Use case u phi c iu kin bt u.

    X2. Lung chnh: m t nhng bc chnh s xy ra khi thc hin Use case.

    X3. Cc lung ph( lung con). X4. Cc lung r nhnh.

  • Trong X l s th t ca Use case trong h thng.

    V d: Lung s kin m t Use case cho h thng rt tin t ng nh sau:

    1.1 iu kin bt u.

    1.2 Lung chnh:

    1.2.1 Ngi dng a th vo my.

    1.2.2. My hin thng bo cho mng v yu cu nhp m s

    1.2.3 Ngi dng nhp m s

    1.2.4 My xc nhn m s ng. Nu nhp sai m s, lung r nhnh E-1 c thc hin.

    1.2.5 My hin ra ba la chn:

    Rt tin: lung con A-1 Chuyn tin: lung con A-2 Thm tin vo ti khon: lung con A-3

    1.2.6 Ngi dng chn rt tin

    1.3. Lung con:

    1.3.1 Lung con A-1:

    1.3.1.1 My hi s lng tin cn rt

    1.3.1.2 Ngi dng nhp s tin cn rt

    My kim tra trong ti khon c tin khng. Nu khng lung r nhnh E-2 c thc hin

    ....

    1.4. Lung r nhnh:

    1.4.1 E-1: Ngi dng nhp sai m s

  • My thng bo l ngi dng nhp sai m s yu cu ngi dng nhp li hoc hy b giao dch.

    1.4.2 E-2: Khng tin trong ti khon...

    //////////////////////////////////////////////

    Cc mi quan h

    1. Quan h gia Use case v Actor: Thng gi l quan h tng tc v n th hin s tng tc gia mt actor v mt Use case. Mi quan h ny c th l hai chiu (t Actor n Use case v ngc li), n cng c th ch l mt chiu, lc chiu ca quan h s ch ra rng ai l ngi khi to lin lc (communicate). Quan h ny th hin bi mt ng thng ni gia actor v Use case (quan h hai chiu) hay mt mi tn (quan h mt chiu).

    2. Quan h gia Use case vi Use case: C ba loi quan h sau: uses, extends v generalization.

    Quan h Uses (s dng): C th c nhiu Use case c chung mt s chc nng nh. Khi nn tch chc nng thnh mt Use case ring hn l m t n trong tt c cc Use case m cn chc nng . Khi c mt quan h Uses gia cc Use case trn v Use case va to ra.

    V d: trong h thng qun l th vin, mi Use case u bt u bng vic kim tra nh danh ca ngi dng. Chc nng ny c th m t trong mt Use case tn l ng nhp h thng, sau cc Use case khc s s dng Use case ny khi cn thit.

    Quan h Extends (m rng): Khng ging nh quan h Uses trong ni rng khi mt Use case A s dng Use case B c ngha l trong khi thc hin Use case A phi thc hin Use case B, quan h Extends dng ch:

  • Cc hnh vi ty chn: c th thc hin hoc khng. V d: khi gi email c th thc hin cc thao tc bo mt ni dung th hoc l khng. Ta c Use case Bo mt c quan h extends vi Use case Gi email.

    Cc hnh vi m ch thc hin trong mt s iu kin nht nh. V d nh: Khi thm sch mi trong th vin th phi nhp cc t kha cho n, nu t kha cha c phi thc hin thm t kha ri mi tip tc thc hin thm cc thng tin v sch. Ta c Use case Thm t kha c quan h extends Use case Thm sch.

    Mt s hnh vi khc s c thc hin ph thuc vo s la chn ca ngi dng. V d nh: ngi dng ca h thng rt tin t ng c th chn Rt tin nhanh hoc Rt tin theo cch bnh thng. Ta c Use case Rt tin nhanh c quan h extends vi Use case Rt tin.

    Quan h Generalization (tha k): Cng ging nh quan h tha k gia hai lp, quan h tha k gia use case A v use case B ni ln rng use case B k tha nhng c im ca use case A ngoi ra n cng c th c thm nhng c trng ring ca n.

    V d: nh kim tra nh danh ngi dng c th theo nhiu cch: Kim tra m s, kim tra du vn tay...

    Khi c hai u thc hin mt s hnh ng tng i ging nhau ca mt lp hnh ng gi l Kim tra nh danh ngi dng.

    Biu use case (Use case Diagram) 1. nh ngha

    L biu th hin s tng tc, mi quan h gia cc Use case v actor trong h thng.

    2. M t

    Mi h thng thng c mt biu Use case chnh th hin phm vi ca h thng v cc chc nng chnh ca h thng. S lng cc Use case khc c to ra s ty thuc vo yu cu. C th l:

  • Mt biu th hin tt c cc Use case lin quan n mt actor no

    Mt biu th hin tt c cc Use case c ci t trong mt giai on pht trin.

    Mt biu th hin mt Use case v tt c cc mi quan h ca n.

    Tuy nhin nn cn nhc cc biu th hin cc thng tin cn thit, nu qu nhiu biu s gy ra s nhm ln v mt i li ch ca vic n gin ha. Tp hp cc Use case gip cho khch hng d dng xem xt mc tng qut h thng m ta s xy dng. Mt h thng thng thng c t 20 n 50 Use case.

    3. K hiu

    Mt biu Use case bao gm mt tp cc Use case v actor. Gia Use case v actor c mt ng ni nu nh actor khi u mt Use case.

    Biu Use case c th lng nhau, c ngha l mt Use case trong mt biu Use case c th c phn nh ra thnh nhng Use case khc, nm trong mt biu Use case khc.

    V d:

    H thng qun l d n v ngun nhn lc. C bn Actor l Resource Manager (Ngi qun l ngun nhn lc), Project Manager (Ngi qun l d n), System Administrator (Ngi qun tr h thng) v Backup System(h thng sao lu d liu).

    Hnh 1-1 l biu use case mc tng qut, cung cp mt bc tranh ton cnh v cc actor v use case ca h thng. Hnh 1-2 chi tit ha use case "Qun l ngun nhn lc" bng cch ch ra cc use case m actor Resource Manager mong mun h thng. Resource Manager c th thm mi, sa, xa cc thng tin v k nng ca nhn vin. Mt k nng phi c tm ra trong c s d liu trc khi n c xa hoc sa nn use case FindSkill c to ra. Hai use case UpdateSkill v RemoveSkill u s dng chc nng ca use case FindSkill nn chng c quan h uses vi use case ny.

    Resource Manager cng c th thm, xa, sa cc thng tin v nhn vin. Khi cp nht thng tin v mt nhn vin, Resource Manager c th la chn: thm k nng cho mt nhn vin hay xa b mt k nng ca mt nhn vin. Do hai use case UnassignSkill from Resource v use case AssignSkill to

  • Resource c quan h extends vi use case UpdateResource ch ra chng l hai kh nng la chn ca use case ny.

    Hnh 1-1: biu Use case mc tng qut.

    Ta c th xy dng thm cc biu chi tit hn.

  • Hnh v 1-2: biu Use case Manage Resource mc chi tit hn.

    Nhn vo biu trn ta thy r tc dng ca n trong vic trao i thng tin vi khch hng. Khch hng c th bit r nhng chc nng no s c h thng cung cp. Nhn vo cc actor h c th bit chnh xc ai s tng tc vi h thng. Vic ny s gip h tm ra cc chc nng cn thiu. V d nh: Khch hng c th ni rng: khng, cc chc nng trn rt hay nhng ti cn mun xem 10 nhn vin lm vic lu nm nht trong cng ty. V nh vy cc chc nng ca h thng s d dng nm bt v t c s nht tr vi khch hng m khng phi bt khch hng c qu nhiu ti liu k thut nh trc.

  • UML Bi 3: Tm lp (Class)

    i tng (object) nh ngha

    i tng l khi nim dng m hnh ha mt vt hoc mt khi nim trong th gii thc.

    M t

    Khi nghin cu i tng cn ch ti 3 c im l: trng thi (state), ng x (behavior) v nh danh (indentity) ca i tng.

    Trng thi:

    tp d liu, thng tin m t i tng. Trng thi l mt trong nhng kh nng m i tng c th tn ti. Trng thi ca i tng thay i theo thi gian v c nh ngha bi mt tp cc thuc tnh, gi tr ca cc thuc tnh cng vi cc mi quan h ca i tng vi cc i tng khc. V d nh i tng Danh sch ng k mn hc trong h thng ng k lp hc ca mt trng i hc c th c hai trng thi m v ng. Nu s lng sinh vin ng k cn nh hn s ti a cho php th trng thi ca i tng l m, khi t n s lng sinh vin ti a cho mt lp hc th i tng chuyn sang trng thi ng.

    ng x:

    dng nh ngha cch ng x ca i tng i vi nhng yu cu t cc i tng khc. ng x ca mt i tng th hin thng qua mt tp cc php ton(operation) ca i tng.

    nh danh:

    mi i tng l duy nht, gia cc i tng phi c s phn cch r rng, cc i tng khc nhau c nh danh khc nhau, cc nh danh ny khng ph thuc vo trng thi hay ng x ca i tng

    K hiu

  • Trong UML i tng c th hin bi mt hnh ch nht, tn ca i tng c gch chn.

    Lp (Class) nh ngha

    Lp l nh ngha ca mt tp hp cc i tng c chung cc thuc tnh, cc ng x v ng ngha. Nh vy lp l mt khun mu to ra i tng. Mi i tng l mt th hin ca mt lp v mt i tng khng th l th hin ca nhiu hn mt lp.

    M t

    Lp l khi nim quan trng nht trong hng i tng. Xy dng c mt tp hp lp tt s to nn mt h thng tt. Tuy nhin vic tm lp khi phn tch mt h thng khng phi l vic n gin. Khng c mt phng php hon chnh tm lp. Tuy nhin c mt cch rt hiu qu tm cc lp ca mt h thng. l vic tm cc lp Thc th (Entity), lp Ngoi bin (Boundary) v lp iu khin (Control).

    Lp thc th (Entity Class) Lp thc th dng m hnh ha cc thng tin lu tr lu di trong h thng. N thng c lp vi cc i tng khc xung quanh, c ngha l n khng quan tm ti vic cc i tng xung quanh tng tc vi h thng nh th no. Do n thng c kh nng s dng li. V d nh lp Sinh vin, lp ny c th c trong h thng qun l im, h thng ng k hc, h thng qun l th vin... ca mt trng i hc. Cc danh t, cm danh t m t v cc trch nhim (responsibility) trong lung s kin l mt ni d pht hin lp thc th. Danh sch cc danh t ban u c th c xem xt loi b ra nhng danh t bn ngoi lnh vc bi ton, nhng danh t trng lp...Cc lp thc th thng c gi l lp lnh vc bi v n thng dng m t cc i tng, cc khi nim lin quan n lnh vc ca h thng ang xy dng.

    K hiu:

  • Lp bin (Boundary Class) Dng nm gi s tng tc gia phn bn ngoi vi phn bn trong ca h thng. Chng cung cp giao din cho mt ngi dng hay mt h thng khc tng tc vi h thng. Mi mt tng tc gia cp Actor/ Use case i hi t nht l mt lp bin.

    K hiu:

    Lp iu khin (Control Class) Th hin trnh t ng x ca h thng trong mt hay nhiu Use case. Lp ny dng iu phi cc hot ng cn thc hin hin thc ha chc nng ca mt Use case.

    Cn thn trng trong vic s dng lp iu khin. Nu mt lp iu khin lm nhiu hn vic iu phi cc hot ng th n c thit k sai vi bn cht n.

    K hiu:

    Ngoi ra cn c cch phn loi nh sau: lp thng thng, lp tru tng (abstract class), lp tham s (parameterized class), lp th hin (instantiated class), lp tin ch (utilities class), lp tin ch tham s (parameterized utilities class), lp th hin tin ch (instantiated utilities class).

    Lp tham s (parameterized class): l lp dng to ra mt h cc lp c cc ng x c chung ngha nhng thc hin trn cc tp d liu khc nhau.

  • V d :

    Lp th hin (instantiated class): khi ta gn mt gi tr c th cho tham s ca lp tham s, ta c mt lp th hin. Nh trn ta c lp List dng m t mt danh sch v cc php ton lin quan ti danh sch nh thm mt phn t vo danh sch, xa mt phn t khi danh sch, duyt danh sch. By gi ta cho mt gi tr c th l nhn vin, ta c danh sch nhn vin.

    Lp tin ch (utilities class): l mt tp hp cc php ton. V d nh ta c mt s hm ton hc : ly bnh phng, ly cn... m c dng nhiu ni trong h thng, khi cc hm ny c nhm li v ng kn trong mt lp gi l lp tin ch. Lp tin ch thng c dng m rng tnh nng ca ngn ng lp trnh, lu gi cc hm c th ti s dng cho nhiu h thng.

    Lp tin ch tham s (parameterized utilities class): cng ging nh lp tin ch, n bao gm mt tp hp cc hm hay dng nhng ch mt lp tc ng tng qut ch khng ch r kiu d liu m n s thao tc.

    Lp th hin tin ch (instantiated utilities class): khi cho mt gi tr c th cho lp tin ch tham s ta c mt lp th hin tin ch. V d

    Lp tru tng (abstract class): l lp c thit k mc tru tng cao nht, n cha nhng thuc tnh, nhng hnh vi chung cho nhiu lp con khc. Lp tru tng c to

  • ra ch cho cc lp khc k tha n, nhng phng thc khai bo trong lp tru tng khng c ci t m chng ch c ci t cc lp con. Cho nn khng c mt i tng no c to ra t lp tru tng.

    Phn b trch nhim gia cc lp

    M hnh l mt tp hp ca rt nhiu lp, chng ta cn m bo rng c mt s phn b trch nhim tng i cng bng gia cc lp. iu c ngha l khng c lp no qu ln hoc qu nh. Mi lp cn phi lm tt mt cng vic. Nu c nhiu lp qu ln, chng ta s thy rng m hnh rt kh thay i v s dng li. Nu c nhiu lp qu nh, chng ta s kh c kh nng kim sot v hiu ht ngha ca chng. gii quyt vn ny, chng ta nn thc hin cc bc sau:

    Xc nh mt tp hp cc lp m cng vic tng i lin quan vi nhau thc hin mt s ng x no .

    Xc nh mt tp hp cc trch nhim cho mi lp. Xem xt tng lp mt, nu lp no qu ln th tch n ra thnh nhng

    lp nh hn, tp hp nhng lp nh thnh mt lp ln hn v phn phi trch nhim mt cch hp l gia cc lp.

    Cn nhc cch thc m nhng lp ny hp tc vi nhng lp khc, phn phi li cc trch nhim nu thy cn thit. Cng vic ny thc hin lp i, lp li cho ti lc cm thy tng i ph hp, n ph thuc nhiu vo kinh nghim thc t.

    M t lp

    Trong qu trnh phn tch, c nhiu lp c to ra, do cn c mt m t cho mi lp hiu r mc ch ca lp l lm g, trnh s nhm ln. M t lp cn ch ra mc ch ca lp ch khng phi cu trc ca lp.

    K hiu:

  • c th hin bi mt hnh ch nht, c cc phn ngn cch gia tn, thuc tnh, phng thc ca lp.

    V d:

    Lp Ngi c: Lp ny cha cc thng tin cn thit v ngi c, phc v cho vic mn sch. Ngi c l ngi ng k vi th vin v mn sch ca th vin.

    Mt m t ti s nh sau:

    Lp Ngi c: Lp ny gm c tn ngi c, a ch...

    Gi (Packages) Nu h thng ch c mt vi lp th ta c th d dng qun l chng. Tuy nhin hu ht cc h thng u c kh nhiu lp v do ta cn c mt c ch nhm chng li cho d s dng, qun l v s dng li. Mt gi( package) l mt tp hp cc lp hay cc gi c lin quan vi nhau. Qua vic nhm lp li theo gi, ta c th nhn m hnh mc tng qut hn v khi cn ta c th xem chi tit cc lp trong mt gi.

    Trong UML mt gi k hiu nh sau:

    Biu lp (Class Diagram) Khi c nhiu lp thm vo m hnh, biu lp c to ra cung cp mt bc tranh m t mt s hoc tt c cc lp trong m hnh. Thng c mt biu chnh th hin cc gi trong m hnh. Mi gi li c mt biu chnh ca gi m t cc lp trong gi v mi quan h gia chng. S lng biu lp l tu .

  • Thng thng c mt s cch dng nh sau:

    Th hin cu trc v ng x ca mt hay nhiu lp. Th hin mi quan h tha k gia cc lp.

    Biu lp l mt cng c hu hiu trong vic thit k. N gip cho lp trnh vin xem xt v ln thit k v cu trc ca h thng trc khi vit m lnh.

    V d:

    Mt d n c nhiu hot ng (activity) v mt hot ng c nhiu nhim v(task). Quan h gp (composition) gia d n v hot ng ch ra rng cc hot ng phi gn vi mt d n, nu d n b hy b th cc hot ng cng b hy b.

    Biu lp dng tng qut.

  • Biu lp mc chi tit

    Nhng ngi pht trin s dng biu lp xy dng cc lp. Mt s cng c CASE s gip to ra m khung cho cc lp v ngi pht trin s chi tit ha bng ngn ng lp trnh m h chn. Phn tch vin s dng biu lp xem h thng mc chi tit. Cc kin trc s h thng s xem thit k ca h thng. Nu c mt lp c qu nhiu chc nng, h c th cn nhc tch lp ra thnh cc lp con

  • Phn tch h thng thng tin hng i tng vi UML

    Trong chng trc, cc bi vit cp ti tm quan trng ca vic lp m hnh v s h tr ca UML trong vic lp m hnh nh th no. Tuy nhin nhim v chnh ca UML l ng vai tr mt ngn ng m hnh ha thng nht, trc quan, chun ha cc k hiu, ng ngha ca cc m hnh v cc biu khi th hin cc i tng, cc s kin trong th gii thc v trong lnh vc my tnh ch khng ch ra cho ngi dng bit vic lp m hnh cho mt h thng phi theo cc bc nh th no. chnh l mc ch ca mt phng php phn tch, thit k hng i tng.

    Hng i tng l mt cch tip cn khc vi cch tip cn c cu trc truyn thng. Vi cch tip cn hng i tng, ta chia ng dng thnh cc i tng, tng i c lp vi nhau. Sau ta c th xy dng h thng bng cch kt hp chng li vi nhau. Mt trong nhng u im ca phng php ny l tnh s dng li. Ta c th xy dng cc i tng mt ln v dng chng trong nhiu ng dng. Hn th na cc i tng ny qua mt qu trnh th nghim v kim tra nn cc ri ro v li l rt t.

    Vy phng php hng i tng khc phng php c cu trc im no? Theo cch tip cn c cu trc th chng ta tp trung vo cc thng tin m h thng s lu gi. Chng ta hi ngi dng v cc thng tin m h cn, thit k c s d liu lu tr cc thng tin ny, lp cc mn hnh nhp v hin th thng tin, to cc bo co in thng tin. Ni mt cch khc, chng ta tp trung vo thng tin m t ch trng ti ci g c thc hin vi cc thng tin tc l ng x ca h thng. Cch tip cn ny cn c gi l hng d liu v c dng to ra hng nghn ng dng trong nhiu nm qua.

    Hng d liu p dng tt trong vic thit k c s d liu v nm bt thng tin, tuy nhin cch tip cn ny gp phi mt s kh khn. Mt trong nhng thch thc ln nht l vic thay i cc yu cu ca ngi dng. Mt h thng c xy dng hng d liu c th iu khin vic thay i c s d liu mt cch d dng nhng nhng thay i v quy tc nghip v (business rules) s khng d dng thc thi.

    Khi nim hng i tng c pht trin gii quyt vn ny. N s tp trung vo c d liu v cc thao tc trn cc d liu . Do h thng s linh hot hn v d dng thay i khi d liu v ng x trn d liu thay i.

  • UML khng ch thun ty l mt ngn ng m hnh ha. N c pht trin bi cc chuyn gia hng u trong lnh vc hng i tng, nhng ngi xut ra nhng phng php phn tch thit k hng i tng hay c dng nht, nh k thut phn tch Use case ca Ivar Jacobsson, biu chuyn trng thi ca Harel... do nu nhng ngi phn tch tip cn vic xy dng cc phn t ca m hnh c nh ngha trong UML mt cch hp l v c h thng th h s thu c mt phng php phn tch, thit k hng i tng tt.

    Thng thng vic phn tch v thit k h thng c thc hin theo cc bc sau:

    - Phn tch yu cu: Dng phng php phn tch Use case nm bt cc yu cu ca khch hng. y l mt bc quan trng v s thnh cng ca bc ny s quyt nh s thnh cng ca d n. Bi v mt h thng d c xy dng tt n u nhng khng p ng c nhng nhu cu ca khch hng h thng s tht bi.

    - Phn tch: Sau khi bit c ngi dng mun g, chng ta tp trung m t li h thng, cc khi nim chnh trong lnh vc ca h thng cn xy dng, trong hng i tng gi l cc lp lnh vc ( domain class ), mi quan h v s tng tc gia cc i tng . Mc ch chnh l hiu h thng hot ng nh th no.

    - Thit k: bc ny s dng kt qu thu c cc bc trc m rng thnh mt gii php k thut, thm vo cc lp thuc v k thut nh cc lp giao din, cc lp iu khin...Tp trung m t cu trc bn trong ca h thng, s tng tc ca tp hp cc i tng t c nhng chc nng m h thng cn c.

    Mc d UML khng bt buc phi s dng mt quy trnh pht trin phn mm c th no nhng n c khuyn khch s dng vi quy trnh lp v tng dn.

    Vic phn tch thit k hng i tng c h thng ha nh sau:

    1. Phn tch Use case : 1. Tm Actor 2. Tm Use case 3. Xy dng biu Use case

    2. Tm lp:

  • 1. Lp 2. Gi 3. Xy dng biu lp 4. Xy dng biu i tng

    3. Phn tch s tng tc gia cc i tng 1. Kch bn 2. Xy dng biu trnh t 3. Xy dng biu hp tc

    4. Xc nh quan h gia cc i tng 1. Quan h Association 2. Quan h Generalization 3. Quan h Dependency 4. Quan h Realization

    5. Thm vo cc thuc tnh v phng thc cho cc lp 6. Xc nh ng x ca i tng

    1. Xy dng biu chuyn trng 2. Xy dng biu hot ng

    7. Xc nh kin trc ca h thng 1. Xy dng biu thnh phn 2. Xy dng biu trin khai.

    Kim tra li m hnh