Software Modelling Flashcards

1
Q
  1. Flashcard: Wat zijn de statische modellen in UML?
A
  • Statische modellen in UML richten zich op de structuur van het systeem. Ze bieden een momentopname van de elementen en hun relaties binnen het systeem. Voorbeelden van statische modellen zijn Klassendiagrammen, Componentdiagrammen en Deploymentdiagrammen.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q
  1. Flashcard: Wat zijn de dynamische modellen in UML?
A
  • Dynamische modellen in UML richten zich op het gedrag en de interacties van componenten binnen het systeem. Ze tonen de levenscyclus en de tijdgebonden aspecten van het systeem. Voorbeelden van dynamische modellen zijn Use Case Diagrammen, Sequentiediagrammen en Toestandsdiagrammen.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q
  1. Flashcard: Wat wordt getoond in een Klassendiagram?
A
  • Een Klassendiagram toont de relaties tussen klassen in een systeem. Het omvat ook de methoden, parameters en attributen die bij elke klasse horen. Klassendiagrammen bieden inzicht in de structuur van het systeem en de onderlinge relaties tussen de verschillende klassen.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q
  1. Flashcard: Wat wordt getoond in een Componentdiagram?
A
  • Een Componentdiagram toont de structuur van een systeem in termen van de componenten waaruit het is samengesteld. Het visualiseert de componenten en hun relaties, waardoor ontwikkelaars inzicht krijgen in de architectuur van het systeem. Componentdiagrammen zijn bedoeld om alleen te worden gelezen en helpen bij het begrijpen van de opbouw van het systeem.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q
  1. Flashcard: Wat wordt getoond in een Deploymentdiagram?
A
  • Een Deploymentdiagram toont de fysieke configuratie van de hardware- en softwarecomponenten in een systeem. Het geeft een overzicht van hoe de verschillende componenten worden geïmplementeerd en gedistribueerd over verschillende nodes (bijv. servers). Deploymentdiagrammen bieden inzicht in de implementatieaspecten van het systeem.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q
  1. Flashcard: Wat wordt getoond in een Use Case Diagram?
A
  • Een Use Case Diagram toont de functionaliteit van het systeem vanuit het perspectief van de gebruikers (actoren). Het visualiseert de interacties tussen actoren en use cases, waarbij use cases de specifieke functionaliteit beschrijven die het systeem biedt. Use Case Diagrammen helpen bij het begrijpen van de vereisten en functionaliteiten van het systeem.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q
  1. Flashcard: Wat wordt getoond in een Sequentiediagram?
A
  • Een Sequentiediagram toont de interacties tussen objecten in een systeem in de tijdsequenties waarin ze plaatsvinden. Het laat zien hoe objecten met elkaar communiceren en berichten uitwisselen. Sequentiediagrammen helpen bij het begrijpen van de dynamische gedragingen en interacties binnen het systeem.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q
  1. Flashcard: Wat wordt getoond in een Toestandsdiagram?(state diagram)
A
  • Een Toestandsdiagram toont de verschillende toestanden waarin een object zich kan bevinden en de over

gangen tussen die toestanden. Het modelleert het gedrag van een object en de veranderingen in toestand op basis van bepaalde gebeurtenissen. Toestandsdiagrammen helpen bij het begrijpen van het gedrag en de levenscyclus van objecten in het systeem.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q
  1. Flashcard: Wat zijn gebruikersvereisten?
A
  • Gebruikersvereisten zijn de verwachtingen en behoeften van de gebruikers met betrekking tot het nieuwe systeem. Ze omvatten het begrijpen van de huidige bedrijfsvoering, het identificeren van problemen met het bestaande systeem en het verzamelen van gebruikersverwachtingen voor het nieuwe systeem. Gebruikersvereisten helpen bij het vaststellen van de functionaliteiten en doelstellingen van het systeem.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q
  1. Flashcard: Wat zijn functionele vereisten?
A
  • Functionele vereisten beschrijven wat het systeem moet doen. Ze specificeren de functionaliteit en gedragingen die nodig zijn om aan de gebruikersvereisten te voldoen. Functionele vereisten zijn specifieke acties, taken of processen die het systeem moet uitvoeren.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q
  1. Flashcard: Wat zijn niet-functionele vereisten?
