#1 System Development H1 + 2 Flashcards

1
Q

softwareproces

A

Een softwareproces beschrijft de verbanden tussen fasen, de volgorde, frequentie en op te leveren producten.

Het specificeert ook criteria voor het overstappen van de ene fase naar de volgende.

software proces models/ life cycle models

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

wat valt er onder umbrella activities

A

risk management
projectmanagement
configuratiemanagement
kwaliteitsmanagement

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

waterval procesmodel

A

voeren elke fase maar één keer uit

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

iteratieve modellen

A

worden meerdere keren doorlopen

Een iteratief proces kenmerkt zich door het geheel of gedeeltelijk herhaaldelijk uitvoeren van de watervalfasen, resulterend in een verfijning van de eisen, het ontwerp en de implementatie.

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

hoofdfasen van een softwareproject

A

I. Inception
Softwareproduct is bedacht en gedefinieerd.
2. Planning
Initiële planning, middelen en kosten worden bepaald.
3. Requirements Analysis
Specificeer wat de applicatie moet doen; antwoordt “wat?”
4. Design
Specificeer de onderdelen en hoe ze passen; antwoordt “hoe?”
5. Implementation
Schrijf de code.
6. Testing
Voer de applicatie uit met invoertestgegevens.
7. Maintenance
Herstel defecten en voeg mogelijkheden toe.

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

planning

A

het plan zal een ruwe schatting zijn; gedetailleerde info is niet beschikbaar.

  • Er wordt een projectplan ontwikkeld dat de activiteiten, werkitems, planning en middelen op hoog niveau identificeert.
  • omvang en kosten van het project begrijpen (haalbaarheid van een project bepalen)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

requirements analysis [engineering]

A

gedetailleerde informatie wordt verzameld over de wensen en behoeften van de klant en de problemen die de software moet oplossen.
- specifieke productfuncties en -kenmerken worden gedefinieerd, samen met vereisten zoals prestaties, betrouwbaarheid en bruikbaarheid. (klantinterviews en brainstormsessies)

Vereisten beschrijven wat de toepassing moet bereiken.

resultaat: high level en gedetailleerde requirements document

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

software design

A

ontwerpen hoe de functionaliteit en de data gebouwd moeten worden (interne structuur)

resultaat: programma- en datastructuur

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

wat zijn de 2 belangrijkste niveaus van softwareontwerp

A

softwarearchitectuur en gedetailleerd ontwerp

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

software architectuur

A

Software-architectuur specificeert hoe de software wordt opgedeeld in subsystemen of modules en de software-interfaces daartussen.

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

implementation

A

Deze fase bestaat uit programmeren, dat is het vertalen van het in de vorige fase ontwikkelde softwareontwerp naar een programmeertaal.

resultaat: programmacode die klaar is om getest te worden

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

testing

A

getest op juistheid. Er wordt op drie niveaus getest.

  • Eerst worden individuele modules getest door ontwikkelaars.
  • Ten tweede worden modules geïntegreerd en getest om ervoor te zorgen dat ze goed samenwerken.
  • Ten derde, zodra alle modules zijn geïntegreerd, wordt het hele systeem getest om er zeker van te zijn dat het voldoet aan de gebruikersvereisten.

resultaat: internal of external release

Nadat de systeemtests zijn voltooid -> klanttests (bètatest) -> acceptatietest (soms vooraf aan bètatest)

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

wat is het doel van een bètatest

A

Het doel is om een ​​reeks problemen aan het licht te brengen die alleen kunnen worden ontdekt met dit soort “echte” tests.

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

acceptatietest

A

Acceptatietests bestaan ​​uit een subset van systeemtests, en worden uitgevoerd door de klant of een vertegenwoordiger van de klant om ervoor te zorgen dat het voldoet aan de criteria van de klant voor vrijgave.

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

maintenance

A

Nadat de software officieel is vrijgegeven aan klanten, begint de onderhoudsfase. Tijdens onderhoud worden er wijzigingen aan de software aangebracht die op een van de volgende manieren ontstaan:
o Het repareren van softwarefouten die worden ontdekt tijdens normaal gebruik van het systeem door de klant
o Verzoeken van klanten om verbeteringen
o Een wens om kenmerken van het systeem, zoals prestaties of betrouwbaarheid, te verbeteren

Aanpassingen aan de software worden gebundeld -> nieuwe versies van de software met deze aanpassingen worden uitgebracht.

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

The waterfall Process Model [royce]

A

De uitvoer van de ene fase wordt gebruikt als invoer voor de volgende, wat inhoudt dat een fase niet wordt gestart voordat de vorige is voltooid. Bij watervalprocessen wordt aangenomen dat er een kleine overlap is tussen aangrenzende fasen. Sommige personeelsleden zullen bijvoorbeeld het laatste deel van de requirements analysis uitvoeren, terwijl anderen al met de ontwerpfase zijn begonnen.

Het watervalproces wordt gekenmerkt door documenten die worden gegenereerd op het moment dat elke fase is voltooid. [eisenspecificatie en ontwerpspecificatie]
Ook zijn er gewoonlijk ingangs- en uitgangscriteria tussen fasen om ervoor te zorgen dat een fase met succes wordt voltooid voordat verder wordt gegaan.

17
Q

een iteratieve relatie tussen opeenvolgende fasen is onvermijdelijk. in welke fasen komt dit voornamelijk terug?

A

er kan een lus ontstaan tussen eisen en ontwerp & onderhoud en testen.

18
Q

wat is een algemene richtlijn binnen het watervalkader?

A

feedbackloops moeten beperkt blijven tot aangrenzende fasen. Dit minimaliseert potentieel dure herbewerkingen als de feedback meerdere fasen zou omvatten.

