Software Architecture Flashcards

1
Q

Software-architectuur

A

De structuur of structuren van een systeem, inclusief de componenten, hun relaties, en de richtlijnen en principes die het ontwerp en de evolutie van het systeem sturen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Component

A

Een zelfstandig functioneel onderdeel van een softwaretoepassing, zoals een module, service of microservice. Componenten hebben duidelijke verantwoordelijkheden en communiceren via goed gedefinieerde interfaces.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Interface

A

Een punt waar twee systemen, componenten of modules met elkaar communiceren. Interfaces definiëren hoe de interactie plaatsvindt, zoals via een API of een message queue.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Layered Architecture

A

Een architectuurpatroon waarbij het systeem is georganiseerd in lagen (bijvoorbeeld presentatie, logica en data). Elke laag heeft een specifieke rol en communiceert alleen met aangrenzende lagen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Microservices

A

Een architectuurstijl waarbij een applicatie wordt opgebouwd uit kleine, zelfstandige services die onafhankelijk kunnen worden ontwikkeld, ingezet en geschaald.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Design Patterns

A

Herbruikbare oplossingen voor veelvoorkomende ontwerpproblemen in softwareontwikkeling. Voorbeelden zijn het Singleton-, Factory-, en Observer-patroon.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Service-Oriented Architecture (SOA)

A

Een architectuurstijl waarbij applicaties worden opgebouwd uit herbruikbare en loosely coupled services. Deze services kunnen verschillende technologieën gebruiken en communiceren via een gestandaardiseerd protocol.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Scalability

A

Het vermogen van een systeem om te groeien en prestaties te behouden naarmate de belasting toeneemt. Dit kan horizontaal (extra servers toevoegen) of verticaal (meer resources toevoegen aan een server).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Coupling en Cohesion

A

Coupling: De mate waarin componenten afhankelijk zijn van elkaar. Lage coupling is wenselijk voor flexibiliteit.

Cohesion: Hoe goed de verantwoordelijkheden binnen een component samenhangen. Hoge cohesie is wenselijk voor eenvoud en onderhoudbaarheid.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Architectural Styles

A

Verschillende manieren om een systeem te organiseren, zoals:

Client-Server: Een centrale server biedt diensten aan meerdere clients.

Event-Driven: Componenten communiceren via events (asynchroon).

REST: Een stijl voor webservices die gebruikmaakt van HTTP-methoden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Domain-Driven Design (DDD)

A

Een aanpak waarbij het ontwerp van software wordt geleid door de behoeften van de business. Het focust op het modelleren van de domeinlogica en het gebruik van een gedeeld vocabulaire.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Non-Functionele Eisen (NFRs)

A

Kwaliteitseisen van een systeem, zoals performance, beveiliging, betrouwbaarheid en schaalbaarheid. Ze beïnvloeden de keuzes in de architectuur sterk.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Deployment Architecture

A

De configuratie van softwarecomponenten op hardware en infrastructuur. Het bepaalt hoe een systeem wordt geïmplementeerd en uitgevoerd in productieomgevingen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Monolith

A

Een monolithische architectuur is een systeem waarin alle onderdelen (zoals gebruikersinterface, logica en data) geïntegreerd zijn in één enkele applicatie of codebase.

Kenmerken:
Eén codebase en deployment-eenheid.
Componenten zijn sterk gekoppeld.
Eenvoudige ontwikkeling en testing bij kleinere projecten.

Voordelen:
Minder complexe infrastructuur.
Eenvoudig te implementeren en debuggen.

Nadelen:
Schaalbaarheid is moeilijker, vaak alleen verticaal.
Moeilijker onderhoudbaar naarmate het systeem groeit.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Distributed Systems

A

Een gedistribueerd systeem bestaat uit meerdere zelfstandige componenten (services of nodes) die samen functioneren om een applicatie te draaien. Deze componenten draaien op verschillende machines of locaties en communiceren via netwerken.

Kenmerken:
Componenten zijn losjes gekoppeld.
Kan fysiek verspreid zijn over meerdere servers of zelfs datacenters.
Vaak gebaseerd op communicatieprotocollen zoals REST, gRPC, of message queues.

Voordelen:
Horizontale schaalbaarheid: meer servers toevoegen om de belasting te verdelen.
Fouttolerantie: bij falen van een component blijft de rest functioneren.
Geschikt voor grote, complexe systemen.

Nadelen:
Hogere complexiteit door gedistribueerde infrastructuur.
Communicatie tussen componenten kan leiden tot vertragingen of fouten.
Moeilijker te debuggen en testen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Technische opdeling

A

Hierbij wordt de architectuur opgedeeld op basis van technische componenten, zoals een frontend, backend, database, en andere infrastructuur.

Elke laag of module heeft een specifieke rol in het systeem, zoals presentatie, logica, of opslag.

Voordelen: Logische scheiding van verantwoordelijkheden, betere onderhoudbaarheid.

Nadeel: Kan minder goed aansluiten bij de businesscontext.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Opdeling in Domeinen

A

Dit wordt vaak “Domain-Driven Design” (DDD) genoemd. De architectuur wordt georganiseerd rondom de domeinlogica van de applicatie, waarbij elk domein een specifieke businesscontext vertegenwoordigt.

Voorbeeld: Voor een webshop kunnen de domeinen bestaan uit Orders, Klanten, en Betalingen.

Voordeel: Sluit beter aan bij de businessvereisten en gebruikerstaken.

Nadeel: Vereist een diep begrip van het domein en kan complexer zijn om op te zetten.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Synchrone communicatie

A

Berichten worden direct uitgewisseld en verwerkt. Beide partijen wachten op elkaar, bijvoorbeeld bij een HTTP-request.

Voordeel: Eenvoudig te begrijpen en implementeren.

Nadeel: Kan vertragingen veroorzaken als één partij traag reageert.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Asynchrone communicatie

