softwarearchitectuur

zelfstandig naamwoord

Softwarearchitectuur is de hoofdstructuur van een softwaresysteem: de onderdelen, hun onderlinge relaties en de uitgangspunten die richting geven aan technische keuzes en veranderingen.

Bij de uitbreiding van het platform kozen we een softwarearchitectuur waarin de betaalmodule afzonderlijk kan worden aangepast.

Softwarearchitectuur beschrijft hoe een softwaresysteem op hoofdlijnen in elkaar zit. Ze maakt zichtbaar welke onderdelen er zijn, welke verantwoordelijkheden ze hebben en hoe ze gegevens of opdrachten uitwisselen. Ook legt de architectuur uitgangspunten vast voor de verdere ontwikkeling van het systeem.

Welke keuzes horen bij softwarearchitectuur?

Architectuurkeuzes gaan bijvoorbeeld over de grenzen tussen Woordenboek · In het kortcomponentEen component is een afgebakend onderdeel van software met een eigen taak en een duidelijke manier om met andere onderdelen samen te werken.Lees meer, de opslag van gegevens en de communicatie via een Woordenboek · In het kortAPIEen API is een vastgelegde manier waarop software gegevens uitwisselt of functies van andere software aanroept, zonder de interne werking daarvan te hoeven kennen.Lees meer. Een team bepaalt ook welke onderdelen samen worden uitgerold en welke zelfstandig kunnen veranderen. Zo kan een applicatie als Woordenboek · In het kortmonolietEen monoliet is een applicatie waarvan de onderdelen één geheel vormen en doorgaans samen worden gebouwd en uitgerold.Lees meer worden gebouwd of worden verdeeld over Woordenboek · In het kortmicroservicesMicroservices zijn kleine, afzonderlijk inzetbare softwarediensten die elk een afgebakende functie uitvoeren en samen één applicatie vormen.Lees meer.

De juiste indeling hangt af van wat de software moet kunnen. Een systeem dat veel verkeer verwerkt, stelt andere eisen dan een interne applicatie voor een klein team. Ook beveiliging, beschikbaarheid, onderhoudbaarheid en bestaande systemen wegen mee. Een architectuurpatroon is daarom geen kant-en-klare oplossing: het geeft structuur aan keuzes binnen een specifieke context.

Architectuur blijft in beweging

Softwarearchitectuur is geen eenmalige tekening aan het begin van een project. Nieuwe functies, groeiend gebruik en technische beperkingen kunnen aanleiding geven om grenzen tussen onderdelen te verleggen of een koppeling anders in te richten. Teams toetsen zulke aanpassingen aan de doelen en beperkingen van het systeem.

Een architectuurbeschrijving helpt om die keuzes te bespreken en terug te vinden. De werkelijke architectuur zit echter ook in de code, infrastructuur en gegevensstromen. Documentatie en implementatie moeten daarom samen worden bijgehouden.