TartalomjegyzékElôzô részKövetkezô részMEH IKI kezdô oldal

6. Funkciómeghatározás

A funkciómeghatározási technika a funkciók leírásának és a kapcsolódó bemenet/kimeneti adatszerkezeteknek a létrehozására irányul. A bemenet/ kimeneti adatszerkezet angol rövidítésse IOS (Input/Output Structure).

1. A technika célja

A funkciómeghatározás a feldolgozási specifikáció egységeit, azaz a funkciókat azonosítja, amelyeken a késõbbi fizikai rendszer tervezése alapul. A funkciómeghatározásnak több célja van:

2. A technika rövid leírása

A funkciómeghatározás nem olyan technika, mint a logikai adatmodellezés vagy egyed-esemény modellezés. Inkább egy eljárás, amivel a létezõ termékek alapján azonosítani lehet a rendszer funkcióit és olyan hivatkozások gyûjteményeként lehet használni, amelyek a funkciók egyes elemeit leíró részletekre mutatnak. A technika leírása a funkció építõelemeire vonatkozik illetve arra, hogy az egyes elemek részletes meghatározását a módszer mely részében és milyen technikák használatval lehet kialakítani.

A funkciómeghatározás összekapcsolja a 3. szakaszban meghatározott feldolgozási folyamatokra vonatkozó két nézõpontot. Az igényelt rendszer adatfolyam-modellje a felhasználó nézõpontjából írja le a rendszer folyamatait. A rendszer feldolgozási folyamatainak részleteit az események jelentik, amelyeket az egyed-esemény modellezés során létrehozott eseményhatás-ábrák határoznak meg. Mind a két nézõpont segít a funkciók azonosításában.

A felhasználó részvétele a funkciók azonosításában nagyon lényeges, mivel a fejlesztõk, a felhasználókkal közösen, arról döntenek a funkciók meghatározása során, hogy hogyan lehet a legjobban megszervezni a felhasználó tevékenységét támogató rendszerfeldogozási folyamatokat.

A funkciók olyan feldolgozási egységek, amelyek a felhasználókat támogatják. A funkciók azonosítása során a fejlesztõk és felhasználók azt vizsgálják, hogy a feldolgozás alapelemeit (eseményeket és lekérdezéseket) hogyan lehet a legjobban összerendelni. A felhasználó igényelhet egyedi eseményeket illetve lekérdezéseket, de lehet hogy ezeknek a kombinációjára van szükség, mint funkciókra.

A funkciómeghatározásnak nincsenek pontos szabályai, a fejlesztõk tapasztalatán és tudásán alapul. Elemzési és tervezési elemeket is tartalmaz. Az elemzés nagyrésze arra irányult, hogy a rendszer folyamatait olyan alapegységekre bontsa, amelyek segítenek a követelmények megértésében. A rendszer aktualizáló jellegû feldolgozási részleteit az egyes eseményekhez tartozó eseményhatás-ábrák fejezik ki. A lekérdezõ jellegû feldolgozási részleteket a lekérdezési utak fejezik ki, amelyek a logikai adatmodellezés egyik termékét alkotják. A funkciók meghatározása során ezeket az alkotóelemeket kell használni a felhasználó tevékenységét támogató funkciók felépítésére.

A funkciómeghatározás egy ismétlõdõ folyamat, aminek két nagyobb fázisát érdemes megkülönböztetni. A funkciómeghatározás az igényelt rendszer adatfolyam-modelljének az elkészítése után kezdõdik, az ott létrejött adatfolyam-ábrákat lehet felhasználni a módosító funkciók kezdeti azonosítására. Ezen a ponton egy kezdeti funkció-halmazt lehet azonosítani, ami még nem tartalmaz részleteket a rendszerfeldolgozási folyamatokról. Az egyik cél pont az, hogy a kezdeti funkciókhoz itt egy kiinduló esemény-halmazt is meghatározzunk, amit majd a feldolgozási folyamatok részleteit meghatározó egyed-esemény modellezés fog felhasználni kiindulási alapként.

A második nagyobb lépés a módosító funkciók azonosításában az egyedtörténeti elemzés elvégézése után következik. A funkciómeghatározás kezdeti lépésében meghatározott események nem voltak teljesek. Az egyed-esemény modellezés során újabb események merülhetnek fel. Ami az adatfolyam-ábrák alapján egy eseménynek tûnt, arról kiderülhet, hogy valójában több esemény. Minden új esemény legalább egy funkciónak része kell, hogy legyen, ezért a kezdeti funkciókat felül kell vizsgálni, szükség esetén kiegészítve õket, illetve esetleg új funkciókat kell meghatározni.

A nagyobb lekérdezéseket lehet az adatfolyam-modell alapján azonosítani, de a legtöbb lekérdezõ funkció a követelményjegyzék alapján alakul ki. A módosító funkciók elemzése további lekérdezési követelményeket tárhat fel.

A funkciókat, azonosításukkal kezdõdõen, a funkcióleírásban kell dokumentálni, amit folyamatosan kell bõvíteni az új információkkal, az újabb kapcsolódó termékek hivatkozásaival.

A funkciómeghatározáshoz kapcsolódik egy konkrét résztechnika, ami a funkciók bemeneteit és kimeneteit jeleníti meg egy Jackson típusú ábrán. Ezzel a technikával kell létrehozni a B/K adatszerkezeteket és a kapcsolódó leírásokat.

3. Kapcsolat más technikákkal

Logikai adatmodellezés

A funkciómeghatározás során a lekérdezési követelményeket részletesen kell elemezni. A követelményjegyzék ilyen követelményeit lekérdezõ funkciókká vagy rész-lekérdezésekké kell alakítani. A módosító funkciók meghatározása során is felmerülhetnek ilyen rész-lekérdezési igények, amiket a megfelelõ funkció leírásában azonosítani kell. Mind a lekérdezõ funkciókhoz, mind az azonosított rész-lekérdezésekhez lekérdezési utat kell elõállítani, ami a logikai adatmodellezéshez tartozó tevékenység. A lekérdezési utak összevetik az igényelt rendszer logikai adatmodelljét a lekérdezési követelményekkel, ami az adatmodell módosítását eredményezheti. A B/K adatszerkezetek a lekérdezési utak meghatározásában szerepet játszanak.