A

Berichten worden verzonden en verwerkt op verschillende tijdstippen. Dit gebeurt vaak via queues of events.

Voordeel: Flexibeler en beter bestand tegen netwerkproblemen.

Nadeel: Complexer om te implementeren en foutopsporing kan lastiger zijn.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Wat zijn de acht belangrijkste verwachtingen van een software architect?

A
  • Make architecture decisions
  • Continually analyze the architecture
  • Keep current with latest trends
  • Ensure compliance with decisions
  • Diverse exposure and experience
  • Have business domain knowledge
  • Possess interpersonal skills
  • Understand and navigate politics
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Wat is een uitdaging bij het definiëren van software architectuur?

A

Het verandert continu door technologische vooruitgang, zoals microservices en DevOps.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Welke elementen omvat software architectuur?

A

Structuur, architectuurkarakteristieken (”-ilities”), architectuurbeslissingen, en designprincipes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Waarom is alleen het benoemen van een architectuurstijl (zoals microservices) niet voldoende?

A

Omdat ook de onderliggende beslissingen en eigenschappen belangrijk zijn.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Wat is de belangrijkste taak van een software architect bij architectuurbeslissingen?

A

Het vaststellen van richtlijnen en regels voor hoe technologie wordt gebruikt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Wat is “architectural decay”?

A

Het proces waarbij een architectuur minder efficiënt wordt door veranderingen in technologie en bedrijfsbehoeften.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Waarom is kennis van het bedrijfsdomein belangrijk voor een software architect?

A

Het helpt bij het begrijpen en ontwerpen van oplossingen die aansluiten bij zakelijke eisen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

Wat zijn de twee wetten van software architectuur?

A

1) Alles in softwarearchitectuur is een trade-off.
2) Waarom is belangrijker dan hoe.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

Wat zijn fitness functions in evolutionaire architecturen?

A

Mechanismen, zoals tests of monitoring, om ervoor te zorgen dat belangrijke architectuurkenmerken intact blijven.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

Wat is een cruciale vaardigheid van een software architect?

A

Het omgaan met politiek binnen de organisatie en het navigeren van weerstand tegen veranderingen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

Welke impact heeft DevOps op software architectuur?

A

Het bevordert samenwerking tussen ontwikkelaars en operations, waardoor schaalbaarheid en betrouwbaarheid verbeteren.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

Wat is architecturaal denken?

A

Het bekijken van softwareprojecten vanuit een architectonisch perspectief, met focus op structurele, technische en zakelijke aspecten.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

Wat zijn de vier belangrijke aspecten van architecturaal denken?

A

1) Verschil tussen architectuur en design,
2) Technische breedte vs. diepte,
3) Trade-offs analyseren,
4) Begrijpen van zakelijke drijfveren.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

Wat is het verschil tussen architectuur en design?

A

Architectuur gaat over structurele beslissingen en “-ilities,” terwijl design focust op de implementatie van componenten.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

Wat is de kennispiramide voor een architect?

A

1) Stuff you know (expertise),
2) Stuff you know you don’t know (bewust onbekend),
3) Stuff you don’t know you don’t know (onbewust onbekend).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

Wat is het “Frozen Caveman Anti-Pattern”?

A

Wanneer een architect vasthoudt aan verouderde ideeën door negatieve ervaringen uit het verleden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

Hoe moeten architecten omgaan met nieuwe technologieën?

A

Nieuwe technologieën blijven verkennen en objectief naar oplossingen kijken.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
37
Q

Wat zijn tips om als architect hands-on te blijven?

A

POC’s maken, technische schulden oplossen, bugfixes doen, automatiseringstools ontwikkelen, en code reviews uitvoeren.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
38
Q

Wat is de belangrijkste rol van een architect in samenwerking met ontwikkelaars?

A

Mentoren, coachen en bidirectioneel communiceren om architectuurprincipes goed te implementeren.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
39
Q

Wat betekent architecturaal denken in de praktijk?

A

Brede technische kennis hebben, samenwerken met teams, trade-offs analyseren, en oplossingen kiezen op basis van zakelijke en technische behoeften.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
40
Q

Wat is modulariteit in software?

A

Het logisch groeperen van gerelateerde code in modules om complexiteit te verminderen en onderhoud te vergemakkelijken.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
41
Q

Wat zijn de drie metrieken om modulariteit te meten?

A

Cohesie, koppeling en connascence.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
42
Q

Wat is cohesie in modulariteit?

A

De mate waarin onderdelen van een module logisch met elkaar verbonden zijn.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
43
Q

Wat is koppeling in modulariteit?

A

De mate waarin modules afhankelijk zijn van elkaar.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
44
Q

Wat is connascence?

A

Een verfijnde kijk op koppeling, waarbij modules samen moeten veranderen om de correctheid van het systeem te behouden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
45
Q

Wat is het verschil tussen modules en componenten?

A

Modules zijn logische groeperingen van code, terwijl componenten fysieke implementaties zijn die kunnen worden hergebruikt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
46
Q

Wat zijn de voordelen van modulariteit in software?

A

Schaalbaarheid, onderhoudbaarheid en begrijpelijkheid van systemen verbeteren.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
47
Q

Waarom is modulariteit essentieel voor softwarearchitectuur?

A

Het maakt complexe systemen beter beheersbaar en aanpasbaar aan verandering.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
48
Q

Wat zijn architectuurkenmerken?

A

Belangrijke ontwerpcriteria die beschrijven hoe een systeem moet presteren en waarom bepaalde ontwerpkeuzes zijn gemaakt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
49
Q

Aan welke drie criteria moet een architectuurkenmerk voldoen?

A

1) Niet-domeinspecifiek,
2) Beïnvloedt een structureel aspect van het ontwerp,
3) Cruciaal voor het succes van de applicatie.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
50
Q

