UML Use Case Modeling Vn

download UML Use Case Modeling Vn

of 43

Transcript of UML Use Case Modeling Vn

  • 8/8/2019 UML Use Case Modeling Vn

    1/43

    MM HNHHNH HAHA UU SESE CC ASEASEHoang Huu Hanh (PhD), Hue Universityhanh-at-hueuni.edu.vn

  • 8/8/2019 UML Use Case Modeling Vn

    2/43

    NN ii dungdungy Use Case l g?y L i ch c a Use Casey Use Case vs. Ti li u yu c uy M hnh ha Use Case

    H th ng - SystemTc nhn - Actor

    Use CaseQuan h gi a cc Use Casey V d : TVR S Use Case

    2Use Case Mo delingBased on tutor ials and prese ntat ions of Rat ionals UML webs ite

  • 8/8/2019 UML Use Case Modeling Vn

    3/43

    Use CaseUse Case ll gg??y c xu t b i Ivar Jacobson (1994)y L m t kh i ch c n ng c th c hi n

    b i h th ng mang l i mt k t qu cgi tr i v i mt actor no

    y Tr l i cu h iH th ng s lm g theocch nhn c a ng i s d ng

    y L t p cc k ch b n c a ra d avo cc yu c u chung c a ng i sd ng

    y M hnh ha Use Case khng ph i lm t k thu t m hnh ha h ng it ng

    3Use Case Mo deling

  • 8/8/2019 UML Use Case Modeling Vn

    4/43

    LL ii chch Use CaseUse Casey N m b t cc yu c u v ch c n ng

    t kha c nh ng i dngy M t r rng v ph h p nh ng g h

    th ng c n lmy L c s ki m nh h th ngy Gip cho vi c a cc yu c u h

    th ng thnh cc l p v cc hm ch cn ng vo h th ng

    4Use Case Mo deling

  • 8/8/2019 UML Use Case Modeling Vn

    5/43

    LL ii chch Use CaseUse Casey ng vi tr nh l m t n v c b n

    dng nh giy L n v c phn tch nh nh t

    E ach increment that is planned anddelivered is described in terms of the UseCase that will be delivered in that

    increment

    5Use Case Mo deling

  • 8/8/2019 UML Use Case Modeling Vn

    6/43

    Use CaseUse Case vv cccc yuyu cc uuy M t ti li u yu c u cho bi t nh ng g h

    th ng s th c hi n. Use Case m t nh ngho t ng m ng i s d ng th c hi n vnh ng p tr t ng ng c a h th ng

    y

    i khi Use Case c xem nh l m t suylu n t nh ng yu c uy Cc yu c u s c l p ti li u hi u qu

    b ng cc Use CaseT ng kh n ng tm v tGip cho vi c xc th c yu c u ng i dng vch c n ng c a h th ng d dng h nGip cho vi c phn lo i ng i s d ng th cngCng c tm cc l p

    6Use Case Mo deling

  • 8/8/2019 UML Use Case Modeling Vn

    7/43

    Use CaseUse Case vv cccc yuyu cc uuy Use Case khng ph h p cho vi c

    xc nh cc yu c u phi ch c n ngc a h th ng

    y Use case c xem nh l m t ph nc a vi c c t cc yu c u h th ng

    7Use Case Mo deling

  • 8/8/2019 UML Use Case Modeling Vn

    8/43

    BiBi u u Use CaseUse Casey M hnh Use Case c m t trong

    UML b i mt hay nhi u bi u UseCase (UCD)

    y M t bi u Use Case bao g m 4thnh ph n chnh:M t h th ngCc tc nhn m h th ng t ng tcCc UC, ho c d ch v m h th ng th chi nM i quan h gi a cc thnh ph n trn

    8Use Case Mo deling

  • 8/8/2019 UML Use Case Modeling Vn

    9/43

    HH thth ngngy L m t ph n c a m hnh Use Casey R anh gi i c a h th ng m ta mu n pht tri n c n

    ph i c nh ngh a r rngy H th ng khng c n thi t l mt h th ng

    ph n m my nh ngh a cc vng bin quan tr ng c a hth ng

    Nh ng tc v no c th c hi n t ng ho cth cng?Nh ng tc v no c th c hi n b i cc hth ng khc?x T t c cc gi i php c a ra ph i n m trong vng

    bin c a h th ng

    9Use Case Mo deling

  • 8/8/2019 UML Use Case Modeling Vn

    10/43

    HH thth ngngy M t h th ng trong bi u Use Case

    c m t nh m t h p hnh kh iy Tn c a h th ng c hi n th bn

    trong ho c trn h p hnh kh i

    Traffic Violations Report System

    10Use Case Mo deling

  • 8/8/2019 UML Use Case Modeling Vn

    11/43

    Tc nhnTc nhny L ci g ho c ai t ng tc v i h th ng (trao

    i thng tin v i h th ng)y Tc nhn m t v i di n cho mt vai tr,

    ch khng ph i l m t ng i s d ng th t sv c th c a h th ngy V d :

    Nhn vin (Clerk)Nh p d li uNg i gim st (Supervisor) Cho php hi uch nh/xa d li uNg i qu n l (Manager) Cho php xem ccphn tch

    y M t ng i s d ng n l c th c nhi uh n m t vai tr

    11Use Case Mo deling

  • 8/8/2019 UML Use Case Modeling Vn

    12/43

    Tc nhnTc nhny Tc nhn c m c ch:

    Add a TrafficViolationLookup a TrafficViolation

    y Tc nhn khng nh t thi t l con ng iC th l m t h th ng bn ngoi t ng tcv i h th ng chnh

    y M i tc nhn u c tn, ph n nh vai

    tr c a tc nhny M t use case lun c kch ho t b i

    m t tc nhn no

    1 2Use Case Mo deling

  • 8/8/2019 UML Use Case Modeling Vn

    13/43

    K hiK hi u tc nhnu tc nhn

    Clerk

    >

    Clerk

    13Use Case Mo deling

  • 8/8/2019 UML Use Case Modeling Vn

    14/43

    MM i quan hi quan h gigi a cc tc nhna cc tc nhny K hi cc tc nhn v i t ng vai tr c mnh, nh m th c hi n

    m t vai tr khi qut h n th vai tr c m t nh m ts khi qut chung c a t ng vai tr ring bi t

    y Nh ng hnh vi chung c a cc tc nhn s c m t l pcha

    y Cc tc nhn k th a cc hnh vi c a l p tc nhn cha vm r ng nh ng ch c n ng m l p cha khng c

    y Cc tc nhn khng nh t thi t lc no c ng c quan h v inhau

    Clerk SupervisorManager

    14Use Case Mo deling

  • 8/8/2019 UML Use Case Modeling Vn

    15/43

    X c X c nh tc nhnnh tc nhny Ai s d ng ch c n ng chnh c a h

    th ng?y Ai s duy tr, qu n l v gi cho h th ng

    lm vi c?y Nh ng ph n m m/h th ng khc m h

    th ng c n t ng tc?Nh ng h th ng my tnh khcNh ng ng d ng khc ch y trn cng m tmy tnh (i.e. X client/server)Ch : trnh nh m l n gi a s t ng tc(interaction) v i u vo (input)

    15Use Case Mo deling

  • 8/8/2019 UML Use Case Modeling Vn

    16/43

    X c X c nh tc nhnnh tc nhny L ai

    S d ng h th ng?Ci t h th ng?

    K h i ng h th ng?Duy tr h th ng?Thot h th ng?Thu th p thng tin t h th ng?

    Cung c p thng tin cho h th ng?y Chuy n g x y ra t i mt th i i m nh

    tr c?

    16Use Case Mo deling

  • 8/8/2019 UML Use Case Modeling Vn

    17/43

    ThTh i gian?i gian?y Xem th i gian nh l m t tc nhny Tc nhn th i gian c th kch ho t

    m t Use Case

    17Use Case Mo deling

  • 8/8/2019 UML Use Case Modeling Vn

    18/43

    Use CaseUse Casey M t m t ch c n ng hon ch nh theo

    quan i m c a m t tc nhnM t UC th a mn m t m c ch no

    c a tc nhny Lun c kch ho t b i m t tc nhny M t UC cung c p m t gi tr cho mt

    tc nhny M t UC ph i hon ch nh

    Trnh phn r UC thnh cc UC nh h nb sung cho nhau (phn r ch c n ng)

    18Use Case Mo deling

  • 8/8/2019 UML Use Case Modeling Vn

    19/43

    Use Case ( cont.)Use Case ( cont.)y Cc k ch b n c a UC th ng c m

    t d i d ng v n b nc t n gi n v nh t qun cch th c m

    tc nhn v h th ng t ng tc v i nhauM u m t UC (Use Case DescriptionTempate

    y M t theo m c nh c a ng i sd ng v s tr l i c a h th ng

    K hng s d ng cc y u t cng ngh , trnhch ti t ho cc c ch , c bi t l lin quan

    n cc giao di n

    19Use Case Mo deling

  • 8/8/2019 UML Use Case Modeling Vn

    20/43

    MM uu mm tt UCUCTn (Name)x Tn c a UC, c ngh a g n v i m c ch ng i s

    d ngCc tc nhn (Actors)M c ch (Goals)Cc yu c u (Requirements) (ty ch n)x Cung c p kh n ng l n v t

    i u ki n tin quy t (Pre-Conditions)x Cc i u ki n c n thi t c n ph i c tr c khi th chi n m UCx C th l m t UC khc (khng gi ng v i quan h

    )

    20Use Case Mo deling

  • 8/8/2019 UML Use Case Modeling Vn

    21/43

    BiBi u mu m u m tu m t UCUCy M t (Description)

    M t cc ti n trnh c b n ho c bnh th ng c a h th ngn u h th ng ho t ng nh d nh (m i th i u ng)

    y i u ki n sau (Post-conditions)Tr ng thi c a h th ng sau khi UC c th c thiCc gi tr a ra cho cc tc nhnPhn bi t gi a bi n th v cc ngo i l

    y Cc bi n th (Variations)Cc i u ki n d n t i vi c phn nhnhM t cc ti n trnh thay th ho c l tn m r ng c a UC

    y Cc ngo i l (Exceptions)Nh ng i u ki n khng mong i d n t i vi c phn nhnh(xung t v i i u ki n sau)M t cc ti n trnh thay th

    21Use Case Mo deling

  • 8/8/2019 UML Use Case Modeling Vn

    22/43

    UseUse--Cases TipsCases Tipsy Ph n l n b t u v k t thc b i tc

    nhny K ch b n (m t ) c vi t theo cch

    nhn c a tc nhn (v v y cc b cnn ch r cho tc nhn th y)

    y S d ng cc cu khai bo

    22Use Case Mo deling

  • 8/8/2019 UML Use Case Modeling Vn

    23/43

    T mT m kiki mm Use CaseUse Casey V i m i tc nhn, ta xc nh:

    Nh ng d ch v no tc nhn yu c u t hth ng?H th ng c l u tr thng tin khng?x c, t o, h y, hi u ch nh, lu tr thng tinLi u tc nhn c n c thng bo v cc ski n trong h th ng, hay tc nhn c n thngbo cho h th ng v vi c g khng?Cng vi c th ng ngy c a tc nhn c ngi n khng?x K hng nn ch t p trung vo h th ng hi n t i

    23Use Case Mo deling

  • 8/8/2019 UML Use Case Modeling Vn

    24/43

    Use Case ( cont.)Use Case ( cont.)y K hi u Use Case

    L m t hnh elip ch a tn c a Use Casec t bn trong bin m hnh c a h th ng

    K t n i v i t nh t mt tc nhn

    Add Traffic Violation

    Traffic Violations Report system

    Clerk

    Ngo i l cho cc UC c bi t v m r ng

    24Use Case Mo deling

  • 8/8/2019 UML Use Case Modeling Vn

    25/43

    MM i quan hi quan h gigi a cc Use Casea cc Use Casey M i quan h Include (uses i v i cc phin

    b n tr c)K hi m t s UC c chung hnh vi, th hnh vi s cm hnh ha thnh m t UC ring c s d ng b i cc

    UC khcX > Y c ngh a l mu n th c hi n hnh ngX th ph i th c hi n Y t nh t mt l nTh n tr ng i v i vi c phn r ch c n ngUC include ph i hon ch nhX ph i th a mn nh ng i u ki n u c a Y tr c khiinclude Y

    Use Case Mo deling 25

    >X Y

  • 8/8/2019 UML Use Case Modeling Vn

    26/43

    MM ii quanquan hh gigi aa cccc Use CaseUse Casey Quan h khi qut ha

    S d ng khi m t s Use Case c chung m t vitc v , nh ng khc nhau m t vi tc v khc

    c th tch ra thnh cc Use Case ring bi tCc Use Case t ng qut v chuyn bi t ph i ccng chung m c chM t Use Case chuyn bi t n m b t m t k ch b nno c a Use Case t ng qutUse Case t ng qut ph i hon thi n

    Specialized Generalized

    26Use Case Mo deling

  • 8/8/2019 UML Use Case Modeling Vn

    27/43

    MM ii quanquan hh gigi aa cccc Use CaseUse Casey Quan h khi qut ha

    Use Case chuyn bi t c th t ng tcv i cc tc nhn m iLo i Use Case ny c ng c th thm vocc i u ki n u vpost-conditions

    Specialized Generalized

    27Use Case Mo deling

  • 8/8/2019 UML Use Case Modeling Vn

    28/43

    Recommended Wor k flowRecommended Wor k flow1. Xc nh cc tc nhn (quan h gi a chng n u c n

    thi t)2. V i m i tc nhn xc nh, tm UC cho n khi

    khng tm th y UC m ia. Xc nh t t c m c ch c a tc nhn

    b. Quy t nh ti n trnh no s gip t c i v i m im c chc. T o Use Case i v i m i m c ch tm c

    x Tc nhn/m c ch m i c th c tm th y trong b c nyd. Xc th c/ki m tra tnh ng cc Use Case tm c

    3. V bi u Use Casen gi ha m hnh b ng cch l p l i cc quy trnh trong

    tr ng h p bi u qu ph c t p

    28Use Case Mo deling

  • 8/8/2019 UML Use Case Modeling Vn

    29/43

    TVRS Use CaseTVRS Use CaseExample

    29Use Case Mo deling

  • 8/8/2019 UML Use Case Modeling Vn

    30/43

    Ex ampleEx ample TVRS Use CaseTVRS Use Casey Name: R emove TrafficViolationy Actors : Supervisor, OffendersDB.y Goal: R emove an existing TrafficViolationy R eferences to requirements: 1.2.3, 1.3.2.4, y Pre-conditions :

    Normal Course of Lookup TrafficViolation UC iscompleted, and the details of an existing TrafficViolation are displayed

    y Descriptio n:1. Supervisor calls for deletion of the chosen TrafficViolation

    2. TVR S prompts Supervisor for confirmation

    Ex ternalSystem

    30Use Case Mo deling

  • 8/8/2019 UML Use Case Modeling Vn

    31/43

    Ex ampleEx ample TVRS Use CaseTVRS Use Case3. Supervisor confirms4. TVR S requests OffendersDB to delete the

    TrafficViolation from the offenders record5. OffendersDB approves that the Traffic Violation

    has been deleted6. TVR S allows Supervisor to look up a new

    Traffic Violation as described in the LookupTrafficViolation UC

    y Post-conditions :R emoved Traffic Violation is no longer stored inthe TVR S.Traffic Violation is removed from the offendersrecord in the OffendersDB"Lookup TrafficViolation" form is displayed

    31Use Case Mo deling

  • 8/8/2019 UML Use Case Modeling Vn

    32/43

    Ex ampleEx ample TVRS Use CaseTVRS Use Casey Exceptions :

    3a: Supervisor cancels:x 3a1: TVR S Continues to item 6 without removing the

    TrafficViolation5a: Traffic Violation is not removed from theOffendersDBx 5a1: TVR S displays an error message describing the

    failure5a2: TVR S continues to item 6 without clearing chosenTraffic Violation details, and without deleting the TrafficViolation

    3 2Use Case Mo deling

  • 8/8/2019 UML Use Case Modeling Vn

    33/43

    Ex ampleEx ample TVRS Use CaseTVRS Use Casey Name: Add TrafficViolationy Actors : Clerk, PolicemenDB, OffendersDBy Goal: Add a new TrafficViolation to the TVR Sy R eferences to requirements: y Pre-conditions :The Traffic Violation Management window is

    displayedy Description :

    1. Clerk calls for addition of a new TrafficViolation2. TVR S displays an empty Traffic Violation Detailsform3. Clerk enters violation details and calls for saving

    the new TrafficViolation

    33Use Case Mo deling

  • 8/8/2019 UML Use Case Modeling Vn

    34/43

    Ex ampleEx ample TVRS Use CaseTVRS Use Case4. TVR S prompts Clerk for confirmation.5. Clerk confirms6. TVR S asks the PolicemenDB whether or not

    the policeman is known7. PolicemenDB replies that the policeman is

    known8. TVR S asks the OffendersDB whether or not

    the offender is known9. [E xtension point] OffendersDB replies that the

    offender is known

    34Use Case Mo deling

  • 8/8/2019 UML Use Case Modeling Vn

    35/43

    Ex ampleEx ample TVRS Use CaseTVRS Use Casey Post-conditions :

    New TrafficViolation is stored in the TVR STVR S displays an empty TrafficViolation Details form

    y Variations :

    5a: Clerk cancelsx 5a1: TVR S continues to item 2 without clearing the trafficviolation details entered by clerk

    9a: OffendersDB replies that the offender is notknown.x Described in Use Case New Offender

    7a: Policeman is not stored in the policemenDBx 7a1: TVR S displays an error messagex 7a2: TVR S continues to item 2 without clearing Traffic

    Violation details entered by clerk...

    35Use Case Mo deling

  • 8/8/2019 UML Use Case Modeling Vn

    36/43

    Ex ampleEx ample TVRS Use CaseTVRS Use Casey Exceptions :

    3a: Clerk cancels addition of the new TrafficViolationx 3a1: TVR S displays the "Traffic Violation Management"

    form

    36Use Case Mo deling

  • 8/8/2019 UML Use Case Modeling Vn

    37/43

    Ex ampleEx ample TVRS Use CaseTVRS Use Casey Name: New Offender [extends Add Traffic

    Violaton ]y Actors :y Goal:y References to requirements : y Pre-conditions :

    Offender is not stored in the OffendersDB

    U C attributes

    are inherited

    37Use Case Mo deling

  • 8/8/2019 UML Use Case Modeling Vn

    38/43

    Ex ampleEx ample TVRS Use CaseTVRS Use Casey Description :

    9a: OffendersDB replies that the offender is not known.[Add TrafficViolation]9b: TVR S displays an empty Offender Details form9c: Clerk enters offender details and calls for saving the

    new details9d: TVR S prompts Clerk for confirmation9e: Clerk confirms9f: TVR S requests OffendersDB to store the new offender 9g: OffendersDB replies that offender was storedsuccessfully

    y Post-conditions :New Offender is stored in the offenders DB

    y ...

    38Use Case Mo deling

  • 8/8/2019 UML Use Case Modeling Vn

    39/43

    Ex ampleEx ample TVRS Use CaseTVRS Use Case

    Remove T.V

    Lookup T.V

    ReplaceOffender

    New Offender

    E dit T.V.

    (8)

    Add T.V.(9)

    Clerk

    Supervisor

    Traffic Violations Report System

    >

    >

    > OffendersDB

    PolicemenDB

    39Use Case Mo deling

  • 8/8/2019 UML Use Case Modeling Vn

    40/43

    Levels of UseLevels of Use--CasesCasesy Sea-Level

    Discrete interactions between primaryactor and system

    y K ite-LevelShow how sea-level use-cases fit into

    wider business interactions

    40Use Case Mo deling

  • 8/8/2019 UML Use Case Modeling Vn

    41/43

    UseUse--CasesCasesy Provide the boundaries and scope of a

    project

    41Use Case Mo deling

  • 8/8/2019 UML Use Case Modeling Vn

    42/43

    P r ior it izeP r ior it ize Use CaseUse Casey Based on risky Timey Money

    4 2Use Case Mo deling

  • 8/8/2019 UML Use Case Modeling Vn

    43/43

    Thank You!Thank You! feel t ire d? Y ES!!!!

    43Use Case Mo deling