tentamen Flashcards

(64 cards)

1
Q

Wat zijn de kenmerken van RUP?

A
Iteratief en incrementeel
Use Case driven
Stem voor stakeholders
Architectuur centraal
Risico's aanvallen
Aanpasbaar/op maat
Focus op kwaliteit
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Wat zijn de fasen van RUP?

A

Inception - inhoud, scope, risico’s, planning
Elaboration - Risico’s overwinnen, testen architectuur, UC’s uitwerken en PoC
Construction - Ontwerpen, bouwen, testen
Transition - Bugfixes, deployen, trainen en overdragen

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

Wat is de best practice Cockburn (use case opstellen)?

A

Schrijf iets leesbaars
Beschrijf top-down
Gebruik 3 tot 9 stappen per use case
Data en business rules benoemen maar elders beschrijven

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

Hoe pas je een standaard efficient toe?

A

Afstemmen op jouw situatie
Ondersteunen met templates en checklists
Voorkom blind volgen en dom invullen

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

Wat zijn de voor en nadelen van RUP?

A

Voordelen
Meer aandacht architectuur
Meer aandacht documentatie, overdraagbaarheid, testen en projectmanagement
Haalt risico’s naar voren

Nadelen
Wat documenteer je wel en nier
Risico’s op teveel proces

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

Wat is een SAD?

A

Software Architecture Document is een set van producten die een architectuur beschrijven
Het toont aan dat er aan de eisen en wensen van de stakeholders voldaan is

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

Wat is een view?

A

Een representatie van het gehele systeem, met oogpunt op de specifieke wensen van stakeholders (instantie)

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

Wat is een viewpoint?

A

Een patroon of generalisatie van een view (class)

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

Wat zijn de 4+1 RUP views?

A
Logical view
Implementation view
Use case view
Process view
Deployment view
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Wat zijn de 7 R&W viewpoints?

A
Context viewpoint
Functional viewpoint
Information viewpoint
Concurrency Viewpoint
Development viewpoint
Deployment viewpoint
Operational viewpoint
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Geef een korte omschrijving van de 4+1 RUP views.

A

Use case view zijn de key scenarios met use case diagrammen en use case omschrijvingen

Logical view omschrijft de functionaliteiten en gedrag van het systeem en beschrijft de layers en tiers

Implementation view beschrijft de organisatie van de software modules en de implementatie details (frameworks, packages, development environment, file structures, OS)

Deployment view beschrijft hoe de run-time entiteiten worden uitgevoerd, plus de hardware en netwerk configuratie, wijze van communicatie en de protocols

Process view laat het run-time gedrag van het systeem zien, plus de threads en processen, concurrency, scheduling, shared resources en de activity en sequence diagrammen

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

Wat zijn layers en tiers?

A

Layers verwijzen naar de logical structures, georganiseerd op het level van abstractie (presentatie, business, data, service)

Tiers verwijzen naar de physical structures, de splitsing van de layers over verschillende computers. (two tier, three tier, n tier)

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

Geef een korte omschrijving van de 7 R&W viewpoints.

A

Functional viewpoint omschrijft de functionaliteiten en gedrag van het systeem en beschrijft de layers en tiers

Concurrency viewpoint laat het run-time gedrag van het systeem zien, plus de threads en processen, concurrency, scheduling, shared resources en de activity en sequence diagrammen

Development viewpoint beschrijft de organisatie van de software modules en de implementatie details (frameworks, packages, development environment, file structures, OS)

Deployment viewpoint beschrijft hoe de run-time entiteiten worden uitgevoerd, plus de hardware en netwerk configuratie, wijze van communicatie en de protocols

Information viewpoint beschrijft de manier waarop de architectuur de data opslaat, manipuleert en beheerd (ERD, data ownership)

Operational viewpoint omschrijft hoe het systeem in gebruik kan worden genomen en kan worden geadministreerd en beheerd (installatie, migratie, monitoring, configuratie)

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

Wat zijn quality properties?

A

De niet-functionele kenmerken van het systeem (performance, efficiency, security, maintainability, availability, etc)

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

Wat zijn perspectives?

A

Collecties van patronen, templates en guidelines om te garanderen dat het systeem de juiste quality properties heeft (performance and scalability, security, availability and resilience, evolution)

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

Hoe beschrijf je een perspective?

A

Desired quality - definitie
Applicability to views - welke views hebben het meeste impact
Concerns
Activities - hoe voer je de perspective uit
Tactics - benadering of oplossing die je kunt gebruiken
Problems and pitfalls

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

Wat zijn architecturale tactics?

A

Een benadering of oplossing die je kunt gebruiken om een bepaalde quality property te bereiken

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

Wat zijn de concerns en tactics van performance and scalability?

A

Concerns
Processing volume, response time, responsiveness, throughput, predictability

Tactics
Optimize repeated processing, reduce contention via replication, prioritize processing, consolidate related workload, distribute processing over time, minimize the use of shared resources, partition and parallelize, use asynchronous processing, make design compromises

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

