7m701 1 use case modelling. 7m701 2 use case diagram voorbeeld
TRANSCRIPT
7M7011
Use Case Modelling
7M7012
Use Case diagram voorbeeldVideotheek
Huur videoband
Lever nieuwebanden
Retourneer video-band
KLant
Filmimporteur
7M7013
Use Case diagram voorbeeld
7M7014
Use Case Diagram : Doel
• Een diagram waarmee use-cases kunnen worden gevisualiseerd (basisconceptenbasisconcepten: actors, use-cases, relaties).
• Het modelleren van gedrag van het te ontwikkelen systeem in termen van functionaliteit.
• Het use-case diagram toont hoe het systeem kan worden door externe entiteiten zoals menselijke gebruikers;
• Het use-case diagram speelt in de conceptualisatiefase een belangrijke rol.
7M7015
Conceptualisatie
• Veelvuldige communicatie met de eindgebruikers, opdrachtgever en andere betrokkenen is noodzakelijk om een goed beeld te krijgen van de taken die eindgebruikers met het systeem moeten gaan uitvoeren.
• Het maken van use-cases is een enigszins informele beschrijving van deze taken in natuurlijke taal. Het gaat erom een goed beeld te vormen van de situatie en de wensen van de gebruiker.
7M7016
Use Case definitie
• Fowler: 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.
Een use case is een duidelijke manier om met de eindgebruiker te communiceren over wat een systeem zou moeten doen onder welke omstandigheden.
7M7017
Actor
• Een actor is een entiteit die buiten het systeem staat en direct communiceert met het systeem.
• Een actor is een rol die een gebruiker in de context van een systeem speelt.
• Actors – what exists outside the system (Rumbaugh) [external “participants”/”roles”]
7M7018
Use Case diagram voorbeeld
7M7019
Use cases• Een use-case is een beschrijving van
een bepaalde wijze waarop het systeem gebruikt kan worden; het representeert een functioneel requirement van het systeem als geheel.
• Een use-case is een beschrijving van een reeks van interacties tussen één of meer actoren en het systeem.
• Een use-case is een verzameling scenario’s; deze scenario’s hebben gemeen dat ze een doelstelling van een gebruiker ondersteunen.
7M70110
Use Case diagram voorbeeldVideotheek
Huur videoband
Lever nieuwebanden
Retourneer video-band
KLant
Filmimporteur
7M70111
Use Case diagram voorbeeld
7M70112
7M70113
Scenario
Een scenario is een reeks stappen waarmee een interactie wordt beschreven tussen een gebruiker en een systeem.• Een scenario is een instantie van een use-case.• Een scenario beschrijft een mogelijke interactie
met het systeem.• Een scenario is een soort voorbeeld van hoe een
use-case in de praktijk gebruikt wordt.
7M70114
Scenario voorbeeld
• Beschouw on-line winkel op het web met het scenario ‘Koop een product’ :De klant bladert door de catalogus en plaatst de
gewenste artikelen in het boodschappenwagentje. Wanneer de klant wil gaan betalen, geeft hij of zij de informatie op die voor de verzending noodzakelijk is en voert de creditcardgegevens in. Het systeem controleert of het nummer van de creditcard in orde is en bevestigt de koop onmiddellijk en met een e-mail bericht dat wat later wordt verstuurd.
7M70115
Voorbeeld van een scenario
7M70116
Template van een Use Case beschrijving
Naam De naam die gebruikt wordt om aan de use-case te refereren.
Actoren Alle actoren die in de use-case een rol spelen.
Aannamen De toestand van het systeem bij de start van de use-case.
Beschrijving Een uitgebreide, complete, stapsgewijze beschrijving van de interactie tussen systeem en actor(en).
Uitzondering Speciale c.q. te voorziene uitzonderingsgevallen die optreden bij een use-case.
Resultaat De toestand van het systeem na afloop van de use-case.
7M70117
Use Cases definiëren: stappen
1. Identificeer grenzen (uit welke elementen bestaat het systeem).
2. Definieer de actoren (kunnen zowel mensen als andere systemen zijn).
3. Definieer use-cases.
4. Definieer scenario’s.
5. Beschrijf elke use-case.
6. Identificeer gemeenschappelijke sub-cases (sommige use cases kunnen door verschillende use cases worden hergebruikt).
7M70118
Use case relaties
• Generalisatie tussen use-cases• Include relatie tussen use-cases• Extend relatie tussen use cases
7M70119
Generalisatie
• Er kan van een use-case generalisatie gebruik worden gemaakt wanneer er over een use-case wordt beschikt die in veel opzichten overeenkomt met een andere use-case maar net iets meer kan. In feite biedt dit type use-case een andere manier om alternatieve scenario’s vast te leggen.
7M70120
Use Case diagram voorbeeld
7M70121
Include / Uses
• Uses / Include : wanneer een bepaald gedrag in verschillende use-cases terugkeert en ervoor gekozen is de beschrijving van dit gedrag niet te kopiëren.
7M70122
Use Case diagram voorbeeld
7M70123
Extend
• Extend : is in principe hetzelfde als een generalisatie maar is aan meer regels gebonden. De uitbreidende use-case mag alleen extra gedrag toevoegen bij bepaalde gedeclareerde extensiepunten.
7M70124
OndertekeningVerzekeringspolis
OndertekeningContract Auto-
aankoop
«extends»
OndertekeningVerzekeringspolis
OndertekeningAutoverzekering
OndertekeningLevensverzekering
«uses»
«uses»
7M70125
Gebruik van use case relaties
• Gebruik een relatie include wanneer er bij de uitwerking van twee of meer use-cases in herhaling wordt gevallen en dat men dat wil voorkomen dat een aantal keren hetzelfde wordt gedaan.
• Gebruik een generalisatie om een variatie van normaal gedrag te beschrijven en men deze beschrijving oppervlakkig wilt houden.
• Gebruik een extend om een variatie op normaal gedrag te beschrijven en men deze variatie nauwkeuriger naar de hand wilt zetten.
7M70126
Use Case Diagram / Use Cases
Summary
7M70127
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.
7M70128
Core Elements
Construct Description Syntax
use case A sequence of actions, inclu-ding variants, that a system (or other entity) can perform, interacting with actors of the system.
actor A coherent set of roles that users of use cases play when interacting with these use cases.
system boundary
Represents the boundary between the physical system and the actors who interact with the physical system.
UseCaseName
ActorName
7M70129
Core Relationships
Construct Description Syntax
association The participation of an actor in a use case. I.e., instance of an actor and instances of a use case communicate with each other.
extend A relationship from an extension use case to a base use case, specifying how the behavior for the extension use case can be inserted into the behavior defined for the base use case.
generalization A taxonomic relationship between a more general use case and a more specific use case.
<<extend>>
7M70130
Core Relationships
Construct Description Syntax
Include (uses)
An relationship from a base use case to an inclusion use case, specifying how the behavior for the inclusion use case is inserted into the behavior defined for the base use case.
<<extend>> (<<uses>>)
7M70131
Use Case Diagram Use Cases
Use Case text: Voorbeeld
7M70132
NS Kaartjesautomaat
• Maak een use case diagram van de NS kaartjesautomaat.
• Beschrijf één of meer use cases.
7M70133
Use Case diagram NS kaartjesautomaat
Ontleend aan Mallens/Hengeveld 2001
7M70134
Use Case: Koop Ticket
Ontleend aan Mallens/Hengeveld 2001
Beschrijving