You are on page 1of 17

Huesoft

UML TRONG QU TRNH PHT TRIN PHN M

UML trong qu trnh pht trin phn mm

Huesoft Trung tm Cng ngh Phn mm Tha Thin Hu

Qu trnh bin son


Ngy M t Tc gi

UML trong qu trnh pht trin phn mm

Huesoft Trung tm Cng ngh Phn mm Tha Thin Hu

M u

Pht trin phn mm ngy cng tr nn phc tp. Hy nhn li lch s pht trin c nn cng nghip phn mm: Bt u t cc bit nh phn n cc xu k t, chuyn sang g din ho vi xu th s kin; kin trc h thng a tng; c s d liu phn tn, K th ca chng ta l s phc tp, ta phi loi b chng, Jan Bean. Thch thc trong hai mi nm ti ca vic xy dng phn mm khng phi l t thc hin, kinh ph hay sc mnh ca n m chnh l phc tp , Sun Microsystem Mc khc, do gi tr chin lc ca phn mm ngy cng tng i vi cc cng ty doanh nghip, cho nn nn cng nghip phn mm ang tm kim cc phng php k thu t ng sn xut phn mm nng cao cht lng ng thi gim gi thnh v thi gian xut. Cc phng php tim cn hng cu trc, hng logic, cng ngh thnh phn (CO lp trnh trc quan, lp trnh theo m hnh u c th thc hin, gii quyt cc vn ny nhng mc khc nhau. Doanh nghip cng tm kim phng php k thut qun l cc thng phc tp c quy m v phm vi. c bit, cc doanh nghip nhn thy nhu cu c gii quyt nhng vn v kin trc nh: kh nng thc hin phn mm, kh nng bo Trong khi vic pht trin World Wide Web lm cho mt s th tr nn n gin hn th n ny sinh mt s vn v kin trc. Do ngn ng mu thng nht (Unified Modeling Language - UML) c to ra nhm p ng nhng nhu cu ny. pht trin mt m hnh h thng phn mm (UML ch l mt trong cc ngn ng m hnh) c ch th vic xy dng hay i mi m hnh cng cn thit v quan trng nh p c k hoch xy dng to nh. Cn c cc m hnh tt truyn tin gia cc nhm d n m bo tnh hiu qu ca kin trc. Tnh phc tp ca h thng ngy cng tng ln, tm trng ca k thut m hnh tt cng vy. C nhiu yu t khc dn n thnh cng ca m n nhng cn phi c ngn ng m hnh chun. Cng ging nh bt c ngn ng no ca con ngi, ngn ng m hnh gm c:

Yu t m hnh ng ngha v khi nim m hnh c bn Ch thch gii ngha bng trc quan cc yu t m hnh Ch dn thnh ca h thng ngy cng tng th trc quan Trong khi tnh phc tp ng s dng trong lnh vc thng mi ha v to m h

tr nn cn thit. UML c chp nhn rng ri p ng nhu cu . y l ng ng m hnh trc quan xy dng cc h thng cu thnh v hng i tng. Tng quan
nh ngha:

UML trong qu trnh pht trin phn mm

Huesoft Trung tm Cng ngh Phn mm Tha Thin Hu

h thng phn mm v m hnh doanh nghip cng nh cc h thng phi phn mm khc phng php hng i tng. UML l tp hp nhng chng trnh xy dng tt nht c kim nghim thnh cng trong m hnh h thng rng ln v phc tp. UML c s dng c t, xy dng v lm ti liu ca qu trnh phn tch thit k mt d n theo phng php hng i tng. N l ngn ng chun vit k hoch chi tit mt phn mm. UML l mt phn ca tin trnh pht trin phn mm, ph hp vi tin trnh hn Use Case, ly Use Case lm trung tm, tng tc v tng dn. Mc ch chnh ca vic to ra UML l:

Cung cp cho ngi s dng ngn ng d s dng v ngn ng m hnh tr quan c ngha h c th pht trin v lm vic vi cc m hnh trc qu tng t. Cung cp kh nng m rng v h thng chuyn bit m rng cc khi n c bn. C kh nng c lp ca cc ngn ng lp trnh c th. Gip ngi s dng hiu ngn ng m hnh. Khuyn khch pht trin th trng c cng c nh hng. Gii thch cc khi nim nh: lp trnh theo m hnh, lp trnh theo khung v theo tng thnh phn. Phm vi ca UML:hp cc chng trnh. Tch Nh ni trn, UML l ngn ng c th ha, lm trc quan v xy d h thng phn mm. UML gii thch nhng khi nim v Booch, OMT v OOSE. Do n l ng ng m hnh d s dng, ph bin v n gin i vi ngi s dng.

Tc gi ca UML nh hng m hnh h thng phn b, ng nht bo rng UML c th nhn bit chnh xc cc a ch domain.

UML tp trung vo ngn ng m hnh chun ch khng phi mt tin trnh chun. Mc d UML phi c p dng trong tng ng cnh ca tin trnh. Kinh nghim cho thy cc vn khc nhau i hi tin trnh cng phi khc nhau. (V pht trin phn mm chn gi l mt tin trnh tng i hay nhng vic xy dn phn mm chn gi li khc nhiu so vi vic xy dng h thng in t hng kh Do n lc trc ht phi tp trung vo h thng siu m hnh (tc l hp nht n

UML trong qu trnh pht trin phn mm

Huesoft Trung tm Cng ngh Phn mm Tha Thin Hu

Trong khi UML nhm lm n gin v chun ho m hnh th n li khng l mt th ngn ng hon thin. iu ny to cho UML c tnh linh hot thit l mt lot h thng trc quan thuc mi lnh vc. Mt s lnh vc chnh nm ngoi phm vi UML gm c:

Ngn ng lp trnh UML l ngn ng m hnh trc quan ch khng phi l ngn ng lp trnh quan. N c hiu l ngn ng h tr v ng ngha v h tr trc quan c thit thay th ngn ng lp trnh. Cng c nh chun ngn ng nht thit phi l c s cho cc cng c v tin trnh trin. Mc tiu chnh ca UML l to cho cc cng c c tnh nng hot ln nhau. Tuy nhin, cc cng c c tnh nng hot ng ln nhau cn ph t vo khi nim v ng ngha chnh xc ca UML. UML xc nh siu m hn v ng ngha ch khng phi xc nh giao din cng c hay m hnh chy Tm quan trng ca UML thi gian. Hy nhn t quan im trong ngh nghip xy dng: kin trc s thit k t nh, ngi xy dng s dng bng thit k to ra ngi nh. To nh cng phc th giao tip gia kin trc s v ngi xy dng cng rc ri. Bng thit k l ngn ho chun m c kin trc s v ngi xy dng phi hc nh l mt phn cng ca h.

Vit phn mm khng ging nh xy dng to nh. H thng c s cng p tp bao nhiu th giao tip gia mi ngi lin quan n vic to v trin khai phn cng rc ri by nhiu. Trong thi k ny, UML ra i nh l ngn ng thit k phn mm cho nh phn tch, nh thit k, lp trnh vin. UML gip cho mi ngi t nh phn tch nghip v n nh phn tch , lp trnh vin hiu v vic thit k phn m

UML thch hp vi vic gii quyt vn hng i tng. Bt k ai quan n UML u quen thuc vi nguyn l c bn v vic gii quyt vn hng tng, bt u vi vic xy dng m hnh. M hnh (model ) l s tru tng ho vn c bn. Phm vi (domain ) l th gii thc m vn mang n.

M hnh cha cc i tng (objects) tc ng ln nhau bng cch gi cc th tin (messages) khc nhau. Nu mt i tng ang tn ti th i tng c thuc tn (attributes) v c cc hnh vi (behaviors hoc operations). Gi tr ca cc thuc tnh trong tng c xc nh bi trng thi ca n (state).

Lp (Classes) l bng thit k cho cc i tng. Lp bao gm cc thuc tnh

UML trong qu trnh pht trin phn mm

Huesoft Trung tm Cng ngh Phn mm Tha Thin Hu

i tng l cc th hin (instance) ca cc lp. Tin trnh pht trin phn mm RUP v mi quan h vi UML:

Pht trin phn mm c th thc hin bng nhiu con ng khc nhau. C d n c th tun th mt trong cc loi tin trnh pht trin: bao gm t thc nc tin trnh lp v tng dn. Di y, chng ti xin gii thiu mt quy trnh phn mm ni ting c pht trin bi hng Rational. Quy trnh ny c mi quan h chc ch UML.

RUP - Rational Unified Process - l quy trnh cng ngh phn mm c ph trin bi hng Rational, RUP h tr cc hot ng pht trin phn mm theo nhm, p chia cng vic theo th t cho tng thnh vin ca nhm trong tng giai on khc nh ca quy trnh pht trin phn mm. RUP s dng ngn ng UML m hnh ha v cung cp nhng hng dn s dng UML mt cch hiu qu nht. Mc ch chnh ca RUP l gip sn xut nhng phn mm c cht lng tha mn yu cu ca ngi dng cui, trong khun kh thi gian v ngn sch. RUP c pht trin v duy tr bi hng Rational, m bo qui trnh lun ci tin hon chnh hn trn c s nhng kinh nghim phn hi t i tc s dng, s tin ha v nhng cch vn dng tt nht trong thc t. RUP nng cao nng sut lm vic ca nhm. Cc thnh vin trong nhm c hng dn, khun mu, cng c h tr v u s dng mt ngn ng chung, mt qui trnh chung do c s thng nht trong cch nhn v phng hng pht trin mt p mm. S dng UML h tr tt c cc giai on (phase) trong quy trnh pht tri phn mm, hot ng chnh ca RUP l to, ci tin v qun l cc loi m hnh. Ng ra, RUP cn hng dn lm mt lng ln cc su liu cho phn mm, RUP nhn m vic pht trin nhng m hnh giu ng ngha biu din cho h thng di gc c ngi pht trin. Ngy nay, RUP c h tr bi cc cng c, gip t ng ha phn ln quy trnh pht trin phn mm. Cc cng c h tr RUP c th k n l qun l n, p cng nhn s, to lp v qun l m hnh, kim chng . Khng mt quy trnh no c ph hp cho tt c cc t chc pht trin phn mm. RUP c pht trin trn c s trc n gin v r rng, c th cu hnh li cho ph hp vi nhu cu ca t chc s dng. RUP ph hp cho nhng nhm pht trin nh cng nh nhng t chc ln. RUP l tp hp nhng cng vic v kinh nghim c vn dng hiu qu nht trong thc t. Vic pht trin theo RUP cho php nhng nhm pht trin c mt s thun li so vi nhng nhm khc.

UML trong qu trnh pht trin phn mm

Huesoft Trung tm Cng ngh Phn mm Tha Thin Hu

RUP l quy trnh bao gm nhiu bc lp xy dng h thng gi l cc k (cycle). Mi chu k cho kt qu l mt phin bn release ca phn mm bao gm ngun trong cc thnh phn (componennt) c th bin dch v thc thi. Mt chu k chia lm bn phase l khi u? (inception), trin khai (elaboration), xy dng (contruction), chuyn giao (transition).

Inception : xc nh phm vi d n, cc ti nguyn cn thit v phc tho ch nng cho ngi s dng (business case). Elaboration : phn tch vn , lp k hoch d n, nh gi ri ro v xc kin trc h thng. Construction : pht trin cc thnh phn (component), tch hp vo sn ph kim chng cc chc nng Transition : chuyn giao sn phm n khch hng, hun luyn khch hng Ngoi ra, trong mt cycle (chu k) cn bao gm nhiu bc lp con? (iterat s dng, bo tr ng thi iu chnh mt s chc nng cn thit. Mi iteration cng cho kt qu l mt phin bn release v c hon thnh qua qu t thc hin mt dy cc cng vic c th gi l lung cng vic (workflow). Cc cng vic c phn chia vo cc workflow xy dng phin bn rel cho mt iteration. Cc lung cng vic c bn l business modeling (m hnh ha ngh v), requirements (xc nh yu cu), analysis (phn tch), design (thit k), ci t (implementation) v deployment. Ngoi ra cn c cc lung cng vic h tr qun l n (project management), qun l cu hnh v thay i (configuration and change management) v qun l mi trng (enviroment).

UML trong qu trnh pht trin phn mm

Huesoft Trung tm Cng ngh Phn mm Tha Thin Hu

m hnh ha chc nng cho tng loi ngi s dng. Ngoi ra, cc chc nng (use case) cn ng vai tr dn dt quy trnh pht trin n cc bc phn tch, thit k v kim chng. Da trn use case, ngi pht trin to mt lot cc m hnh phn tch (analysis model), thit kt (design model) ci t (implementation model) v xem xt m hnh c bao gm cc thnh phn p ng y cho vic thc hin chc nng thng hay khng. Quy trnh pht trin theo s thc hin dy cc cng vic da trn case.
Thit k Ci t Kim chng Phn tch Xc nh yu cu

Cc use case lin kt cc workflow ny vi nhau. Mc d c th nhn thy UML c mt khp trong cc phase trn, tuy nhin UML ch tht s tp trung vo phase Construction, ni quan trng v chim nhiu th gian nht. Cc lc trong UML

Trng tm ca vic gii quyt vn hng i tng l xy dng mt m hnh. M hnh tru tng ha cc chi tit cn thit ca vn c bn v th gii th Di y chng ti xin gii thiu nhng m t quan trng nht trong UML, cc lc (diagram) Trng tm ca UML c th hin qua 8 loi lc khc nhau :

Use case diagrams Class diagrams Sequence diagrams

(Lc Use case) (Lc lp) (Lc tun t)

Collaboration diagrams (Lc cng tc) Statechart diagrams Activity diagrams Component diagrams (Lc trng thi) (Lc hot ng) (Lc thnh phn)

Deployment diagrams (Lc trin khai) Cc lc cng c phn v Lc gi Package Diagrams) ng thi nyc ni thm b vo cc Quan(st (Views).

Lc Use case (Use case diagrams):

Use case diagrams m t h thng lm g t quan im ca ngi quan s tng quan. iu quan trng l nhn mnh h thng lm g hn l lm nh th no

Lc Use case quan h gn gi n cc s kin. S kin (scenario) l nh

UML trong qu trnh pht trin phn mm

Huesoft Trung tm Cng ngh Phn mm Tha Thin Hu

Use case l tp hp cc s kin v mt cng vic n gin hoc mc ch n. Actor l ngi tham gia vo cc s kin trong phin lm vic. Actor ng vai tr ngi hoc i tng hot ng.

Lc Use case l tp hp cc actor, cc Use case, cc mi quan h gia chng. Hnh v di cho ta 4 Use case v 4 actor. Ch rng mt Use case n gin th c nhiu actor. Lc Use case h tr 3 phm vi sau :

Xc nh cc c trng : Use case mi thng thng pht sinh cc yu c mi khi h thng phn tch v a ra cc m hnh.

Giao tip vi clients : cc k hiu n gin gip cho lc Use case c t giao tip vi client.

Class diagram

Pht sinh c trng hp test : tp hp cc s kin cho mt Use case c th ngh cc trng hp cho cc s kin ny. Class diagram a ra tng quan h thng bng cch hin th cc lp v qu h gia chng. Lc lp l lc tnh, hin th nhng g tc ng nhng khng ra nhng g khi chng tc ng.

Lc lp di y m t mt khch hng t hng. Lp chnh l Order hp vi n l Customer v Payment. Payment l mt trong 3 loi : Cash, Check, ho Credit. Order cha OrderDetails v kt hp vi Item.

UML trong qu trnh pht trin phn mm

Huesoft Trung tm Cng ngh Phn mm Tha Thin Hu

Lc lp c 3 loi quan h :

association (quan h kt hp) -- mt quan h gi cc th hin ca 2 lp. mt quan h kt hp gia hai lp nu mt th hin ca mt lp phi bit n hin khc lm vic vi n. Trong mt lc , mt quan h kt hp l mt ki kt, kt ni n hai lp.

aggregation (quan h thu np)-- mi kt hp trong mt lp thuc v mt t hp. Mt quan h thu np c mt hnh thoi cui im c xem l ton th. T lc ny,Order c mt tp hp l OrderDetails.

generalization (quan h tng qut ho)-- mi lin kt k tha din t mt l mt lp cha (superclass) ca lp khc. Quan h tng qut ho c mt hnh tam g Mt mi kt hp c hai u lp hn. Mt u c th v Credit. biu din lp cha. Payment l gii cha ca Cash, Check,c mt tn vai tr (rol name) lc ra tnh t nhin ca mi kt hp. V d,OrderDetail l mt ng mu Order.

Navigability (tnh nh hng) : mi tn trong quan h kt hp hin th h quan h c th xem xt v truy vn.OrderDetail c th truy vn v mu (Item) ca n nhng khng thng qua cch khc. Trong trng hp ny, OrderDetail c Item. Quan

UML trong qu trnh pht trin phn mm

Huesoft Trung tm Cng ngh Phn mm Tha Thin Hu

mt u khc. Bn s l mt s hoc mt dy s. V d : mt Order ch c mt Customer, nhng mt Customer c nhiu Orders. Bn s


0..1 0..* hoc * 1 1..*

Gii thch
0 hoc 1 th hin. khng gii hn s th hin chnh xc 1 th hin t nht 1 th hin

Mi lc lp c cc lp, cc quan h, v cc bn s. Tnh nh hng v vai tr l cc mu tu chn t trong lc lm sng t. Packages (Cc gi):

t chc cc lc lp phc tp, ta c th nhm cc lp phc tp vo cc gi (packages). Mt gi l mt tp hp cc thnh phn UML lin quan. Lc d y l mt m hnh nghip v vi cc lp c nhm vo cc gi.T

Cc gi c dng hnh ch nht vi cc nhn (tab) u. Tn gi trong nhn hoc trong hnh ch nht. ng gch ni l quan h ph thuc (dependencies). Mt g ph thuc vo mt gi khc nu s thay i ca gi khc c nh hng n s thay ngay lc u.

Object diagrams (Lc i tng) l mt loi c bit ca lc lp biu din cc th hin thay v cc lp.Chng dng gii thch cc mi quan h ph

UML trong qu trnh pht trin phn mm

Huesoft Trung tm Cng ngh Phn mm Tha Thin Hu

Lc lp di y hin th mt Department c th cha nhiu Departments khc.

Lc i tng di y gii thch lc lp.

Mi hnh ch nht trong lc tng ng vi mt th hin. Tn th hin c gch di trong lc UML. Tn lp hoc tn th hin c th c loi b lc i tng nhng ngha lc vn r
Sequence Diagram (Lc tun t)

Lc lp v lc i tng l cc cu trc (view) m hnh tnh. L tng tc (Interaction diagrams) l cu trc ng, m t cc i tng cng tc nh th

Lc tun t (sequence diagram ) l lc tng tc din t cc phng (operations) hot ng nh th no, thng ip no c gi n v khi no. Lc tun t c t chc theo thi gian. Cc i tng lin quan n phng thc c k t tri sang phi khi chng tham gia vo thng ip tun t.

Di y l lc tun t cho vic t ch khch sn. i tng bt u thng ip tun t l Reservation window.

UML trong qu trnh pht trin phn mm

Huesoft Trung tm Cng ngh Phn mm Tha Thin Hu

Reservation window gi mt thng ip makeReservation()n HotelChain. Sau HotelChain gi mt thng ip makeReservation() n Hote Nu Hotel c phng, th n s t ch (Reservation) tha nhn vic t ch ny (Confirmation ).

ng nt t gi l lifeline , biu din thi gian m i tng ang tn ti. mi tn l mt thng ip gi. Mi tn i t ngi gi n nh activation bar ca thng ip trong lifeline ca ngi nhn. Activation bar biu din khong thi gian thc th thng ip.

Trong lc v d, Hotel s dng self call quyt nh l c phng hay kh Khi Hotel to cng vic t ch (Reservation) v tha nhn vic t ch ny (Confirmation). Du hoa th trong self call c ngha lp li ( iteration ) chc chn rng phng mi ngy trong khch sn. Biu thc trong du ngoc n l iu kin ( condition ).

Lc c mt thng bo (note) gii thch, l on vn bn trong h ch nht c np qun gc. Thng bo c th t vo trong bt k lc UML no
Collaboration diagrams (Lc cng tc):

UML trong qu trnh pht trin phn mm

Huesoft Trung tm Cng ngh Phn mm Tha Thin Hu

gian m thng ip gi n. Trong lc tun t, vai tr i tng l cc nh v thng ip c kt ni.

Hnh ch nht ca vai tr i tng c ghi trong lp hoc tn i tng c hai. Tn lp c t trc du hai chm ( : ).

Mi thng ip trong lc cng tc c s tun t (sequence number).Thng ip u tin c nh s 1.


Statechart diagram (Biu trng thi)

Cc i tng c cc hnh vi v trng thi. Trng thi ca i tng ph th vo hot ng hoc iu kin hin hnh. Lc trng thi (statechart diagram) hin th trng thi ca i tng v cc bin i trong trng thi.

Trong lc v d, m hnh ng nhp vo h thng ngn hng trn mng.Trc ht, ng nhp vo s mt khu v s ID ca ngi , sau submit t tin xc nhn.

ng nhp c th thc hin trong 4 trng thi khng trng lp sau :Getting SSN, Getting PIN, Validating (tnh hp l), v Rejecting (loi b). T mi trng th n mt s chuyn tip(transitions) hon ton, xc nh c trng thi k tip.

UML trong qu trnh pht trin phn mm

Huesoft Trung tm Cng ngh Phn mm Tha Thin Hu

Cc trng thi c khoanh trn trong hnh ch nht. Cc chuyn tip theo hng mi tn t trng thi ny n trng thi khc. Cc s kin hoc cc iu kin c vit bn cnh mi tn.

Trng thi ban u (hnh trn en) l mt ng tc gi bt u hot n Trng thi cui cng cng l trng thi gi kt thc hot ng.

Hot ng din ra khi kt qu ca mt s kin hoc iu kin c nhn mnh trong phn trnh by hay trong hnh ng. Trong khi trng thi hp l (), i tng khng ch mt s kin bn ngoi n mt trigger chuyn i thay v trnh by hot ng. Kt qu ca hot ng c xc nh trng thi k tip.
Activity diagram (Lc

hot ng):

Lc hot ng v lc trng thi c quan h vi nhau. Khi lc trng thi tp trung vo mt i tng thng qua mt qu trnh, lc hot ng t trung vo lung hot ng lin quan n mt tin trnh n. Lc hot ng biu c nhiu hot ng ny ph thuc vo nhiu hot ng khc. ATM

V d chng ta s dng theo tin tnh:"Rt tin ra khi ngn hng thng qua

UML trong qu trnh pht trin phn mm

Huesoft Trung tm Cng ngh Phn mm Tha Thin Hu

di.

Lc hot ng c th phn chia thnh i tng swimlanes xc nh tng no lin quan n hot ng ny. Mt chuyn i (hay cn gi l s qu ) (transition) n gin ra khi hnh ng kt ni n hnh ng khc.

Mt chuyn i c th tch ra thnh hai hay nhiu chuyn i ring bit qu Biu thc chn (Guard expressions) bn trong du [] chuyn i ra khi mt nhnh. M nhnh v nhnh k tip ca n kt hp nh du nhnh cui xut hin trong lc di dng hnh thoi rng.

Mt chuyn i c th phn nhnh thnh hai hay nhiu hot ng song son

UML trong qu trnh pht trin phn mm

Huesoft Trung tm Cng ngh Phn mm Tha Thin Hu

Component Diagram (Lc thnh phn) v Deployment (Lc trin khai)

Component l mt on m. Lc thnh phn tng t nh lc l vt l. Lc trin khai biu din cu hnh vt l phn mm v phn cng.

Lc trin khai di y hin th quan h gia cc thnh phn phn m phn cng lin quan n tnh trng thc ti cc transaction.

Phn cng vt l to ra cc nt (nodes). Mi thnh phn thuc v mt nt. C thnh phn c biu din nh cc hnh ch nht vi hai khung pha di bn tri

You might also like