Wat zijn de concerns en tactics van security?

A

Concerns
Authentication, authorization, confidentiality, integrity, accountability, availability, intrusion detection, recovery

Tactics
Apply recognized security principles, authenticate the principles, authorize access, ensure information secrecy, ensure information integrity, vulnerability analysis, application of security technology

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

Wat zijn de concerns en tactics van availability and resilience?

A

Concerns
Classes of service, planned/unplanned downtime, MTBF, MTTR, disaster recovery, redundancy, clustering, failover

Tactics
Select fault-tolerant h/w, use h/w clustering and load balancing, log transactions, apply software availability solutions, select faul-tolerant software, identify backup and disaster recoveries solutions

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

Wat zijn de concerns en tactics van evolution?

A

Concerns
Magnitude of change, dimensions of change, likelihood of change, timescale for change, development complexity, preservation of knowledge, reliability of change

Tactics
Contain/encapsulate change, create flexible interfaces, apply change-oriented architectural styles, build variation points into the software, achieve reliable change, preserve development environments, achieve reliable change

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

Welke andere perspectives zijn er?

A

Accessibility - kan het systeem gebruikt worden door mensen met een handicap

Development resource - kan het systeem gebouwd worden binnen de limieten van tijd, personeel en budget

Internationalization - is het systeem onafhankelijk van taal, land en cultuur

Location - Zal het systeem op meerdere (geografische) locaties werken

Regulation - voldoet het systeem aan alle eisen

Usability - kan men het systeem effectief gebruiken

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

Welke levels van architectuur zijn er?

A
Enterprise
Application, product, system
Embedded system
Infrastructure
Platform
CPU
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Wat zijn de lagen van de enterprise architectuur?

A

