De cursus wordt in het Engels verzorgd onder de titel "Emergent Object-Oriented Design in the Age of AI".

Software maken die onderhoudbaar en uitbreidbaar is en voldoet aan de behoeften van gebruikers is een uitdaging voor veel ontwikkelteams. Deze cursus biedt praktische technieken om een domein te analyseren en objectgeoriënteerde software te ontwerpen met behulp van een gestructureerde aanpak.

De cursus begint met een inleiding in objectgeoriënteerd programmeren. Een van de sterkste punten van objectoriëntatie is dat code wordt gedecomponeerd in objecten, waardoor ontwikkelaars objecten uit het probleemdomein - hun verantwoordelijkheden, gedragingen en interacties - kunnen gebruiken als uitgangspunt voor het ontwerp.

De sleutel tot het omgaan met de complexiteit van softwareontwikkeling is het scheiden van analyse - begrijpen wat de applicatie moet doen - en ontwerp - bepalen hoe het moet werken. Dit wordt weerspiegeld in de structuur van de cursus: het eerste deel richt zich op analyse, terwijl het tweede deel zich richt op ontwerp. In echte projecten worden deze activiteiten toegepast in snelle, iteratieve cycli om incrementeel software te bouwen.

Analyse richt zich op het beschrijven van het domein zonder je zorgen te maken over technische details. Het is moeilijk te automatiseren, omdat er meestal nauwe interactie is tussen domeinexperts en het ontwikkelteam. De uitkomst van de analyse dient als basis voor de ontwerpfase, waarin niet-functionele eisen worden meegenomen door middel van iteratieve modeltransformaties. Het beheersen van ontwerpvaardigheden is belangrijker dan ooit, vooral met de opkomst van AI-ondersteunde ontwikkeling die de programmeerproductiviteit verhoogt.

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

  • Software ontwikkelen met behulp van het objectgeoriënteerde programmeerparadigma;
  • Analyse scheiden van ontwerp, volgens een duidelijk proces dat je van vereisten naar een onderhoudbare en uitbreidbare oplossing brengt
  • Het domeinmodel ontwikkelen van de analysefase tot een ontwerpmodel door niet-functionele vereisten mee te nemen
  • UML effectief toepassen om ontwerpen te modelleren en te communiceren, gebruikmakend van verschillende diagramtypes om meerdere gezichtspunten van een systeem te creëren

Doelgroep

  • Softwareontwikkelaars die hun objectgeoriënteerde analyse- en ontwerpvaardigheden willen versterken
  • Softwarearchitecten die systeemstructuren op een hoger abstractieniveau moeten modelleren en communiceren
  • Technische leads die de ontwerpkwaliteit binnen hun teams willen verbeteren
Locatie
Startdatum
Info volgende editie
Duur 2 times 2 days
Frequentie Eenmaal per jaar
Score
8.5
Prijs per deelnemer € 2,950 excl. btw
Brochure downloaden

Programma

De training bestaat uit twee modules: een module met focus op objectgeoriënteerde requirementsanalyse en een module met focus op objectgeoriënteerd ontwerp en implementatie. Deze twee zijn nauw met elkaar verbonden door middel van voorbeelden en oefeningen in beide modules. Na afloop zal de deelnemer

  • de typische OO-aanpak voor requirementsanalyse en ontwerp begrijpen;
  • in staat zijn om een gegeven probleemstelling te analyseren en een analysemodel in UML te ontwikkelen met behulp van de OO-aanpak, d.w.z.: het vereiste systeem- en softwaregedrag vastleggen in usecasespecificaties, toestandsdiagrammen en interactiediagrammen;
  • in staat zijn om het analysemodel te vertalen naar een architectuurmodel in UML dat rekening houdt met alle functionele en niet-functionele vereisten;
  • inzicht hebben in hoe een gedetailleerd OO-ontwerp kan worden geïmplementeerd in een objectgeoriënteerde programmeertaal (C++ of Java).

In de training wordt ongeveer 30 procent van de tijd besteed aan praktisch werk, meestal kleine oefeningen.

De uitgebreide versie (9 dagen) heeft hetzelfde schema als de fast track (4 dagen), maar besteedt meer aandacht aan de introductie van UML, niet-functionele eisen, usecaseanalyse, design by contract en softwarebibliotheken en reflectie op oefenresultaten en cases die ter discussie worden voorgelegd.

Methodiek

Tijdens de cursus werken de deelnemers met een grote verscheidenheid aan UML-diagrammen om verschillende gezichtspunten op de software te creëren. UML wordt gebruikt als hulpmiddel voor het modelleren, communiceren en redeneren over ontwerpen en is daarnaast waardevol voor het verkennen en documenteren van bestaande systemen op een hoger abstractieniveau.

Deze 4-daagse cursus bevat meerdere casestudy's die het hele proces van vereisten tot werkende code illustreren. De cursus is zeer praktijkgericht: deelnemers kunnen oefenen met het analyseren en ontwerpen aan de hand van deze casussen. Daarbij blijft er voldoende ruimte over om hun eigen situaties te bespreken.

Certificering

Na afloop van de opleiding ontvangen de deelnemers een certificaat van het High Tech Institute. Bovendien maakt deze opleiding deel uit van het programma voor beroepsopleiding van de Nederlandse Vereniging voor Precisietechniek (DSPE), die hiervoor microcredentials uitreikt.

Cursusbeoordelingen

"Veel geleerd, voldeed aan mijn verwachtingen, goed georganiseerd, goede oefeningen om de net geleerde theorie in de vingers te krijgen."

Guido Claessen - ASML

"Nuttig overzicht hielp om aandacht te krijgen, voorbeeldgericht onderwijs was nuttig."

Avanti Vyas - ASML

"Ik heb er echt van genoten. Martijn is een geweldige inspirerende leraar."

Anoniem

"Uiterst nuttige cursus, gevuld met boeiende oefeningen, gepresenteerd op een duidelijke en beknopte manier door de docent."

Ivan Jirov - Sioux Technologies B.V.