Adatfolyam-modellezés

Az igényelt rendszer adatfolyam-modelljét, mint kiindulópontot kell használni a funkciók azonosításában és meghatározásában, de ez a további részletes elemzést nem teszi feleslegessé. Az adatfolyam-modell nem tartalmaz információt az események ütemezésérõl, de segít a folyamatokhoz tartozó adatok azonosításában.

A késõbbiek során az adatfolyam-modellt aktualizálni kell az egyed-esemény modellezés eredményei miatt, ami biztosítja, hogy az adatfolyam-modell, az egyedtörténeti ábrák és az eseményhatás-ábrák a funkciókkal együtt ellentmondásmentes képet adjanak a rendszer feldolgozási folyamatairól.

Relációs adatelemzés

A funkciómeghatározás egyik eredménye funkciónként egy vagy több bemenet/kimeneti adatszerkezet, amit a relációs adatelemzés bemeneteként lehet felhasználni. A B/K adatszerkezeteken az adatok ismétlõdõ csoportjai meghatározzák a relációs adatelemzés kiinduló adathalmazában az ismétlõdõ csoportokat, esetleg több egymásba ágyazott szinten.

Egyed-esemény modellezés

A funkciók kezdeti azonosításakor egy kiinduló esemény halmazt is meg kellett határozni, amit az egyedtörténeti elemzés kiindulópontjaként kell itt felhasználni. Az események a funkciók egyfajta alkotóelemei. Egy esemény az a valami, ami a rendszer adatainak értékeiben vagy állapotában bekövetkezõ változást kezdeményezi.

Az egyedtörténeti elemzés során (360. lépés) új események keletkeznek, amelyeket a funkciókhoz kell kötni. Ennek során világosabb kép kezd kialakulni a rendszer feldolgozási folyamatairól, ami új funkciók létrehozását, vagy a meglévõk módosítását jelentheti. Minden eseményhez létre kell hozni egy eseményhatás-ábrát, felvéve rá az esemény által hordozott adatelemeket. Ezeket az adatelemeket össze kell hasonlítani a funkcióhoz tartozó B/K adatszerkezettel, megbizonyosodva arról, hogy az esemény adatelemeit a funkció bemenetei valamilyen módon tartalmazzák.

Specifikációs prototípus-készítés

A rendszer sikeressége szempontjából kritikus funkciók bemeneti/ kimeneti felületére prototípust kell készíteni. A dialógustervezés írja le a kritikus dialógusok azonosításának módját. A prototípuskészítés bemenetét a kritikus dialógusokhoz tartozó bemenet/kimeneti adatszerkezetek alkotják, de a funkcióleírásokat is fel lehet használni hivatkozásként. A kritikus dialógusok és jelentések hibákat és ellentmondásokat tárhatnak fel a funkciókat leíró dokumentációban. Ezeket a funkciómeghatározás során ki kell javítani.

Dialógustervezés

Minden interaktív funkciót egy vagy több dialóguson keresztül kell megvalósítani. A funkciómeghatározás egyik feladata, hogy azonosítsa azokat a felhasználói szerepköröket, amelyek hozzáférést igényelnek a funkciókhoz. Ezeket a felhasználói szerepkörök leírásában kell felvenni. A dialógusok azonosítása a felhasználói szerepkör-funkció mátrix segítségével történik. A B/K adatszerkezeteket a dialógustervezés során teljes dialógus szerkezetekké kell fejleszteni, a dialógusok nevét a funkcióleírásban fel kell jegyezni.

A funkciómeghatározás során nem kell dokumentálni a dialógusok közötti mozgást, ez a dialógustervezés feladata.

Követelmény-meghatározás

A lekérdezési követelményeket a követelményjegyzék tartalmazza. Ezeket kell funkciókká, vagy funkciórészekké fejleszteni.

A funkcionális követelményekhez esetleg rögzített szolgáltatási szintekre vonatkozó (nem-funkcionális) követelményeket a megfelelõ funkció leírásához lehet rendelni.

Rendszertechnikai alternatívák

A funkció használatának gyakoriságait a funkciót leíró formalap tartalmazza, a funkción belüli események és lekérdezések gyakoriságaival együtt (a szolgáltatási szintekhez tartozó követelményeket a funkciómeghatározás során bõvebben meg kell határozni). Ez az információ szolgál kiindulópontként a rendszertechnikai alternatívák kialakításához.

Logikai adatfeldolgozó folyamatok tervezése

A funkciók feldolgozási részeit, azaz a lekérdezéseket és eseményeket, módosító illetve lekérdezõ feldolgozási modellekké kell itt fejleszteni, a B/K adatszerkezeteket kiindulópontként használva.

Fizikai tervezés

A funkciók a feldolgozási folyamatok specifikációs egységei, amelyek a fizikai tervezés kiindulópontjai lesznek. A funkciók leírásai közvetlenül, vagy más termékekre hivatkozva teljes logikai folyamatspecifikációt adnak minden funkcióhoz.

A funkciómeghatározás és más SSADM technikák

4. Termékek

A funkciómeghatározás termékei:

5. Fogalmak

5.1. Mi a funkció?

A funkció a rendszer azon feldolgozási folyamatainak halmaza, amelyeket a felhasználó ugyanazon idõben akar elvégeztetni az üzleti/mûködési tevékenységének támogatása érdekében. A bemenetbõl, a bemenetre reagáló feldolgozási folyamatokból és ezen folyamatok által elõállított kimenetbõl áll.

A funkciók azok a feldolgozási egységek, amelyeket a fizikai tervezés kiindulópontként használ, és amelyek alapján a program specifikáció egységei létrejönnek. Minden funkció egy programmá vagy több programból álló futtatási egységgé válik.

Az adatfolyam-ábrákon a módosító és nagyobb lekérdezõ funkciók feldolgozási folyamatait egy elemi folyamat, elemi folyamatok csoportjai illetve egy elemi folyamat egy része jelentheti. Az adatfolyam-ábrák önmagukban nem fejezik ki az idõzítést.

Az egyed-élettörténetekben egy módosító funkció megjelenhet olyan események által kiváltott feldolgozásként, amelyeket a felhasználó egyszerre kíván ütemezni, a mûködési/üzleti tevékenység támogatására.

