Professional Documents
Culture Documents
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:
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
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).
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.
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).
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 :
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).
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
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.
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
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
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.
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):
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 ( : ).
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.
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
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
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