Informatika | Tanulmányok, esszék » Szoftverfejlesztési modellek

Alapadatok

Év, oldalszám:2010, 7 oldal

Nyelv:magyar

Letöltések száma:37

Feltöltve:2019. augusztus 17.

Méret:671 KB

Intézmény:
-

Megjegyzés:

Csatolmány:-

Letöltés PDF-ben:Kérlek jelentkezz be!



Értékelések

Nincs még értékelés. Legyél Te az első!


Tartalmi kivonat

IT alapismeretek, Szoftver Szoftverfejlesztés Szoftverfejlesztési modellek Ha egy kitűzött célt el akarunk érni, elképzeljük, megtervezzük a hozzá vezető utat. A szoftverfejlesztés esetében a cél a szoftvertermék előállítása – az ehhez elvezető utat fejlesztési módszernek vagy modellnek nevezzük. A szoftverek elkészítésének lépései, problémái és részfeladatai nagyjából minden szoftver esetén hasonlóak, illetve meghatározhatók olyan kulcspontok, amelyek minden fejlesztésben megtalálhatók. Ennek alapján felállíthatók olyan fejlesztési modellek, amelyek általában alkalmazhatók minden szoftverfejlesztési folyamatra Vízesés modell Néhány évtizeddel ezelőtt a világ lényegesen lassabban változott, mint manapság. Egy szoftverfejlesztési feladat megoldásánál volt idő arra, hogy alaposan feltárjuk, minden részletében megértsük a feladatot, a megrendelő elvárásait. Amikor az alapos – és rendszerint hosszan tartó

– elemzések, követelményfeltárások után elkészült az ún feladatspecifikáció, azt a megrendelő átvizsgálta, majd jóváhagyta A fejlesztés újabb fázisa – a megoldásterv elkészítése – csak ez után következett. A megoldásterv jóváhagyását követte a kivitelezés, majd az elkészült termék tesztelése következett. A módszer az általa definiált fejlesztési folyamat munkaszakaszairól, pontosabban azok összekapcsolási módjáról kapta nevét. A vízesés modell a szoftverfejlesztés folyamatának első publikált modellje (1970). Mint az alábbi ábrán látható, az egyes fejlesztési munkafázisok lépcsőzetesen, „vízesésszerűen” kapcsolódnak egymáshoz. 1. ábra A vízesés modell Készítette: Centroszet Szakképzés-Szervezési Nonprofit Kft. 1 IT alapismeretek, Szoftver Szoftverfejlesztés Az egyes fázisok tartalma · Követelmények elemzése és meghatározása A rendszerrel kapcsolatos követelmények feltárásának

szakasza. A rendszer szolgáltatásai, megszorításai és céljai a majdani felhasználókkal való konzultációk során derülnek ki. Ezeket részletesen leírják, és ebből alakul ki a rendszerspecifikáció · Rendszer- és szoftvertervezés A rendszer tervezési folyamatában válnak szét a hardver- és szoftverkövetelmények. Itt kell kialakítani a rendszer átfogó architektúráját A szoftver terve a korábban pontosan definiált követelményrendszeren alapul A tervezési folyamat eredménye a megoldásterv, amely modelleket és szöveges definíciókat tartalmaz a megvalósítás mikéntjére vonatkozóan. · Implementáció és egységteszt A korábbi szoftverterveket ebben a szakaszban kódolják: előállnak azok a szoftvermodulok, amelyekből a teljes alkalmazás kialakítható. Az egységteszt azt ellenőrzi, hogy a szoftvermodulok megfelelnek-e a követelményspecifikációnak · Integráció és rendszerteszt Ebben a szakaszban történik meg a

