IT-org 2 (uitgebreidere versie van andere cards hier) Flashcards

1
Q

Wat is de Software Development Lifecycle (SDLC)?

A

De Software Development Lifecycle (SDLC) beschrijft de stappen die nodig zijn bij de ontwikkeling van software in elke fase. Het geeft aan welke fases je moet doorlopen voor het bouwen, implementeren en onderhouden van software.

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

Wat zijn de stappen in de planningfase van de SDLC?

A

Bepalen van de stappen
Zorgen voor de juiste resources
Projectplanning, inclusief tijdsduur
Kostenraming
Opstellen van een projectplan, plan van aanpak
Beantwoorden van W-vragen (Wie, Wat, Waar, Wanneer, Welke tools & infrastructuur)

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

Wat is de analysefase in de SDLC?

A

De analysefase omvat het duidelijk maken van de requirements, oftewel wat de software moet kunnen. Dit wordt gedaan door het bevragen van de klanten of eindgebruikers. De requirements worden vervolgens door de klant goedgekeurd om misverstanden te voorkomen. De analyse wordt genoteerd in een Software Requirements Specification (SRS), een template om alle functionele en niet-functionele vereisten van een product vast te leggen.

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

Wat zijn functionele vereisten in de context van softwareontwikkeling?

A

Functionele vereisten beschrijven het verwachte gedrag van het systeem en wat het systeem moet doen voor de gebruiker. Bijvoorbeeld: het kunnen raadplegen van de detailgegevens en prijs van een product in een webshop, het tonen van het calorieverbruik in een fitness-app, het bieden van de mogelijkheid om tickets te kopen voor een evenement in een ticketverkoopsysteem, of het halen van een maximale snelheid van 150 km/u voor een auto.

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

Wat zijn niet-functionele vereisten in de context van softwareontwikkeling?

A

Niet-functionele vereisten geven aan op welke manier het systeem moet werken, met verwachtingen met betrekking tot prestaties, schaalbaarheid, aantal gebruikers, backups, beveiliging/privacy en compatibiliteit. Bijvoorbeeld: binnen 30 seconden kunnen inloggen op een website, 500 gebruikers die tegelijkertijd kunnen inloggen zonder prestatieverlies, maximaal 5 seconden wachten op het printen van een document, of gebruikers in een agentschap die geen toegang hebben tot de productbeheersmodule.

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

Hoe worden requirements vaak geformuleerd?

A

Requirements kunnen worden geformuleerd via user stories.

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

Wat gebeurt er tijdens de designfase van de SDLC?

A

Het SRS vormt de basis voor de architecten om een ontwerp te maken. Het ontwerp wordt genoteerd in een Design Document Specification (DDS), dat een gedetailleerde beschrijving van het product of de software bevat. Dit omvat schermomschrijvingen, benodigde data of tabellen, technische metingen voor systeembeveiliging en prestaties, enzovoort. Bij agile werkwijzen kan het ontwerp gedurende het project gemakkelijk worden gewijzigd.

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

Wat gebeurt er tijdens de implementatiefase van de SDLC?

A

Het DDS vormt de basis voor de programmatie. Er kunnen ook coding guidelines zijn, zoals naamgeving van klassen, naamgeving van tests, codestructuur en aantal code reviewers. Er wordt gebruik gemaakt van ontwikkelomgevingen. Bij de watervalmethode gaat men aan het einde van de implementatiefase naar de testomgeving. Bij agile werkwijzen kan er aan het einde van elke sprint naar productie worden gegaan. Dit biedt direct voordeel voor de klant. In de praktijk gebeurt dit soms niet elke sprint, maar op afgesproken releasemomenten.

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

Waarom is testen na ontwikkeling een belangrijke fase in de SDLC?

A

