Fasen en modellen van de levenscyclus van softwareontwikkeling (SDLC).
Wat is SDLC?
SDLC is een systematisch proces voor het bouwen van software dat de kwaliteit en juistheid van de gebouwde software garandeert. Het SDLC-proces heeft tot doel software van hoge kwaliteit te produceren die voldoet aan de verwachtingen van de klant. De systeemontwikkeling moet binnen het vooraf gedefinieerde tijdsbestek en de vooraf gedefinieerde kosten voltooid zijn. SDLC bestaat uit een gedetailleerd plan waarin wordt uitgelegd hoe specifieke software moet worden gepland, gebouwd en onderhouden. Elke fase van de SDLC-levenscyclus heeft zijn eigen proces en resultaten die bijdragen aan de volgende fase. SDLC staat voor Levenscyclus van softwareontwikkeling en wordt ook wel de Application Development-levenscyclus genoemd.
Waarom SDLC?
Hier volgen de belangrijkste redenen waarom SDLC belangrijk is voor het ontwikkelen van een softwaresysteem.
- Het biedt een basis voor projectplanning, planning en schatting
- Biedt een raamwerk voor een standaardreeks activiteiten en resultaten
- Het is een mechanisme voor het volgen en controleren van projecten
- Vergroot de zichtbaarheid van de projectplanning voor alle betrokken belanghebbenden bij het ontwikkelingsproces
- Verhoogde en verbeterde ontwikkelingssnelheid
- Verbeterde klantrelaties
- Helpt u de projectrisico's en de overhead van het projectmanagementplan te verminderen
SDLC-fasen
Het gehele SDLC-proces is onderverdeeld in de volgende SDLC-stappen:
- Fase 1: Verzameling en analyse van vereisten
- Fase 2: Haalbaarheidsstudie
- Fase 3: Ontwerp
- Fase 4: Coderen
- Fase 5: Testen
- Fase 6: Installatie/implementatie
- Fase 7: Onderhoud
In deze tutorial heb ik al deze levenscyclusfasen van softwareontwikkeling uitgelegd
Fase 1: Verzameling en analyse van vereisten
De vereiste is de eerste fase in het SDLC-proces. Het wordt uitgevoerd door de senior teamleden met inbreng van alle belanghebbenden en domeinexperts in de sector. Plannen voor de kwaliteitsborging Ook in deze fase vindt het stellen van eisen en het onderkennen van de risico's plaats.
Deze fase geeft een duidelijker beeld van de reikwijdte van het hele project en de verwachte problemen, kansen en richtlijnen die tot het project hebben geleid.
In de fase van het verzamelen van vereisten moeten teams gedetailleerde en precieze vereisten krijgen. Dit helpt bedrijven om de benodigde tijdlijn af te ronden om het werk van dat systeem af te ronden.
Fase 2: Haalbaarheidsstudie
Zodra de fase van de vereistenanalyse is voltooid, is de volgende sdlc-stap het definiëren en documenteren van de softwarebehoeften. Dit proces wordt uitgevoerd met behulp van het 'Software Requirement Specification'-document, ook wel bekend als het 'SRS'-document. Het omvat alles wat tijdens de levenscyclus van het project moet worden ontworpen en ontwikkeld.
Er zijn hoofdzakelijk vijf soorten haalbaarheidscontroles:
- economisch: Kunnen we het project binnen het budget voltooien of niet?
- Juridische: Kunnen we dit project afhandelen als cyberwetgeving en ander regelgevend kader/compliances?
- Operahaalbaarheid: Kunnen we bewerkingen creëren die door de klant worden verwacht?
- Technische: Moet controleren of het huidige computersysteem de software kan ondersteunen
- Programma: Bepaal of het project binnen het gegeven schema kan worden voltooid of niet.
Fase 3: Ontwerp
In deze derde fase worden de systeem- en softwareontwerpdocumenten voorbereid volgens het vereiste specificatiedocument. Dit helpt bij het definiëren van de algehele systeemarchitectuur.
Deze ontwerpfase dient als input voor de volgende fase van het model.
Er worden in deze fase twee soorten ontwerpdocumenten ontwikkeld:
Ontwerp op hoog niveau (HLD)
- Korte beschrijving en naam van elke module
- Een overzicht van de functionaliteit van elke module
- Interfacerelatie en afhankelijkheden tussen modules
- Databasetabellen geïdentificeerd samen met hun belangrijkste elementen
- Volledige architectuurdiagrammen met technologische details
Ontwerp op laag niveau (LLD)
- Functionele logica van de modules
- Databasetabellen, inclusief type en grootte
- Volledige details van de interface
- Behandelt alle soorten afhankelijkheidsproblemen
- Lijst met foutmeldingen
- Volledige in- en uitgangen voor elke module
Fase 4: Coderen
Zodra de systeemontwerpfase voorbij is, is de volgende fase het coderen. In deze fase beginnen ontwikkelaars met het bouwen van het hele systeem door code te schrijven in de gekozen programmeertaal. In de codeerfase worden de taken verdeeld in eenheden of modules en toegewezen aan de verschillende ontwikkelaars. Het is de langste fase van het softwareontwikkelingslevenscyclusproces.
In deze fase moet de ontwikkelaar bepaalde vooraf gedefinieerde coderingsrichtlijnen volgen. Ze moeten ook gebruiken programmeertools zoals compiler, tolken, debugger om de code te genereren en te implementeren.
Fase 5: Testen
Zodra de software compleet is en in de testomgeving is geïmplementeerd, begint het testteam met het testen van de functionaliteit van het hele systeem. Dit wordt gedaan om te verifiëren dat de hele applicatie werkt volgens de vereisten van de klant.
Tijdens deze fase kunnen het QA- en testteam enkele bugs/defecten ontdekken die ze aan de ontwikkelaars doorgeven. Het ontwikkelingsteam repareert de bug en stuurt deze terug naar QA voor een nieuwe test. Dit proces gaat door totdat de software bugvrij en stabiel is en werkt volgens de zakelijke behoeften van dat systeem.
Fase 6: Installatie/implementatie
Zodra de softwaretestfase voorbij is en er geen bugs of fouten meer in het systeem zitten, begint het laatste implementatieproces. Op basis van de feedback van de projectmanager wordt de definitieve software vrijgegeven en gecontroleerd op eventuele implementatieproblemen.
Fase 7: Onderhoud
Zodra het systeem is geïmplementeerd en klanten het ontwikkelde systeem gaan gebruiken, vinden de volgende 3 activiteiten plaats
- Bugfixing – bugs worden gerapporteerd vanwege sommige scenario's die helemaal niet zijn getest
- Upgrade – Het upgraden van de applicatie naar de nieuwere versies van de Software
- Verbetering – Het toevoegen van enkele nieuwe functies aan de bestaande software
De belangrijkste focus van deze SDLC-fase is ervoor te zorgen dat aan de behoeften blijft worden voldaan en dat het systeem blijft presteren volgens de in de eerste fase genoemde specificatie.
Populaire SDLC-modellen
Hier zijn enkele van de belangrijkste modellen van Software Development Life Cycle (SDLC):
Watervalmodel in SDLC
De waterval is een algemeen geaccepteerd SDLC-model. Bij deze aanpak is het hele proces van softwareontwikkeling verdeeld in verschillende fasen van SDLC. In dit SDLC-model fungeert de uitkomst van de ene fase als input voor de volgende fase.
Dit SDLC-model is documentatie-intensief, waarbij eerdere fasen documenteren wat er in de volgende fasen moet worden uitgevoerd.
Incrementeel model in SDLC
Het incrementele model is geen afzonderlijk model. Het is in wezen een reeks watervalcycli. Bij aanvang van het project worden de eisen in groepen verdeeld. Voor elke groep wordt het SDLC-model gevolgd om software te ontwikkelen. Het SDLC-levenscyclusproces wordt herhaald, waarbij elke release meer functionaliteit toevoegt totdat aan alle vereisten is voldaan. Bij deze methode fungeert elke cyclus als onderhoudsfase voor de vorige softwarerelease. Door aanpassingen aan het incrementele model kunnen ontwikkelingscycli elkaar overlappen. Daarna kan de volgende cyclus beginnen voordat de vorige cyclus voltooid is.
V-model in SDLC
Bij dit soort SDLC-modeltesten en de ontwikkeling wordt de fase parallel gepland. Er zijn dus verificatiefasen van SDLC aan de ene kant en de validatiefase aan de andere kant. V-Model sluit zich aan via de codeerfase.
Agile-model in SDLC
Agile methodologie is een praktijk die voortdurende interactie van ontwikkeling en testen promoot tijdens het SDLC-proces van elk project. In de Agile methode wordt het hele project verdeeld in kleine incrementele builds. Al deze builds worden geleverd in iteraties en elke iteratie duurt één tot drie weken.
Spiraal Model
Het spiraalmodel is een risicogedreven procesmodel. Dit SDLC-testmodel helpt het team elementen van een of meer procesmodellen over te nemen, zoals een waterval, incrementeel, waterval, enz.
Dit model neemt de beste eigenschappen van het prototyping-model en het watervalmodel over. De spiraalmethodologie is een combinatie van rapid prototyping en gelijktijdigheid in ontwerp- en ontwikkelingsactiviteiten.
Big bang-model
Het Big Bang-model richt zich op alle soorten bronnen bij softwareontwikkeling en -codering, met geen of zeer weinig planning. De vereisten worden begrepen en geïmplementeerd wanneer ze zich voordoen.
Dit model werkt het beste voor kleine projecten met een kleiner ontwikkelingsteam dat samenwerkt. Het is ook nuttig voor academische softwareontwikkelingsprojecten. Het is een ideaal model waarbij de vereisten onbekend zijn of de definitieve releasedatum niet wordt gegeven.
Samenvatting
- De Software Development Life Cycle (SDLC) is een systematisch proces voor het bouwen van software dat de kwaliteit en correctheid van de gebouwde software garandeert.
- De volledige vorm SDLC is Software Development Life Cycle of Systems Development Life Cycle.
- SDLC in software-engineering biedt een raamwerk voor een standaardreeks activiteiten en resultaten
- Zeven verschillende SDLC-fasen zijn 1) Verzameling en analyse van vereisten 2) Haalbaarheidsstudie: 3) Ontwerp 4) Codering 5) Testen: 6) Installatie/implementatie en 7) Onderhoud
- De senior teamleden leiden de behoefteanalyse fase
- De fase van de haalbaarheidsstudie omvat alles wat tijdens de levenscyclus van het project moet worden ontworpen en ontwikkeld
- In de ontwerpfase worden de systeem- en softwareontwerpdocumenten opgesteld volgens het vereistenspecificatiedocument
- In de codeerfase beginnen ontwikkelaars met het bouwen van het hele systeem door code te schrijven in de gekozen programmeertaal
- Testen is de volgende fase die wordt uitgevoerd om te verifiëren dat de gehele applicatie werkt volgens de eisen van de klant.
- Installatie- en implementatiegezicht begint wanneer de software testen fase is voorbij en er zijn geen bugs of fouten meer in het systeem
- Bugfixing, upgrades en engagementacties die in het onderhoudsgedeelte worden behandeld
- Waterval, Incrementeel, Agile, V-model, Spiraal, Big Bang zijn enkele van de populaire SDLC-modellen in software-engineering
- SDLC bij het testen van software bestaat uit een gedetailleerd plan waarin wordt uitgelegd hoe specifieke software moet worden gepland, gebouwd en onderhouden