Gyurkó György
Az állapotmodellezés célja Általánosságban ugyanaz, mint a többi dinamikus modellezési technikáé: Jobban megismerni a problémát. Finomítani a statikus modellt. Utólagosan magyarázatot adni egy megoldásra De mindehhez egy újabb, speciális nézőpontot nyújt.
Jobban megismerni a problémát Szekvencia-diagram Több objektum együttműködését, kommunikációját mutatja Egy kiragadott, konkrét szituációt mutat be / tesz elemezhetővé, magyarázhatóvá Állapotdiagram Egy - adott típusú - objektum teljes életrajzát mutatja Típusszintű modell, mert az adott típus minden példányára érvényes Összevetés a szekvencia-diagrammal Az állapotdiagram megmutatja, hogy egy adott típusú objektum : az élete során milyen állapotokat vehet fel, milyen eseményekre kell reagálnia; adott állapotból milyen okok (események, döntések) hatására „billen át” az objektum egy másik állapotba
Az állapotmodellezés célja Általánosságban ugyanaz, mint a többi dinamikus modellezési technikáé: Jobban megismerni a problémát. Finomítani a statikus modellt. Utólagosan magyarázatot adni egy megoldásra De mindehhez egy újabb, speciális nézőpontot nyújt.
1. példa: A digitális óra kezdeti teendői
2. példa: Felhasználói akciók feldolgozása
A szekvencia-diagram szimbólumai Példaobjektumok (életvonal, vezérlési fókusz) Általános (nem tipizált) objektum Aktor Vezérlő objektum Határfelületi objektum Entitás Üzenetek Szinkron Aszinkron Létrehozás üzenet Vezérlés visszaadása (visszaadott érték) Saját(magának) üzenet Függés Megjegyzés
Példaobjektumok Aktor Határfelületi objektumok Általános objektumok Vezérlő objektum Entitás: nyilvántartott egyedet jelentő objektum (üzleti / szakterületi logika részét képező objektum)
Példaobjektum életvonala és a vezérlési fókusz Életvonal (az idő „lefelé halad”) Vezérlési fókuszok A vezérlési fókusz ideje alatt az objektum a vezérlés birtokában van, vagy a vezérlés visszaadására vár. (Az utóbbi aszinkron hívó objektum esetére nem vonatkozik.)
Üzenetek / 1 Szinkron üzenet: A hívó várakozik, amíg a hívott vissza nem adja a vezérlést. (Ugyanez a jele a nem specifikált üzenetnek is.) Aszinkron üzenet: A hívó folytatja működését (nem várakozik vezérlés-visszaadásra, hiszen saját szála van). Vezérlés visszaadása (visszaadott érték): Csak szinkron módú eljáráshívás esetén van értelme. Csak akkor alkalmazzuk, ha jelezni akarjuk, hogy a konkrét esetben mi a visszaadott érték.
Üzenetek / 2 Létrehozás üzenet Saját(magának) üzenet Annak részletezésére alkalmazzuk, hogy mit csinál a megszólított objektum.
Mire használjuk a szekvencia-diagramot? Használati eset részletező kifejtésének eszköze - Cél: A használat eset alatt a felhasználó és a szoftver közötti kommunikáció részletezése (forgatókönyv). Előzetes elemzések eszköze, előzetes elképzelések írhatók le vele – Cél: meghatározni milyen tagfüggvényekkel, milyen navigációjú asszociációkkal, milyen adattagokkal kell kiegészíteni a statikus modellt. A szerkezeti modell utólagos magyarázatának eszköze – Cél: megmutatni az objektumoknak azt az időbeli viselkedését, amely egyfelől a szerkezetből nem látszik, másfelől érthetővé teszi azokat a szerkezeti megoldásokat, amelyek csak az elvárt időbeli viselkedés miatt indokoltak.
A szekvencia-diagrammal végzett elemzések lehetséges folyományai Új tagfüggvény – Egy u(...) üzenettel megszólított a:A objektum A osztályának definíciójában szerepelni kell egy u(...) tagfüggvénynek. Új asszociáció – Ha b:B objektum szólítja meg az u(...) üzenettel a:A objektumot, akkor általában kell lenni egy B A asszociációnak (amely az A irányában navigálható). (Ez alól kivétel az az eset, amikor a b:B objektum egy harmadik objektumtól megkérdezheti vagy egy harmadik objektumtól paraméterként megkaphatja az a:A objektum hivatkozását.) Új adattag – A fentebb említett B A asszociációnak az A -végéhez tartozó szerepnévből a B osztály definíciójában egy A típusú adattag lesz. – Ha a fentebb említett u(...) tagfüggvény végrehajtása függ az a:A objektum állapotától, akkor az A osztály definíciójában is további állapotjelző adattag(ok)ra lehet szükség.