Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 43

M HNH HA USE CASE

Hoang Huu Hanh (PhD), Hue University


hanh-at-hueuni.edu.vn

Ni dung
Use Case l g? Li ch ca Use Case Use Case vs. Ti liu yu cu M hnh ha Use Case

H thng - System Tc nhn - Actor Use Case Quan h gia cc Use Case

V d: TVRS Use Case


Use Case Modeling 2

Based on tutorials and presentations of Rationals UML

Use Case l g?
c xut bi Ivar Jacobson (1994) L mt khi chc nng c thc hin bi h thng mang li mt kt qu c gi tr i vi mt actor no Tr li cu hi H thng s lm g theo cch nhn ca ngi s dng L tp cc kch bn c a ra da vo cc yu cu chung ca ngi s dng M hnh ha Use Case khng phi l mt k thut m hnh ha hng i tng

Use Case Modeling 3

Li ch Use Case
Nm bt cc yu cu v chc nng t kha cnh ngi dng M t r rng v ph hp nhng g h thng cn lm L c s kim nh h thng Gip cho vic a cc yu cu h thng thnh cc lp v cc hm chc nng vo h thng

Use Case Modeling 4

Li ch Use Case
ng vi tr nh l mt n v c bn dng nh gi L n v c phn tch nh nht

Each increment that is planned and delivered is described in terms of the Use Case that will be delivered in that increment

Use Case Modeling

Use Case v cc yu cu
Mt ti liu yu cu cho bit nhng g h thng s thc hin. Use Case m t nhng hot ng m ngi s dng thc hin v nhng p tr tng ng ca h thng i khi Use Case c xem nh l mt suy lun t nhng yu cu Cc yu cu s c lp ti liu hiu qu bng cc Use Case

Tng kh nng tm vt Gip cho vic xc thc yu cu ngi dng v chc nng ca h thng d dng hn Gip cho vic phn loi ngi s dng th cng Cng c tm cc lp
Use Case Modeling

Use Case v cc yu cu
Use Case khng ph hp cho vic xc nh cc yu cu phi chc nng ca h thng Use case c xem nh l mt phn ca vic c t cc yu cu h thng

Use Case Modeling

Biu Use Case


M hnh Use Case c m t trong UML bi mt hay nhiu biu Use Case (UCD) Mt biu Use Case bao gm 4 thnh phn chnh:

M t h thng Cc tc nhn m h thng tng tc Cc UC, hoc dch v m h thng thc hin Mi quan h gia cc thnh phn trn
Use Case Modeling 8

H thng

L mt phn ca m hnh Use Case


Ranh gii ca h thng m ta mun pht trin cn phi c nh ngha r rng

H thng khng cn thit l mt h thng phn mm nh ngha cc vng bin quan trng ca h thng

Nhng tc v no c thc hin t ng hoc th cng? Nhng tc v no c thc hin bi cc h thng khc?

Tt c cc gii php c a ra phi nm trong vng bin ca h thng

Use Case Modeling

H thng
Mt h thng trong biu Use Case c m t nh mt hp hnh khi Tn ca h thng c hin th bn trong hoc trn hp hnh khi

Traffic Violations Report System

Use Case Modeling

10

Tc nhn
L ci g hoc ai tng tc vi h thng (trao i thng tin vi h thng) Tc nhn m t v i din cho mt vai tr, ch khng phi l mt ngi s dng tht s v c th ca h thng V d:

Nhn vin (Clerk) Nhp d liu Ngi gim st (Supervisor) Cho php hiu chnh/xa d liu Ngi qun l (Manager) Cho php xem cc phn tch

Mt ngi s dng n l c th c nhiu hn mt vai tr


Use Case Modeling 11

Tc nhn

Tc nhn c mc ch:
Add a Traffic Violation Lookup a Traffic Violation

Tc nhn khng nht thit l con ngi


C th l mt h thng bn ngoi tng tc vi h thng chnh

Mi tc nhn u c tn, phn nh vai tr ca tc nhn Mt use case lun c kch hot bi mt tc nhn no

Use Case Modeling 12

K hiu tc nhn

<< Actor >> Clerk

Clerk

Use Case Modeling

13

Mi quan h gia cc tc nhn


Khi cc tc nhn vi tng vai tr c mnh, nhm thc hin mt vai tr khi qut hn th vai tr c m t nh mt s khi qut chung ca tng vai tr ring bit Nhng hnh vi chung ca cc tc nhn s c m t lp cha Cc tc nhn k tha cc hnh vi ca lp tc nhn cha v m rng nhng chc nng m lp cha khng c Cc tc nhn khng nht thit lc no cng c quan h vi nhau

Manager

Supervisor
Use Case Modeling

Clerk
14

Xc nh tc nhn

Ai s dng chc nng chnh ca h thng? Ai s duy tr, qun l v gi cho h thng lm vic? Nhng phn mm/h thng khc m h thng cn tng tc?
Nhng h thng my tnh khc Nhng ng dng khc chy trn cng mt my tnh (i.e. X client/server) Ch : trnh nhm ln gia s tng tc (interaction) vi u vo (input)
Use Case Modeling 15

