bélyegkép|A rendszerfejlesztési életciklus modellje, kiemelve a karbantartási szakaszt A rendszerfejlesztésben, az információs rendszerekben és a szoftverfejlesztésben a rendszerfejlesztési életciklus (SDLC – Systems Development Life Cycle), másnéven alkalmazásfejlesztési életciklus egy információrendszer tervezésére, létrehozására, tesztelésére és telepítésére szolgáló folyamat. A rendszerfejlesztési életciklus-koncepció számos hardver- és szoftverkonfigurációra vonatkozik, mivel a rendszer csak hardverből vagy szoftverből, illetve ezek kombinációjából állhat. Ebben a ciklusban általában hat szakasz van: követelményelemzés, tervezés, fejlesztés, tesztelés, megvalósítás, dokumentáció és értékelés.

Áttekintés A rendszerfejlesztési életciklus számos egyértelműen meghatározott és különálló munkafázisból áll, amelyeket a rendszermérnökök és rendszerfejlesztők információs rendszerek tervezésére, építésére, tesztelésére és szállítására használnak. Mint bármi, amit egy futószalagon gyártanak, az SDLC célja is az, hogy olyan kiváló minőségű rendszereket állítson elő, amelyek megfelelnek vagy meghaladják az ügyfelek elvárásait, az ügyfelek igényei alapján, olyan rendszerek biztosításával, amelyek minden egyértelműen meghatározott fázison áthaladnak, az ütemezett időkereteken és költségbecsléseken belül. A számítógépes rendszerek összetettek, és gyakran (különösen a szolgáltatásorientált architektúra közelmúltbeli növekedésével) több hagyományos rendszert kapcsolnak össze, amelyeket különböző szoftvergyártók szolgáltatnak. Az ilyen összetettségi szint kezeléséhez számos SDLC modellt vagy módszertant hoztak létre, például vízesés, spirál, agilis szoftverfejlesztés, gyors prototípuskészítés, lépésenkénti, szinkronizálás és stabilizálás.

Az SDLC az agilis és iteratív és szekvenciális módszerek spektrumán írható le. Agilis módszerek, mint például az extrém programozás (XP) és a scrum, könnyű folyamatok, amelyek lehetővé teszik a gyors változásokat (amellett, hogy követi az SLDC szerinti mintát) a fejlesztési ciklus mentén. Az iteratív módszerek, mint például a Rational Unified Process (RUP) és a Dynamic Systems Development Method (DSDM), a korlátozott projekt hatókörre összpontosítanak, és több ismétléssel bővítik vagy fejlesztik a termékeket. Szekvenciális vagy Big Design-Up-Front (BDUF) modellek, mint például a vízesés, a teljes és helyes tervezésre összpontosítanak, hogy a nagy projekteket és a kockázatokat a sikeres és kiszámítható eredményekhez irányítsák. Más modellek, mint például az anamorfikus fejlesztés, hajlamosak egyfajta fejlődésre összpontosítani, amely vezérli a projekt hatályát és az adaptív iterációkat a funkció fejlesztésben.

A projektmenedzsmentben a projekt meghatározható mind a projekt életciklusával (PLC), mind az SDLC-vel, amelynek során némileg eltérő tevékenységek történnek. Taylor (2004) szerint, "a projekt életciklusa magában foglalja a projekt összes tevékenységét,míg a rendszerfejlesztési életciklus a termék követelményeinek megvalósítására összpontosít ".

Egy informatikai projekt fejlesztése során rendszerfejlesztési életciklust (SDLC) használnak, amely részletesen leírja a projekt különböző szakaszait a tervező táblától a projekt befejezéséig.

Az SDLC önmagában nem módszertan, inkább csak egy leírás a szoftveralkalmazás életciklusának fázisairól. Ezek a fázisok (általánosságban) a következők: vizsgálat, elemzés, tervezés, építés, tesztelés, megvalósítás, karbantartás és támogatás. Minden szoftverfejlesztési módszer (mint például a közismertebb vízesés és scrum módszerek) követi az SDLC fázisokat, de ennek módjai nagymértékben eltérnek a módszerek között. A Scrum keretrendszerben például mondhatjuk, hogy egyetlen felhasználó által készített terv az SDLC összes fázisán áthalad egy kéthetes sprinten belül. Ezzel szemben a vízesés módszertan egy másik példa, ahol minden üzleti követelményről (amelyet az SDLC elemzési szakaszában egy üzleti követelmény specifikációban rögzítettek) funkcionális leírásokat készítenek (melyet a Funkcionális Specifikáció dokumentumban rögzítenek), amelyekből egy végleges megoldási tervet jellemzően három-kilenc hónap alatt készítenek el, de akár több időt is igénybe vehet. Ezek a módszerek nyilvánvalóan egészen különböző megközelítések, mégis mindkettő tartalmazza az SDLC fázisokat, amelyekben egy követelmény megszületik, majd áthalad a karbantartás és támogatás végső fázisában végződő életciklus-fázisokon, amelyek után (jellemzően) az egész életciklus újrakezdődik a szoftveralkalmazás későbbi verziójához.

