190 likes | 358 Views
Use Case Scripts. The text to describe a particular Use Case interaction - in the form of a 2-way dialogue between the actor and the system provides the supporting detail for the Use Case diagram - not to be started until the diagram is complete/nearly complete
E N D
Use Case Scripts • The text to describe a particular Use Case interaction - in the form of a 2-way dialogue between the actor and the system • provides the supporting detail for the Use Case diagram - not to be started until the diagram is complete/nearly complete • also known as Use Case Descriptions • You must use the template on the Resources page of the module for tutorial work and for the assignment original by K.Ingram & J.Westlake
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.. original by K.Ingram & J.Westlake
Example of a Use Case Script • In the DVD rental shop, the interaction between Counter Assistant and Rent DVD use case may be: Actor Actions System Response 1. Customer tenders DVD(s) to be rented and membership card 2. Counter assistant enters member 3. System provides member details and no.into system status of loans and fines 4. Assistant enters identification of each DVD 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 original by K.Ingram & J.Westlake
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, or may be a series of consecutive steps taken by either of them • written from the user’s point of view • consist of user’s vocabulary original by K.Ingram & J.Westlake
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 concise-ness • it identifies the required sequence of actions • it highlights causes and effects original by K.Ingram & J.Westlake
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…. original by K.Ingram & J.Westlake
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 original by K.Ingram & J.Westlake
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. 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. original by K.Ingram & J.Westlake
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 original by K.Ingram & J.Westlake
“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 original by K.Ingram & J.Westlake
“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. original by K.Ingram & J.Westlake
Templates and Example • There is a template for documenting the scripts (use_case_script_template.doc) on the resources web page • Attached (on the week 2 module schedule) there is an example of a use case script: • ucExample.doc shows and example with alternative courses original by K.Ingram & J.Westlake
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 (covered later) original by K.Ingram & J.Westlake
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 original by K.Ingram & J.Westlake
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. • Place all the alternatives after all the typical course of events e.g. 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 original by K.Ingram & J.Westlake
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 original by K.Ingram & J.Westlake
Lecture recap questions • What is an <<extends>> relationship between Use Cases? • What is an <<includes>> relationship? • 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”? original by K.Ingram & J.Westlake
Week2 OOM Tutorial (1st hour) • Check whether any of last week’s Use Case diagrams need to be broken down into another level of Use Case Diagram • Remember Jonathan’s advice on this in the lecture in today’s lecture • Check whether any of last week’s Use Case diagrams can have a special relationship added (extends or includes) • Using Visio add them to your diagram • Then…. • Get the Use Case Script template from the resources web page and write one script for one of your Use Cases from last week’s Hire Shop Use Cases • We would advise you select one of the use cases which you identified as a use case which had been broken down e.g • Manage Memberships would be a “top level” use case • The use case to script would be a use called Add Member from the sheet showing the use case Manage Membership broken down into a number of use cases. original by K.Ingram & J.Westlake
2nd hour • Work on your assignment • Assessment for the Use Case DIAGRAM stage is next week i.e. Week 3 original by K.Ingram & J.Westlake