Modeling 1 - Module Modeling (MOD1)

Use Cases
Use Cases
Ferd van Odenhoven
Fontys Hogeschool voor Techniek en Logistiek
11 februari 2014
FvO/FHTBM
Use Cases
11 februari 2014
1/13
Use Cases
Use case beschrijving
Use case diagram
Use Case oefening
Use-cases in het ontwikkelingstraject
Een use-case is een algemene omschrijving van de wijze waarop
een systeem gebruikt kan of moet worden.
Wanneer te gebruiken:
als hulpmiddel bij communicatie met gebruikers en
opdrachtgever
als deel van een specificatie van de eisen (requirements).
als testcases voor het uiteindelijk op te leveren systeem
Gebruikers geori¨enteerd werken (use case driven)
Gebruik van use-cases is ‘gebruikers geori¨enteerd ontwikkelen’
(blackbox benadering).
We herkennen verschillende soorten van eisen: functionele and
niet-functionele eisen. Use cases behoren (meestal) tot de
functionele eisen.
FvO/FHTBM
Use Cases
11 februari 2014
2/13
Use Cases
Use case beschrijving
Use case diagram
Use Case oefening
Use Cases principes 1
Use-cases omvatten de functionele eisen van een systeem.
Een use-case bestaat uit een verzameling van scenario’s voor
een specifieke functionaliteit: voor een bepaald doel voor de
gebruiker.
De gebruiker wordt de actor genoemd.
Een use-case beschrijft een typisch of normaal scenario en
meerdere scenario’s die optionele of niet-typische situaties
beschrijven.
Een use-case heeft gewoonlijk een naam, een actor, een
beschrijving, pre-condities, Trigger, scenario(’s), een
resultaat, uitzonderingen.
FvO/FHTBM
Use Cases
11 februari 2014
3/13
Use Cases
Use case beschrijving
Use case diagram
Use Case oefening
Use Cases principes 2
Een use-case verwijst niet naar gui-achtige
interacties zoals: druk op een knop.
Weet je ook waarom?
Maak gebruik van uitdrukkingen als: activeer, selecteer, geef
in, ...
FvO/FHTBM
Use Cases
11 februari 2014
4/13
Use Cases
Use case beschrijving
Use case diagram
Use Case oefening
Use-Case Concepten.
Acteur
Een entiteit die buiten het systeem staat en direct met het systeem
communiceert en meestal geen deel is van het systeem.
Library
Use case 1
Library assistent
Use case 2
1. Lend book to member
Librarian
Figuur: UML symbolen voor actor, systeem, use cases.
Overerving is mogelijk voor actors en use cases.
FvO/FHTBM
Use Cases
11 februari 2014
5/13
Use Cases
Use case beschrijving
Use case diagram
Use Case oefening
Een voorbeeld: de nieuwe Bibliotheek
De vernieuwde textuele beschrijving.
De openbare bibliotheek Venlo heeft vier vestigingen: in
Belfeld, Tegelen, Blerick en Venlo. Om boeken te kunnen
lenen moet men lid zijn. Het lidmaatschap geldt voor 1 jaar,
ingaande de maand van inschrijving en men krijgt een pasje.
Lidmaatschapkosten: tot 16 jaar gratis voor 16 en 17 jarigen
10 e en vanaf 18 jaar is het 35 e. Studenten betalen 30 e.
Met een abonnement kan iedere lener gebruik maken van de
centrale bibliotheek, de bibliotheek in Blerick, Belfeld,
Tegelen. Boeken, geluidscassette, tijdschrift, video-, dvd- en
cd-rom informatief en daisy-rom kunnen uitgeleend worden.
Voor het lenen van media wordt geen leengeld gevraagd en
het aantal er jaar te lenen materialen in onbeperkt. Maximaal
25 media items op een gegeven moment.
FvO/FHTBM
Use Cases
11 februari 2014
6/13
Use Cases
Use case beschrijving
Use case diagram
Use Case oefening
Een voorbeeld: de nieuwe Bibliotheek
De uitleentermijn is 3 weken voor alle materialen, maar voor
zogenaamde sprinters is die twee weken.
Verlenging van geleende media is maximaal tweemaal
mogelijk.
Het reserveren van media is gratis.
Media kunnen niet verlengd worden als deze gereserveerd zijn
voor andere leners. Per boek bedraagt de boete 20 cent per
dag.
Uitlenen of verlenging van de uitlening van de media is niet
mogelijk als de schuld van een lid bij de bibliotheek groter is
dan 25 Euro.
FvO/FHTBM
Use Cases
11 februari 2014
7/13
Use Cases
Use case beschrijving
Use case diagram
Use Case oefening
Use Case beschrijving voorbeeld
Name:
Actor:
Description:
Pre-condition:
Scenario:
Result:
Exceptions:
FvO/FHTBM
Lend a book
Member
member of the library borrows one or more books
member has membership card on him(her)
1. Actor places membership card and books on scan device.
2. System scans card and books.
3. System lists the book titles and asks for acknowledgement.
4. Actor selects lend items.
5. System checks expiry dates of books borrowed by this member.
6. System acknowledges proper book lending action.
7. System acts if member wants a ticket.
8. If member wants ticket, system prints information:
book title, book code, date of transaction, expiry date.
Member has borrowed the book successfully from the Library.
2. System message: “INVALID CARD”.
2.1. Member is not allowed to take the books with him, because
he has borrowed more than 25 items from the library.
Use case ends here.
Use Cases
11 februari 2014
8/13
Use case beschrijving
Use case diagram
Use Case oefening
Use Cases
Use-case diagram - 1
library system
Add a new
member
Collect a book
<<include>>
<<include>>
Librarian
Lend a book
Look up
member data
Sub-Case: Een bevat relatie via include. Een deel van een
use-case die op zich weer als use-case beschouwd wordt en door
meerdere use-cases (her)bruikt kan worden.
FvO/FHTBM
Use Cases
11 februari 2014
9/13
Use Cases
Use case beschrijving
Use case diagram
Use Case oefening
Use-case diagram - 2
Library
Lend book
Search a book
Calculate fine
Member
Collect book
«includes»
«includes»
Check number of
items lend
«actor»
Librarysystem
«extends»
Make reservation
for book
Calculate fine
Extends relatie aangegeven met extends.
Let op de richting van de pijl. Sub-use-case waarmee een use-case
op een bepaalde punt uitgebreid kan worden.
FvO/FHTBM
Use Cases
11 februari 2014
10/13
Use Cases
Use case beschrijving
Use case diagram
Use Case oefening
Use-case diagram - 3
Andere afhankelijkheden zijn:
equivalent
Zelfde scenario, maar andere benaming.
requires
Heeft een andere use-case nodig die van tevoren
moet zijn uitgevoerd.
follows
Wordt pas uitgevoerd als een andere use-case is
afgelopen.
resembles
Twee use-cases lijken veel op elkaar, maar hebben
verschillende activiteiten.
Wordt niet zo vaak gebruikt!
FvO/FHTBM
Use Cases
11 februari 2014
11/13
Use Cases
Use case beschrijving
Use case diagram
Use Case oefening
Opstellen van een use-case
Identificeer de grens van het systeem en vind de actoren.
Vind use-cases met bijbehorende actoren.
Bepaal de aannamen.
Bepaal de interactie.
Bekijk mogelijke uitzonderingen.
Zijn er sub-usecases?
Teken het use-case diagram.
FvO/FHTBM
Use Cases
11 februari 2014
12/13
Use Cases
Use case beschrijving
Use case diagram
Use Case oefening
Oefening: bibliotheek-administratie
Name:
Actor:
Description:
Pre-condition:
Scenario:
Result:
Extensions:
Exceptions:
Collect one or more books.
Member
Member of the library returns his/her books to the library.
Member has membership card on him(her).
1. Actor places membership card and books on scan device.
2. System scans card and books.
3. System lists the book titles and asks for acknowledgement.
4. Actor selects return items.
5. ...
6. ...
7. ...
8. ...
9. ...
...
...
...
Maak deze use-case af en bepaal en beschrijf de bijbehorende scenario’s.
FvO/FHTBM
Use Cases
11 februari 2014
13/13