UML 1. Use cases1. Use cases
Het probleem: Hoe inventariseer ik wensen en eisen voor mijn project? Hoe leg ik ze vast? Hoe geef ik vorm en structuur aan de eisen en wensen? Een mogelijke oplossing: Use cases gebruiken
De use case Is bedoeld voor het inventariseren van requirements Is een “gebruiksscenario” Omschrijft wat de gebruiker doet, en hoe de software reageert Mogelijk gebruik in de praktijk: 1. Maak een lijst met alle nodige functionaliteit 2. Modelleer en schrijf use cases waar extra informatie nodig is
Hoe ziet het eruit? Use case diagram: diagram met een overzicht van use cases Use case omschrijving: tekstdocument met een omschrijving
Onderdelen
Omschrijving in tekst Een mogelijke indeling: Titel Actor Preconditie (optioneel) Omschrijving Resultaat Alternatieve paden (exceptions)
Waarom use cases gebruiken? 1. Instemming bereiken over hoe de software zich moet gedragen 2. Kan helpen bij het van tevoren identificeren van onduidelijkheden 3. Kan helpen bij het maken van een planning Maar: 1. Een use case is geschreven tekst, eenduidigheid is niet gegarandeerd 2. Soms zijn problemen gewoon te ingewikkeld om met een use case te omschrijven 3. Voor alle obvious zaken use cases schrijven = onnodige documentatie
Eenvoudiger alternatief: User story Requirement omschreven als tekst. Als een, wil ik (zodat ) Als mobiele app gebruiker wil ik het rooster van mijn klas kunnen bekijken. Als docent wil ik de cijfers van mijn klas als geheel in één keer in kunnen voeren, zodat ik sneller klaar ben.
Opdracht Bibliotheek
Bibliotheeksoftware Software voor bibliotheken is duur, jij kunt dat goedkoper bouwen en alsnog een goede winst maken! Je wilt een programma schrijven dat al het materiaal van een bibliotheek bevat en bijhoudt wanneer iets wordt uitgeleend en teruggebracht. Je zult moeten concurreren met bestaande bibliotheeksoftware, en je kunt beter een feature teveel hebben dan te weinig. Opdracht 1: Welke use cases kan je bedenken? Maak een diagram. Opdracht 2: Omschrijf de use case waarbij een klant iets terugbrengt.