Noem drie voorbeelden van operationele architectuurkenmerken.

A

Beschikbaarheid, prestaties, schaalbaarheid.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
51
Q

Noem drie voorbeelden van structurele architectuurkenmerken.

A

Uitbreidbaarheid, onderhoudbaarheid, portabiliteit.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
52
Q

Noem drie voorbeelden van cross-cutting architectuurkenmerken.

A

Beveiliging, toegankelijkheid, privacy.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
53
Q

Wat beschrijven ISO-standaarden voor architectuurkenmerken?

A

Definities voor kenmerken zoals prestaties, compatibiliteit, gebruiksvriendelijkheid, beveiliging, en onderhoudbaarheid.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
54
Q

Wat is een veelvoorkomende trade-off bij architectuurkenmerken?

A

Het verbeteren van beveiliging kan een negatief effect hebben op prestaties.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
55
Q

Waarom streven architecten naar de “minst slechte architectuur”?

A

Omdat een perfecte architectuur onhaalbaar is en er altijd trade-offs zijn tussen kenmerken.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
56
Q

Wat is het doel van iteratief ontwerpen in softwarearchitectuur?

A

Aanpassingen aan de architectuur vergemakkelijken en flexibiliteit behouden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
57
Q

Wat zijn architectuurkenmerken?

A

Belangrijke ontwerpcriteria zoals schaalbaarheid, prestaties en veiligheid, die de basis vormen voor architectonische keuzes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
58
Q

Wat zijn de drie manieren om architectuurkenmerken te identificeren?

A

1) Extractie uit domeinproblemen,
2) Extractie uit vereisten,
3) Gebruik van impliciete domeinkennis.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
59
Q

Hoe vertalen architecten domeinproblemen naar architectuurkenmerken?

A

Door zakelijke termen zoals “gebruikerssatisfactie” te koppelen aan technische termen zoals prestaties of beschikbaarheid.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
60
Q

Wat is het verschil tussen schaalbaarheid en elasticiteit?

A

Schaalbaarheid: Meer gebruikers kunnen ondersteunen zonder prestatieverlies.

Elasticiteit: Snel reageren op pieken in verkeer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
61
Q

Wat is het verschil tussen een designbeslissing en een architectuurbeslissing?

A

Designbeslissing: Specifieke implementatiedetails zoals een design pattern.

Architectuurbeslissing: Structurele keuzes zoals een microkernel-architectuur.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
62
Q

Wat is een belangrijk doel bij het identificeren van architectuurkenmerken?

A

Een balans vinden tussen prestaties, schaalbaarheid, veiligheid en flexibiliteit.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
63
Q

Wat zijn fitness functions in softwarearchitectuur?

A

Automatische checks die ervoor zorgen dat architectuurkenmerken worden nageleefd.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
64
Q

Noem drie voorbeelden van fitness functions.

A

1) Cyclische afhankelijkheden checken,
2) Layered architecture controleren,
3) Chaos engineering tests.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
65
Q

Waarom zijn fitness functions belangrijk?

A

Ze automatiseren governance, voorkomen handmatig toezicht en garanderen een balans tussen snelheid en kwaliteit.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
66
Q

Wat is connascence in softwarearchitectuur?

A

Het concept dat twee componenten gekoppeld zijn, zodat een wijziging in de ene een aanpassing in de andere vereist.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
67
Q

Wat zijn de twee soorten connascence?

A

1) Statisch: Gedefinieerd door code-analyse, zoals gedeelde klassen.

2) Dynamisch: Ontstaat tijdens runtime, bijvoorbeeld via synchronisatie.

68
Q

Wat is het verschil tussen libraries en services als componenten?

A

Libraries draaien in hetzelfde geheugen en zijn compile-time afhankelijkheden, terwijl services losstaan en communiceren via protocollen zoals REST.

69
Q

Wat zijn de twee stijlen van architecture partitioning?

A

1) Layered Monolith (technische lagen),
2) Modular Monolith (domeinen of workflows).

70
Q

Wat is een voordeel van een gedistribueerde architectuur?

A

Geschikt voor systemen met verschillende architectuurkenmerken zoals schaalbaarheid en elasticiteit.

71
Q

Wanneer zou je kiezen voor een monolithische architectuur?

A

Als het systeem uniforme architectuurkenmerken heeft en uit één quantum bestaat.

72
Q

Wat is de impact van componenten op modulariteit?

A

Componenten maken systemen opdeelbaar in begrijpelijke, zelfstandig inzetbare eenheden, wat modulariteit vergroot.

73
Q

Wat is een belangrijke conclusie over component-gebaseerd denken?

A

Architecten moeten continu itereren en een balans vinden tussen granulariteit, afhankelijkheden en architectuurkenmerken.

74
Q

Wat beschrijven architectuurstijlen en -patronen?

A

Gestructureerde relaties tussen componenten binnen een systeem, zoals Layered Architecture of Microservices.

75
Q

Wat is het anti-pattern Big Ball of Mud?

A

Een ongeorganiseerd, chaotisch systeem zonder duidelijke structuur, wat leidt tot slechte aanpasbaarheid en prestaties.

76
Q

Wat is een Client/Server Architecture?

A

Een twee-lagen architectuur waarbij een client (frontend) communiceert met een server (backend), zoals een webbrowser en een webserver.

77
Q

Wat zijn de drie lagen in een Three-Tier Architecture?

A

Frontend, applicatielaag, en databank.

78
Q

Wat is het verschil tussen monolithische en gedistribueerde architecturen?

A

Monolithische architecturen hebben één deploymenteenheid, terwijl gedistribueerde architecturen bestaan uit meerdere onafhankelijke deploymentunits.

79
Q

Noem een voordeel en een nadeel van een gedistribueerde architectuur.

A

Voordeel: Hogere schaalbaarheid en prestaties.
Nadeel: Complex beheer en latentieproblemen.

