Követelménytervezés meghatározása
A követelménytervezés során az elsődleges cél, hogy megértsük a fejlesztendő rendszert és annak működését. Ebben a szakaszban kell meghatározni, hogy milyen szolgáltatásokat kell nyújtania a rendszernek.
A szoftverfejlesztés ezen szakaszában vétett hibák javítása hatalmas költségekkel járhat, ezért nagyon fontos a folyamatos ellenőrzés ebben a szakaszban. Ennek a folyamatnak a végén megszületik a követelmény dokumentum, ami egyben a rendszer specifikációja.
Követelménytervezés folyamata
Megvalósíthatósági tanulmány
A követelménytervezés első lépéseként, ebben a szakaszban döntjük el, hogy érdemes-e egyáltalán lefejleszteni az adott rendszert. A megvalósíthatósági tanulmány egy rövid, tömör dokumentum amely a következő kérdésekre próbál választ adni:
- Hozzájárul-e a rendszer a szervezet célkitűzéseinek eléréséhez?
- Megvalósítható-e a rendszer a jelenlegi technológiával és pénzügyi kerettel?
- Integrálható-e a rendszer a jelenleg használatban lévő többi rendszerrel?
A megvalósíthatósági tanulmány során információt kell gyűjtenünk, értékelést kell végeznünk és meg kell írnunk a jelentést.
Követelmény gyűjtés és analízis
A követelménytervezés második nagyobb része. Ebben a szakaszban szorosan együtt kell működniük a fejlesztőknek, az ügyfélnek és a végfelhasználóknak is, hogy kiderítsék milyen szolgáltatásokat kell nyújtania a rendszernek.
A következő tevékenységeket kell elvégezni ebben a szakaszban:
- Követelmények feltárása: az érdekelt felekkel való kommunikáció során fel kell tárni az igényeiket. Ebben a fázisban kerül feltárásra az alkalmazás környezet követelményei is.
- Követelmények osztályozása és szervezése: a kapcsolódó követelmények csoportosítása és rendszerbe szervezése.
- Prioritások és tárgyalások: a követelmények fontossági sorrendbe állítása.
- Követelmények dokumentálása.
A követelmények feltárására a következő módszereket lehet alkalmazni:
Nézőpontok
A nézőpontok lehetőséget adnak a követelmények strukturálására, az érdekelt felek szempontjainak reprezentálására. Az érdekelt felek különböző nézőpontokba sorolhatók.
Fontos a több szempontból való elemzés.
A nézőpontok típusai:
- Interaktor nézőpontok: olyan emberek vagy rendszerek, amelyek kölcsönhatásban vannak a rendszerrel.
- Indirekt nézőpontok: azon érdekelt felek, akik ugyan nem használják a rendszert közvetlenül, de befolyással vannak a követelményekre.
- Alkalmazási környezet (domain) nézőpontok: olyan környezeti jellemzők, amelyek hatással vannak a követelményekre (pl.: banki környezetben bizonyos biztonsági előírások).
Nézőpontok meghatározása:
- Mind a rendszernek szolgáltatást adók és a rendszert igénybe vevők.
- A rendszerrel együttműködő más rendszerek.
- Szabályzatok és szabványok.
- A funkcionális és nem-funkcionális követelmények forrásai.
- A rendszerfejlesztő és üzemeltető szakemberek.
- Üzleti szempontok, pl.: marketing.
Interjúk
Az érdekelt feleknek kérdéseket teszünk fel interjúk során az éppen használatban lévő rendszerről és amit mi fogunk fejleszteni. Ezek az interjúk lehetnek formálisak és informálisak is.
Az interjúk típusai:
- Zárt: amikor egy előre meghatározott kérdés csoportra kell válaszolni.
- Nyílt: amikor nem határozunk meg egy pontos menetrendet, hanem a megválaszolandó problémákat az érdekelt felekkel együtt vizsgáljuk meg.
Hogyan néznek ki az interjúk a gyakorlatban?
- Általában nyílt és zárt interjúk egyvelege.
- Jó képet kapunk arról, hogy pontosan mit csinálnak az érdekelt felek és hogyan hatnak egymásra a rendszerrel.
- Fontos kiemelni, hogy az interjúk nem jók az alkalmazási környezet (domain) követelményeinek feltárására:
-
- A megrendelők nem értik az alkalmazás-specifikus terminológiát, amit a fejlesztők használnak.
- A megrendelő nem tartja szükségesnek vagy elfelejt megemlíteni olyan alkalmazás környezeti információkat, ami számára magától értetődő.
Milyen egy hatékony interjú?
- Az interjú készítőjének elfogulatlannak kell lennie, figyelnie kell az ügyfélre és nem szabad, hogy legyen bármilyen prekoncepciója a követelményekről.
- Az interjúalany számára kell, hogy legyenek kérdései és javaslatai.
Szcenáriók (forgatókönyvek)
A szcenáriók olyan valós életből vett példák arról, hogy hogyan kell használni a rendszert.
Mit kell tartalmazniuk a forgatókönyveknek?
- A kiinduló szituáció leírását.
- Az események normál menetének leírását .
- Azokat az eseteket is tartalmaznia kell, hogy mi sikerülhet rosszul (kivételkezelés).
- Más párhuzamos tevékenységekről információt.
- A szcenárió befejezése utáni állapot leírását.
Esettanulmányok (use cases)
Az esettanulmányok szcenárió alapú technika. Meghatározza az interakciókban résztvevő aktorokat és leírja magát az interakciót is.
A rendszerrel kapcsolatos valamennyi lehetséges interakciót le kell írni esettanulmányokkal.
A szekvencia-diagramok részletes információt csatolhatnak az esettanulmányokhoz. Bemutatják az események kezelésének sorrendjét a rendszerben.
Társadalmi és szervezeti tényezők
A rendszereket általában valamilyen társadalmi vagy szervezeti környezetben használják ezért ezek befolyásolhatják, meghatározhatják a követelményeket.
A társadalmi és szervezeti tényezők nem egyetlen nézőpontot alkotnak, hanem befolyással vannak a többi nézőpontra.
A jó elemzéshez ezekre a tényezőkre fogékonynak kell lenni, mert jelenleg nincs szisztematikus rendszer erre.
Etnográfia
Az etnográfia egy technika a követelmények felderítésére és jobb megértésére.
A technika a megfigyelésen alapszik, az elemző elmélyed abban a munka vagy társadalmi környezetben, ahol a rendszert használni fogják. Jegyzeteket készít a munkáról és annak feladatairól.
A technika fontossága abban rejlik, hogy általában az emberek nehezen tudják elmagyarázni a munkájuk részleteit. Értik azt a munkát, amit végeznek viszont nem feltétlenül tudják, hogy milyen összefüggésben van a munkájuk a szervezet többi részével. Egy kívülálló személy objektíven tudja végigkövetni a folyamatokat.
Követelmény validáció
A követelmény validáció célja, hogy igazoljuk, valóban azt tartalmazzák a követelmények, amit a megrendelő akar.
A validáció fontosságát az is mutatja, hogy egy követelményekben maradó hiba utólagos javítása sokkal nagyobb költségű lehet mint egy esetleges implementációs hiba javítása.
Követelmények ellenőrzése
- Érvényesség: az ügyfél igényeit legjobban kielégítő szolgáltatásokat nyújtja a rendszer?
- Konzisztencia: a követelmények között vannak ellentmondások, konfliktusok?
- Teljesség: a megrendelő számára minden szükséges információ rendelkezésre áll?
- Realitás: implementálható-e a rendszer a jelenlegi technológiával és költségvetéssel?
- Verifikálhatóság: a követelmények teljesítése ellenőrizhető?
Milyen technikák vannak a követelmények ellenőrzésére?
- Követelmény szemle (review, walkthrough): a követelmények kézi ellenőrzése szisztematikusan.
- Prototípus készítése: a rendszer végrehajtható modelljének segítségével ellenőrizzük a követelményeket.
- Tesztek készítése: tesztelhetőség (verifikálhatóság) ellenőrzése követelmény tesztek kidolgozásával.
Követelmény szemlék
A követelmények kidolgozásakor rendszeresen szemléket kell tartani. Ezeken a szemléken az ügyfélnek és a beszállítónak is részt kell vennie. Ezek lehetnek formális szemlék (ahol dokumentációk készülnek) vagy informálisak is.
Fontos, hogy jó legyen a kommunikáció a felek között ezzel is felfedjük az esetleges hibákat már a korai stádiumban.
Ellenőrző pontok a szemléken:
- Verifikálhatóság: reálisan tesztelhető a követelmény?
- Érthetőség: mindenki helyesen érti-e a követelményeket?
- Követhetőség: a követelmény eredete pontosan meg van fogalmazva?
- Változtathatóság: megváltoztatható-e a követelmény anélkül, hogy nagyobb hatással lenne más követelményekre?
Követelmény menedzsment
A követelménytervezés során felmerülő követelmények változásának a folyamata.
A követelmények nem teljesek és nem konzisztensek:
- Előfordulhat, hogy új követelmények bukkannak fel, ahogy az üzleti érdekek változnak vagy a rendszerről egyre teljesebb tudásanyag áll rendelkezésre.
- A különféle nézőpontoknak más és más követelményei vannak és ezek egymásnak ellentmondanak.
Változó követelmények
- A fejlesztés során a különféle nézőpontok közötti prioritások megváltoznak
- A követelményeket üzleti szempontból határozta meg a megrendelő viszont ez ellentmond a felhasználói igényeknek
- Megváltozik a rendszer üzleti vagy technikai környezete a fejlesztés során.
Tartós és változó követelmények
- Tartós követelmények: egy szervezett tevékenységéből származtatott stabil követelmények, pl.: egy banknak vannak alkalmazottai és ügyfelei.
- Változó követelmények: a rendszer fejlesztése során előfordulhat, hogy bizonyos követelmények megváltoznak, pl.: bizonyos adatvédelmi jogszabályok a banki folyamatokra hatással vannak.
Követelmény menedzsment tervezés
A követelménytervezés során különböző terveket kell készíteni:
- Követelmények azonosítása: meg kell határozni, hogy a követelmények hogyan lesznek azonosítva.
- Változáskövetési eljárás: a követelmény változás során ezt az eljárást kell követni.
- Követési stratégiák: meghatározzuk, hogy a követelmények közötti összefüggésekről milyen és mennyi információt tárolunk.
- CASE eszköz: milyen CASE eszköz kell a követelmény változások menedzseléséhez.
Követés
A követés a követelmények és a rendszertervezés közötti összefüggésekkel foglalkozik.
- Forrás követés: a követelményeket azokhoz az érdekelt felekhez köti, akiktől a javaslat származik.
- Követelmény követés: az egymástól függő követelmények közötti kapcsolatot kezeli.
- Tervezés követés: a követelmények és a terv elemei közötti kapcsolatok.
Case Eszközök használata
- Követelmények tárolása: célja, hogy a követelményeket egy biztonságos adattárban tároljuk.
- Változásmenedzsment: egy olyan munkafolyamat, amelynek állapotait definiálva ezen állapotok közötti adatáramlást részben automatizálható.
- Követés-menedzsment: a követelmények közötti kapcsolatok automatikus kinyerése.
Követelmény-változás menedzsment
Minden javasolt követelmény változás esetén végre kell hajtani.
Főbb részei:
- Probléma-analízis: a követelményekkel kapcsolatos problémák megvitatása és javaslat a változtatásra.
- Változtatás-analízis és költségbecslés: a változás hatásának becslése más követelményekre.
- Változtatás végrehajtása: a követelmény-dokumentum és a kapcsolódó dokumentumok megváltoztatása.