ch07_phantichhanhvi_01
DESCRIPTION
Chương 7: Phân tích hành viTRANSCRIPT
-
3/3/2012
1
1
Phn tch hnh vi -M hnh ha s tng tc
Nguyn Hng Phng, MScB mn H thng thng tinVin CNTT&TT HBK H NiEmail: [email protected]: http://is.hut.edu.vn/~phuongnh
2
Ni dung
1. MHH s tng tc vi biu trnh t2. MHH s tng tc vi biu giao tip3. i chiu, chnh sa cc MH cu trc v
tng tc4. Bi tp tng hp
Khi nim
Hnh vi (hay ng thi) l s hot ng ca cc i tng nhm to ra cc kch bn.
Hnh vi bao gm tng tc (trao i thng ip) v ng x (phn ng vi cc s kin).
3 4
1. MHH s tng tc vi biu trnh t
1.1. Mc ch MHH tng tc1.2. Cc thng ip1.3. Biu trnh t1.4. MHH tng tc trong ca s dng vi
b trnh t
1.1. Mc ch MHH tng tc
Mc ch ca bc m hnh ho tng tc l dng cc biu tng tc din t s tng tc gia cc i tng nhm to ra cc kch bn ca mi ca s dng ca h thng.
Hnh thc tng tc duy nht c th c gia cc i tng l chuyn giao thng ip v c hai biu chnh c s dng din t s tng tc (mt cch tng ng vi nhau) l biu trnh t v biu giao tip.
5
D hai biu ny l khc nhau v hnh thc, song khi thnh lp chng, ta c th p dng chung cc nguyn tc sau y: Cc i tc ch c th tng tc (gi thng
ip) ti cc i tng bin. Cc i tng bin ch c th tng tc ti cc
i tng iu khin hay i tng bin khc. Cc i tng iu khin c th tng tc ti
cc i tng bin, cc i tng thc th hay cc i tng iu khin khc.
Cc i tng thc th ch c th tng tc vi cc i tng thc th m thi.
6
1.1. Mc ch MHH tng tc
-
3/3/2012
2
1.2. Cc thng ip
Thng ip (message) l mt c t cho s giao lu gia hai itng, bao gm s truyn t mt s thng tin v/hoc s yu cu
thc hin mt hot ng no thuc kh nng ca bn nhn.
Hnh ng to nn bi mt thng ip c th l cc hnh ng sau:
Gi (call): Yu cu thc hin mt thao tc ca i tng nhn.
Mt i tng c th gi mt thng ip cho chnh n m ktqu l huy ng mt thao tc ring t ca n (gi cc b).
Tr li (return): Tr li mt gi tr cho bn gi.
Gi (send): Gi mt tn hiu ti mt i tng.
To lp (create): To lp mt i tng mi.
Hu b (destroy): Hu mt i tng. Mt i tng cng cth hu b chnh n (terminate).
7
Khi mt i tng gi mt thng ip cho mt i tng khc, th i tng ny trong hot ng p ng thng ip trn li c th gi thng ip cho i tng khc, c th to thnh mt lung kch hot lan dn. Gi l mt l trnh iu khin(thread of control).
L trnh iu khin c th phng (tuyn tnh) hay lng (do c s tr li). Bi th v hnh thc tip ni thng ip, ta phn bit cc loi thng ip sau:
8
1.2. Cc thng ip
Thng ip ng b, biu din bng mi tn u tam gic
c:
l mt chuyn giao iu khin lng, tc l mt li gi thao
tc: bn gi chuyn iu khin cho bn b gi, ri tm ngng
ch bn b gi tr li iu khin.
Bn b gi thc hin thao tc c yu cu, nu cn c th
chuyn iu khin cho mt i tng khc v khi thao tc hon
thnh tr iu khin v bn gi, c th km theo kt qu tr li.
Thng ip tr v c th biu din tng minh bi mi tn t
nt hoc c th b qua, v n l mc nh thi im kt thc
thao tc.
9
1.2. Cc thng ip
Thng ip khng ng b, biu din bng mi tn thng:UML 1.3 tr v trc dng mi tn na:
l mt chuyn giao iu khin phng, thng qua s gi i mt tn hiu. Thng ip i vo hng i ca bn nhn.
Bn gi khng cn bit thng ip c nhn cha, m tip tc i vo lm vic ngay (tc l lm vic ng thi).
Bn nhn thc hin mt thao tc v cng c th tr v mt thng tin cho bn gi. Nhng nu c s tr li, th phi biu din tng minh.
10
1.2. Cc thng ip
Ngoi ra, cn ty thuc vo ni pht v ni nhn thng ip l c c bit
r khng m UML 2.0 cn a thm hai loi thng ip na l: Thng ip mt ht (lost message): l thng ip m ni
pht th bit r, song ni nhn th khng c bit (v ngoi phm vi m t, hoc v l mt s pht tn). Thng ip mt ht c biu din bng mt mi tn c hnh trn en cui:
Thng ip kim c (found message): l thng ip m ni nhn th bit r, song ni pht th khng bit l u (v ngoi phm vi m t). Thng ip kim c c biu din bng mt mi tn c hnh trn en gc:
11
1.2. Cc thng ip 1.3. Biu trnh t
Biu trnh t (Sequence Diagram) l mt trong hai biu tng tc chnh, vi ch lm ni bt trnh t theo thi gian ca cc thng ip.
N trnh by mt tp hp cc i tng cng vi nhng thng ip chuyn giao gia chng vi nhau. Cc i tng ni y thng l cc c th c tn hay khuyt danh ca cc lp, song th vo ch cc i tng, cng cn c th l cc i tc, cc hp tc, cc thnh phn, cc nt.
12
-
3/3/2012
3
Biu trnh t c trnh by theo hai chiu: Chiu ngang b tr cc i tng. Cc i tng c v
theo dng hnh ch nht hoc bng biu tng, dn thnh mt hng ngang trn nh biu . Trt t cc i tng l khng quan trng, song cc i tng khi pht thng ip nn v pha tri. Cc i tng mi c to lp th v thp xung, ngang vi thng ip to lp chng.
Chiu dc l trc thi gian (hng xung di). Mi i tng c mang mt trc ng (v t nt), gi l ng i. ng i ca i tng s kt thc bng mt du gch cho, khi i tng b hu b.
13
1.3. Biu trnh t
Cc thng ip (ng b, khng ng b hay tr li) l nhng mi tn nm ngang ni ng i ca hai i tng v c v ln lt t trn xung theo th t thi gian.
Nu mun lm r thi k hot ng (tc l lc i tng nm gi iu khin) v lm r s lng nhau ca cc thng ip, ta v thm trn ng i mt hay mt s di hp hnh ch nht, gi l tiu trnh iu khin (focus of control).
L phi v l tri ca biu c th dng ghi cc gii thch, cc rng buc.
14
1.3. Biu trnh t
15
1.3. Biu trnh t
Mi thng ip mang theo tn thng ip di dngthngip(ds tham s).
Tn thng ip li c th gn thm cc tin t vi cc ngha nh sau:
Mt biu thc trnh t c dng a: thng th a l s th tca thng ip, nhng cng c th l mt nhn (k t). Vtrt t thng ip biu hin r, nn biu trnh t ccbiu thc trnh t thng t dng.
Mt iu kin chn, dng [iu kin], vi ngha l thngip ch c gi i khi iu kin ny tho mn. Nu vnhiu thng ip cng xut pht mt im, mi thng ipmang mt iu kin ring th ta c th din t: Mt r nhnh chn, nu cc iu kin l loi tr ln nhau. Mt r nhnh song song, nu cc iu kin khng loi tr ln
nhau.
16
1.3. Biu trnh t
Mt k hiu lp dng *, vi ngha l thng ip c lp li nhiu ln (thng th s lp thc hin trn nhiu i tng, do i tng nhn l mt i tng bi).
Th d: Mt biu trnh t din t mt cuc lin lc bng in thoi. Cc i tng u l cc i tng tng tranh (lm vic song song), do u c v vi vin m. Cc thng ip u l khng ng b (tr d).
17
1.3. Biu trnh t
18
1.3. Biu trnh t
-
3/3/2012
4
1.4. MHH tng tc trong ca s dng vi b trnh t
Mt ca s dng c th gm nhiu kch bn tng ng vi nhiu lung iu khin khc nhau. Mt biu trnh t ch c th din t mt lung iu khin, mc du trong biu cng c th din t s r nhnh hay lp n gin.
Vy thng thng ta lp mt s biu trnh t cho mt ca s dng. Mt vi biu trong l chnh, s biu cn li din t cc li r kh d hay cc trng hp mc li.
19
lp mt biu trnh t cho mt kch bn ca ca s dng ta tin hnh cc bc sau: Xem li biu cc lp tham gia ca ca s dng ( lp
bc trc) xc nh cc c th no ca nhng lp trong biu tham gia thc s vo kch bn ang xt. Mun th, di theo tng bc trong kch bn xem cc i tng ng vai tr g trong bc (bin, iu khin, thc th).
Dn cc i tng thnh hng ngang trn nh biu trnh t. B tr cc i tng quan trng bn tri, cc i tng ph tr t bn phi. i tc, nu c, th t l tri.
20
1.4. MHH tng tc trong ca s dng vi b trnh t
V ng i cho mi i tng (v i tc). Trong a s cc trng hp th i tng tn ti sut thi gian tng tc. Tuy nhin cng c i tng c to lp v b hu b trong thi gian tng tc, cn c v ng i ngn, t lc sinh ti lc cht; vi cc khun dp thch hp cho cc thng ip to lp hay hu b chng.
Xut pht vi thng ip khi u tng tc. B tr cc thng ip tip theo ln lt t trn xung di, gia cc ng i. Ch r c im ca mi thng ip (nh l cc tham s ca n). Nu cn th cho thm gii thch v ng ngha ca tng tc.
21
1.4. MHH tng tc trong ca s dng vi b trnh t
Nu thy cn lm r thi k hot ng ca cc i tng v
lm r s lng nhau ca cc thng ip, th v thm cc tiu
trnh iu khin trn mi ng i ca i tng.
Nu cn lm r cc rng buc phi c v thi gian v khng
gian, th cho thm cc k hiu thi gian (nh biu thc trnh
t, k hiu lp *) v cc rng buc khng thi gian thch
hp.
Nu thy cn din t lung iu khin ny mt cch hnh
thc hn, hy a thm cc tin v hu cho mi thng
ip.
22
1.4. MHH tng tc trong ca s dng vi b trnh t
2.1. B giao tip2.2. MHH tng tc trong ca s dng vi
b giao tip
23
2. MHH s tng tc vi b giao tip
Biu giao tip (Communication Diagram) l mt trong hai biu
tng tc chnh, vi ch lm ni bt khung cnh t chc ca s tng
tc. Tn c trong UML 1.x l biu hp tc (Collaboration diagram).
N trnh by mt tp hp cc i tng, cc kt ni gia cc i tng
cng vi nhng thng ip chuyn giao gia chng vi nhau. Cc i
tng ni y thng l cc c th c tn hay khuyt danh ca cc lp,
song th vo ch cc i tng, cng cn c th l cc i tc, cc hp
tc, cc thnh phn, cc nt.
Thng ip c biu din bng mt mi tn nh, v dc theo mt kt
ni gia hai i tng, vi hm rng nh c kt ni , m bn gi
bit bn nhn c th gi thng ip. Ni cch khc, thng ip
khng th gi i nu bn nhn khng trong "tm nhn" ca bn gi.
24
2.1. Biu giao tip
-
3/3/2012
5
C nm trng hp ca kt ni th hin tm nhn. Tn ti lin kt gia hai lp ca hai i tng. By gi kt
ni c ghi thm t kho . i tng nhn l ton cc i vi i tng gi. By gi
kt ni c ghi thm t kho i tng nhn l cc b trong thao tc (ca bn gi)
gi thng ip i. By gi kt ni c ghi thm t kho .
i tng nhn l tham s ca thao tc (ca bn gi) gi thng ip i. By gi kt ni c ghi thm t kho .
i tng nhn cng chnh l i tng gi. By gi kt ni c ghi thm t kho .
25
2.1. Biu giao tip
Cc i tng cng nh cc kt ni c th c to lp hay b hu b trong thi gian thc hin. phn bit, ta ghi thm cc xu tnh cht: {new} cho i tng hay kt ni mi c to lp; {destroyed} cho i tng hay kt ni b hu b; {transient} cho i tng hay kt ni c thnh lp trong thi
gian thc hin, ri b hu b.
Mi tn thng ip ( dng hay ) phi km theo tiu ca thng ip m c php y l nh sau:[Bctrc] [Biuthctrnht] [Trli :=] TnThngip(DsThams)trong tr TnThngip l bt buc, cn cc phn khc u l tu .
26
2.1. Biu giao tip
Bctrc: Mt danh sch cc s th t, cch nhau bng du phy v kt thc bng gch cho ('/'). Thng ip ch c chuyn giao khi cc thng ip tng ng vi cc s th t cho trong danh sch ny chuyn giao ri. Vy y l mt yu cu ng b ho ca l trnh iu khin. Th d: 1.1, 2.3/
27
2.1. Biu giao tip
Biuthctrnht: l dy s v k t kt thc bi du hai chm (':') din t trnh t tip ni cc thng ip. Trng hp n gin, th ch l mt s th
t, vit theo dng k php chm: khi mt thng ip kch hot mt thao tc m bn trong thao tc ny c mt lot thng ip c gi i, th nhng thng ip ny mang s th t l s th t ca thng ip trn km mt du chm ri cc s 1, 2, 3... ln lt. Cch nh s ny cho thy s lng nhau ca cc thng ip.
28
2.1. Biu giao tip
Cc s li c th thay bi cc dy k t, nhm mc ch: Din t l trnh iu khin, nh l A3, B4/ C3.1.2: Din t iu kin chn, nh l 4.2. [x
-
3/3/2012
6
Th d (tt)Chng trnh sau y thc hin biu giao tip trn, cho php ta hiu r hn v cc k php vn dng trong :dnhsn(d : nhng) {
DngH dng; Hng hng; int slng;for (int i=1; i < d.sdng(); i++) {
dng = d.choDng (i);hng = dng.choHng();slng = dng.choSlng();hngtrongKho.dnhsn(hng, slng);
}}
31
2.1. Biu giao tip
Nhiu khi mt thng ip gi i khng hn l n mt i tng, m n nhiu i tng mt lc. Chng hn thng ip tm mt i tng thch hp ti u "nhiu" ca mt lin kt, hoc tm mt cun sch trong catal. By gi ta nn din t bng i tng bi.
i tng bi (multiobject) l mt k php UML dng biu din trong ch mt k hiu nhiu i tng
ca cng mt lp. N c v
thnh hai i tng chng ln
nhau. Dng i tng bi, ta
khng phi cp qu sm vo
cch thc ci t (chng hn
khng cn bit y s l lp
Vector hay lp ArrayList, hay l g).
32
2.1. Biu giao tip
2.2. MHH tng tc trong ca s dng vi b giao tip
lp biu giao tip cho mt kch bn ca ca s dng ta tin hnh cc bc sau: Xem li biu cc lp tham gia ca ca s
dng ( lp bi trc) xc nh cc c th no ca nhng lp trong biu tham gia thc s vo kch bn ang xt. Mun th, di theo tng bc trong kch bn xem i tng ng vai tr g trong bc .
V cc i tng nh l cc nh ca th. B tr cc i tng quan trng vo gia, cc i tng khc xung quanh.
33
Gn nhng tnh cht u tin cho mi i tng. Nu c i tng no m tnh cht ca n (gi tr thuc tnh, gi tr gn nhn, trng thi, vai tr) thay i mt cch ng k trong thi gian tng tc, hy v thm bn sao cho cc i tng , cp nht chng vi cc gi tr mi v ni vi i tng gc bng mt ph thuc vi khun dp nh l hay .
34
2.2. MHH tng tc trong ca s dng vi b giao tip
Xc nh cc kt ni gia cc i tng, cng vi cc thng ip c th c trn .- V cc kt ni lin kt trc; l nhng kt
ni quan trng nht v chng din t cu trc tnh.
- Tip theo v cc kt ni khc v ghi ch vi cc khun dp thch hp (nh l , ) lm r cc i tng lin h vi nhau theo kiu g.
35
2.2. MHH tng tc trong ca s dng vi b giao tip
Xut pht vi thng ip khi u tng tc. B tr ln lt cc thng ip tip theo trn cc kt ni thch hp, thm cc s th t thch hp. Dng k php chm lm r s lng nhau.
Nu thy cn cc rng buc v khng gian v thi gian, hy thm vo thng ip cc du hiu thi gian v nh km cc rng buc v khng gian hay thi gian.
Nu thy cn din t lung iu khin ny mt cch hnh thc hn, hy a thm tin v hu cho mi thng ip.
36
2.2. MHH tng tc trong ca s dng vi b giao tip
-
3/3/2012
7
3. i chiu v chnh sa cc m hnh
Ti y ta lp cc biu cu trc (biu cc lp lnh vc, biu cc lp tham gia) v lp cc biu tng tc (biu trnh t, biu giao tip). Ta cn phi i chiu cc biu vi nhau chnh sa li cc ch khng ph hp gia chng.Cc vic chnh sa l nh sau: 3.1. Thm bt cc lp 3.2. Thm v chnh l cc thao tc trong cc lp 3.3. Thm cc kiu cho cc thuc tnh, cc tham s v
cc tr li 3.4. Thm v chnh l cc mi lin quan gia cc lp
37
3.1. Thm bt cc lp
Mt s lp c pht hin thm khi ta lp cc biu tng tc, cn b sung chng vo cc biu cu trc. Ngc li c nhng lp trong biu cu trc khng h c i tng tham gia vo mt biu tng tc no, cn phi loi b chng i.
38
3.2. Thm v chnh l cc thao tc trong cc lp
Khi c mt thng ip c gi t mt i tng ca lp A sang
mt i tng ca lp B, th:
Trong lp B (bn nhn) phi c mt thao tc cng cng
tng ng vi thng ip . Tn thng ip v thao tc
phi ph hp ng ngha vi nhau, thng thng th thng
ip nn ly trng tn vi thao tc. Danh sch cc tham s
ca thao tc phi ph hp cc yu cu ca thng ip.
Trong lp A (bn gi) phi
c mt thao tc c trch
nhim gi i thng ip
trn.
39
Tuy nhin quy lut trn cng c nhng ngoi l: Thng ip n mt i tc:
Nu i tc l ngi, th thng ip ch yu cu ngi lm mt vic g ghi trong bn hng dn s dng, ch khng phi l mt thao tc (tc l mt chng trnh my tnh).
Nu i tc l mt thit b, th thng ip ch kch hot mt cm bin hay mt ng c thit b .
Nu i tc l mt h thng ngoi, th n phi c i din bi mt lp cha cc giao thc thch hp. By gi thng ip s kch hot mt thao tc trong lp ny.
40
3.2. Thm v chnh l cc thao tc trong cc lp
Thng ip n mt lp giao din GUI: Yu cu ca thng ip c ci t thnh cc
yu t ho ca GUI, nh l trng hay nt.... ch khng l mt thao tc.
Cc thao tc ring t: l nhng thao tc dng trong ni b, ch
tng ng vi cc thng ip quy, ch khng tng ng vi thng ip t i tng khc gi n.
41
3.2. Thm v chnh l cc thao tc trong cc lp 3.3. Thm cc kiu cho cc thuc tnh, cc tham s v cc tr li
Cc kiu c th l cc kiu nguyn thu hay cc kiu do ngi dng a vo, hoc cc lp. Tuy nhin cha nn vi dng tn cc kiu ca mt ngn ng lp trnh c th no, m vn dng cc tn chung, nh vy linh hot hn.
42
-
3/3/2012
8
3.4. Thm v chnh l cc mi lin quan gia cc lp
Khi i tng ca mt lp A gi mt thng ip cho mt i tng ca mt lp B, th gia hai i tng c mt kt ni vi ngha l bn nhn thuc phm vi hiu bit (hay trong tm nhn) ca bn gi: Nu s hiu bit l vn c t lu, th y l mt biu
hin ca s lin kt (association) gia A v B. Nu s hiu bit l mi c cung cp (chng hn
thng qua vic truyn tham s hay vic nhn kt qu tr li), th y l mt biu hin ca s ph thuc (dependency) ca A vo B.
43
4. Bi tp tng hp
MHH tng tc, Larman v Jacobson ngh cc bc sau:
1) Xc nh cc vng lp: Mi vng lp thngl mt ca SD, song c khi l mt gi ca SD.
2) Xc nh cc thao tc h thng: l ccyu cu m mt i tc a ra i vi HT (tc l mt kch bn m i tc khi ng).
3) Lp mt B tng tc cho mi thao tc HT.
44
Cu hi 17: Xc nh cc vng lp cho vic MHH tng tc. Nhn cc ph thuc trong B gi, ta thy mt cch t nhin l nn bt u vi gi Catal T, ri n gi ngh T. Vy trn B ca SD ta chia ct cc vng lp nh trang sau.
45
4. Bi tp tng hp
Ti v
ngh T
Catal T
+Kton +Hon
+Catal +CsT +LpT +Nidung +Khc
+Nhnvin +NgiPTT +nxinT +ngk +Trli +ng +Khngng
Cu hi 17 (tt):Cc vng lp cho vic MHH tng tc:
46
4. Bi tp tng hp
DFWRU!!DFWRU!!DFWRU!!DFWRU!!&?V?7&?V?7&?V?7&?V?7
1KQYLQ1KQYLQ1KQYLQ1KQYLQ
1J??L3771J??L3771J??L3771J??L377
?QJK?7?QJK?7?QJK?7?QJK?7
QJN7QJN7QJN7QJN7
4XrQOFDWDO4XrQOFDWDO4XrQOFDWDO4XrQOFDWDO
7UDF?XFDWDO7UDF?XFDWDO7UDF?XFDWDO7UDF?XFDWDO
+X?\XFvX+X?\XFvX+X?\XFvX+X?\XFvX
LQFOXGH!!LQFOXGH!!LQFOXGH!!LQFOXGH!!
LQFOXGH!!LQFOXGH!!LQFOXGH!!LQFOXGH!!/?S
/?S/?S
Cu hi 18: nh ngha cc thao tc HT cho vng lp 1.
Vi mi thao tc HT, Larman ngh ch ra mt hp ng
ca thao tc gm cc im sau:
1) Tn
2) Trch nhim
3) Tham chiu
4) iu kin vo
5) iu kin ra
6) Ngoi l (tu chn)
7) Ch thch (iuyf chn)
Nghin cu ca s dng Qunlcatal, ta a ra c cc thao tc
HTcho vng lp 1, nh Hnh bn.
47
4. Bi tp tng hp
H thng
tolpLpT() iuchnhLpT() tolpCsT() iuchnhCsT() tolpCh() iuchnhCh() tolpKhc() iuchnhKhc()
Cu hi 18 (tt):Lp hp ng ca thao tc HT: tolpLpT. Trc ht ta cn lu cclp thuc gi Catal T, v thaotc HT tolpLpT s cpcc lp ny. Song ta thy thiulp Ch , m ta s phi bsung vo gi nh hnhbn. By gi c th lp hpng nh sau:
48
4. Bi tp tng hp
Catal
Lp o to
Ch
0..*
1..*
1..*
1
-
3/3/2012
9
Cu hi 18 (tt):
1) Tn: tolpLpT
2) Trch nhim: To lp mt lp T mi theo m t ca
CST v t lp vo t nht mt Ch .
3) Tham chiu: Ca SD Qun l Catal.
4) Cc iu kin vo:
Catal T c t trc.
C t nht mt Ch trong catal.
C s T cung cp thng tin c trong catal.
Ngi PTT ang kt ni vi intranet.
49
4. Bi tp tng hp
Catal
Lp o to
Ch
0..*
1..*
1..*
1
Cu hi 18 (tt):
5) Cc iu kin ra:
Mt lp T d c to lp cng cc thuc
tnh.
Mt i tng ni dung n c to lp cng
cc thuc tnh.
n c kt ni vi d.
d c kt ni vi c s T tng ng.
Cc k hc nu c phi c to lp cng cc
thuc tnh.
d phi c kt ni vi t nht mt Ch
50
Catal
Lp o to
Ch
0..*
1..*
1..*
1
4. Bi tp tng hp
Cu hi 19: Lp mt B tng tc (B trnh t hay B giao tip) thc hin
thao tc HT tolpLpT. Cc iu kin ra k trn cho ta thy ci ch
cn t c: Mt lp T d c to lp cng cc thuc tnh. Mt i tng ni dung n c to lp cng cc thuc
tnh. n c kt ni vi d. d c kt ni vi c s T tng ng. Cc k hc nu c phi c to lp cng cc thuc
tnh. d phi c kt ni vi t nht mt Ch .
51
4. Bi tp tng hp
Tuy nhin cc iu kin ny l khng c th t. Ta cn quyt nh mt trnh t thc hin, chng hn:
1)Khi to i tng d v cc thuc tnh ca n.2)To lp ni dung n ca n.3)To lp cc k hc.4)Ghp d vo mt (vi) ch v vi c s o
to.
52
4. Bi tp tng hp
Thc hin cu 1 bng mt B trnh t:
53
4. Bi tp tng hp
:Ngi PTT :W-PTT :W-LpT :K-LpT
d: LpT
tolpLpT() khihot()
khitoLp(tn,thigian,gi) khitoLp (tn,thigian,gi)
create(tn,thigian,gi)
Thc hin cu 1 v 2 bng mt B trnh t:
54
4. Bi tp tng hp
:Ngi PTT :W-PTT :W-LpT :K-LpT
d: LpT
tolpLpT( ) khihot( )
khitoLp(tn,thigian,gi) khitoLp (tn,thigian,gi)
create(tn,thigian,gi)
n: Nidung
:W-Nidung
tolpNidung( ) khihot( )
tolpNidung(ngihc,mctiu,cngc,khoch)
tolpNidung(ngihc,mctiu,cngc,khoch)
create(ngihc,mc tiu, cngc,khoch)
-
3/3/2012
10
S i tng cng nhiu th B trnh t cng kh c, kh trnh by. Ta thay B trnh t trn bng B giao tip (tng ng) sau v dng n trin khai cc bc tip:
55
4. Bi tp tng hp
:Ngi PTT
:W-PTT
:W-LpT
:K-LpT
d: LpT
1: tolpLpT( )
1.1:.khihot( )
2:khitoLp(tn,thigian,gi)
2.1:khitoLp (tn,thigian,gi)
2.1.1:create(tn,thigian,gi)
n: Nidung:W-Nidung
3:tolpNidung( )
3.1:khihot( )
4:tolpNidung(ngihc,mctiu,cngc,khoch)
4.1:tolpNidung(ngihc,mctiu,cngc,khoch)
4.1.1:create(ngihc, mc tiu, cngc,khoch)
Thc hin cu 3 bng cch dng i tng bi:
56
4. Bi tp tng hp
:Ngi PTT
:W-PTT
:W-LpT
:K-LpT
d: LpT
1: tolpLpT( )
1.1:.khihot( )2:khitoLp(tn,thigian,gi)
2.1:khitoLp (tn,thigian,gi)
2.1.1:create(tn,thigian, gi)
n: Nidung:W-Nidung
3:tolpNidung( )
3.1:khihot( )
4:tolpNidung(ngihc,mctiu,cngc,khoch)
4.1:tolpNidung(ngihc,mctiu,cngc,khoch)
4.1.1:create(ngihc, mc tiu, cngc,khoch)
:W-Khc
k: Khc
k: Khc
5:tolpK( )
5.1:khihot( )
6:tolpK(ngyBtu,aim) 6.1:tolpK(ngyBtu,aim)
6.1.1:create(ngyBtu, aim)
6.1.2:add(k)
4. Bi tp tng hp
Thc hin cu 4:
57
:Ngi PTT
:W-PTT
:W-LpT
:K-LpT
d: LpT
1: tolpLpT( )
1.1:.khihot( )2:khitoLp(tn,thigian,gi)
2.1:khitoLp (tn, thigian,gi) 7.1:ghp(ch,CST)
2.1.1:create(tn, thigian,gi) 7.1.1:ghp(ch,CST)
n: Nidung:W-Nidung
3:tolpNidung( )
3.1:khihot( )
4:tolpNidung(ngihc,mctiu,cngc,khoch)
4.1:tolpNidung(ngihc,mctiu,cngc,khoch)
4.1.1:create(ngihc,mctiu,cngc,khoch)
:W-Khc
k: Khc
: Khc
5:tolpK( ) 7:ghp(ch,CST)
5.1:khihot( )
6:tolpK(ngyBtu,aim) 6.1:tolpK(ngyBtu,aim)
6.1.1:create(ngyBtu,aim)
6.1.2:add(k)
: Ch
: C sT
: LpT
: LpT
2.1.2:add(d)
7.1.2:add(d)
4. Bi tp tng hp
B trang trc l qu ln. lp trn cc B nh hn ta ct n ra lm i nh trang ny v trang sau.
58
:Ngi PTT
:W-PTT
:W-LpT
:K-LpT
1: tolpLpT( )
1.1:.khihot( )
2:khitoLp(tn,thigian,gi)
2.1:khitoLp (tn, thigian,gi) 7.1:ghp(ch,CST)
:W-Nidung
3:tolpNidung( )
3.1:khihot( )
4:tolpNidung(ngihc,mctiu,cngc,khoch)
4.1:tolpNidung(ngihc,mctiu,cngc,khoch)
:W-Khc
5:tolpK( ) 7:ghp(ch,CST)
5.1:khihot( )
6:tolpK(ngyBtu,aim) 6.1:tolpK(ngyBtu,aim)
4. Bi tp tng hp
59
:K-LpT d: LpT
1:khitoLp(tn,thigian,gi)
1.1:create(tn, thigian,gi) 4.1:ghp(ch,CST)
n: Nidung
2:tolpNidung(ngihc, mctiu,cngc,khoch)
2.1:create(ngihc, mctiu,cngc,khoch)
k: Khc: Khc
3:tolpK(ngyBtu,aim) 4:ghp(ch,CST)
3.1:create(ngyBtu,aim)
3.2:add(k)
: Ch
: C sT
: LpT
: LpT
1.2:add(d)
4.2:add(d)
4. Bi tp tng hp
Cu hi 20: Cn c trn B giao tip va mi thnh lp, hy b sung
ni
dung cho cc lp tham gia.
Ni dung b sung gm:
Cc thao tc: Mt thng ip gi ti mt i tng phi tng ng vi
mt thao tc c sn trong lp ca i tng .
Lu hnh: Tu theo cc kt ni gia cc i tng trong biu giao
tip (gi cho cc thng ip) l association, self, hay
parameter, global, local m ta thit lp lin kt hay ph thuc
gia hai lp (theo chiu gi thng ip).
Kt qu p dng 2 quy tc trn vo B giao tip ang xt l B cc
lp tham gia sau y, trong bt rm r, ta lc b thao tc
create v cc thao tc chung trn cc lp cha ng (nh l
add()):
60
-
3/3/2012
11
4. Bi tp tng hp
61
control K_LpT
+khitoLp() +tolpNidung() +tolpK() +ghp()
entity LpT
- tn - thigian - gi
+ ghp()
entity Khc
- ngyBtu - aim
entity Nidung
-ngi hc -mctiu -cngc -khoch
entity Ch
-tn
entity CsT -tn -ach -inthoi Fax -Email
parameter
parameter
local
local
ordered
1..
0..1
0..
1..
1..
1
1
1
1
4. Bi tp tng hp
Nhn xt v ci tin m hnh:
Cc lp tham gia va lp (c bit l cc lp thc th) ng nhin
l cn tham gia nhiu B tng tc khc m ta cha xt ti, vy
nhng quyt nh v chng y ch mi l tm thi:
S chn la hng lu hnh trn cc lin kt cn phi tham kho thm
cc B tng tc khc.
Cc ph thuc c th s tr thnh cc lin kt nu cc i tng i hi
mt kt ni lu bn thay v mt kt ni nht thi.
Trong B lp va lp ta thy lp K_LpT tng lin vi mi lp
cn li. mt l hin tng nn trnh. Bi vy cn san s bt
trch nhim (chng hn cc vic to lp cc i tng Nidung v
Khc) cho lp khc (chng hn cho lp LpT) nh sau:
62
4. Bi tp tng hp
Trc ht chnh sa li B giao tip:
63
:K-LpT d: LpT
1:khitoLp(tn,thigian,gi) 1.1:create(tn, thigian,gi) 2.1:tolpNidung (ngihc, mctiu,cngc,khoch)
n: Nidung
2:tolpNidung(ngihc, mctiu,cngc,khoch)
2.1.1:create(ngihc, mctiu,cngc,khoch)
k: Khc
: Khc
3:tolpK(ngyBtu,aim) 4:ghp(ch,CST)
3.1.1:create(ngyBtu,aim)
3.1.2:add(k)
: Ch
: C sT
: LpT
: LpT
1.2:add(d)
4.2:add(d)
3.1:tolpK(ngyBtu,aim) 4.1:ghp(ch,CST)
4. Bi tp tng hp
Tip n t B giao tip chnh sa, ta lp li B cc lp tham gia:
64
controlK_LpT
+khitoLp(tn:String,thigian:short,gi:int) +tolpNidung(ngihc:String,mctiu:String,cngc:String,khoch:String) +tolpK(ngyBtu:Date,aimString) +ghp(ch:Ch,csT:String)
- tn:String - thigian:short - gi:int
entity LpT
+tolpNidung(ngihc:String,mctiu:String,cngc:String,khoch:String ) +tolpK(ngyBtu:Date,aimString) +ghp(ch:Ch,csT:String)
entity CsT
-tn:String -ach:String -inthoi:S -fax:S -email:Email
entity Ch
-tn:String
entity Nidung
-ngi hc:String -mctiu:String -cngc:String -khoch:String
entity Khc
- ngyBtu:Date - aim:ach
1.. 1..
1..0..1
0..
1
1 1
1
parameter
parameter
4. Bi tp tng hp
Phn tch tip cc phn cn li ca vng lp 1, ta b sung thm nhiu thng tin cho cc lp thc th trong gi Catal T nh sau:
65
+tolpNidung(ngihc:String, mctiu:String,cngc:String,khoch:String) +tolpK(ngyBtu:Date,aimString) +ghp(ch:Ch,csT:CsT) +iuchnhNidung(ngihc:String, mctiu:String,cngc:String,khoch:String) +iuchnhK(ngyBtu:Date,aimString) +iuchnh (ch:Ch,csT:CsT) +huK(k:Khc)
-thihn:Thihn
+lyLptheoCh(ch:Ch) +lyLptheoTn(tn:String) +lyChtheoTn(tn:String) +lyKtheoNgy(ngyBtu:Date) +lyMiPhn t()
- tn:String - thigian:short - gi:int
entity LpT
entity CsT
-tn:String -ach:String -inthoi:S -fax:S -email:Email
entity Ch
-tn:String
entity Nidung
-ngi hc:String -mctiu:String -cngc:String -khoch:String
entity Khc
- ngyBtu:Date - aim:ach
1..
1..
1..
0..
1
11
1
parameter
entity PhntCatal
entity Catal
1 0..
4. Bi tp tng hp
IV. Bi tp tng hp: MHH tng tc (tt)
Cu hi 21: nh ngha cc thao tc HT cho vng lp 2.
c li cc bn m t ca ca SD ngh o to v ca SD Hu
o to (hoc xem B trnh t HT tng ng), v lu rng cc ca
SD ny c 2 i tc l Nhnvin v NgiPTT, ta tm ra cc thao
tc HT cho vng lp 2 nh sau:
66
Hthng
lpnxinT() chpnhnn() tchin() hun() nghccK() chnK()
Hthng
lpnxinT() chpnhnn() tchin() hun() nghccK() chnK()
-
3/3/2012
12
4. Bi tp tng hp
Cu hi 22: Lp hp ng ca cc thao tc HT: lpnxinT v
tchin. Lp hp ng cho thao tc HT lpnxinT
1) Tn: LpnxinT.2) Trch nhim: Lp mt n xin T, da trn kt qu tra cu t
catal v gi n cho ngi PTT c duyt.3) Tham chiu: Ca SD ngh T.4) Cc iu kin vo:
Catal T c trc. Nhn vin ang kt ni vi intranet. Mt i tng nv biu din cho nhn vin c trong HT.
67
4. Bi tp tng hp
Cu hi 22 (tt):5)Cc iu kin ra:
Mt i tng n xin T dx to lp. Cc thuc tnh ngygi v ngyxinT ca dx c
khi gn. dx c kt ni vi nv. dx c kt ni vi mt phn t trong ca tal (iu
c v khng ph hp lm vi B MHH nghip v).
6)Ngoi l: Nhn vin c th xin hu n xin ca mnh trc khi n c duyt.
68
4. Bi tp tng hp
Cu hi 22 (tt): Lp hp ng ca thao tc HT:
tchin.1)Tn: tchin.2)Trch nhim: T chi mt n xin T ca mt
nhn vin, c a ra l do t chi.3)Tham chiu: Ca SD ngh T.4)Cc iu kin vo:
Mt i tng n xin T dx c trc. Ngi PTT ang kt ni vi intranet. Mt i tng nv biu din cho nhn vin c trong
HT v kt ni vi dx.
69
4. Bi tp tng hp
Cu hi 22 (tt):5)Cc iu kin ra:
i tng n xin T dx b hu b. Mt i tng t chi t c to lp. Cc thuc tnh ngy v ldo ca t c
khi gn. Mt e-mail cha t c gi cho nhn vin
nv.
6)Ngoi l: Khng c.
70
4. Bi tp tng hp
Cu hi 23: Lp B giao tip thc hin thao tc HT lpnxinT
71
:Ngi PTT
:Nhnvin
:W-Nhnvin
:W-nxinT :K-nxinT
dx: nxinT
pt: PtCatal
nv: Nhnvin1.:lpnxinT()
2:khito() 3:chnK(pt) 4:gn(ngyxinT)
1.1:khihot( )
2.1:khito(nv) 3.1:nin(pt) 4.1:gn(ngyxinT)
2.1.1:create(nv) 3.1.1:ni(pt) 4.1.1:gn(ngyxinT)
4.1.1.1: nmi(nv,pt,ngygi)
72
4. Bi tp tng hp
Cu hi 24: Lp B cc lp thc th cho gi ngh T.
entity nxinT
-ngygi:Date -ngyxinT:Date
+ni(phnt:PhntCatal) +gn(ngyxinT:Date) +tchi() +chpnhn() +chnK(k:Khc) +ktthcK() +hu() +huK(k:Khc) -gii(ngygi:Date) -giTchi(ldo:String) -ging()
entity Trli
-ngy:Date
entity ng
entity Khngng
-ldo:String
entity Khc
{t CatalT}
entity Nhnvin
-h:String -tn:String -phng:String -chcv:String -email:Email
entity ngk
-ngy:Date
+hu()
entity PhntCatal {t CatalT}
parameter
0..
0..
0..
0..
1
1
1
1 0..1
0..1
xin hc
p ng
ca
v
cho
ngixin
-
3/3/2012
13
73
Hi - p
74
Li hay p
"S n gin l iu kh khn nht i: l hn nh cui cng cakinh nghim v n lc cui cng cati nng"
DUDEVANT GEROGE SAND