Welkom Scrum UML Onderzoek CV Contact | AmoixA Kunst |
Boek Cursus Workshop |
Aanpak Inhoud |
1e dag, ochtend: | ||
Requirements d.m.v. UML use cases | ||
In dit onderdeel leert de cursist hoe kort en bondig kan worden beschreven WAT de te ontwerpen applicatie moet doen, zonder tijd te hoeven besteden aan HOE de applicatie dit gaat doen. Dit gebeurt door use cases te tekenen van de te ontwerpen applicatie. Hiermee wordt zichtbaar welke gebruikersrollen de verschillende gebruikers van de applicatie hebben, en wat deze gebruikers kunnen doen. | ||
Gegevens d.m.v. een UML klassendiagram | ||
In dit onderdeel leert de cursist om de gegevens die met de te ontwerpen software kunnen worden bekeken en/of gewijzigd te beschrijven. Dit doet de cursist door een UML klassendiagram te tekenen. Hiermee wordt op eenvoudige wijze duidelijk welke gegevens een rol spelen in de applicatie. Alleen de functionaliteit speelt hierbij een rol, zonder tijd te hoeven besteden aan de vraag hoe de gegevens technisch in een database kunnen worden opgeslagen. | ||
1e dag, middag: | ||
Bedrijfsprocessen d.m.v. UML activiteitendiagrammen | ||
Sommige gegevens doorlopen een bedrijfsproces. Een bestelling of een polisaanvraag bijvoorbeeld doorloopt achtereenvolgens verschillende processtappen, en heeft na elke processtap een bepaalde status. Hiervoor tekent de cursist een UML activiteitendiagram, met zwembanen die aangeven welke gebruikers welke processtappen kunnen uitvoeren. Daarmee wordt in een oogopslag zichtbaar welke processen de gegevens doorlopen, en wat er in deze processen gebeurt. | ||
Rollen en autorisaties d.m.v. een CRUD matrix | ||
Een CRUD matrix geeft aan welke gebruikers welke Create, Read, Update of Delete (= CRUD) acties kunnen uitvoeren op welke gegevens. Samen met de zwembanen in de bedrijfsprocessen geeft dit een goed beeld welke gebruikersrollen welke autorisaties hebben. | ||
2e dag, ochtend: | ||
Schermnavigatie d.m.v. UML toestandsdiagrammen (= state machines) | ||
In een schermstroomdiagram geeft de cursist aan welke schermen de applicatie heeft, en hoe gebruikers tussen deze schermen kunnen navigeren. Elk scherm is hierbij een toestand waarin de gebruikersinterface zich kan bevinden. Navigeren van het ene scherm naar het andere is een toestandsovergang van de ene toestand naar een andere toestand. | ||
Gebruikersschermen | ||
Elk scherm dat voorkomt in bovengenoemde schermstroomdiagrammen wordt uitgewerkt in een schermontwerp, met hierin onderdelen zoals tekstvelden, checkboxes, radio buttons, etc. In de cursus ligt hierbij de nadruk op het bieden van de gewenste functionaliteit, consistent met bovengenoemde requirements, gegevens, bedrijfsprocessen, etc. | ||
2e dag, middag: | ||
Business rules | ||
Bovengenoemde diagrammen beschrijven veel bedrijfslogica. Bijvoorbeeld: een bedrijfsproces geeft aan in welke volgorde activiteiten moeten worden uitgevoerd. En een klassendiagram toont hoeveel objecten van de ene klasse aanwezig kunnen of moeten zijn bij een object van een andere klasse. Bedrijfslogica die niet kan worden vastgelegd door middel van bovengenoemde diagrammen, wordt apart beschreven in korte, bondige teksten. | ||
Koppelingen met andere systemen d.m.v. een UML componentendiagram | ||
De meeste applicaties zijn gekoppeld aan andere systemen. Bijvoorbeeld: een webshop kan worden gekoppeld aan een voorraadbeheersysteem, en aan een boekhoudsysteem waarin de betalingen worden vastgelegd. In dit onderdeel leren de cursisten om kort en bondig (in de vorm van een UML componentendiagram) aan te geven met welke systemen er gekoppeld wordt, en wat de functie is van deze koppelingen. | ||
Van ontwerp naar realisatie met scrum | ||
Een functioneel ontwerp kan met een scrum proces snel en succesvol worden omgezet in een werkende applicatie. Hoe dit in zijn werk gaat, en hoe scrum gecombineerd wordt met bovenstaande technieken, wordt kort samengevat in dit laatste deel van de cursus. De cursisten krijgen hierbij de opdracht om een product backlog te maken, die gebruikt kan worden als basis voor een scrum implementatie van hun functioneel ontwerp. |