5.2. Funkció típusok

Három módon kell a funkciókat besorolni: Minden funkciót be kell sorolni mind a három kategória szerint.

5.3. A funkció alkotóelemei

Ez a rész a funkció alkotóelemeit írja le és meghatározásuk helyét a módszertanon belül. Minden funkciótípust fel lehet bontani az alkotóelemeire, azaz a bemenetekre, kimenetekre, feldolgozási folyamatokra és a folyamatok között áramló adatokra. Kétféle alkotóelem van: adatáramlások és feldolgozási folyamatok. A következõ ábrákon a nyilak jelölik az adatok áramlását, azaz a bemenõ és kijövõ adatokat az egyes feldolgozásoknál, a lekerekített dobozok pedig a feldolgozásokat jelölik.

Az általános funkciómodell minden fajta funkció leírására használható, bár lehetnek kisebb különbségek közöttük. A következõ ábra ezt az általános funkciómodellt ábrázolja, ami egy fogalmi szintû megjelenítése a funkciónak és nem a funkciómeghatározási technika ábrázolása.

Általános funkciómodell

Az általános funkciómodell által ábrázolt funkcióelemek részleteit több SSADM technikával kell elõállítani: funkciómeghatározás, logikai adatmodellezés, egyed-esemény modellezés, dialógustervezés, logikai adatfeldolgozás tervezése és fizikai tervezés.

A funkciók komponenseinek meghatározása. Az elõzõ ábrán szereplõ általános funkciómodell alapján látható, hogy a funkció szétbontható alkotóelemeire. Ezeket a logikai alkotóelemeket lehet komponenseknek is hívni. A funkciómeghatározási technika nem arra való, hogy meghatározza ezeknek az alkotóelemeknek a részleteit, hanem inkább a funkciók azonosítása és a funkciók alkotóelemeit dokumentáló termékekre való hivatkozás a feladata.

Csak a bemeneti és kimeneti alkotóelemek meghatározása az, ami a funkciómeghatározási technikán belül történik. Ezeket a bemenetek és kimeneteket a bemenet/kimeneti adatszerkezet határozza meg. Az esemény és lekérdezés elemeket szintén a 3. szakaszban kell meghatározni, de nem a funkciómeghatározás részeként. Az események illetve a lekérdezések indításai szerepelnek a funkcióleírásban, de teljes leírást ezekrõl az elemekrõl az egyed-esemény modellezés illetve a logikai adatmodellezés során kell adni.

A 3. szakaszban leírt funkció komponensek

Az eseményekre illetve lekérdezésekre reagáló módosító illetve lekérdezõ feldolgozási folyamatok részleteit az 5. szakaszban kell leírni. A fenti ábrán a névvel ellátott adatáramlások azok, amelyeket a 3. szakaszban kell meghatározni, ahogy azt a következõ bekezdések leírják.

A bemenetek és érvényes kimenetek egy adott funkcióhoz a 330. lépésben kerülnek meghatározásra, adatelemek formájában. Ebben a szakaszban a B/K adatszerkezetek logikai leírást adnak, a hibakezelést nem tartalmazzák. Nem írják le a következõket:

Az események és lekérdezésindítások leírása, amelyeket a bemenõ adatelemek jeleznek, fontos része a logikai folyamatok specifikálásának. Az események által hordozott adatelemeket az egyed-esemény modellezés során kell meghatározni, a lekérdezésindítások adatelemeit pedig a lekérdezési utakkal együtt kell meghatározni.

A funkciómeghatározás során az elemzõnek ellenõriznie kell, hogy az események vagy lekérdezésindítások adatelemeit tartalmazza-e az õket befogadó összes funkció bemeneti adatszerkezete (illetve ha nem, akkor a bemenõ adatok alapján elõállíthatóak-e).

Néhány esetben elõfordulhat, hogy a bemenõ adatelemek között vannak olyanok, amelyeket a módosító vagy lekérdezõ feldolgozási folyamat nem használ fel. Ezek vezérlési adatelemek, amelyek a bemenetek ellenõrzésére szolgálnak, és ezen a ponton figyelmen kívül hagyhatók. A fizikai tervezés során lehet a vezérlési adatokat meghatározni.

A funkcióleírás kitöltése

A funkció leírása az általános funkció modell elemeinek fokozatos meghatározását jelenti a 3., 5. és 6. szakaszban. A következõ felsorolás a különbözõ szakaszokban használt technikákat, a leírt funkcióelemet és a leíró terméket tartalmazza. A funkciók elemeit lehet önálló egységeknek tekinteni, amelyeket bizonyos mértékig elszigetelten is le lehet írni. Ennek ellenére, amikor az építõ egységekbõl létrejön a funkció, biztosítani kell, hogy ezek az egységek illeszkedjenek egymáshoz. Az alkotóelemek egyébként több helyen is felhasználhatók, több funkcióban is szerepelhetnek.

	3. szakasz
	
	logikai adatmodellezés:

	lekérdezési utak	lekérdezésindítás

	egyed-esemény modellezés:

	eseményhatás-ábrák	események
	funkciómeghatározás:

	B/K adatszerkezetek	bemenetek és érvényes kimenetek

	5. szakasz
	
	dialógustervezés:
	dialógus-szerkezetek	bemenetek és érvényes kimenetek

	logikai adatfeldolgozás tervezése:

	feldolgozási modellek	esemény/lekérdezés kimenet
	integritási hibák
	módosító feldolgozási modellek	módosító feldolgozások
	lekérdezõ feldolgozási modellek	lekérdezõ feldolgozások

	6. szakasz

	fizikai feldolgozás meghatározása:

	funkció-komponens megvalósítási terv	szintaxis és vezérlési hibák
	bemenetek és érvényes kimenetek
	B/K feldolgozási folyamatok
	hiba kimenetek

6. A funkciók kialakítása

A lekérdezési követelményeket már az 1. szakasztól kezdõdõen azonosítani lehet, de funkciókhoz csak akkor lesznek rendelve, amikor a módosító funkciókat határozzák meg, a 3. szakaszban ("Követelmények meghatározása").

