Geavanceerde methodes voor softwarearchitectuur (B-KUL-H0A12A)

Doelstellingen
Het concept software-architectuur staat centraal in de complete ontwikkeling en de volledige levenscyclus van een software-systeem. Deze cursus bouwt verder op een basiskennis omtrent het thema software architectuur en brengt een aantal vernieuwende en onderzoeksgerichte, en daarom ook geavanceerde thema’s aan die tot de state-of-the-art in het domein behoren.
De student doet inzicht en ervaring op, en raakt vertrouwd met onderzoeksresultaten en onderzoeksmethoden voor praktisch bruikbare software engineering methodes waarbij het thema software architectuur centraal staat. De cursus volgt een vast patroon, en elk jaar worden accenten en deelthema’s ingevuld in functie van recent en succesvol onderzoek.
Begintermen
Deze cursus veronderstelt een goede kennis van de principes en de praktijk van het objectgericht programmeren en het object-gericht ontwerpen, en een basiskennis rond gedistribueerde systemen. De cursus sluit nauw aan bij cursussen waarin softwareontwerp aan bod komen, zoals “Ontwerp van softwaresystemen”, “Software-ontwerp” en “Objectgericht programmeren”.
Basisnoties omtrent het thema software architectuur zijn belangrijk; ervaring met een groter project rond software architectuur is dat niet.
Plaats in het onderwijsaanbod
- Master in de toegepaste informatica (programma voor studenten gestart vóór 2024-2025) (Leuven) (Artificiële intelligentie) 60 sp.
- Master in de toegepaste informatica (programma voor studenten gestart vóór 2024-2025) (Leuven) (Software-ontwikkeling en gedistribueerde systemen) 60 sp.
- Master in de ingenieurswetenschappen: computerwetenschappen (Leuven) (Hoofdoptie Gedistribueerde systemen) 120 sp.
- Master in de ingenieurswetenschappen: computerwetenschappen (Leuven) (Hoofdoptie Software engineering) 120 sp.
- Master in de ingenieurswetenschappen: computerwetenschappen (Leuven) (Hoofdoptie Veilige software) 120 sp.
Onderwijsleeractiviteiten
4 sp. Geavanceerde methodes voor softwarearchitectuur: werkcollege (B-KUL-H0A12a)
Inhoud
De cursus brengt een aantal nieuwe technieken voor het modelleren van kritische eigenschappen waarbij men verder gaat dan het gebruik van standaard-vormen (zoals bv. UML).
Zo zijn er in de praktijk specifieke vormen en methodes om beveiligingsaspecten te modelleren, efficiëntieaspecten, data flow en privacy aspecten, enz. Rond al deze thema’s (deelaspecten die overeen komen met een specifieke categorie van eigenschappen) is er eveneens een weelde aan recente onderzoeksresultaten, waaronder een aantal elementen die quasi-klaar voor gebruik zijn. Het betreft hier een brede waaier van mogelijkheden, o.a. modelleertalen, notaties, processen, patronen enz.
Daarnaast is er vandaag de nood aan ondersteuning voor dynamische aanpasbaarheid van software systemen niet meer weg te denken; ook hier levert de onderzoekswereld voortdurend nieuwe mogelijkheden en middelen, voor diversie toepassingscontexten (bv. “DevOps”, “Continuous Deployment”, “Orchestration” voor telecom-platformen enz.).
Kenmerkend voor al deze technieken is de nood aan praktische evaluatiemethodes om na te gaan of kwaliteit van de software en de productiviteit van de softwareontwikkelaar baat hebben bij dergelijke nieuwe voorstellen. We bestuderen empirische evaluatiemethodes en passen die toe op een pedagogisch voorbeeld.
Het leerproces van deze cursus is gekoppeld aan de uitvoering van twee kleine opdrachten die individueel worden uitgevoerd.
De cursus bevat bijgevolg drie onderdelen.
1. Modellering van domein-specifieke kwaliteiten van een software-systeem: gevalstudies rond beveiliging, foutbestendigheid, beschikbaarheid, privacy en dataprotectie, enz. (40%)
2. Modellering met het oog op adaptatie en dynamische veranderingen (40%)
3. Inleiding tot empirische methodes bij het evalueren van nieuwe methodes (20%)
Studiemateriaal
- Cursusmateriaal
- De beschikbare presentaties van alle hoorcolleges
- Een aantal hoofdstukken uit relevante handboeken omtrent beveiliging, foutbestendigheid, beschikbaarheid, privacy en dataprotectie. Dit varieert mogelijk van jaar tot jaar.
- Een selectie van kern-artikels met het meest relevante onderzoek
Toelichting werkvorm
Wekelijks contactmoment (werkcollege) van 2u.
Evaluatieactiviteiten
Evaluatie: Geavanceerde methodes voor softwarearchitectuur (B-KUL-H2A12a)
Toelichting
De evaluatie gebeurt in de vorm van een schriftelijk examen in de zittijd, over de cursusinhoud (open boek) en over de twee individuele opdrachten. De toegekende score wordt voor 20% gebaseerd op de twee tussentijdse opdrachten en voor 80% op de opgedane kennis.
Toelichting bij herkansen
Studenten die minder dan 10 halen in de eerste examenperiode, moeten mogelijk een opdracht maken, namelijk een aanvulling bij of verbetering van de tijdens het semester geleverde opdrachten. Bespreking van de cursusinhoud moet altijd opnieuw gebeuren wanneer men niet slaagt in de eerste examenperiode.