Unified Modeling Language
Az UML (Unified Modeling Language) szabványos, általános célú modellező nyelv, melynek segítségével szöveges és grafikus modelleket készíthetünk többek közt:
- Rendszerekről, szervezetekről: viselkedésükről, külső és belső kölcsönhatásaikról stb.
- Szereplőkről: viselkedésük egy rendszerben, kapcsolatuk más rendszerekkel stb.
- Üzleti tevékenységről, folyamatokról:
- Logikai összetevőkről: azok viselkedéséről, feladataikról, kommunikációjáról egy rendszeren belül, vagy rendszerek között stb.
- Szoftverekről, programokról: az UML az objektumorientált programozás szabványos specifikációs nyelve.
- Adatbázisokról: elméleti, logikai és fizikai modellekről egyaránt.
Az UML grafikus jelöléseket használ rendszerek absztrakt modelljének leírására. Az UML modellek szabvány UML jelölést használó diagramokból állnak.
Tartalomjegyzék |
Az UML története [szerkesztés]
- A 80-as évek végére több objektumközpontú modellezési irányzat is kialakult. Némelyiket elsősorban (objektumorientált) programok modellezésére használták, másokat egyéb célokra, például adatbázis-tervezésre.
- A 90-es évek elején három modell különült el. Ezek kifejlesztői Jim Rumbaugh, Ivar Jacobson és Grady Booch voltak. Az 1990-es évek közepén a Rational Software alkalmazta Rumbaugh-t és Booch-t, akik megalkották az Unified Method 0.8-at. 1996-ban már Jacobson együtt dolgozták ki az Unified Method 0.9-et.
- 1997-ben már Unified Modeling Language néven adták be az OMG (Object Management Group) nevű független szabványszervezethez, mely azóta is fejleszti.
Diagramok [szerkesztés]
Az UML 2.0 verzió 13 különböző diagramtípust definiál, melyek kategóriákba és alkategóriákba oszthatók:
Strukturális diagramok [szerkesztés]
A strukturális diagramok a modellezett rendszer elemeire vonatkoznak. Ezek altípusai a következők:
- Osztálydiagramok
Az osztálydiagram egy statikus modell. A rendszerben használt osztályokat mutatja azok attribútumaival együtt. Az osztálydiagram tartalmazza továbbá az osztály szintű kapcsolatokat.
- Komponensdiagramok
A komponensdiagram a rendszer fizikai komponenseit és az azok közötti függőségeket mutatja. Fizikai komponens például a file, a header, a modul, a csomag és a futtatható állomány is.
- Összetett struktúradiagramok
Az összetett struktúradiagram (composite structure diagram) az osztályok belső szerkezetét mutatja és azt, hogy az adott szerkezet milyen kollaborációkat tesz lehetővé.
- Telepítési diagramok
A telepítési diagramok (deployment diagram) a rendszerimplementációhoz használt hardvert, a hardverre telepített szoftverkomponenseket és azok viszonyát hivatottak reprezentálni.
- Objektumdiagramok
A modellezett rendszer egy adott időpillanatbeli állapotát mutatják az objektumdiagramok. Az objektumdiagram pillanatfelvétel a rendszer állapotáról. Osztályok példányait és kapcsolatait jeleníti meg. Az objektumdiagram konkrétabb az osztálydiagramnál, mert objektumok példányainak a kapcsolatát írja le objektumosztályok kapcsolata helyett.
- Csomagdiagramok
A csomagdiagram azt mutatja, hogy hogyan szerveződnek a szoftverelemek csomagokba illetve hogyan viszonyulnak ezek a csomagok egymáshoz.
Viselkedési diagramok [szerkesztés]
A viselkedési diagramok azt írják le, hogy minek kell történnie a modellezett rendszerben:
- Aktivitásdiagramok
Az aktivitásdiagramok a munkafolyamatot (idegen szóval workflow-t) modellezik.
- Állapotgép diagramok
Az állapotgép diagramok a rendszer lehetséges állapotait és az azok közötti átmeneteket mutatják állapotgépes ábrázolással.
- Use case diagramok
A use case diagramok fogalmazzák meg a rendszer használati eseteit.
- Interakciós diagramok
Az interakciós diagramok fogalmazzák meg a rendszerelemek közötti kommunikációt. Ezeknek további altípusai léteznek:
- Kommunikációs diagramok
- Interakciós Áttekintő diagramok (Az UML 2.0 verziótól)
- Szekvenciadiagramok
- UML időzítődiagramok (Az UML 2.0 verziótól)
Kritikák [szerkesztés]
Bár az UML széles körben elfogadott és használt szabvány, gyakran kritizálják az alábbiak miatt:
- Túl nagy és túl bonyolult: Az UML szabvány sok diagramot tartalmaz, amelyeknek egy jó részét alig használják, jó része pedig redundáns.
- Pontatlan szemantika: Az UML szemantikát részben OCL-lel, részben angol nyelven, részben az UML-lel magával definiálják, és hiányzik a formális nyelveknél megszokott szigorú definíció.
A jelenlegi UML szabvány verziónként használ más jelölést (UML 2 és 1 között van eltérés), folyamatosan fejlődik, nem kiforrott.
Egyszerű (egy, maximum két programozó által összedobható) programok esetén, amennyi idő alatt az UML segítségével egy szoftver precízen megtervezhető, azalatt az idő alatt a program kétszer is megírható. De ha a cél: precízen megtervezni egy szoftvert, amely megfelelően dokumentálva van, és a továbbikban az adott területhez egyáltalán nem értő olcsó kódolókkal beprogramozható akkor az UML használata gyakorlatilag megkerülhetetlen.
Források [szerkesztés]
- Dr. Raffai, Mária. Egységesített Megoldások a Fejlesztésben 2. Budapest: Novadat. ISBN 9789639056299 (2002)
- Vég, Csaba. Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel. Budapest: Logos 1999. ISBN 9789630376600 (2000)

