Ugrás a tartalomhoz

Szoftverfejlesztés

Ficsor Lajos, Krizsán Zoltán, Mileff Péter

Bevezetés. A szoftverfejlesztés életciklus modelljei. A szoftver fejlesztés mint modellezési tevékenység. Fejlesztési módszertanok. Követelmény analízis. A szoftvertervezés folyamata. A Unified Modeling Language (UML). A használati eset modell. Strukturális diagramok. Viselkedés diagramok. Az analízis modell. A tervezési modell. Az implementációs modell. Tervezési minták. További fejlesztési tevékenységek áttekintése. Esettanulmány.

5. fejezet - Követelmény analízis

5. fejezet - Követelmény analízis

A szoftverfolyamat, amelynek eredményeképpen előáll egy kész szoftvertermék, tevékenységek és kapcsolódó eredmények soraként értelmezhető. Ezek a folyamatok komplexek, és nagyon összetettek, valamint erősen függenek az emberi tevékenységektől és döntésektől.  Emiatt a folyamatok nem automatizálhatók a megfelelő mértékben, mindig szükség van az emberi tényezőre. Fontos cél lehet, hogy az emberi tényezők mellett minél több részfolyamatot lehessen teljesen vagy féli automatizálni. A számítógéppel segített szoftvertervezés eszközei (CASE) képesek a folyamatok bizonyos tevékenységeinek támogatására, de nincs lehetőség nagyobb mértékű automatizációra. Nyugodtan kijelenthetjük továbbá azt is, hogy nincs olyan folyamat, amely minden számára megfelelő lenne. Különböző szervezetek a szoftverfejlesztést homlokegyenest különböző nézőpontokból közelítik meg.  Mégpedig úgy, hogy a folyamatokat úgy alakítják ki, hogy kiaknázzák a szervezeten belül az emberek különféle képességeit és a fejlesztő rendszer jellegzetességeit.

Bár minden szoftverfolyamat különböző, vannak olyan alapvető tevékenységek, amelyek minden szoftverfolyamatban közösek:

  1. Szoftverspecifikáció: a szoftver funkcióit, illetve annak megszorításait definiálja.

  2. Szoftvertervezés és implementáció: A specifikációnak megfelelő szoftvert elő kell állítani.

  3. Szoftvervalidáció: a szoftvert validálni kell, hogy biztosítsuk, azt fejlesztettük, amit az ügyfél kíván.

  4. Szoftverevolúció: A szoftvert úgy kell kialakítani, hogy megfeleljen a megrendelő kívánsága szerint történő változtatásoknak.

Bárki számára felmerülhet a kérdés, hogy annak ellenére, hogy tudjuk nincs „ideális” szoftverfolyamat, miért érdemes alkalmazni a szoftverfejlesztési elveket? Bár a folyamatok különböznek, számos terület van, ahol a szervezeten belüli szoftverfolyamatokon javíthatunk, mert gyakran elavult technikákat tartalmaznak, vagy esetleg nem is élnek a tervezési módszerek lehetőségeivel.

A fejezetben a továbbiakban a szoftverkövetelmények analízisével, a szoftverspecifikációval foglalkozunk részletesen.

A szoftverspecifikáció

A szoftverspecifikáció során, vagy más néven a követelménytervezés fázisában elsődleges célunk az, hogy részletesen megértsük és definiáljuk az adott rendszer működését. Meg kell határozni, hogy a rendszernek milyen szolgáltatásokat kell biztosítania. Mindezek mellett azonosítjuk a rendszer üzemeltetésének és fejlesztésének megszorításait is. A kö­vetelmények tervezése a szoftverfolyamat különösen kritikus szakasza. Az ebben a szakaszban vétett hibák elkerülhetetlenül problémákhoz vezetnek majd a rendszertervezés későbbi szakaszában és az implementációban. A folyamat eredménye a követelmény dokumentum előállítása, amely a rendszer specifiká­ciója. A követelmények tervezési folyamatát a következő ábra mutatja be.

5.1. ábra - A követelménytervezés folyamata

A követelménytervezés folyamata

A követelmények tervezésének négy nagy fázisát különböztethetjük meg. Ezeket találjuk az ábra felső vonalában:

  1. Megvalósíthatósági tanulmány: első lépésként meg kell becsülni, hogy a felhasználók kívánsá­gai kielégíthetők-e az adott szoftver- és hardvertechnológia mellett. A vizsgá­latoknak el kell dönteniük, hogy a rendszer költséghatékony-e, és hogy az kivi­telezhető-e. A megvalósíthatóság elemzésének relatíve olcsónak és gyorsnak kell lennie. Eredménye a megvalósíthatósági jelentés.

  2. Követelmények feltárása és elemzése: ez a folyamat a rendszerkövetelmények meglévő rendszereken történő megfigyelésén, a potenciális felhasználókkal és beszerzőkkel folytatott megbeszéléseken, tevékenységelemzéseken alapszik. Akár egy vagy több különböző rendszermodell, illetve prototípus elkészítését is magában foglalhatja.

  3. Követelmény specifikáció: a követelményspecifikáció az elemzési tevékenységek során összegyűjtött információk egységes dokumentummá alakítása. A dokumentumnak a követel­mények két típusát, a felhasználói követelményeket, és a konkrét rendszerkövetelményeket kell tartalmaznia.

  4. Követelmény-validáció: a tevékenység során ellenőrizzük, hogy mennyire valószerűek, konzisztensek és teljesek a követelmények. Fontos cél, hogy a folyamat során feltárjuk a követelmények dokumentumában található hibákat, és kijavítani.

Nagyon fontos megjegyeznünk, hogy nem mindig célszerű a követelménytervezés különböző tevékenységeit szigorú sor­rendben végrehajtani. Például a követelmények elemzése folytatható a meghatározásuk és specifikálásuk alatt, továbbá a folyamat során bármikor napvilágra kerülhetnek új követelmények is. Bizonyos esetekben ilyenkor az elemzés, a meghatározás és a specifikáció te­vékenységei összefésülhetők, és egymást átfedhetik a folyamatban.