Szoftverfejlesztés lépései

Nézzük meg kicsit részletesebben, hogyan is néz ki ma, egy nagyvállalati szoftver fejlesztése a gyakorlatban. Milyen életciklusa van a terméknek és kiknek a kezén megy át, mielőtt a vásárló a kezébe veheti.

 

1.      Vevői Specifikáció

          A fejlesztést megelőzi magának a terméknek a megrendelése. Ekkor a vevő elküldi a részletes specifikációját a terméknek. Régebben ezek a specifikációt mindenféle változatos formátumban jutottak el a gyártókhoz, azonban ma már gyakorlatilag minden fontos piaci szereplő a Doors nevű IBM-es követelménykezelő rendszert használja erre a célra. A program maga nem túl bonyolult, gyakorlatilag táblázatos formában érkeznek a követelmények, illetve különböző követelmények tudnak mutatni egymásra. Ezen felül még képes tárolni az egyes követelmények verzióit is. A vevőtől kapott követelményeket általában Customer Requirement Specification-nek (CRS) nevezzük.

 

2.      Szoftveres Specifikáció

       A következő lépés a vevői követelmények kiegészítése. A megrendelő által küldött követelményeket általában még több iteráción keresztül kell egyeztetni illetve kiegészíteni. Ezeket az egyeztetéseket és kiegészítéseket általában nem maga a programozó végzi (bár aktívan részt vesz a folyamatban), hanem az erre a feladatra kijelölt emberek, a vevői kapcsolattartók. Ha ez a lépés megvan, akkor már az is megvan, hogy pontosan mit is kell lefejleszteni. Ezt a csomagot nevezzük általában Software Requirement Specification-nek (SRS).

 

3.      Rendszertervezés

        A következő lépés, annak a szoftver rendszernek a megtervezése, ami majd képes lesz megvalósítani az SRS minden követelményét.

        Tervezésnek számít az is, ha egy A4-es papírra lerajzolom, hogy, hogyan fog kinézni a rendszer. Azonban ma már ettől sokkal komolyabbak az elvárások megrendelői oldalról is, valamint a mai projektek már általában nem férnek rá egy A4-es lapra. Éppen ezért már nagyon ügyes modellező programok vannak a piacon. Ezekben rengeteg féle aspektusból lehet lerajzolni a rendszert vagy annak egy szeletét. Nincs igazán egyeduralkodó modellező keretrendszer, a legelterjedtebbek a Rhapsody, MagicDraw, Enterprise Architect. Illetve léteznek különböző modellező nyelvek is, ezek között egyeduralkodónak mondanám az UML-t. Ha jól megterveztük a rendszerünket, akkor már van lehetőségünk, hogy egy gombnyomásra tudjunk kódot generálni. Az előbb említett modellező szoftverek már beépítve nyújtanak kódgenerálási lehetőségeket. Azonban ezeket nehéz jól használni, ezért általában csak a teljes rendszer egy kis része generálható.

 

4.      Implementáció

          A tervezési fázis után következik (végre) az implementálási fázis, amikor is már ténylegesen kódot „gyártunk”. Ez, a már korábban bemutatott programozási keretrendszerekben történik, a szükséges programozási nyelven. Ha a rendszerünket a tervezési fázisban jól átgondoltuk, akkor ebben a lépésben már kevesebb dolgunk lesz, mivel gyakorlatilag „csak” le kell kódolni a tervrajzokat.


5.      Tesztelés

        Ha programozás kész, akkor elvileg már van egy 100%-ban működő rendszerünk. Ekkor azonban még nem adjuk oda a terméket a megrendelőnek, mert az emberi munkában általában szokott hiba lenni. Éppen ezért az implementálási fázist követi, egy több szintű tesztelési fázis. Először csak a rendszer legkisebb részeit, egyesével, külön-külön teszteljük. Aztán elkezdjük tesztelni a rendszer nagyobb szeleteit, míg végül a teljes rendszert egyben teszteljük. Ha minden tesztünk sikerült, akkor már magabiztosan át tudjuk nyújtani a megrendelőnek a kívánt terméket.

Erre a fejlesztési eljárásra többféle metodológiát találtak már ki. A legismertebb a V-modell:

Szoftverfejlesztes Lepeseihttps://moodle.autolab.uni-pannon.hu

 

Ahol a V baloldala a tervezés, a jobboldala a tesztelés és az alja maga a programozás. Azért V mert a bal oldalon mindig a legmagasabb szintről halad a tervezés az egyre alacsonyabb szintig, míg a jobb oldalon mindig az alacsonyabb szintről haladunk a magasabb szintű specifikációk teszteléséig.

 

 

Ez tehát az ipari szoftverfejlesztés alapja. Természetesen lehetnek lépések, amik egy-egy projektnél még hangsúlyosabbak vagy olyanok is, amik egyáltalán meg sem jelennek, ez sok mindentől függ. Remélem sikerült felvázolnom egy képet arról, hogy milyen összetett is egy termék életciklusa. Azonban mindennek az alapja egy programozási nyelv alapos ismerete, mert a programozási nyelv struktúrája és lehetősége a termék egészére kihatással van. Hogyan lehet azonban hatékonyan megtanulni programozni vagy mi az a minimális szint ami szükséges?

Bajor Tamás - Programozz Te Is!

Szia, Bajor Tamás vagyok, a Programozz Te Is oldal alapítója és oktatója. Köszi, hogy itt vagy és éppen az én cikkem olvasására fordítod a drága idődet! Azért dolgozom minden nap, hogy neked segítsek a programozás világában minél profibban elmélyülni. A cikkek egyetlen írójaként rengeteg munkát és energiát fektetek mind az oldalba, mind pedig az oktatásba!

Arra kérlek, ha tetszett cikk amit olvastál vagy szívesen veszed az ingyenes anyagokat akkor dobj egy Like-ot a Facebook-on, ezzel is támogatva a munkámat. Neked ez egy apró kattintás, nekem pedig hatalmas segítség!