Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic...
Transcript of Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic...
![Page 1: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/1.jpg)
2IW80 Software specification and architecture
Use cases
Alexander Serebrenik
![Page 2: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/2.jpg)
Before we start…
Requirement for the art-gallery website:
Every painting always belongs to only one "Theme" for
example such as modern art or nature, etc.
This is an example of
a. Functional requirement
b. Non-functional requirement
c. What was this all about?
/ SET / W&I PAGE 1 24-2-2014
http://www.ics.uci.edu/~taylor/ICS_52_FQ02/ics52_Fall02_Req_Ver3.doc
![Page 3: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/3.jpg)
Before we start…
Requirement for the art-gallery website:
Every painting always belongs to only one "Theme" for
example such as modern art or nature, etc.
This is an example of
a. Functional requirement
b. Non-functional requirement
c. What was this all about?
/ SET / W&I PAGE 2 24-2-2014
http://www.ics.uci.edu/~taylor/ICS_52_FQ02/ics52_Fall02_Req_Ver3.doc
![Page 4: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/4.jpg)
SMART requirements
Is this requirement SMART?
a. Yes
b. No
/ SET / W&I PAGE 3 24-2-2014
Every painting always belongs
to only one "Theme" for
example such as modern art or
nature, etc.
![Page 5: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/5.jpg)
SMART requirements
Is this requirement SMART?
a. Yes
b. No
/ SET / W&I PAGE 4 24-2-2014
Every painting always belongs
to only one "Theme" for
example such as modern art or
nature, etc.
![Page 6: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/6.jpg)
Requirements documents in practice
/ SET / W&I PAGE 5 24-2-2014
![Page 7: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/7.jpg)
Requirements documents
/ SET / W&I PAGE 6 24-2-2014
What should a user be
able to do?
![Page 8: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/8.jpg)
Requirements documents
/ SET / W&I PAGE 7 24-2-2014
What should a user be
able to do?
![Page 9: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/9.jpg)
Requirements documents
/ SET / W&I PAGE 8 24-2-2014
What should a user be
able to do?
Is this all?
![Page 10: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/10.jpg)
Requirements documents
/ SET / W&I PAGE 9 24-2-2014
What should a user be
able to do?
Is this all?
![Page 11: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/11.jpg)
Requirements documents
/ SET / W&I PAGE 10 24-2-2014
What should a user be
able to do?
Is this all?
Is this all?
![Page 12: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/12.jpg)
Requirements documents
/ SET / W&I PAGE 11 24-2-2014
What should a user be
able to do?
Is this all?
Is this all?
![Page 13: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/13.jpg)
We need a better way
• Goal: specify how different parties (users,
administrators, external systems, …) can interact with
our system
• Recall: unambiguous, realistic, verifiable and evolvable
• Plain-text does not work
• A more structured way
is needed
/ SET / W&I PAGE 12 24-2-2014
![Page 14: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/14.jpg)
Simple example
• What can you do with
/ SET / W&I PAGE 13 24-2-2014
http://globestaronline.com/panasonic-kx-ts500mx-corded-telephone/#.UrF1wPTuLy0
![Page 15: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/15.jpg)
Simple example
• What can you do with
/ SET / W&I PAGE 14 24-2-2014
My answers:
Place a call
Receive a
call
Control the
volume
http://globestaronline.com/panasonic-kx-ts500mx-corded-telephone/#.UrF1wPTuLy0
Repeat the
last call
![Page 16: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/16.jpg)
Simple example
• What can you do with a telephone?
/ SET / W&I PAGE 15 24-2-2014
Place a call
Receive a
call
Control the
volume
Repeat the
last call Caller
Basic use case diagram
![Page 17: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/17.jpg)
Simple example
• What can you do with a telephone?
/ SET / W&I PAGE 16 24-2-2014
Place a call
Receive a
call
Control the
volume
Repeat the
last call Caller
Basic use case diagram
Use case
Association
Actor
![Page 18: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/18.jpg)
What is an actor?
• A class of entities (human or computer), falling
beyond the system boundaries, interacting
with the system
• NB:
• Actor can be an external software system
• One might have multiple actors in a use case:
caller/callee
• One user might be represented by multiple actors
− doctor can be a patient
/ SET / W&I PAGE 17 24-2-2014
Caller
Actor
![Page 19: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/19.jpg)
What is a use case?
• Use case: a contract between the stakeholders of a
system about its behavior [Cockburn 2001]
• Stakeholder: a person, group or organization with an interest in a
project
• Usually, a large end-to-end process comprising several
(inter)actions
• Internal operations are NOT use cases
• Individual methods are NOT use cases
/ SET / W&I PAGE 18 24-2-2014
Place a call
![Page 20: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/20.jpg)
Is placing a call large?
• How do you make a phone call?
a) Pick up the phone
b) Dial
c) Talk
• Correct?
/ SET / W&I PAGE 19 24-2-2014
![Page 21: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/21.jpg)
http://cdn-media-att.vtp-
media.com/ecp/documents/product_Product/1662/LargeImage/6098/CL
83201%20+%20TWO%20CL80111_LargeImage.jpg
Is placing a call large?
• How do you make a phone call?
a) Pick up the phone
b) Dial
c) Talk
• Correct?
/ SET / W&I PAGE 20 24-2-2014
http://www.bbb.org/blog/wp-content/uploads/2011/08/phone.jpg
![Page 22: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/22.jpg)
Is placing a call large?
/ SET / W&I PAGE 21 24-2-2014
• How do you make a phone call?
a) The user picks up the telephone hook connected to the
telephone line “A”.
b) If the line is free, the user receives a dial tone sent by the
line .
c) The user dials number “B”.
d) The call request is forwarded to the switch center.
e) If line “B” is not busy, the call request is forwarded to “B”
and a tone is sent to “A”.
f) “B”’s telephone rings.
g) If somebody at “B” picks up the hook, the ringing tone at
“A” is stopped and a telephone connection will commence.
![Page 23: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/23.jpg)
Is placing a call large?
/ SET / W&I PAGE 22 24-2-2014
• How do you make a phone call?
a) The user picks up the telephone hook connected to the
telephone line “A”.
b) If the line is free, the user receives a dial tone sent by the
line.
c) The user dials number “B”.
d) The call request is forwarded to the switch center.
e) If line “B” is not busy, the call request is forwarded to “B”
and a tone is sent to “A”.
f) “B”’s telephone rings.
g) If somebody at “B” picks up the hook, the ringing tone at
“A” is stopped and a telephone connection will commence.
![Page 24: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/24.jpg)
What if the “if” conditions do not hold?
b) If the line is free, the user receives a dial tone sent by the
line.
b-1) If the telephone line is engaged in a conversation, the
user will be connected to the same conversation.
b-2) If the user does not dial a number for a certain amount of
time, a permanent tone is emitted by the switch center, no
further call will be accepted and the user has to replace the
hook.
/ SET / W&I PAGE 23 24-2-2014
![Page 25: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/25.jpg)
What if the “if” conditions do not hold?
b) If the line is free, the user receives a dial tone sent by the
line.
b-1) If the telephone line is engaged in a conversation, the
user will be connected to the same conversation.
b-2) If the user does not dial a number for a certain amount of
time, a permanent tone is emitted by the switch center, no
further call will be accepted and the user has to replace the
hook.
/ SET / W&I PAGE 24 24-2-2014
![Page 26: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/26.jpg)
What if the “if” conditions do not hold?
e) If line “B” is not busy, the call request is forwarded to “B” and
a tone is sent to “A”.
Propose an alternative for this step and discuss it with your
neighbor.
/ SET / W&I PAGE 25 24-2-2014
![Page 27: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/27.jpg)
What if the “if” conditions do not hold?
e) If line “B” is not busy, the call request is forwarded to “B” and
a tone is sent to “A”.
My solutions
(e-1).1 If line “B” is busy, and “B” does not have call waiting
the user at “A” will receive a busy tone.
(e-2).1 If line “B” is busy, and “B” has call waiting the user at
“A” will receive a call-waiting tone from the switch center.
When line “B” becomes free, sub-scenario (e-g) follows.
/ SET / W&I PAGE 26 24-2-2014
![Page 28: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/28.jpg)
Use case description
• Pre-condition: when a use case is available to its user
/ SET / W&I PAGE 27 24-2-2014
![Page 29: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/29.jpg)
Use case description
• Pre-condition: when a use case is available to its user
• The telephone set is connected to the telephone line “A”, it
is on-hook and there is no incoming call (it is not ringing).
• Trigger: action that initiates the use case
/ SET / W&I PAGE 28 24-2-2014
![Page 30: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/30.jpg)
Use case description
• Pre-condition: when a use case is available to its user
• The telephone set is connected to the telephone line “A”, it
is on-hook and there is no incoming call (it is not ringing).
• Trigger: action that initiates the use case
• The user picks up the telephone hook connected of the
telephone set (connected to line “A”) and dials number “B”.
• Guarantee (post-condition): what does the user
achieve through the use case
/ SET / W&I PAGE 29 24-2-2014
![Page 31: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/31.jpg)
Use case description
• Pre-condition: when a use case is available to its user
• The telephone set is connected to the telephone line “A”, it
is on-hook and there is no incoming call (it is not ringing).
• Trigger: action that initiates the use case
• The user picks up the telephone hook connected of the
telephone set (connected to line “A”) and dials number “B”.
• Guarantee (post-condition): what does the user
achieve through the use case
• A communication between “A” and “B” will commence
• Main scenario
• Alternatives
/ SET / W&I PAGE 30 24-2-2014
![Page 32: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/32.jpg)
/ SET / W&I PAGE 31 24-2-2014
• User presses a “Day
Return” button is a
a) Trigger
b) Pre-condition
c) Guarantee (post-
condition)
![Page 33: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/33.jpg)
/ SET / W&I PAGE 32 24-2-2014
• User presses a “Day
Return” button is a
a) Trigger
b) Pre-condition
c) Guarantee (post-
condition)
![Page 34: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/34.jpg)
Summary so far
/ SET / W&I PAGE 33 24-2-2014
![Page 35: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/35.jpg)
A more complex example
In the file system, users can create new files, execute,
display (on different output devices) and delete existing
files. There is a special type of delete, which removes the
file permanently from the file system. The file system
makes use of an access right system which specifies who
the owner of each file is and what operations are allowed
by which users. The owner of each file may change the
access rights to the file and give or take other people’s
permissions to access the file. In addition to the person
who creates the file, the administrator is considered the
owner of all files.
/ SET / W&I PAGE 35 24-2-2014
Identify actors and use cases
![Page 36: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/36.jpg)
Actors
• Recall:
• A class of entities (human or computer), falling beyond
the system boundaries, interacting with the system
• Hence,
1. Identify system boundaries
2. Identify interactions
3. Classify the interacting entities
/ SET / W&I PAGE 36 24-2-2014
![Page 37: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/37.jpg)
Actors
In the file system, users can create new files, execute,
display (on different output devices) and delete existing
files. … The owner of each file may change the access
rights to the file and give or take other people’s
permissions to access the file. In addition to the person
who creates the file, the administrator is considered the
owner of all files.
/ SET / W&I PAGE 37 24-2-2014
Administrator File owner User
![Page 38: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/38.jpg)
Use cases
• Recall:
• A contract between the stakeholders of a system about its
behavior [Cockburn 2001]
• Usually, a large end-to-end processes comprising several
(inter)actions
• Hence,
1. Identify goals of the actors
2. Check whether they are “end-to-end’’
/ SET / W&I PAGE 38 24-2-2014
![Page 39: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/39.jpg)
Use cases
In the file system, users can create new files, execute,
display (on different output devices) and delete existing
files. There is a special type of delete, which removes the
file permanently from the file system. The owner of each
file may change the access rights to the file and give or
take other people’s permissions to access the file.
/ SET / W&I PAGE 39 24-2-2014
Create Execute Display
Delete
permanently Delete
Change
access rights
![Page 40: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/40.jpg)
Who does what? Associations
/ SET / W&I PAGE 40 24-2-2014
Administrator
File owner
User
Create
Execute
Display
Delete
permanently
Delete
Change
access rights
![Page 41: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/41.jpg)
Who does what? Associations
/ SET / W&I PAGE 41 24-2-2014
Administrator
File owner
User
Create
Execute
Display
Delete
permanently
Delete
Change
access rights
![Page 42: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/42.jpg)
Not all actors have been created equal
• Some users are file owners, but all file owners are users
• File owner is a special kind of a user.
• Some file owners are administrators, but all
administrators are file owners
• Recall: the administrator is considered the owner of all files
• Administrator is a special kind of a file owner.
/ SET / W&I PAGE 42 24-2-2014
Administrator File owner User
![Page 43: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/43.jpg)
What about use cases?
• There is a special type of delete, which removes the file
permanently from the file system.
• Some deletions are permanent deletions, but all permanent
deletions are deletions.
• Permanent deletion is a special case of deletion
/ SET / W&I PAGE 43 24-2-2014
Delete Delete
permanently
![Page 44: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/44.jpg)
Generalization
• Generalization: A use case / actor is a special case of
another one.
• Substitutability principle: A specialized class (use
case, actor) can always replace the general one.
• Administrator can do everything the user can (and may be
more)
• Does this remind you of the Database course?
/ SET / W&I PAGE 44 24-2-2014
Administrator User
![Page 45: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/45.jpg)
Putting it all together: so far
/ SET / W&I PAGE 45 24-2-2014 / SET / W&I
Administrator
File owner
User
Create
Execute
Display
Delete
permanently
Delete
Change
access rights
![Page 46: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/46.jpg)
Have we specified everything we wanted?
/ SET / W&I PAGE 46 24-2-2014
![Page 47: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/47.jpg)
What have we missed so far
• “The file system makes use of an access right system
which specifies who the owner of each file is and what
operations are allowed by which users.”
• What does this mean for the Execute, Create, Display
and Delete use cases?
/ SET / W&I PAGE 47 24-2-2014
![Page 48: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/48.jpg)
What have we missed so far
• “The file system makes use of an access right system
which specifies who the owner of each file is and what
operations are allowed by which users.”
• What does this mean for the Execute, Create, Display
and Delete use cases?
• “Sub-use case” included in these use cases
/ SET / W&I PAGE 48 24-2-2014
Check
access rights
![Page 49: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/49.jpg)
Including a use case in another use case
/ SET / W&I PAGE 49 24-2-2014
Administrator File owner User
Create
Execute
Display
Delete
permanently
Delete
Change
access rights
Check
access rights
<<include>>
<<include>> <<include>>
<<include>>
<<include>>
![Page 50: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/50.jpg)
Formally
• Dependency: A use case depends on another use case
for realizing its goal.
• The target use case is always used by the source.
/ SET / W&I PAGE 50 24-2-2014
Execute Check
access rights <<include>>
![Page 51: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/51.jpg)
Formally
• Dependency: A use case depends on another use case
for realizing its goal.
• The target use case is always used by the source.
• What if the use case is used only sometimes?
• Alternatives in the use case
• Extension
/ SET / W&I PAGE 51 24-2-2014
Execute Check
access rights <<include>>
Get Help on
Registration Register
<<extend>>
![Page 52: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/52.jpg)
Example
/ SET / W&I PAGE 52 24-2-2014
Patient Hospital
Admission
Patient
Registration <<include>>
Schedule Patient
Appointment
<<extend>>
http://www.uml-diagrams.org/examples/hospital-management-use-case-diagram-example.html
![Page 53: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/53.jpg)
Nota Bene:
/ SET / W&I PAGE 53 24-2-2014
<<include>>
<<extend>>
Read A includes B B extends A
A B A B
stereotypes
![Page 54: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/54.jpg)
Nota Bene:
/ SET / W&I PAGE 54 24-2-2014
<<include>>
<<extend>>
Read A includes B B extends A
A can operate
without B
no yes
B is aware of A no yes
A B A B
![Page 55: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/55.jpg)
What is wrong with the following diagram?
a) A-B
b) B-C
c) C-D
d) A-D
e) nothing
/ SET / W&I PAGE 55 24-2-2014 Example due to Ivanov and Novikov
![Page 56: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/56.jpg)
What is wrong with the following diagram?
a) A-B
b) B-C
c) C-D
d) A-D
e) nothing
/ SET / W&I PAGE 56 24-2-2014 Example due to Ivanov and Novikov
The only correct one
![Page 57: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/57.jpg)
Actor A is associated with…
a) C
b) D
c) E
d) F
e) none
/ SET / W&I PAGE 57 24-2-2014 Example due to Ivanov and Novikov
![Page 58: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/58.jpg)
Actor A is associated with…
a) C
b) D
c) E
d) F
e) none
/ SET / W&I PAGE 58 24-2-2014 Example due to Ivanov and Novikov
![Page 59: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/59.jpg)
Which model is correct?
Digital learning environment supports students’ learning
through quizzes. Given your knowledge of this kind of
systems which of the following models would be correct?
/ SET / W&I PAGE 59 24-2-2014
Provide
Hint
Make a
quiz
<<extend>>
Report
results
<<extend>>
Provide
Hint
Make a
quiz
<<include>>
Report
results
<<extend>>
Provide
Hint
Make a
quiz
<<extend>>
Report
results
<<include>>
Provide
Hint
Make a
quiz
<<include>>
Report
results
<<include>>
A B C D
Inspired by
http://www.cs.uu.nl/docs/vakken/mso/1011/asgs/usecase.sol.pdf
![Page 60: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/60.jpg)
Which model is correct?
Digital learning environment supports students’ learning
through quizzes. Given your knowledge of this kind of
systems which of the following models would be correct?
/ SET / W&I PAGE 60 24-2-2014
Provide
Hint
Make a
quiz
<<extend>>
Report
results
<<extend>>
Provide
Hint
Make a
quiz
<<include>>
Report
results
<<extend>>
Provide
Hint
Make a
quiz
<<extend>>
Report
results
<<include>>
Provide
Hint
Make a
quiz
<<include>>
Report
results
<<include>>
A B C D
Inspired by
http://www.cs.uu.nl/docs/vakken/mso/1011/asgs/usecase.sol.pdf
![Page 61: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/61.jpg)
Brief recapitulation
/ SET / W&I PAGE 61 24-2-2014
![Page 62: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/62.jpg)
Brief recapitulation
/ SET / W&I PAGE 62 24-2-2014
Helps to
organize
![Page 63: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/63.jpg)
Use case diagrams as a specification technique?
Unambiguous?
Realistic?
Verifiable?
Evolvable?
/ SET / W&I PAGE 63 24-2-2014
![Page 64: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/64.jpg)
Use case diagrams as a specification technique?
Unambiguous?
• formal rules how to compose use case diagrams, but
ambiguity may be hidden in textual descriptions
Realistic?
• allows to model interaction with the external world but
may be too simplistic to capture complex interactions
Verifiable?
• yes, through testing
Evolvable?
• if too many use cases are present the diagram becomes
cluttered and less suited for evolution.
/ SET / W&I PAGE 64 24-2-2014
![Page 65: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/65.jpg)
UML
• Use case diagram – one of the UML diagram types
• Unified Modeling Language (UML) is a standardized
(ISO/IEC 19501:2005), general-purpose modeling
language in the field of software engineering.
• includes graphic notation techniques to create visual
models of object-oriented software-intensive systems.
• started in 1990s
• UML 1.1 – 1997
• UML 2.0 – 2005
• UML 2.4 – 2011
• We are using UML 2.5 (in progress), September 2013
/ SET / W&I PAGE 65 24-2-2014
![Page 66: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/66.jpg)
UML 2.5
http://www.omg.org/spec/UML/2.5/Beta1/
/ SET / W&I PAGE 66 24-2-2014
831 pages
I do not expect you to learn UML specification by heart, but
please consult it in case of doubt.
![Page 67: Use cases - Eindhoven University of Technologyaserebre/2IW80/2013-2014/02 - UML Use Ca… · Basic use case diagram . Simple example •What can you do with a telephone? / SET / W&I](https://reader033.fdocuments.in/reader033/viewer/2022052023/6038eb86bb5f21777f702cfb/html5/thumbnails/67.jpg)
UML diagram types
/ SET / W&I PAGE 67 24-2-2014