ch07_phantichhanhvi_01

13
3/3/2012 1 1 Phân tích hành vi - Mô hình hóa sự tương tác Nguyễn Hồng Phương, MSc Bộ môn Hệ thống thông tin Viện CNTT&TT – ĐHBK Hà Nội Email: [email protected] Site: http://is.hut.edu.vn/~phuongnh 2 Nội dung 1. MHH sự tương tác với biểu ñồ trình tự 2. MHH sự tương tác với biểu ñồ giao tiếp 3. Đối chiếu, chỉnh sửa các MH cấu trúc và tương tác 4. Bài tập tổng hợp Khái niệm Hành vi (hay ñộng thái) là sự hoạt ñộng của các ñối tượng nhằm tạo ra các kịch bản. Hành vi bao gồm tương tác (trao ñổi thông ñiệp) và ứng xử (phản ứng với các sự kiện). 3 4 1. MHH sự tương tác với biểu ñồ trình tự 1.1. Mục ñích MHH tương tác 1.2. Các thông ñiệp 1.3. Biểu ñồ trình tự 1.4. MHH tương tác trong ca sử dụng với bñ trình tự 1.1. Mục ñích MHH tương tác Mục ñích của bước mô hình hoá tương tác là dùng các biểu ñồ tương tác ñể diễn tả sự tương tác giữa các ñối tượng nhằm tạo ra các kịch bản của mỗi ca sử dụng của hệ thống. Hình thức tương tác duy nhất có thể có giữa các ñối tượng là chuyển giao thông ñiệp và có hai biểu ñồ chính ñược sử dụng ñể diễn tả sự tương tác (một cách tương ñương với nhau) là biểu ñồ trình tự biểu ñồ giao tiếp. 5 Dù hai biểu ñồ này là khác nhau về hình thức, song khi thành lập chúng, ta có thể áp dụng chung các nguyên tắc sau ñây: Các ñối tác chỉ có thể tương tác (gửi thông ñiệp) tới các ñối tượng biên. Các ñối tượng biên chỉ có thể tương tác tới các ñối tượng ñiều khiển hay ñối tượng biên khác. Các ñối tượng ñiều khiển có thể tương tác tới các ñối tượng biên, các ñối tượng thực thể hay các ñối tượng ñiều khiển khác. Các ñối tượng thực thể chỉ có thể tương tác với các ñối tượng thực thể mà thôi. 6 1.1. Mục ñích MHH tương tác

Upload: hoihoang

Post on 24-Sep-2015

212 views

Category:

Documents


0 download

DESCRIPTION

Chương 7: Phân tích hành vi

TRANSCRIPT

  • 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