NOAG-i-thema Software Architectuur (SA)
Definitie:
De software architectuur van een informatiesysteem is de verdeling van taken, eigenschappen en gedragsregels over de verschillende bouwstenen en communicatie-mechanismen die tezamen de gewenste functionaliteit van het systeem realiseren.
Essentiële kenmerken:
Een geavanceerd informatiesysteem heeft een complexe structuur, waarin sprake is van een samenspel van diverse componenten, die niet meer op zichzelf beschouwd kunnen worden maar in onderlinge samenhang. Er moeten uiteindelijk keuzen gemaakt worden, waarbij de onderlinge beïnvloeding onderkend moet worden. Om dit te bereiken moet op een hoger integratieniveau de onderlinge afhankelijkheid van de onderdelen in kaart worden gebracht en bestudeerd kunnen worden. Dit is het specifieke kenmerk van software architectuur, vergelijkbaar met de architectuur van een gebouw.
Onderzoeksdoelstelling:
Doel van het onderzoek is om methoden te ontwikkelen waarmee de specifieke architectuurkeuze een expliciete stap wordt, ja zelfs de belangrijkste stap in de ontwikkeling van een informatiesysteem. Door zoveel mogelijk automatisch te genereren en te valideren kan vervolgens in een vroeg stadium worden bepaald of de verzameling gemaakte implementatiekeuzen uiteindelijk tot een tevredenstellende oplossing zal leiden.
Relatie met andere thema’s:
De Software Architectuur vormt het uitgangspunt voor het realiseren van de gewenste systeemfunctionaliteiten die in het traject van Requirements Engineering zijn vastgelegd. Het is van belang voor de realisatie van grote en complexe informatiesystemen, zoals die te zien zijn bij Embedded Systems en transactiesystemen.
Onderzoeksonderwerpen:
De volgende onderwerpen zullen binnen dit thema in eerste instantie de aandacht krijgen:
• Ontwikkel een beschrijvingsmodel voor software architecturen.
• Ga na of op grond van formele specificatie van eigenschappen van de architectuur en van de componenten uitspraken zijn te doen over de eigenschappen van het systeem als geheel.
• Hoe moeten de architectuurregels gekozen worden om een zo groot mogelijke ondersteuning te garanderen bij het ontwerp van het systeem, zonder daarbij de ontwerper nodeloos in zijn ontwerp-vrijheid te beperken?
• Hoe hangt de ontwerpmethodiek samen met de gekozen architectuur?