Defecten worden door klanten ontdekt nadat de software is vrijgegeven.

19
Q

voordelen waterval proces

A

o Eenvoudig en gemakkelijk te gebruiken: Fasen worden serieel uitgevoerd en voltooid, met specifieke ingangs- en uitgangscriteria voor het verplaatsen tussen fasen. Het ordelijk uitvoeren van fasen is gemakkelijk te begrijpen.

o Wordt al vele jaren beoefend en mensen hebben er veel ervaring mee: het proces is goed begrepen en veel mensen zijn tevreden met de uitvoering ervan.

o Eenvoudig te beheren door de rigiditeit van het model: Elke fase heeft specifieke deliverables en een beoordelingsproces.

o Werkt goed voor kleinere projecten waar de vereisten goed worden begrepen

20
Q

nadelen waterval proces

A

o Eisen moeten vooraf bekend zijn: Het is moeilijk om vooraf elk detail voor te stellen. De meeste projecten beginnen met enige onzekerheid en naarmate het project vordert, komen er meer details naar voren.

o Geen feedback van systeem door stakeholders tot na testfase: Het proces faciliteert geen tussenversies. Belanghebbenden hebben vaak behoefte aan geruststelling over de voortgang en bevestiging dat wat wordt ontwikkeld aan de vereisten voldoet.

o Grote problemen met het systeem worden pas laat in het proces ontdekt: in de testfase worden deze problemen gevonden, maar er is weinig tijd voor correctie, wat kan leiden tot mogelijk rampzalige gevolgen voor de projectplanning en de kosten.

o Inefficiënt gebruik van middelen: teamleden kunnen inactief zijn terwijl ze wachten tot anderen hun afhankelijke taken of fasen voltooien. Ook is iemand die goed is in requirementsanalyse niet per se goed in programmeren.

21
Q

incrementele ontwikkeling

A

“een plannings- en ensceneringsstrategie waarmee delen van het systeem op verschillende tijdstippen of snelheden kunnen worden ontwikkeld en geïntegreerd wanneer ze zijn voltooid.” Dit houdt in dat iteraties niet serieel hoeven te worden uitgevoerd, maar parallel kunnen worden ontwikkeld door afzonderlijke teams van mensen.

22
Q

wat zijn verschillende soorten releases

A

o Een proof of concept, of haalbaarheidsstudie, die wordt gebruikt om de haalbaarheid van een bepaald aspect van de software aan te tonen of te onderzoeken. Denk hierbij aan het maken van software of simulaties.

o Een prototype dat een werkende versie van software is die een bepaald vermogen demonstreert dat als een hoog risico wordt beschouwd.

o Een “interne” release die alleen wordt gebruikt door het ontwikkelteam en wordt gebruikt om ervoor te zorgen dat de ontwikkeling op schema ligt, feedback te krijgen en een basis te bieden voor verdere ontwikkeling en aanvullende mogelijkheden.

o Een “externe” release die ter evaluatie naar klanten wordt verzonden.

23
Q

voordelen iteratief proces

A
  • duidelijke en beheersbare doelen worden gesteld en de algehele projectcomplexiteit wordt verminderd door het op te splitsen in kleinere stukken.
  • algehele projectrisiconiveau wordt verlaagd

Door aan het einde van elke iteratie werkende software te produceren, kan de projectvoortgang gemakkelijker worden gevolgd en gepland, en kan feedback worden uitgelokt om ervoor te zorgen dat de mogelijkheden voldoen aan de vereisten van belanghebbenden.

24
Q

agile processen waarderen…

A

. . . individuen en interacties boven processen en tools

. . . werkende software boven uitgebreide documentatie

. . . samenwerking met de klant boven contractonderhandeling

. . . reageren op verandering boven het volgen van een plan

25
Q

agile processen zijn zeer incrementeel en iteratief.

noem een paar kenmerken.

A

o Kleine, hechte teams
o Regelmatige, frequente, gedisciplineerde vergaderingen met klantvereisten
o Een codegerichte benadering, documentatie op basis van behoefte (bijv. vereisten op hoog niveau)
alleen verklaringen)
o Klantvertegenwoordigers die binnen het team werken
o Het gebruik van user stories als basis voor requirements-end-to-end accounts van hoe gebruikers moeten individuele taken uitvoeren
o Pair programming, waarbij twee programmeurs op één werkstation werken

26
Q

voordelen van een agile proces

A

o Het project heeft altijd aantoonbare resultaten: Het eindproduct van elke iteratie is werkende software.

o Ontwikkelaars zijn over het algemeen meer gemotiveerd: ontwikkelaars geven er de voorkeur aan om werkende artefacten te produceren en hebben de neiging om dit niet te doen
zoals het maken van documentatie.

o Klanten kunnen betere eisen stellen omdat ze het evoluerende product kunnen zien.

27
Q

nadelen agile proces

A

o Problematisch voor grote applicaties: Agile methoden worden gemakkelijker gebruikt voor kleinere projecten. Er is debat over hun nut voor grote projecten.

o Documentatie-output is twijfelachtig: aangezien documentatie op de tweede plaats komt, is er een vraag als: of de benodigde documentatie ooit zal worden geproduceerd.

28
Q

overzicht system development

A
planning: businessanalyse
requirements analysis: requirements engineering/ data modelling
design
implementation: programming
testing
maintenance: beheer

businessanalyse: BPMN, RCA, SHA
planning: projectplan
requirements engineering: functies en kwaliteit software
data modellering: datamodel
design: ontwerp obv reqs & datamodel
programming: programmacode obv ontwerp
testen: bewijs dat programma werkt volgens Reqs & datamodel
beheer: operationeel onderhoud