Business, data, applications, technology

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Wat is een architectuur?
Een manier om te communiceren met stakeholders De beslissingen die je later niet makkelijk kunt veranderen De keuzes welke je project killen als ze fout gaan Non-functionele requirements
26
Wat is de ISO/ICE/IEEE omschrijving van een architectuur?
Fundamental concepts or properties of a system in its environment embodied in its elements, relationships and in the principles of its design and evolution De fundamentele organisatie van een systeem bestaande uit componenten met hun onderlinge en externe relaties en de principes die het ontwerp en de evolutie ervan sturen
27
Wat is de Simon Brown omschrijving van een architectuur?
Architecture is about structure and vision
28
Wat is de Grady Booch omschrijving van een architectuur?
Architecture represents the significant decisions that shape the system, where significance is measured by cost of change
29
Waarom is een architectuur nodig volgens Fowler?
Ontwikkelaars hebben een gezamenlijk begrip van het geheel (big picture) Architectuur is een sociaal construct Architectuur gaat over punten die ontwikkelaars vernemen als lastig te veranderen
30
Wat zijn de deugden die nodig zijn voor een software architectuur?
``` Artistic skill Analtytical skills Understanding of the domain Communicating skills Understanding the capabilities of the development organization ```
31
Waarom is een architectuur nodig?
``` Complexity besturen Duplicatie voorkomen Gezamenlijk begrip (big picture) Framework om requirements te evalueren Nadruk op systeem perspectives ```
32
Hoe betrek je de stakeholders er het beste bij?
Identificeer de stakeholders Bepaal de belangrijkheid van de stakeholders Bepaal de uitdaging van de stakeholders
33
Wat zijn de taken van een architect?
Onderzoek en beschrijf de huidige architectuur Ontwikkel en beschrijf de gewenste architectuur Maak gap analyse Maak migratieplan Maak schattingen Controleer uitvoering in projecten
34
Wat zijn principes?
Algemeen toepasbare regels, die zelden worden gewijzigd, die richting geven aan ontwerpen en helpen bij het maken van beslissingen
35
Welke architecturale patronen zijn er?
``` Layered (hierarchical) Data-flow Microkernel Event driven Micro-services Distributed Shared data VM MVC ```
36
Wat zijn architecturale patronen?
Meerdere samenhangende tactics, gerelateerd aan verschillende qualities Soms ook architecturale style genoemd Een applicatie gebruikt meer dan één patroon
37
Wat is domain driven design?
Een benadering van software development, met de focus op het modelleren van een business domain en definieren van objecten Het domain model bevat geen technische jargon
38
Wat is het layered patroon?
Meest gebruikte patroon Het opbreken van een applicatie in groepen van subtaken, elk met een eigen level van abstractie Elke layer voorziet de layer er boven met services en functioneert als een client voor de layers er onder Veranderingen kunnen in een layer worden aangebracht zonder effect te hebben op andere layers
39
Wat is het microkernel patroon?
Patroon met onafhankelijke plug-in modules en een basis core systeem Veel gebruikt door OS Typisch voor applicaties die meerdere versies moeten ondersteunen Drie layers - external servers, microkernel, internal servers
40
Wat is het event driven patroon?
Gerelateerd aan de OO-patronen broker en mediator Populair asynchrone architecturaal patroon dat bij groot verschaalbare applicaties wordt gebruikt Ontkoppelt source applicatie van target applicatie
41
Wat is een broker?
Een tussenpersoon
42
Wat is een message bus?
Applicaties communiceren met elkaar door berichten via een gezamenlijke bus te versturen Broadcast - verzenden naar alle subscribers List - verzenden naar ingeschreven subscribers
43
Wat is publish/subscribe?
Berichten worden alleen verstuurd naar applicaties die er in geïnteresseerd zijn
44
Wat is een requirement?
Eén enkele correcte zin die aangeeft waaraan het systeem moet voldoen Requirements moeten testbaar zijn
45
Waarom zijn requirements belangrijk?
Requirements zijn de basis voor het schatten van kosten, planning, architectuur, ontwerp, testen en acceptatie Fouten tijdens het requirements proces zijn de meest kostbare om te herstellen
46
Waarom is het specificeren van requirements moeilijk?
Een groot ict systeem is zeer complex Er zijn verschillende stakeholders met verschillende belangen Stakeholders hebben onbewuste verwachtingen die ze niet expliciet maken De uiteindelijke oplossing is moeilijk voor te stellen Verschil tussen nice-to-have en kritische functionaliteit is onduidelijk Veranderingen/toename van requirements in tijd
47
Welke drie typen requirements zijn er?
Functionele requirements - wat moet het systeem doen vanuit stakeholders/gebruikers gezien Niet-functionele requirements - voorwaarden aan de manier waarop functionaliteiten geleverd worden ( beschikbaarheid, robuustheid, security, performance, efficiency, schaalbaarheid, aanpasbaarheid, uitbreidbaarheid, gebruiksvriendelijkheid, eisen mbt onderhoud, look-and-feel, eisen tgv wetgeving) Constraints - Beperkingen met betrekking tot de oplossing of het ontwerp (beperkingen mbt tijd of budget, technische omgeving, beperkingen mbt mensen en organisatie)
48
Wat zijn de niveaus van de requirements?
User requirements | System requirements
49
Wat zijn business rules?
Algemene regels die acties, definities en beperkingen beschrijven die een organisatie vaststelt om zijn doelen te bereiken (geen requirements maar oganisatie-brede regels)
50
Wat is een use case?
Een set interacties met een gemeenschappelijk doel Alle use cases samen beschrijven de volledige functionaliteit van het systeem
51
Wat is een use case diagram?
Overzicht van alle actoren en use cases
52
Waar moet een goede requirement aan voldoen?
``` Is het volledig Is het consistent Is het realistisch Is het testbaar Is het noodzakelijk Is het helder ```
53
Wat is een goede begroting?
Een plan dat stakeholders voldoende betrouwbaar vinden om te gebruiken voor het nemen van beslissingen.
54
Waar moet een goede begroting aan voldoen?
Inzicht geven op potentiële risico's Een begroting is altijd een distributie, nooit een getal (min, verwacht, max) Het is nooit exact
55
Waarom is onderschatten non-lineaire?
Planningsfouten Vergroten team (duurder maar niet sneller klaar) Extra management attentie/overhead Stress (meer defects, lagere onderhoudbaarheid)
56
Waarom is overschatten lineaire?
Extra uren worden besteed
57
Welke typen begrotingen zijn er?
Expertbegroting - bottom-up, uren toekennen aan work items, kennis en ervaring (meestal optimistisch, gemiddeld 30% onderschatting) Methodische begroting - top-down, relevante productiviteitscijfers en geavanceerde begrotingstool
58
Wat is een functie[unt analyse (FPA)?
Uniforme methode om de aan de gebruiker geboden en door de gebruiker gevraagde hoeveelheid functionaliteiten van een informatiesysteem uit te drukken in een eenheid Analyse die alleen de functional user requirements meet ``` ILGV - interne logische gegevensverzameling KGV - koppelingsgegevensverzameling IF - invoerfuncties UF - uitvoerfuncties OF - opvraagfuncties ```
59
Wat zijn story points?
Arbitraire eenheid voor de omvang van een feature Relatieve omvangsmaat, meet de omvang van user stories ten opzichte van elkaar Deze zijn niet bruikbaar voor het begroten van een project maar wel voor het begroten van een sprint
60
Wat is testen?
Het vinden van fouten Vaststellen of iets werkt conform specificatie
61
Wat is het V-Model?
``` Wensen - Verwachtingen Requirements - Acceptatietest Functioneel ontwerp - Systeemtest Technisch ontwerp - Ontwikkeltest Realisatie ```
62
Welke testsoorten zijn er?
``` Ontwikkeltest (unit en integratie) Systeemtesten Acceptatietesten Performancetesten (load en stress) Securitytesten ```
63
Wat zijn white-box en black-box testen?
White-box is een methode waarmee de interne structuur en werking van een applicatie wordt getest Black-box is een methode waarmee de functionaliteit van een applicatie wordt getest
64
Wat is happy-flow?
De flow van een scenario waar alles gaat zoals verwacht wordt, niet voorbereid op uitzonderingen en errors