különálló szoftvermodulok összekapcsolása és a kapcsolt modulok együttműködésének tesztelése. A teszteléssel kapcsolatban külön tesztelési tervek és dokumentációk készülnek · Működtetés és karbantartás A rendszer telepítése után megtörténik a használatba vétel. A karbantartás a még mindig előforduló hibák kijavítására, illetve később bizonyos korlátozott mértékű rendszer-továbbfejlesztésre terjed ki. Az egyes lépcsőkok eredményei alapvetően nem mások, mint egy vagy több olyan dokumentum, melyek jóváhagyása a következő megkezdése előtt megtörténik: a következő fázis addig nem indulhat el, amíg az előző (hivatalosan) be nem fejeződött. A soron következő fázisok szigorúan az előzőek eredményeire támaszkodnak. Mint látható, a vízesés módszer a teljes szoftverfejlesztési ciklust lefedi. Előírja az elvégzendő munkafolyamatokat, sőt az egyes fázisokban elkészítendő résztermékeket és

dokumentációkat is. A folyamatban jól azonosíthatók az általános problémamegoldás lépései A módszer értékelése A módszer akkor alkalmazható hatékonyan és eredményesen, ha a követelmények jól definiáltak és stabilak – vagyis a majdani szoftver környezete kiérlelt, „beállt” elvek alapján működik, és a működési feltételek nem, vagy nagyon lassan és jól tervezhetően változnak (így már a fejlesztés korai szakaszában meghozhatunk – és fenntarthatunk – átfogó és alapvető döntéseket). Ellenkező esetben azonban előfordulhat, hogy mire a fejlesztési folyamat végére érünk, a környezet már másképp működik, így mások lesznek az elvárások is: legrosszabb esetben ez használhatatlan szoftvert eredményez. A vízesés modell kifejezetten érzéketlen a fejlesztés ideje alatt bekövetkező követelményváltozásokra Készítette: Centroszet Szakképzés-Szervezési Nonprofit Kft. 2 IT alapismeretek, Szoftver

Szoftverfejlesztés Az elmúlt húsz-harminc évben felgyorsult világban egyre kevésbé (vagy egyre kevesebb területen) alkalmazható ez a módszer. A gazdasági, jogi, politikai változások ma már gyorsabban követik egymást, mint régebben. A vízesés modell egyes fázisaiban természetesen ellenőrizhetjük a helyzet- és követelményváltozásokat, és ezek miatt vissza is térhetünk egy korábbi fázisra, hogy módosítsuk terveinket vagy az implementációt – de ez egyrészt mérhetetlenül költséges és időrabló, másrészt a modell jellegéből adódóan így előfordulhat, hogy sosem érünk a fejlesztés végére! A spirál modell A spirál modell a vízesés modell elemeit ún. prototípus-használattal egészíti ki Nagy, drága és bonyolult rendszerek fejlesztésére szánt módszer. A modell alkalmazása során 1. Amennyire lehetséges, feltárjuk a rendszerrel szembeni követelményeket 2. Ennek alapján elkészítünk egy „első” rendszertervet 3.

A rendszertervben foglaltak szerint létrehozunk egy kezdeti, működő megoldást (prototípust). Kiértékeljük ezt a prototípust annak a. erősségei-gyengeségei és kockázatai szerint, b. további, időközben megjelenő, kiderülő követelményeket definiálunk, c. megtervezzük a következő prototípust, d. elkészítjük és elemezzük az új, továbbfejlesztett megoldást 4. A felhasználó a fejlesztési folyamatot bármikor megszakíthatja, ha túl drágának, kockázatosnak tartja a folytatást. 5. Egyébként a prototípusok fejlesztése addig tart, amíg a felhasználó úgy nem dönt, hogy a rendszer már teljesen megfelel az igényeinek. 6. Mire a végső változat kialakul, minden funkció minden szinten alaposan tesztelve lett. A módszer értékelése A módszer előnye, hogy a fejlesztés költségei, idő- és egyéb erőforrásigénye folyamatosan pontosíthatók. A módszer érzékeny a követelményváltozásokra, azok hamar érvényesíthetők a

