8/18/2019 Lesson6 ISAD IBM UCModeling
1/18
1
IBM Software Group
®
Essentials of Visual Modeling with UML 2.0
Module ! Use"#ase Modeling
8/18/2019 Lesson6 ISAD IBM UCModeling
2/18
2
Objectives
$es%ri&e s'ste( &eha)ior and show how to%apture it in a (odel.
$e(onstrate how to read and interpret! * use"%ase diagra(
*n a%ti)it' diagra(
8/18/2019 Lesson6 ISAD IBM UCModeling
3/18
+
Where Are We?
#on%epts in use"%ase(odeling
Use"%ase diagra(s
*%ti)it' diagra(s
8/18/2019 Lesson6 ISAD IBM UCModeling
4/18
What Is System Behavior?
S'ste( &eha)ior is how a s'ste( a%ts andrea%ts. It %o(prises the a%tions and a%ti)ities of a
s'ste(.
S'ste( &eha)ior is %aptured in use %ases.Use %ases des%ri&e the intera%tions &etween
the s'ste( and ,parts of- its en)iron(ent.
8/18/2019 Lesson6 ISAD IBM UCModeling
5/18
What Is a Use-Case Model?
* (odel that des%ri&es a s'ste(/sfun%tional reuire(ents in ter(s of use%ases.
* (odel of the s'ste(/s intended
fun%tions ,use %ases- and its en)iron(ent,a%tors-.View eport #ard
Student
egister for #ourses
Login
8/18/2019 Lesson6 ISAD IBM UCModeling
6/18
What Are the Benefits of a Use-Case Model?
#o((uni%ation
Identifi%ation
Verifi%ation
End User $o(ain E3pert Users
Verifi%ation
I d e n t i f i %
a t i o n
Use #ase
#o((uni%ation
8/18/2019 Lesson6 ISAD IBM UCModeling
7/184
Major Concepts in Use-Case Modelin
*n a%tor represents an'thingthat intera%ts with the s'ste(.
* use %ase des%ri&es aseuen%e of e)ents5perfor(ed &' the s'ste(5 that
'ields an o&ser)a&le result of)alue to a parti%ular a%tor.
*%tor
Use #ase
8/18/2019 Lesson6 ISAD IBM UCModeling
8/18
6
#on%epts in use"%ase(odeling
Use"%ase diagra(s
*%ti)it' diagra(s
Where Are We?
8/18/2019 Lesson6 ISAD IBM UCModeling
9/18
7
What Is an Actor?
*%tors represent roles a user of
the s'ste( %an pla'. 8he' %an represent a hu(an5 a
(a%hine5 or another s'ste(.
8he' %an a%ti)el' inter%hangeinfor(ation with the s'ste(.
8he' %an &e a gi)er ofinfor(ation.
8he' %an &e a passi)e re%ipientof infor(ation.
*%tors are not part of thes'ste(. *%tors are E98E:*L.
*%tor
8/18/2019 Lesson6 ISAD IBM UCModeling
10/18
10
What Is a Use Case?
Use #ase
$efines a set of use"%ase instan%es5 whereea%h instan%e is a seuen%e of a%tions as'ste( perfor(s that 'ields an o&ser)a&leresult of )alue to a parti%ular a%tor.
* use %ase (odels a dialogue &etween one or(ore a%tors and the s'ste(
* use %ase des%ri&es the a%tions the s'ste(ta;es to deli)er so(ething of )alue to the a%tor
8/18/2019 Lesson6 ISAD IBM UCModeling
11/18
11
Use Cases and Actors
* use %ase (odels a dialog &etween a%torsand the s'ste(.
* use %ase is initiated &' an a%tor to in)o;ea %ertain fun%tionalit' in the s'ste(.
*%tor
*sso%iationUse #ase
8/18/2019 Lesson6 ISAD IBM UCModeling
12/18
12
!o" Wo#ld $o# %ead &his 'iaram?
View Report Card
Student
Register for Courses
Login
Select Courses to
Teach
Submit Grades
8/18/2019 Lesson6 ISAD IBM UCModeling
13/18
1+
#on%epts in use"%ase(odeling
Use"%ase diagra(s
*%ti)it' diagra(s
Where Are We?
8/18/2019 Lesson6 ISAD IBM UCModeling
14/18
1
What Is an Activity 'iaram?
*n a%ti)it' diagra( in the use"%ase (odel %an &e
used to %apture the a%ti)ities and a%tionsperfor(ed in a use %ase.
It is essentiall' a flow %hart5 showing flow of%ontrol fro( one a%ti)it' or a%tion to another.
Flow of Events
8his use %ase starts when the egistrar reuests that the
s'ste( %lose registration.
1. 8he s'ste( %he%;s to see if registration is in progress. If
it is5 then a (essage is displa'ed to the egistrar and the
use %ase ter(inates. 8he #lose egistration pro%essing
%annot &e perfor(ed if registration is in progress.
2. =or ea%h %ourse offering5 the s'ste( %he%;s if a
professor has signed up to tea%h the %ourse offering and at
least three students ha)e registered. If so5 the s'ste(
%o((its the %ourse offering for ea%h s%hedule that %ontains
it.
*%ti)it' 1 *%ti)it' +
*%ti)it' 2
8/18/2019 Lesson6 ISAD IBM UCModeling
15/18
1
What Is an Activity?
* spe%ifi%ation of &eha)ior e3pressed as aflow of e3e%ution )ia seuen%ing ofsu&ordinate units.
Su&ordinate units in%lude nested a%ti)ities and
ulti(atel' indi)idual a%tions. Ma' %ontain &oolean e3pression %onstraints
when the a%ti)it' is in)o;ed or e3ited
>>
8/18/2019 Lesson6 ISAD IBM UCModeling
16/18
1
()ample* Activity 'iaram
S'n%hroni@ation
Bar ,=or;-
Guard#ondition
S'n%hroni@ation
Bar ,Aoin-
$e%ision
#on%urrent8hreads
8ransition
Sele%t #ourse
add %ourse C
#he%;
S%hedule
#he%;
8/18/2019 Lesson6 ISAD IBM UCModeling
17/18
14
%evie"
hat is s'ste( &eha)iorF
hat is a use"%ase (odelF hatare its &enefitsF
hat is an a%torF * use %aseF
hat is an a%ti)it' diagra(F
8/18/2019 Lesson6 ISAD IBM UCModeling
18/18
16
()ercise
Gi)en!Use %ases5 a%tors and
asso%iations
$raw!
* use"%ase diagra(
Gi)en! *%tion states and a%ti)it' edges
$raw! *n a%ti)it' diagra(