#1 System Development H1 + 2 Flashcards
softwareproces
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
wat valt er onder umbrella activities
risk management
projectmanagement
configuratiemanagement
kwaliteitsmanagement
waterval procesmodel
voeren elke fase maar één keer uit
iteratieve modellen
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.
hoofdfasen van een softwareproject
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.
planning
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)
requirements analysis [engineering]
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
software design
ontwerpen hoe de functionaliteit en de data gebouwd moeten worden (interne structuur)
resultaat: programma- en datastructuur
wat zijn de 2 belangrijkste niveaus van softwareontwerp
softwarearchitectuur en gedetailleerd ontwerp
software architectuur
Software-architectuur specificeert hoe de software wordt opgedeeld in subsystemen of modules en de software-interfaces daartussen.
implementation
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
testing
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)
wat is het doel van een bètatest
Het doel is om een reeks problemen aan het licht te brengen die alleen kunnen worden ontdekt met dit soort “echte” tests.
acceptatietest
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.
maintenance
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.