Xc nh tc nhn

L ai
S dng h thng? Ci t h thng? Khi ng h thng? Duy tr h thng? Thot h thng? Thu thp thng tin t h thng? Cung cp thng tin cho h thng?

Chuyn g xy ra ti mt thi im nh trc?


Use Case Modeling 16

Thi gian?
Xem thi gian nh l mt tc nhn Tc nhn thi gian c th kch hot mt Use Case

Use Case Modeling

17

Use Case

M t mt chc nng hon chnh theo quan im ca mt tc nhn


Mt UC tha mn mt mc ch no ca tc nhn

Lun c kch hot bi mt tc nhn Mt UC cung cp mt gi tr cho mt tc nhn Mt UC phi hon chnh

Trnh phn r UC thnh cc UC nh hn b sung cho nhau (phn r chc nng)


Use Case Modeling 18

Use Case (cont.)

Cc kch bn ca UC thng c m t di dng vn bn


c t n gin v nht qun cch thc m tc nhn v h thng tng tc vi nhau Mu m t UC (Use Case Description Tempate

M t theo mc nh ca ngi s dng v s tr li ca h thng


Khng s dng cc yu t cng ngh, trnh ch tit ho cc c ch, c bit l lin quan n cc giao din
Use Case Modeling 19

Mu m t UC
Tn (Name)
Tn ca UC, c ngha gn vi mc ch ngi s dng

Cc tc nhn (Actors) Mc ch (Goals) Cc yu cu (Requirements) (ty chn)


Cung cp kh nng ln vt

iu kin tin quyt (Pre-Conditions)


Cc iu kin cn thit cn phi c trc khi thc hin m UC C th l mt UC khc (khng ging vi quan h <<include>>)
Use Case Modeling 20

Biu mu m t UC

M t (Description)
M t cc tin trnh c bn hoc bnh thng ca h thng nu h thng hot ng nh d nh (mi th iu ng)

iu kin sau (Post-conditions)


Trng thi ca h thng sau khi UC c thc thi Cc gi tr a ra cho cc tc nhn Phn bit gia bin th v cc ngoi l

Cc bin th (Variations)
Cc iu kin dn ti vic phn nhnh M t cc tin trnh thay th hoc l tn m rng ca UC

Cc ngoi l (Exceptions)
Nhng iu kin khng mong i dn ti vic phn nhnh (xung t vi iu kin sau) M t cc tin trnh thay th

Use Case Modeling

21

Use-Cases Tips
Phn ln bt u v kt thc bi tc nhn Kch bn (m t) c vit theo cch nhn ca tc nhn (v vy cc bc nn ch r cho tc nhn thy) S dng cc cu khai bo

Use Case Modeling

22

Tm kim Use Case

Vi mi tc nhn, ta xc nh:
Nhng dch v no tc nhn yu cu t h thng? H thng c lu tr thng tin khng?
c, to, hy, hiu chnh, lu tr thng tin

Liu tc nhn cn c thng bo v cc s kin trong h thng, hay tc nhn cn thng bo cho h thng v vic g khng? Cng vic thng ngy ca tc nhn c n gin khng?
Khng nn ch tp trung vo h thng hin ti

Use Case Modeling

23

Use Case (cont.)

K hiu Use Case


L mt hnh elip cha tn ca Use Case c t bn trong bin m hnh ca h thng Kt ni vi t nht mt tc nhn
Traffic Violations Report system Add Traffic Violation

Clerk Ngoi l cho cc UC c bit v m rng


Use Case Modeling 24

Mi quan h gia cc Use Case

Mi quan h Include (uses i vi cc phin bn trc)


Khi mt s UC c chung hnh vi, th hnh vi s c m hnh ha thnh mt UC ring c s dng bi cc UC khc X << includes >> Y c ngha l mun thc hin hnh ng X th phi thc hin Y t nht mt ln Thn trng i vi vic phn r chc nng UC include phi hon chnh X phi tha mn nhng iu kin u ca Y trc khi include Y

<< include >>

Y
25

Use Case Modeling

Mi quan h gia cc Use Case

Quan h khi qut ha


S dng khi mt s Use Case c chung mt vi tc v, nhng khc nhau mt vi tc v khc c th tch ra thnh cc Use Case ring bit Cc Use Case tng qut v chuyn bit phi c cng chung mc ch Mt Use Case chuyn bit nm bt mt kch bn no ca Use Case tng qut Use Case tng qut phi hon thin
Specialized Generalized
Use Case Modeling 26

Mi quan h gia cc Use Case

Quan h khi qut ha


Use Case chuyn bit c th tng tc vi cc tc nhn mi Loi Use Case ny cng c th thm vo cc iu kin u v post-conditions

Specialized

Generalized

Use Case Modeling

27

Recommended Workflow
1.

2.

Xc nh cc tc nhn (quan h gia chng nu cn thit) Vi mi tc nhn xc nh, tm UC cho n khi khng tm thy UC mi
a. b. Xc nh tt c mc ch ca tc nhn Quyt nh tin trnh no s gip t c i vi mi mc ch To Use Case i vi mi mc ch tm c
Tc nhn/mc ch mi c th c tm thy trong bc ny

c.
d.
3.

Xc thc/kim tra tnh ng cc Use Case tm c

V biu Use Case


n gi ha m hnh bng cch lp li cc quy trnh trong trng hp biu qu phc tp

Use Case Modeling

28

TVRS Use Case


Example

Use Case Modeling

29

Example TVRS Use Case


External Name: Remove Traffic Violation System Actors: Supervisor, OffendersDB. Goal: Remove an existing Traffic Violation References to requirements: 1.2.3, 1.3.2.4, Pre-conditions:
Normal Course of Lookup Traffic Violation UC is completed, and the details of an existing Traffic Violation are displayed

Description:
1.
2.

Supervisor calls for deletion of the chosen Traffic Violation TVRS prompts Supervisor for confirmation
Use Case Modeling 30

Example TVRS Use Case


3. Supervisor confirms 4. TVRS requests OffendersDB to delete the Traffic Violation from the offenders record 5. OffendersDB approves that the Traffic Violation has been deleted 6. TVRS allows Supervisor to look up a new Traffic Violation as described in the Lookup Traffic Violation UC

Post-conditions:
Removed Traffic Violation is no longer stored in the TVRS. Traffic Violation is removed from the offenders record in the OffendersDB "Lookup Traffic Violation" form is displayed
Use Case Modeling 31

Example TVRS Use Case

Exceptions:
3a: Supervisor cancels:
3a1: TVRS Continues to item 6 without removing the Traffic Violation

5a: Traffic Violation is not removed from the OffendersDB


5a1: TVRS displays an error message describing the failure 5a2: TVRS continues to item 6 without clearing chosen Traffic Violation details, and without deleting the Traffic Violation

Use Case Modeling

32

Example TVRS Use Case


Name: Add Traffic Violation Actors: Clerk, PolicemenDB, OffendersDB Goal: Add a new Traffic Violation to the TVRS References to requirements: Pre-conditions:
The Traffic displayed Violation Management window is

Description:
1. 2. 3. Clerk calls for addition of a new Traffic Violation TVRS displays an empty Traffic Violation Details form Clerk enters violation details and calls for saving the new Traffic Violation

Use Case Modeling

33

Example TVRS Use Case


4. TVRS prompts Clerk for confirmation. 5. Clerk confirms 6. TVRS asks the PolicemenDB whether or not the policeman is known 7. PolicemenDB replies that the policeman is known 8. TVRS asks the OffendersDB whether or not the offender is known 9. [Extension point] OffendersDB replies that the offender is known
Use Case Modeling 34

Example TVRS Use Case

Post-conditions:
New Traffic Violation is stored in the TVRS TVRS displays an empty Traffic Violation Details form

Variations:
5a: Clerk cancels
5a1: TVRS continues to item 2 without clearing the traffic violation details entered by clerk

9a: OffendersDB replies that the offender is not known.


Described in Use Case New Offender

7a: Policeman is not stored in the policemenDB


7a1: TVRS displays an error message 7a2: TVRS continues to item 2 without clearing Traffic Violation details entered by clerk

...
Use Case Modeling 35

Example TVRS Use Case

Exceptions:
3a: Clerk cancels addition of the new Traffic Violation
3a1: TVRS displays the "Traffic Violation Management" form

Use Case Modeling

36

Example TVRS Use Case


Name: New Offender [extends Add Traffic Violaton ] Actors: UC attributes Goal: are inherited References to requirements: Pre-conditions:
Offender is not stored in the OffendersDB

Use Case Modeling

37

Example TVRS Use Case

Description:
9a: OffendersDB replies that the offender is not known. [Add Traffic Violation] 9b: TVRS displays an empty Offender Details form 9c: Clerk enters offender details and calls for saving the new details 9d: TVRS prompts Clerk for confirmation 9e: Clerk confirms 9f: TVRS requests OffendersDB to store the new offender 9g: OffendersDB replies that offender was stored successfully

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

...

Use Case Modeling

38

Example TVRS Use Case


Traffic Violations Report System
Edit T.V. (8)
<<include>> <<extend>>

Clerk Lookup T.V

Replace Offender

OffendersDB

Add T.V. (9) Remove T.V

<<extend>>

PolicemenDB

New Offender
Use Case Modeling 39

Supervisor

Levels of Use-Cases

Sea-Level
Discrete interactions between primary actor and system

Kite-Level
Show how sea-level use-cases fit into wider business interactions

Use Case Modeling

40

Use-Cases

Provide the boundaries and scope of a project

Use Case Modeling

41

Prioritize Use Case


Based on risk Time Money

Use Case Modeling

42

Thank You!
feel tired? YES!!!!

Use Case Modeling

43

You might also like