80
Q

Wat zijn uitdagingen bij gedistribueerde architecturen?

A

Distributed logging, distributed transactions, en contract maintenance/versioning.

81
Q

Wat is de belangrijkste focus bij het leren van gedistribueerde architecturen?

A

Begrijp de fundamentele patronen, de fallacies of distributed computing, en uitdagingen zoals logging en transacties.

82
Q

Wat is Layered Architecture?

A

Definitie: Een n-tiered architecture waarbij componenten worden gegroepeerd op technische rol (bijv. presentatie, business logic).

Waarom populair?: Simpliciteit, lage kosten, en bekendheid binnen organisaties.

83
Q

Wat zijn de vier lagen in Layered Architecture?

A
  1. Presentation Layer: UI en communicatie met gebruikers.
  2. Business Layer: Voert bedrijfsregels uit.
  3. Persistence Layer: Beheert toegang tot data.
  4. Database Layer: Slaat gegevens op.
84
Q

Wat is Separation of Concerns in Layered Architecture?

A

Elke laag heeft een specifieke verantwoordelijkheid, wat gespecialiseerde focus en eenvoud in onderhoud mogelijk maakt.

85
Q

Wat is het verschil tussen Closed en Open Layers?

A

Closed Layers: Verzoeken doorlopen elke laag → betere isolatie.

Open Layers: Verzoeken kunnen lagen overslaan → meer flexibiliteit, maar ook complexiteit.

86
Q

Wat zijn de voordelen van Layered Architecture?

A
  1. Eenvoud en lage kosten.
    1. Gemakkelijk te begrijpen en implementeren.
    2. Goed startpunt voor voorlopige architectuur.
87
Q

Wat zijn de nadelen van Layered Architecture?

A
  1. Slechte schaalbaarheid: Moeilijk om onderdelen onafhankelijk te schalen.
    1. Beperkte testbaarheid: Wijzigingen vereisen herdeployments.
    2. Lage fouttolerantie: Eén fout kan het hele systeem beïnvloeden.
88
Q

Wanneer is Layered Architecture geschikt?

A
  • Kleine en eenvoudige applicaties.
    • Snel ontwikkelen zonder duidelijke vereisten.
    • Beperkte tijd en budgetten.
89
Q

Wat is de Pipeline Architecture Style?

A

Een architectuurstijl waarin functionaliteit wordt opgesplitst in discrete onderdelen (filters) die data verwerken via unidirectionele communicatiekanalen (pipes).

90
Q

Wat zijn de componenten van de Pipeline Architectuur?

A
  1. Pipes: Kanalen voor unidirectionele communicatie.
    1. Filters: Stateless componenten met specifieke taken:
      * Producer: Startpunt van het proces.
      * Transformer: Transformeert en stuurt data door.
      * Tester: Controleert data op criteria.
      * Consumer: Eindpunt voor opslag of presentatie.
91
Q

Wat zijn voorbeelden van de Pipeline Architectuur?

A
  • ETL-tools: Data migratie en transformatie.
    • Apache Kafka: Data ingestie en verwerking.
    • Unix-pipes: Bijvoorbeeld cat file.txt | grep “error” | sort.
92
Q

Wat zijn de voordelen van de Pipeline Architectuur?

A
  1. Eenvoud en modulariteit: Elk filter kan onafhankelijk worden aangepast of vervangen.
    1. Lage kosten: Eenvoudige implementatie en onderhoud.
    2. Herbruikbaarheid: Filters kunnen worden gecombineerd en opnieuw gebruikt.
93
Q

Wat zijn de nadelen van de Pipeline Architectuur?

A
  1. Beperkte schaalbaarheid:
    • Moeilijk om afzonderlijke filters te schalen.
    • Multithreading nodig voor schaalbaarheid.
    1. Lage fouttolerantie:
      * Fouten in één filter kunnen de hele pipeline verstoren.
      * Herstellen duurt lang bij crashes.
    2. Gemiddelde betrouwbaarheid:
      * Kwetsbaar door monolithische aard.
94
Q

Wanneer is de Pipeline Architectuur geschikt?

A
  • Kleine tot middelgrote applicaties met lineaire dataverwerking.
    • ETL-processen en data-integratie.
    • Toepassingen waarbij lage kosten en eenvoud belangrijker zijn dan schaalbaarheid en fouttolerantie.
95
Q

Wat is de conclusie over de Pipeline Architectuur?

A
  • Sterk: Voor eenvoudige, lineaire processen en systemen met lage kosten.
    • Zwak: Voor grootschalige, fouttolerante of elastische systemen zijn meer modulaire en gedistribueerde architecturen beter.
96
Q

Wat is de Microkernel Architectuur?

A
  • Een architectuurstijl met een kernsysteem en plug-ins.
    • Ideaal voor productgebaseerde software zoals IDE’s en browsers, of zakelijke toepassingen die uitbreidbaar en aanpasbaar moeten zijn.
97
Q

Wat is het doel van het kernsysteem in de Microkernel Architectuur?

A
  • Het kernsysteem bevat alleen de minimale functionaliteit die nodig is om het systeem te laten werken.
    • Voorbeeld: In Eclipse is de kern slechts een teksteditor, terwijl plug-ins extra functies toevoegen.
98
Q

Wat zijn plug-ins in de Microkernel Architectuur?

A
  • Zelfstandige modules die extra functionaliteit toevoegen.
    • Plug-ins kunnen runtime (dynamisch) of compile-time (statisch) worden toegevoegd.
99
Q

Wat zijn de voordelen van de Microkernel Architectuur?

A
  1. Uitbreidbaarheid: Nieuwe functionaliteit toevoegen via plug-ins.
    1. Isolatie: Complexe logica wordt naar plug-ins verplaatst.
    2. Modulariteit: Plug-ins bevatten hun eigen logica en soms een eigen database.
