Software analysis Flashcards
Wat is een use case?
Een use case omvat alle mogelijke manieren waarop een systeem gebruikt kan worden om een bepaald doel voor een bepaalde gebruiker te bereiken.
Welke verschillende actoren kan een use case bevatten?
- Primary Actor
- Supporting Actor
- Stakeholders
Wat is de rol van de primary actor in een use case?
Het is de actor die het verhaal (de use case) zal starten en dus als doel heeft de functionaliteit te verwezenlijken.
Wat is de rol van de supporting actor in een use case?
Actor die door de primary actor gebruikt wordt ter ondersteuning. Vaak heeft de primary actor de supporting actor nodig om zijn doel te bereiken.
Wat is de rol van de stakeholders in een use case?
Willen hetzelfde doel bereiken als de primary actor, maar nemen niet actief deel aan de use case.
Welke zaken vinden we terug op de use case template?
- Use case naam
- Primary actor
- Stakeholders
- Precondities
- Postcondities
- Normaal verloop
- Alternatief verloop
- Domeinregels
Wat zijn de precondities op een use case?
Zaken die, meestal door het systeem, vervuld moeten zijn alvorens het verhaal kan starten.
Wat zijn de postcondities op een use case?
Die vermelde alle zaken die door het systeem uitgevoerd moeten zijn eens het normale verloop werd uitgevoerd.
Wat is het normale verloop op een use case?
Het verhaal dat in bijna alle gevallen kan gevolgd kan worden om het doel te bereiken.
Wat is een alternatief verloop op een use case?
Het verloop dat we volgen indien we in bepaalde stappen toch afwijken van het normale verloop.
Wat kan een gebruiker doen na een alternatief verloop?
- Het normaal verloop verder volgen.
- Een ander alternatief verloop activeren.
- Use case stop zetten indien het doel niet meer bereikt kan worden.
Wat zijn de domeinregels op een use case?
Regels waaraan de validatie van verschillende stappen of gegevens moeten voldoen.
Wat zijn de voordelen van use cases?
- Use cases modelleren de functionele vereisten.
- Ze zorgen voor een eenheid van planning (identificeren, ontwikkeltijd inschatten en verdelen in iteraties)
- Ze vormen de basis voor de functionele testen
- Ze vormen de basis voor het verdere ontwerp
Wat is het Use Case Diagram?
Een diagram waar een overzicht van alle functionaliteiten die in het systeem aanwezig moeten zijn neergeschets worden.
Wat moet een use case bevatten?
Alle rollen die een interactie met het systeem hebben.
Deze rollen komen later overeen met de primary actors in de use cases
Wat is extra belangrijk in dit diagram?
Communicatie en verstaanbaarheid.
Diagram wordt opgeleverd aan de klant.
Wat verstaan we onder “includes” op een UCD?
Dat is de functionaliteit waarbij een verhaal, tijdens het doorlopen van het normaal verloop, steeds nood heeft aan een ander verhaal, dan modelleren we dit als “includes”.
Wat verstaan we onder “extends” op een UCD?
Als we tijdens het uitvoeren van het alternatief verloop nood hebben aan een extra use case dan modelleren we dit al “extends”.
Wat is een Activity diagram?
Activiteiten diagram geeft een overzicht van de activiteiten die uitgevoerd worden tijdens het uitvoeren van een bepaalde functionaliteit. Het is dus een grafische weergave van een use case.
Welke bouwstenen kan een activeiten diagram bevatten, en leg ze uit?
- Initial node: startknop van het programma
- Activity: is een elementaire stap uit het normale of alternatieve verloop
- Decision node: Knoop die je gebruikt om beslissingwegen te modelleren. Al het verkeer voor de beslissing loopt naar een knoop vandaar uit vertrekken dan alle mogelijke beslissingen (een weg per beslissing)
- Merge node: Knoop die je gebruikt om verschillende wegen samen te bundelen en verder te gaan als een weg
- Control flow: Alle activiteiten in het schema worden in een chronologische volgorde verbonden met elkaar
- Activity final node: de eindknoop. Kan zowel bij een normaal verloop als een alternatief verloop (indien de use case stopt) voorkomen. Je vermeldt hier steeds welk postconditie voldaan werd.
Waar houdt de software analyse zich vooral mee bezig?
Met de analyse naar ontwerp en programmeren.
Wat is het doel van Software Analyse?
Complexe IT-behoeften en vragen kritisch te kunnen analyseren, gestructureerd weergeven en adequaat en tailored advies geven aan de organisaties.
Wat omvat een kwaliteitsvol ICT-project?
- Binnen de scope (juiste features en functionaliteiten)
- Binnen het voorgestelde tijdschema
- Binnen het vooropgestelde budget
- Met de vereiste kwaliteit
Hoe bereiken we een kwaliteitsvol ICT-project?
Door correct te luisteren en te communiceren met alle stakeholders. (user, klant, opdrachtgever, collega’s)
Wat is een software-ontwikkelingsproces?
Een methode om de activiteiten in verband met creatie, oplevering en onderhoud van softwaresystemen te organiseren.
Hoe verloopt een software-ontwikkelingsproces?
- Requirements verzamelen door te luisteren naar de opdrachtgever
- Requirements analyseren
- Plan/ontwerp opstellen
- Plan/ontwerp uitwerken (implementeren)
- Test en controleren
- Indien nodig integreren van het uitgewerkte resultaat
Welke rollen bevat een team dat een project zal uitwerken?
- Analist
- Ontwerper
- Programmeur
- Tester
- Projectleider
Wat is de taak van een analist binnen het Software ontwikkelingsproces?
Vertaal de requirements naar de ontwerper.
Wat is het belangrijkste communicatiemiddel voor een analist?
Het domeinmodel
Wat is de taak van een ontwerper binnen het Software ontwikkelingsproces?
Een ontwerper vertaal de niet technische stukken naar technischere/diepgaande documenten om door te geven aan de programmeur.
Wat is het belangrijkste communicatiemiddel voor een ontwerper?
Systeem sequentie Diagram met operation contracts.
Wat is de taak van een programmeur binnen het Software ontwikkelingsproces?
Vertaald de documenten van de analist en ontwerper naar duidelijk code die het gewenste product opleverd.
Wat is de taak van een tester binnen het Software ontwikkelingsproces?
Verantwoordelijk voor het opsporen van alle mogelijke fouten die kunnen optreden bij het uitvoeren van een programma
Wat is het belangrijkste communicatiemiddel voor een tester?
Activity Diagram
Wat is de taak van een tester binnen het Software ontwikkelingsproces?
Leidt het project, neem beslissingen (moet het project nog doorgaan), verzorgd communicatie (zowel naar project-team als klant/management)
Welke verschillende manieren bestaan er voor een software ontwikkelingsproces?
- Waterval-methode
- Agile-methode
Beschrijf de waterval-methode
Elke fase wordt stap voor stap uitgevoerd. Er is dus geen stap terug nadat een fase werdt uitgevoerd.
Wat is het grote nadeel van de waterval-methode?
Er is weinig tot geen communicatie met de klant.
Wanneer kan een Waterval-methode wel werken?
Voor kleinere projecten tot 3 maanden lang
Wat is het grote voordeel van de Agile-methode?
De methode zorgt voor een lager projectrisico. Door te werken in iteraties beperkt men rapper de mogelijke risico’s.
Beschrijf kort de Agile-methode
De methode focust zich op vastleggen van kleinere onderdelen (iteraties) die elk enkele doelen hebben die bereikt dienen te worden. (milestones)
Wat zijn de 2 pijlers waarop de Agile methode steunt?
- Iteratief: Het project wordt opgesplitst in kleinere stukken (iteraties). Het grote voordeel hiervan is het snel ontvangen van feedback.
- Incrementeel: Stap voor stap worden nieuwe functionaliteiten toegevoegd aan het programma. Zo ziet de klant steeds vooruitgang en blijft er ook steeds een werkend programma.