A
  • Niet-functionele vereisten definiëren hoe het systeem moet functioneren. Ze hebben betrekking op aspecten zoals gebruiksvriendelijkheid, prestaties, beveiliging, betrouwbaarheid en schaalbaarheid. Niet-functionele vereisten stellen kwalitatieve criteria vast waaraan het systeem moet voldoen.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q
  1. Flashcard: Wat zijn fact-finding technieken?
A
  • Fact-finding technieken zijn methoden die worden gebruikt om informatie te verzamelen en het systeemcontext te begrijpen. Ze omvatten het lezen van bedrijfs-/contextdocumenten, het afnemen van interviews met belanghebbenden, observaties van werkprocessen, documentmonstername en het uitvoeren van enquêtes/vragenlijsten. Deze technieken helpen bij het verkrijgen van de benodigde informatie voor systeemanalyse en -ontwerp.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

13 Flashcard: Wat wordt getoond in een Klassendiagram?

A

Een Klassendiagram geeft een overzicht van alle klassen en hun relaties. Het toont de structuur van het systeem met klassen, attributen en methoden.
Een klasse beschrijft objecten met vergelijkbare eigenschappen en gedrag.
Attributen/eigenschappen representeren gegevens die de klasse “weet” of “bezit”, terwijl methoden/gedrag beschrijven wat instanties van de klasse kunnen doen.
[Markdown diagram van een Klassendiagram hier plaatsen]

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

14 Flashcard: Wat wordt getoond in een Objectdiagram?

A

Een Objectdiagram representeert een mogelijk moment in de tijd waarin verschillende objecten van klassen geïnstantieerd zijn.
Objecten worden weergegeven met hun respectievelijke attribuutwaarden.
Objecten hebben geen gedrag/methoden.
[Markdown diagram van een Objectdiagram hier plaatsen]

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

15 Flashcard: Wat wordt getoond in een Klassendiagram met relaties?

A

Relaties representeren de verbindingen tussen objecten van dezelfde klasse of verschillende klassen.
Relaties hebben een naam, richting en multipliciteit die aangeven hoeveel objecten deel uitmaken van de relatie.
Relaties worden weergegeven in het Klassendiagram.
[Markdown diagram van een Klassendiagram met relaties hier plaatsen]

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

16 Flashcard: Wat is generalisatie in een Klassendiagram?

A

Generalisatie wordt gebruikt wanneer twee of meer klassen vergelijkbaar zijn, behalve voor enkele details.
Klassen die vergelijkbaar zijn, worden georganiseerd in een hiërarchie waarbij een algemene klasse (superklasse) wordt uitgebreid door meer specifieke klassen (subklassen).
[Markdown diagram van generalisatie in een Klassendiagram hier plaatsen]

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

17 Flashcard: Wat is aggregatie in een Klassendiagram?

A

Aggregatie is een “geheel-deel” relatie waarbij een klasse (geheel) andere klassen (delen) kan bevatten.
De delen kunnen bestaan zonder het geheel en kunnen ook deel uitmaken van andere geheel-objecten.
[Markdown diagram van aggregatie in een Klassendiagram hier plaatsen]

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

18 . Flashcard: Wat is het doel van object messaging?

A
  • Object messaging is de manier waarop objecten met elkaar communiceren door berichten naar elkaar te sturen.
    • Berichten worden gebruikt om gegevens op te vragen, gedrag te activeren of informatie door te geven aan andere objecten.
    • Object messaging helpt bij het realiseren van de interactie en samenwerking tussen objecten in een systeem.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q
  1. Flashcard: Wat is veerkracht in ontwerp?
A
  • Veerkracht verwijst naar het vermogen van een ontwerp om bestand te zijn tegen veranderingen en zich aan te passen aan nieuwe eisen en omstandigheden.
    • Een veerkrachtig systeem kan bepaalde delen gemakkelijk aanpassen zonder dat dit grote gevolgen heeft voor andere delen van het systeem.
    • Het ontwerp moet rekening houden met real-world requirements en in staat zijn om toekomstige veranderingen op te vangen.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q
  1. Flashcard: Wat is een collaboratie in softwaremodellering?