100
Q

Wat zijn de nadelen van de Microkernel Architectuur?

A
  1. Monolithische beperkingen:
    • Plug-ins zijn afhankelijk van het kernsysteem, wat schaalbaarheid beperkt.
      2. Complexiteit bij remote plug-ins:
    • Externe plug-ins verhogen kosten en risico’s.
      3. Beperkte schaalbaarheid en fault tolerance:
    • Afhankelijkheid van het kernsysteem belemmert prestaties bij hoge belasting.
101
Q

Wat zijn enkele voorbeelden van de Microkernel Architectuur?

A
  1. Eclipse IDE: Plug-ins voor extra functionaliteit zoals versiebeheer of debugging.
    1. Browsers: Zoals Chrome of Firefox, met extensies als plug-ins.
    2. Verzekeringsclaims: Jurisdictie-specifieke regels in plug-ins.
    3. Belastingsoftware: Elk belastingformulier als een plug-in.
102
Q

Wanneer is de Microkernel Architectuur geschikt?

A
  • Productgebaseerde applicaties: Zoals IDE’s, browsers, en belastingsoftware.
    • Applicaties met veel aanpasbare functionaliteit: Bijvoorbeeld modules voor specifieke regels of workflows.
103
Q

Wat is de conclusie over de Microkernel Architectuur?

A
  • Sterk: Uitbreidbaarheid, modulariteit en lage kosten maken het ideaal voor kleinere systemen en toepassingen.
    • Zwak: Beperkte schaalbaarheid en fault tolerance maken het minder geschikt voor grootschalige, gedistribueerde systemen.
104
Q

Wat is de Service-Based Architectuur?

A
  • Een hybride architectuurstijl tussen monolithische en microservicesarchitecturen.
    • Ontworpen voor domeingerichte applicaties met een focus op eenvoud, agility en testbaarheid.
105
Q

Wat is de topologie van een Service-Based Architectuur?

A
  1. User Interface:
    • Afzonderlijk gedeployed, communiceert met services via REST, messaging of RPC.
      2. Coarse-Grained Services:
    • Domeinspecifieke services (bijv. OrderService, CustomerService).
    • Elke service heeft een API-laag, business logica, en persistence.
      3. Monolithische Database:
    • Eén gedeelde database voor alle services, ondersteunt traditionele ACID-transacties.
106
Q

Wat zijn voorbeelden van domeingerichte services in deze architectuur?

A
  • OrderService: Beheert bestellingen.
    • CustomerService: Houdt klantgegevens bij.
    • QuotingService: Genereert offertes in een recycling systeem.
107
Q

Wat zijn de voordelen van een Service-Based Architectuur?

A
  1. Agility: Snelle aanpassingen binnen individuele services.
    1. Testbaarheid: Eenvoudiger testen dankzij beperkte service scope.
    2. Deployability: Frequent en risicoloos deployen van afzonderlijke services.
    3. Fault Tolerance: Fouten in één service beïnvloeden andere services niet.
    4. Schaalbaarheid: Specifieke services kunnen onafhankelijk worden geschaald.
108
Q

Wat zijn de nadelen van een Service-Based Architectuur?

A
  1. Database Coupling:
    • Gedeelde databaseschema’s kunnen wijzigingen risicovol maken.
      2. Beperkte Elasticiteit:
    • Coarse-grained services benutten resources minder efficiënt dan microservices.
      3. Minder Granulariteit:
    • Minder flexibel en schaalbaar dan fijnmazige microservices.
109
Q

Voor welke use cases is een Service-Based Architectuur geschikt?

A
  1. Elektronica Recycling Systeem:
    • Services zoals Quoting, Receiving, Assessment, en Recycling zijn logisch gescheiden.
    • Fouttolerantie door klantgerichte services te schalen.
      2. Bedrijfsapplicaties:
    • Bijvoorbeeld claimsverwerking in verzekeringen of financiële rapportages.
110
Q

Wanneer kies je voor een Service-Based Architectuur?

A
  • Wanneer flexibiliteit en schaalbaarheid belangrijk zijn, maar zonder de complexiteit van microservices.
    • Voor domeingerichte ontwerpen met logische opsplitsing op hoog niveau.
    • Als traditionele ACID-transacties vereist zijn en BASE-consistentie niet voldoet.
111
Q

Wat is een belangrijk nadeel van gedeelde databases in Servive-Based architectuur?

A

Database Coupling: Wijzigingen aan het schema kunnen andere services beïnvloeden en complex maken.

112
Q

Wat is de conclusie over de Service-Based Architectuur?

A

Een uitstekende keuze voor middelgrote domeingerichte systemen.
* Combineert eenvoud, lage kosten en agility met voldoende flexibiliteit en schaalbaarheid voor veel zakelijke toepassingen.
* Minder geschikt voor zeer complexe, grootschalige applicaties waar meer fijnmazigheid nodig is.

113
Q

Wat is een Event-Driven Architectuur?

A
  • Een asynchrone en gedistribueerde architectuurstijl.
    • Gebruikt losgekoppelde eventprocessoren om gebeurtenissen te verwerken.
    • Ideaal voor schaalbare en prestatiegerichte toepassingen.
114
Q

Wat zijn de twee topologieën in een Event-Driven Architectuur?

A
  1. Broker Topologie:
    • Geen centrale controle, berichten worden via een message broker verwerkt.
    • Geschikt voor eenvoudige workflows met hoge schaalbaarheid.
    1. Mediator Topologie:
      * Centrale controle via een event-mediator die workflows coördineert.
      * Geschikt voor complexe workflows met foutafhandeling.
115
Q

Wat zijn de voordelen van een Broker Topologie? (Event-Driven)