A módosító funkciók kezdeti meghatározása az igényelt rendszer adatfolyam-modelljének kidolgozását követi. A funkciókat ezek után folyamatosan bõvítik, ahogy a dialógusok illetve egyed-élettörténetek fejlõdnek. Fontos kiemelni, hogy a funkciómeghatározás ismétlõdõ folyamat és a felhasználóval szoros kapcsolatot igényel. Bár a következõ tevékenységek leírásainál a funkciók azonosítását követi a felhasználóval való konzultálás, a gyakorlatban ezek a tevékenységek nincsenek elválasztva, hanem inkább kiegészítik egymást.

6.1. Funkciók azonosítása

A funkciókat a 330. lépés során kell dokumentálni ("Rendszer funkcióinak elõállítása"), de több technika is hat a funkciók azonosítására. A funkciók azonosítása azt jelenti, hogy meg kell határozni milyen eseményeket és/vagy lekérdezéseket akar a felhasználó egyszerre feldolgoztatni.

6.1.1. Kezdeti funkciók azonosítása az igényelt adatfolyam-modell alapján

A funkciók egy kezdeti halmazát az igényelt rendszer adatfolyam-modelljébõl kiindulva lehet kialakítani.

Felhasználó által kezdeményezett funkciók:

Elõször a felhasználó által kezdeményezett funkciókat lehet azonosítani az igényelt DFD ábrákról. A legtöbb ezek közül módosító funkció lesz, bár fontosabb lekérdezések is szerepelhetnek az ábrákon. Az azonosítást az alsó szintû ábrák alapján kell megtenni, kiválasztva minden egyes külsõ egyedbõl induló bemenõ adatfolyamot, végigvezetve az adatok útját a folyamat vagy folyamatok során, amelyeket meg kell hívni azért, hogy az adatfolyam adatait fel lehessen dolgozni és végül azonosítva az adattárakban szükséges módosításokat.

Sokszor pontosan egy elemi folyamat alkot egy funkciót, de ez attól is függ, hogy az elemzõ mennyi folyamat-közi adatfolyamot használt az ábrákon. A cél az, hogy azonosítsuk az összes folyamatot, kimenõ adatfolyamot és adattár módosítást, amelyeknek le kell zajlania amíg az eredeti bemenõ adatfolyam összes adata feldolgozásra nem kerül. A DFD ábrák, rajzolásuktól függõen, mutathatnak adatfolyamokat, amelyek olyan események csoportjait fogják össze, amelyeket együtt kell feldolgozni.

Rendszer által kezdeményezett funkciók

Második menetben a rendszer által kezdeményezett funkciókat lehet az igényelt rendszer adatfolyam-ábrái alapján azonosítani. Ezek olyan elemi folyamatok az ábrákon, amelyeknek nincs bemenetük egy külsõ egyed felõl. Ezek idõ-alapú funkciók, amelyeket a rendszer automatikusan indít. Miután a felhasználó által kezdeményezett funkciókat azonosítottuk, meg kell keresni azokat a kimeneteket, amelyek nem tartoznak még funkcióhoz. Ezekhez, visszafelé haladva, meg kell keresni a folyamatot vagy folyamatokat, amelyek létrehozzák a kimenetet, és az adattár módosulásokat, amelyeket ezek a folyamatok okoznak. Ezek az elemek a kimenetekkel együtt alkotják a rendszer által kezdeményezett funkciót.

Végül le kell ellenõrizni, hogy minden elemi folyamatot, a bemeneteivel és kimeneteivel együtt, hozzárendeltünk-e legalább egy funkcióhoz. Ha egy funkciót interaktív és nem interaktív módon is meg kellene valósítani, akkor két funkciót kell létrehozni, a kétféle megvalósítás szerint.

A funkciókhoz tartozó eseményeket is azonosítani kell és fel kell õket sorolni a funkciót leíró formalapon Ezek az események alkotják a kiindulási alapot az egyedtörténeti elemzés részére. Az adatfolyam-ábrákon szereplõ bemenõ adatfolyamok adatelemekbõl állnak. Ezek az adatelemek képviselik az eseményeket és esetenként a lekérdezésindításokat. A bemenõ adatfolyamokat úgy lehet tekinteni, mint események hordozóit.

6.1.2. Kezdeti lekérdezõ funkciók azonosítása a követelményjegyzék alapján

Az igényelt rendszer adatfolyam-ábráin nem szereplõ lekérdezéseket a követelményjegyzék és a felhasználók megkérdezése alapján lehet azonosítani. Eddig a pontig ezeket a lekérdezéseket kevésbé formális módon dokumentálták, mint a módosító funkciókat.

Az egyedtörténeti elemzés során kiderülhet, hogy egy lekérdezõ funkciónak van valamilyen módosító hatása az adatbázisra nézve. A funkciót ilyenkor át kell sorolni a módosító funkciók közé. Ilyen példa lehet az, amikor egy lekérdezõ funkció befolyásolja egy egyed életét, mivel bizonyos esemény nem következhet be addig, amíg az adott lekérdezés nem történt meg. Ez azt jelenti, hogy a lekérdezés megtörténte az egyed állapotjelzõjét módosítja.

6.1.3. A funkció felosztás megvitatása a felhasználóval

Ebben a részben felhasználónak olyan valakit tekintünk, aki jól ismeri az igényelt rendszer által támogatandó terület jelenlegi és jövõbeli mûködését. Lehet, hogy ez a tudás több személyt is érint. Az ideális esetben a felhasználónak joga van dönteni a rendszer mûködési módjáról.

A funkciók meghatározása során végig szoros kapcsolatban kell maradni a felhasználóval, de ezen a ponton részletes információkat tud adni a munkájához tartozó tevékenységekrõl és az ezek közötti kapcsolatokról. Ez lehetõvé teszi, hogy ellenõrizzük az eddigi funkciókat és újakat határozzunk meg.

Az igényelt rendszer adatfolyam-ábrái a rendszer feldolgozási követelményeit rögzítik, de nem a ábrázolják a közöttük lévõ kapcsolatokat és sorrendiséget. A kezdeti funkciók azonosítása után meg kell beszélni a felhasználókkal, hogy szükség van-e létezõ funkciók összevonására újabb funkciókba, illetve lehet-e azonosítani olyan funkciórészeket, amelyeket a felhasználó önállóan is akar indítani.

