Object-Oriented Software Systems Engineering Chapter 3
Use Cases Chapter 3 Slide 2 Object-Oriented Software Systems Engineering Chapter 3 Objectives In this chapter we will: Describe use case modelling Introduce use cases and actors Discuss relationships between use cases Introduce use case descriptions
Slide 3 Object-Oriented Software Systems Engineering Chapter 3 Use Case Modelling The purpose of use case modelling to decide and describe the functional requirements of the system to give clear and consistent description of what the system should do to provide a basis for performing tests that verify the system to provide the ability to trace functional requirements into classes and operations Use case model represents use-case view is described by a use-case diagram Slide 4 Object-Oriented Software Systems Engineering Chapter 3 Use Case Modelling Use Cases are described using both text documents and diagrams
Use-case modelling is primarily an act of writing text NOT just drawing diagrams Slide 5 Object-Oriented Software Systems Engineering Chapter 3 Use Case Modelling Definition of use case represents a complete functionality as perceived by an actor a set of sequences of actions a system performs that yield an observable result of value to a particular actor Characteristics is always initiated by an actor provides tangible value to an actor (observable not necessary salient) is complete - use case is not complete until an end value is produced even if several communications occur along the way Scenarios are instances of use-cases A specific sequence of actions that illustrate behaviour Youll find primary scenarios and secondary scenarios Slide 6 Object-Oriented Software Systems Engineering Chapter 3 Use Case Modelling terms & concepts Name of System A Use Case An Actor Slide 7 Object-Oriented Software Systems Engineering Chapter 3 Use Case Modelling terms & concepts The system boundary defines responsibility black box that provides use-cases within the system boundary what the system does but not how the system does Use-cases a description of a set of sequence of actions, including variants that the system performs to yield an observable value to an actor a set of scenarios Slide 8 Object-Oriented Software Systems Engineering Chapter 3 Use Case Modelling terms & concepts Actor representing a role that someone might play, rather than a particular individual external entity that has interest in interacting with the system Interaction a communication relation between an actor and a use case
Slide 9 Object-Oriented Software Systems Engineering Chapter 3 Identifying Use Cases and Actors What functions does the actor require from the system? Does the actor need to read, create, destroy, modify or store some kind of data in the system? Does the actor have to be notified about events in the system, or does the actor need to confirm with the system for something? Could the actors daily work be simplified or made more efficient via new functions in the system? What input/output does the system need? Can these requirements be handled by one actor or someone else as well?
Slide 10 Object-Oriented Software Systems Engineering Chapter 3 Use Case Modelling organising use cases UML use-case diagram Communication associations: connect actors to use cases Manager UseCase 1 User 2 UseCase 3 User 1 UseCase 2 An Actor A Use Case Communication Association Slide 11 Object-Oriented Software Systems Engineering Chapter 3 Use Case Modelling types of relationships Relationships between actors generalization - specialization Library User Student Lecturer Slide 12 Object-Oriented Software Systems Engineering Chapter 3 Use Case Modelling types of relationships Two stereotypes of dependency relationship in use cases <<include>> B A Include specifies that the source use case (A) explicitly incorporates the behaviour of the target (B)
A includes the behaviour of B Extends specifies that the target use case (B) extends the behaviour of the source (A)
A is extended from B by adding some actions <<extends>> B A Extension points Slide 13 Object-Oriented Software Systems Engineering Chapter 3 Use Case Relationships Extend and Uses relationship - different forms of re-use Extend relationship - accounts for optional behaviour Include relationship -uses or include relationship one use case uses another use case (reuse by composition)
Place order Extension points set priority Vaildate user Place rush order <<extends>> (set priority) <<uses>> Check password Retinal scan Slide 14 Object-Oriented Software Systems Engineering Chapter 3 A Simple Use Case Diagram of Library part 1 Library Member Search for book Borrow a copy of book Librarian Refuse loan Member of Staff Return a copy of book Reserve a book Library System <<extend>> over limit Update catalog Extend loan Slide 15 Object-Oriented Software Systems Engineering Chapter 3 Use Case Diagram - order processing Return product Update product quantities Place order extension points set discount Give product information Update account Customer discount Cancel order Get status on order Run sales report Customer Sales Rep Inventory system Accounting system Slide 16 Object-Oriented Software Systems Engineering Chapter 3 Use Case Diagram - course management Student Register for courses Billing system Create course catalogue Lecturer Select courses to teach Registrar Request course roster Maintain information Maintain courses infor. Maintain lecturers infor. Maintain students infor Course Management System Slide 17 Object-Oriented Software Systems Engineering Chapter 3 Manager UseCase 1 Actor 2 UseCase 3 Actor 1 UseCase 2 Use Case diagram Class 1 Class 2 Class 3 Class 4 c3: object c2: object <<Actor>> User 0: event 1: operation 2: operation Class diagram Sequence diagram state 2 state 1 State diagram Slide 18 Object-Oriented Software Systems Engineering Chapter 3 Manager UseCase 1 Actor 2 UseCase 3 Actor 1 UseCase 2 Use Case diagram Class 1 Class 2 Class 3 Class 4 c3: object c2: object <<Actor>> User 0: event 1: operation 2: operation Class diagram Sequence diagram state 2 state 1 State diagram state 2 state 1 State diagram Slide 19 Object-Oriented Software Systems Engineering Chapter 3 Use Case A use case is a starting point You may not know very much about a subject, write down what you do know Then you need to find out the detail that you do not know but that you need to know in order to solve the problem When we have as much detail as we need, we can produce Use Case Descriptions
Slide 20 Object-Oriented Software Systems Engineering Chapter 3 Use Case Descriptions A use case description: 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 Scripts or Use Case Scenarios (beware - the latter has another meaning) Slide 21 Object-Oriented Software Systems Engineering Chapter 3 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.. And so on.. Slide 22 Object-Oriented Software Systems Engineering Chapter 3 Example of a Use Case Description In the video rental shop, the interaction between Counter Assistant and Rent Video use case may be: Actor Actions System Response 1. Customer tenders video(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 video 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
Slide 23 Object-Oriented Software Systems Engineering Chapter 3 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 users point of view Written in the vocabulary of the user Slide 24 Object-Oriented Software Systems Engineering Chapter 3 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
Slide 25 Object-Oriented Software Systems Engineering Chapter 3 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 Slide 26 Object-Oriented Software Systems Engineering Chapter 3 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 to create the system Real Use Cases are used to document the design of the project 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 Slide 27 Object-Oriented Software Systems Engineering Chapter 3 Template Sections The following sections are normally included:
Use Case - its identifier/name Actors - list of actors involved. Show which one initiates the use case Overview - short outline description summarising the use case Type - category of the use case Cross References - use case relationships (covered later) Slide 28 Object-Oriented Software Systems Engineering Chapter 3 Categories of Use Cases 1. Primary - major common process For example: Rent Video 2. Secondary - minor or rare processes For example: Request to supply unstocked New Video 3. Optional - processes that may or may not be used Slide 29 Object-Oriented Software Systems Engineering Chapter 3 Alternative Courses Alternative courses 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 For 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 Slide 30 Object-Oriented Software Systems Engineering Chapter 3 Use Case Descriptions Review of use case descriptions:
Use Case descriptions supply the detail of system requirements 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 Slide 31 Object-Oriented Software Systems Engineering Chapter 3 Summary In this chapter we have: Described use case modelling Introduced use cases and actors Discussed relationships between use cases Introduced use case descriptions