A
  • Hoge decoupling: Componenten zijn onafhankelijk.
    • Schaalbaarheid: Eenvoudig nieuwe processoren toevoegen.
    • Prestatiegericht: Minimale latentie door directe verwerking.
116
Q

Wat zijn de nadelen van een Broker Topologie? (Event-Driven)

A
  • Geen workflowcontrole.
    • Beperkte foutafhandelingsmogelijkheden.
    • Moeilijk te herstellen bij fouten.
117
Q

Wat zijn de voordelen van een Mediator Topologie? (Event-Driven)

A
  • Centrale workflowcontrole.
    • Mogelijkheden voor foutafhandeling en herstel.
    • Geschikt voor complexe processen.
118
Q

Wat zijn de nadelen van een Mediator Topologie? (Event-Driven)

A
  • Lagere schaalbaarheid dan een broker.
    • Hogere koppeling tussen componenten.
    • Complexer ontwerp en onderhoud.
119
Q

Wat zijn de voordelen van Event-Driven Architectuur?

A
  1. Schaalbaarheid: Kan eenvoudig omgaan met grote workloads.
    1. Prestatiegericht: Minimaliseert latentie door asynchrone verwerking.
    2. Flexibiliteit: Nieuwe functionaliteit kan zonder grote aanpassingen worden toegevoegd.
    3. Evolutiegericht: Publiceren van gebeurtenissen ondersteunt eenvoudige uitbreiding.
    4. Responsiviteit: Gebruikers krijgen directe feedback.
120
Q

Wat zijn de uitdagingen van Event-Driven Architectuur?

A

Eventual Consistency: Geen directe dataconsistentie.
* Complexe foutafhandeling: Moeilijk om workflows te herstellen.
* Moeilijk te testen: Asynchrone processen creëren complexe scenario’s.
* Hogere complexiteit: Vooral in grote systemen met hybride topologieën.

121
Q

Wat zijn veelvoorkomende use cases voor EDA?

A
  1. Online Veilingen: Elk bod wordt verwerkt als een gebeurtenis.
    1. Retail Order Entry: Orders genereren een keten van gebeurtenissen (bijv. voorraadcontrole, verzending).
    2. Stock Trading: Realtime verwerking van aandelenupdates.
122
Q

Wanneer gebruik je Event-Driven Architectuur?

A
  • Voor systemen met hoge schaalbaarheidseisen en asynchrone workflows.
    • Wanneer prestaties en responsiviteit cruciaal zijn.
    • Niet geschikt voor systemen die sterke dataconsistentie of eenvoudige testbaarheid vereisen.
123
Q

Wat is de conclusie over Event-Driven Architectuur?

A
  • Ideaal voor gedistribueerde systemen die schaalbaar, prestatiegericht en uitbreidbaar moeten zijn.
    • Keuze tussen broker (schaalbaarheid) en mediator (workflowcontrole) hangt af van de systeembehoeften.
    • Uitstekende optie voor moderne, complexe systemen met veel gebeurtenissen.
124
Q

Wat is Space-Based Architectuur?

A
  • Een architectuurstijl ontworpen om schaalbaarheidsproblemen te overwinnen.
    • Gebruikt in-memory data grids en asynchrone verwerking om knelpunten in traditionele webarchitecturen te elimineren.
    • Ideaal voor systemen met hoge piekbelasting en variabele gebruikersvolumes.
125
Q

Wat zijn de belangrijkste kenmerken van Space-Based Architectuur?

A
  1. In-memory Data Grids:
    • Gegevens worden in het geheugen opgeslagen en gerepliceerd.
    • Asynchrone updates voorkomen knelpunten.
    1. Verwerkingsunits (Processing Units):
      * Bevatten applicatielogica en caches.
      * Dynamisch schaalbaar.
    2. Virtueel Middleware-systeem:
      * Messaging Grid: Verzendt verzoeken.
      * Processing Grid: Coördineert workflows.
      * Deployment Manager: Schaal elasticiteit dynamisch.
    3. Asynchrone Data Pumps:
      * Verzenden gegevens naar de database met eventual consistency.
126
Q

Wat zijn de voordelen van Space-Based Architectuur?

A
  1. Maximale Elasticiteit: Dynamisch schalen bij veranderende belasting.
    1. Hoge Prestaties: Verwijdert directe database-interacties.
    2. Schaalbaarheid: Ondersteunt miljoenen gelijktijdige gebruikers.
    3. Flexibiliteit: Perfect voor toepassingen met variabele gebruikerspieken.
127
Q

Wat zijn de uitdagingen van Space-Based Architectuur?

A
  1. Complexiteit:
    • Beheer van caches en gegevensreplicatie vereist zorgvuldigheid.
      2. Testbaarheid:
    • Testen van schaalbaarheid is complex en kostbaar.
      3. Kosten:
    • Hoge licentie- en infrastructuurkosten.
      4. Data Collisions:
    • Mogelijke inconsistenties door replicatielatentie.
128
Q

Wat is een typische use case voor Space-Based Architectuur?

A
  1. Concertticketing:
    • Snel schalen voor piekverkoop.
    • Realtime updates van tickets en zitplaatsen.
      2. Online Veilingen:
    • Dynamisch schalen bij biedingspieken.
    • Snelle verwerking voor realtime biedingen.
129
Q

Wanneer gebruik je Space-Based Architectuur?

A
  • Voor systemen met hoge elasticiteit en schaalbaarheidsvereisten.
    • Geschikt voor piekbelastingstoepassingen zoals:
    • Concertticketing
    • Online veilingen
    • Minder geschikt voor eenvoudige, goedkope applicaties vanwege kosten en complexiteit.
130
Q

Wat maakt Space-Based Architectuur uniek?

A
  • Het verwijdert de centrale database als bottleneck.
    • In-memory verwerking en asynchrone updates bieden maximale prestaties.
    • Dynamische schaalbaarheid maakt het ideaal voor onvoorspelbare piekbelastingen.