A
  • Een collaboratie is een groep objecten of klassen die samenwerken om functionaliteit of gedrag te implementeren.
    • Objecten in een collaboratie communiceren met elkaar door berichten te sturen en samen te werken om bepaalde taken uit te voeren.
    • Collaboraties helpen bij het modelleren van complexe gedragingen waarbij meerdere objecten betrokken zijn.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q
  1. Flashcard: Welke diagrammen worden gebruikt voor het modelleren van interacties?
A
  • Interacties kunnen worden gemodelleerd met behulp van verschillende UML-diagrammen, waaronder:
    - Sequence Diagram (Sequentiediagram): toont interacties tussen objecten in een tijdsgebonden volgorde.
    - Communication Diagram (Communicatiediagram): legt de nadruk op de deelnemende objecten en de berichten die ze uitwisselen.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q
  1. Flashcard: Wat is het verschil tussen analyse en ontwerp in softwaremodellering?
A
  • Analyse richt zich op het begrijpen van de requirements en het identificeren van probleemdomeinconcepten.
    • Ontwerp richt zich op het creëren van een oplossing voor de geïdentificeerde requirements.
    • Analyse beantwoordt de vraag “Wat moet het systeem doen?”, terwijl ontwerp zich richt op “Hoe moet het systeem worden geïmplementeerd?”.
23
Q
  1. Flashcard: Wat is het verschil tussen logisch en fysiek ontwerp?
A
  • Logisch ontwerp is platform- en programmeertaalonafhankelijk. Het richt zich op de architectuur, de structuur van subsystemen en de communicatie tussen subsystemen.
    • Fysiek ontwerp is gebaseerd op het daadwerkelijke platform en de programmeertaal. Het omvat de details van implementatie, zoals interacties tussen componenten en gebruikersinterfaceontwerp.
24
Q
  1. Flashcard: Wat is het verschil tussen systeemontwerp en detailontwerp?
A
  • Systeemontwerp omvat de architectuur van het systeem op een hoog abstractieniveau. Het richt zich op de structuur van subsystemen, verdeling op processoren en communicatie tussen subsystemen.
    -

Detailontwerp is een gedetailleerde uitwerking van het systeemontwerp op componentniveau. Het omvat beschrijvingen van inputs, outputs, procesbeschrijvingen en dataopslag.

25
Q
  1. Flashcard: Wat zijn trade-offs in ontwerp?
A
  • Trade-offs verwijzen naar het maken van keuzes tussen verschillende aspecten van het ontwerp.
    • Niet alle kwaliteitsattributen en eisen hebben dezelfde prioriteit, dus er moeten compromissen worden gesloten.
    • Trade-offs helpen bij het vinden van de beste balans tussen verschillende aspecten zoals functionaliteit, betrouwbaarheid, gebruiksvriendelijkheid en prestaties.
26
Q
  1. Flashcard: Welke kwaliteitsattributen worden vaak overwogen in ontwerp (volgens ISO 25010)?
A
  • Functionality (functionaliteit)
    • Reliability (betrouwbaarheid)
    • Usability (gebruiksvriendelijkheid)
    • Efficiency (efficiëntie)
    • Maintainability (onderhoudbaarheid)
    • Portability (draagbaarheid)
    • Compatibility (compatibiliteit)
    • Security (beveiliging)
27
Q

27 Flashcard: Wat is een Entity-Relationship Diagram (ERD)?

A

Een Entity-Relationship Diagram is een grafische voorstelling van entiteiten, attributen en relaties tussen entiteiten in een database.
Entiteiten worden weergegeven als rechthoeken, attributen als ellipsen en relaties als ruiten.
Het ERD helpt bij het visualiseren en begrijpen van de structuur en relaties van gegevens in een database.

28
Q

28 Flashcard: Wat is normalisatie in het kader van databaseontwerp?

A

Normalisatie is het proces van het organiseren en structureren van gegevens in een database om redundantie en anomalieën te verminderen.
Het volgt een set regels, bekend als normalisatievormen, om gegevens efficiënt en consistent op te slaan.
Normalisatie zorgt voor een goede gegevensstructuur en helpt bij het voorkomen van update-anomalieën en inconsistenties.

29
Q

29 Flashcard: Wat is een logische gegevensstructuur (LGS)?

A

