Introduction to Use Cases

advertisement
Use Case Scripts
What is a Use Case Script?
• The text to describe a particular Use Case
interaction
• Takes the form of a 2-way dialogue between
the actor and the system
• Provides the supporting detail for the Use
Case diagram
• Do not start until the diagram is complete or
nearly complete
• Also known as Use Case Descriptions
Originated by K.Ingram, J.Westlake.
Edited by N.A.Shulver
Use Case Scripts
What to describe
• Describe the most common/normal form of
interaction first - the basic course
• Describe possible variations separately - the
alternative courses
• The script should be in a conversational style:
–
–
–
–
actor requests….
System responds by….
Actor does…..
Etc..
Originated by K.Ingram, J.Westlake.
Edited by N.A.Shulver
Use Case Scripts
Example of a Use Case Script
DVD rental shop interaction may be:
Actor Actions - Shop Assistant
1. Customer tenders DVD(s) to be
rented and membership card
2. Counter assistant enters
member and number into
system
System Response - Rent DVD
3. System provides member details
of: status of loans and fines
4. Assistant enters identification of
eachDVD to be rented
5. System accepts ids and gives fee
payable
6. Assistant requests payment,
takes money and enters
payment made
7. System logs payment details
Originated by K.Ingram, J.Westlake.
Edited by N.A.Shulver
Use Case Scripts
Guidelines
• Include a series of numbered sections or steps
which describe noteworthy events and possibly
related context, constraints and business rules
• Steps may alternate between actor and system
• May be a series of consecutive steps taken by
either of them
• Written from the user’s point of view
• Consists of user’s vocabulary
Originated by K.Ingram, J.Westlake.
Edited by N.A.Shulver
Use Case Scripts
Conversational Style
• This conversational style script (as if for a
theatre play) is a good compromise between
the advantages and disadvantages of other
methods:
– it is quick and easy to write (important for capturing
early, outline information)
– it is quick and easy to read and to understand
– it encourages conciseness
– it identifies the required sequence of actions
– it highlights causes and effects
Originated by K.Ingram, J.Westlake.
Edited by N.A.Shulver
Use Case Scripts
Styles of Description
• In addition to the conversational style script,
there are other ways of describing the
interactions e.g.
–
–
–
–
unstructured narrative
structured English
decision tree
decision table
• Out of interest let us just pause for thought
about the first two….
Originated by K.Ingram, J.Westlake.
Edited by N.A.Shulver
Use Case Scripts
Unstructured Narrative
• A text description of what happens in standard
English sentences.
• Advantages:
– easy to write
• Disadvantages:
–
–
–
–
easy to include ambiguity,
lengthy both to read and to check,
does not highlight cause and effect
does not highlight sequence of actions
Originated by K.Ingram, J.Westlake.
Edited by N.A.Shulver
Use Case Scripts
Example of Narrative Description
How long does it take to understand this narrative?
A DVD shop primarily rents DVDs to customers.
Customers can only borrow DVDs if they are registered
members, and need to produce their membership card
each time they borrow a DVD.
Customers come into the shop and once they have
chosen the DVDs that they wish to borrow they take them
to the checkout and hand them to the shop assistant.
Originated by K.Ingram, J.Westlake.
Edited by N.A.Shulver
Use Case Scripts
Example of Narrative Description
How long does it take to understand this narrative?
The shop assistant then enters the membership
number into the system. This will produce on screen
the member’s personal details, and whether any
other DVDs are currently on loan. Customers
cannot borrow more DVDs if there is an overdue
balance owing.
Providing the customer does not owe money, the shop
assistant enters the DVD code which shows the
rental period and the rental amount. This is
repeated for each DVD. The shop assistant then
asks the customer for the amount of money.
Customers can pay by cash or credit card.
Originated by K.Ingram, J.Westlake.
Edited by N.A.Shulver
Use Case Scripts
Structured English



A text description of what happens but
using a limited range of phrases.
Advantages: concise, eliminates
ambiguity, highlights sequence of actions
Disadvantages: does not highlight cause
and effect, may use phrases which are
unfamiliar to some users
Originated by K.Ingram, J.Westlake.
Edited by N.A.Shulver
Use Case Scripts
“Essential” Use Cases
• These are used during the feasibility and
analysis stages of the project.
• The aim is to be free of implementation detail
to show the essence of the business
requirements (the conceptual model).
• Enables analysts, developers, users and
clients to understand the scope of the
problem and the processes required
Originated by K.Ingram, J.Westlake.
Edited by N.A.Shulver
Use Case Scripts
“Real” Use Cases
• Now the Essential Use Cases will be used as the
basis for lateral, creative thinking with the
opportunity for new ideas on how create the
system.
• Real Use Cases are used to document the
design of the project i.e. how it will work in reality.
• For a user interface it may include prototype
screen shots, print layouts, form layouts, menus.
• For a system interface it may include file layouts.
Originated by K.Ingram, J.Westlake.
Edited by N.A.Shulver
Use Case Scripts
Template Sections
• Use Case - its identifier/name
• Actors - list of actors involved. Show which
one initiates the use case and any other
actors involved – can be more than one
• Overview - short outline description
summarising the use case
• Type - category of the use case – see next
slide
• Cross References - use case relationships
Originated by K.Ingram, J.Westlake.
Edited by N.A.Shulver
Use Case Scripts
Categories of Use Cases
• A category is useful as a check that the main
processes have been identified
– The category is loosely allocated – it is an attempt
to think about whether the use case (process) is a
major process or a minor one or optional process
1. Primary - major common process e.g. Rent Video
2. Secondary - minor or rare processes e.g. Request to
supply unstocked New Video
3. Optional - processes that may or may not be used
Originated by K.Ingram, J.Westlake.
Edited by N.A.Shulver
Use Case Scripts
Alternative Courses
• Alternative courses – very important
– Remember Use Case Diagrams can show this
• Getting down to the detail of how this use case script operates
• Can describe alternative events to the typical story.
These are the less common, the exceptional or error
cases.
Originated by K.Ingram, J.Westlake.
Edited by N.A.Shulver
Use Case Scripts
Alternative Courses
• Place all the alternatives after all the typical course of
events
• Example:
7. Customer pays clerk by cash or credit
Alternative Courses
7. Customer has unpaid late charges and will not pay them.
Collect payment or cancel rental transaction
Originated by K.Ingram, J.Westlake.
Edited by N.A.Shulver
Use Case Scripts
Use Case Summary
• Use Case descriptions supply the detail of system
requirements
– Very useful and augment Use Case Diagrams
– Use Case Diagrams have what we call a granularity problem
i.e. the level of detail is limited
• Use Case Scripts deal with this limitation
• Conversational scripts are used to describe the
interactions between actors and use cases
• The basic course may be followed by 1 or more
alternative courses
• Essential Use Cases are used during Analysis, Real
Use Cases are used during Design
Originated by K.Ingram, J.Westlake.
Edited by N.A.Shulver
Use Case Scripts
Lecture recap questions
1.
2.
3.
4.
5.
6.
What is an <<extends>> relationship between Use
Cases? (“is” or “has”?)
What is an <<includes>> relationship? (“is” or
“has”?)
Would “returning a DVD to the shelf” be likely to be
a Use Case? …….. Why?
Why is the Use Case description written as a script
like a play?
How are <<extends>> relationships shown on a
Use Case Script?
What is meant by “an essential Use Case”?
Originated by K.Ingram, J.Westlake.
Edited by N.A.Shulver
Download