131
Q

Wat is de conclusie over Space-Based Architectuur?

A
  • Ideaal voor toepassingen die elasticiteit, schaalbaarheid en hoge prestaties vereisen.
    • Complex en kostbaar, vooral geschikt voor veeleisende domeinen zoals piekbelasting.
    • Perfect voor moderne, prestatie-intensieve systemen met variabele gebruikersvolumes.
132
Q

Wat is Orchestration-Driven SOA?

A
  • Een architectuurstijl uit de late jaren 1990, gericht op hergebruik van services en orkestratie van gedistribueerde systemen.
    • Gebaseerd op een centrale orkestratiemotor die transacties coördineert en services koppelt.
133
Q

Wat zijn de belangrijkste kenmerken van Orchestration-Driven SOA?

A
  1. Topologie:
    • Business Services: Hoog-niveau services zoals PlaceOrder.
    • Enterprise Services: Herbruikbare, fijngranulaire implementaties zoals CreateCustomer.
    • Application Services: Eenmalige, domeinspecifieke services.
    • Infrastructure Services: Ondersteunende services zoals monitoring en logging.
    1. Orkestratiemotor:
      * Coördineert workflows en transacties tussen services.
      * Integreert met legacy-systemen.
    2. Berichtenstroom:
      * Alle aanvragen verlopen via de centrale orkestratiemotor.
134
Q

Wat zijn de voordelen van Orchestration-Driven SOA?

A
  1. Elasticiteit en Schaalbaarheid:
    • Tools zoals sessiereplicatie ondersteunen schaalbaarheid.
    1. Integratie:
      * Eenvoudige koppeling van systemen via de orkestratiemotor, inclusief legacy-software.
135
Q

Wat zijn de nadelen van Orchestration-Driven SOA?

A
  1. Sterke Koppeling:
    • Wijzigingen in een centrale service (bijv. Customer) hebben impact op andere services.
      2. Complexiteit:
    • Technische partitionering maakt beheer moeilijk en versnipperd.
      3. Inefficiënties:
    • Lagere prestaties door gedistribueerde aard en meerdere oproepen binnen de architectuur.
      4. Testbaarheid:
    • Testen is uitdagend door afhankelijkheden en complexe workflows.
136
Q

Wat zijn typische use cases van Orchestration-Driven SOA?

A
  • Enterprise-systemen met complexe workflows die herbruikbaarheid en integratie vereisen.
    • Legacy-systemen integreren in moderne applicaties.
137
Q

Wat is de conclusie over Orchestration-Driven SOA?

A
  • Voordelen: Herbruikbaarheid en schaalbaarheid in complexe ondernemingen.
    • Nadelen: Sterke koppeling, inefficiënties en lage prestaties.
    • Relevantie: Een belangrijke stap in de evolutie naar flexibelere stijlen zoals microservices.
138
Q

Wat is Microservices Architecture?

A
  • Een populaire architectuurstijl geïnspireerd door Domain-Driven Design (DDD) en bounded context.
    • Focus op extreme ontkoppeling door systemen op te splitsen in kleine, onafhankelijke services die elk een specifiek domein vertegenwoordigen.
139
Q

Wat is de topologie van Microservices Architecture?

A
  1. Gedecentraliseerd: Elke service draait in een eigen proces.
    1. Zelfvoorzienend: Bevat eigen logica en data-opslag.
    2. Granulariteit: Domeingericht, maar niet te klein om overmatige communicatie te voorkomen.
140
Q

Welke communicatiemethoden worden gebruikt in Microservices?

A
  1. Synchroon: API-aanroepen (bijv. REST).
    1. Asynchroon: Evenementgestuurd via message queues.
    2. Choreografie: Directe communicatie tussen services zonder centrale controle.
    3. Orkestratie: Een mediator coördineert complexe workflows, wat koppeling introduceert.
141
Q

Wat zijn de voordelen van Microservices?

A
  1. Schaalbaarheid en Elasticiteit: Services kunnen onafhankelijk schalen.
    1. Evolueerbaarheid: Componenten vervangen/upgraden zonder het hele systeem te beïnvloeden.
    2. Flexibele technologiekeuze: Teams kunnen technologieën kiezen die passen bij hun service.
142
Q

Wat zijn de nadelen van Microservices?

A
  1. Prestatieproblemen: Netwerkcommunicatie is trager dan methodaanroepen in een monoliet.
    1. Complexiteit: Meerdere services, databases en communicatie verhogen de operationele last.
    2. Data-consistentie: Het vermijden van gedeelde databases vereist extra mechanismen zoals het saga-patroon.
143
Q

Wanneer gebruik je Microservices Architecture?

A
  • Wanneer schaalbaarheid, elasticiteit en evolutie essentieel zijn.
    • Geschikt voor snel veranderende omgevingen en gedistribueerde systemen.
    • Minder geschikt voor eenvoudige systemen door hogere complexiteit.
144
Q

Wat is de conclusie over Microservices Architecture?

A
  • Voordelen: Schaalbaar, flexibel en evolueerbaar.
    • Uitdagingen: Vereist zorgvuldige afwegingen rond communicatie, transacties en complexiteit.
    • Populair voor moderne systemen dankzij de focus op ontkoppeling en teamautonomie.
145
Q

Wat beïnvloedt de keuze van een architectuurstijl?

A
  1. Trends in architectuur: Nieuwe stijlen ontstaan door lessen uit het verleden en technologische veranderingen.
    1. Contextuele factoren: Domeinvereisten, organisatorische beperkingen, en teamvaardigheden.
    2. Specifieke keuzes: Monolithisch versus gedistribueerd, dataopslag, en communicatievorm.
146
Q

Wat zijn belangrijke trends in architectuur?

