Professional Documents
Culture Documents
CSIT114-Week 4 Understanding Users V 1.1
CSIT114-Week 4 Understanding Users V 1.1
CSIT114-Week 4 Understanding Users V 1.1
3
Agenda
• User Stories
• User Stories - Class Activity
• Use Cases
• Use Case Diagram
• Case Study
• Use Case Diagram - Class Activity
4
User Stories
• Identifying user stories and use cases is a key task when defining functional
requirements, because these form the basis for the list of functions the system
needs to carry out.
• The Agile development philosophy is to work directly with users and avoid
doing too much documentation.
5
User Stories
6
User Stories
• For example, some user stories for a bank teller might be:
- “As a teller, I want to make a deposit to quickly serve more
customers.”
- “As a teller, I want to balance the cash drawer to assure there
were no errors.”
7
User Stories
Example:
8
User Stories
9
User Stories
10
User Stories
Class Activity
11
Use Cases
12
Use Cases
13
Use Cases
14
Use Cases
15
Use Cases
Review the
Look for
Identify where completed list
Create a list of duplicates with
different types with each type
preliminary use similar use case
of users need of user and
cases organized names and
the same use then with
by type of user resolve
cases interested
inconsistencies
stakeholders
16
Use Cases
18
Use Cases
19
Use Cases
Types of Events
• External Event
– An event that occurs outside the system, usually initiated by an
external agent or actor.
• Temporal Event
– An event that occurs as a result of reaching a point in time.
• State Event
– An event that occurs when something happens inside the system that
triggers some process.
– E.g., reorder point is reached for inventory item.
20
Use Cases
21
Use Cases
22
Use Cases
23
Use Cases
24
Use Cases
• The sequence of “transactions” for one specific customer resulting in many events.
• Thinking through this type of sequence can help identify events.
25
Use Cases
Specific Steps
1. Consider the external events in the system environment that
require a response from the system by using the checklist
2. For each external event, identify and name the use case that
the system requires
26
Use Cases
Specific Steps
3. Consider the temporal events that require a response from the system by
using the checklist shown below
4. For each temporal event, identify and name the use case that the system
requires and then establish the point of time that will trigger the use case (ex.
daily, weekly)
27
Use Cases
Specific Steps
28
Use Case Diagram
29
Use Case Diagram
Use Case Diagram Notations
Actor
• Represents the roles played by system users.
• It is an external entity and not part of the system.
• Actor can be human user, software, or external system.
Primary Actors
Initiate use cases and interact with the system. They are usually placed on
the left side of the system.
Secondary Actors
Are the actors who assist the primary actor to achieve a use case, and they
are usually displayed on the right side of the system. For secondary Actors
we can use <<Secondary>> stereotype
30
Use Case Diagram
Use Case Diagram Notations
Use Case
• Represents a single system functionality of the
system.
• Each oval shape is a use case.
Association
• Represents a communication between the
actor and the system through the relationship
between the actor and the use case.
31
Use Case Diagram
Use Case Diagram Notations
Include
• Is a relationship in which one use case (the base use
case) includes the functionality of another use case (the
inclusion use case).
• The included use case never stands alone. It occurs as
part of the base use case.
32
Use Case Diagram
Use Case Diagram Notations
Extend
• Extend relationship specify that one use case (extension)
extends the behaviour of another use case (base).
• The base use case may stand alone, but under certain behaviour
may be extended by the behaviour of another use case.
• The extended use case is optional use case.
33
Use Case Diagram
Use Case Diagram Notations
Generalization
• This relationship is represented by the inheritance
arrow.
• Reduce the complexity in use case diagrams by modelling
overlapping behaviours between actors and use cases.
34
Use Case Diagram
Use Case Diagram Notations
System Boundary
• Is an important notation in a use case
diagram that separates actors from use
cases.
• The actors are all outside of the
boundary and the use cases are all
inside.
35
Case Study
36
Case Study
37
Case Study
38
Case Study
39
Case Study
40
Case Study
• Every “holder of a smartcard”. He or she will be able to use the ATM to withdraw money
using his or her smartcard.
• However, be careful: the card reader and cash dispenser constitute part of the ATM. They can
therefore not be considered as actors!
• Another trap: is the smartcard itself an actor? The card is certainly external to the
ATM, and it interacts with it... Yet, we do not recommend that you list it as an actor.
• We are putting into practice the following principle: eliminate “physical” actors as much as
possible to the advantage of “logical” actors.
• The actor is the who or what that benefits from using the system.
• It is the card holder who withdraws money to spend it, not the card itself!
41
Case Study
42
Case Study
• Encourages us to take into account the fact that all transactions are made secure. But
who makes them secure?
• There are therefore other external entities, which play the role of authorisation
system and with which the ATM communicates directly.
• An interview with the domain expert is necessary to allow us to identify two different
actors:
1. The Visa authorisation system (VISA AS) for withdrawal transactions
carried out using a Visa smartcard (we restrict the ATM to Visa smartcards for
reasons of simplification).
2. The information system of the bank (Bank IS) to authorise all transactions
carried out by a customer using his or her bank smartcard, but also to access the
account balance.
43
Case Study
44
Case Study
45
Case Study
Maintenance
Bank IS Operator
Actors Bank Customer VISA AS
Card Holders
- Authenticate - Authenticate Will be Will be - Refill
Use Cases a visa card a bank card associated to associated to Dispenser
- Withdraw - Withdraw other use other use - Retrieve
Money Using Money Using a case (Card cases (Bank Swallowed
a Visa Card bank Card holder use Customer) as Cards
case) as secondary
- Consult the secondary actor - Retrieve
balance actor Deposited
- Deposit Cash Cheques
- Deposit Bank
Cheque
46
Case Study
First Version
47
Case Study
Second Version –
Improve the
model
48
Case Study
• Once the use cases have been identified, you then have to describe them!
• Textually explain all the interactions between the actors and the system.
• The use case must have a clearly identifiable beginning and end.
49
Case Study
50
Case Study
Postconditions:
• The cashbox of the ATM contains
fewer notes than it did at the start of the
use Case.
51
Case Study
52
Case Study
53
Case Study
54
Case Study
55
Case Study
56
Class Activity
57
Class Activity
Actor
Use cases
Relationships (between use cases)
58
Class Activity
59
References
• Satzinger, J., Jackson, R. & Burd, S. (2016) Systems Analysis And Design In A
Changing World. 7th Edition, Boston, Mass. Cengage Learning.
• Unhelkar, B., 2017. Software engineering with uml. CRC Press.
• Roques, P., 2006. UML in practice: the art of modeling software systems
demonstrated through worked examples and solutions. John Wiley & Sons.
• Relationships in use-case diagrams.
https://www.ibm.com/docs/en/rational-soft-arch/9.5?topic=diagrams-relationship
s-in-use-case
. Last Accessed 1 October 2023.
• What is a use case diagram?
https://www.educative.io/answers/what-is-a-use-case-diagram . Last Accessed 1
October 2023.
• Primary and Secondary Actors (Use Case Diagram).
https://www.softwareideas.net/primary-and-secondary-actor-use-case-diagram
Last Accessed 1 October 2023.
• What is a use case diagram?
https://www.educative.io/answers/what-is-a-use-case-diagram Last Accessed 2
October 2023.
60
THANK YOU
Any Question ?
61