Title: Testlet
1Testlet
Student
Tutor
teach
- Which of the following are correct ways to read
the association? - Many Tutors teach many Students
- A Tutor Teaches many Students
- A Student is taught by many Tutors
- Many tutors teach a Student
- One Tutor teaches One student
- A Student Teaches many Tutors
2Use Case Modelling
3Session Aims
- Understand the purpose of Use Case diagrams and
when they are used. - Differentiate between scenarios and Use-Case
diagrams - Draw use Case Diagrams and document them
4Use Case Model
- Shows the Tasks in a system
- Shows the Actors in the System
- initiators of a task and those who benefit from
the task - Shows the System boundary
5Example Use Case Model
Watch
SetTime
ChangeBattery
WatchRepairPerson
6Use Case components
- Actors
- Use Cases
- Supporting Description
- blah blah blah blah blah blah blah blah blah
7Exercise 5.1
- What are the tasks (functions) of an ATM (Cash
dispenser machine)? - Show balance
- Dispense cash
- Print mini-statement
- Print receipt
- Read card details
- Who might be the Actors?
imperatives
8Example Use Case Model
ATM
Dispense Cash
Load Money
Bank Employee
9Exercise 5.2
- Which of the following are valid use case names
?
?
?
?
?
??
10Identifying Use Cases
- 1. Identify Actors
- 2. Identify Scenarios
- 3. Identify Use Cases
- 4. Identify relationships among Use Cases
11Actors
- Actors represent external entities that interact
with the system. - Actors may be human or an external system (but
still shown as a stick person). - A human actor is represented by a role (eg
customer) - A use case (task is always initiated by an Actor)
12Exercise Identify Actors
Chris has an ancient Nokia 3310 mobile phone, on
which he can make phone calls, store numbers,
send and receive sms text messages. (it doesnt
have a camera, or colour, or WAP capabilities,
but he is still happy with it since he comes from
Yorkshire and it is CHEAP to run)
- Possible Actors are
- PhoneUser (NOT chris, who is an instance of
phoneUser) - PhoneNetwork (the phone talks to the Fresh phone
network)
13Identifying Scenarios
- A Scenario is a concrete, focussed informal
description of a single feature of a system from
the viewpoint of a single actor.
Example Some scenarios for borrowing a book from
a Library
14Mark tries to borrow the librarys 1st copy of
The Jelly-baby diet but is refused because he
has exceeded his book allowance
Sandra borrows the library's 3rd copy of
Jerboas make good pets, when she has no other
book out on loan. The system is updated
accordingly
15Use Cases
A Task-Coherent unit of functionality
- A scenario is an instance of a Use Case
- A use case is initiated by an Actor
- A Use case refers to a particular task (e.g.
Borrow book, Admit patient)
16Exercise 5.5 Which Use case are these scenarios
of?
- James tries to enrol on the BA course but his
A-level grade in English is too low so he is
rejected - Asif has had enough of Computer Networks and so
transfers successfully into Software Engineering
instead. - Eileen has passed the first year and so can
progress into the second year so she registers
for the OO Software Development module. - Janet tries to leave the Homer module to take the
Aristotle module but is too late.
17Documenting a Use-Case
18Documenting a Use-Case
See example on page 85 Exercise 5.6
19Exercise 5.6 (see p 85)
Which of these use cases are handled correctly by
the description on page 85?
- The account clerk prints the bill for John Reeves
with ID number 1236540. Mr Reeves is a basic
customer. - The account clerk needs to print the bill for
Joseph Johnston but does not know his account
number.
20Exercise 5.6 (see p 85)
Which of these use cases are handled correctly by
the description on page 85?
- The account clerk prints the bill for Jim
Longstreet who is a bonus customer whose first
100 units are at the special bonus price. - The account clerk doesn't print the bill for
Amelie Harris when he sees that there is no
charge since she has not used any units. He
prints an advisory note instead.
21Connections with Classes
- How do Use cases link with Class Diagrams?
- They show a complementary view of the system
- The system may record data about Actors, which
become Classes
- Not all Actors become Classes!!
22When use Use-Cases?
Wonderful!
- Requirements analysis -
- Finding Actors, functionality
- Planning
- Helps in estimating effort / prioritisation
- Design
- Refining Class Diagram which objects need to
collaborate to implement a Use-case - Verification
- Verify system performs as required.
23Possible Problems
- Focus on Functions rather than objects
- May not be Object Oriented solution!
- Possibility of missing requirements.
- Not all requirements can be obtained this way.
Oh No!
24Summary
- Technique for finding functionality / Actors
(Beneficiaries) - Model of functionality
- Covers all scenarios for a task
- Useful throughout development
- Documentation