Előzmények és részletek A termék életciklusa leírja az információs rendszerek felépítését nagyon tudatosan, strukturáltan és módszeresen, megismételve a termék élettartamának minden egyes szakaszát. A rendszerfejlesztési életciklus Elliott & Strachan & Radford (2004) szerint "Az 1960-as évektől vált fontossá a nagyszabású funkcionális üzleti tervek modellje. Az információs rendszerekkel kapcsolatos tevékenységek a nehéz adatfeldolgozás és a számot törő rutinok körül forogtak".

Számos rendszerfejlesztési keretrendszer részben az SDLC-n alapult, mint például az Egyesült Királyság kormányzati kereskedelmi hivatala számára az 1980-as években készített strukturált rendszerek elemzési és tervezési módszere (SSADM). Azóta, Elliott szerint (2004) "A hagyományos életciklus megközelítések helyett egyre inkább alternatív megközelítéseket használnak, amelyek megpróbálják leküzdeni a hagyományos SDCL-ben rejlő hiányosságokat."

Fázisok A rendszerfejlesztési életciklus-keretrendszer az, ami tevékenységek sorozatát biztosítja a rendszertervezők és -fejlesztők számára. Ez egy sor olyan lépésből vagy fázisból álló folyamat, amelyben az SDLC minden egyes fázisa az előző eredményeit használja fel.

Az SDLC olyan fontos fázisokat tart be, amelyek elengedhetetlenek a fejlesztők számára – például a tervezés, az elemzés, a tervezés és a megvalósítás –, melyet az alábbi szakasz ismertet. Ez magában foglalja a jelenleg használt rendszer értékelését, az információgyűjtést, a megvalósíthatósági tanulmányokat és a jóváhagyás kérését. Számos SDLC modell jött létre, beleértve a vízesés, szökőkút, spirál stb. Ezek közül a legrégebbi és a legismertebb a vízesés modell, egy olyan szakaszsorozat, amelyben az egyes szakaszok kimenete lesz a következő bemenet. Ezeket a szakaszokat különböző módokon lehet jellemezni és felosztani, többek között a következőkre:

Előzetes elemzés: Kezdje az előzetes elemzéssel, javasoljon alternatív megoldásokat, írja le a költségeket és hasznokat, és nyújtson be ajánlásokat.

Végezze el az előzetes elemzést: Fedezze fel a szervezet céljait, valamint a vizsgált probléma jellegét és hatókörét. Még akkor is, ha a probléma csak a szervezet egy kis szegmensére vonatkozik, megtudja, mik a szervezet céljai. Ha kész, nézd meg, hogyan illeszkedik a vizsgált problémára. Alternatív megoldások felajánlása: A szervezet célkitűzéseinek és konkrét problémáinak alapos vizsgálata után számos megoldást fedezhettek fel. A pótjavaslatok azonban továbbra is származhatnak az alkalmazottak, ügyfelek, beszállítók és/vagy tanácsadók meghallgatásából. Betekintést nyerhetünk a versenytársak kutatásába is. Költség-haszon elemzés: Elemezze és írja le a javasolt változtatások végrehajtásának költségeit és előnyeit. A végső döntést arról, hogy a rendszert úgy hagyják-e, javítsák-e, vagy új rendszert fejlesszenek ki, azt az előzetes elemzési adatok segítségével fogják véglegesíteni.

Rendszerelemzés, követelmények meghatározása: Projektcélok definiálása a tervezett alkalmazás meghatározott függvényeiben és műveleteiben. Ez magába foglalja a tények összegyűjtésének és értelmezésének folyamatát, a problémák diagnosztizálását és a rendszer javításának ajánlását. A projekt céljait tovább segíti a végfelhasználói információs igények elemzése, valamint az e követelmények esetleges következetlenségeinek és hiányosságainak megszüntetése.

