IT-org 2 (uitgebreidere versie van andere cards hier) Flashcards
Wat is de Software Development Lifecycle (SDLC)?
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.
Wat zijn de stappen in de planningfase van de SDLC?
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)
Wat is de analysefase in de SDLC?
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.
Wat zijn functionele vereisten in de context van softwareontwikkeling?
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.
Wat zijn niet-functionele vereisten in de context van softwareontwikkeling?
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.
Hoe worden requirements vaak geformuleerd?
Requirements kunnen worden geformuleerd via user stories.
Wat gebeurt er tijdens de designfase van de SDLC?
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.
Wat gebeurt er tijdens de implementatiefase van de SDLC?
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.
Waarom is testen na ontwikkeling een belangrijke fase in de SDLC?
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.
Wat gebeurt er wanneer het product gereed is voor productie in de SDLC?
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.
Welke omgevingen worden idealiter gebruikt tijdens de ontwikkeling (DTAP)?
- 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.
Wat is de rol van de Development-omgeving?
- 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.
Wat gebeurt er in de Test-omgeving?
- 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.
Wat is de rol van de Acceptatie-omgeving?
- 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.
Welke soorten testen kunnen worden uitgevoerd in de Acceptatie-omgeving?
- 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.