Het testen is bedoeld om kwaliteit na te streven en te controleren of de requirements die zijn opgesteld in de analysefase worden nageleefd (SRS). Testscenario’s worden opgesteld. Testen omvat zowel functionele aspecten (werkt alles zoals verwacht) als technische aspecten (bijv. prestaties). Het testen moet worden uitgevoerd door verschillende mensen en vanuit verschillende invalshoeken. Testen is tijdsintensief en mag niet worden onderschat. Verschillende soorten testen kunnen worden uitgevoerd, afhankelijk van de omgeving.

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

Wat gebeurt er wanneer het product gereed is voor productie in de SDLC?

A

Alle requirements uit het SRS zijn geïmplementeerd en getest. Alle processen en integratie met andere toepassingen zijn getest. Het product kan “in productie” worden gezet of worden gereleased. Het wordt overgezet naar de productieomgeving. Soms wordt het product gefaseerd uitgerold, bijvoorbeeld eerst naar een kleinere doelgroep, om te testen of de implementatie goed werkt en feedback van eindgebruikers te verzamelen voordat het voor een groot publiek beschikbaar wordt gesteld. In de eerste garantieperiode wordt gratis support aangeboden. Er worden afspraken gemaakt met de klant over het onderhoud van het product, zoals een jaarlijks budget voor het oplossen van fouten en kleine aanpassingen, betaling per aanvraag of een budget voor het oplossen van bugs maar niet voor nieuwe functionaliteiten.

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

Welke omgevingen worden idealiter gebruikt tijdens de ontwikkeling (DTAP)?

A
  • Development, Test, Acceptatie en Productie.
  • Dit kan variëren afhankelijk van de organisatie, waarbij sommige alleen een subset van deze omgevingen gebruiken.
  • Een productieomgeving is altijd aanwezig, wat resulteert in een OTAP- of teststraatbenadering.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Wat is de rol van de Development-omgeving?

A
  • De Development-omgeving is waar ontwikkelaars werken aan de code en gebruikmaken van het hardware/softwareplatform en tools.
  • Het kan ook dienen voor eerste tests en/of reviews.
  • Deze omgeving is meestal nog instabiel omdat uitgebreide tests nog niet hebben plaatsgevonden.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Wat gebeurt er in de Test-omgeving?

A
  • Nadat de Development-omgeving is getest door ontwikkelaars, worden alle functionaliteiten ervan ‘gekopieerd’ naar de Test-omgeving.
  • De Test-omgeving is stabieler dan de Development-omgeving omdat unit tests al hebben plaatsgevonden.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Wat is de rol van de Acceptatie-omgeving?

A
  • Als alle noodzakelijke features op de Test-omgeving goed werken, wordt deze omgeving ‘gekopieerd’ naar de Acceptatie-omgeving.
  • Op de Acceptatie-omgeving geeft de klant zijn goedkeuring voor de gebouwde features.
  • De klant of een vertegenwoordiger voert testen uit op deze omgeving.
  • Deze omgeving is de laatste stap voordat het product toegankelijk is voor eindgebruikers.
  • De Acceptatie-omgeving is zo identiek mogelijk aan de Productie-omgeving om de productie zo goed mogelijk te simuleren.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Welke soorten testen kunnen worden uitgevoerd in de Acceptatie-omgeving?

A
  • Functionele testen om te controleren of de functionaliteiten werken zoals verwacht.
  • Piek- of stresstesten om te testen of het systeem bestand is tegen piekbelasting.
  • Monkey-proof testen om te testen of het systeem bestand is tegen ongeoorloofde en onjuiste handelingen.
  • Penetratietesten om de beveiliging te controleren door kwetsbaarheden uit te buiten.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Wat is de rol van de Productie-omgeving?

A
  • De Productie-omgeving is toegankelijk voor de eindgebruikers.
  • Wanneer de klant akkoord heeft gegeven op de Acceptatie-omgeving (door te testen), wordt het project op deze omgeving gezet.
17
Q

Wat doen system engineers in het beheer van deze ontwikkel-, test- en productieomgevingen?

