Unified Modeling Language

Különböző UML diagramok
UML osztálydiagram, adatmodellezés

Az UML (Unified Modeling Language) szabványos, általános célú modellező nyelv, üzleti elemzők, rendszertervezők, szoftvermérnökök számára. Grady Booch, Ivar Jacobson és James Rumbaugh egyesített munkájának terméke.[1]Az objektum orientált (OO) modellezés módszerét alkalmazni lehet a való világ bonyolultságának leírására. Az UML egy gyakorlati, objektum orientált modellező megoldás, nagy méretű programrendszerek modelljeinek vizuális dokumentálására alkalmas eszköz. Az UML módszer és leíró nyelv segítségével különböző nézőpontú szöveges és grafikus modellek készíthetőek többek közt:[2]

  • 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 a különféle rendszerek jól áttekinthető absztrakt modelljének leírására. Az UML modellek szabvány UML jelölést használó diagramokból állnak. Hatékony kommunikációs eszköz nemcsak a szoftver rendszereket fejlesztő szakemberek közötti, hanem a felhasználók és a fejlesztők együttműködésében és kommunikációjában egyaránt.

Az UML története

  • 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 Jacobsonnal 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

Az UML 2.0 verzió 13 különböző diagramtípust definiál, melyek kategóriákba és alkategóriákba oszthatók:

Az UML 2.0 diagramok hierarchiája

Strukturális diagramok

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
Egy deployment (telepítési) diagram

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, miképp szerveződnek a szoftverelemek csomagokba illetve hogyan viszonyulnak ezek a csomagok egymáshoz.

Viselkedési / Dinamikus diagramok

egy use case diagram
egy állapotgép diagram

A viselkedési / dinamikus 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)

Galéria

  • összetett struktúra diagram (Component diagram)
    összetett struktúra diagram (Component diagram)
  • aktivitás diagram (Activity diagram)
    aktivitás diagram (Activity diagram)
  • szekvencia diagram (Sequence diagram)
    szekvencia diagram (Sequence diagram)
  • osztály diagram (Class diagram)
    osztály diagram (Class diagram)
  • használati eset diagram (Use Case Diagram)
    használati eset diagram (Use Case Diagram)
  • kommunikációs diagram (Communication diagram)
    kommunikációs diagram (Communication diagram)

Kritikák

Az UML széles körben elfogadott és használt szabvány, kicsiny rendszereket fejlesztők 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ű, kis méretű szoftveres alkalmazással támogatott megoldás esetén, amennyi idő alatt az UML segítségével egy szoftver precízen megtervezhető, azalatt az idő alatt, csak a kivitelezést szem előtt tartó szoftverfejlesztés kockázatmentesen, kétszer gyorsabban megvalósítható. De ha a cél: precízen megtervezni egy komplex, összetett alkalmazást, amely megfelelően dokumentálva van, és platformfüggetlen, akkor az UML használata gyakorlatilag megkerülhetetlen.

Irodalom

  • Raffai Mária dr.:Egységesített megoldások a fejlesztésben -UML modellező nyelv és RUP módszertan- , Novadat Kiadó, 2001, ISBN 963 9056 29 4

Források

  • Dr. Raffai, Mária. Egységesített Megoldások a Fejlesztésben 2. Budapest: Novadat (2002). ISBN 9789639056299 
  • Vég, Csaba. Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel. Budapest: Logos 1999 (2000). ISBN 9789630376600 

Jegyzetek

  1. Dr. Sziray József, Kovács Katalin: Az UML nyelv használata
  2. A Unified Modeling Language (UML) Archiválva 2014. december 4-i dátummal a Wayback Machine-ben, inf.unideb.hu

További információk

Commons:Category:Unified Modeling Language
A Wikimédia Commons tartalmaz Unified Modeling Language témájú médiaállományokat.
  • Unified Modeling Language™ (UML®) Resource Page, uml.org
  • uml.lap.hu
  • Dr. Szepesné Stiftinger Mária: A rendszerfejlesztés eszközei (technikák, CASE, UML)
  • Darvas Dániel, Kocsis Imre, Micskei Zoltán, Szatmári Zoltán, Tóth Dániel: Modellezési feladatok Adatmodellezés, inf.mit.bme.hu
  • Erdélyi Krisztina: A programkód és az Unified Modeling Language (UML) osztálydiagramjának kapcsolata, users.nik.uni-obuda.hu
  • Sike Sándor, Varga László: Szoftvertechnológia és UML , people.inf.elte.hu
Nemzetközi katalógusok
  • Informatika Informatikai portál • összefoglaló, színes tartalomajánló lap