Dit is waardevol als je betrokken bent bij softwareontwikkeling en misverstanden wilt voorkomen tussen business en IT. Je leert werken met UML (de Unified Modeling Language) als gemeenschappelijke taal, zodat je beter kunt communiceren over de opzet, werking en bedoeling van een applicatie.
Tijdens de cursus maak je kennis met de modelleertechnieken van UML en leer je hoe je die gebruikt in een functioneel ontwerp. Je werkt onder meer met modellen voor gegevens, bedrijfsprocessen, rollen en autorisaties en de navigatie tussen gebruikersschermen. Ook komt aan bod hoe je deze onderdelen combineert tot een samenhangend ontwerp dat als basis dient voor verdere realisatie. Daarbij is er ook aandacht voor de aansluiting op een agile werkwijze: vanuit een cyclus van ontwerp en feedback werk je stap voor stap toe naar een ontwerp dat goed bruikbaar is als startpunt voor verdere uitwerking,
De cursus wisselt theorie en praktijk steeds af. Wat je leert pas je direct toe op de projecten waar je voor je werkgever aan werkt. Hierdoor sluit de cursus precies aan op jouw dagelijks werk. Je kiest aan het begin een applicatie waar je dagelijks aan werkt (of verwacht te gaan werken). Hiervoor maak je tijdens de cursus een functioneel ontwerp. Zo oefen je met herkenbare praktijksituaties en bouw je stap voor stap aan een concreet ontwerp. Aan het eind van de cursus heb je een eigen functioneel ontwerp opgesteld dat je direct kunt gebruiken in gesprekken met collegas, stakeholders en ontwikkelteams.
Deze opleiding heeft de volgende onderwerpen:
#Requirements d.m.v. UML use cases
Gegevens d.m.v. een UML klassendiagram
Bedrijfsprocessen d.m.v. UML activiteitendiagrammen
Rollen en autorisaties d.m.v. een CRUD matrix
Schermnavigatie d.m.v. UML toestandsdiagrammen (= state machines)
Gebruikersschermen
Business rules
Koppelingen met andere systemen d.m.v. een UML componentendiagram
Van ontwerp naar realisatie d.m.v. scrum
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 moe doen, zonder al 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 kunnen hebben, en wat deze gebruikers moeten 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.
Bedrijfsprocessen d.m.v. UML activiteitendiagrammen
#Sommige gegevens doorlopen een bedrijfsproces. Een polisaanvraag of een belastingaangifte bijvoorbeeld doorloopt achtereenvolgens verschillende processtappen, en heeft na elke processtap een bepaalde status. Hiervan tekent de cursist een UML activiteitendiagram, met zwembanen die aangeven welke gebruikers welke processtappen kunnen uitvoeren. Daarmee wordt in één 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 volledige beeld welke gebruikersrollen welke autorisaties hebben.
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 kan hierbij gezien worden als een toestand waarin de gebruikersinterface zich kan bevinden. Daarom wordt een schermstroomdiagram getekend in de vorm van een UML toestandsdiagram.
Gebruikersschermen
#Elk scherm dat voorkomt in bovengenoemde schermstroomdiagrammen wordt uitgewerkt in een schermontwerp, met hierin onderdelen zoals tekstvelden, checkboxes, radio buttons, navigatieknoppen, etc. In de cursus ligt hierbij de nadruk op het bieden van de gewenste functionaliteit, consistent met bovengenoemde requirements, gegevens, bedrijfsprocessen, etc.
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 d.m.v. scrum
#Een functioneel ontwerp kan in een scrum proces succesvol worden omgezet in een werkende applicatie. Hoe dit in zijn werk gaat, en hoe scrum gecombineerd wordt met bovenstaande technieken, wordt uitgelegd in dit laatste deel van de cursus. De hierbij horende opdracht voor de cursisten is om een product backlog met prioriteiten te maken, die gebruikt kan worden als basis voor een scrum implementatie van het functioneel ontwerp.