Professional Documents
Culture Documents
H NI - 2007
MC LC
MC LC.................................................................................................... ii LI NI U .............................................................................................. 1 CHNG 1 M U ................................................................................. 3
1.2 KHI QUT VNG I PHT TRIN H THNG THNG TIN...............4 1.3 CC CCH TIP CN PHN TCH THIT K H THNG.......................7 1.3.1 Phng php hng cu trc..............................................................8 1.3.2 Phng php hng i tng ...........................................................9 1.5 CC KHI NIM C BN CA HNG I TNG...........................10 1.6 CC BC PHN TCH THIT K HNG I TNG ....................11 TNG KT CHNG 1 .................................................................................13 CU HI V BI TP.....................................................................................13
ii
3.4.3 Xy dng biu trng thi ...............................................................74 3.4.3 Biu din biu trng thi trong Rational Rose ...............................75 TNG KT CHNG 3 .................................................................................78 CU HI BI TP .......................................................................................79
iii
LI NI U
LI NI U
Phng php lun pht trin cc h thng thng tin lun l mt trong nhng ch quan trng nht ca cng ngh thng tin. Tri qua mt giai on tin ho lu di, pht trin theo cch tip cn hng i tng dn dn chim u th v ngy cng tr nn ph bin v c chun ho trong cng nghip phn mm. Cng vi s ra i ca ngn ng m hnh ho thng nht UML v nhiu cng c h tr nh Rational Rose, AgroUMLphng php lun pht trin phn mm hng i tng c p dng rng ri trong cng nghip phn mm trn khp th gii. Ngn ng UML hin thi vn ang c pht trin p ng cho nhiu yu cu v nhiu dng h thng khc nhau nh h phn tn, h nhng Ti liu ny nhm gii thiu cho sinh vin cc khi nim c bn ca hng i tng v UML, sau trnh by cc bc phn tch thit k h thng thng tin da trn UML v cng c Rational Rose. Ni dung ca ti liu gm 4 chng v phn Ph lc: Chng 1: M u. Gii thiu cc dng h thng thng tin v cc khi nim c bn ca cch tip cn hng i tng; vng i pht trin h thng v so snh cc cch tip cn pht trin h thng. Chng 2: UML v Cng c pht trin h thng. Trnh by cc khi nim c bn ca UML, cc biu , cc k hiu UML v cc bc pht trin h thng s dng cc biu . Chng ny cng gii thiu cng c Rational Rose cho phn tch thit k h thng thng tin. Chng 3: Pha phn tch hng i tng. Trnh by cc bc phn tch h thng theo cc biu UML bao gm: xy dng m hnh use case, xy dng m hnh lp v biu trng thi. Ti liu cng a ra nhng gi cho tng bc v hng dn s dng cng c Rational Rose cho cc bc . Chng 4: Pha thit k hng i tng. Trnh by cc bc thit k h thng bao gm: xy dng cc biu tng tc, biu lp chi tit, thit k chi tit v xy dng biu trin khai h thng. Ti liu cng c nhng gi cho tng bc ca pha thit k.
LI NI U
Phn Ph lc. Trnh by ton b qu trnh phn tch thit k h thng qun l th vin v pht sinh m cho h thng ny. Mi chng u c phn cu hi, bi tp gip sinh vin hiu r hn kin thc c hc v kim tra kh nng p dng kin thc ca sinh vin vo cc bi ton thc t. Ti liu ny c xy dng nhm p ng nhu cu hc tp ca sinh vin t xa ca Hc vin Cng ngh Bu chnh Vin thng. Do thi gian c hn nn phin bn u tin ny chc chn cn nhiu hn ch v thiu st. Cc tc gi rt mong nhn c nhng ng gp kin ca cc ng nghip v cc bn sinh vin.
CHNG 1: M U
CHNG 1 M U
Chng ny tp trung trnh by cc ni dung sau y: Cc h thng thng tin v vn pht trin h thng thng tin Khi qut vng i pht trin h thng thng tin Cc cch tip cn phn tch v thit k h thng Cc khi nim c bn ca hng i tng
Mi loi h thng thng tin c nhng c trng ring v cng t ra nhng yu cu ring cho vic pht trin h thng. V d, cc h thng iu khin i hi nhng yu cu v mi trng pht trin, h iu hnh v ngn ng lp trnh ring;
CHNG 1: M U
cc h website thc thi cc chc nng trn mi trng mng phn tn i hi cch pht trin ring...Do vy, khng c mt phng php lun chung cho tt c cc dng h thng thng tin. Phm vi ca ti liu ny nhm gii thiu mt s khi nim c bn ca UML cho pht phin cc h thng v d dng minh ho chng ta s xem xt vn pht trin dng h thng thng tin ph bin nht l h thng thng tin qun l.
CHNG 1: M U
Thng thng hai qu trnh khng th thiu c trong vng i pht trin phn mm l vit ti liu v kim th. Cc qu trnh ny khng tr thnh mt pha ring bit m c tin hnh song song vi tt c cc pha khc trong tin trnh phn mm ngha l tt c cc pha u phi vit ti liu v kim th vi cc mc khc nhau. C rt nhiu m hnh vng i phn mm nhng hai m hnh n gin v c s dng rng ri nht l m hnh thc nc v m hnh lm bn mu nhanh. 1.2.1 M hnh thc nc Theo m hnh thc nc, sau khi yu cu ca h thng c xc nh v kim tra bi nhm SQA, pha phn tch s c tin hnh xy dng ti liu. Sau khi ti liu phn tch c khch hng chp nhn, nhm pht trin s tin hnh lp k hoch v lch biu cho cc qu trnh pht trin tip theo. Sau , cc pha thit k, ci t v tch hp s ln lt c tin hnh ; mi pha ny u c phn kim tra khi cn c th quay li sa i ti liu ca pha trc . Khi phn mm c trin khai v chuyn sang pha bo tr; nu c li hoc thay i xy ra, nhm thit k s phi quay tr li sa i ti liu cho mt trong cc pha trc v nu cn c th quay tr li thay i mt s yu cu ban u ca h thng. V cc pha c ni tip nhau mt cch lin tc nh mt thc nc nn m hnh ny c gi l m hnh thc nc. Tin trnh phn mm theo m hnh thc nc c biu din nh trong Hnh 1.1. M hnh thc nc c mt s u im nh sau: C vng lp, cho php tr v pha trc trong vng i phn mm sa cha khi pht hin li hoc khi c thay i. Hng ti liu: tt c cc pha trong vng i phn mm theo m hnh thc nc u c vit ti liu cn thn v c kim tra bi nhm SQA trc khi chuyn sang pha tip theo. Do vy, h thng s d dng bo tr khi c nhng thay i.
Tuy nhin, m hnh thc nc cng c nhc im l sn phm phn mm cui cng c th khng tha mn nhu cu thc s ca khch hng. L do l khch hng ch c trao i mt ln duy nht v cha c hnh dung sn phm nn rt c th cc pha tip theo s khng thc hin ng nhng g khch hng cn.
CHNG 1: M U
Thay i yu cu
Kim tra
Pha thit k Kim tra Pha ci t Kim tra Pht trin Bo tr Pha tch hp Kim tra Pha bo tr Pha loi b
Hnh 1.1: Tin trnh phn mm theo m hnh thc nc
1.2.2 M hnh lm bn mu nhanh Trong m hnh lm bn mu nhanh, bc u tin l nhm pht trin s xy dng mt bn mu v giao cho khch hng v ngi s dng h thng dng th. Khi khch hng ng chp nhn bn mu th nhm pht trin mi tip tc tin hnh cc pha khc ca vng i phn mm. Trong cc pha tip theo, do c bn mu nn cc pha s c tin hnh lin tc v khng c bc quay v pha trc . Ch khi h thng trin khai v chuyn sang pha bo tr, nu c thay i hay pht hin li th nhm pht trin mi quay li mt trong nhng pha trc , nhng khng quay li pha lm bn mu v bn mu c chp nhn. u im chnh ca m hnh ny l nhanh v hn na do sn phm phn mm c to ra t m hnh lm bn mu nn c kh nng cao l m bo tha mn yu cu thc s ca khch hng. Tuy nhin, m hnh lm bn mu nhanh
CHNG 1: M U
cng c nhc im do cc pha c tin hnh lin tc m khng c vit ti liu. M hnh lm bn mu nhanh c biu din nh trong Hnh 1.2.
Bn mu nhanh
Thay i yu cu
Kim tra
Pha thit k Kim tra Pha ci t Kim tra Pht trin Bo tr Pha tch hp Kim tra Pha bo tr Pha loi b
Hnh 1.2: Vng i pht trin phn mm theo m hnh lm bn mu nhanh
CHNG 1: M U
1.3.1 Phng php hng cu trc c trng ca phng php hng cu trc l phn chia chng trnh chnh thnh nhiu chng trnh con, mi chng trnh con nhm n thc hin mt cng vic xc nh. Trong phng php hng cu trc, phn mm c thit k da trn mt trong hai hng : hng d liu v hng hnh ng. Cch tip cn hng d liu xy dng phn mm da trn vic phn r phn mm theo cc chc nng cn p ng v d liu cho cc chc nng . Cch tip cn hng d liu s gip cho nhng ngi pht trin h thng d dng xy dng ngn hng d liu. Cch tip cn hng hnh ng li tp trung phn tch h phn mm da trn cc hot ng thc thi cc chc nng ca phn mm .
Cch thc thc hin ca phng php hng cu trc l phng php thit k t trn xung (top-down). Phng php ny tin hnh phn r bi ton thnh cc bi ton nh hn, ri tip tc phn r cc bi ton con cho n khi nhn c cc bi ton c th ci t c ngay s dng cc hm ca ngn ng lp trnh hng cu trc. Phng php hng cu trc c u im l t duy phn tch thit k r rng, chng trnh sng sa d hiu. Tuy nhin, phng php ny c mt s nhc im sau: Khng h tr vic s dng li. Cc chng trnh hng cu trc ph thuc cht ch vo cu trc d liu v bi ton c th, do khng th dng li mt modul no trong phn mm ny cho phn mm mi vi cc yu cu v d liu khc. Khng ph hp cho pht trin cc phn mm ln. Nu h thng thng tin ln, vic phn ra thnh cc bi ton con cng nh phn cc bi ton con thnh cc modul v qun l mi quan h gia cc modul s l khng phi l d dng v d gy ra cc li trong phn tch v thit k h thng, cng nh kh kim th v bo tr.
CHNG 1: M U
1.3.2 Phng php hng i tng Khc vi phng php hng cu trc ch tp trung hoc vo d liu hoc vo hnh ng, phng php hng i tng tp trung vo c hai kha cnh ca h thng l d liu v hnh ng. Cch tip cn hng i tng l mt li t duy theo cch nh x cc thnh phn trong bi ton vo cc i tng ngoi i thc. Vi cch tip cn ny, mt h thng c chia tng ng thnh cc thnh phn nh gi l cc i tng, mi i tng bao gm y c d liu v hnh ng lin quan n i tng . Cc i tng trong mt h thng tng i c lp vi nhau v phn mm s c xy dng bng cch kt hp cc i tng li vi nhau thng qua cc mi quan h v tng tc gia chng. Cc nguyn tc c bn ca phng php hng i tng bao gm : Tru tng ha (abstraction): trong phng php hng i tng, cc thc th phn mm c m hnh ha di dng cc i tng. Cc i tng ny c tru tng ha mc cao hn da trn thuc tnh v phng thc m t i tng to thnh cc lp. Cc lp cng s c tru tng ha mc cao hn na to thnh mt s cc lp c k tha ln nhau. Trong phng php hng i tng c th tn ti nhng lp khng c i tng tng ng, gi l lp tru tng. Nh vy, nguyn tc c bn xy dng cc khi nim trong hng i tng l s tru tng ha theo cc mc khc nhau. Tnh ng gi (encapsulation) v n du thng tin: cc i tng c th c nhng phng thc hoc thuc tnh ring (kiu private) m cc i tng khc khng th s dng c. Da trn nguyn tc n giu thng tin ny, ci t ca cc i tng s hon ton c lp vi cc i tng khc, cc lp c lp vi nhau v cao hn na l ci t ca h thng hon ton c lp vi ngi s dng cng nh cc h thng khc s dng kt qu ca n. Tnh modul ha (modularity): cc bi ton s c phn chia thnh nhng vn nh hn, n gin v qun l c. Tnh phn cp (hierarchy): cu trc chung ca mt h thng hng i tng l dng phn cp theo cc mc tru tng t cao n thp. u im ni bt ca phng php hng i tng l gii quyt c cc vn ny sinh vi phng php hng cu trc: 9
CHNG 1: M U
H tr s dng li m ngun : Chng trnh lp trnh theo phng php hng i tng thng c chia thnh cc gi l cc nhm ca cc lp i tng khc nhau. Cc gi ny hot ng tng i c lp v hon ton c th s dng li trong cc h thng thng tin tng t. Ph hp vi cc h thng ln: Phng php hng i tng khng chia bi ton thnh cc bi ton nh m tp trung vo vic xc nh cc i tng, d liu v hnh ng gn vi i tng v mi quan h gia cc i tng. Cc i tng hot ng c lp v ch thc hin hnh ng khi nhn c yu cu t cc i tng khc. V vy, phng php ny h tr phn tch, thit k v qun l mt h thng ln, c th m t cc hot ng nghip v phc tp bi qu trnh phn tch thit k khng ph thuc vo s bin d liu hay s lng thao tc cn thc hin m ch quan tm n cc i tng tn ti trong h thng .
CHNG 1: M U
c cc thuc tnh trn v b sung thm cc thuc tnh mi gm : chc v, lng. Vng i pht trin phn mm hng i tng cng c cc pha tng t nh cc vng i pht trin phn mm ni chung. Cc pha c bn c trng trong pht trin phn mm hng i tng bao gm: Phn tch hng i tng: xy dng mt m hnh chnh xc m t h thng cn xy dng l g. Thnh phn ca m hnh ny l cc i tng gn vi h thng thc. Thit k hng i tng: L giai on t chc chng trnh thnh cc tp hp i tng cng tc, mi i tng trong l thc th ca mt lp. Kt qu ca pha thit k cho bit h thng s c xy dng nh th no qua cc bn thit k kin trc v thit k chi tit. Lp trnh v tch hp: Thc hin bn thit k hng i tng bng cch s dng cc ngn ng lp trnh hng i tng (C++, Java, ).
11
CHNG 1: M U
Biu use case Biu lp Biu trng thi Biu tun t Biu cng tc Pha thit k Pha phn tch
12
CHNG 1: M U
Xy dng biu hot ng: m t hot ng ca cc phng thc phc tp trong mi lp hoc cc hot ng h thng c s lin quan ca nhiu lp. Biu hot ng l c s ci t cc phng thc trong cc lp. Xy dng biu thnh phn: xc nh cc gi, cc thnh phn v t chc phn mm theo cc thnh phn . Xy dng biu trin khai h thng: xc nh cc thnh phn v cc thit b cn thit trin khai h thng, cc giao thc v dch v h tr.
TNG KT CHNG 1
Chng ny trnh by cc ni dung m u cho phn tch thit k h thng hng i tng. Cc ni dung c bn cn nh gm : C nhiu loi h thng thng tin khc nhau nh : h thng thng tin qun l, cc Website, cc h thng thng mi, cc h thng iu khin ... Mi loi h thng thng tin s tng ng vi mt phng php pht trin ring. Vic pht trin cc h thng thng tin ni chung c xem nh mt vng i vi cc pha : Xc nh yu cu, c t, thit k, ci t tch hp, bo tr v loi b. C hai m hnh vng i n gin v hay dng nht l m hnh thc nc v m hnh lm bn mu nhanh. Phng php pht trin phn mm hng i tng t ra c nhiu u im hn so vi phng php hng cu trc. Cc pha c trng trong vng i pht trin phn mm hng i tng l phn tch hng i tng, thit k hng i tng v lp trnh hng i tng. Cc bc pht trin phn mm hng i tng c xy dng da trn cc biu trong ngn ng m hnh ho thng nht UML. Chng 2 s trnh by chi tit v UML v tp k hiu cho cc bc pht trin h thng.
CU HI V BI TP
1. 2. 3. K tn mt s v d cho cc loi h thng thng tin: h thng thng tin qun l, h thng website thng mi in t, h thng iu khin ... V sao ni tin trnh phn mm l s kt hp kha cnh k thut v kha cnh qun l. So snh u, nhc im ca phng php pht trin phn mm hng cu trc v hng i tng.
13
CHNG 1: M U
4.
Trnh by cc khi nim trong hng i tng : lp, i tng, gi, thnh phn, k tha. Cho v d.
14
Modeling Language) (Hnh 2.1). UML u tin c a ra nm 1997 v sau c chun ho tr thnh phin bn 1.0. Hin nay chng ta ang s dng ngn ng UML phin bn 2.0.
2.1.2 UML Ngn ng m hnh ho hng i tng UML (Unified Modelling Language) l ngn ng m hnh ho tng qut c xy dng c t, pht trin v vit ti liu cho cc kha cnh trong pht trin phn mm hng i tng. UML gip ngi pht trin hiu r v ra quyt nh lin quan n phn mm cn xy dng. UML bao gm mt tp cc khi nim, cc k hiu, cc biu v hng dn. UML h tr xy dng h thng hng i tng da trn vic nm bt kha cnh cu trc tnh v cc hnh vi ng ca h thng. Cc cu trc tnh nh ngha cc kiu i tng quan trng ca h thng, nhm ci t v ch ra mi quan h gia cc i tng . Cc hnh vi ng (dynamic behavior) nh ngha cc hot ng ca cc i tng theo thi gian v tng tc gia cc i tng hng ti ch.
16
Cc mc ch ca ngn ng m hnh ho thng nht UML: M hnh ho cc h thng s dng cc khi nim hng i tng. Thit lp s lin h t nhn thc ca con ngi n cc s kin cn m hnh ho. Gii quyt vn v mc tha k trong cc h thng phc tp vi nhiu rng buc khc nhau. To mt ngn ng m hnh ho c th s dng c bi ngi v my. UML quy nh mt lot cc k hiu v quy tc m hnh ho cc pha trong qu trnh pht trin phn mm hng i tng di dng cc biu . 2.1.3 Cc khi nim c bn trong UML a) Khi nim m hnh M hnh l mt biu din ca s vt hay mt tp cc s vt trong mt lnh vc p dng no theo mt cch khc. M hnh nhm nm bt cc kha cnh quan trng ca s vt, b qua cc kha cnh khng quan trng v biu din theo mt tp k hiu v quy tc no . Cc m hnh thng c xy dng sao cho c th v c thnh cc biu da trn tp k hiu v quy tc cho. Khi xy dng cc h thng, m hnh c s dng nhm tho mn cc mc ch sau: Nm bt chnh xc yu cu v tri thc min m h thng cn pht trin Th hn t duy v thit k h thng Tr gip ra quyt nh thit k da trn vic phn tch yu cu T chc, tm kim, lc, kim tra v sa i thng tin v cc h thng ln. Lm ch c cc h thng phc tp Ng ngha v biu din: Ng ngha l nhm a ra ngha, bn cht v cc tnh cht ca tp cc k hiu. Biu din l phng php th hin m hnh theo cch sao cho c th nhn thy c. Ng cnh: m t t chc bn trong, cch s dng m hnh trong tin trnh phn mm
Cc m hnh trong UML nhm mc ch h tr pht trin cc h thng phn mm hng i tng. Trong phng php lun hng i tng khng c s phn bit rch ri gia cc pha hay cc bc. Tuy nhin, thng thng UML vn c chia thnh mt s hng nhn v nhiu loi biu . Mt hng nhn trong UML l mt tp con cc biu UML c xy dng biu din mt kha cnh no ca h thng. S phn bit gia cc hng nhn l rt linh hot. C th c nhng biu UML c mt trong c hai hng nhn. Cc hng nhn cng cc biu tng ng c m t trong bng sau: Kha cnh chnh Hng nhn Cc biu Cc khi nim chnh
lp, lin h, k tha, ph thuc, giao din Use case, tc nhn, lin h, extend, include
Kha cnh Hng nhn tnh (static Biu lp cu trc h view) thng Hng nhn use case Biu use (Use case view) case
Hng nhn ci t Biu thnh Thnh phn, giao din, quan (implementation view) phn h ph thuc Hng nhn trin khai Biu trin Node, thnh phn, quan h (deployment view) khai ph thuc, v tr (location)
Kha cnh Hng nhn my trng Biu trng Trng thi, s kin, chuyn thi (state machine view) thi tip, hnh ng ng
Hng nhn hot ng Biu ng (activity view) Trng thi, s kin, chuyn tip, kt hp, ng b
Hng nhn tng tc Biu tun Tng tc, i tng, thng (interaction view) t ip, kch hot Biu cng Cng tc, vai tr cng tc, tc thng ip
18
Tt c
Cc rng stereotype,
buc,
c) Cc phn t m hnh v cc quan h Mt s k hiu m hnh hng i tng thng gp trong UML c biu din trong Hnh 2.2. i km vi cc phn t m hnh ny l cc quan h. Cc quan h ny c th xut hin trong bt c m hnh no ca UML di cc dng khc nhau (nh quan h gia cc use case, quan h trong biu lp ) (Hnh 2.3).
19
Aggregation
Biu hot ng biu din cc hot ng v s ng b, chuyn tip cc hot ng, thng c s dng biu din cc phng thc phc tp ca cc lp. Biu thnh phn nh ngha cc thnh phn ca h thng v mi lin h gia cc thnh phn . Biu trin khai m t h thng s c trin khai nh th no, thnh phn no c ci t u, cc lin kt vt l hoc giao thc truyn thng no c s dng. Biu m hnh cu trc (Structural Modeling Diagrams): biu din cc cu trc tnh ca h thng phn mm c m hnh ho. Cc biu trong m hnh tnh tp trung biu din kha cnh tnh ca h thng, lin quan n cu trc c bn cng nh cc phn t chnh trong min quan tm ca bi ton. Cc biu trong m hnh tnh bao gm: Biu gi Biu i tng v lp Biu thnh phn Biu trin khai
Da trn tnh cht ca cc biu , UML chia cc biu thnh hai lp m hnh1:
Biu m hnh hnh vi (Behavioral Modeling Diagrams): Nm bt n cc hot ng v hnh vi ca h thng, cng nh tng tc gia cc phn t bn trong v bn ngoi h thng. Cc dng biu trong m hnh ng bao gm: Biu use case Biu tng tc dng tun t Biu tng tc dng cng tc Biu trng thi Biu ng
Chng ta s ln lt xem xt chi tit cc biu UML, mi biu s c trnh by ngha ca n, tp k hiu UML cho biu v mt v d.
21
2.2.1 Biu use case a) ngha Biu use case biu din s chc nng ca h thng. T tp yu cu ca h thng, biu use case s phi ch ra h thng cn thc hin iu g tho mn cc yu cu ca ngi dng h thng . i km vi biu use case l cc kch bn (scenario). C th ni, biu use case ch ra s tng tc gia cc tc nhn v h thng thng qua cc use case. Mi use case m t mt chc nng m h thng cn phi c xt t quan im ngi s dng. Tc nhn l con ngi hay h thng thc khc cung cp thng tin hay tc ng ti h thng. Mt biu use case l mt tp hp cc tc nhn, cc use case v cc mi quan h gia chng. Cc use case trong biu use case c th c phn r theo nhiu mc khc nhau. b) Tp k hiu UML cho biu use case Mt biu Use Case cha cc phn t m hnh biu th h thng, tc nhn cng nh cc trng hp s dng v cc mi quan h gia cc Use Case. Chng ta s ln lt xem xt cc phn t m hnh ny: a) H thng: Vi vai tr l thnh phn ca biu use case, h thng biu din ranh gii gia bn trong v bn ngoi ca mt ch th trong phn mm chng ta ang xy dng. Ch rng mt h thng trong biu use case khng phi bao gi cng nht thit l mt h thng phn mm; n c th l mt chic my, hoc l mt h thng thc (nh mt doanh nghip, mt trng i hc, ). b) Tc nhn (actor): l ngi dng ca h thng, mt tc nhn c th l mt ngi dng thc hoc cc h thng my tnh khc c vai tr no trong hot ng ca h thng. Nh vy, tc nhn thc hin cc use case. Mt tc nhn c th thc hin nhiu use case v ngc li mt use case cng c th c thc hin bi nhiu tc nhn. c) Cc use case: y l thnh phn c bn ca biu use case. Cc use case c biu din bi cc hnh elip. Tn cc use case th hin mt chc nng xc nh ca h thng. d) Mi quan h gia cc use case: gia cc use case c th c cc mi quan h nh sau: 22
Include: use case ny s dng li chc nng ca use case kia. Extend: use case ny m rng t use case kia bng cch thm vo mt chc nng c th. Generalization: use case ny c k tha cc chc nng t use case kia.
Cc phn t m hnh use case cng vi ngha v cch biu din ca n c tng kt trong bng 2.2. Phn t m hnh Use case ngha Biu din mt chc nng xc nh ca h thng L mt i tng bn ngoi h thng tng tc trc tip vi cc use case Cch biu din Hnh ellip cha tn ca use case Biu din bi mt lp kiu actor (hnh ngi tng trng) <<extend>> <<include> K hiu trong biu
Usecase name
Tc nhn
Mi quan h Ty tng dng quan h Extend v include gia cc use c dng cc mi case tn t nt Generalization c dng mi tn tam gic. Bin ca h Tch bit phn bn c biu din thng trong v bn ngoi h bi mt hnh ch thng nht rng.
c) V d biu use case Di y l mt use case cho h thng qun l th vin n gin. Ngi qun tr th vin (th th) thng qua ng nhp thc hin Cp nht thng tin v Qun l cc giao dch mn - tr sch. Bn c ch c th tm kim, tra cu thng tin sch. Chc nng tm kim sch c dng nh mt phn trong chc nng Cp nht v Qun l mn sch nn chng ta s dng quan h include. Chi tit hn v cch xy dng biu ny s trnh by trong chng 3.
23
Cap nhat
<<include>>
Thu thu
Dang nhap
<<include>>
Tim kiem
Ban doc
Hnh 2.4: Biu use case tng qut trong h thng qun l th vin
2.2.2 Biu lp a) ngha Trong phng php hng i tng, mt nhm i tng c chung mt s thuc tnh v phng thc to thnh mt lp. Mi tng tc gia cc i tng trong h thng s c biu din thng qua mi quan h gia cc lp. Cc lp (bao gm c cc thuc tnh v phng thc) cng vi cc mi quan h s to thnh biu lp. Biu lp l mt biu dng m hnh tnh nhm m t hng nhn tnh v mt h thng bng cc khi nim lp, cc thuc tnh, phng thc ca lp v mi quan h gia chng vi nhau. b) Tp k hiu UML cho biu lp Trong phn ny, ti liu s xem xt cc vn lin quan n biu din s lp trong UML. Cui phn ny s l mt bng tng kt cc k hiu UML s dng trong s lp. K hiu lp: trong UML, mi lp c biu din bi hnh ch nht gm 3 phn: tn lp, cc thuc tnh v cc phng thc. Thuc tnh: cc thuc tnh trong biu lp c biu din theo cu trc chung nh sau: phm_vi tn : kiu s_i_tng = mc_nh (Gi_ tr_gii_hn ) Trong : phm_vi cho bit phm vi truy nhp ca thuc tnh. C ba kiu xc nh thuc tnh ph bin l: +: thuc tnh kiu public #: thuc tnh kiu protected 24
-: thuc tnh kiu private. ~: thuc tnh c php truy nhp ti t cc lp trong cng package Cc phm vi ca thuc tnh c th c biu din di dng k hiu (+, #, -, ~) hoc biu din di dng cc t kho (public, protected, private). Tn: l xu k t biu din tn thuc tnh. kiu: l kiu d liu ca thuc tnh. s_i_tng: ch ra s i tng khai bo cho thuc tnh ng vi mt mc_nh: l gi tr khi u mc nh (nu c) ca thuc tnh. Gi_ tr_gii_hn: l gii hn cc gi tr cho thuc tnh (thng tin ny khng bt buc). V d mt khai bo thuc tnh y : purchaseDate:Date[1] =01-01-2000 (Saturday) Phng thc (method): cc phng thc trong UML c biu din theo cu trc chung nh sau [UNG]: phm_vi tn(danh_s ch_tham_s): kiu_tr_li { ki u_ph ng_thc} Trong : visibility biu din phm vi cho phng thc. Ging nh i vi thuc tnh, c ba dng kiu xc nh c bn cho phng thc l: - +: phng thc kiu public - #: phng thc kiu protected
- -: phng thc kiu private - ~: phng thc c php truy nhp ti t cc lp trong cng package
tn l xu k t xc nh tn ca phng thc. kiu_tr_li: ch ra kiu gi tr tr v ca phng thc. danh_sch_tham_s: biu din danh sch cc tham s trong khai bo ca phng thc. Mi tham s c biu din di dng chung: tn tham s: kiu gi tr = gi tr mc nh. ki u_ph ng_thc: khng bt buc, cho bit kiu phng thc. Phng thc c th nhn mt trong cc kiu c bit sau: abstract: phng thc kiu tru tng query: phng thc kiu truy vn.
25
V d mt khai bo phng thc cho mt lp: generatePurchaseList(prodID:int): String Cc kiu lp trong UML UML nh ngha mt s kiu lp c bit da trn vai tr ca n trong biu lp. Ngoi kiu lp thng thng trnh by trn, UML cn nh ngha mt s kiu lp b sung gm:
Lp thc th: l lp i din cho cc thc th cha thng tin v cc i tng xc nh no . Lp bin (lp giao din): l lp nm ranh gii gia h thng vi mi trng bn ngoi, thc hin vai tr nhn yu cu trc tip t cc tc nhn v chuyn cc yu cu cho cc lp bn trong h thng. Lp iu khin: thc hin cc chc nng iu khin hot ng ca h thng ng vi cc chc nng c th no vi mt nhm cc lp bin hoc lp thc th xc nh.
STT 1 2 3
K hiu UML
Cc mi quan h trong biu lp Gia cc lp c cc dng quan h c bn nh sau: Quan h kt hp (Association): Mt kt hp (association) l mt s ni kt gia cc lp, cng c ngha l s ni kt gia cc i tng ca cc lp ny. Trong UML, mt quan h cnc nh nhm m t mt tp hp cc lin kt (links), tc l mt s lin quan v ng ngha (semantic connection) gia mt nhm cc i tng c biu din bi cc lp tng ng.
26
Mc nh, quan h kt hp c biu din bi on thng 2 chiu ni 2 i tng v c th km theo ng ngha ca quan h ti hai u ca on thng. Xem v d Hnh 2.5. Lp khch hng c quan h kt hp vi lp sn phm. Ng ngha ca quan h ny th hin ch: khch hng mua sn phm, cn sn phm c bn cho khch hng. Khch hng Bn cho Mua
Hnh 2.5: Quan h kt hp
Sn phm
Khi qut ha (Generalization): Khi qut ha l mi quan h gia mt lp c cc c trng mang tnh khi qut cao hn v mt lp c tnh cht c bit hn. Trong s lp, mi quan h khi qut ha chnh l s k tha ca mt lp t lp khc. Quan h khi qut ho c biu din bng mt mi tn c tam gic rng gn u. Xem v d Hnh 2.7. Khch hng
27
Quan h cng hp (Aggregation): l dng quan h m t mt lp A l mt phn ca lp B v lp A c th tn ti c lp. Quan h cng hp c biu din bng mt mi tn gn hnh thoi rng u hng v lp bao hm. Xem v d Hnh 2.8. Lp Ho n l mt phn ca lp Khch hng nhng i tng Ho n vn c th tn ti c lp vi i tng khch hng. Khch hng
Ho n
Thuc v
Hnh 2.8: Quan h cng hp
Quan h gp (Composition): Mt quan h gp biu din mt quan h kiu tng th-b phn. Lp A c quan h gp vi lp B nu lp A l mt phn ca lp B v s tn ti ca i tng lp B iu khin s tn ti ca i tng lp A. Quan h ny c biu din bi mt mi tn gn hnh thoi c u. Xem v d Hnh 2.9.
a ch
C
Hnh 2.9: Quan h gp
Khch hng
Quan h ph thuc (Dependency): Ph thuc l mi quan h gia hai lp i tng: mt lp i tng A c tnh c lp v mt lp i tng B ph thuc vo A; mt s thay i ca A s nh hng n lp ph thuc B. Xem v d Hnh 2.10. Hng gim gi
Hnh 2.10: Quan h ph thuc
Ho n
Quan h thc thi (Realization): biu din mi quan h ng ngha gia cc thnh phn ca biu lp, trong mt thnh phn m t mt cng vic
28
dng hp ng v thnh phn cn li thc hin hp ng . Thng thng lp thc hin hp ng c th l cc giao din. Xem v d Hnh 2.11. <<interface>> B m tin
Hnh 2.11: Quan h thc thi
Ho n
Bng 2.4 tng kt cc phn t m hnh UML c s dng trong m hnh lp, ngha v k hiu tng ng trong cc biu . Phn t m hnh
Lp (class)
ngha
Biu din tn lp, Mt hnh ch nht cc thuc tnh v gm 3 phn tch phng thc ca bit. lp .
Quan h kiu Biu din quan h kt hp gia hai lp c lp, c lin quan n nhau. Quan h gp
Tn
Biu din quan h ng k lin nt kiu b phn c hnh thoi u. tng th.
Quan h khi Lp ny tha Mi tn tam gic. qut ho (k hng cc thuc tnh - phng tha) thc ca lp kia Quan h ph Cc lp ph thuc Mi tn t nt. thuc. ln nhau trong hot ng ca h thng.
Bng 2.4: Tm tt cc phn t m hnh UML trong biu lp
c) V d biu lp
29
Di y l v d mt phn ca biu lp trong h thng qun l th vin trong cc lp Th th (ngi qun l th vin) v Bn c k tha t lp Person.
Nguoi ten : String diachi : String ngaysinh : Date getTen() setTen() getDiachi() setDiachi() getNgaysinh() setNgaysinh()
2.2.3 Biu trng thi a) ngha 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.
b) Tp k hiu UML cho biu trng thi Cc thnh phn trong mt biu trng thi bao gm: Trng thi (state). Bn trong cc trng thi c th miu t cc bin trng thi hoc cc hnh ng (action) tng ng vi trng thi .
30
Trng thi con (substate): l mt trng thi cha bn trong mt trng thi khc. Trng thi c nhiu trng thi con gi l trng thi t hp. Xem xt mt v d c trng thi con trong Hnh 2.13. Thc hin tnh ton Cha tnh ton Tinh() Thc hin kim tra Kim tra li Return() Tnh tng
Hnh 2.13: Biu trng thi c trng thi con Trng thi khi u (initial state): trng thi u tin khi kch hot i tng. Trng thi kt thc (final state): kt thc vng i i tng. Cc chuyn tip (transition): biu din cc chuyn i gia cc trng thi. S kin (event): s kin tc ng gy ra s chuyn i trng thi. Mi s kin c i km vi cc iu kin (guard) v cc hnh ng (action). S kin gi (call event): Yu cu thc hin mt hnh ng (mt phng thc) S kin tn hiu (signal event): Gi thng ip (cha cc gi tr thuc tnh tham s lin quan) gia cc trng thi. S kin thi gian (time event): Biu din qu trnh chuyn tip theo thi gian, thng km theo t m t thi gian c th.
Cc phn t m hnh UML v k hiu tng ng cho biu trng thi c tng kt nh trong Bng 2.5.
31
Hnh ch nht vng gc, gm 3 phn: tn, cc bin, v cc hot ng. Trng thi Khi u vng i Hnh trn c ca i tng. khi u Trng thi Kt thc vng i Hai hnh trn ca i tng. lng nhau kt thc Chuyn tip Chuyn t trng Mi tn lin nt (transition) thi ny sang trng vi tn gi l thi khc biu din ca chuyn tip . Biu din mt trng thi ca i tng trong vng i ca i tng .
ngha
Biu din
Tn_chuyn_tip
c) V d Biu trang thi Di y l biu trng thi ca lp th mn trong chc nng Qun l mn sch. Chi tit v xy dng biu trng thi ny s c trnh by trong Chng 3.
32
2.2.4 Biu tng tc dng tun t Cc biu tng tc biu din mi lin h gia cc i tng trong h thng v gia cc i tng vi cc tc nhn bn ngoi. C hai loi biu tng tc: Biu tun t v biu cng tc. a) ngha Biu tun t: Biu din mi quan h gia cc i tng, gia cc i tng v tc nhn theo th t thi gian. Biu tun t nhn mnh th t thc hin ca cc tng tc. b) Tp k hiu UML cho biu tun t Cc thnh phn c bn ca mt biu tun t l: Cc i tng (object): c biu din bi cc hnh ch nht, bn trong l tn ca i tng. Cch vit chung ca i tng l: tn i tng: tn lp. Nu ch vit :tn_lp th c ngha l bt c i tng no ca lp tng ng . Trong biu tun t, khng phi cc i tng u xut hin trn cng ca biu m chng ch xut hin (v mt thi gian) khi thc s tham gia vo tng tc. Cc message: c biu din bng cc mi tn hng t i tng gi sang i tng nhn. Tn cc message c th biu din di dng phi hnh thc (nh cc thng tin trong kch bn) hoc di dng hnh thc (vi dng ging nh cc phng thc). Biu tun t cho php c cc message t mt i tng ti chnh bn thn n. Trong biu tun t c th c nhiu loi message khc nhau tu theo mc ch s dng v tc ng ca message n i tng. Cc dng message c tng kt trong Bng 2.6 di y: Loi message Gi (call) Tr v (return) M t M t mt li gi t i tng ny n i tng kia. Tr v gi tr ng vi li gi Biu din Method()
STT 1 2
Gi tr tr v
33
Gi (send)
Send()
To (create)
<<create>>
Hu (destroy)
Hu mt i tng
<<destroy>>
ng lifeline: l mt ng k ni di pha di i tng, m t qu trnh ca i tng trong tng tc thuc biu . Ch thch: biu tun t cng c th c ch thch ngi c d dng hiu c ni dung ca biu .
c) V d biu tng tc dng tun t Di y l mt v d cho biu tun t cho chc nng Thm sch trong h thng qun l th vin. Trong biu ny c i tng giao din FormThemSach, i tng iu khin DK Thm sch v i tng thc th Sach. Chi tit v xy dng biu ny s c trnh by trong Chng 4.
34
: Thu thu
: DK_ThemSach
: Sach
Nhap thong tin sach m oi Tao doi tuong sach moi Kiem tra thong tin sach Nhap sach vao CSDL
Nhap thanh cong Nhap thanh cong Thong bao nhap thanh cong
2.2.5 Biu tng tc dng cng tc a) ngha Biu cng tc: L biu tng tc biu din mi quan h gia cc i tng; gia cc i tng v tc nhn nhn mnh n vai tr ca cc i tng trong tng tc. Biu cng tc cng c cc messgage vi ni dung tng t nh trong biu tun t. Tuy nhin, cc i tng c t mt cch t do trong khng gian ca biu v khng c ng life line cho mi i tng. Cc message c nh s th hin th t thi gian. b) Tp k hiu UML cho biu cng tc Cc thnh phn c bn ca mt biu cng tc l: Cc i tng: c biu din bi cc hnh ch nht, bn trong l tn ca i tng. Cch vit chung ca i tng l: tn i tng: tn lp. Trong
35
biu cng tc, cc i tng tham gia tng tc lun xut hin ti mt v tr xc nh. Cc lin kt: gia hai i tng c tng tc s c mt lin kt ni 2 i tng . Lin kt ny khng c chiu. Cc message: c biu din bng cc mi tn hng t i tng gi sang i tng nhn bn cnh lin kt gia 2 i tng . Trong biu cng tc, cc message c nh s th t theo th t xut hin trong kch bn m t use case tng ng.
c) V d biu cng tc Di y l mt biu cng tc m t chc nng Thm sch trong h thng Qun l th vin.
3: Nhap thong tin sach moi
: Thu thu
9: Thong bao nhap thanh cong
: FormThemSach
: DK_ThemSach
: Sach
2.2.6 Biu hot ng a) ngha 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.
36
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. b) Tp k hiu UML Cc phn t m hnh UML cho biu hot ng bao gm: Hot ng (Activity): l mt quy trnh c nh ngha r rng, c th c thc hin bi mt hm hoc mt nhm i tng. Hot ng c th hin bng hnh ch nht trn cnh. Thanh ng b ha (Synchronisation bar): cho php ta m ra hoc l ng li cc nhnh chy song song trong tin trnh.
iu kin (Guard Condition): cc biu thc logic c gi tr hoc ng hoc sai. iu kin c th hin trong ngoc vung, v d: [Customer existing]. Cc lung (swimlane): Mi biu ng c th biu din s phi hp hot ng trong nhiu lp khc nhau. Khi mi lp c phn tch bi mt lung (swimlane) ring bit. Cc lung ny c biu din n gin l cc khc nhau trong biu . ngha K hiu trong biu M t mt hot ng gm tn hot ng v c t ca n. NewActivity
Cc k hiu UML cho biu hot ng c tng kt trong Bng sau: Phn t m hnh Hot ng
37
Trng thi kt thc Thanh ng b ngang Thanh ng b ho dc M t thanh ng b nm ngang M t thanh ng b theo chiu thng ng
Chuyn tip
Quyt nh
Cc lung (swimlane)
M t mt la chn iu kin.
Phn tch cc lp i tng Phn cch nhau bi mt khc nhau tn ti trong biu ng k dc t trn xung di biu hot ng
c) V d biu hot ng Di y l v d biu hot ng ca hm thc hin chc nng mn sch trong lp Th mn (H thng qun l th vin). Chi tit v biu ny s c trnh by trong chng 4.
38
Gui yeu cau Muon Kiem tra so luong Sach con lai Xac nhan du sach
Xac nhan cho muon Het quyen muon sach In Phieu muon Khong co hoac khong du sach
2.2.7 Biu thnh phn a) ngha Biu thnh phn c s dng biu din cc thnh phn phn mm cu thnh nn h thng. Mt h phn mm c th c xy dng t u bng cch s dng m hnh lp nh trnh by trong cc phn trc ca ti liu, hoc cng c th c to nn t cc thnh phn sn c. Mi thnh phn c th coi nh mt phn mm nh hn, cung cp mt khi dng hp en trong qu trnh xy dng phn mm ln. Ni cch khc, cc thnh phn l cc gi c xy dng cho qu trnh trin khai h thng. Cc thnh phn c th l cc gi mc cao nh JavaBean, cc gi th vin lin kt ng dll, hoc 39
cc phn mm nh c to ra t cc thnh phn nh hn nh cc lp v cc th vin chc nng. b) Tp k hiu UML Tp k hiu UML cho biu thnh phn c tng kt trong bng sau: Phn t m hnh Thnh phn ngha
M t mt thnh phn ca biu , mi thnh phn c th cha nhiu lp hoc nhiu chng trnh con. M t giao tip gn vi mi thnh phn. Cc thnh phn trao i thng tin qua cc giao tip.
Giao tip
Mi quan h ph Mi quan h gia cc thnh phn (nu thuc gia cc c). thnh phn Gi (package) c s dng nhm mt s thnh phn li vi nhau.
NewPackage
2.2.8 Biu trin khai h thng a) ngha Biu trin khai biu din kin trc ci t v trin khai h thng di dng cc nodes v cc mi quan h gia cc node . Thng thng, cc nodes c kt ni vi nhau thng qua cc lin kt truyn thng nh cc kt ni mng, lin kt TCPIP, microwave v c nh s theo th t thi gian tng t nh trong biu cng tc. b) Tp k hiu UML cho biu trin khai Tp k hiu UML cho biu trin khai h thng c biu din trong Bng sau:
40
Phn t m hnh
ngha
Cc nodes (hay cc Biu din cc thnh phn khng c b vi x l trong biu trin khai thit b) h thng Cc b x l Biu din cc thnh phn c b vi x l trong biu trin khai h thng
Processor
Cc lin kt truyn Ni cc thnh phn ca biu trin khai h thng. Thng m t mt thng giao thc truyn thng c th.
Bng 2.8: Cc k hiu ca biu trin khai h thng
41
Trong giao din ca Rational Rose (Hnh 2.19), ca s pha bn tri l ca s Browser cha cc View (hng nhn, quan im), trong mi View l cc m hnh tng ng ca UML. C th xem mi View l mt cch nhn theo mt kha cnh no ca h thng. Use Case View: xem xt kha cnh chc nng ca h thng nhn t pha cc tc nhn bn ngoi Logical View: xem xt qu trnh phn tch v thit k logic ca h thng thc hin cc chc nng trong Use Case View. Component View: xem xt kha cnh t chc h thng theo cc thnh phn v mi lin h gia cc thnh phn . Deployment View: xem xt kha cnh trin khai h thng theo cc kin trc vt l.
Ca s pha bn phi ca mn hnh Rational Rose l ca s biu (Diagram Windows) c s dng v cc biu s dng cc cng c v tng ng trong ToolBox. Hu ht cc k hiu s dng v biu trong Rational Rose u thng nht vi chun UML.
42
Giao din chnh ca Rational Rose trong cc biu u c chia thnh cc phn nh trong Hnh 2.21. ngha chnh ca cc thnh phn ny nh sau: MenuBar v ToolBar cha cc menu v cng c tng t nh cc ng dng Windows khc. Phn Browser Window cho php ngi s dng chuyn tip nhanh gia cc biu trong cc View. Phn Doccumentation Window dng vit cc thng tin lin quan n cc phn t m hnh tng ng trong biu . Cc thng tin ny c th l cc rng buc, mc ch, cc t kha lin quan n phn t m hnh . Phn ToolBox cha cc cng c dng v biu . ng vi mi dng biu th s c mt dng toolbox tng ng.
43
Menu/ToolBar
ToolBox
Doccumentation Window Specification Window
Phn Diagram Window l khng gian v v hiu chnh cc biu trong m hnh tng ng. Ca s Specification Window l c t chi tit ca mi phn t m hnh theo cc trng thng tin tng ng vi dng biu .
Vn s dng Rational Rose cho cc bc c th trong phn tch thit k h thng s c trnh by chi tit trong Chng 3 v 4 ca ti liu ny.
TNG KT CHNG 2
Chng 2 gii thiu ngn ng m hnh ho thng nht UML v cng c Rational Rose cho pht trin phn mm hng i tng. Cc ni dung chnh cn ghi nh: UML ra i t s kt hp cc phng php lun pht trin phn mm hng i tng khc nhau c trc . UML hin nay c coi l ngn ng m hnh ho chun cho pht trin cc phn mm hng i tng.
44
UML c chia thnh nhiu hng nhn, mi hng nhn quan tm n h thng phn mm t mt kha cnh c th. Nu xt theo tnh cht m hnh th UML c hai dng m hnh chnh l m hnh tnh v m hnh ng. Mi m hnh li bao gm mt nhm cc biu khc nhau. Mi biu UML c mt tp k hiu ring biu din cc thnh phn ca biu . Qu trnh biu din cc biu cng phi tun theo cc quy tc c nh ngha trong UML. Hin nay c rt nhiu cng c h tr phn tch thit k h thng hng i tng s dng UML trong b cng c Rational Rose l b cng c c s dng rt rng ri vi nhiu tnh nng u vit. Cc v d trong ti liu ny u c xy dng v biu din trn Rational Rose.
CU HI BI TP
1. UML ra i t cc ngn ng v phng php m hnh ha no? 2. Hng nhn l g? UML bao gm cc hng nhn no? 3. Lit k cc biu ca UML v tp k hiu UML cho tng biu . 4. Lit k cc bc pht trin phn mm hng i tng s dng UML 5. Phn bit m hnh tnh v m hnh ng trong UML? 6. Phn bit cc dng quan h trong biu lp nh: quan h khi qut ha, quan h kt hp, quan h cng hp, quan h gp. 7. Phn bit biu tun t v biu cng tc. Cc ch khi biu din hai biu ny.
45
Nh vy, pha phn tch ch dng li mc xc nh cc c trng m h thng cn phi xy dng l g, ch ra cc khi nim lin quan v tm ra hng gii quyt bi ton ch cha quan tm n cch thc thc hin xy dng h thng nh th no. Nh cch ni trong ngn ng ting Anh, pha phn tch nhm tr li cho cu hi what, cn cu hi how s c tr li trong pha thit k.
46
3.1.2 Cc bc phn tch hng i tng Phn tch hng i tng c chia lm ba bc tng ng vi ba dng m hnh UML l: M hnh use case: bc ny nhm xy dng m hnh chc nng ca sn phm phn mm. Cc chc nng ny c nhn t quan im ca nhng ngi s dng h thng. Kt qu ca bc ny l mt biu use case c phn cp cng cc scenario tng ng ca tng use case, trong biu din y cc chc nng ca h thng v c khch hng chp nhn. M hnh lp: biu din cc lp, cc thuc tnh v mi quan h gia cc lp. T tp cc use case v scenario, nhm pht trin h thng s phi ch ra cc lp, xc nh cc thuc tnh, cc phng thc v cc mi quan h gia cc lp. M hnh ng: biu din cc hot ng lin quan n mt lp hay lp con. Cc hot ng ny c biu din di dng tng t nh s my trng thi hu hn v c gi l biu trng thi. Ngoi biu trng thi, trong m hnh ng cn c cc biu khc l: biu tng tc (gm c biu tun t, biu cng tc) v biu ng. Tuy nhin, trong pha phn tch, ngi pht trin h thng ch quan tm n biu trng thi cho mi lp xc nh c trong m hnh lp. 3.1.3 V d minh ha cho cc bc phn tch cng nh trong pha thit k Chng 4, chng ta hy xt mt h qun l th vin n gin. Gii hn ca h thng ny c th hin qua cc yu cu sau: Ti liu trong th vin bao gm: sch, bo, tp ch ... c m t chung gm cc thuc tnh: tn ti liu, tc gi, nh xut bn, nm xut bn, s lng hin c. i vi cc bn c: thc hin cc thao tc tm ti liu, mn, tr ti liu v xem xt cc thng tin v ti liu m mnh ang mn. Vic tm kim ti liu c thc hin trc tip qua mng. Tuy nhin, giao dch mn v tr sch phi thc hin trc tip ti th vin.
47
Qu trnh mn v tr ti liu thng qua mt th mn ghi y ni dung lin quan n bn c v ti liu c mn; thi gian bt u mn v thi hn phi tr. i vi ngi qun l th vin (th th): c php cp nht cc thng tin lin quan n ti liu v bn c.
Bi ton ny s c s dng lm v d trong qu trnh thc hin cc bc phn tch v thit k h thng (Chng 3, 4). Ti liu phn tch thit k h thng s c trnh by y trong phn Ph lc.
48
Biu use case l c s cho nhng bc tip theo ca qu trnh phn tch thit k h thng phn mm. Da trn biu use case v cc scenario, ngi pht trin h thng s ch ra cc lp cn thit cng nh cc thuc tnh ca cc lp .
Cc mc tiu chnh cn t c ca cc use case l: - Cn ch ra v m t c cc yu cu mang tnh chc nng ca h thng, y l kt qu rt ra t s tha thun gia khch hng (v/hoc ngi s dng cui) v nhm pht trin phn mm. - a ra mt m t r rng v nht qun v vic h thng cn phi lm g, lm sao m hnh c th c s dng nht qun trong sut ton b qu trnh pht trin v to thnh nn tng cho vic thit k cc chc nng sau ny. - To nn mt nn tng cho cc bc kim th h thng, m bo h thng tha mn ng nhng yu cu do ngi s dng a ra. Trong thc t thng l tr li cu hi: Liu h thng cui cng c thc hin nhng chc nng m khi u khch hng ngh hay khng? - Cung cp kh nng theo di qu trnh chuyn cc yu cu v mt chc nng thnh cc lp c th cng nh cc phng thc c th trong h thng. - n gin ha vic thay i v m rng h thng qua vic thay i v m rng m hnh Use Case. Khi h thng cn thay i (thm bt cc chc nng no ), ngi pht trin h thng ch cn b sung trong biu use case cho ph hp, sau ch theo di ring nhng use case b thay i cng nhng nh hng ca chng trong thit k h thng v xy dng h thng. Nhng cng vic c th cn thit to nn mt m hnh Use Case bao gm: 1. Xc nh cc tc nhn v cc Use Case 2. Xc nh cc mi quan h v phn r biu use case 3. Biu din cc use case thng qua cc kch bn 4. Kim tra v hiu chnh m hnh Ni dung c th thc hin trong mi bc ny s c trnh by c th trong phn sau ca ti liu.
49
3.2.2 Xy dng biu use case Phn ny s trnh by qu trnh xy dng biu use case theo UML v p dng trong b cng c Rational Rose. Bc 1: Tm cc tc nhn v cc use case tm cc tc nhn, ngi pht trin h thng cn tr li cc cu hi sau:
Ai (hay h thng no) s l ngi s dng nhng chc nng chnh ca h thng? (tr li cu hi ny ta s tm c cc tc nhn chnh). Ai cn s h tr ca h thng thc hin nhng cng vic hng ngy ca h? Ai s cn bo tr, qun tr v m bo cho h thng hot ng (tc nhn ph)? H thng s phi x l v lm vic vi nhng trang thit b phn cng no? H thng cn phi tng tc vi cc h thng no khc? Cn phn bit h thng m chng cn phi xy dng vi cc h thng s tng tc vi n. Ngha l, cn xc nh r bin gii gia h thng yu cu xy dng vi h thng khc c th bao gm cc h thng my tnh cng nh cc ng dng khc trong chnh chic my tnh m h thng ny s hot ng trong tng lai. Ai hay ci g quan tm n kt qu m h thng s sn sinh ra?
Xem xt bi ton qun l th vin, cc chc nng chnh ca h thng qun l th vin c thc hin bi th th v bn c ca th vin . Nh vy, chng ta c hai tc nhn l th th v bn c, trong bn c khng phn bit l sinh vin hay gio vin. T cc tc nhn tm c trn, ngi pht trin h thng s tm ra cc use case qua vic xem xt cc cu hi sau trn mi tc nhn: Tc nhn cn chc nng no t h thng. Hnh ng chnh ca tc nhn ny l g? Tc nhn cn phi xem, cp nht hay lu tr thng tin g trong h thng? Tc nhn c cn thng bo cho h thng nhng s kin no hay khng? Nhng s kin nh th i din cho nhng chc nng no? H thng c cn thng bo cho tc nhn khi c thay i trong h thng hay khng? H thng cn c nhng chc nng g n gin ha cc cng vic ca tc nhn?
50
Trong bi ton qun l th vin m chng ta ang xt, tc nhn bn c, anh ta cn cc chc nng lin quan n tm kim ti liu, xem thng tin c nhn, ng k mn v tr sch. Cn tc nhn th th s thc hin cp nht cc thng tin lin quan n bn c v cc thng tin v ti liu, thc hin cc giao dch mn v tr sch. Da vo , ta xc nh c mt s use case nh: tm kim ti liu, cp nht, cp nht bn c, cp nht ti liu, qun l mn sch, qun l tr sch, xem thng tin c nhn. Ngoi ra, use case cn c xc nh thng qua cc cu hi khc nh sau: Ngoi cc tc nhn, cc chc nng ca h thng c c th c sinh ra bi s kin no khc (nh s kin thi gian, tc ng ca chc nng khc, ). H thng cn nhng thng tin u vo u ra no?
Trong bi ton qun l th vin, cp nht c thng tin, th th phi thng qua vic ng nhp h thng. Hay ni cch khc, s kin ng nhp h thng s l iu kin cho use case cp nht. Vy ta s cn thm use case cp nht.
Da trn cc mi quan h trn, biu use case c biu din li thnh dng phn cp gi l phn r biu use case. Nguyn tc phn r biu use case nh sau: Xc nh s use case mc tng qut: t tp tc nhn v use case c xc nh bc trc, ngi pht trin cn tm ra cc chc nng chnh ca h thng. Cc chc nng ny phi c tnh tng qut, d dng nhn thy c trn quan im ca cc tc nhn. Cc dng quan h thng dng
51
trong s use case mc tng qut l quan h kt hp, quan h tng qut ha v quan h include. V d trong bi ton qun l th vin, xt trn quan im ca cc tc nhn bn c, th th, nu tm thi cha xt n cc chc nng mn v tr sch th cc chc nng tng qut ca h thng l: ng nhp, cp nht v tm kim. Trong cc use case ny, use case cp nht include chc nng ca use case tm kim (Hnh 3.1).
Thu thu
DangNhap
Cap nhat
<<include>>
Timkiem
Ban doc
Hnh 3.1: Biu use case mc tng qut trong bi ton qun l th vin
Phn r cc use case mc cao: ngi pht trin tin hnh phn r cc use case tng qut thnh cc use case c th hn s dng quan h extend. Cc use case con (mc thp) c la chn bng cch thm vo use case cha mt chc nng c th no v thng c m rng da trn c s s chuyn tip v phn r cc chc nng ca h thng. V d, trong bi ton qun l th vin, use case cp nht c th c phn r thnh cp nht bn c v cp nht ti liu (Hnh 3.2)
52
Tip tc phn r s use case cho n khi gp use case nt l. Cc use case nt l thng gn vi mt chc nng c th trong h thng thc s tng tc vi cc tc nhn (gi kt qu n cc tc nhn hoc yu cu tc nhn nhp thng tin ). Trong cc s use case mc 2, nu cn c use case no cha phi l nt l th cn tip tc c phn r. Trong v d v bi ton qun l th vin, cc use case cp nht bn c v cp nht ti liu u c th tip tc phn r thnh cc use case con l thm bn c, thay i thng tin bn c v xa bn c hay thm ti liu, thay i thng tin ti liu v xa ti liu. Cc use case ny l nt l v n biu din mt chc nng c th ca h thng trong c tng tc gia tc nhn th th v h thng (Hnh 3.3 v Hnh 3.4).
53
Hon thin biu use case: ngi pht trin tin hnh xem xt li xem tt c cc use case c biu din trong biu use case ( tt c cc mc) hay cha. Nu cn c use case cha c trong biu no, ngi pht trin phi xem xt xem chc nng m use case i din c thc hin bi cc use case khc cha b sung thm hoc loi b use case ra khi biu .
54
m bo ti thiu: m bo thnh cng: Kch hot: Chui s kin chnh: 1. 2. 3. Ngoi l: 1.a Ngoi l xy ra bc 1 1.a.1 1.a.2 3.a Ngoi l xy ra bc 3 3.a.1 3.a.2 .
55
Bng 3.2 biu din scenario cho use case Thm sch trong bi ton qun l th vin.
Tn use case Tc nhn chnh Mc Ngi nhim chu
Thm sch Th th 3
trch Ngi qun l th vin
Th th ng nhp vo h thng. H thng loi b cc thng tin thm v quay lui li bc trc.
m bo thnh cng Thng tin v sch mi c b sung vo CSDL Kch hot Chui s kin chnh:
1. H thng hin th form thm sch v yu cu th th a vo thng tin sch. 2. Th th nhp thng tin v sch mi v nhn Submit. 3. H thng kim tra thng tin sch v xc nhn thng tin sch hp l 4. H thng nhp thng tin sch mi vo CSDL 5. H thng thng bo nhp thnh cng. 6. Th th thot khi chc nng thm sch.
Ngoi l: 3.a H thng thng bo sch c trong CSDL.
3.a.1 H thng hi th th c thm s lng sch hay khng. 3.a.2 Th th thm s lng sch 3.a.3 H thng thm s lng cho sch c 3.a.4 H thng thng bo nhp thnh cng.
3.b H thng thng bo thng tin sch khng hp l
3.b.1 H thng yu cu th th nhp li thng tin. 3.b.2 Th th nhp li thng tin sch.
Bng 3.2: Scenario cho use case Thm sch
56
57
Bc 1: Biu din cc tc nhn. thm vo biu mt tc nhn, ta thc hin cc bc sau: B1. Chn cng c actor trn hp cng c B2. a con tr vo vng mn hnh diagram v t vo v tr thch hp B3. M ca s c t actor v vit tn ca tc nhn Bc 2: Biu din cc use case mc cao B1. Chn cng c use case trn hp cng c B2. a con tr vo mn hnh diagram v t use case cn to vo v tr thch hp B3. M ca s c t use case, t tn cho use case v m t cc thng tin khc. Ca s Specification ca mt use case c biu din nh trong Hnh 3.6. Trong ca s ny c cc thanh Tab: Tab General a ra cc thng tin chung v use case nh tn, kiu
58
Tab Diagram cho bit cc biu i km ca use case (khi m rng mt use case th biu mc di s xut hin y). Tab Relations lit k cc mi quan h ca use case vi cc use case v actor khc. Tab Files l cc file km theo use case (c th l cc scenario hoc cc dng file khc).
Bc 3: Biu din v c t cc quan h B1. Chn kiu quan h tng ng trong hp cng c: (quan h association, dependency). B2. t con tr vo i tng khi u quan h (actor hoc use case) v ko n i tng cui. B3. M ca s c t quan h chn kiu quan h v t tn quan h cng mt s thng tin khc. Tng t vi cc use case, quan h gia cc use case cng c mt ca s c t tng ng. Mt trong nhng im quan trng nht trong c t mt quan h gia cc use case l ch ra stereotype ca quan h . Hnh 3.7 l ca s c t quan h kiu ph thuc (Dependency). Hnh 3.8.a v 3.8.b l hai Tab khc nhau ca ca s c t quan h dng kt hp (association). 59
60
Mt trong nhng nhim v ca bc xy dng biu use case l phi phn r biu use case. thc hin cng vic ny, chng ta lm theo hai bc sau: B1. Nhn chut phi vo use case tng ng cn phn r trong Browser Window v chn chc nng xy dng Use Case Diagram mi (Hnh 3.9). B2. V biu use case mc thp tng t nh biu use case mc cao. Khi to xong biu use case mc thp, biu ny s xut hin pha di use case tng ng trong Browser Window (Hnh 3.10).
61
Rational Rose cng cho php gn km cc file vo trong biu use case. Chng ta c th li dng chc nng ny gn cc file biu din scenario vo trong use case tng ng (Hnh 3.11).
62
3.3 M HNH LP
3.3.1 Vn xc nh lp Khi nim c bn nht trong phng php hng i tng l khi nim i tng. Mt i tng c hiu l mt thc th c thc hoc l mt thc th khi nim. Mi i tng c m t bi cc trng thi v hnh vi cho bit i tng s hnh ng nh th no khi nhn c thng ip t cc i tng khc. Hot ng ca h thng c th hin qua trng thi ca cc i tng v s tng tc gia cc i tng . Mt nhm i tng c chung thuc tnh v phng thc to thnh mt lp. Vn xc nh lp tr thnh mt trong nhng nhim v c bn ca phn tch, thit k h thng hng i tng.
63
Mi tng tc gia cc i tng trong h thng s c biu din thng qua mi quan h gia cc lp. Cc lp (bao gm c cc thuc tnh v phng thc) cng vi cc mi quan h s to thnh biu lp. Biu lp l mt biu dng m hnh tnh. Mt biu lp miu t hng nhn tnh ca mt h thng bng cc khi nim lp v mi quan h gia chng vi nhau. Mt trong cc mc ch ca biu lp l to nn tng cho cc biu khc, th hin cc kha cnh khc ca h thng (v d nh trng thi ca i tng hay cng tc ng gia cc i tng, c ch ra trong cc biu ng). Mt lp trong mt biu lp c th c thc thi trc tip trong mt ngn ng hng i tng c h tr trc tip khi nim lp. Mt biu lp ch ch ra cc lp, nhng bn cnh cn c mt bin tu hi khc i mt cht ch ra cc i tng tht s l cc thc th ca cc lp ny (biu i tng). Xc nh lp l mt trong nhng bc kh nht trong pht trin phn mm hng i tng. Khng c mt quy tc chung no cho vic xc nh lp trong mi h thng. Kt qu ca bc xc nh lp ph thuc nhiu vo kinh nghim ca cc nhm pht trin phn mm khc nhau. Cc phng php xc nh lp c a ra ch mang tnh nh hng cho nhm pht trin ch khng gip nhm pht trin tm ra c th lp no l cn thit hay khng cn thit, ng hay sai. C nhiu phng php xc nh lp khc nhau. Ba phng php xc nh lp sau y c xem l ph bin v nhiu nhm pht trin p dng: Phng php trch danh t: theo phng php ny, u tin ngi pht trin h thng cn nh ngha sn phm phn mm bng mt cu, sau kt hp cc rng buc pht trin thnh mt on. Da trn on vn m t ny, ngi pht trin s ly ra cc danh t, chia thnh cc nhm v c ra cc lp cng nh thuc tnh v phng thc ca cc lp Phng php dng th ghi CRC (class responsibility collaboration): da trn mt s lp phng php ny s dng mt th ghi cho mi lp trong biu din cc thng tin lin quan n trch nhim (responsibility) ca lp v cc lp phi hp vi n (collaboration). T th ghi ny, ngi pht trin s tm ra cc lp khc cn thit v quan trng hn l xc nh y cc thuc tnh, phng thc ca tng lp v mi quan h gia cc lp.
64
Phng php xc nh lp t use case v scenario: ngi pht trin nghin cu cn thn cc use case v scenario (c chun v ngoi l) tm ra cc thnh phn ng vai tr no trong cc use case. Cc thnh phn ny s c tp hp li v c ra cc lp. Cc danh t xut hin trong scenario biu din thng tin cho mt thnh phn nh vy c th tr thnh cc thuc tnh cn cc ng t xut hin trong mi quan h gia cc thnh phn c th tr thnh cc phng thc tng ng trong lp . Phng php xc nh lp t use case v scenario s c trnh by c th trong cc phn tip theo ca ti liu.
3.3.2Xy dng biu lp trong pha phn tch Biu lp l mt trong nhng biu quan trng nht, c tnh quyt nh trong tin trnh pht trin phn mm hng i tng. Trong pha phn tch, biu lp cha c xy dng hon chnh m ch c cc nhim v chnh l: Xc nh cc lp Xc nh cc thuc tnh v mt s phng thc c bn (cha chi tit cc phng thc). Bc u ch ra mt s mi quan h trong s lp.
Bc 1: Xc nh cc lp t cc use case v scenario Bc ny c thc hin theo nguyn tc chung nh sau: Nghin cu k tt c cc use case v scenario tm ra cc danh t c vai tr no trong cc scenario (khi u mt tng tc, bt u hay nhn mt hnh ng trong scenario, ). Cc danh t ny s tr thnh cc lp ng c vin. Loi b cc lp ng c vin khng thch hp. Cc danh t khng thch hp thuc vo mt trong cc trng hp sau: Lp d tha: do c hai hay nhiu danh t cng ch mt thc th nn ta ch cn gi li mt t duy nht v loi b cc t khc. Danh t khng thch hp: l cc danh t khng lin quan n phm vi ca bi ton.
65
Danh t m t nhng lp khng r rng: l cc danh t hoc khng biu din mt thc th c th hoc cc khi nim khng r ngha. Cc danh t ch l mt vai tr (role) trong mi quan h vi mt lp khc. Cc danh t biu din cc cng c xy dng phn mm hoc cc thut ng trong lp trnh hay thut ton (v d stack, list, array, ). Xem xt bi ton qun l th vin, t cc use case v scenario, ta c th lit k cc danh t nh sau: bn c, tn bn c, a ch bn c, th th, username, password, th mn, sch, ngy mn sch, ngy tr sch, s lng sch Da vo tp danh t ny, bc u ta c th xc nh mt s lp nh: bn c, th th, th mn, sch. Bc 2: Xc nh cc thuc tnh v mt s phng thc c bn Da trn tp cc lp c xc nh, ngi pht trin h thng tip tc nghin cu k cc use case v scenario v tr li cc cu hi sau: Vi mi lp, nhng danh t no m t thng tin ca lp . Tr li cu hi ny s gip ta tm ra cc thuc tnh. Nhng thng tin no ca lp thc s lin quan n lnh vc quan tm ca h thng. Tr li cu hi ny gip ta loi cc thuc tnh khng cn thit. Nhng thng tin no l thng tin ring ca lp (cc thuc tnh private), nhng thng tin no c th chia s trong mi quan h vi lp khc (cc thuc tnh protected hoc public).
Tip theo, ngi pht trin h thng xem xt cc ng t i km vi cc danh t biu din lp trong scenario v xem xt xem cc ng t y c tr thnh cc phng thc c hay khng. Tuy nhin, trong pha phn tch, chng ta ch c th xc nh mt s phng thc d nhn thy v cng cha cn xc nh chi tit gi tr tr v cng nh cc tham s. Cc thng tin ny s c c th ha trong pha thit k. Biu lp bc u ca h qun l th vin c biu din nh trong Hnh 3.12. Cc lp Bn c v Th th c k tha t mt lp chung tn l Ngi. Ti mt thi im, mt bn c c tng ng mt Th mn. Mt th mn c th cho mn cng mt lc mt hoc nhiu cun sch.
66
Nguoi ten : String diachi : String ngaysinh : Date getTen() setTen() getDiachi() setDiachi() getNgaysinh() setNgaysinh()
Sach
Themuon maThemuon : string maBandoc : String ngayMuon : Date ngayTra_dukien : Date dsMasach 1 ngaytra_Thucte : Date tinhtrangHienthoi : String getThemuon() getBandoc()
1..n
maSach : string tenSach : string tacGia : string nhaXB : string phienban : string danhmuc : string namXB : int soTrang : int mota : memotext soluong : int ngayTao : Date ngayCapnhat : Date getTensach() getMaSach()
3.3.3Biu din biu lp trong Rational Rose Biu lp c xy dng trong Logical View. Cc cng c s dng xy dng biu ny c th hin nh trong Hnh 3.13. Mi lp trong Rational Rose cng c chia thnh 3 phn: tn lp, cc thuc tnh v cc phng thc. Cc bc biu din biu lp trong Rational Rose gm: 1. Biu din cc lp 2. c t cc thuc tnh v phng thc ca lp 3. c t chi tit cc lp 4. Biu din cc quan h
67
Class Interface Association Package Dependency Generation Realize Public Protected Private Implementation
Bc 1: Biu din cc lp biu din tng lp trong biu lp, ta thc hin cc bc sau: B1. Chn cng c class trong hp cng c B2. a vo mn hnh Class Diagram v a vo v tr thch hp B3. t tn cho lp. B4. Click vo vng th hai trong 3 vng ca biu din lp v thm vo tn cc thuc tnh. B5. Click vo cng th 3 thm vo cc tn cc phng thc cho lp. Bc 2: Biu din cc thuc tnh v phng thc B1. Nhn chut vo tng thuc tnh v phng thc cn c t B2. Chn phm vi truy nhp ca thuc tnh (v phng thc) (xem hnh 3.20) B3. c t kiu cho thuc tnh 68
B4. c t gi tr tr v v cc tham s cho phng thc Hnh 3.13 ch ra cc phm vi ca mt thuc tnh. Phm vi mc nh ca thuc tnh l private. Tng t, cc phm vi ca phng thc c biu din nh trong Hnh 3.14. Phm vi mc nh ca mt phng thc l public.
Bc 3: c t chi tit mt lp Ca s c t mt lp c biu din nh trong Hnh 3.15 vi rt nhiu Tab khc nhau. Tab General cung cp cc thng tin chung v lp (tn, kiu ). Cc Tab Operations v Attributes cho bit cc phng thc v thuc tnh tng ng ca lp. Tab Relations biu din cc mi quan h ca lp vi cc lp khc. Tab Components biu din cc thnh phn (nu c) ca lp. Tab Files cho bit cc file nh km vi lp .
69
Hnh 3.15: Ca s c t ca mt lp
Bc 4: Biu din quan h gia cc lp B1. Chn loi quan h ph hp B2. Thc hin ko th gia hai lp cn xc nh quan h B3. c t quan h. Ca s c t mt mi quan h gia cc lp (kiu kt hp: association) c m t nh trong Hnh 3.16. Ngoi cc thng tin tng t nh mi quan h kt hp gia cc use case, trong ca s c t mi quan h gia cc lp cn cn ch r tnh nhiu (mulplicity) ca quan h . Tnh nhiu s c xc nh cho c hai lp tham gia trong quan h. Mt lp s ng vai tr l Role A, cn lp kia s ng vai tr l Role B.
70
Mc ch: biu din tng tc gia nhng ngi dng v nhng i tng bn trong h thng. Biu ny cho bit cc thng ip c truyn tun t nh th no theo thi gian. Th t cc s kin trong biu tun t hon ton tng t nh trong scenario m t use case tng ng. Biu din: Biu tun t c biu din bi cc i tng v message truyn i gia cc i tng .
Biu cng tc
Mc ch: tng t nh biu tun t, biu cng tc biu din tng tc gia nhng ngi dng v cc i tng bn trong h thng v gia nhng i tng ny vi nhau. Biu cng tc nhn mnh vo mi quan h v mt khng gian gia cc i tng. Biu din: Cc message trong biu cng tc c nh s theo th t thi gian nhng khc vi biu tun t, biu cng tc nhn mnh mi quan h v mt khng gian gia cc i tng trong h thng.
Biu hot ng
Mc ch: Biu ng c s dng biu din cc hot ng nh cc lung cng vic hoc cc tin trnh khc nhau trong h thng c xy dng. Biu ng s c biu din thng qua cc hot ng v cc chuyn tip xy ra khi chuyn tip cc hot ng khi c cc iu kin ph hp hoc khi cc hot ng trc c hon thnh. Biu din: Biu ng c biu din thng qua cc hot ng, cc ng b hay r nhnh v cc chuyn tip gia cc hot ng . Chi tit s c trnh by trong pha thit k hng i tng. Biu trng thi: Mc ch: 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 din: Tng t nh biu ng, biu trng thi cng c biu din di dng my trng thi hu hn vi cc trng thi v s chuyn tip gia cc trng thi . Tuy nhin, trong biu trng thi khng c cc qu trnh ng b v r nhnh nh trong biu ng.
72
M hnh ng trong pha phn tch Trong pha phn tch, ngi pht trin ch tp trung vo xy dng biu trng thi cho cc lp tm c trong bc trc. Cc biu tng tc v biu ng ch yu c xy dng trong pha thit k, trong lm r mi quan h gia cc i tng cng nh cc hot ng ca h thng xy dng biu lp chi tit. Da trn cc lp tm ra trong m hnh lp, biu trng thi s c xy dng cho mi lp. Biu ny s cho bit cc trng thi c th c ca cc i tng lp v cc iu kin chuyn i gia cc trng thi. Da trn cc biu tng tc, ngi phn tch h thng s xem xt li s lp b sung cc thuc tnh cho cc lp cng nh bc u xc nh c cc mi quan h gia cc lp. 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.
Biu trng thi cho mi use case d xc nh hn v chng ta c th da trn biu use case v cc scenario c xc nh trng thi. Cn biu trng thi h thng ch c c khi ta xem xt tt c cc use case. Tuy nhin, biu trng thi h thng s h tr tt hn cho ngi phn tch trong vic b sung cc thuc tnh cn thiu cho biu lp v cc phng thc ca bn thn lp . Hnh 3.17 biu din mt biu trng thi ca lp th mn trong bi ton qun l th vin. y ch xt ring cc trng thi ca lp ny trong chc nng qun l mn sch. Trong biu ny ta c cc trng thi cha c sch , ch i v c sch.
73
3.4.3 Xy dng biu trng thi Biu trng thi cho mi lp c xy dng theo cc bc sau: Bc 1: Nhn bit cc trng thi v s kin Bc 2: Xy dng biu Bc 3: Hiu chnh biu Bc 1: Nhn bit cc trng thi v s kin Qu trnh pht hin s kin v trng thi ca mt i tng c thc hin bng vic tr li cc cu hi sau: Mt i tng c th c nhng trng thi no?: Hy lit k ra tt c nhng trng thi m mt i tng c th c trong vng i ca n. Nhng s kin no c th xy ra?: V s kin gy ra vic thay i trng thi nn nhn ra cc s kin l mt bc quan trng nhn din trng thi. Trng thi mi s l g?: Sau khi nhn bit s kin, ngi thit k cn xem xt sau khi s kin ny xy ra th trng thi mi sinh ra s l g. C nhng th tc nh hng n trng thi ca mt i tng?.
74
Nhng s kin v s chuyn tip no l khng th xy ra? Ci g khin cho mt i tng c to ra?: i tng thng c to ra do mt s kin no . Cu hi ny gip xc nh chuyn tip u tin trong biu trng thi. Ci g khin cho mt i tng b hy?: i tng s b hy i khi chng khng cn vai tr g na. Tr li cu hi ny s gip tm ra cc chuyn tip cui cng trong biu . Bc 2: Xy dng biu Sau khi tr li cu hi trong bc 1, ngi pht trin s phi sp xp cc trng thi v s kin tm c vo trong mt biu . Xut pht t trng thi khi u, ngi thit k s xc nh cc trng thi tip theo v biu din cc chuyn tip gia cc trng thi . Gn vi mi chuyn tip l mt s kin. Cc s kin s c biu din theo cu trc chung nh sau: S kin [iu kin] hot ng Trong : tn s kin c t ln u, tip theo l iu kin (t trong 2 du ngoc vung) ca s kin v cui cng l hnh ng p ng ca s kin. Mi biu trng thi c th c mt hoc nhiu trng thi kt thc. Da trn qu trnh chuyn tip trng thi, ngi pht trin s phi xc nh chuyn tip no c th dn ti trng thi kt thc trong vng i i tng. Bc 3: Hiu chnh biu trng thi Ngi pht trin tin hnh xem xt li ton b cc biu trng thi cho tng lp v sa i li biu trng thi nu cn thit. Cc biu trng thi s c s dng xc nh y cc thuc tnh cho biu lp. V vy, bc hiu chnh biu trng thi c th tip tc cho n pha thit k. 3.4.3 Biu din biu trng thi trong Rational Rose Biu trng thi c xy dng cho mi lp. Cc bc thc hin thm biu trng thi nh sau: Bc 1. Trong Browser Window, t mt lp tng ng, ta nhn chut phi v chn New Statechart Diagram. V d trong Hnh 3.18 ta la chn xy dng biu trng thi cho lp Borrow-Card.
75
Bc 2. Trong ca s xy dng biu trng thi, chn cng c state thm cc trng thi vo biu Bc 3. c t trng thi s dng ca s c t. Hnh 3.19 v 3.20 l cc ca s c t trng thi v chuyn tip trng thi. Cc thng tin c t ny hon ton thng nht vi chun UML trnh by trong chng 2 ca ti liu ny. Bc 4. Biu din cc quan h (chuyn tip) trong biu trng thi.
76
77
TNG KT CHNG 3
Chng 3 trnh by cc bc trong pha Phn tch hng i tng. Mt s ni dung sau cn ghi nh: Pha phn tch hng i tng gm 3 bc chnh c gn vi ba dng m hnh UML l: m hnh use case, m hnh lp v m hnh ng Bc xy dng m hnh use case gm 2 vic chnh l: xy dng v phn ra biu use case v biu din cc use case theo dng kch bn. Bc xy dng m hnh lp tin hnh xy dng biu lp. Biu lp trong pha phn tch ch yu l pht hin cc lp (dng lp thc th), xc nh cc thuc tnh v cc mi quan h n gin gia cc lp . Bc xy dng m hnh ng trong pha phn tch tp trung vo xy dng biu trng thi m t cc trng thi v chuyn tip trng thi ca cc i
78
tng ca cc lp. Da trn biu trng thi, ngi phn tch s c th hiu chnh li c biu lp, b sung cc thuc tnh cn thiu. Ti liu cng a ra nhng hng dn v gi thc hin cho mi bc nh trong pha phn tch.
CU HI BI TP
A. CU HI 1. Biu use case l g? Vai tr ca biu use case trong xc nh yu cu khch hng? 2. Phn bit cc quan h <<include>> v <<extend>> trong biu use case. 3. Khi nim k tha trong lp trnh hng i tng c tng ng vi quan h khi qut ho (generalization) gia cc lp trong UML khng. Ti sao 4. Mi quan h kt hp 2 chiu l g? Biu din quan h ny nh th no? 5. Phn bit mi quan h cng hp v quan h gp 6. Khi no c th s dng mi quan h thc thi (realization) trong biu lp. 7. Biu trng thi dng lm g 8. Phn bit s khc nhau gia biu trng thi cho mt use case v biu trng thi h thng B. BI TP 1. Xem hnh v sau:
79
Deliver Ticket 2
Direct Mailling
Call - Pick up
Cc nhn no sau y ph hp vi cc quan h tng ng vi cc ng 1, 2, 3? A. includes, includes, includes. B. includes, extends, extends. C. extends, includes, extends. D. extends, extends, includes. E. includes, includes, extends. 2. Xem xt biu lp phn tch trong h thng thng tin nhn s. Trong h thng ny , xt 2 lp: 3. Lp Employee (Nhn vin) cha thng tin v m nhn vin, tn, a ch v ngy sinh nhn vin. Lp Address (a ch) cha thng tin v s nh, ph, thnh ph.
Hy xc nh mi quan h gia lp Employee v lp Address Trong h thng thng tin khch hng, lp Bill (Ho n) sinh ra ho n thanh ton cho mi khch hng s dng gi tr tr v ca hm tnh tng s tin calculateAmt() trong lp Purchase. Xc nh mi quan h gia lp Bill v lp Purchase. Cho mt biu trng thi (hnh v). a ra 3 chui s kin (bt u t trng thi khi u) lm cho biu trng thi b dn ti tnh trng b tc. Gii thch.
4.
80
5.
Available
On Hold
Sell Cancel
Sold
A. Put on hold B. Release C. Sell D. Cancel 6. K hiu hin hin (visibility) no sau y ch ra mt thuc tnh hay phng thc l hin hu vi cc lp trong cng mt gi. A. + B.
81
C. # D. ~ 7. Mi quan h no biu din mi quan h gia hai lp m s thay i trong phng thc v thuc tnh ca lp ny nh hng n cc thuc tnh v phng thc ca lp kia. A. Quan h ph thuc B. Quan h nhn bn (multiplicity) C. Quan h thc thi D. Quan h kt hp
82
83
4.1.2 Cc bc thit k hng i tng Da trn cc kt qu ca pha phn tch, pha thit k hng i tng c chia thnh cc bc nh sau: Xy dng cc biu tng tc, bao gm biu tun t v biu cng tc. Xy dng biu lp chi tit: thc hin hon chnh s lp, xc nh v biu din y cc phng thc cho tng lp, xc nh mi quan h gia cc lp. Thit k chi tit: xy dng cc biu ng cho cc phng thc phc tp trong cc lp v xy dng bng thit k chi tit cng nh k hoch ci t v tch hp. Xy dng biu thnh phn v biu trin khai h thng Pht sinh m, chun b cho ci t h thng Cc bc ny s c trnh by trong cc phn sau ca ti liu ny.
Ty vo yu cu ca h thng c th, ngi pht trin h thng c th la chn mt trong hai biu hoc s dng c hai biu . Trong phn ny, ti liu s tp trung trnh by cc phn t m hnh UML s dng trong cc biu tng tc v cch thc xy dng cc biu tng tc . 4.2.2 Xy dng biu tun t Thng thng, cc biu tun t c gn vi cc use case. Cc message trong biu tun t s biu din li th t cc s kin trong scenario ca use case (c chun v ngoi l). Hnh 4.1 biu din mt v d v biu tun t n gin m t chc nng thm sch c xy dng nn t scenario trnh by trong chng trc. Trong
84
chc nng thm sch, cc i tng tham gia gm: Th th, Form Thm sch, i tng iu khin Thm sch v i tng Sch. Th t thc hin message trong biu l theo chiu t trn xung di. Nhn vo mt biu tun t nh vy ta c th thy c ngay th t thc hin cc hnh ng ca mt i tng trong chc nng (use case) ang xem xt. Biu tun t ny m t li kch bn (scenario) ca use case Thm sch nhng da trn cc i tng ca cc lp xc nh trong pha phn tch. Vi mi chc nng, thng thng chng ta s thm mt lp giao din (lp Form) v mt lp iu khin cho chc nng .
: Thu thu
: DK_ThemSach
: Sach
Nhap thong tin sach m oi Tao doi tuong sach moi Kiem tra thong tin sach Nhap sach vao CSDL
Nhap thanh cong Nhap thanh cong Thong bao nhap thanh cong
Mt s ch khi v biu tun t: S kin c biu din km theo cc message nm ngang. i tng lun gn vi cc ng life line dc theo biu . im kt thc ca ng life line ny nh du thi im hu i tng hoc khi tng tc kt thc.
85
Trc thi gian c quy nh t trn xung di. Cc message trn s xy ra trc cc message pha di. Trong biu tun t c th xut hin cc message t mt i tng n chnh bn thn n. Tip theo, ta xem xt mt s vn phc tp hn khi xy dng biu tun t gm: biu din cc message lp, s dng cc message to v hu v phn nhnh cc i tng. Biu din cc message lp Trong biu tun t, c mt s trng hp ta cn biu din cc message c gi theo vng lp (nhiu ln lin tip) gia hai i tng. Khi , ta b sung thm cu trc: * [i=1..n] vo trc message; vi i l bin iu khin lp, n l s ln lp. Xem xt v d trong Hnh 4.2.
S dng cc message to v hu Thng thng, cc message trong biu tun t c gi v nhn t cc i tng tn ti. Tuy nhin, trong trng hp cc i tng tham gia tng tc thuc v cc lp c quan h ph thuc th ta phi s dng cc message to v hu. Cc message to v hu c biu din trong v d Hnh 4.3.
86
<<destroy> >
Hnh 4.3: S dng message to v hu
Biu din phn nhnh cc i tng Trong trng hp ng vi cc gi tr khc nhau ca tham s, i tng hot ng khc nhau th chng ta dng cch biu din phn nhnh i tng. Xem v d Hnh 4.4.
Object2
87
4.2.3 Xy dng biu cng tc Biu cng tc cng c cc messgage vi ni dung tng t nh trong biu tun t. Tuy nhin, cc i tng c t mt cch t do trong khng gian ca biu v khng c ng life line cho mi i tng. Cc message c nh s th hin th t thi gian. Mt s ch khi xy dng biu cng tc: Gia hai i tng c th c nhiu message. Cc message ny s cng c biu din trong khng gian gia hai i tng, km theo s th t ca n. Trong biu cng tc cng c th c cc message t mt i tng n bn thn n. Message ny s biu din bi mt ng v hng xut pht v kt thc trn i tng .
Hnh 4.5 m t mt biu tng tc kiu cng tc (collaboration diagram). Ni dung biu ny hon ton tng t nh trong biu tun t trong Hnh 4.1. Nu nh biu tun t nhn mnh n th t cc message th biu cng tc li nhn mnh n quan h gia cc i tng. Do , trong biu cng tc khng c cc ng life line. Cc i tng s c b tr t do trong biu theo hnh dung ca ngi thit k.
3: Nhap thong tin sach moi
: Thu thu
9: Thong bao nhap thanh cong
: FormThemSach
: DK_ThemSach
: Sach
88
T Hnh 4.5, ta thy cc thnh phn c bn ca mt biu cng tc l: Cc i tng (object): trong biu cng tc, cc i tng vn c biu din vi dng hon ton tng t nh trong biu tun t nhng khng c ng life line pha di. Cc message c nh s th t: gia cc i tng c tng tc trong biu cng tc, ngi ta v cc ng lin kt v hng. Cc message s c biu din pha trn ng lin kt v mi message s c nh s th t tng ng vi th t xut hin v mt thi gian ca message .
4.2.4 Biu din cc biu tng tc trong Rational Rose Cc biu tng tc c th c xy dng t cc use case tng ng. Trong trng hp , ngi s dng c th nhn chut phi vo use case tng ng v la chn New ri n tn loi biu cn xy dng. a) Xy dng biu tun t Bc 1: Chn use case cn xy dng biu tun t. Click chut phi, chn New Sequence Diagram. Hnh 4.6 l la chn xy dng biu tun t, Hnh 4.7 l la chn xy dng biu cng tc.
89
Bc 2: Thm cc i tng vo biu tun t. Chn k hiu i tng trong hp cng c v ko vo ca s biu . Bc 3: Thm cc message. Bc 4: c t cc message: t tn hoc m t di dng hm. Mt biu tun t c dng nh trong Hnh 4.7. Hp cng c trong cc biu tun t v cng tc l cc i tng v cc dng mi tn biu din cc dng message khc nhau.
b) Xy dng biu cng tc Bc 1: La chn use case cn xy dng biu cng tc. Xem hnh 4.8.
90
Bc 2: Biu din cc i tng trong khng gian biu . Bc 3: Biu din cc message trong biu cng tc. Mi message km theo s th t ca message .
Sau khi xc nh y cc phng thc, cng vic tip theo l phi xc nh chi tit gi tr tr v v cc tham s lin quan vi mi phng thc. 91
4.3.2 Xc nh mi quan h gia cc lp Trong bc ny, ngi pht trin h thng phi xc nh y mi quan h gia cc lp v cc vn lin quan n cc mi quan h . Nhng cng vic c th phi thc hin trong bc ny l: Xc nh c th dng ca quan h gia cc lp Xc nh s lng trong mi mi quan h
Bc 1: Xc nh c th dng ca quan h gia cc lp Nh trnh by trong chng 2, c bn dng quan h c bn trong s lp l: quan h k tha, quan h kiu kt hp, quan h gp v quan h ph thuc. Trong bc ny, ngi pht trin phi tm ra cc quan h gia cc lp v xc nh c th quan h thuc dng no. Nu nh cc danh t gip chng ta tm ra lp th cc ng t trong cc scenario s gip chng ta tm ra cc quan h. Cc quan h s c phn loi da trn nguyn tc sau: Hai lp c mi quan h kiu kt hp vi nhau nu cc ng t trong tng tc gia cc lp biu hin mt s thay th, i din, s bao hm, s giao tip, s s hu hay yu cu tha mn iu kin no . Quan h gp thng c biu din qua cc ng t nh: c to thnh t, bao gm Hai lp c quan h k tha nu mt lp ny l khi qut ho (tru tng ho) ca lp kia. Hai lp c quan h ph thuc nu hot ng ca lp ny quyt nh lp kia.
Trong h thng qun l th vin, mi quan h gia cc lp Reader v Librarian vi lp Person l mi quan h k tha. Quan h gia cc lp Reader v Book vi lp Borrow_Card l quan h kt hp v ta c th biu din cc mi quan h ny thng qua cc cu nh: mn sch, bn c cn dng th mn, mi th mn c th mn c mt hay nhiu cun sch. Bc 2: Xc nh s lng (multiplicities) trong mi mi quan h Mi mi quan h trong s lp c th c s lng tng ng u mi lp. S lng ny xc nh s th hin c th c ca lp trong mi quan h vi lp kia. Cc kiu biu din s lng (multiplicities) c biu din nh trong Bng 4.2.
92
ngha Khng c hoc c 1 th hin. Tng t n . . m s th hin c t n n m th hin. Khng gii hn s th hin ca lp (gm c gi tr 0). C chnh xc 1 th hin C t nht mt th hin
Xem xt s lp phn tch trnh by trong chng 3, trong quan h gia lp Reader v lp Borrow_card, mi bn c c th c mt hoc nhiu th mn hoc cng c th khng c th mn no. Tuy nhin, mt th mn phi tng ng vi mt bn c no . Nh vy, s lng trong quan h ny s l: 1 pha Reader v 1..n pha Borrow_card. 4.3.4 Hon chnh biu lp chi tit y l bc cui cng ca s lp. Trong bc ny, ngi thit k phi thc hin cc cng vic sau: B sung cc lp cn thiu. Trong pha phn tch, chng ta xc nh c cc lp thc th. pha thit k, chng ta cn tip tc xc nh cc lp cn thiu hon chnh s lp. Cc lp cn thiu ny thng thuc mt trong cc dng sau: Cc lp bin: l cc lp lin quan n giao din h thng, thc hin nhn thng tin t ngi dng v gi n cc i tng bn trong h thng. Gi l cc lp bin v cc lp ny phn tch phn bn trong v bn ngoi h thng. Thng thng, mi form nhn thng tin s tr thnh mt lp nhng cng c trng hp nhiu form tng t nhau s c m t trong mt lp. Cc lp trung gian: gia hai lp c quan h mn (nhiu th hin ca lp ny tng ng vi nhiu th hin ca lp kia), ngi ta thng sinh ra thm mt lp trung gian chuyn quan h thnh 2 quan h dng 1..n. Cc lp ny cng c th i din cho mt thc th xc nh trong h thng nhng cng c th khng i din cho mt thc th xc
93
nh no. Trong trng hp khng i din cho thc th xc nh no, lp trung gian sinh ra ch c tc dng h tr cho qu trnh lp trnh v s c t tn theo mt quy nh chung no m nhm pht trin a ra. Cc lp tru tng: trong mt s trng hp, mt s lp c th c cc thuc tnh chung hoc phng thc chung. Khi , tin cho ci t, ngi thit k c th b sung thm cc lp tru tng, tc l cc lp khng c i tng. Cc lp tru tng khng i din cho mt thc th tham gia trong hot ng ca h thng, do vy, cc lp ny c th c dng c bit: hoc ch c thuc tnh m khng c phng thc, hoc ngc li, ch c phng thc m khng c thuc tnh. Cc lp iu khin: L cc lp ch lm nhim v iu khin hot ng ca h thng ng vi mt chc nng nht nh. Thng thng, mi use case phc tp u phi c mt lp iu khin tng ng. Lp iu khin nhn thng tin t cc lp bin (lp giao din), gi yu cu n cc lp thc th thc thi chc nng m n m nhim ri li tr v kt qu cho cc lp bin.
Hiu chnh m t thuc tnh v phng thc theo ng chun ca ngn ng s s dng trong pha ci t h thng. Kim th tnh ng n ca biu lp. Ngi thit k c th s dng mt s cng c kim tra tnh ng n ca biu lp, hoc tin hnh th sinh khung m theo ngn ng chn kim tra v xc nh li trong biu lp. Tuy nhin, nhng cch ny ch gip tm ra cc li c php. Mun tm c cc li v ng ngha, ngi thit k phi xem xt li tt c cc ti liu ca biu use case, scenario, biu trng thi, biu tng tc v biu ng.
Hnh 4.10 m t mt biu lp chi tit cho h thng qun l th vin. Trong biu ny cha xt n cc lp giao din (lp bin) v cha th hin cc c t y ca cc phng thc v thuc tnh. So vi s lp phn tch, s lp thit k cng b sung thm nhiu thuc tnh mi chi tit ho cc i tng.
94
Nguoi ten : String diachi : String ngaysinh : Date getTen() setTen() getDiachi() setDiachi() getNgaysinh() setNgaysinh() The muon maThemuon : string maBandoc : String ngayMuon : Date ngayTra_dukien : Date dsMasach ngaytra_Thucte : Date tinhtrangHienthoi : String getThemuon() getBandoc() 1 capnhatThemuon() xoaThemuon() getSachmuontheothang() getSachmuontheoten() getSachmuontheongay() themThemuon() muonSach() traSach()
Thuthu maThuthu : String password : String vaitro : String getVaitro() setVaitro() xacthucThuthu() thaydoiPassword() Sach maSach : string tenSach : string tacGia : string nhaXB : string phienban : string danhmuc : string namXB : int soTrang : int mota : memotext soluong : int ngayTao : Date ngayCapnhat : Date getTensach() getMaSach() timkiem() themSach() capnhatSach() xoaSach() getSachtheomuc() getSachtheongay()
Bandoc maBandoc : string lop : string khoa : string xacthucBandoc() themBandoc() capnhatBandoc() xoaBandoc() getMaBandoc() 1 thaydoiPassword()
1..n
1...
Sau khi c s lp nh trn, ngi thit k cn tip tc m rng s lp, b sung cc lp bin v cc lp trung gian cho ph hp vi ngn ng v mi trng lp trnh.
Bng thit k chi tit ca cc lp ngoi vic biu din cc thng tin v tn lp, cc thuc tnh v cc phng thc, cc tham s, kiu v gi tr tr v, cn cn ch r ngi chu trch nhim ci t lp (hay modul) v cc thng tin v thi gian yu cu. Hai nhim v ny s c trnh by chi tit trong hai phn tip theo ca ti liu. 4.3.1 Xy dng biu hot ng cho cc phng thc 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. y l vai tr thng gp nht v quan trng nht ca biu hot ng. xc nh cng vic c th ca mt i tng. ch ra mt nhm hnh ng lin quan c thc hin nh th no v chng s nh hng n nhng i tng nm xung quanh. C th xem biu hot ng l mt loi s khi (Flow chart) miu t thut ton. im khc bit l cc s khi bnh thng ch c p dng i vi cc qu trnh tun t, cn biu hot ng c th x l c cc cc qu trnh song song. Cc phn t m hnh UML cho biu hot ng bao gm: Hot ng (Activity): l mt quy trnh c nh ngha r rng, c th c thc hin bi mt hm hoc mt nhm i tng. Hot ng c th hin bng hnh ch nht bo trn cnh. Thanh ng b ha (Synchronisation bar): chng cho php ta m ra hoc l ng li cc nhnh chy song song ni b trong tin trnh.
iu kin (Guard Condition): cc biu thc logic c gi tr hoc ng hoc sai. iu kin c th hin trong ngoc vung, v d: [Customer existing]. Cc lung (swimlane): Mi biu ng c th biu din s phi hp hot ng trong nhiu lp khc nhau. Khi mi lp c phn tch bi mt
96
lung (swimlane) ring bit. Cc lung ny c biu din n gin l cc khc nhau trong biu . Hnh 4.11 m t mt biu hot ng cho phng thc mn sch trong lp Borrow_card. Trong biu ny, ta c th thy c hai thanh ng b ha tng ng vi trng thi ch trong biu trng thi. y, thanh ng b th nht s ch kt qu kim tra cc thng tin ngi dng nhp vo, thanh th hai s ch cc kt qu kim tra lin quan n iu kin c th mn sch.
Xac nhan cho muon In Phieu muon Het quyen muon sach Khong co hoac khong du sach
Vn quan trng cn li trong vic xy dng biu hot ng l xc nh phng thc no cn xy dng biu hot ng? Ngi thit k ch cn xy dng biu hot ng cho nhng phng thc phc tp hoc c vai tr quyt
97
nh ti hot ng ca h thng. Vic nh gi mt phng thc c phc tp hay khng da theo cc tiu ch sau: Phng thc c cn xy dng theo mt thut ton phc tp hay khng? Phng thc c tham chiu ti nhiu phng thc ca cc lp khc trong qu trnh hot ng hay khng v ngc li kt qu ca phng thc c nh hng n nhiu lp khc hay khng. Kt qu ca phng thc c quyt nh mt chc nng (use case) c th no ca h thng hay khng.
4.3.2 Xy dng bng thit k chi tit Bng thit k chi tit c thit k ring cho tng lp. Mi nhm pht trin c th c mt bng thit k vi cu trc ring. Di y l mt mu bng thit k tham kho. Tn lp Ngi thit k Ngi ci t Thi gian Tn thuc tnh Thuoc_tinh_1 Thuoc_tinh_2 Tn phng thc Phuong_thuc_1 Phuong_thuc_2 on khung m cho lp
Bng 4.3: Mu bng thit k chi tit lp
M t
Kiu
Phm vi
M t
Gi tr tr v
Phm vi
98
99
Quan ly sach
CSDL
4.4.2 Xy dng biu trin khai Biu trin khai biu din cc nodes v cc mi quan h gia chng. Thng thng, cc nodes c kt ni vi nhau thng qua cc lin kt truyn thng (communication association) nh cc kt ni mng, lin kt TCP-IP, microwave Mi quan h gia cc node trong biu trin khai c biu din thng qua cc lin kt truyn thng v c nh s theo th t thi gian tng t nh trong biu cng tc (collaboration diagram). Ch rng cc message truyn thng truyn i gia cc node c th l cc lung thng tin xc nh hoc cng c th l cc i tng ri rc, v d nh cc file, cc thng tin yu cu Hnh 4.14 biu din biu trin khai cho h qun l th vin. Biu ny cho bit h thng s c ci t trn ba dng my tnh khc nhau: cc my client dnh cho th th s ci t thnh phn giao din th th, qun l sch, qun l bn c; cc my client dnh cho bn c ch ci giao din bn c; CSDL v thnh phn iu khin CSDL c ci trn mt server chung gi l Server.
100
Server
TCP/IP
Cc dng lin kt truyn thng c th c trong biu trin khai l: TCP/IP: s dng b giao thc TCP/IP lin kt. Thng thng y l cc ng dng da trn Web. SNA: cng l ng dng da trn Web nhng s dng b giao thc SNA. Microwave: s dng lin kt bng sng v tuyn tn s cao. Hng ngoi: s dng lin kt hng ngoi. Giao thc khng dy: lin kt s dng cc dng giao thc khng dy khc.
Trong v d Hnh 4.13, cc lin kt u c thc hin trn nn giao thc TCP/IP thng qua kt ni mng Internet hoc kt ni mng LAN ni b. Ngoi cc lin kt truyn thng thng thng, gia cc node cn c th c mi quan h dng ph thuc. Mi quan h ph thuc s c biu din bi cc mi tn t nt vi kiu chnh l dng ph thuc gia hai node (hoc hai thnh phn). Kt qu ca biu trin khai kt hp vi biu thnh phn l mt m hnh trin khai h thng y vi cc node, lin kt gia cc node v cc thnh phn bn trong cc node . M hnh ny c gi chung l m hnh vt l (physical model) ca h thng v s l c s ci t, tch hp h thng cng nh trin khai h thng ti ngi s dng.
101
4.4.3 Biu din biu thnh phn v biu trin khai trong Rational Rose Biu thnh phn c xy dng trong Component View biu din cc thnh phn trong h thng. Cc bc xy dng biu thnh phn trong Rational Rose: B1. Thm cc thnh phn: la chn cng c thnh phn trong hp cng c v ko vo biu . B2. c t cc thnh phn (thng thng ch m t tn) B3. Biu din cc quan h gia cc thnh phn (nu c). B4. B sung cc thnh phn con (nu c) Mt biu thnh phn v d v ca s c t thnh phn c biu din nh trong Hnh 4.14.
102
Biu trin khai c xy dng trong Deployment View. Cc cng c chnh xy dng mt biu trin khai trong Rational Rose l cc Processcor, Device v cc Connection. Cc bc xy dng biu trin khai trong Rational Rose: B1. Thm cc Processor: la chn cng c processor trong hp cng c v ko vo biu . B2. Thm cc Device: la chn cng c Device trong hp cng c v ko vo biu . B3. Biu din cc quan h: la chn cng c protocol v ko gia cc processor hay device tng ng. Hnh 4.15 biu din mt s trin khai n gin trong c ba Processor i din cho cc my tnh c ci t h dch v th vin. Cc thnh phn ca server s c ci t trong Library Server, phn giao din vi bn c s ci t trong Student PC cn giao din vi cc th th s ci t trong Librarian PC.
103
TNG KT CHNG 4
Chng 4 trnh by cc bc trong pha thit k hng i tng. Cc ni dung cn nm vng gm: Pha thit k hng i tng gm 4 bc: xy dng biu tng tc, xy dng biu lp chi tit, thit k chi tit v xy dng biu thnh phn v biu trin khai. Trong bc xy dng biu tng tc, ngi thit k biu din li cc use case ng vi cc i tng ca cc lp xc nh trong pha phn tch. C hai dng biu tng tc l: biu tun t (nhn mnh n th t thi gian cc message) v biu cng tc (nhn mnh n vai tr ca cc i tng trong tng tc). Bc xy dng biu lp chi tit thc hin b sung cc lp thit k (l bin, lp trung gian, lp iu khin ); xc nh v m t chi tit cc phng thc; v biu din cc quan h gia cc lp. Kt qu ca bc ny l mt biu lp thit k hon chnh. Bc thit k chi tit tin hnh xy dng biu hot ng biu din cc phng thc phc tp hoc cc hot ng phi hp nhiu i tng thuc nhiu lp khc nhau. Tip theo, bc thit k chi tit cng xy dng bng thit k chi tit phn cng trch nhim cho cc thnh vin trong nhm pht trin. Bc xy dng biu trin khai h thng tin hnh xc nh cc thnh phn, cc giao thc mng; quan tm n ngn ng lp trnh v mi trng ng dng xc nh m hnh kin trc trin khai h thng. Ti liu cng a ra nhng gi , hng dn v cc ch cho tng bc trong thit k hng i tng.
CU HI BI TP
A. CU HI 1. Phn bit s khc nhau gia biu trng thi cho mt use case v biu trng thi h thng 2. Biu tng tc dng lm g.
104
3. Phn bit hai kiu biu tng tc: biu tun t v biu cng tc 4. Mt lin kt trong biu cng tc biu din ci g 5. Biu hot ng dng lm g 6. Mt hot ng trong biu hot ng m t ci g 7. Mt chuyn tip trong biu hot ng biu din ci g. 8. Phn bit cc kiu lp: lp thc th, lp bin, lp iu khin, lp tru tng. B. BI TP 1. Cc biu tng tc c xy dng ch yu da trn ngun no sau y: A. Biu trng thi B. Cc biu use case C. Biu lp D. Biu hot ng 2. xem xt hot ng ca h thng c s phi hp ca cc i tng hoc trong vng i ca mt i tng, ta c th dng cc biu no sau y (Chn 2) A. Biu lp B. Biu use case C. Biu trng thi D. Biu hot ng 3. m t cc thnh phn (hoc cc i tng) ca h thng c t u trong mi trng vt l, chng ta dng biu no sau y: A. Biu hot ng B. Biu trng thi C. Biu thnh phn D. Biu trin khai 4. Biu tun t (sequence diagram) no sau y l khng ph hp nu n nm trong cng m hnh vi biu hat ng cho. Gii thch.
105
5. Cho biu gi nh hnh v. Cc hm trong lp Dog mun tham chiu n lp Shark th dng k php no sau y:
106
A. B. C. D. 6.
a) S dng ngn ng C++ biu din lp Ngi c cc thng tin sau: tn, tui, gii, chiu cao, cn nng. Ci t phng thc to cho lp Ngi v hai hm gn Tn v gn Tui. b) Ci t tip lp Nhn vin c quan h k tha t lp Ngi, thm thuc tnh lng. Hm khi to ca lp Nhn vin s dng li hm khi to ca lp Ngi v gn lng mc nh bng 0. 7. Gi s c lp Ngi nh trong Bi 6. Hy ci t lin kt 1-1 gia ngi vi Ngi l quan h V-Chng s dng ngn ng C++ (b sung hai hm getVoChong() v setVoChong). 8. M rng lp Ngi trong Bi 6 ci t lin kt 1-1 v 1-nhiu gia Ngi vi Ngi xc nh Cha, M hay Con ca ngi (mt ngi c mt Cha, mt M nhng c th c nhiu con) s dng ngn ng C++. 9. B sung thm h thng trong Bi 6 hai lp Tay v Chn. Hy s dng ngn ng C++ ci t quan h gp (composition) gia lp Ngi v hai lp Tay, Chn.
107
108
Sau khi kim tra y thng tin trn phiu mn, th th kim tra iu kin mn ca sinh vin v xc nhn cho php mn sch. Mt s thng tin trong phiu mn c lu li qun l, phiu mn s c gi vao ch sch c ly i, sch c giao cho sinh vin. Khi sinh vin tr sch: T th sinh vin, xc inh phiu mn, vic tr sch c ghi nhn vo dng ngy tr v tnh trng. Phiu mn c lu li qun l v theo di. Sinh vin tr mun hn ngy hn tr s b pht
1.2 Yu cu h thng H thng qun l th vin c xy dng nhm mc ch gii quyt cc yu cu sau: 1. Gip sinh vin tra cu sch theo chuyn ngnh, theo ch , theo tn sch, theo tn tc gi, trn cc my tnh trm. 2. Cung cp cho th th cc thng tin v cc u sch mt sinh vin ang mn v hn phi tr; v cc cun sch cn ang c mn. 3. Thng k hng thng s sch cho mn theo cc ch , tc gi Thng k cc u sch khng c ngi mn trn 1 nm, 2 nm, 3 nm. 4. H tr th th cp nht thng tin sch, xc nhn cho mn sch v nhn li sch khi sinh vin tr sch. 5. H tr qun l cc thng tin v sinh vin da trn th th vin, thng tin th mn. 6. H tr chc nng qun tr chung h thng (admin) trong ngi qun tr chung c th thay i thng tin hoc thm bt cc th th. Cc yu cu phi chc nng: 1. H thng trin khai theo dng Website trn h thng mng ni b ca trng 2. Sinh vin c th tra cu thng tin sch trn mi trng mng. Tuy nhin vic mn v tr sch phi thc hin trc tip trn Th vin. Th th s dng h thng cp nht v qun l qu trinh mn tr sch. 3. Thng tin thng k phi m bo tnh chnh xc, khch quan. Cc hnh thc pht vi cc sinh vin qu hn s c lu li v thng bo cho sinh vin bit. 109
Thu thu
DangNhap
Cap nhat
<<include>> <<include>>
Timkiem
<<include>>
Ban doc
Thong ke
b) Phn r biu use case Phn r use case Cp nht Qu trnh phn r use case Cp nht hon ton tng t nh trnh by trong chng 3 ca ti liu.
110
111
Phn r use case Qun l mn tr sch Use case qun l mn tr sch c thc hin bi th th v c th c phn r thnh hai use case nh l Qun l mn v Qun l tr (Hnh P.3).
<<extend>>
Quan ly tra
Phn r use case Thng k Use case thng k c th c phn r thnh hai use case nh hn l: Thng k thng tin bn c: cho bit danh sch cc bn c ang mn sch, cc bn c qu hn. Thng k thng tin sch mn: cho bit danh mc cc cun sch ang c mn, cc cun sch lu ngy khng c ai mn
<<extend>>
Thong ke
(from Use Case View)
<<extend>>
112
2.2 Xy dng biu lp phn tch Biu lp phn tch c xy dng hon ton tng t nh trnh by trong chng 3 ca ti liu ny.
Nguoi ten : String diachi : String ngaysinh : Date getTen() setTen() getDiachi() setDiachi() getNgaysinh() setNgaysinh()
Sach
Themuon maThemuon : string maBandoc : String ngayMuon : Date ngayTra_dukien : Date dsMasach 1 ngaytra_Thucte : Date tinhtrangHienthoi : String getThemuon() getBandoc()
1..n
maSach : string tenSach : string tacGia : string nhaXB : string phienban : string danhmuc : string namXB : int soTrang : int mota : memotext soluong : int ngayTao : Date ngayCapnhat : Date getTensach() getMaSach()
2.3 Biu trng thi Phn ny trnh by hai biu trng thi cho lp Th mn (tng ng vi hai chc nng mn sch v tr sch).
113
3. PHA THIT K
Trong phn ny, ti liu s trnh by cc biu UML c xy dng trong pha thit k h thng Qun l th vin. Sau khi xy dng cc biu tng tc (dng tun t), pha thit k s a ra biu lp thit k. Tuy nhin trong biu lp ny cha b sung cc lp giao din v iu khin. Phn 3.3 s trnh by thit k
114
chi tit theo tng chc nng trong mi chc nng c mt (hoc nhiu) lp giao din v mt (hoc nhiu) lp iu khin cng vi cc lp thc th tng ng. 3.1 Cc biu tun t Trong h thng qun l th vin, chng ta la chn biu tng tc dng tun t biu din cc tng tc gia cc i tng. xc nh r cc thnh phn cn b sung trong biu lp, trong mi biu tun t ca h thng qun l th vin s thc hin: Xc nh r kiu ca i tng tham gia trong tng tc (v d giao din, iu khin hay thc th). Mi biu tun t c th c t nht mt lp giao din (Form) tng ng vi chc nng (use case) m biu m t Mi biu tun t c th lin quan n mt hoc nhiu i tng thc th. Cc i tng thc th chnh l cc i tng ca cc lp c xy dng trong biu thit k chi tit.
Di y l mt s biu tun t cho cc chc nng ca h thng: a) Biu tun t cho chc nng ng nhp
115
: Thu thu
: Form DangNhap
: DK_Dangnhap
: Thuthu
Xac thuc thanh cong Xac thuc thanh cong Thong bao dang nhap thanh cong
Xac nhan thay doi thanh cong Xac nhan thay doi thanh cong Thong bao thay doi thanh cong
116
: Ban doc
: Form TimKiem
: DK_Tim kiem
: Sach
117
: Ban doc
: Thu thu
: FormMuonSach
: DK_MuonSach
: Bandoc
: Sach
: TheMuon
Nhap thong tin muon sach v a Ban doc Xac thuc ban doc Xac thuc ban doc Xac thuc thanh cong Xac thuc thong tin sach Xac thuc thong tin sach
Tao the muon moi Hien thi the muon Tra the muon Tra the muon v a sach
118
: FormTraSach
: DK_MuonSach
: Bandoc
: TheMuon
Xac nhan thong tin Sach trong the muon Xac nhan dung
119
: Thu thu
: FormThongkeSach
Chon thong ke s...
: DK_ThongkeSach
: FormKQThongkeSach
: TheMuon
: Sach
Hnh P.11: Biu tun t cho chc nng Thng k thng tin sch
120
: Form ThongkeBandoc
Chon chuc nang Thong ke ban doc
: DK_ThongkeBandoc
: TheMuon
Chon thong ke Ban doc qua han Yeu cau thong tin ban doc qua han Truy van thong tin ban doc qua han
Tra danh sach an doc qua han Tra danh sach ban doc qua han
Hnh P.12: Biu tun t cho chc nng Thng k thng tin bn c
3.2 Biu lp chi tit Da trn biu lp trong pha phn tch v cc biu trng thi, biu tun t, biu lp thit k c xy dng nh trong Hnh P.13. Biu lp thit k b sung nhiu thuc tnh v phng thc so vi biu lp phn tch.
121
Nguoi ten : String diachi : String ngaysinh : Date getTen() setTen() getDiachi() setDiachi() getNgaysinh() setNgaysinh() The muon maThemuon : string maBandoc : String ngayMuon : Date ngayTra_dukien : Date dsMasach ngaytra_Thucte : Date tinhtrangHienthoi : String getThemuon() getBandoc() 1 capnhatThemuon() xoaThemuon() getSachmuontheothang() getSachmuontheoten() getSachmuontheongay() themThemuon() muonSach() traSach()
Thuthu maThuthu : String password : String vaitro : String getVaitro() setVaitro() xacthucThuthu() thaydoiPassword() Sach maSach : string tenSach : string tacGia : string nhaXB : string phienban : string danhmuc : string namXB : int soTrang : int mota : memotext soluong : int ngayTao : Date ngayCapnhat : Date getTensach() getMaSach() timkiem() themSach() capnhatSach() xoaSach() getSachtheomuc() getSachtheongay()
Bandoc maBandoc : string lop : string khoa : string xacthucBandoc() themBandoc() capnhatBandoc() xoaBandoc() getMaBandoc() 1 thaydoiPassword()
1..n
1...
3.3 Thit k ring tng chc nng Vi mi chc nng, pha thit k s xc nh: Cc lp giao din tng ng Lp iu khin Lp thc th Cc mi quan h gia cc lp trn trong chc nng
122
DK_Dangnhap
(f rom Dieu khien)
Thuthu
(f rom Thuc the)
FormDangnhap
(f rom Giao dien)
dangnhap() thaydoiPassword()
Sach
(f rom Thuc the)
FormTimkiemSach
(f rom Giao dien)
timkiem() hienthiKQTimkiem()
maSach : Long tenSach : String tacGia : String nhaXB : String phienban : String danhmuc : String namXB : Date soTrang : Integer mota : Text ngayTao : Date ngayCapnhat : Date soluong : Integer getMaSach() getTensach() timkiem() themSach() getSach() getSachtheomuc() getSachtheongay() capnhatSach() xoaSach()
<<forward>>
FormKQTimkiem
(f rom Giao dien)
123
Sach
(from Thuc the)
DK_Timkiem
(from Dieu khien)
dsTieuchiTK dsThuoctinhTK dsThaotac dsKQTimkiem dinhdangSQL() xuly Tukhoa() getKQTimkiem() timSach() setTieuchiTK()
maSach : Long tenSach : String tacGia : String nhaXB : String phienban : String danhmuc : String namXB : Date soTrang : Integer mota : Text ngay Tao : Date ngay Capnhat : Date soluong : Integer getMaSach() getTensach() timkiem() themSach() getSach() getSachtheomuc() getSachtheongay () capnhatSach() xoaSach()
Themuon
(from Thuc the)
FormMuonsach
(from Giao dien)
Bandoc
(from Thuc the)
DK_MuonSach
(from Dieu khien)
maBandoc : String lop : String khoa : String xacthucBandoc() themBandoc() xoaBandoc() capnhatBandoc() getMaBandoc() thay doiPassword()
maThemuon : Long maBandoc : String ngay Muon : Date ngay tra_Dukien : Date dsMasach_muon ngay tra_Thucte : Date tinhtrangHienthoi : String capnhatThemuon() xoaThemuon() getThemuon() getBandoc() getSachmuontheothang() getSachmuontheoten() getSachmuontheongay () themThemuon()
124
Themuon
(f rom Thuc the)
DK_MuonSach
(f rom Dieu khien)
maThemuon : Long maBandoc : String ngayMuon : Date ngaytra_Dukien : Date dsMasach_muon ngaytra_Thucte : Date tinhtrangHienthoi : String capnhatThemuon() xoaThemuon() getThemuon() getBandoc() getSachmuontheothang() getSachmuontheoten() getSachmuontheongay() themThemuon()
FormTrasach
(f rom Giao dien)
Bandoc
(f rom Thuc the)
traSach() huyThemuon()
maBandoc : String lop : String khoa : String xacthucBandoc() themBandoc() xoaBandoc() capnhatBandoc() getMaBandoc() thaydoiPassword()
125
DK_ThongkeSach
(f rom Dieu khien)
FormThongkeSach <<forward>>
(f rom Giao dien)
getDSSachmuon() Sach
(f rom Thuc the)
FormKQThongkeSach
(f rom Giao dien)
maSach : Long tenSach : String tacGia : String nhaXB : String phienban : String danhmuc : String namXB : Date soTrang : Integer mota : Text ngayTao : Date ngayCapnhat : Date soluong : Integer getMaSach() getTensach() timkiem() themSach() getSach() getSachtheomuc() getSachtheongay() capnhatSach() xoaSach()
Themuon
(f rom Thuc the)
maThemuon : Long maBandoc : String ngayMuon : Date ngaytra_Dukien : Date dsMasach_muon ngaytra_Thucte : Date tinhtrangHienthoi : String capnhatThemuon() xoaThemuon() getThemuon() getBandoc() getSachmuontheothang() getSachmuontheoten() getSachmuontheongay() themThemuon()
Hnh P.18: Thit k lp cho chc nng Thng k thng tin sch
3.4 Biu hot ng V a s cc chc nng (cc hm) thit k u tng i r rng nn h thng qun l th vin khng cn xy dng nhiu biu hot ng. Phn ny ch trnh by v d mt biu hot ng n gin ca chc nng mn sch (trong lp Th mn).
126
Xac nhan cho muon In Phieu muon Het quyen muon sach Khong co hoac khong du sach
3.5 Biu trin khai h thng H thng c trin khai di dng Website v ci t khc nhau trn cc my Client cho th th v cho sinh vin. Biu trin khai h thng c m t n gin nh di y:
127
Server
TCP/IP
128
GI TR LI CC BI TP
GI TR LI CC BI TP
CHNG 3 Bi 1. B Bi 2. Quan h cng hp (Composition) v Address l mt thnh phn ca lp Employee. Bi 3. Quan h ph thuc. Bi 4. b a->e->b a->d Bi 5. D Bi 6. C Bi 7. A CHNG 4 Bi 1. B Bi 2. C, D Bi 3. D Bi 4. B (V hm print() khng phi l phng thc ca i tng b) Bi 5. A Bi 6. class Nguoi{ private: char ten[40]; char gioi; int tuoi, chieucao, cannang; void setTen(char *s) {strcpy(ten,s);} void setTuoi(int a){tuoi=a;} void setGioi(char s){gioi=s;}
129
GI TR LI CC BI TP
public: Nguoi(char *ten, char s, int a ){ setTen(ten); setTuoi(a); setGioi(s); } ~Nguoi(){} }; class Nhanvien: public Nguoi{ private: int luong; public: Nhanvien(char *n, char s, int a, int l=0):Nguoi(n.s,a){ luong =l; } } Bi 7. class Nguoi{ private: char ten[40]; char gioi; int tuoi, chieucao, cannang; Nguoi* vochong; void setTen(char *s) {strcpy(ten,s);} void setTuoi(int a){tuoi=a;} void setGioi(char s){gioi=s;} public: Nguoi(char *ten, char s, int a ){ setTen(ten); setTuoi(a); setGioi(s); } ~Nguoi(){}; 130
GI TR LI CC BI TP
Nguoi* getVochong(){return vochong;} void setVochong(Nguoi *p){vochong = p; return;} }; Bi 8. class Nguoi{ private: char ten[40]; char gioi; int tuoi, chieucao, cannang; void setTen(char *s) {strcpy(ten,s);} void setTuoi(int a){tuoi=a;} void setGioi(char s){gioi=s;} Nguoi* Cha; Nguoi* Me; Nguoi* Con[]; void setCha(Nguoi* p){Cha = p; return;} void setMe(Nguoi* p){Me = p; return;} public: Nguoi(char *ten, char s, int a ){ setTen(ten); setTuoi(a); setGioi(s); } ~Nguoi(){}; Nguoi* getCha(){return Cha;} Nguoi* getMe(){return Me} Nguoi* c[] getCon(){return Con} }; Bi 9. class Tay{ 131
GI TR LI CC BI TP
.. }; class Chan{ } class Nguoi{ private: char ten[40]; char gioi; int tuoi, chieucao, cannang; Tay taytrai; Tay tayphai; Chan chantrai; Chan chanphai; void setTen(char *s) {strcpy(ten,s);} void setTuoi(int a){tuoi=a;} void setGioi(char s){gioi=s;} public: Nguoi(char *ten, char s, int a ){ setTen(ten); setTuoi(a); setGioi(s); } ~Nguoi(){} };
132
133