Het maken van goede software staat of valt bij een goed proces om tot die goede software te komen. Hierbij zijn verschillende methodieken bruikbaar, waarbij agile en waterval veel voorkomen. Bij beide methodieken zijn verschillende fasen van software engineering te ontdekken die sequentieel (waterval) of meer iteratief (agile) uitgevoerd worden. Deze fases zijn Analyse, Ontwerp, Implementatie en Testen. Mijn collega Bas Michielsen heeft hier een aantal artikelen over geschreven die in deze fasen onderverdeeld zijn (zie https://www.bazzz.nl/)
Er zijn inmiddels bijna evenveel methodes om software gestructureerd te maken dan dat er projecten zijn. Denk hierbij aan de UML flow, C4 model, Kruchten 4+1, enzovoorts. Al deze methodieken hebben met elkaar gemeen dat er op een gestructureerde manier via een aantal diagrammen software ontworpen wordt. Sommige diagrammen komen in bijna elke methode wel terug – zoals bijvoorbeeld klassendiagrammen – en weer anderen komen minder terug, of zijn onder verschillende termen bekend – zoals bijvoorbeeld conceptueel model.
Om kennis te maken met software engineering wordt vaak gekozen voor een subset van deze diagrammen, die voor de verschillende fases voldoende basis geven. In dit artikel zal ik een overzicht geven van een aantal van deze onderdelen die in deze fases terug kunnen komen en hoe deze samenhangen. Het is hierbij belangrijk te beseffen dat dit niet DE waarheid is, maar een mogelijke manier om hiernaar te kijken.
Continue reading “Software ontwikkeling: Een schematische weergave”