Ezeknek az új funkciókat létrehozó összevonásoknak és felbontásoknak a felhasználó azon tevékenységein kell alapulniuk, melyek szükségesek a munkájának elvégzéséhez. A funkcióknak támogatniuk kell a felhasználók munkavégzését. A következõ kérdéseket kell feltenni:

"Szüksége van-e a felhaszálónak arra, hogy egy funkció valamely részét önállóan meghívja?" Ha igen, hozzunk létre egy-egy funkciót minden önállóan hívható funkció részhez.

"Szüksége van-e a felhasználónak arra, hogy több funkciót egymás után kezdeményezzen?" Ha igen, hozzunk létre egy funkciót a kombináció lefedésére.

A felhasználókat rá kell vezetni arra, hogy nem kell minden lehetséges esemény-kombinációra új funkciót kialakítani. Ha két esemény bekövetkezhet egymás után, de ez évente egyszer történik meg, akkor nem túl hatékony a költségek szempontjából egy új funkció felvétele emiatt. A felhasználó tudását a munka elvégzésének módjáról ki kell egészíteni a fejlesztõk azon képességével, amely a funkcionális követelmények hatásának felmérését illeti a költségek és bonyolultság szempontjából.

Amikor az elõzõleg azonosított funkciókat összevonják újabb funkciókba, a fejlesztõknek ellenõrizni kell, hogy szükség van-e még az eredeti funkcióra. Ha igen, akkor a kapcsolatot a csoportosító funkció és alkotóelemei között jelezni kell a funkcióleírás "Kapcsolódó funkciók" nevû részében.

6.1.4. A módosító funkciók által igényelt lekérdezések meghatározása

A felhasználói megbeszélések során a módosító funkciók lekérdezési követelményeire figyelmet kell fordítani. Ezek a lekérdezések megjelenhettek az adatfolyam-ábrákon vagy az elemi folyamatok leírásaiban. Ezen felül, az elemzõknek fel kell mérni a felhasználók bevonásával, hogy minden ilyen jellegû lekérdezést azonosítottak-e. Ezek a lekérdezések nem azok az olvasási mûveletek, amelyekre a esemény miatt módosítandó egyed megfelelõ elõfordulásának kiválasztása miatt van szükség. Inkább olyan lekérdezések, amelyekre az esemény feldolgozása elõtt vagy után van szükség. Általában egy ilyen lekérdezés információt nyújt a felhasználónak mielõtt megkezdené a módosító feldolgozást.

Ha a szükséges lekérdezés már létezik önálló lekérdezõ funkcióként, akkor a módosító funkció leírásában kell rá hivatkozni, a "Kapcsolódó funkciók" címszó alatt. Ha nem létezik, akkor a felhasználónak el kell döntenie, hogy az adott lekérdezést lehet-e önállóan is használni, a módosító funkción kívülrõl. Ha igen, akkor egy lekérdezõ funkciót kell létrehozni és a fenti módon hozzákapcsolni a módosító funkcióhoz. Egyébként a lekérdezésnek önálló nevet kell adni és fel kell venni a módosító funkció leírásába, a "Lekérdezések" címszó alá, módosítva a funkció szöveges leírását is. Ezek a lekérdezések lesznek a 360. lépés bemenetei, ahol lekérdezési utakat kell készíteni hozzájuk.

6.1.5. A funkciók módosítása az egyed-esemény modellezés eredménye miatt

Az egyed-esemény modellezés elvégzése után a funkciómeghatározás második nagyobb menete következik, aminek során a rendszer teljes funkció-halmazát kell elõállítani.

Az egyedtörténeti elemzés során újabb eseményeket lehet azonosítani. Minden ilyen új eseményt hozzá kell rendelni legalább egy funkcióhoz. Egy esemény gyakran jelenik meg egy funkcióként, de itt is fontos a felhasználó megkérdezése. Minden új funkcióhoz létre kell hozni a funkcióleírást, a létezõ funkciók leírását pedig szükség esetén módosítani kell.

Az új események funkciókhoz rendelése során az igényelt rendszer adatfolyam-modelljét is módosítani kell, jelezve az eddig esetleg hiányzó feldolgozásokat illetve kijavítva az esetleges hibákat. Ez nem jelenti azt, hogy az adatfolyam-ábráknak minden esemény minden lehetséges kombinációját ki kellene fejezniük, de a funkciók által jelzett feldolgozási folyamatoknak valahol meg kell jelenniük az ábrákon. Ez azt jelenti, hogy minden esemény feldolgozási folyamatának meg kell jelennie legalább egy elemi folyamatban.

6.1.6. A funkciók módosítása a specifikációs prototípus-készítés miatt

A specifikációs prototípus kiértékelése során a felhasználók további esemény-kombinációkat azonosíthatnak, amiket funkcióként fel kell venni. Szintén felmerülhet a funkciók leírásának módosítása.

6.2. Az események funkciókba való csoportosításának ellenõrzése

A funkciók új események miatti módosítása után az események funkcióba csoportosítását le lehet ellenõrizni, különösen a nem interkatív funkcióknál. A bemenõ adatok funkcióba csoportosítását az adatfolyam-ábrák és felhasználói megbeszélések alapján lehetett kialakítani. Van néhány olyan viszonylag objektív szempont, ami alapján ennek a csoportosításnak az érvényességét meg lehet vizsgálni. Ezek a szempontok a funkció bemenõ adatait események kötegeinek tekintik. Eseményeket egy funkció bemeneteként össze lehet vonni, ha:

Természetesen minél több szempontnak felel meg, annál jobb az adott csoportosítás.

A fenti szempontokat nem csak ellenõrzésre lehet használni, hanem a nem interkatív funkciók kezdeti azonosítására is.

6.3. A közös feldolgozási folyamatok kiemelése

A közös folyamatok kezdeti azonosítását már az adatfolyam-ábrák rajzolása során el lehetett végezni, az elemi folyamatok leírásában. Akkor még nem különböztették meg a magas szintû (funkció vagy esemény) és az alacsony szintû (adat átalakítás, számítási eljárás) közös részeket.