A fejlesztő által követendő lépések sorozata a következő: Tények gyűjtése: A végfelhasználói követelmények beszerzése dokumentációval, ügyfélinterjúkkal, megfigyeléssel és kérdőívekkel. A meglévő rendszer vizsgálata: Azonosítsa a jelenlegi rendszer előnyeit és hátrányait, hogy az előnyöket továbbvigye és elkerülje a régi rendszerben lévő hátrányokat. A javasolt rendszer elemzése: Megoldásokat találhat a második lépésben leírt hiányosságokra, és a specifikációkat a konkrét felhasználói javaslatok alkalmazásával kell elkészíteni.

Rendszerek tervezése: Ebben a lépésben a kívánt funkciókat és műveleteket részletesen ismertetjük, beleértve a képernyő elrendezéseket, az üzleti szabályokat, a folyamatábrákat, a pszeudokódot és az egyéb dokumentációt. Fejlesztés: Itt van megírva az igazi kód.

Integráció és tesztelés

Az összes modul egy speciális tesztelési környezetbe kerül, majd ellenőrzik a hibákat, üzemzavarokat és az átláthatóságot.

Elfogadás, telepítés: Ez a kezdeti fejlesztés végső szakasza, ahol a szoftver éles környezetbe kerül, és tényleges üzletet futtat. Karbantartás: Az SDLC karbantartási szakaszában a rendszert értékelik, annak biztosítása érdekében, hogy az ne váljon elavulttá. Ez az a hely, ahol a kezdeti szoftvereken módosítások történnek. Értékelés: Egyes vállalatok ezt nem tekintik az SDLC hivatalos szakaszának, míg mások úgy vélik, hogy ez a karbantartási szakasz kiterjesztése, és egyes körökben a végrehajtás utáni felülvizsgálatnak tekintik. Ez az, ahol értékelik a rendszert, valamint az egész fejlesztési folyamatot. A megválaszolandó kérdések közé tartozik, hogy az újonnan bevezetett rendszer megfelel-e a kezdeti üzleti követelményeknek és célkitűzéseknek: a rendszer megbízható és hibatűrő, a jóváhagyott funkcionális követelményeknek megfelelően működik. A kiadott szoftver értékelése mellett fontos a fejlesztési folyamat hatékonyságának felmérése. Ha vannak olyan aspektusai a teljes folyamatnak (vagy bizonyos szakaszoknak), ahol a vezetés nem elégedett, akkor itt az idő, hogy javítsanak rajta. Ártalmatlanítás: Ebben a fázisban terveket dolgoznak ki a rendszerinformációk, hardverek és szoftverek használatának megszüntetésére és az új rendszerre való áttérésre. A cél itt az, hogy a hardver és a szoftver megfelelően mozgassa, archíválja, dobja ki, vagy semmisítse meg az információkat, hogy a csere, olyan módon menjen végbe, amely megakadályozza annak lehetőségét, hogy jogosulatlan emberek számára nyilvánosságra hozzon adatokat. Az ártalmatlanítási tevékenységek biztosítják az új rendszerre való megfelelő átállást. Különös hangsúlyt kap az előző rendszer által feldolgozott adatok megfelelő megőrzése és archiválása. Mindezt a szervezet biztonsági követelményeinek megfelelően kell elvégezni.

A következő ábrán látható, hogy a rendszerfejlesztési életciklusok ezen szakaszai tíz lépésből állnak, a definíciótól az informatikai munkatermékek létrehozásáig és módosításáig: alt=|középre|bélyegkép|700x700px|A rendszerfejlesztési életciklus tízfázisú változata Természetesen nem minden projektnek kell követnie az ábrán látható mintát. A fázisok azonban kölcsönösen függenek egymástól. A projekt méretétől és összetettségétől függően a fázisok kombinálhatók vagy átfedésben lehetnek.

Rendszervizsgálat Először kivizsgálják az informatikai rendszerre vonatkozó javaslatot. E lépés során vegye figyelembe az összes érintett aktuális prioritást és azok kezelésének módját. Mielőtt bármilyen rendszertervezésbe fogunk, megvalósíthatósági tanulmányt kell végezni annak megállapítására, hogy egy új vagy továbbfejlesztett rendszer létrehozása életképes megoldás lesz-e. Ez segít meghatározni a költségeket, előnyöket, erőforrás-igényeket és a befejezéséhez szükséges konkrét felhasználói igényeket. A fejlesztési folyamat csak akkor folytatódhat, ha a vezetőség jóváhagyja a megvalósíthatósági tanulmány ajánlásait.

A megvalósíthatósági tanulmány különböző összetevői a következők:

Működési megvalósíthatóság Pénzügyi megvalósíthatóság Műszaki megvalósíthatóság Emberi tényezők megvalósíthatósága