Een logische gegevensstructuur is een notatie die wordt gebruikt om de structuur van entiteitstypen en attribuuttypen in een database weer te geven.
Entiteitstypen worden weergegeven met hoofdletters, attribuuttypen met kleine letters en sleutelattributen worden onderstreept.
De LGS helpt bij het documenteren en begrijpen van de gegevensstructuur van een database.

30
Q

30 Flashcard: Wat zijn beperkingen in databaseontwerp?

A

Beperkingen definiëren regels en restricties die van toepassing zijn op gegevens in een database.
Ze kunnen worden toegepast op attribuuttypen en entiteitstypen om de gegevensintegriteit en consistentie te waarborgen.
Voorbeelden van beperkingen zijn primaire sleutelbeperkingen, unieke beperkingen, vreemde sleutelbeperkingen en controlebeperkingen.

31
Q

31 Flashcard: Wat is een datawoordenboek (DD)?

A

Een datawoordenboek is een verzameling definities van entiteitstypen, attribuuttypen en beperkingen in een database.
Het fungeert als een referentiebron om de gegevensstructuur en regels in een database te begrijpen en interpreteren.
Het datawoordenboek biedt een gestandaardiseerde terminologie en beschrijving van de gegevenselementen.

32
Q

32 Flashcard: Wat zijn softwarepatronen?

A

Softwarepatronen zijn bewezen oplossingen voor veelvoorkomende problemen in een specifieke context binnen softwareontwikkeling.
Ze bieden richtlijnen, ontwerpprincipes en best practices om herbruikbare en onderhoudbare software te ontwikkelen.
Softwarepatronen omvatten onder andere architecturale patronen, ontwerppatronen en gedragspatronen.

33
Q

33 Flashcard: Wat is het verschil tussen logisch ontwerp en fysiek ontwerp?

A

Logisch ontwerp is gericht op het definiëren van de structuur en relaties tussen entiteiten en attributen in een database, onafhankelijk van een specifiek platform of programmeertaal.
Fysiek ontwerp richt zich op het implementeren van het logische ontwerp op een specifiek platform en met een specifieke programmeertaal.
Fysiek ontwerp omvat details zoals het specificeren van datatypes, indexering en optimalisatie van query’s.

34
Q

34 Flashcard: Wat zijn de stappen van normalisatie?

A

Stap 1: Identificeer entiteitstypen.
Stap 2: Bepaal attribuuttypen.
Stap 3: Definieer relatietypen.
Stap 4: Elimineer overbodige informatie.
Stap 5: Organiseer en structureer entiteitstypen en relaties.
Deze stappen helpen bij het creëren van een goed gestructureerde en efficiënte gegevensstructuur.

35
Q

35 Flashcard: Wat is veerkracht (resilience) van ontwerp?

A

Veerkracht verwijst naar het vermogen van een ontwerp om bestand te zijn tegen veranderingen en verstoringen.
Een veerkrachtig ontwerp kan zich aanpassen aan nieuwe eisen en omstandigheden zonder dat het hele systeem moet worden herbouwd.
Veerkrachtig ontwerp bevordert onderhoudbaarheid en flexibiliteit.

36
Q
  1. Flashcard: Wat zijn implementatiediagrammen?
A
  • Implementatiediagrammen worden gebruikt om afhankelijkheden tussen componenten en de fysieke inzet van software op hardware weer te geven.
    • Componentdiagrammen visualiseren de structuur van een systeem met componenten en hun relaties.
    • Deploymentdiagrammen modelleren de inzet van componenten op hardwarenodes.
37
Q
  1. Flashcard: Wat is een componentdiagram?
A
  • Een componentdiagram toont de structuur van een systeem door middel van componenten en hun relaties.
    • Componenten worden weergegeven als rechthoeken met het componenticoon.
    • Afhankelijkheden tussen componenten worden weergegeven als stippellijnen.
    • Interfaces kunnen worden aangegeven als provided (aanbieden) of required (gebruiken).
38
Q
  1. Flashcard: Wat is een deploymentdiagram?
A
  • Een deploymentdiagram illustreert de fysieke inzet van componenten op hardwarenodes.
    • Het geeft weer welke softwarecomponenten op elke node worden uitgevoerd en hoe ze met elkaar zijn verbonden.
    • Deploymentdiagrammen worden vaak gebruikt om de inzet van servers, applicatieservers en databaseservers te modelleren.
