Software Engineering les Procesmodellen en Use Cases Stijn Hoppenbrouwers Software Engineering les Procesmodellen en Use Cases
Op te leveren Requirements (procesmodellen, use cases, domeinmodellen, bedrijfsregels) Interface ontwerp, Implementatie (met Cordys Process Factory), Gebruikersdocumentatie, Testontwerp- en rapporten (technisch en gebruikstest), Evaluaties (proces, produkt)
Procesmodelleren Een veelvoorkomend soort model Basismodel voor veel doeleinden Activiteiten volgens plan: bestaand of toekomstig "Flow": eerst dit en dan dat en dan dat ... Verhaal vertellen "Modelleertaal": symbolen BPMN: een standaard modelleertaal voor processen
De basale symbolen activiteiten gebeurtenissen poorten verbindingen
Use Cases Beschrijvingen van “interacties met het systeem”; “interaction flow” Oftewel “wat de gebruiker tegen het systeem zegt en wat het systeem tegen de gebruiker zegt”. Dat is lang niet alles wat het systeem doet! Dus niet wat het systeem “denkt” of “doet” maar alleen hoe het daarover met je praat. Het vangt basale functionaliteit (“what”) maar zegt niets over implementatie (“how”) Use cases zijn vaak een uitwerking van een bepaalde activiteit uit een procesmodel. Het kan ook een deel van een activiteit zijn of juist een samenbundeling van meerdere activiteiten. Use cases zijn vooral een communicatiemiddel
Use Case: Template Use case name Iteration Description ( “summary”) Basic course of events Alternative paths (to avoid IF-THEN-ELSE bog) Exception paths (Extension points) Triggers (when or why does an actor enter the use case) Assumptions (ref. “non-formalized assumptions” in B&B) Preconditions (ref. “formalized system assumptions” in B&B) Postconditions (ref. “formalized system commitments” in B&B) Related business rules Author Dates
Een Use Case Diagram: overzicht van UCs en actoren
Lastige punten / tips Verwar niet “interaction flow” (gedetailleerde uitwerking van “praten met de computer”) met de procesflow. Een “basic course of events” zou ook best als procesdiagram kunnen worden Weergegeven, maar dat wordt meestal niet gedaan om de zaak nog niet helemaal dicht te timmeren (what, not how) Procesmodellen zijn dus meestal minder detaillistisch dan Use Cases en Geven een iets andere focus Maar… soms is het lastig te kiezen waar het procesmodel op moet houden En de UC begint…
Gezamenlijke voorbeeldoefening? Proces kiezen: Iets kopen in een webwinkel Koffie zetten Boek lenen in bibliotheek Maak (schets) procesmodel en UCs