Követelménytervezés a gyakorlatban

post-thumb

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:

  1. Hozzájárul-e a rendszer a szervezet célkitűzéseinek eléréséhez?
  2. Megvalósítható-e a rendszer a jelenlegi technológiával és pénzügyi kerettel?
  3. 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.

- TesterLab -

Megosztás: