null Software design and architecture

Software design and architecture

  • Informatica
  • IM2403
  • 7,5 EC
  • Vanaf € 615
  • Voor dit product gelden ingangseisen
Deze cursus heeft een vast startmoment. Kijk in het Jaarrooster wanneer de cursus van start gaat.

Inhoud

Deze cursus bestaat uit drie samenhangende onderdelen.

Het eerste onderdeel gaat over softwarearchitectuur. Een softwarearchitect maakt een systeemblauwdruk op basis van soms conflicterende eisen van stakeholders, met speciale aandacht voor niet-functionele eisen zoals performance, security en flexibiliteit. In deze cursus leer je architectuurkeuzes te maken met behulp van architectuurpatronen, webservices en softwareproductlijnen. Je krijgt inzicht in hoe je een architectuurbeschrijving opstelt en hoe je bestaande softwarearchitecturen kunt analyseren en beoordelen. Dit deel heeft een focus op de aanpasbaarheid en uitbreidbaarheid van software en applicaties op een hoger niveau.

In het volgende deel kijken we naar aanpasbaarheid en uitbreidbaarheid op een lager niveau, namelijk van packages en klassen in een OO systeem. Flexibiliteit is een belangrijk kwaliteitsattribuut van software en softwarearchitectuur. Het tweede deel van de cursus richt zich op dit aspect. Software is nooit ‘af’; daarom is flexibiliteit met het oog op toekomstige veranderingen essentieel. In deze cursus leer je en oefen je met ontwerpprincipes voor toekomstbestendige en flexibele software.

Het derde onderdeel van de cursus richt zich op academische schrijfvaardigheden. Je leert goede onderzoeksvragen te formuleren, het onderzoeksproces en verschillende onderzoeksstrategieën toe te passen en een heldere samenvatting, inleiding en onderzoeksopzet voor een wetenschappelijk artikel te schrijven.

Leerdoelen
Na afronding van deze cursus kun je:
- de stakeholders voor een te ontwerpen systeem onderscheiden en beschrijven,
- de concerns van de stakeholders vanuit hun gezichtspunt beschrijven,
- vanuit de concerns requirements opstellen, waarbij je een oplossing bedenkt voor conflicterende concerns,
- gebruikmaken van architectural patterns en styles om een systeem te ontwerpen dat aan de requirements beantwoordt,
- de voor- en nadelen van ontwerpbeslissingen beargumenteren,
- een architectuurdocument schrijven dat te begrijpen is voor alle stakeholders,
- een gegeven architectuur analyseren en evalueren,
- aangeven welke problemen er kunnen optreden bij het samenvoegen van componenten in een groter software-systeem, en oplossingen aandragen,
- de volgende begrippen uitleggen: standaardarchitecturen, kwaliteitsmodellen (ISO 25010), architectuurpatronen, architectuurmodellen (IEEE 1471, UML en andere), een architectuur beoordelen, REST, software product lines, variability and composition,
- inzicht hebben in de betekenis van softwaremodificeerbaarheid en het belang daarvan voor het ontwerpen van software.
- kennis hebben van ontwerpprincipes, ontwerptactieken, de onion-architectuur, MVC en domain-driven design als benaderingen om softwaremodificeerbaarheid te ondersteunen.
- ontwerppatronen kunnen toepassen als concrete oplossingen om ontwerpprincipes en ontwerptactieken voor modificeerbaarheid te realiseren.
- kunnen beargumenteren welk ontwerppatroon in een gegeven ontwerpprobleem het meest geschikt is en hoe dit patroon moet worden toegepast.

Ingangseisen

Aanmelden is alleen mogelijk voor opleidingsstudenten die formeel zijn toegelaten tot de masteropleiding Computer Science of de masteropleiding Software Engineering.

Aanmelden

Aanmelden is alleen mogelijk voor studenten die formeel zijn toegelaten tot de masteropleiding.

Toelichting aanmelden

Deze cursus start 1 september 2026. We adviseren om uiterlijk zondag 9 augustus 2026 hiervoor aan te melden zodat je tijdig het eventuele cursusmateriaal ontvangt, toegang hebt tot de leeromgeving en (indien van toepassing) ingedeeld kunt worden in een studiegroep. Bij aanmelding na 9 augustus 2026 kunnen we dit niet garanderen. Aanmelden is mogelijk tot en met 31 augustus 2026.

Deze cursus start 8 februari 2027. We adviseren om uiterlijk zondag 24 januari 2027 hiervoor aan te melden zodat je tijdig het eventuele cursusmateriaal ontvangt, toegang hebt tot de leeromgeving en (indien van toepassing) ingedeeld kunt worden in een studiegroep. Bij aanmelding na 24 januari 2027 kunnen we dit niet garanderen. Aanmelden is mogelijk tot en met 7 februari 2027.

Bij deze cursus hoort online activerende begeleiding. Deze cursus start op vastgestelde momenten, en ook tijdens de bestudering van de cursus zijn er vaste inlevermomenten van opdrachten en feedback. Je studeert online samen met een groep medestudenten. Deze begeleiding is erop gericht je sneller, effectiever en met een beter begrip van de stof door de cursus te helpen. Je kunt vooraf aan de begeleidingsperiode in je eigen tempo de stof alvast doornemen; het materiaal wordt één kwartiel tevoren al uitgeleverd. Aansluitend aan de begeleidingsperiode is je eerste tentamenkans. Na de begeleidingsperiode heb je nog twee ingeroosterde tentamenkansen. Informatie over begeleiding en tentamen vind je op de respectievelijke tabbladen.

Voorkennis

Om deze cursus met succes te kunnen volgen, heb je kennis nodig op het gebied van (objectgeoriënteerd) ontwerpen, en moet je bekend zijn met modelleertechnieken als UML.

Begeleidingsvorm

Deze cursus heeft een vast startmoment. Kijk in het Jaarrooster wanneer de cursus van start gaat.

De begeleiding bestaat uit uitgebreide terugkoppeling op delen van het architectuurdocument waar je tijdens deze cursus aan werkt. Je wordt beoordeeld op het volledige document. De feedback die je krijgt op de delen geeft je een goed idee over de manier van beoordelen van het volledige document. Daarnaast is er één introductiebijeenkomst en zijn er twee online begeleidingsbijeenkomsten waarbij we ingaan op de opdrachten.
Je kunt de eindopdracht alleen doen wanneer je begeleiding hebt gekregen voor de eerste twee deelopdrachten. Het is, om voor deze cursus te slagen, dus noodzakelijk om de begeleiding te volgen.

Begeleidingsbijeenkomsten



Studiedag Informatica en Informatiekunde, Utrecht
Kwartiel 1 - begeleider: dhr.dr. E. Rahimi
1. za 04-09-2026 / les 1 / tijd ntb / tijdig aanmelden via: ou.nl/inf-studiedag

Online-bijeenkomsten
Kwartiel 1 - begeleider: dhr.dr. E. Rahimi
2. do 17-09-2026 / 19.00-21.00 uur
3. do 01-10-2026 / 19.00-21.00 uur
4. do 15-10-2026 / 19.00-21.00 uur
5. do 29-10-2026 / 19.00-21.00 uur

Studiedag Informatica en Informatiekunde Utrecht
Kwartiel 3 - begeleider: dhr.dr. E. Rahimi
1. vr 12-02-2027 / tijd ntb / tijdig aanmelden via ou.nl/inf-studiedag

Online-bijeenkomsten
Kwartiel 3 - begeleider: dhr.dr. E. Rahimi
2. do 25-02-2027 / 19.00-21.00 uur
3. do 11-03-2027 / 19.00-21.00 uur
4. do 25-03-2027 / 19.00-21.00 uur
5. do 08-04-2027 / 19.00-21.00 uur

Docenten

Tentamenvorm

Opdracht.

Tentamentoelichting

De bijzondere verplichting bestaat uit een reeks opdrachten.

Tentamendata

Volgens afspraak.

Cursusmateriaal

De cursus bestaat uit:
- een werkboek (Engelstalig);
- een reader met artikelen;
- The digital version of the GoF book

Digitale leeromgeving

Als student kun je via de cursussite in de digitale leeromgeving naar de discussiegroepen. Hier kun je met medestudenten en begeleider informatie uitwisselen en discussiëren over de leerstof.