39
Q
  1. Flashcard: Wat is test-driven development (TDD)?
A
  • Test-driven development is een ontwikkelmethode waarbij tests worden geschreven voordat de code wordt geïmplementeerd.
    • Het omvat het iteratief schrijven van tests, het implementeren van code om aan de tests te voldoen en het herhalen van deze cyclus.
    • TDD bevordert een betere focus op requirements, minimaliseert overbodige functionaliteit en verhoogt de ontwikkelingsefficiëntie.
40
Q
  1. Flashcard: Wat is dataconversie?
A
  • Dataconversie is het proces van het verzamelen van gegevens uit handmatige systemen en het converteren ervan naar een standaardformaat.
    • Het omvat het opsporen van onvolledige gegevens, het verbinden van kosten aan gegevensinvoer en het valideren van geïmporteerde gegevens.
41
Q
  1. Flashcard: Wat is gebruikersdocumentatie en training?
A
  • Gebruikersdocumentatie omvat handleidingen en trainingsmaterialen voor gebruikers van een systeem.
    • Training moet praktisch zijn en aansluiten bij de taken die gebruikers zullen uitvoeren.
    • Computergebaseerde training kan “just-in-time” training bieden wanneer gebruikers het nodig hebben.
    • Follow-uptraining en ondersteuning helpen ervoor te zorgen dat gebruikers het systeem effectief kunnen gebruiken.
42
Q
  1. Flashcard: Wat zijn implementatiestrategieën?
A
  • Een pilotproject is een implementatiestrategie waarbij het systeem wordt getest op één afdeling of locatie voordat het breed wordt uitgerold.
    • Beoordeling na implementatie omvat het evalueren van het systeem, het project en het plannen van onderhoud en verbeteringen.
    • Onderhoud is noodzakelijk om bugs op te lossen, verbeteringen door te voeren
43
Q

43 Voordelen van Test-driven Development (TDD) flashcards:

A
  1. Betere codekwaliteit:
    • TDD stimuleert het schrijven van modulaire en goed gestructureerde code.
    • Door tests eerst te schrijven, dwingt TDD ontwikkelaars om na te denken over de gewenste functionaliteit en de beste manier om deze te implementeren.
    • Dit resulteert in beter leesbare, onderhoudbare en robuuste code.
  2. Hogere softwarekwaliteit:
    • TDD zorgt voor een hogere softwarekwaliteit doordat het ontwikkelproces gebaseerd is op continu testen en verifiëren van de code.
    • Fouten en bugs worden vroegtijdig ontdekt, waardoor ze gemakkelijker kunnen worden opgelost en de kans op regressiefouten wordt verminderd.
  3. Snellere ontwikkeling:
    • Hoewel het schrijven van tests initieel meer tijd kost, kan TDD uiteindelijk leiden tot snellere ontwikkeling.
    • Tests dienen als een vangnet voor het detecteren van fouten, waardoor ontwikkelaars minder tijd besteden aan het opsporen en debuggen van problemen.
  4. Hogere onderhoudbaarheid:
    • TDD bevordert het schrijven van modulaire en goed georganiseerde code, waardoor het gemakkelijker wordt om wijzigingen aan te brengen en nieuwe functionaliteiten toe te voegen.
    • De tests fungeren als een veiligheidsnet om ervoor te zorgen dat bestaande functionaliteit niet wordt aangetast tijdens het onderhoudsproces.
  5. Beter begrip van requirements:
    • TDD dwingt ontwikkelaars om nauwkeurig na te denken over de gewenste functionaliteit voordat ze de code implementeren.
    • Door tests eerst te schrijven, worden de requirements gedetailleerder gespecificeerd en ontstaat er een duidelijker beeld van wat er moet worden bereikt.
44
Q

44 Nadelen van Test-driven Development (TDD) flashcards:

A
  1. Leercurve:
    • Het aanleren van de TDD-aanpak en het schrijven van effectieve tests vereist een zekere mate van training en ervaring.
    • Ontwikkelaars moeten wennen aan het schrijven van tests vóór de eigenlijke code-implementatie, wat aanvankelijk uitdagend kan zijn.
  2. Tijdsinvestering:
    • Het schrijven van tests vóór de code-implementatie kan extra tijd en inspanning vergen.
    • Dit kan resulteren in een initiële vertraging in het ontwikkelproces, vooral bij complexe projecten met uitgebreide functionaliteit.
  3. Complexiteit van tests:
    • Het schrijven van tests die de gewenste functionaliteit adequaat dekken, kan complex zijn, vooral bij systemen met complexe interacties en afhankelijkheden.
    • Het ontwerpen en onderhouden van uitgebreide testcases kan een uitdaging vormen en extra complexiteit met zich meebrengen.
  4. Afhankelijkheid van tests:
    • Bij TDD is de code nauw verbonden met de tests.
    • Als de

tests niet adequaat zijn ontworpen of niet worden onderhouden, kan dit leiden tot problemen bij het wijzigen of uitbreiden van de codebase.

  1. Niet geschikt voor elke situatie:
    • Hoewel TDD veel voordelen biedt, is het niet altijd de meest geschikte aanpak voor alle projecten en ontwikkelscenario’s.
    • Bij sommige projecten met een zeer korte doorlooptijd of bij het verkennen van nieuwe technologieën kan een andere ontwikkelmethode meer geschikt zijn.
45
Q
  1. Creational Patterns:
A
  • Singleton: Zorgt voor slechts één instantie van een klasse en biedt wereldwijde toegang.
  • Factory Method: Definieert een interface voor het maken van objecten, laat subclasses beslissen welk type object ze willen instantiëren.
  • Abstract Factory: Biedt interface voor het maken van families van gerelateerde objecten zonder concrete klassen te specificeren.
46
Q
  1. Structural Patterns:
A
  • Adapter: Zet de interface van een klasse om naar een andere interface waar een client op wacht.
  • Decorator: Voegt dynamisch extra functionaliteit toe aan een object door het in te pakken met een decorator-klasse.
  • Composite: Stelt objecten in staat om gegroepeerd te worden in boomstructuren en op uniforme wijze te worden behandeld.
47
Q
  1. Behavioral Patterns:
A
  • Observer: Definieert een one-to-many relatie tussen objecten, waarbij een wijziging in het ene object automatisch leidt tot updates in andere objecten.
  • Strategy: Definieert een familie van algoritmen en laat de klant bepalen welk algoritme moet worden gebruikt.
  • Command: Wikkelt een verzoek als een object, waardoor opdrachten kunnen worden gepland, uitgesteld of ongedaan gemaakt.
48
Q

48 State Machine (Toestandsmachine):

A
  • Doel: Modelleert de gedragsveranderingen van een object in de tijd.
  • Procesmodel: Beschrijft de potentiële toestanden van een object en de toegestane overgangen.
  • Aandachtspunten: Gebruik attributen om de status van een object vast te leggen, vermijd activiteiten in toestandsnamen.
49
Q

49 Toestandsdiagram (State Transition Diagram):

A
  • Grafische representatie van een state machine.
  • Toont toestanden als rechthoeken en overgangen als gerichte pijlen.
  • Gebeurtenissen activeren de overgangen, kunnen guards en actions bevatten.
50
Q

50 Object Toestandsdiagram (Object State Diagram):

A
  • Richt zich op een specifiek object en toont de toestanden en overgangen.
  • Instantie van de toestandsmachine voor dat specifieke object.

Benaderingen voor het maken van een toestandsdiagram:
1. Levenscyclusbenadering: Onderzoek levenscyclus, bepaal toestanden en triggers.
2. Gedragsbenadering: Onderzoek gedrag, identificeer activiteiten en toestanden.

51
Q

51 Software Patterns:

A
  • Bewezen oplossingen voor veelvoorkomende problemen in een bepaalde context.
  • Verbeteren onderhoudbaarheid, uitbreidbaarheid en overdraagbaarheid.
  • Verminderen code duplicatie, verbeteren modulariteit en bevorderen herbruikbaarheid.
52
Q

52 GoF Design Patterns:

A
  • Catalogus van 23 design patterns (creational, structural, behavioral).
  • Verbeteren kwaliteit en flexibiliteit van software.
53
Q

53 Implementatie van patterns:

A
  • Lees, bestudeer de structuur en bekijk voorbeeldcode.
  • Pas het pattern consistent toe in je eigen project.