megoldásokban Hátrányai hasonlóak, mint a következő, evolúciós modellé Készítette: Centroszet Szakképzés-Szervezési Nonprofit Kft. 3 IT alapismeretek, Szoftver Szoftverfejlesztés Evolúciós modell Az evolúciós modell a változó világ problémájára kívánt elfogadható választ adni. Alapötlete az, hogy a kezdeti követelmények alapján lehetőleg olcsón és gyorsan fejlesszünk ki egy termékverziót. Ennek a terméknek a használata során összegyűlt tapasztalatokat építsük be egy újabb termékverzióba. Ezt a folyamatot mindaddig ismételjük, amíg el nem érjük a kívánalmaknak már megfelelő rendszert. 2. ábra Az evolúciós modell A módszer értékelése Az evolúciós módszer sokkal jobban biztosítja a gyors visszacsatolások lehetőségét, így használata praktikus, amikor közvetlen felhasználói instrukciók alapján kell fejleszteni, vagy változékony a környezet, és a változásokra folyamatosan reagálni kell. A

folyamat során a rendszer specifikációja és az implementáció párhuzamosan fejlődik (iterációs fejlesztés) és egyre részletesebb, finomabb szintet ér el – miközben követi a követelményváltozásokat is. Ugyanakkor hátrány, hogy maga a komplex fejlesztési folyamat nehezen átlátható és még nehezebben követhető, így a vezetői (projekt) ellenőrzés nehezen gyakorolható. Az állandó változtatások, átalakítások a rendszer strukturáltságát és dokumentálhatóságát is rontják, egyre nehezebb és költségesebb az egyes modulok integrálása. Az evolúciós modell jól használható kisebb, belső használatra szánt, átmeneti vagy speciális igényeket kielégítő programok esetén. Készítette: Centroszet Szakképzés-Szervezési Nonprofit Kft. 4 IT alapismeretek, Szoftver Szoftverfejlesztés Inkrementális fejlesztés Az eddigiekben megismertük a vízesés, a spirál és az evolúciós módszert, láttuk előnyeiket és

hátrányaikat. Ezen előnyök és hátrányok érvényesülése erősen függ a fejlesztési, illetve a majdani használat területének jellegétől, stabilitásától. Jó lenne olyan módszer, amely ezt (legalább nagyrészt) kiküszöböli, egyesíti az eddigi modellek előnyeit, miközben minimalizálja hátrányaikat. A vízesés modell azt követeli meg a megrendelőtől, hogy pontosan megfogalmazza és véglegesítse követelményeinek halmazát, mielőtt a tervezési munka megindulna, a tervezőtől pedig azt, hogy az implementáció előtt válasszon végleges tervezési stratégiát. Habár a vízesés modell előnye, hogy könnyen menedzselhető és szétválasztja a tervezési és implementációs szakaszokat, a folyamat olyan rendszerhez vezethet, amely végül nem felel meg az átadáskori követelményeknek. Az evolúciós modell megengedi, hogy a követelményekkel és tervezéssel kapcsolatos döntéseket későbbre halasszuk, de gyengén strukturált, nehezen

karbantartható rendszerekhez vezethet. Az inkrementális módszer köztes megoldás a korábbi két modell között, kombinálja azok előnyös tulajdonságait. Az inkrementális fejlesztés során a rendszerspecifikáció, a tervezés és az implementálás kis inkrementációs lépésekre (inkremensekre, fokozatokra) vannak felosztva, melyeket több fordulóban végzünk el. A folyamat során a megrendelő először nagy vonalakban meghatározza, hogy milyen szolgáltatásokat vár a rendszertől. Azt is meghatározza, hogy ezek közül melyek a fontosak és a kevésbé fontosak (prioritási sorrend). Jegyezzük meg, hogy ez a felhasználó szakmai igényein alapuló sorrend! Sok további inkrementációs lépést majd később határozunk meg annak alapján, hogy minden ilyen fokozat funkciók egy-egy újabb halmazát adja a már meglévőkhöz. A szolgáltatások egyes fejlesztési inkremensekben való elhelyezése függ a prioritásuktól is – a magas prioritással