Az adatfolyam-ábrák és elemi folyamatok leírásai által nyújtott,viszonylag kevéssé formális leírást a rendszer folyamatairól helyettesíti a funkciók, események és lekérdezések formálisabb meghatározása. Ennek ellenére néhány, az elemi folyamatok között leírt, közös feldolgozási folyamatot tovább lehet vinni a megvalósításig.

A funkciók meghatározása során a közös elemi folyamatokat elemezve két lehetséges eredményre juthatunk. Minden olyan közös használatú elemi folyamatot, amely funkcióvá, eseménnyé vagy lekérdezéssé vált, meg kell jelölni és nem kell továbbvinni.

A megmaradó közös elemi folyamatokra rá kell vezetni az felhasználó funkció, esemény vagy lekérdezést nevét (vagy neveit) és hivatkozni kell rájuk a funkcióleírás megfelelõ részén. Ha a funkciómeghatározás során további alsó szintû közös feldolgozási folyamatok bukkannak fel, akkor azokat is fel kell venni az elemi folyamatok leírásába a fentiek szerint.

6.4. A funkciók dokumentálása

A 330. lépés ("Rendszer funkcióinak elõállítása") során azonosított funkciókat a funkcióleírásban kell dokumentálni. A kezdeti azonosításkor még nem áll rendelkezésre az összes információ a funkciók dokumentációjának a teljes kitöltéséhez. Ahogy ez az információ létrejön, a módszer különbözõ pontjain, a funkcióleírásokat megfelelõen ki kell egészíteni.

A szolgáltatási szintekre vonatkozó követelményeket a 330. lépésben kell felvenni a funkciókhoz és a 370. lépés során kell leellenõrizni a teljességüket ("A rendszer céljainak véglegesítése").

6.5. B/K adatszerkezetek létrehozása minden funkcióhoz

Az igényelt rendszer adatfolyam-modelljének létrehozásakor minden rendszerhatárt átlépõ adatfolyamhoz készíteni kellett egy bemenet/ kimenet leírást. Ez egy egyszerû lista az adatfolyam által hordozott adatelemekrõl, bár minden további információt jelezni lehetett a megjegyzések oszlopában. Ilyen megjegyzés lehetett az adatelem választhatósága, adatelemek ismétlõdõ csoportjainak jelzése, az adatelemek feltételessége, amiket azért kellett feljegyezni, mert a B/K adatszerkezetek kialakításánál segítséget nyújthat.

A 330. lépésben, mikor a funkciók meghatározása elkezdõdik, a lekérdezõ folyamatok a követelményjegyzékben vannak dokumentálva, egyszerû leírás formájában. A nagyobb lekérdezések megjelenhettek az igényelt rendszer adatfolyam-ábráin, a kapcsolódó B/K leírásokkal, de a lekérdezések többségéhez nincs ilyen leírás. Ezért, a B/K adatszerkezetek létrehozása érdekében, a lekérdezés bemenõ és kimenõ adatelemeit azonosítani kell. Ez a gyakorlatban egyszerre történik a következõ tevékenységgel, ami a B/K adatszerkezetet hozza létre a lekérdezéshez. Ezeket a lekérdezéshez tartozó adatelemeket nem kell külön dokumentálni, elég a B/K adatszerkezeti ábra és a B/K adatszerkezet leírása.

Minden funkcióhoz teljes B/K adatszerkezetet kell létrehozni, azaz a B/K adatszerkezeti ábrát és a B/K adatszerkezet leírását. A B/K adatszerkezeti ábrák a B/K leírásokban szereplõ adatelemek megjelenítései, az interaktív adatfolyamok esetében kiegészítve a rendszer válaszaival. A B/K adatszerkezetek nem foglalkoznak a hibakezelési válaszokkal.

6.5.1. B/K adatszerkezet jelölésmódja

A B/K adatszerkezetek Jackson típusú jelöléseket használnak sorrendiség, választhatóság és ismétlõdés jelölésére. A részletes leírást az SSADM termék leírásai közül az "SSADM struktúra ábra" címû részben lehet találni. Ez a leírás a B/K adatszerkezetek elkészítéséhez szükséges jelölésbeli kiegészítéseket és módosításokat tartalmazza.

B/K adatszerkezeti részlet

A fenti B/K adatszerkezet-részlet egy egyszerû sorrendiséget ábrázol, amit balról jobbra haladva kell kiolvasni. Minden elem (legalsó szintû levél a szerkezetben) egy vagy több olyan adatelemet jelöl, amely átlépi a rendszer határait. A B/K adatszerkezet egy elemébe tartozó adatelemeket a B/K adatszerkezet leírásában kell dokumentálni. Minden elemet meg kell jelölni, vagy bemenetként vagy kimenetként. A B/K adaszerkezetek és leírásaik elkészítésük után teljes leírást adnak egy funkció bemenõ és kimenõ adatelemeirõl.

A B/K adatszerkezetek elõállításánál az interaktív bemeneteket és kimeneteket másképpen kell kezelni, mint a nem interaktívakat.

6.5.2. Interaktív funkciók vagy funkció elemek

A funkcióhoz tartozó és az igényelt rendszer adatfolyam-ábráiról származó összes B/K leírás azonosítóját a funkcióleírás tartalmazni fogja. Az elemzõnek ehhez azonosítania kell az összes bemenõ és kimenõ adatfolyamot, amelyek együtt alkotják a felhasználó és a rendszer közötti párbeszédet. A legtöbb esetben egyetlen adatfolyam ábrázolja a felhasználó és a rendszer közötti párbeszédet, de lehet, hogy a rendszer fontosabb reakcióit külön adatfolyamok ábrázolják. Az adatfolyamot vagy adatfolyamokat, amelyek a párbeszédet jelentik, azonosítani kell és a hozzájuk tartozó B/K leírásokat fel kell használni a B/K adatszerkezetek létrehozására. A szerkezet a felhasználó és a rendszer közötti párbeszédet fogja leírni.

