Lessen, discussies, (groeps)oefeningen (eventueel toegepast op eigen casus)Huiswerkopdracht met persoonlijke coaching en voorbereidende lectuur
De cursus wordt in het Engels verzorgd onder de titel "Good Software Architecture".
Deze cursus leert je een brug te slaan tussen de behoeften van de klant, technologische beperkingen en het ontwikkelproces. Bij architectuur gaat het om de belangrijkste beslissingen die de creatie en werking van een systeem bepalen en hoe het in de omgeving past. Architectuurbeslissingen bepalen de structuur en stijl van het systeem en de belangrijkste richtlijnen voor de realisatie ervan.
Deze training onderscheidt zich doordat je:
- een duidelijk beeld krijgt van wat een goede architectuur in jouw context betekent;
- inzichten direct toepast op je eigen case, met persoonlijke coaching;
- je redenering over kwaliteitsattributen versterkt;
- bedrijfswaarde, technische beperkingen en ontwikkelingsproces integreert;
- het Architecture Reasoning Model (ARM) gebruikt als verenigend raamwerk;
- leert van Robert Deckers, EngD, PhD - met een constant hoge tevredenheid van de deelnemers.
Deze cursus richt zich op de definitie van een architectuur die goed ontworpen is, in de context past en communiceerbaar is. Je leert hoe architectuur het technisch ontwerp plaatst in de context van de behoeften van de klant en andere stakeholders en in de context van het ontwikkelproces. Je wordt gevraagd een eigen case mee te brengen die tijdens de training wordt behandeld. Ook de huiswerkopdracht voor de periode tussen de twee modules gaat in op jouw case.
Deze training is zowel beschikbaar voor open inschrijving als voor in-company sessies. Voor in-company sessies kan de inhoud worden aangepast aan jouw situatie en speciale behoeften.
Leerdoelen
- Een goede softwarearchitectuur opzetten en architectuurverbeteringen identificeren
- De belangrijkste concepten voor softwarearchitectuur begrijpen en toepassen
- De context van een softwaresysteem analyseren met betrekking tot de toepassing, het technisch ontwerp en het ontwikkelproces
- Architecturen voor systeemfamilies identificeren en definiƫren
- Het Architecture Reasoning Model (ARM) begrijpen
- Begrijpen van en redeneren over kwaliteitsattributen
Doelgroep
Deze softwarearchitectuurtraining is bedoeld voor mensen met een technische softwareachtergrond (software-engineers, technisch ontwerpers en technologiespecialisten) die groeien naar de rol van softwarearchitect.
Programma
½ dag:
Wat is softwarearchitectuur? Wat is de rol van architectuur in het ontwikkelproces? Stap voor stap door de definitie van softwarearchitectuur gaan om te begrijpen wat het is en wat het oplevert.
½ dag:
Het architectuurdomein (IEEE/ISO 42010). De belangrijkste concepten en hun relaties. Deze standaard wordt in de cursus gebruikt als raamwerk.
2 dagen:
Architectuur in context:
- Omgevings- en systeemanalyse: inzicht in de omgeving en de rol van het systeem in zijn omgeving.
- Softwareontwikkeling als een reeks beslissingen: wat te architecten? Hoe weet je of je genoeg architectuur hebt? Relatie met Scrum.
- De dominante decompositie (ook bekend als belangrijkste architectuurstijlen).
- Familiearchitecturen: het proces, de artefacten en softwaremechanismen bij de ontwikkeling van families van softwaresystemen.
- Kwaliteitsattributen: wat zijn het? Waarom zijn ze belangrijk? Hoe vind je ze?
½ dag:
Theorie van goede architectuur en het Architecture Reasoning Model. Deze twee onderwerpen lopen als een rode draad door de hele cursus.
Om een goede software architectuur op te zetten, te beheren en uit te dragen, bepaalt de softwarearchitect hoeveel aandacht te besteden aan bepaalde stakeholders, concerns, modellen en andere architectuuraspecten. Om zinvolle keuzes te kunnen maken, moet de architect eerst bepalen wat een goede softwarearchitectuur is in deze situatie. Als de architect een duidelijk beeld heeft van wanneer de softwarearchitectuur goed is voor een specifiek systeem en zijn omgeving, wordt het eenvoudiger om die goede softwarearchitectuur ook daadwerkelijk te realiseren. Om te controleren of een architectuur goed is en om richting te geven aan de architectuuractiviteiten kan de architect zich richten op het beantwoorden van een gegeven set vragen met betrekking tot correctheid, consistentie en communicatie. Deze vragen en hun antwoorden helpen om verbeterpunten voor de architectuur te identificeren.
Het Architecture Reasoning Model (ARM) ondersteunt het redeneren over een systeem in zijn omgeving langs drie dimensies: toepassing, ontwerp en proces.
- Toepassingsdimensie: redeneren over de betekenis en waarde van het systeem voor de klant.
- Ontwerpdimensie: redeneren over de resources waaruit het systeem is opgebouwd en hoe het die gebruikt.
- Procesdimensie: redeneren over de processen en organisatie voor de ontwikkeling en het onderhoud van het systeem.
½ dag:
In de tweede module bespreken we de resultaten van de huiswerkopdrachten en kunnen de deelnemers reflecteren op de toepassing van de theorie op hun eigen werk en van elkaar leren.
Opmerkingen:
- Kennis van modelleren (bij voorkeur UML, of op zijn minst OO, is vereist).
- Kleine oefeningen gebaseerd op eenvoudige bestaande voorbeelden.
- Grote oefeningen worden bij voorkeur uitgevoerd op casussen die door de deelnemers worden ingebracht.
- Tussen de twee modules door krijg je huiswerkopdrachten die ongeveer een dag in beslag nemen. De huiswerkopdracht is gericht op je eigen casus. Tijdens deze periode krijg je ook online persoonlijke coaching van de trainer gedurende ongeveer 1 uur.
- Reserveer in totaal ook ongeveer een dag voor het lezen van documenten.
Methodiek
Certificering
Na het succesvol afronden van deze cursus ontvang je een opleidingscertificaat van het High Tech Institute. Bovendien maakt deze opleiding deel uit van het programma voor beroepsonderwijs van de Nederlandse Vereniging voor Precisietechniek (DSPE), die hiervoor microcredentials verstrekt.
Meer informatie
Cursusbeoordelingen
