Analyseren
Leerdoelen:- Leerdoel 2 - systeem analyse
- Leerdoel 3 - acceptatietests opstellen
Systeem analyse
Toelichting
Om dit leerdoel te behalen heb gekozen om UML diagrammen te maken waarmee ik in staat ben om een complete functionaliteit, ontwerp en veiligheid analyse te doen van het systeem waar aan ik werk voor de stageopdracht.
Voor de eerste paar weken van de stage was het de bedoeling dat ik een hoop van de code ging analyseren en opschonen zodat ik daarna het systeem kon gaan uitbreiden. Om een goed overzicht te hebben van hoe het systeem in elkaar zit heb ik gekozen om Class en Component UML diagrammen te maken zodat ik duidelijkheid krijg over de functionaliteit en design van het systeem, dit krijg ik omdat ik niet alleen de classes en componenten met hun relaties moet documenteren maar ook omdat ik dan elke stuk code kan doorkijken en proberen te begrijpen wat het doet.
Bij de component diagram kan je zien welke componenten er binnen het systeem zitten en de relaties tussen de componenten. Ook heb ik met groen aangegeven bij welke component de applicatie start, met geel geef ik aan dat het componenten zijn die alleen interface (data modellen) bevatten en met rood geef ik aan dat er interfaces zijn de wel geëxporteerd worden maar niet buiten de component gebruikt wordt.
Bij de class diagram kan je zien welke attributen / porperties en methods / functions er binnen de componenten zitten.
Met een +
wordt aangegeven dat de propertie of function public beschikbaar is / geëxporteerd wordt, met een -
wordt aangegeven dat het niet public beschikbaar is / geëxporteerd wordt.
Bewijsstukken
Feedback
Ik denk dat Matthijs een goede systeem analyse heeft uitgevoerd. Door het in kaart brengen van het systeem met de door hem gekozen UML diagrammen had hij het systeem snel door. De UML diagrammen zien er keurig uit en heb ik verder niks op aan te merken. Als verbeterpunt zou hij misschien de diagrammen kunnen updaten naar de staat waarin de nu verkeerd, hierdoor zouden zijn wijzigingen binnen de applicatie duidelijk worden.
Reflectie
Het maken van de UML diagrammen heeft me enorm geholden om het systeem te begrijpen in de staat waarin het toen verkeerde omdat ik alle code langs moest gaan om de diagrammen te maken. De feedback die ik hierbij heb gezet is wel van veel later dan dat ik de diagrammen had gemaakt, geüpdatete diagrammen zijn al gemaakt voor het leerdoel Systeem vernieuwing ontwerpen.
Acceptatietests opstellen
Toelichting
Om dit leerdoel te behalen heb ik gekozen om acceptatietests op te stellen en uit te voeren.
De acceptatie test moet kunnen bepalen of nieuwe functionaliteiten of overige veranderingen in code geschikt zijn voor een nieuwe versie van het systeem (een nieuwe uitrol). De acceptatie test is uit te voeren door het stappenplan te volgen, hierdoor kan het ontwikkelteam makkelijk bepalen of het vernieuwde systeem daadwerkelijk klaar is voor een uitrol. Het stappenplan in deze test maakt ook gebruik van een automatische trigger binnen gitlab die het mogelijk maakt om geautomatiseerd een uitrol te maken.
De acceptatie test is als laatste test beschreven in het Testplan samen met overige tests die onder andere onderdeel zijn van overige leerdoelen.
Bewijsstukken
Feedback
“De acceptatietests van Matthijs zijn niet te moeilijk gemaakt dit vinden wij als bedrijf handig. Wij als bedrijf hebben niet veel personeel en daardoor zijn tests altijd het ondergeschoven kindje, Matthijs heeft precies de goede middenweg gevonden tussen het te moeilijk maken en het te makkelijk maken. Ik vind dit extra knap aangezien wij geen voorbeelden hebben geleverd qua tests.”
Reflectie
Ik heb de acceptatietests relatief simpel gehouden in dit testplan omdat ik dacht dat het handig zou zijn om het zo ook bij andere projecten te kunnen gebruiken. Het was wel lastig om de test op te stellen die aan de bedrijfseisen voldoen aangezien ik geen voorbeeld had kunnen zien hoe het stagebedrijf het bij andere project heeft opgelost. Gelukkig heeft het hele testplan positieve feeback gekregen wat ik weer kan meenemen voor de volgende keer dat ik een testplan moet maken.