Szekvenciadiagram
Egy szekvenciadiagram vagy a rendszer szekvenciadiagramja (angolul: SSD) a folyamat interakcióit időbeli sorrendbe rendezve mutatja meg a szoftvermérnöki területen. Ábrázolja a folyamatokat és a funkcionalitás végrehajtásához szükséges folyamatok között váltott üzenetek sorrendjét. A szekvenciadiagramok jellemzően összeegyeztethetőek a használati esetek megvalósításaival a 4+1 fejlesztés alatt álló rendszer építészeti nézetmodelljében. A szekvenciadiagramokat néha eseménydiagramoknak vagy esemény-forgatókönyveknek is hívják.
A diagramok megmutatják azokat az eseményeket, melyeket külső szereplők generálnak, megrendelésekre és lehetséges rendszerközi eseményekre egy használati eset adott forgatókönyvéhez. Az összes rendszert fekete dobozként kezelik; a diagram az eseményekre helyezi a hangsúlyt melyek átlépik a rendszerhatárt a szereplőktől a rendszerekig. A használati eset fő, gyakori vagy összetett alternatív forgatókönyvéhez a rendszer szekvenciadiagramjának késznek kellene lennie.
Kulcselemek
szerkesztésEgy szekvenciadiagram párhuzamos függőleges vonalakként (mentővonalakként) mutatja a különböző folyamatokat vagy objektumokat, melyek egyidejűleg léteznek, illetve vízszintes vonalakkal előfordulásuk sorrendjében mutatja azokat az üzeneteket, melyeket egymás között váltottak. Ez lehetővé teszi az egyszerű futás idejű forgatókönyvek specifikációját grafikus módon.
Egy rendszer szekvenciadiagramnak meg kellene határoznia és mutatnia kellene a következőket:
- Külső szereplőket,
- Üzeneteket (metódusokat), melyeket meghívnak ezek a szereplők,
- Visszatérési értékeket (már ha vannak), melyek társulnak az üzenetekhez,
- Bármely ciklus vagy iterációs terület jelzését
Egy rendszer szekvenciadiagramjának olvasása
szerkesztésAzok a szakemberek, akik egyazon fejlesztői projekten dolgoznak, gyakran használják a rendszer szekvenciadiagramokat arra, hogy szemléltessék bizonyos feladatok hogyan hajtódnak végre a felhasználó és a rendszer között. Ilyen feladatok lehetnek az ismétlődő, egyszerű vagy akár összetettebb feladatok is. A cél az, hogy ábrázolják a használati eseteket vizuális alakban. Egy rendszer szekvenciadiagram elkészítéséhez, jártasnak kell lenned az egységes modellezési nyelvben (UML). Ezek a modellek megmutatják a logikát a szereplők (azok az emberek, akik hatással vannak a rendszerre) mögött és a rendszert a feladat végrehajtásában. A szekvenciadiagram olvasása fentről kezdődik a szereplőkkel vagy a rendszerekkel (melyek a lap tetején vannak elhelyezve). Minden egyes szereplő vagy rendszer alatt, hosszú pontozott vonalak találhatóak, melyeket mentővonalaknak nevezünk és hozzájuk vannak kapcsolódva. A műveleteket pedig olyan vonalakkal hajtják végre melyek ezek az életvonalak között húzódnak. Mikor egy műveleti vonal egy életvonalhoz kapcsolódik, ez megmutatja nekünk az együttműködést a szereplő vagy rendszer között. Az üzenetek gyakran a rendszer szekvenciadiagram tetején vagy alján jelennek meg, hogy részletesen ábrázolják a műveletet. Például egy szereplő kérheti a bejelentkezését, amely a bejelentkezést (felhasználónév, jelszó) képviselné. Miután minden művelet teljesült, a válasz vagy a következő művelet az előző alatt lesz elhelyezve. A vonalakat lefelé olvasva részletesen fogod látni, bizonyos műveletek milyen sorrendben hajtódnak végre egy megadott modellben.
Diagram építőkockái
szerkesztésHa az objektumnak van egy életvonala, akkor egy szerepet mutat be. Ha a példány nevét üresen hagyjuk, az névtelen példányokat eredményezhet.
Interakciót jelenítenek meg az olyan üzenetek, melyeket vízszintes nyilakkal íródtak és fölé helyezik az üzenet nevét. A teli nyilak szinkron hívásokat, míg az üres nyilak aszinkron üzeneteket jelölnek míg a szaggatott vonalak pedig válaszüzeneteket jelölnek. Ha a hívó egy szinkron üzenetet küld akkor meg kell várnia még az üzenet elkészül, mint például egy szubrutin hívása. Ha pedig a hívó egy aszinkron üzenetet küld, akkor a feldolgozás folytatódhat, nem kell várni a válaszra. Aszinkron hívások jelen vannak a többszálú alkalmazásokban, esemény vezérelt alkalmazásokban és az üzenetorientált köztesrétegeben. Az aktiváló dobozok vagy a metódushívó dobozok áttetsző téglalapok, melyeket az életvonalak tetejére rajzolnak, hogy ábrázolják azokat a folyamatokat, amelyeket az üzenetre reagálva hajtanak végre. (Végrehajtási előírások az UML-ben)
A metódusokat magukon meghívó objektumok üzeneteket és új aktiváló dobozokat használnak, azért, hogy jelezzék a feldolgozás további szintjét. Ha egy objektum el lett pusztítva (törölve lett a memóriából), egy X rajzolódik az életvonal aljára és a szaggatott vonal megszűnik alatta. Ez akár lehet egy üzenet eredménye is, akár magától az objektumtól, akár egy másiktól.
Egy diagramon kívülről küldött üzenet ábrázolható egy teli körrel vagy szekvenciadiagram szegélyéből származó üzenettel.
Az UML jelentős fejlődéseket mutatott be a szekvenciadiagram képességeihez. A legtöbb ilyen fejlődés az interakciós töredékek ötletén alapul melyek a bekerítő interakció kisebb darabjait ábrázolja. Számos interakciós töredéket kombinálnak azért, hogy kombinált töredékek változatait hozzák létre, melyeket később aztán olyan interakciók modellezésére használnak, melyekben foglaltatik a párhuzamosság a feltételes ág, illetve még az opcionális kölcsönhatás is.
Fordítás
szerkesztésEz a szócikk részben vagy egészben a Sequence diagram című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.
További információk
szerkesztés- UML Distilled Archiválva 2014. július 15-i dátummal a Wayback Machine-ben : Martin Fowler
- Current UML Specification by Object Management Group (OMG)
- Introduction to UML 2 Sequence Diagrams by Scott W. Ambler.
- A Quick Introduction to UML Sequence Diagrams Archiválva 2010. január 11-i dátummal a Wayback Machine-ben by Yanic Inghelbrecht
- UML 2 Sequence Diagrams