A funkcióhoz tartozó B/K leírásokat kindulópontként használva, felhasználói megbeszélések során azonosítani kell az adatcsoportokat, amelyeket a felhasználó ad a rendszernek és a rendszer válaszait, amelyeket ezekre a bemenetekre nyújt. Lehet, hogy néhány ezek közül a válaszok közül szerepel az igényelt rendszer adatfolyam-ábráin, mint kimenõ adatfolyam, és így létezik hozzá B/K leírás, de a többség valószínûleg nem szerep az adatfolyam-modellben. A rendszer válaszai között sokszor szerepelnek ellenõrzési tételek, például a felhasználó beadja egy tulajdonos személyi számát és erre a rendszer kiírja a tulajdonos nevét, amivel lehetõvé teszi a bevitel helyességének ellenõrzését.

A következõ szabályokat kell betartani az adatelemek csoportosításánál:

A szabályokat használva azonosítani kell: Azonosítani kell a csoportosított bemenetek és kimenetek sorrendjét.

Rajzolni kell egy szerkezetet, a Jackson jelölést felhasználva a bemenetek és kimenetek sorrendiségének jelölésére, az ismétlõdõ csoportokat ismétlõdésként, a nem kötelezõ vagy egymást kizáró csoportokat választási lehetõségként ábrázolva.

6.5.3. Nem interaktív funkciók vagy funkció elemek

Egy nem interaktív funkció bemenõ és kimenõ adatfolyamait nem kell egymásba ágyazni a felhasználó és a rendszer párbeszédének kifejezésére, mint az interaktív dialógusok esetében. Ezek után egy nem interaktív funkció vagy funkció elem minden bemenetéhez és kimenetéhez külön B/K adatszerkezetet kell készíteni.

Ezeket a fizikai tervezés során össze lehet majd esetleg vonni, de ezen a ponton az elemzõ egyetlen feladata a bemenetek és kimenetek szerkezetének modellezése.

A nem interaktív B/K adatszerkezetek elõállítására vonatkozó szabályok hasonlóak az interaktívaknál leírt szabályokhoz, kivéve azt, hogy itt nem merül fel a bemenõ és kimenõ elemek szétválasztása, mivel eleve minden szerkezet vagy bemenetet vagy kimenetet ábrázol.

7. Formalapok

7.1. Funkcióleírás

Minden funkcióhoz létre kell hozni egy funkcióleírást. Ez a leírás egyrészt a felhasználó számára könnyen érthetõ módon írja le a funkciót másrészt a funkció komponenseit részletesen specifikáló dokumentumokra hivatkozik. A címszavak alatt szereplõ K jelzi, hogy kötelezõ kitölteni, N a nem kötelezõ kitöltést jelzi.