A
  • Ze zetten de omgevingen op (on-premises of in de cloud).
  • Ze zorgen voor de overgang tussen de omgevingen (DTAP).
  • Ze beheren de toegangen tot de omgevingen.
  • Ze zorgen voor de infrastructuur voor application development.
  • Ze zorgen ervoor dat de infrastructuur voldoet aan de non-functionele vereisten.
  • Ze zorgen ervoor dat de applicatie kan draaien op de systemen.
  • Ze rollen de systemen uit en monitoren ze.
18
Q

Wat is DevOps en wat zijn de belangrijkste kenmerken ervan?

A
  • DevOps is een benadering waarbij er nauwe samenwerking is tussen ontwikkelteams (Dev) en teams die verantwoordelijk zijn voor het beheer van applicaties (Ops).
  • Het doel is om de ontwikkeling te verkorten en het onderhoud beter te beheersen.
  • Automatisering en monitoring spelen een grote rol in het hele ontwikkelproces, van softwarebouw en integratie tot testen, release en infrastructuurbeheer.
  • Het streeft naar zeer korte ontwikkelingscycli met frequente, betrouwbare opleveringen die aansluiten bij de doelstellingen van de business.
  • DevOps werkt goed samen met Agile/Scrum methodologieën.
19
Q

Welke tools worden vaak gebruikt in DevOps?

A

Voorbeelden van tools die vaak gebruikt worden in DevOps zijn Gitlab en Jenkins.

20
Q

Wat zijn Docker-containers en hoe dragen ze bij aan DevOps?

A
  • Docker vereenvoudigt de levering van applicaties met behulp van containers.
  • Containers bevatten alle benodigde pakketten en kunnen gemakkelijk worden getransporteerd en geïnstalleerd.
  • Ze zorgen voor een scheiding en beheer van bronnen op een computer, zoals code, runtime-modules en systeemtools.
21
Q

Wat is Kubernetes en hoe past het binnen DevOps?

A
  • Kubernetes is een systeem voor het beheren van grote groepen containers.
  • Het zorgt voor orkestratie, automatisatie en regelt de administratie, monitoring en communicatie tussen containers.
  • Het maakt het mogelijk om meerdere containers tegelijkertijd te draaien en aan te passen aan tijdelijke veranderingen in het gebruik.
22
Q

Wat zijn enkele voordelen van DevOps?

A
  • Het bevordert nauwe samenwerking tussen Development en Operations, waardoor silo’s worden vermeden.
  • Het verbetert de productiviteit van de IT-organisatie en vermindert fouten.
  • Het verkort de tijd die nodig is om software te ontwikkelen en op te leveren.
  • Het maakt het onderhoud van applicaties minder complex.
  • Het integreert beveiligingsdoelstellingen beter in het dagelijkse werk, waardoor de tijd die nodig is om beveiligingsproblemen op te lossen, wordt verminderd.
23
Q

Welke voordelen kunnen bedrijven behalen door DevOps te implementeren?

A
  • Bedrijven die DevOps volgen, kunnen meer producten en features in een kortere tijdsspanne releasen.
  • Voorbeelden hiervan zijn Amazon, waar deployments elke 10 seconden worden uitgevoerd, en Netflix, waar dagelijks duizenden productieveranderingen plaatsvinden voor miljoenen klanten.
24
Q

Hoe sluit DevOps aan bij de software development lifecycle en waarom is het belangrijk?

A
  • DevOps is ontstaan als een aanpak om wendbaar te reageren op de voortdurende aanpassingen van software, zoals vereist in het agile development model.
  • Het zorgt voor een nauwere samenwerking tussen ontwikkelaars en het operationele team dat verantwoordelijk is voor het uitrollen en monitoren van nieuwe toepassingen.
  • Door de samenwerking tussen ontwikkeling en infrastructuur te verbeteren, kunnen ontwikkelaars zich richten op het schrijven van code zonder specifieke hardware- of infrastructuurconfiguraties in gedachten te hoeven houden.
  • DevOps maakt het mogelijk om nieuwe softwareversies continu uit te rollen met behulp van CI/CD (Continous Integration / Continuous Deployment), wat zorgt voor een snellere en betrouwbaardere oplevering van software.