rendelkezőket hamarabb kell a megrendelő számára biztosítani. Készítette: Centroszet Szakképzés-Szervezési Nonprofit Kft. 5 IT alapismeretek, Szoftver Szoftverfejlesztés 3. ábra Az inkrementális fejlesztés modellje Amennyiben meghatároztuk az inkremenseket (de legalább az elsőt), az első inkremens által előállítandó szolgáltatások követelményeit pontosan definiálni kell, majd ez után erre az inkremensre végrehajtjuk a teljes fejlesztési folyamatot. Azt, hogy milyen módszert (fejlesztési modellt) alkalmazunk, az inkremens részletezettségi foka, illetve az egyes szolgáltatásokkal kapcsolatos feltételek határozzák meg. Elképzelhető, hogy egyes inkremensek vagy szolgáltatások vízesés módszerrel fejleszthetők, másoknál pedig iteratív megoldást kell választani. Készítette: Centroszet Szakképzés-Szervezési Nonprofit Kft. 6 IT alapismeretek, Szoftver Szoftverfejlesztés A módszer értékelése Az inkrementális

fejlesztés során: · · · A megrendelőnek nem kell megvárnia, amíg a teljes rendszer elkészül: az első inkremens kielégítheti a legfontosabb szolgáltatásokat, így a szoftver már elég korán használatba kerülhet. Az egyes inkremensek korai használatba vételével a megrendelő tapasztalatokat szerezhet a rendszer használatával kapcsolatban, és ezek jól felhasználhatók a későbbi inkremensek tervezésénél, megvalósításánál. Mivel a magas prioritású (a rendszer célja szempontjából legfontosabb) szolgáltatásokat szállítjuk le leghamarabb, nyilván ezeket használják, tesztelik a legtöbbször. Így kisebb az esélye annak, hogy a rendszer teljes elkészülte után a fontos funkciókban hibák maradjanak. Az előnyök mellett az inkrementális fejlesztésnek is megvannak a maga hátrányai: az inkremenseknek viszonylag kisméretűeknek kell lenniük, ekkor viszont problémát okozhat a funkciók megfelelő felosztása. Sok rendszer ugyanis

igényel általános (felhasználói vagy technikai) szolgáltatásokat, melyeket több más frontszolgáltatás közösen használ Mint láthattuk a különböző módszerek tárgyalásánál, a szoftverfejlesztés során a klasszikus feladatmegoldás lépéseire alapozott munkafolyamatokat végzünk el. A fejlesztési folyamatot szakaszokra bontjuk, és az egyes szakaszok a korábbiak eredményeire támaszkodnak. A vízesés módszer a fejlesztési folyamatot egymás után végrehajtandó munkafázisok sorozatának tekinti, melynek végén előáll a korábbi specifikációs szakaszokban meghatározott követelményeknek megfelelő rendszer. Ez a megoldás azonban rugalmatlan a változásokkal szemben, így sok esetben olyan megoldást kell választani, amelyben képesek vagyunk a fejlesztés ideje alatt bekövetkezett változásokat figyelembe venni és érvényesíteni. Az evolúciós fejlesztés abból indul ki, hogy a rendszert az általánostól a speciális részletekig mintegy

piramisszerűen fejlesztjük, mindig vissza-visszatérve az egyes szintekhez, egyre pontosabbá, teljesebbé téve azokat. Ezek a visszatérések – iterációk – a folyamatos követelményelemzéseken keresztül a rendszer specifikációját és implementációját párhuzamosan fejlesztve alakítják ki a végső megoldást. Az inkrementális fejlesztés a vízesés módszer stabilitását és az evolúciós módszer rugalmasságát próbálja ötvözni azzal, hogy a fejlesztési folyamat evolúciós jellegébe mérhető rendszert, szakaszolást visz – ezek az inkremensek. Az egyes inkremenseken belül komplett mini projektet, teljes fejlesztési folyamatot hajtunk végre, a helyzetnek megfelelő fejlesztési módszer alkalmazásával. Mindegyik tárgyalt módszernek megvannak a maga előnyei és hátrányai, melyeket figyelembe kell vennünk, amikor fejlesztési modellt választunk. Készítette: Centroszet Szakképzés-Szervezési Nonprofit Kft. 7