Skip to content

A vízesés modell

A Wikipédia alapján:

A vízesés modell a projekt tevékenységeinek sorozatos lineáris szakaszokra bontása, ahol az egyes szakaszok az előző fázis eredményeitől függnek, és az adott feladat specializációjának felelnek meg. A mérnöki tervezés bizonyos területeire jellemző ez a megközelítés, ezért a szoftverfejlesztésben inkább a kevésbé iteratív és rugalmatlan megközelítések közé tartozik, mivel a haladás nagyrészt egy irányba („lefelé”, mint egy vízesésnél) folyik az elgondolás, a kezdeményezés, az elemzés, a tervezés, a felépítés, a tesztelés, a telepítés és a karbantartás szakaszában.

A vízesés fejlesztési modellje a feldolgozó- és építőiparban jött létre; ahol a magasan strukturált fizikai környezet azt jelentette, hogy a tervezési változások sokkal hamarabb váltak költségessé a fejlesztési folyamat során. Amikor először használták a szoftverfejlesztésben, még nem létezett más ismert alternatív modell a tudásalapú, kreatív munkához.

A szoftverfejlesztés területén számos modell létezik, egyik ilyen modell a vízesés modell, amelyet a szoftverfejlesztés korai szakaszában dolgoztak ki. Ez a modell picit ma már talán elavultnak tűnhet, viszont kisebb alrendszerek, programok, megoldások, egyszerűbb dolgok fejlesztésekor még mindig aktuális lehet.

A modell a szoftverfejlesztés lineáris és szekvenciális folyamatát képviseli, ahol az egyes szakaszok átfedés nélküli, egymást követő lépésekben haladnak. A modell neve onnan ered, hogy a folyamatot egy vízesésre emlékeztető módon ábrázolja, ahol a víz egy lépésről a másikra zuhan, anélkül, hogy visszafelé folyna.

Vízesés modell

A modell szakaszokból áll (a képen a módosítatlan vízesés modell látható): rendszer és szoftver követelmények, rendszeranalízis, rendszertervezés, kódolás, tesztelés és karbantartás. A fejlesztés minden szakasza egyértelműen definiált célokkal és kimenetekkel rendelkezik, amelyeket a következő szakaszban használnak fel.

Ez a modell jól működik olyan projektekben, ahol a követelmények előre definiáltak és változatlanok. Azonban a gyorsan változó követelmények vagy a technológia menet közbeni változtatása – fejlődése – esetén a vízesés modell korlátozottsága előtűnik. Nehéz visszalépni és módosítani a munkát a fázisok lezárása után (sajnos).

A vízesés modellből származó legfontosabb tanulság az, hogy a tervezési fázisban kell megoldani az összes problémát. Az előre meghatározott követelmények miatt ez a modell nehezen teszi lehetővé a visszalépést és a változtatást anélkül, hogy az egész rendszert újra kellene tervezni. A fejlesztőknek gondosan és alaposan kell megtervezniük a szoftvert az elején, hogy elkerüljék a későbbi problémákat.

A vízesés modell egy másik fontos jellemzője a dokumentáció. Mivel minden szakasz befejeződik, mielőtt a következő elkezdődne, dokumentálni kell a munkát minden szakaszban. A dokumentálás segít a csapatnak megérteni, hogy mit csináltak, és miért döntöttek úgy, ahogy.

Ez a modell különösen hasznos olyan projektekben, ahol a követelmények jól definiáltak, és nem várható, hogy változnak. Ilyenek jellemzően például a kormányzati projektek, ahol a követelményeket általában előre meghatározzák és jóváhagyják.

A vízesés modell nagyon nem ideális olyan projektekhez, ahol a követelmények gyorsan változnak, vagy amikor a technológiai fejlődés gyorsan befolyásolja a projekt kimenetelét. Ilyen esetekben az agilis vagy egyéb iteratív fejlesztési modellek lehetnek hatékonyabbak.

Kérdés, projekt, fejlesztési ötlet esetén keress fel bátran.

Pár link a témában:

Képek: Saját ill. szoftveresen generált