A
  1. Observaties uit het verleden: Oplossingen voor oude pijnpunten, zoals ontkoppeling.
    1. Ecosysteemveranderingen: Nieuwe technologieën zoals containers en Kubernetes.
    2. Nieuwe mogelijkheden: Paradigmawisselingen door tools zoals Docker.
    3. Versnelling van verandering: Snelle adoptie van nieuwe tools en methodologieën.
147
Q

Wat zijn de belangrijkste contextuele factoren bij het kiezen van een architectuurstijl?

A
  1. Domeinvereisten: Begrip van operationele behoeften.
    1. Architectuureigenschappen: Bijvoorbeeld schaalbaarheid, prestaties, en flexibiliteit.
    2. Organisatorische beperkingen: Budget, cloudstrategieën, en tools.
    3. Team- en proceskennis: Agile volwassenheid en DevOps-capaciteiten.
148
Q

Wat is het verschil tussen een monolithische en gedistribueerde architectuur?

A
  • Monolithisch: Eén set architectuureigenschappen en meestal één database.
    • Gedistribueerd: Verschillende delen met unieke eigenschappen, vaak met asynchrone communicatie.
149
Q

Wat zijn de voordelen van synchrone communicatie?

A
  1. Eenvoudiger ontwerp: Minder complex om te implementeren.
    1. Gemakkelijker debuggen: Fewer race conditions en deadlocks.
    2. Standaardoptie: Gebruik synchroon tenzij asynchroon nodig is voor schaalbaarheid of betrouwbaarheid.
150
Q

Wat zijn de voordelen en nadelen van asynchrone communicatie?

A
  • Voordelen:
    1. Betere schaalbaarheid en prestaties.
    2. Minder risico op timeouts bij langzame services.
    • Nadelen:
      1. Complexiteit in data-synchronisatie.
      2. Moeilijker te debuggen (race conditions, deadlocks).
151
Q

Wat is de beste keuze voor een eenvoudig, budgetvriendelijk project?

A

Een modulaire monoliet:
* Eenvoudig te implementeren.
* Lage kosten.
* Geschikt voor kleine tot middelgrote applicaties.

152
Q

Wat is een voorbeeld van een gedistribueerde architectuur?

A

Microservices-architectuur:
* Kenmerken: Gedecentraliseerde services, aparte databases, asynchrone communicatie.
* Geschikt voor: Schaalbare en complexe systemen.
* Voorbeeld: Het “Going, Going, Gone” project met services zoals BidCapture en VideoStreamer.

153
Q

Wat is een quantum in architectuur?

A

Een quantum is een onafhankelijk deel van het systeem met unieke architectuureigenschappen. Het helpt bepalen:
1. Of een monolithische of gedistribueerde architectuur nodig is.
2. Hoe services, data, en communicatie gestructureerd moeten worden.

154
Q

Wat zijn architecture decisions?

A

Keuzes die de structuur en technologie van een systeem beïnvloeden en ontwikkelteams begeleiden naar technische oplossingen.

155
Q

Wat maakt een beslissing architectonisch significant?

A

Als het impact heeft op:
* Structuur
* Niet-functionele eigenschappen (bijv. schaalbaarheid, prestaties)
* Afhankelijkheden
* Interfaces
* Bouwtechnieken

156
Q

Wat is een Architecture Decision Record (ADR)?

A

Een kort document (1-2 pagina’s) waarin een architectuurbeslissing, justificatie, gevolgen en alternatieven worden beschreven.

157
Q

Wat zijn de voordelen van ADRs voor documentatie?

A

Ze bieden inzicht in waarom beslissingen zijn genomen.
2. Ze documenteren trade-offs en justificaties.
3. Ze voorkomen herhaalde discussies door duidelijke referentiepunten.

158
Q

Wat is het doel van risicoanalyse in architectuur?

A

Het identificeren, beoordelen en mitigeren van risico’s zoals beschikbaarheid, schaalbaarheid en beveiliging om de veerkracht en het succes van een architectuur te verbeteren.

159
Q

Wat zijn de twee dimensies van de Risicomatrix?

A
  1. Impact: Het effect van het risico als het zich voordoet (Laag = 1, Midden = 2, Hoog = 3).
    1. Waarschijnlijkheid: De kans dat het risico zich voordoet (Laag = 1, Midden = 2, Hoog = 3).
160
Q

Wat is een risicoanalyse?

A

A: Een samenvattend rapport dat risico’s beoordeelt op basis van specifieke criteria en domeinen binnen een applicatie.

161
Q

Wat is de rol van een risicobeoordeling?

A

Het identificeren en visualiseren van risico’s per criterium en domein, inclusief trends en prioriteiten voor verbetering.

162
Q

Wat is Risk Storming?

A

Een collaboratieve oefening om risico’s binnen een architectuur te identificeren, consensus te bereiken en mitigerende acties te bepalen.

163
Q

Wat zijn de drie fasen van Risk Storming?

A
  1. Identificatie: Individueel risico’s aanwijzen met behulp van een architectuurdiagram en risicomatrix.
    1. Consensus: Samenwerken om risico’s te bespreken en overeenstemming te bereiken.
    2. Mitigatie: Gezamenlijk oplossingen bedenken om risico’s te verminderen.
164
Q

Hoe helpt Risk Storming bij architectuurverbetering?

A

Het onthult risico’s die anders onopgemerkt blijven en leidt tot gerichte wijzigingen, zoals betere beschikbaarheid, schaalbaarheid en beveiliging.

165
Q

Waarom is Risk Storming een continu proces?

A

Risico’s veranderen door nieuwe functies, architectuurwijzigingen en incrementele ontwikkeling. Regelmatige sessies helpen risico’s vroegtijdig te detecteren.

166
Q

Wat is het belang van samenwerking in Risk Storming?

A

Het brengt verschillende perspectieven samen, onthult onbekende risico’s en bevordert begrip tussen architecten en ontwikkelaars.