3 Use Case ModellingA use case is a modelling technique used to describe what a new system should do or what an existing system already does.System developers and customers/end-users discuss a use case model. In an iterative process, this lead to a requirement specification on which all agree.A use case diagram describes the interaction between a set of use cases and the actors involved in these use cases.
4 Use Case definition Fowler: Cockburn: A use case is a typical interaction that a user has with a system in order to achieve some goals.A use case is a description of a set of sequence of actions, including variants, that a system performs to yield an observable result of value to an actor.Cockburn:A use case describes a system’s behavior.
5 ActorAn actor is someone or something that interacts with the system. It is who or what uses the system.An actor communicates with the system by sending and receiving messages.An actor is a role that a user plays with respect to the system.Actors – what exists outside the system (Rumbaugh) [external “participants”/”roles”]
6 Use casesA use-case is a set of sequences of actions a system performs that yield an observable result of value to a particular actor.A use-case describes a requirement for the system, that is, what it should do, but not how it should do it.A use-case is a set of scenarios tied together by a common user goal.
10 ScenarioA scenario is a sequence of steps describing an interaction between a user and a system.A scenario is an instance of a use-case.A scenario describes a possible interaction with the system.
11 Scenario ExampleConsider a Web-based on-line store, we might have a ‘Buy a Product’ scenario that would say this :The customer browses the catalogue and adds desired items to the shopping basket. When the customer describes the shipping and credit card information and confirms the sale. The system checks the authorization on the credit card and confirms he sale both immediately and with a follow-up mail.
14 StepsDefine the system boundariesDefine actorsDefine use casesDefine scenario’sDescribe each use caseIdentify communal sub-cases
15 Use Case relationships GeneralizationInclude relationExtend relation
16 GeneralizationGeneralization is used when there is one use case similar to another.Inheriting parent behaviour, adding and overriding with the child’s behaviour.Sub use case inherits behaviour and semantics from super use cases.
24 What is Use Case modeling? Use Case model: a view of a system that emphasizes the behavior as it appears to outside users. A use case model partitions system functionality into transactions(“use cases’) that are meaningful to users (‘actors’)A Use Case Diagram visualizes a use case model.
31 Use Case Actors Preconditions Description Extension Exceptions Result Use CaseBuy OV TicketActorsTravellerPreconditionsTraveller has a valid passDescriptionTicket device expects destination codeTraveller enters destination codeExtension point: NS ticketTicket device checks code and calculates the charge. Shows destination code & fare. Activates ticket machine for payingTraveller pays (use case: Pay ticket)Ticket device print and supplies ticketTraveller takes ticketExtensionDestination code = NS station.3a. Ticket device expects ticket type3b. Traveller enters Single/Return, Discount Y/N, ClassExceptionsTraveller interrupt the interaction or walk awayTraveller enters an incorrect destination codePayment is not finished off successfulResultTraveller has ticket.(NS can look forward to the payment)