Egy új rendszer kifejlesztésekor az első munkafolyamat, amelyet el kell végezni a hozzá kapcsolódó problémakör, problémák elemzése. Ez a folyamatlépés leginkább az új rendszerek kifejlesztésekor jelentkezik. Ilyen esetekben még nem létezik egy alapul szolgáló rendszer, amely mintaként szolgálhatna és meghatározná a megoldandó feladatot és a vele szembe támasztott alapvető követelményeket. A probléma elemzését a fejlesztési projekt előkészítési fázisában vagy a kidolgozás korai szakaszában hajtjuk végre. A problémaelemzés céljai a következők:
84
1. Egyetértésre jutni a fejlesztés által megoldandó probléma kérdésében.
2. Az fejlesztésben érdekeltek meghatározása, azonosítása.
3. A rendszer határainak meghúzása.
4. A rendszerrel kapcsolatos feltételek, megszorítások azonosítása.
A probléma elemzés során a következő feladatokat kell elvégezni:
1. Biztosítani kell, hogy valamennyi érdekelt között egyetértés alakuljon ki a megoldandó probléma kérdésében. Ezt segíti elő egy közös szójegyzék, a fogalomtár kialakítása, amelyet folyamatosan frissíteni kell.
2. Meg kell ismerni azokat a szereplőket (érdekelteket), akikre a projekt eredménye jelentős hatással van. Ezeknek az érdekelteknek egy része – a rendszer felhasználói – megjelennek a használati eset modellekben, mint aktorok.
3. Egy követelmény-kezelési tervet (Requirements Management Plan) kell készíteni. Ez a terv határozza meg, hogy milyen dokumentumok készüljenek, milyen követelmény típusokat, kategóriákat hozzanak létre, milyen attribútumokkal jellemezzék a követelményeket és milyen függőségeket állítsanak be az egyes követelmény típusok között.
4. A probléma elemzésekor összegyűjtött legfőbb rendszer tulajdonságokat a Projekt Elképzelés (Vision) tartalmazza. Ez a dokumentum a felhasználók szemszögéből mutatja be a készítendő rendszert. A Projekt Elképzelésben a magas szintű követelmények rendszer tulajdonságként (feature) jelennek meg és a legkritikusabb problémákat határozzák meg.
8.1.1 Fogalomtár készítése
A fogalomtárban létrehozott közös fogalmak, amelyek a probléma domain területének közös fogalmai, konzisztens módon használhatók a rendszer bármilyen szöveges dokumentációjában. Elősegíti az fejlesztésben érdekeltek közötti szakmai kommunikációt, és a segítségével elkerülhetőek a projekt tagjai közötti félreértések. A fogalomtár kialakítása során a következő típusú fogalmakat kell figyelembe venni:
1. Üzleti fogalmak, amelyekkel az adott szervezet a mindennapi munkája során találkozik.
2. Valós világbeli fogalmak, amelyeket a rendszernek figyelembe kell venni, például:
számla, utas, vevő stb.
3. Események, amelyeket a rendszernek kezelnie kell, például megbeszélések, hiba előfordulások.
8.1.2 Szereplők és használati esetek megkeresése – aktorok azonosítása
A követelmény-elemzési fázis végére előálló használati eset modell a rendszer tervezett funkcionális működését és a rendszer viselkedését írja le a rendszeren kívüli felhasználó szemszögéből nézve. A használati eset modellek elemei: a használati esetek, amelyek azokat a szoftverfunkciókat jelölik, amelyeket a fejlesztendő szoftverrendszernek meg kell valósítani;
az aktorok, akik vagy amik a rendszerrel kapcsolatba kerülnek és a szoftver funkcióinak felhasználásával feladatokat hajtanak végre a rendszerrel; a kapcsolatok, amelyek az aktorok és a használati esetek közötti viszonyrendszert definiálják.
A használati eset modell létrehozásában az elsődleges feladat a rendszerrel szemben támasztott funkcionális követelmények meghatározása illetve a rendszerrel kapcsolatba lépő aktorok azonosítása.
85
Az aktor egy szerep, amit egy érdekelt játszik vagy végrehajt a rendszerrel folytatott interakcióban. A rendszer egy szereplője, egy valaki/valami a rendszer határán kívül, aki/ami kapcsolatba kerül a rendszerrel. Az aktoroknak a rendszerrel kapcsolatban igényeik vannak, feladatok végrehajtását kezdeményezik, vagy a rendszer által nyújtott funkciók, szolgáltatások megvalósításában vesznek részt. Az aktorok nem kizárólag személyek, lehetnek elemek, dolgok, gépek, berendezések, üzleti egységek, vagy a rendszerrel kapcsolatot létesítő valamely külső rendszerek, rendszerkomponensek. A rendszer szereplőinek specifikációjában az UML modellező nyelv szabályai szerint az aktorokat grafikusan egy pálcikaember jelöli.
Az aktor nevét, amely azonosítja a használati esetet kezdeményező, vagy a használati eset megvalósításában részt vevő szereplőt, a szimbólum alá írjuk (6.1. ábra).
7.1. ábra. Az aktor UML ábrázolása.
Az aktorok egy meghatározott feladatkört (szerepet, jogosultságot) betöltve lépnek kapcsolatba a rendszerrel, csak a konkrét szerepkör birtokában használhatják a szoftverrendszert és azok szolgáltatásait. A feladatok végrehajtását kezdeményező szereplőket kezdeményező szereplőnek, a funkció, használati eset megvalósításában részt vevőket résztvevő szereplőnek hívjuk. Egy használati esetet mindig csak egy aktor kezdeményezhet, egy használati eset megvalósításában viszont több aktor is részt vehet.
A használatieset modell kidolgozásának főbb lépései követelmény-elemzés folyamán a következők:
1. Felvázoljuk a rendszer funkcionális működését
2. Meghatározzuk, hogy melyek azok a funkciók, amelyeket a rendszernek meg kell valósítani, és melyek azok, amelyek a rendszer határain kívül esnek.
3. Meghatározzuk, hogy ki vagy mi fog kapcsolatba kerülni a rendszerrel.
4. A készülő modellt csomagokra bontjuk a megtalált aktorok és használati esetek figyelembe vételével.
5. Elkészítjük a használati eset modellt.
6. Elkészítjük a használati eset modell áttekintő leírását.
Ebben a részfolyamatban a fenti pontok közül a 3. ponton van a fő hangsúly. Az aktorok azonosításának elsődleges célja, hogy megtudjuk, hogy ki vagy mi fog kapcsolatba kerülni a fejlesztendő rendszerrel. Az azonosításukra több lehetőség nyílik. A felhasználóval folytatott beszélgetések, a felhasználói célokat összefoglaló dokumentumok alapján körvonalazódik, hogy mik, vagy kik az érdekeltek a rendszer határán kívül, amik/akik közvetlenül kapcsolatba kerülnek, kommunikálnak a szoftverrendszerrel. Az alábbi kérdésekre adott válaszok is segíthetnek a felderítésükben:
1. Kiknek (milyen felhasználói csoportnak) nyújt segítséget az új rendszer?
2. Kikre van szükség a fő funkciók végrehajtásához? (Kik biztosítják, kezelik az adatokat?)
3. Kik végzik a másodlagos funkciókat, mint például a rendszer karbantartását, adminisztrációját?
4. Lesz-e az új rendszernek kapcsolata más rendszerekkel?
86
A munkafolyamat végén az egyes aktorokról egy rövid leírást kell készíteni, hogy mit vár a rendszertől, és egyben mi a felelőssége.
8.1.3 Követelmény kezelési terv kidolgozása
A fejlesztés során a megrendelőnek, a felhasználónak újabb elképzelései, igényei merülhetnek fel. A korábban specifikált követelmények tehát a fejlesztés folyamán változhatnak, módosulhatnak. A rendszert fel kell készíteni a követelmények változásának követésére. A probléma elemzés munkafolyamatának része egy olyan követelménykezelési terv kidolgozása, amely meghatározza a követelmények típusait az egyes követelmény típusokhoz tartozó attribútumokat és a követelményelemzés során előállítandó dokumentumokat.
A követelmény-kezelési terv útmutatót ad arra vonatkozóan, hogy az egyes követelmények között milyen függőségeket lehet beállítani, és hogy a projekt életciklusa során milyen lépéseket kell végrehajtani a követelmények kezelése során.
8.1.4 Projekt elképzelés kidolgozása
Egyetértésre kell jutni abban, hogy pontosan mi is a megoldandó probléma, hogy milyen célokat kell szolgálnia a fejlesztésnek, mit akarunk vele megoldani. Ebben a fázisban nem megoldást keresünk, hanem a problémát azonosítjuk.
Pontosan meg kell határozni, hogy kik a fejlesztésben az érdekelt személyek: Az érdekeltek azonosítását segíthetik a következő kérdésekre adott válaszok:
− Kik a rendszer tényleges felhasználói?
− Ki a rendszer megrendelője, ki fog érte fizetni?
− Kire lesz hatással a rendszer végeredménye?
− Ki fogja kipróbálni és értékelni a rendszert telepítés után?
− Vannak-e még további, külső vagy belső felhasználói a rendszernek?
− Ki fogja az új rendszert karbantartani?
Az elemzés során meg kell húzni a fejlesztendő rendszer határai, azaz meg kell határozni a rendszerrel támasztott főbb funkciókat. Ebben segít az üzleti modellek felállítása illetve a rendszer fő tulajdonságai. Azonosítani kell azokat a feltételeket korlátozó tényezőket, amelyeket a rendszer fejlesztésekor figyelembe kell venni. A tényezőknek lehetnek politikai, gazdasági, megvalósítási és a rendszer által meghatározott vonatkozásai.
A megoldandó problémákat pontosan definiálni kell. A problémákat fel kell jegyezni, és meg kell vizsgálni, hogy mely érdekeltekre hat, mik a hatásai, és milyenek a lehetséges megoldásai. Meg kell továbbá határozni a fő rendszertulajdonságokat (feature).