Professional Documents
Culture Documents
Tn ti: Phn tch thit k hng i tng bng UML, s dng phn mm Enterprise Architect thit k cc biu UML cho game bng chuyn.
Page | 1
NHM FSE09
MC LC
A. LI M U ............................................................................ 3 B. NI DUNG CHNH .................................................................. 4 I. M hnh ha ........................................................................... 4 II. Khi qut v UML ................................................................. 8 1. Gii thiu UML .................................................................... 8 2. Phn t m hnh trong UML .............................................. 10 3. Cc quan h trong UML ..................................................... 14 4. Kiu d liu......................................................................... 15 5. Biu UML ...................................................................... 16 6. Kin trc h thng .............................................................. 27 III. Gii thiu phn mm Enterprise Architect ................... 30 1. Gii thiu chung v Enterprise Architect ........................... 30 2. Nhng khc bit so vi cc cng c UML khc ................ 30 3. Mt vi tnh nng c th ca Enterprise Architect ............. 31 IV. Phn tch v thit k hng i tng s dng UML: NG DNG VO BI TON GAME BNG CHUYN ... 32 1. M t bi ton ..................................................................... 32 2. Pha phn tch hng i tng........................................... 33 3. Pha thit k hng i tng.............................................. 43 C. TI LIU THAM KHO ..................................................... 51
Page | 2
NHM FSE09
A.
LI M U
H thng tin hc ngy cng phc tp. Xu th p dng phng php hng i tng thay th cho phng php hng cu trc truyn thng ngy cng ph bin khi xy dng cc h thng phn mm ln v phc tp. Hn na t khi ngn ng m hnh ha thng nht(Unified Modeling Language UML ) c t chc OMG(Object Manager Group) cng nhn l chun cng nghip th n tr thnh cng c ph dng v hu hiu cho phng php mi ny. Cch xy dng cc m hnh trong UML ph hp m t cc h thng thng tin c v cu trc cng nh hot ng. Cch tip cn theo m hnh ca UML gip ch rt nhiu cho nhng ngi thit k v thc hin h thng thng tin cng nh ngi s dng n, to nn mt ci nhn bao qut v y v h thng thng tin d nh xy dng. Cch nhn bao qut ny gip nm bt trn vn yu cu ca ngi dng, phc v t giai on phn tch n thit k, thm nh v kim tra sn phm ng dng cng ngh thng tin. Cc m hnh i tng c lp cng l c s cho vic ng dng cc chng trnh t ng sinh m trong cc ngn ng lp trnh hng i tng, chng hn nh ngn ng C++, Java Chnh v vy, chng em chn ti ng dng UML trong lp trnh hng i tng. Chng em xin chn thnh cm n Tin s V Th Hng Giang gip chng em hon thnh ti ny.
Page | 3
NHM FSE09
B.
NI DUNG CHNH
I. M hnh ha - Khi nim m hnh ha(modeling): khi nim m hnh ha thng c s dng ng ngha vi phn tch, l vic thc hin tch h thng thnh cc phn t n gin d hiu. Trong khoa hc my tnh, m hnh ha bt u t m t vn , sau l m t gii php vn . Cc hot ng ny cn gi l phn tch v thit k. Khi thu thp yu cu cho h thng, ta phi tm ra yu cu tc nghip ca ngi dng v nh x chng thnh yu cu phn mm sao cho i ng pht trin phn mm hiu v s dng c chng. Tip theo l kh nng pht sinh m trnh t cc yu cu ny. ng thi phi m bo cc yu cu ny phi ph hp vi m trnh va pht sinh v d dng chuyn i m trnh ngc li thnh yu cu. Tin trnh ny c gi l m hnh ha. - M hnh ha trc quan: l tin trnh ly thng tin t m hnh v hin th ha bng tp cc phn t ha chun. Tiu chun ct li thc hin mt trong cc li th ca m hnh trc quan, l vn giao tip. Giao tip gia ngi dng, ngi pht trin, phn tch vin, kim tra vin, ngi qun l v nhng ngi khc tham gia d n l mc tiu quan trng nht ca m hnh ha trc quan. Tng tc ny c th thc hin bng vn bn. Nh m hnh ha trc quan m ta c th ch ra cc tng m h thng lm vic, bao gm tng tc gia ngi dng vi h thng, tng tc gia cc i tng trong h thng hay gia cc h thng vi nhau. Sau khi to m hnh, ta c th ch ra tng phn quan tm. Th d, ngi dng c th quan
st tng tc gia h vi h thng qua m hnh, phn tch vin quan st tng tc gia cc i tng t m hnh, ngi pht trin s quan st c i tng m h s pht trin Cc nh tin hc rt c gng trnh by k php m hnh ha trc quan. Mt s k php
quen thuc l ca Booch, OMT v UML. Phn mm cng c Enterprise Architect tr gip cc k php ny.
Page | 4
NHM FSE09
Page | 5
NHM FSE09
Nhng ngi tham gia xy dng h thng phn mm theo m hnh thc nc rt t khi lm vic cng nhau chia s nhng hiu bit su sc v vn ang gii quyt. Do vy h mt rt nhiu thi gian xy dng c h thng phn mm. Chu k thc nc cn c biu din di dng ch V. Trong pha kim tra c thc hin ng thi vi cc pha pht trin khc.
Page | 6
NHM FSE09
Page | 7
NHM FSE09
Trong phng php ny, phn tch vin, ngi thit k, ngi lp trnh hp tc lm vic hiu bit su sc h thng, chia s cc tng mi dn ti xy dng c h thng mnh, phc tp hn. II. Khi qut v UML UML l ngn ng m hnh ha, trc ht n l m t k php thng nht, ng nghiax v cc nh ngha v metamodel (m t nh ngha chnh ngn ng m hnh ha) , n khng m t v phng php pht trin. UML c s dng hin th, c t, xy dng v lm ti liu cc vt phm ca phn tch qu trnh xy dng h thng phn mm theo hng i tng. UML c s dng cho mi tin trnh pht trin phn mm, xuyn sut vng i pht trin v c lp vi cc cng ngh ci t h thng. 1. Gii thiu UML UML l ngn ng chun vit k hoch chi tit phn mm. Cc khung nhn ca ngn ng c quan st t gc pht trin v trin khai h thng, n khng kh hiu v d s dng. UML l ngn ng m hnh c c con ngi v my s dng. Nh mi ngn ng m hnh ha khc, UML c k php v tp cc lut s dng ca n. Cc lut bao gm c php, ng ngha v lut hnh thnh cu c ngha. 1.1UML l ngn ng
Page | 8
NHM FSE09
Page | 9
NHM FSE09
Page | 10
NHM FSE09
- Giao din: Giao din l tp hp cc thao tc lm dch v ca lp hay thnh phn. Giao din m t hnh vi thy c t ngoi ca thnh phn. Giao din biu din ton b hay mt phn hnh vi ca lp. Giao din nh ngha tp c t thao tc ch khng nh ngha ci t ca chng. K php ha ca n c m t trn hnh 2.2. Giao din thng khng ng mt mnh m c gn vo lp hay thnh phn thc hin giao din. - Phn t cng tc: Phn t cng tc l m t ng cnh ca tng tc. K php ha ca n l hnh elp vi ng v nt t, km theo tn nh trn hnh 2.3. Phn t cng tc th hin mt gii php thi hnh bn trong h thng, bao gm cc lp, quan h v tng tc gia chng t c mt chc nng mong i ca UC.
b. Phn t hnh vi Phn t hnh vi l b phn ng ca m hnh UML. Chng l cc ng t ca m hnh, biu din hnh vi theo thi gian v khng gian. C hai loi chnh l tng tc v trng thi.
Page | 12
NHM FSE09
My trng thi: My trng thi l hnh vi ch ra trt t cc trng thi m i tng hay tng tc s i qua p ng s kin. Hnh vi ca lp hay cng tc ca lp c th c xc nh bng my trng thi. My trng thi kch hot nhiu phn t, bao gm trng thi, chuyn tip (t trng thi ny sang trng thi khc), s kin v cc hot ng (p ng s kin). K php ha ca trng thi c th hin trn hnh 2.8, n cha tn v trng thi con nu c. c. Phn t nhm Phn t nhm l b phn t chc ca m hnh UML. Ch c mt phn t thuc nhm ny c tn l gi (package). Gi l c ch a nng t chc cc phn t vo nhm. Cc phn t cu trc, hnh vi v ngay c phn t nhm c th cho vo gi. Khng ging thnh phn (component), phn t nhm hon ton l khi nim, c ngha rng chng ch tn ti vo thi im pht trin h thng ch khng tn ti vo thi gian chy chng trnh. K php ha ca nhm c biu din trn hnh 2.9. Gi gip ta quan st h thng mc tng quan hn.
Page | 13
NHM FSE09
d. Phn t ch thch Phn t ch thch l b phn ch gii ca m hnh UML. l li gii thch p dng m t cc phn t khc trong m hnh. Phn t ch thch c gi l ghi ch (note). K php ha ca chng th hin trn hnh 2.9. 3. Cc quan h trong UML C bn loi quan h trong UML, bao gm quan h ph thuc, kt hp, khai qut v hin thc ha. Chng l c s xy dng mi quan h trong UML. Ph thuc (dependency): Phc thuc l quan h ng ngha hai phn t trong thay i phn t c lp s tc ng n ng ngha ca phn t phc thuc. K php ha ca n c th hin trn hnh 2.10.
Page | 14
NHM FSE09
Khi qut ha (generalization): Khi qut ha l quan h c bit ha/ khi qut ha m trong i tng c th s k tha cc thuc tnh v phng php ca i tng tng qut. K php ha ca khi qut ha c m t trn hnh 2.14.
Hin thc ha (realization): Hin thc ha l quan h ng ngha gia giao din v lp (hay thnh phn) hin thc lp; gia UC v hp tc hin thc UC. Biu din ha ca n c m t trn hnh 2.4. 4. Kiu d liu Kiu d liu khng phi l phn t m hnh trong UML. Kiu d liu c s l kiu d liu khng c cu trc. UML c cc kiu d liu sau: Boolean: l kiu m vi hai gi tr True v False. Biu thc (Expression): l xu k t c c php.
Page | 15
NHM FSE09
Page | 16
NHM FSE09
Biu trn ch ra tng tc gia cc UC v tc nhn ca h thng qun l th vin. c gi l tc nhn c kh nng khi ng mt s UC nh Mn sch, Tr sch Th th l mt tc nhn khc cn c th khi ng thm UC Mua sch. H thng ngoi c th l mt tc nhn, v d Nh cung cp l h thng bn ngoi h thng qun l th vin. Biu UC ch ra chc nng tng th ca h thng ang pht trin. Khch hng, qun l d n, phn tch vin, lp trnh vin, k s kim tra cht lng v nhng ai quan tm tng th n h thng u c th bit c h thng s h tr g thng qua biu ny. Cc phn t m hnh use case cng vi ngha ca n c biu din trong bng sau:
Page | 17
NHM FSE09
Biu trnh t (sequence) Biu trnh t ch ra lung chc nng xuyn qua cc UC, n l biu m t tng tc gia cc i tng v tp trung vo m t trt t cc thng ip theo thi gian.
Page | 18
NHM FSE09
Biu tun t m t hot ng ca x l cuc gi ca my in thoi. Mi mi tn trong biu th hin thng ip truyn gia tc nhn v i tng hay i tng vi i tng thc hin chc nng c th. Khch hng c th thy c tin trnh tc nghip c th ca h thng qua biu . Phn tch vin thy c lung tin trnh, ngi pht trin thy c cc i tng cn xy dng v cc thao tc cho cc i tng ny, k s kim tra cht lng c th thy chi tit ca tin trnh xy dng qui trnh th nghim, kim tra. Biu trnh t c ch cho mi ngi tham gia d n. Biu cng tc (Collabaration) Biu cng tc ch ra cc thng tin nh biu trnh t theo cch khc, n tp trung vo t chc cu trc ca cc i tng gi v nhn thng ip. Biu cng tc v biu trnh t thuc loi biu tng tc v chng c th bin i qua li. Trong biu cng tc, i tng t trong ch nht, tc nhn l ngi hnh cy nh trong biu
Page | 19
NHM FSE09
Tuy rng biu cng tc cng ch ra cc thng tin nh biu trnh t, nhng biu cng tc c s dng v l do khc. K s kim tra cht lng v kin trc s h thng thy c vic phn b tin trnh gia cc i tng thng qua biu loi ny. Th d, nu biu cng tc c hnh dng nh ngi sao, vi nhiu i tng giao tip vi i tng trung tm th kin trc s c th kt lun rng h thng qu phc thuc vo mt i tng v h s i thit k li phn b tin trnh nng cao hiu sut h thng. Biu lp (class) Biu lp ch ra tng tc gia cc lp trong h thng. Cc lp c xem nh k hoch chi tit ca cc i tng. Mi lp trong biu lp c to ra cho mi loi i tng trong biu trnh t v cng tc. Trong phng php hng i tng, mt nhm i tng c chung mt s thuc tnh v phng thc to thnh mt lp. Mi
Page | 20
NHM FSE09
V d v lp biu din trong UML Mi s lp cha ng cc lp v cc mi quan h gia chng (quan h k tha (heritage), quan h kt hp (association), quan h tp hp (aggregation), quan h thnh phn (composition)). Chng ta cng c th m t cc hot ng ca lp (operation).Ngi pht trin s dng biu lp xy dng cc lp. Cc cng c phn mm nh Enterprise Architect pht sinh m trnh xng sng cho cc lp, sau ngi pht trin phi chi tit ha n bng ngn ng lp trnh. Kin trc s quan st thit k h thng thng qua biu lp. Nu trn biu thy mt lp cha qu nhiu chc nng th phi chia chng ra nhiu lp khc nhau. Kin trc s cng d pht hin ra nu gia cc lp thiu giao tip.
Page | 21
NHM FSE09
V d v quan h gia cc lp
Page | 22
NHM FSE09
Biu trng thi (state transition) Biu trng thi c s dng biu din cc trng thi v s chuyn tip gia cc trng thi ca cc i tng trong mt lp xc nh. Thng thng, mi lp s c mt biu trng thi (tr lp tru tng l lp khng c i tng). Biu trng thi c biu din di dng my trng thi hu hn vi cc trng thi v s chuyn tip gia cc trng thi . C hai dng biu trng thi: - Biu trng thi cho mt use case: m t cc trng thi v chuyn tip trng thi ca mt i tng thuc mt lp no trong hot ng ca mt use case c th. - Biu trng thi h thng m t tt c cc trng thi ca mt i tng trong ton b hot ng ca c h thng.
Page | 23
NHM FSE09
Page | 24
NHM FSE09
Biu hot ng Biu hot ng biu din cc hot ng v s ng b, chuyn tip cc hot ng ca h thng trong mt lp hoc kt hp gia cc lp vi nhau trong mt chc nng c th. Biu hot ng c th c s dng cho nhiu mc ch khc nhau, v d nh: - xc nh cc hnh ng phi thc hin trong phm vi mt phng thc. - xc nh cng vic c th ca mt i tng. - ch ra mt nhm hnh ng lin quan ca cc i tng c thc hin nh th no v chng s nh hng n nhng i tng nm xung quanh.
Page | 25
NHM FSE09
V d v biu hot ng ca hm thc hin chc nng mn sch trong lp th mn ca H thng qun l th vin.
Page | 26
NHM FSE09
6. Kin trc h thng Kin trc l tru tng ha cc kha cnh quan trng nht ca h thng. N cung cp khung trong thit k s c xy dng. N m t tm c, sc mnh ca h thng, thu thp cc UC quan trng nht v cc yu cu ng dng. N th hin phn mm s c t chc nh th no v cung cp cc giao thc trao i d liu v giao tip gia cc moun. Vic hin th, c t, xy dng v lm ti liu h thng phn mm i hi h thng phi c xem xt t nhiu kha cnh khc nhau. Ngi s dng khc nhau (ngi s dng cui cng, nh phn tch, ngi pht trin, ngi tch hp h thng, kim tra vin, ngi qun l d n ) c cch quan st h thng khc nhau vo cc thi im khc nhau. Kin trc h thng l vt phm quan trng nht, c s dng qun l cc im nhn khc nhau iu khin pht trin h thng tng dn v lp trong sut chu k sng. Kin trc l tp cc quyt nh v:
Page | 27
NHM FSE09
Ta c nm khung nhn nh sau: khung nhn trng hp s dng (Use case view), khung nhn logic (Logical view), khung nhn ci t (Implementation view), khung nhn trin khai (Deployment view) v khung nhn tin trnh (Process view). Mi khung nhn phc v mc ch ring. Khung nhn UC Khung nhn ny ng trc mi khung nhn khc . N c hnh thnh t giai on phn tch yu cu v c s dng iu khin v thc y phn vic cn li ca thit k. N m t cc hnh vi h thng theo cch nhn ca khch hng, phn tch vin v k s kim tra, th nghim. Khung nhn UC cha cc tc nhn, UC, biu UC (kha cnh tnh ca khung nhn) trong h thng. Chng cng c th bao gm
Page | 28
NHM FSE09
Page | 29
NHM FSE09
Page | 30
NHM FSE09
Page | 31
NHM FSE09
Page | 32
NHM FSE09
Page | 33
NHM FSE09
Page | 34
NHM FSE09
Page | 35
NHM FSE09
Page | 36
NHM FSE09
Page | 37
NHM FSE09
Hon thin biu use case: Xem xt li xem tt c cc use case c biu din trong biu use case tt c cc mc cha. Biu din cc use case thng qua cc kch bn V d: biu din use case Choi trong bi ton tr chi bng chuyn. Tn use case Choi Tc nhn chinh Mc phn r Ngi chu trch nhim chnh Tin iu kin m bo ti thiu NguoiChoi 3 NguoiChoi NguoiChoi vo menu chn cch chi H thng quay li trng thi ca NguoiChoi ln chi trc
Page | 38
NHM FSE09
Chui s kin chnh: 1. Sau khi ngi chi nhn nt Chi, mn chi s hin ra. 2. Hot ng chi ca ngi chi nh sau: Cc gi hng i ra t cng xut pht, c dn nhn mu v di chuyn trn bng chuyn. Ngi chi c nhim v nhn cc mi tn chuyn hng sao cho hng i ng vo im giao hng cng mu. 3. Trong khi chi, ngi chi c th chn cc chc nng: TamDung , TangToc nu mun chi vi tc nhanh hn, LuuLaiManDangChoi nu ngi chi mun chi tip phn ang chi d vo ln sau. 4. Khi ht thi gian, h thng s tnh im ca ngi chi. Nu ngi chi thng, ngi chi c th chn ChoiManTiep hoc ChoiLai- nu ngi chi mun nng cao s im ca mn trc. Nu ngi chi thua, ngi chi c th chn ChoiLai mn va thua hoc l Thoat khi , tr v chng trnh chnh. Ngoi l: Nu ln chi trc ngi chi khng lu li trng thi cui cng, ln tip ngi chi chn chi tip mn lu v nhn nt Chi. H thng s thng bo li, yu cu ngi chi chn chc nng ChoiTroMoi. Kim tra v liu chnh m hnh b. Xy dng m hnh lp Bc 1: Xc nh lp t cc use case v cc kch bn - Thng qua cc use case v cc kch bn tm ra cc danh t no c vai tr trong cc kch bn, l cc lp ng c vin. - Sau , loi b cc ng vin khng thch hp, ta c cc lp c bn : o Lp Box: Cc gi hng o Lp Arrow: mi tn chuyn hng o Lp Clock: qun l lung o Lp Goal: Cc im giao hng o Lp Level: Cc mn chi o Lp Play: Kt tp ca cc lp Result, Clock o Lp Result: Ghi li tn, im v th hng ca ngi chi
Page | 39
NHM FSE09
Page | 40
NHM FSE09
c. Xy dng m hnh ng Trong pha phn tch, ta tp trung vo xy dng biu trng thi cho cc lp tm c trong bc trc . C 2 dng biu trng thi: - Biu trng thi cho mt use case: m t cc trng thi v chuyn tip trng thi ca mt i tng thuc mt lp no trong hot ng ca mt use case c th. - Biu trng thi h thng m t tt c cc trng thi ca mt i tng trong ton b hot ng ca c h thng.
Page | 41
NHM FSE09
Page | 42
NHM FSE09
3. Pha thit k hng i tng Pha thit k hng i tng c chia thnh cc bc nh sau: Bc 1: Xy dng cc biu tng tc, bao gm biu tun t v biu cng tc.
Page | 43
NHM FSE09
Page | 44
NHM FSE09
Page | 45
NHM FSE09
Page | 46
NHM FSE09
3.3 Thit k chi tit Nhim v ca thit k chi tit l: o Xy dng biu hot ng m t chi tit cc phng thc phc tp trong biu lp. Biu ng ny s l c s ngi lp trnh ci t chnh xc phng thc.
Page | 47
NHM FSE09
Page | 48
NHM FSE09
3.5 Pht sinh m, chun b cho ci t h thng S dng phn mm Enterprise Architect sinh m ngun java nh sau: M s class chi tit, chn tt c. Nhn chut phi v chn Code Generation Generate Selected Element . Sau khi sinh code java chng trnh s hin ln cc ca s yu cu bn in tn cc class.
Page | 49
NHM FSE09
Page | 50
NHM FSE09
Page | 51
NHM FSE09