Hvad er vandfaldsmodellen?
WATERFALL MODEL er en sekventiel model, der opdeler softwareudvikling i foruddefinerede faser. Hver fase skal være afsluttet, før den næste fase kan begynde uden overlapning mellem faserne. Hver fase er designet til at udføre specifik aktivitet i SDLC-fasen. Det blev introduceret i 1970 af Winston Royce.
Forskellige faser af vandfaldsmodel i softwareteknik
Forskellige faser | Aktiviteter udført i hvert trin |
Etape om krav til indsamling |
- I denne fase indsamles detaljerede krav til softwaresystemet, der skal udvikles fra klienten
|
Design Stage |
- Planlæg programmeringssproget, f.eks. Java, PHP, .net
- eller database som Oracle, MySQL osv.
- Eller andre tekniske detaljer på højt niveau af projektet
|
Bygget scene |
- Efter designfasen er det bygget etape, det er intet andet end kodning af softwaren
|
Test fase |
- I denne fase tester du softwaren for at kontrollere, at den er bygget i henhold til specifikationerne givet af klienten.
|
Implementeringsstadium |
- Implementer applikationen i det respektive miljø
|
Vedligeholdelsesfase |
- Når dit system er klar til brug, kan du senere kræve at ændre koden i henhold til kundeanmodning
|
Hvornår skal man bruge SDLC Waterfall Model?
Vandfaldsmodel kan bruges når
- Kravene ændres ikke ofte
- Ansøgningen er ikke kompliceret og stor
- Projektet er kort
- Kravet er klart
- Miljøet er stabilt
- Brugt teknologi og værktøjer er ikke dynamiske og er stabile
- Ressourcer er tilgængelige og trænes
Fordele og ulemper ved vandfaldsmodellen
Fordele | Ulemper |
- Før den næste fase af udviklingen skal hver fase være afsluttet
|
- Fejl kan kun løses i løbet af fasen
|
- Velegnet til mindre projekter, hvor kravene er veldefinerede
|
- Det er ikke ønskeligt for komplekse projekter, hvor kravene ofte ændres
|
- De skal udføre kvalitetssikringstest (Verifikation og validering), inden de gennemfører hvert trin
|
- Testperioden kommer ganske sent i udviklingsprocessen
|
- Udførlig dokumentation udføres i hver fase af softwarens udviklingscyklus
|
- Dokumentation optager meget tid for udviklere og testere
|
- Projektet er fuldstændig afhængigt af projektteam med mindst mulig klientintervention
|
- Kunders værdifulde feedback kan ikke medtages i den igangværende udviklingsfase
|
- Eventuelle ændringer i software foretages under udviklingsprocessen
|
- Små ændringer eller fejl, der opstår i den færdige software, kan forårsage mange problemer
|