uml chuong 6 nguyenlythietkelop

Upload: le-anh-khoa

Post on 30-May-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/9/2019 UML Chuong 6 Nguyenlythietkelop

    1/22

    UML/NN 1

    Chng 6

    Nguyn l thit k,Phng php xc nh lp

    UML/NN 2

    Ni dung

    6.1 Cc tin trong thit k 6.2 Hng tip cn trong xc nh lp 6.3 Xc nh mi quan h gia cc lp 6.4 Xc nh thuc tnh v hnh vi ca lp

    UML/NN 3

    6.1. Cc tin trong Thit k

    Tin 1: tin c lp Duy tr tnh c lp ca cc thnh phn thit k

    Tinh c lp ca cc thnhphn khng cao

    Tnh c lp ca cc thnhphn cao

    UML/NN 4

    Coupling (Lin kt)

    A B

    C

    D

    Coupling mnh

    Coupling yu

  • 8/9/2019 UML Chuong 6 Nguyenlythietkelop

    2/22

    UML/NN 5

    Hai loi coupling

    Hai loi coupling: tng tc v ktha Coupling tng tc: chia thnh 5 loi

    Data coupling Stamp coupling Control coupling Common coupling Content coupling

    Coupling ktha

    UML/NN 6

    Data coupling

    Lin kt gia cc thnh phn l d liunguyn thoc phc hp

    V d:

    Class_A

    + Operation_A () : Integer

    Class_B

    + Operation_B (Integer Para_1) : Integer

    integerOperation_A(){int x,y;Class_B cB;

    .y = cB.Operation_B(x);}

    UML/NN 7

    Stamp coupling

    Stamp coupling: lin kt gia hai thnhphn l mt phn ca cu trc hoc tonb cu trc

    V d:integer Operation_A()

    {

    int x,y;

    Class_B cB; Class_C c;

    .

    y = cB.Operation_B(c);

    }

    UML/NN 8

    Control coupling

    Control coupling: mt thnh phn gicc yu tiu khin ti mt thnh phnkhc th hai thnh phn ny c controlcoupling.

    + A(){int x = 1;

    sub(x, dk)}

    + sub(x, dk){

    }

    dk=1 =2

  • 8/9/2019 UML Chuong 6 Nguyenlythietkelop

    3/22

    UML/NN 9

    Common v Content coupling

    Common couping: hai thnh phn cngtham chiu n mt cu trc ton cc(hoc bin ton cc) th c lin h gi lCommon coupling.

    Content coupling: nu mt thnh phntham kho trc tip n ni dung scamt thnh phn khc th c gi lcontent coupling.

    UML/NN 10

    Mc lin kt

    Rt thpThpTrung bnh

    Cao

    Rt cao

    Data coupling

    Stamp coupling

    Control coupling

    Common coupling

    Content coupling

    Xp hng ph thucTn coupling

    UML/NN 11

    Coupling ktha

    L coupling gia lp tng qut v lpchuyn bit trong cu trc phn cp: Linkt gia lp tng qut v lp chuyn bitcng cht cng tt: -> khng ktha nhng thuc tnh khng

    lin quan hoc khng cn thit Nu mt lp chuyn bit chng ln hu ht

    cc method hoc khng sdng n t lptng qut coupling ktha yu thay itip cn tng qut ho v chuyn bit ho

    UML/NN 12

    Tin 2: tin thng tin

    Gim ti a thng tin cc i tng thit k Tch thnh nhiu i tng n gin hn Tch thnh cu trc phn cp ktha

    i tng phc tp Nhiu i tngn gin

  • 8/9/2019 UML Chuong 6 Nguyenlythietkelop

    4/22

    UML/NN 13

    V d

    LpHon()

    Ho n

    InHon()

    Ho n

    My In

    LpHon()

    InHon()

    UML/NN 14

    Ni dung

    5.1 Cc tin trong thit k 5.2 Hng tip cn trong xc nh lp 5.3 Xc nh mi quan h gia cc lp 5.4 Xc nh thuc tnh v hnh vi ca lp

    UML/NN 15

    6.2 Cc cch tip cn xc nh lp

    1. Tip cn theo thc thnghip v2. Tip cn theo cm danh t3. Tip cn theo phn loi4. Tip cn theo phn tch hot ng use case

    UML/NN 16

    1. Tip cn theo thc thnghip v

    i vi cc thc thsvt: kim chngxem c nhu cu qun l thng tin v thcthny trong h thng khng? Nu c, xc nh mt lp trong s phn tch

    biu din cho thc thny Xc nh tn lp: tn ca svt Thuc tnh: bsung cc thuc tnh m ty

    thng tin m h thng c nhu cu qun l vitng

  • 8/9/2019 UML Chuong 6 Nguyenlythietkelop

    5/22

    UML/NN 17

    V d:

    Hnh l

    NVL

    Hng ho

    Hnh l

    NVL

    Hng ho

    UML/NN 18

    Tip cn theo thc thnghip v

    i vi thc ththng tin: Nu thc thm t thng tin v mt hot ng giao

    dch h thng th chuyn thnh mt lp trong mhnh phn tch

    Nu thc th l mt dng thng tin tng hp cthtch thnh nhiu lp mi hoc bsung thng tincho cc lp ang tn ti

    Ho on

    Ho n

    Th th vin

    Th th vin

    UML/NN 19

    V d

    HOHONNS H: Ngy:..//Khch hng: ..a ch:..Ngi lp:..

    20003000

    ngi

    1001000

    Slng

    CiKg

    VT

    H1H7

    Tnhng

    001004

    Ms

    Tng tr gi:

    Ho n

    Khch hng

    Hng

    Chi tit H

    UML/NN 20

    Worker

    Nhn vin bn hng Nhn vin qun l Th kho

    Nhn vin

    c gi

    c gi

    Nh CC

    NhCCp

  • 8/9/2019 UML Chuong 6 Nguyenlythietkelop

    6/22

    UML/NN 21

    V d: Ha n

    Khch hng NgI qun l

    H s khch hng Ho n Th khch hng thn thit

    0..n 1

    1

    0..n 0..n 0..n

    1

    1

    Khch hng

    Ho n

    Th KHTT0..11

    1

    1..n

    UML/NN 22

    2. Tip cn theo cm danh t

    xut bi Rebecca Wirfs-Brock, BrianWilkerson, v Lauren Wiener

    tng: xc nh cc lp thng qua vic ctrong cc vn bn m t use case hoccc m tyu cutm kim v trch lccc cm danh t

    Class khng

    thch hp(irrelevant)

    Class m(fuzzy class)

    Class thch hp(relevant class)

    UML/NN 23

    Tip cn theo cm danh t(noun phrase)

    M t use case,yu cu

    M tM t use case,use case,yu cyu cuu

    Xc nh cc danht, cm danh t

    XXc c nh cnh cc danhc danhtt, c, cm danh tm danh t

    Danh t, cmdanh t

    Danh tDanh t, c, cmmdanh tdanh t

    Loi b cc danht m t class giLoLoi bi b ccc danhc danhtt m tm t class giclass gi

    Danh t, cmdanh t ng vin

    Danh tDanh t, c, cmmdanh tdanh t ng vinng vin

    ng nht ccclass trng nghang nhng nht ct ccc

    class trclass trng nghng nghaa

    Danh sch ccclass

    Danh sDanh sch cch cccclassclass

    Loi cc danh tthuc tnh

    LoLoi ci cc danh tc danh tthuthuc tc tnhnh

    Loi cc classkhng c mc tiu

    LoLoi ci cc classc classkhng ckhng c mmc tiuc tiu

    UML/NN 24

    ATM

    Bao thBn k sNgn quTinPIN

    PIN khng hp lThng ipMt khuM PIN

    Mu tinBc

    H thngGiao dchLch sgiao dch

    Ti khonSdti khonStinTin trnh ng nhpThATMMy ATM

    Ngn hng

    Khch hng ngn hng

    ThTin mtKhch hng

    Ti khon khch hngVND

  • 8/9/2019 UML Chuong 6 Nguyenlythietkelop

    7/22

    UML/NN 25

    Loi b cc lp khng thch hp

    Bao th

    Bn k s

    Ngn quTinPIN

    PIN khng hp lThng ipMt khuM PIN

    Mu tinBc

    H thngGiao dchLch sgiao dch

    Ti khonSdti khonStinTin trnh ng nhpThATMMy ATM

    Ngn hng

    Khch hng ngn hng

    ThTin mtKhch hng

    Ti khon khch hngVND

    UML/NN 26

    ng nht cc ng vin trng lp

    Khch hng, Khch hng ngn hng = Khch hngTi khon, Ti khon khch hng = Ti khonPIN, M PIN = PINTin, Ngn qu = Ngn quTh ATM, Th = Th ATM

    UML/NN 27

    Cc lp cn li

    Bao thBn k sNgn quTinPIN

    PIN khng hp lThng ipMt khuM PIN

    Mu tinBcH thngGiao dchLch sgiao dch

    Ti khonSdti khonStinTin trnh ng nhpThATMMy ATM

    Ngn hng

    Khch hng ngn hng

    ThTin mtKhch hng

    Ti khon khch hngVND

    UML/NN 28

    Danh t, cm danh tc thl thuc tnh

    Xc nh danh t, cm danh tc thl thuc tnh: Chc sdng nh l gi tr Khng c nhiu hn mt c trng ring, hoc ch

    m t mt c trng ca i tng khc V d: h thng ATM (tip tc phn tch)

    Stin: mt gi tr, khng phi mt lp Sdti khon: thuc tnh ca lp Ti khon PIN khng hp l: mt gi tr, khng phi mt lp Mt khu: mt thuc tnh (c thca lp Khch hng) Lch sgiao dch: mt thuc tnh (c thca lp Giao

    dch) PIN: mt thuc tnh (c thca lp Khch hng)

  • 8/9/2019 UML Chuong 6 Nguyenlythietkelop

    8/22

    UML/NN 29

    Danh sch danh t, cm danh tcn li

    Bao thBn k sNgn quTinPIN

    PIN khng hp lThng ipMt khuM PIN

    Mu tinBcH thngGiao dch

    Lch sgiao dch

    Ti khonSdti khonStinTin trnh ng nhpThATMMy ATM

    Ngn hng

    Khch hng ngnhng

    ThTin mtKhch hng

    Ti khon khchhng

    VNDUML/NN 30

    Loi b cc ng vin

    Loi b cc ng vin khng mc tiu hoc khngthuc phm vi h thng: Thng ip H thng Mu tin Ngn qu VND Tin mt Tin trnh ng nhp

    Bao thBn k sNgn quTinPIN

    PIN khng hp lThng ipMt khuM PIN

    Mu tinBcH thngGiao dch

    Lch sgiao dch

    Ti khonSdti khonStinTin trnh ng nhpThATMMy ATM

    Ngn hng

    Khch hng ngnhng

    ThTin mtKhch hng

    Ti khon khchhng

    VND

    UML/NN 31

    ATM: cc lp

    My ATM: cung cp mt giao din ti ngn hng ThATM: cung cp mt khch hng vi mt kho

    ti mt ti khon Khch hng: mt khch hng l mt c nhn s

    dng my ATM, c mt ti khon. Ngn hng: cc khch hng ph thuc vo ngn

    hng. N l mt ni tp trung cc ti khon v x lcc giao dch ti khon.

    Ti khon: n m hnh ho mt ti khon cakhch hng v cung cp cc dch v v ti khoncho khch hng

    Giao dch: m t mt giao tc ca khch hng khisdng thATM. Mt giao tc c lu trvi thigian, ngy, loi, stin, v sd

    UML/NN 32

    3. Tip cn theo phn loi

    Tip cn theo phn loi: phn loi cc lp cah thng da trn cc mu chung. Lp khi nim (concept): Mt khi nim l mt

    quan nim hoc shiu bit ring bit v thgii.Lp khi nim bao gm cc nguyn l c dng tchc hoc lu trcc hot ng v cc traoi v mt qun l. V d: cc lp khi nim c thl: phng php, hiu nng,

    m hnh, mn hc

    Lp skin (event): Lp skin l cc im thi gian cn c lu tr. Cc s

    vic xy ra ti mt thi im, hoc mt bc trong mt dytun tcc bc

    V d: ng k, ho n, n hng, phiu nhp,

  • 8/9/2019 UML Chuong 6 Nguyenlythietkelop

    9/22

    UML/NN 33

    Tip cn theo phn loi

    Lp tchc (organisation): tp hp con ngi,ti nguyn, phng tin, hoc nhng nhm xc nhchc nng ngi dng V d: n v, b phn, phng ban, chc danh,

    Lp con ngi (people): lp con ngi thhincc vai tr khc nhau ca ngi dng trong victng tc vi h thng. Nhng i tng nythng l ngi dng h thng hoc nhng ngikhng sdng h thng nhng thng tin v hc lu trbi h thng V d: Sinh vin, khch hng, gio vin, nhn vin,

    UML/NN 34

    Tip cn theo phn loi

    Lp v tr (place): Cc v tr vt l m h thng cnm t thng tin v n. V d: to nh, kho, vn phng, chi nhnh, i l,

    Lp svt hu hnh v thit b: cc i tngvt l hoc cc nhm ca i tng hu hnh m cthcm nhn trc quan v cc thit b m h thngtng tc. V d: xe hi, my bay, l cc svt hu hnh; thit b

    cm ng nhit l mt lp thit b.

    UML/NN 35

    V d: h thng ATM

    Cc lp khi nim:

    Cc lp skin:

    Cc lp tchc:

    TiKhon

    GiaoDch

    NgnHng

    UML/NN 36

    H thng ATM

    Cc lp con ngi:

    Cc lp svt hu hnh v thit b

    KhchHng

    MyATM ThATM

  • 8/9/2019 UML Chuong 6 Nguyenlythietkelop

    10/22

    UML/NN 37

    4. Tip cn theo phn tch hot ng usecase

    Tc nhn

    H thngi tng no ca hthng s trc tip tngtc vi tc nhn?

    :i tngi tng no tip theoc chuyn giao trchnhim ?

    :i tng

    Kt thc m t kch bn ca use case cho phpxc nh tt c cc lp lin tham gia

    UML/NN 38

    V d: h thng thvin

    c gi Th th

    Yu cu mn schKim tra th

    :H sc gi

    Kim tra iu kin[Khng tho]T chi

    Cp nht h sc gi

    Sch gi c gi

    :Sch

    Cp nht li trng thi sch

    T chi thkhng hp l

    Use case Mn sch

    UML/NN 39

    V d 1

    Phn tch use case Gii quyt PIN khng hpl. Cc hot ng khch hng c ththc hinvi h thng: a vo thATM Nhp m PIN Rt thATM

    UML/NN 40

    V d 3

    Phn tch usecase Rt tin

    : KhchHngNgnHng : MyATM : TiKhon

    a vo th ATM

    Yu cu PIN

    Nhp m PIN Kim tra m PINM PIN hp l

    Yu cu s tin

    Nhp s tin

    X l giao tc rt

    Giao tc thnh cngPhn phi tin mt

    Yu cu ly th

    Ly thYu cu tip tc

    Kt thc

    In ho n

  • 8/9/2019 UML Chuong 6 Nguyenlythietkelop

    11/22

    UML/NN 41

    Ni dung

    5.1 Cc tin trong thit k 5.2 Hng tip cn trong xc nh lp 5.3 Xc nh mi quan h gia cc lp 5.4 Xc nh thuc tnh v hnh vi ca lp

    UML/NN 42

    Xc nh mi kt hp association

    Hng dn xc nh mi kt hp: Mt sph thuc gia hai hay nhiu lp c th

    thit lp thnh mi kt hp. Mi kt hp thngtng ng vi mt ng thoc cm gii tnhl thnh phn ca, lm vic cho, chatrong,

    Mt tham chiu tmt lp n mt lp khc lmt mi kt hp.

    UML/NN 43

    Cc mi kt hp

    Mi kt hp v tr (location): lin ktti, thnh phn ca, lm vic ti, .

    V d:

    Nhn Vin Chi NhnhLm vic ti

    Bui Hc Phng HcHc ti

    UML/NN 44

    Cc mi kt hp

    Mi kt hp s hu: ca, c, thuc,

    Cu Th i BngL thnh phn ca

    Phng To NhCha trong

  • 8/9/2019 UML Chuong 6 Nguyenlythietkelop

    12/22

    UML/NN 45

    Cc mi kt hp

    Mi kt hp truyn thng, lin lc(communication):t ti, trao i vi, gicho, tip nhn t,

    n Hng Nh CCpt ti

    Bn Yu Cu Phng BanGi ti

    UML/NN 46

    Cc mi kt hp

    Mi kt hp phn thn: l mi quan hc thit lp gia mt i tng ca mtlp vi mt i tng khc cng thuc lp.

    Nhn Vin Thnh Phn

    Qun l Cha trong

    UML/NN 47

    V d: h thng ATM

    MyATM

    NgnHng

    KhchHng

    TiKhon GiaoDch

    1

    C 0..n1..n

    1

    Ca

    Mi kt hp shuMi kt hp shu

    Thuc

    Thuc v

    UML/NN 48

    Loi b cc mi kt hp khng cn thit

    Mi kt hp a phn: l mi kt hp giaba lp tr ln, mi kt hp ny phc tptrong cch thhin Nu c th, pht biuli n dng mi kt hp nh phn

  • 8/9/2019 UML Chuong 6 Nguyenlythietkelop

    13/22

    UML/NN 49

    Loi b cc mi kt hp khng cn thit

    Mi kt hp trc tip dtha: l cc mikt hp c nh ngha trong ngnghaca nhng mi kt hp khc (cn gi l mikt hp suy din hoc bc cu)

    Phiu t hng

    Nh cung cp Phiu giao hng

    t ti Lin quan

    T

    0..*1

    0..*

    1 0..1

    1

    UML/NN 50

    Xc nh bn scho mi kt hp: (min, max)

    1; 0..1; 1..*; 0..*; a..* (a l hng)

    Bn Yu Cu Phng BanGi ti0..*

    1

    Bn s

    UML/NN 51

    V d

    Cu Th i BngL thnh phn ca

    Phng To NhCha trong

    2..*

    1

    1..*

    1..*

    n Hng Nh CCpt ti 1

    0..*

    UML/NN 52

    H thng ATM

    MyATM

    NgnHng

    KhchHng

    TiKhon GiaoDch

    1

    C 0..n1..n

    1

    Ca

    ThucThuc v

    0..*

    1

    1..*

    1

    1

    1..*

    1

    1..*

  • 8/9/2019 UML Chuong 6 Nguyenlythietkelop

    14/22

    UML/NN 53

    Lp kt hp (Association class)

    Ho n Sn Phm0..*

    1..*

    Chi Tit Ho nsLngnGi

    Sinh Vin Kho Hc

    Kt QuimTB

    xpLoi

    0..*

    1..*

    UML/NN 54

    Lp kt hp

    Ho n Sn Phm0..*

    1..*

    Chi Tit HonsLngnGi

    Ho n Sn PhmChi Tit Ho n

    sLngnGi

    1

    1..*

    0..*

    1

    UML/NN 55

    Xc nh mi quan h

    Nng cp mi kt hp: Xc nh mi kt hp tng qut chuyn bit

    (generalization): Thhin quan h ktha giacc lp v mt cu trc phn cp xc nhnhng dng ktha ny Tip cn top-down:

    Tmt lp chng ta tm kim cm danh tcha tn lp vtnh t(hoc danh t). nh gi xem cm danh tny cth l mt trng hp c bit cn c qun l trong hthng khng

    Tm kim xem c nhng c trng ring ca lp Xy dng mi kt hp chuyn bit t lp ny n lp banu

    UML/NN 56

    Xc nh mi quan h

    Ho n

    Ho n giao hng

    GiaoDch

    GiaoDchRt GiaoDchGi

    Ghi ch: ch cn a vo cc lp chuyn bit m chng ta xc nh c cc c trngring (thuc tnh, method, lin kt) ca n trong h thng.

  • 8/9/2019 UML Chuong 6 Nguyenlythietkelop

    15/22

    UML/NN 57

    Xc nh mi quan h

    Nhn vin

    Nhn Vin VP Cng Nhn

    Trng Phng Th K NV Bn Hng

    UML/NN 58

    Xc nh mi quan h

    Nng cp mi kt hp: Xc nh mi kt hp tng qut chuyn bit

    (generalization): Tip cn bottom-up:

    Tm kim trong cc lp xc nh xem c ccthuc tnh v phng thc ging nhau. Sau chng ta c thgom nhm v a cc thuctnh v phng thc chung ny ln mt lptng qut (tru tng)

    To mi kt hp tng qut ho tcc lp nyn lp tng qut mi xc nh

    UML/NN 59

    Xc nh mi quan h

    Ho n n t hng

    Hng ho

    Chng t

    UML/NN 60

    Xc nh mi quan h

    Khch Hng Nh CCp

    i Tc

  • 8/9/2019 UML Chuong 6 Nguyenlythietkelop

    16/22

    UML/NN 61

    Xc nh mi quan h Xc nh stng quan:

    Lp A1 Lp A2

    Lp A

    (complete, disjoint)

    (incomplete, disjoint)

    (complete, overlapping)

    (incomplete, overlapping)

    UML/NN 62

    Xc nh mi quan h

    Khch Hng Nh CCp

    i Tc

    (incomlete, disjoint)

    Nhn Vin VP

    Trng Phng Th K NV Bn Hng

    (incomplete, overlapping)

    Khch Hng

    Khch Quen

    (incomplete)

    UML/NN 63

    Xc nh mi quan h Vn a tha k:

    Phc tp trong vn ktha Khng nn sdng (phin bn gc UML

    khng a vo)

    Gio Vin Nh Nghin Cu

    Gvin Nh NgCu

    UML/NN 64

    Xc nh mi quan h Xc nh mi kt hp thnh phn (a-part-

    of, aggregration) c trng c bn

    Tnh bc cu: Nu lp A l mt thnh phn ca lp Bv lp B l thnh phn ca lp C lp A l thnhphn ca lp C

    Tnh i xng: nu lp A l thnh phn ca lp B thlp B khng phi l thnh phn ca lp A

    Lp A Lp B

    Lp C

  • 8/9/2019 UML Chuong 6 Nguyenlythietkelop

    17/22

    UML/NN 65

    Xc nh mi quan h Xc nh mi kt hp thnh phn (a-part-

    of, aggregration) Tp hp: mt i tng vt l c hnh

    thnh tcc i tng vt l thnh phnkhc

    To Nh Xe T

    Phng Thng Xe Bnh Xe ng C

    1

    1..*

    1 1 1

    14..81

    n Hng

    Dng H

    1

    1..*

    UML/NN 66

    Xc nh mi quan h

    Vt cha: mt i tng vt l chang cc thnh phn nhng khng ccu to bi cc thnh phn

    Container Phng Hc

    Hng Ho Bn Gh Projector

    1

    1..*

    0..1 0..1 0..1

    0..10..*0..*

    UML/NN 67

    Xc nh mi quan h

    Tp hp thnh vin: mt i tngkhi nim cha cc thnh phn c thvtl hoc khi nim

    Phng Ban

    Nhn Vin

    1

    0..*

    i Bng

    Cu Th

    1

    0..*Lp vt l

    Lp khi nim

    UML/NN 68

    H thng ATM

    MyATM

    NgnHng

    KhchHng

    TiKhon GiaoDch

    1

    C 0..n1..n

    1

    Ca

    ThucThuc

    0..*

    1

    1..*

    1

    1

    1..*

    1

    1..*

  • 8/9/2019 UML Chuong 6 Nguyenlythietkelop

    18/22

    UML/NN 69

    Ni dung

    5.1 Cc tin trong thit k 5.2 Hng tip cn trong xc nh lp 5.3 Xc nh mi quan h gia cc lp 5.4 Xc nh thuc tnh v hnh vi ca

    lp

    UML/NN 70

    Xc nh thuc tnh

    Cu hi: Thng tin g vi tng sc qun l ?

    Nguyn tc: Tn: danh t; cm danh t n gin: ch dng thuc tnh din t

    trng thi i tng giai on phn tch(thuc tnh sc bsung chi tit hn ccgiai on tip theo)

    Khng qu quan tm v vic phi khm phht thuc tnh

    UML/NN 71

    V d: H thng ATM

    Lp Khch Hng: Phn tch ln lt tt ccc use case c lin quan n lp KhchHng nh l: ng nhp, X l PIN khnghp l. Cc thuc tnh ca lp khch hngnhsau:

    KhchHng

    tnKhchHnghKhchHng

    mPINsTh

    UML/NN 72

    ATM: Thuc tnh

    GiaoDchRt GiaoDchGi

    MyATMaChtrngThi

    KhchHngtnKhchHnghKhchHngmPINsTh

    GiaoDchgiaoDchIDngyGiaoDchthiGianGiaoDchloiGiaoDchsTinsD

    TiKhonsTiKhonloiTiKhonsD

    1

    1ca

    0..n1

    c

    NgnHng

    sTinHinTi

  • 8/9/2019 UML Chuong 6 Nguyenlythietkelop

    19/22

    UML/NN 73

    Xc nh method

    Cu hi: Cc i tng chu trch nhim x l g v thng

    tin ca n cung cp dch v cho h thng? Nguyn tc:

    Tn: ng t+ bng Ch quan tm n cc method c phm vi ton cc

    (public), cc method c phm vi cc b sc phthin trong giai on thit kci t (vd: constructor, .)

    Cc method chu trch nhim v cc thao tc ln ccthuc tnh ca i tng: truy vn, cp nht, c v ghi

    UML/NN 74

    Xc nh method qua phn tch use case

    Phn tch cc dng message trong stun txem c thchuyn mt hotng thnh mt method khng?

    Nu c, t tn cho method ng vi hotng

    UML/NN 75

    V d

    lp TiKhon Rt Tin Gi Tin Xem thng

    Tin Ti Khon

    : KhchHng : MyATM : TiKhon

    Yu cu s tin

    Nhp s tin

    X l giao tc rt

    Giao tc thnh cngPhn phi tin mt

    Yu cu ly th

    Ly thYu cu tip tc

    Kt thc

    In ho n

    TiKhonsTiKhon

    loiTiKhonsD

    rtTin()

    Use case Rt TinUML/NN 76

    V d

    Lp TiKhon Rt Tin Gi Tin Xem thng Tin Ti

    Khon

    : KhchHng : MyATM : TiKhon

    Yu cu s tin

    Nhp s tin

    X l giao tc gi

    Giao tc thnh cng

    Yu cu ly th

    Ly thYu cu tip tc

    Kt thc

    In ho n

    TiKhonsTiKhon

    loiTiKhonsD

    rtTin()

    Use case Rt Tin

    giTin()xemTiKhon()

  • 8/9/2019 UML Chuong 6 Nguyenlythietkelop

    20/22

    UML/NN 77

    ATM: method

    GiaoDchRt GiaoDchGi

    KhchHngtnKhchHnghKhchHngmPINsTh

    kimTraMtKhu()

    GiaoDchgiaoDchIDngyGiaoDchthiGianGiaoDchloiGiaoDchsTinsD

    TiKhonsTiKhonloiTiKhonsD

    rtTin()giTin()

    11

    ca

    0..n1

    c

    NgnHng

    MyATMaChtrngThisTinHinTi

    khingMy()ngMy()

    xemTiKhon()

    1

    Ghi ch: cc method c pht hin trong giaion ny thng i din xl cho mt use case

    UML/NN 78

    Tinh chthuc tnh

    Kiu thuc tnh Thuc tnh n tr Thuc tnh a tr: c thdng cc cu trc, list,

    array, bag khai bo ci t.V d: thuc tnh sinThoi ca lp NhnVin c

    th l a tr aCh[3]: String aCh[1..3]: String

    UML/NN 79

    Hin th thuc tnh

    : =

    + : ton cc # : bo v - : cc b

    Ghi ch: phm vi mc nh ca cc thuc tnh l cc bUML/NN 80

    GiaoDchRt GiaoDchGi

    KhchHng#tnKhchHng:String#hKhchHng:String#mPIN::String#sTh:String

    GiaoDch#giaoDchID:String#ngyGiaoDch:Date#thiGianGiaoDch:Time#loiGiaoDch:String#sTin:float#sD:float

    MyATM#aCh:String#trngThi:String

    TiKhon#sTiKhon:String#loiTiKhon:String#sD:float

    1

    1ca

    0..n1

    c

    NgnHng

    #tiKhon:TiKhon

    #giaoTc:GiaoDch#khchHng:KhchHng

    #sTinHinTi:float

    Cc thuc tnhci t lin kt

    ATM : thuc tnh lp

  • 8/9/2019 UML Chuong 6 Nguyenlythietkelop

    21/22

    UML/NN 81

    Hin th method

    :

    Cc method a s l cc method c phm viton cc

    V d: +get_Tn(): String +get_STiKhon(vtiKhon : TiKhon): String

    UML/NN 82

    Thit kni dung method

    Cc method c xcnh trong giai on

    phn tch

    Thit k bngvic phn tch

    s use case

    Cc method c thit k Cc method va pht hin

    UML/NN 83

    ATM: kimTraMtKhu

    KhchHng::+ kimTraMtKhu(sTh:String,vPIN:String): vkhchHng: KhchHng

    : KhchHng: MyATM

    KimTraMtKhu(vSTh, vPIN)

    vKhchHng = ly_KhchHng(sTh, vPIN)

    Hin th thng bo PIN khng hp l, vui lng nhp li

    Cung cp quyn truy cp cho ngi dng

    vKhchHng

    Method mi c pht hin

    UML/NN 84

    ATM: rtTin

    TiKhon::+ rtTin(sTin: foat )

    maTraVe = "So tien

    rut vuot qua so du"

    soDu = soDu -

    soTien

    #capNhatTaiKhoan(so

    TaiKhoan, soDu)

    #taoGiaoTac("Rut",

    soTien, soDu)

    Cap nhat lai so du tai khoan

    Tao mot giao tac rut tien cho tai khoan

    soTien > soDu

    soTien

  • 8/9/2019 UML Chuong 6 Nguyenlythietkelop

    22/22

    UML/NN 85

    H thng ATM

    GiaoDchRt GiaoDchGi

    KhchHng#tnKhchHng:String#hKhchHng:String#mPIN::String#sTh:String

    GiaoDch#giaoDchID:String#ngyGiaoDch:Date#thiGianGiaoD ch:Time#loiGiaoDch:String#sTin:float#sD:float

    MyATM#aCh:String#trngThi:String

    TiKhon#sTiKhon:String#loiTiKhon:String#sD:float

    1

    1

    ca

    0..n1

    c

    NgnHng

    #tiKhon:TiKhon

    #giaoTc:GiaoTc#khchHng:KhchHng

    #sTinHinTi:float

    +kimTraMtKhu()#ly_KhchHng()

    +khingMy()+ngMy()

    +ktNi()+ngKtNi()

    #ttMy()

    +giTin()+rtTin()#cpNhtTiKhon()#toGiaoTc()

    +gnThngTinGiaoDch()

    #cpNhtSTin()