Funkció típus
(K)
Három szempontból lehet a funkciókat besorolni:
a feldolgozás típusa szerint - vagy módosító vagy lekérdezõ
megvalósítás típusa szerint - vagy interaktív vagy nem interaktív
kezdeményezés típusa - vagy felhasználó vagy rendszer által kezdeményezet
Minden funkciót be kell sorolni minden szempontból.
Funkció azonosító
(K)
Egy egyedi numerikus azonosító.
Funkció neve
(K)
Egy név, amely leírja a funkció feldolgozási folyamatát.
Felhasználói szerepkörök
(K az interaktív funkciókhoz)
Az interaktív funkciók felhasználói szerepkörei, amelyek hozzáférhetnek az adott funkcióhoz. A funkcióhoz tartozó felhasználói szerepköröket a megfelelõ elemi folyamatokat kezdeményezõ külsõ egyedek alapján lehet azonosítani. Általában a rendszert használó külsõ egyedek nevei megegyeznek a felhasználói szerepkörök nevével. Ha nem ez a helyzet, akkor a felhasználói szerepkörök leírását kell elõvenni az azonosításhoz. A funkció biztonsági szintjeit a hozzáférõ felhasználói szerepkörök határozzák meg.
Funkció leírása
(K)
Rövid leírás a funkcióról, beleértve a funkció kezdeményezésének indokát, a rendszer reagálásának módját erre a bemenetre és a funkció által elõállított kimenet. Le kell írni a felhasználók igényeit is a funkció megjelenési módjáról, ami a dialógustervezésben segít majd.
Hibakezelés
(N)
A funkciómeghatározás során felderített hibakezelési módok áttekintése. Ez semmiképpen nem jelent teljes dokumentálást itt; arra lehet használni, hogy nem formális módon rögzítsük az információkat, amikor felbukkannak. Lehet hivatkozni az igényelt rendszer adatfolyam-ábráján szereplõ elemi folyamatra, ha az írja le a hibakezelést. Az érvényességi vizsgálatokat az adatjegyzékben kell leírni.
DFD elemi folyamatok
(K az interaktív funkciókhoz)
Azok az alsó szintû folyamatok az igényelt rendszer adatfolyam-ábráiról, amelyek a funkció által igényelt feldolgozási folyamatokat jelzik. Az adatfolyam-ábrák részletességi szintjétõl függõen ez egy vagy több elemi folyamatot jelent. Ha az igényelt rendszer adatfolyam-ábrái magas szintûek (kevéssé részletesek), akkor lehet, hogy egy elemi folyamat több funkciót is eredményez.
B/K leírások
(K a módosító funkciókhoz)
Minden rendszerhatárt átlépõ adatfolyamhoz tartozik egy B/K leírás. A funkcióhoz tartozó adatfolyamok ezen leírásaira lehet itt hivatkozni.
Követelményjegyzék hivatkozás
(K)
Hivatkozás arra a követelményjegyzékbeli bejegyzésre, amelyik a funkciót eredményezte.
Kapcsolódó funkciók
(N)
Hivatkozás bármely kapcsolódó funkcióra. Például, ha egy nem interaktív funkció a hibákat elmenti egy átmeneti adattárba, egy interaktív funkció segítségével pedig késõbb kijavítják ezeket a hibákat, akkor a két funkciót külön kell felvenni, de a kölcsönös hivatkozásokkal össze lehet õket kapcsolni.
Közhasznú folyamatok
(N)
Hivatkozás bármely, a funkció által felhasznált olyan közös feldolgozásra, amely alacsonyabb az esemény vagy lekérdezés szintjénél. Ezt a közhasznú folyamatot az elemi folyamatok leírásai közé kell felvenni.
Események
(K a módosító funkciókhoz)
A módosító funkciók esetében azok az események, amelyeket a funkció feldolgoz. Az eseményeket kezdetben az igényelt rendszer adatfolyam-modellje alapján kell azonosítani, majd az egyedtörténeti elemzés során kell õket ellenõrizni illetve módosítani. Ha egynél több esemény van a funkcióhoz, akkor jelezni kell, hogy ezek a funkció minden indításánál megjelennek, vagy esetleg kölcsönösen kizárják egymást (azaz együtt következnek-e be, vagy egyik a másik helyett). Ez akkor lesz nagyon hasznos, amikor a funkció gyakoriságát az események gyakorisága alapján kell számolni. Az eseményeknek numerikus azonosítójuk van.
Esemény gyakorisága
(K a rendszertechnikai alternatívák elõtt az eseményeket tartalmazó funkciókhoz)
A funkció minden eseményéhez a funkción belüli gyakoriság. Ez általában 1. Ha több esemény is tartozik a funkcióhoz, és ezek némelyike kölcsönösen kizár másokat, vagy nem kötelezõ, akkor ezek gyakorisága egynél kisebb szám lesz. Például egy eseménynek, amely a funkció indítások felében jelenik csak meg, a gyakorisága 0,5. Egy funkción belül többször ismétlõdõ esemény gyakorisága több lesz, mint 1.
B/K adatszerkezetek
(N, de a 330. lépés végére meg kell lennie)
A funkcióhoz tartozó B/K adatszerkezetek egyedi numerikus azonosítója. A B/K adatszerkezeteket a funkció azonosítója és egy sorszám azonosítja. Minden B/K adatszerkezet egy B/K adatszerkezeti ábrából és egy B/K adatszerkezet leírásból áll.
Mennyiségi adatok
(a funkció használatának gyakorisága, K a rendszertechnikai alternatívák elõtt)
Világos jelzés a funkció elõfordulásainak számára egy adott idõszak alatt. Ha van bármely elõrelátható csúcsterhelés illetve pangás valamely idõszakban, azt jelezni kell. Például egy funkció használatában lehetnek idõszakos ingadozások az év során, helyi jellegû ingadozások havi szinten illetve lehetnek csúcsok és mélypontok a munkanapokon. Erre a mennyiségi információra a szolgáltatási szintekre vonatkozó követelmények kivitelezhetõségének becslésénél és a rendszertechnikai alternatívák kapacitási követelményeinek elõrejelzésénél lesz szükség.
Lekérdezés
(K a lekérdezést tartalmazó funkciókhoz)
A funkció által igényelt lekérdezések nevei. Minden lekérdezõ funkcióhoz illetve lekérdezést tartalmazó módosító funkcióhoz tartozik egy elérési út, amely a lekérdezések támogatásához szükséges egyedeket és kapcsolatokat tartalmazza. Ezek a lekérdezési utak egy-egy megfeleltetésben vannak a lekérdezésekkel és ezeket azonosítja a lekérdezés neve.
Lekérdezés gyakorisága
(K a lekérdezést tartalmazó funkciókhoz)
Ld. az esemény gyakoriság, feljebb. Minden funkción belüli lekérdezéshez a lekérdezés gyakorisága a funkcióhoz képest.
Dialógus nevek
(K az interaktív funkciókhoz a 330. lépés végére)
Az interaktív funkciók esetén, a dialógusok azonosítása után a funkció leírását ki kell egészíteni a dialógusok neveivel. Általában egy dialógus tartozik egy funkcióhoz, de ha több felhasználó is használhatja az adott funkciót és ezek közül az egyiknek másképp kell látnia a funkciót, akkor több dialógust is létre kell hozni.
Szolgáltatási szintre vonatkozó követelmények (M a 370. lépés végére) Leírás A szolgáltatási szintre vonatkozó követelmény leírása.
Cél-érték Számszerû megfogalmazása a teljesítmény, méret, költség kielégítõ szintjeinek.
Tartomány Maximális és minimális cél-érték.
Megjegyzések Bármely megjegyzés, ami minõsíti a cél-értéket és az elfogadható tartományokat.

A funkcióleírások átveszik a követelményjegyzék szerepét a szolgáltatási szintek leírásában. Ezeket a szolgáltatási szintekre vonatkozó követelményeket a funkciók leírásában ki kell tölteni a 370. lépés végéig, mivel a rendszertechnikai alternatívák kialakításához szükségesek. A szolgáltatási szintek leírását a követelményjegyzék leírása tartalmazza. Ha egy funkciót több dialóguson keresztül kell megvalósítani, akkor különbözõ szolgáltatási szintek tartozhatnak az egyes dialógusokhoz.

7.2. B/K adatszerkezetek

B/K adatszerkezeteket kell létrehozni minden funkcióhoz, a funkció bemenõ és kimenõ adatelemeinek teljes dokumentálására. Ez nem jelenti a bemenetek és kimenetek formátumának a meghatározását. Egy B/K adatszerkezet egy ábrából és a hozzá tartozó leírásból áll. Minden B/K adatszerkezetet a funkció azonosító és egy sorszám azonosít.

B/K adatszerkezet azonosító
(K)
A funkció azonosítója és egy sorszám alkotja az azonosítót, pl. 1/1, 1/2 stb. Funkciónként lehet több B/K adatszerkezet a megfelelõ leírással.
Ábrázolt adatfolyamok
(K a módosító folyamatokat)
A B/K adatszerkezet által ábrázolt adatfolyamok hivatkozásai (külsõ egyedekbõl elemi folyamatokba vagy elemi folyamatokból külsõ egyedekbe). Ez az adatfolyamokat dokumentáló B/K leírásokra is hivatkozás.
B/K adatszerkezeti elem neve
(K)
A B/K adatszerkezeti ábrán szereplõ összes elem neve.
Adatelem neve
(K)
A B/K adatszerkezeti elemkhez tartozó adatelemek nevei.
Megjegyzés
(N)
Bármely információ az adatelem vagy adatelem csoportok funkcióbeli használatáról. Például egy ismétlõdõ elem esetén az ismétlõdések száma és feltétele, a nem kötelezõ adatelemek vagy csoportok esetén a feltételek.

TartalomjegyzékElôzô részKövetkezô részMEH IKI kezdô oldal