UML

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2018. szeptember 5-én felülvizsgált verziótól ; az ellenőrzések 24 szerkesztést igényelnek .

Az UML ( angolul  Unified Modeling Language  – egységes modellezési nyelv) egy grafikus leíró nyelv objektummodellezéshez a szoftverfejlesztés területén , üzleti folyamatok modellezésére , rendszertervezésre és szervezeti struktúrák megjelenítésére .

Az UML egy általános nyelv, egy nyílt szabvány , amely grafikus jelölést használ az UML modellnek nevezett rendszer absztrakt modelljének létrehozásához . Az UML-t alapvetően szoftverrendszerek meghatározására, megjelenítésére, tervezésére és dokumentálására hozták létre . Az UML nem programozási nyelv , de kódgenerálás lehetséges az UML modellek alapján .

Használat

Az UML azt is lehetővé teszi a szoftverfejlesztők számára, hogy megállapodjanak a grafikus jelölésekben az általános fogalmak (például osztály , komponens , általánosítás , aggregáció  és viselkedés ) megjelenítéséhez , és hogy jobban összpontosítsanak a tervezésre és az architektúrára . 

Történelem

Az UML modellező nyelv megjelenésének előfeltételei az objektum-orientált programozási nyelvek ( Simula 67 , Smalltalk , Objective C , C++ stb.) 20. század második felében bekövetkezett rohamos fejlődése kapcsán kerültek meghatározásra . . A megalkotott szoftvertermékek folyamatos bonyolódása miatt egyre több nyelvi és fejlesztőeszköz-újdonságot kell figyelembe venni az elemzés, a követelmények megfogalmazása és a szoftveralkalmazások tervezése során. Például 1989 és 1994 között rövid idő alatt az objektumorientált eszközök száma egy tucatról több mint ötvenre nőtt. Sok fejlesztő azonban nehezen tudta kiválasztani azt a modellezési nyelvet, amely teljes mértékben kielégíti minden igényét. Ennek eredményeként a fejlesztési módszerek új generációja jelent meg, amelyek között különösen népszerűvé vált a Jacobson Object-Oriented Software Engineering ( OOSE ) és a Rambaud Object Modeling Technique ( OMT ) által kifejlesztett Booch-módszer . Rajtuk kívül léteztek még olyan kész technológiák, mint a Fusion , a Shlaer-Mellor és a Coad-Yourdon , azonban mindegyiknek nemcsak előnyei, hanem jelentős hátrányai is voltak [1] .

Az UML 1.x előtt

1994- ben a Rational Software -nél dolgozó Grady Booch és James Rumbaugh egyesítette erőit egy új objektum-orientált modellezési nyelv létrehozása érdekében. A nyelv alapjául az Object-Modeling Technique és a Booch modellezési módszereit vették. Az OMT az elemzésre, míg a Booch a szoftverrendszerek tervezésére összpontosított. 1995 októberében megjelent az Unified Method előzetes 0.8 -as verziója . 1995 őszén Ivar Jakobson , az Object-Oriented Software Engineering - OOSE szerzője csatlakozott a Rationalhoz . Az OOSE kiváló lehetőségeket biztosított az üzleti folyamatok meghatározásához és a követelmények felhasználási eseteken keresztüli elemzéséhez . Az OOSE is beépült az egységes módszerbe.  

Ebben a szakaszban az UML fejlesztési folyamat megszervezésének fő szerepe az OMG (Object Management Group) konzorciumra szállt át . Az OMG tervezőcsapata, amelybe Butch, Rambeau és Jacobson (a "három barát" is) tartozott, 1996 júniusában és októberében kiadta az UML 0.9-es és 0.91-es verzióját .

UML 1.x

Változat Elfogadás dátuma
1.1 1997. november [2]
1.3 2000. március [3]
1.4 2001. szeptember [4]
1.4.2 2004. július [3]
1.5 2003. március [5]
2.0 2005. július [6]
2.1 formálisan nem fogadták el [3]
2.1.1 2007. augusztus [7]
2.1.2 2007. november [8]
2.2 2009. február [9]
2.3 2010. május [10]
2.4 béta 2 2011. március [11]
2.5 2015. június [12]
2.5.1 2017. december [13]

Az UML iránti növekvő érdeklődés nyomán olyan cégek csatlakoztak az új verziók fejlesztéséhez, mint a Digital Equipment Corporation , a Hewlett-Packard , az i-Logix, az IntelliCorp, az IBM , az ICON Computing, az MCI Systemhouse, a Microsoft , az Oracle Corporation , a Rational Software . nyelv az UML Partners konzorcium , a Texas Instruments és a Unisys keretein belül . Az együttműködés eredménye az UML 1.0 specifikáció, amelyet 1997 januárjában adtak ki . Ugyanezen év novemberében követte az 1.1-es verzió, amely jelölési fejlesztéseket, valamint néhány szemantikai kiterjesztést tartalmazott.

Az UML későbbi kiadásai tartalmazták az 1.3-as, 1.4-es és 1.5-ös verziókat, amelyeket 1999 júniusában, 2001 szeptemberében és 2003 márciusában tettek közzé .

Az UML 1.4.2-t az ISO / IEC 19501:2005 [12] nemzetközi szabványként fogadták el .

UML 2.x

Az UML 2.0 hivatalos specifikációja 2005 augusztusában jelent meg. A nyelv szemantikáját jelentősen finomították és kiterjesztették a Model Driven Development- MDD módszertan támogatására . Az UML 2.5 legújabb verziója 2015 júniusában jelent meg.

Az UML 2.4.1-et az ISO / IEC 19505-1, 19505-2 [12] nemzetközi szabványként fogadták el .

Diagramok

Az UML-ben a következő típusú diagramokat használják (a kétértelműség kiküszöbölése érdekében az angol nyelvű jelölést is megadjuk):

Szerkezeti diagramok:

Viselkedési diagramok:

Szerkezeti diagramok:

Viselkedési diagramok:

Az UML 2.3 diagramok szerkezete egy UML osztálydiagramban ábrázolható:

Osztálydiagram

Osztálydiagram (Osztálydiagram) - statikus szerkezeti diagram, amely leírja a rendszer felépítését, bemutatva a rendszer osztályait, attribútumait, metódusait és az osztályok közötti függőségeket.

Az osztálydiagramok felépítésével kapcsolatban eltérő álláspontok léteznek, alkalmazásuk céljától függően:

Alkatrész diagram

Komponens diagram (Component diagram) - statikus szerkezeti diagram, a szoftverrendszer szerkezeti komponensekre való felosztását és az összetevők közötti kapcsolatokat (függőségeket) mutatja be. A fizikai összetevők lehetnek fájlok, könyvtárak, modulok, futtatható fájlok, csomagok stb.

Összetett/kompozit szerkezeti diagram

Összetett szerkezeti diagram ( Összetett szerkezeti diagram) - egy statikus szerkezeti diagram, amely bemutatja az osztályok belső szerkezetét, és ha lehetséges, az osztály belső szerkezetének elemeinek (részeinek) kölcsönhatását.

Az összetett szerkezeti diagramok egyik alfaja az együttműködési diagramok (Collaboration diagram, bevezetve az UML 2.0-ban), amelyek az osztályok szerepét és interakcióit mutatják be az együttműködésen belül. Az együttműködések hasznosak a tervezési minták modellezésekor .

Az összetett szerkezeti diagramok osztálydiagramokkal együtt használhatók.

Beépítési diagram

Telepítési diagram ( telepítési diagram) – a működő csomópontok (hardver, angol  node ) ésa rájuk telepített műtermékek modellezésére szolgál. Az UML 2 műtermékeket telepített a csomópontokra , míg  az UML 1 összetevőket a csomópontokra. Megnyilvánulási függőség jön létre egy műtermék és az általa megvalósított logikai elem (összetevő) között.

Objektum diagram

Objektumdiagram – a szimulált rendszer teljes vagy részleges pillanatfelvételét mutatja egy adott időpontban. Az objektumdiagram megjeleníti a rendszer osztálypéldányait (objektumait) attribútumuk aktuális értékeivel és az objektumok közötti hivatkozásokkal.

Csomag diagram

Csomag diagram (Package diagram) - szerkezeti diagram, amelynek fő tartalma a csomagok és a köztük lévő kapcsolatok. Nincs szigorú elválasztás a különböző szerkezeti diagramok között, ezért ezt az elnevezést csak kényelmi okokból ajánljuk, és nincs szemantikai jelentése (a csomagok és csomagdiagramok más szerkezeti diagramokon is megjelenhetnek). A csomagdiagramok mindenekelőtt arra szolgálnak, hogy az elemeket valamilyen attribútum szerint csoportokba rendezzék, hogy a rendszermodellel egyszerűsítsék a munka felépítését és szervezését.

Tevékenység diagram

Tevékenységdiagram - egy diagram , amely bemutatja bizonyos tevékenységek összetevőire való felbomlását. A tevékenység a végrehajtható  viselkedés specifikációja alárendelt elemek – egymásba ágyazott tevékenységek és különálló műveletek ( angolul  action ) – koordinált szekvenciális és párhuzamos végrehajtása formájában,amelyeket az egyik csomópont kimeneteitől a másik bemeneteihez vezető folyamok kapcsolnak össze.

A tevékenységdiagramokat üzleti folyamatok, technológiai folyamatok, soros és párhuzamos számítások modellezésére használják.

A tevékenységdiagramok analógjai a GOST 19.701-90 szerinti algoritmussémák és a sárkánysémák .

Automata diagram

Automata diagram (Állapotgép diagram, véges állapotú gép diagram , állapotdiagram ) - olyan diagram, amely egy véges állapotú gépet mutat be egyszerű állapotokkal , átmenetekkel és összetett állapotokkal.

Az állapotgép azon állapotok sorozatának  specifikációja, amelyeken egy objektum vagy interakció áthalad életének eseményeire adott válaszként, valamint az objektum válasza ezekre az eseményekre. Az állapotgép egy forráselemhez ( osztályhoz , együttműködéshez vagy metódushoz) van csatolva, és a példányai viselkedésének meghatározására szolgál.

Az automata diagramok (állapotdiagramok) analógjai a sárkánydiagramok .

Használati eset diagram (Use Case Diagram)

A használati eset diagram vagy a használati eset diagram (Use case diagram) egy diagram, amely bemutatja a szereplők és a használati esetek közötti kapcsolatokat .

A fő cél egyetlen olyan eszköz biztosítása, amely lehetővé teszi az ügyfél, a végfelhasználó és a fejlesztő számára, hogy közösen megvitassák a rendszer funkcionalitását és viselkedését.

Kommunikációs és szekvencia diagramok

A kommunikációs és szekvenciadiagramok tranzitívak , interakciót fejeznek ki, de azt különböző módon mutatják be, és kellő pontossággal konvertálhatók egyikből a másikba.

Kommunikációs diagram (Kommunikációs diagram, UML 1.x-ben - együttműködési diagram , együttműködési diagram ) - olyan diagram, amely egy összetett struktúra részei közötti interakciókat vagy együttműködési szerepeket ábrázol. A szekvenciadiagrammal ellentétben a kommunikációs diagram kifejezetten jelzi az elemek (objektumok) közötti kapcsolatot, és nem használja az időt külön dimenzióként (hívó sorszámokat használnak).

Szekvencia diagram - egy diagram, amely bemutatja az objektumok kölcsönhatásait, a megnyilvánulásuk időpontja szerint rendezve. Különösen az interakcióban részt vevő objektumokat és az általuk kicserélt üzenetek sorozatát ábrázolja.

Együttműködési diagram  – Ez a diagramtípus lehetővé teszi az objektumok interakcióinak leírását, elvonatkoztatva az üzenettovábbítás sorrendjétől. Ez a diagramtípus kompakt formában tükrözi egy adott objektum összes fogadott és továbbított üzenetét, valamint ezen üzenetek típusait.

Mivel a szekvencia- és együttműködési diagramok ugyanazon folyamatok különböző nézetei, a Rational Rose lehetővé teszi együttműködési diagramok létrehozását a szekvenciadiagramokból és fordítva, valamint automatikusan szinkronizálja ezeket a diagramokat.

Interakciós áttekintés diagram

Az interakciós áttekintő diagram  egyfajta tevékenységdiagram, amely szekvenciadiagram-részleteket és vezérlőfolyamat-konstrukciókat tartalmaz.

Ez a fajta diagram magában foglalja a szekvencia diagramot (műveletsorozatok diagramjai) és az együttműködési diagramot (együttműködési diagramok). Ezek a diagramok lehetővé teszik, hogy a létrehozandó rendszerben lévő objektumok interakcióját különböző nézőpontokból megvizsgálja.

Szinkronizálási diagram

Időzítési diagram - a szekvenciadiagram alternatív ábrázolása, amely explicit módon mutatja az életvonalon az állapotváltozásokat adott időskálán. Valós idejű alkalmazásokban hasznos lehet.

Az UML előnyei

Kritika

Annak ellenére, hogy az UML meglehetősen elterjedt és használt szabvány, gyakran kritizálják a következő hiányosságok miatt:

Lásd még

Jegyzetek

  1. G. Butch, D. Rambeau, I. Jacobson. Az UML rövid története // UML nyelv. Felhasználói kézikönyv = Az egységes modellezési nyelv felhasználói kézikönyv. - 2. - M. : DMK Press, 2006. - S. 14. - 496 p. — ISBN 5-94074-334-X .
  2. UML Specification version 1.1 (OMG document ad/97-08-11) Archiválva : 2018. november 18. a Wayback Machine -nél 
  3. 1 2 3 OMG Az UML hivatalosan kiadott verziói archiválva 2010. július 31-én a Wayback Machine -nél 
  4. Az UML 1.4-es verziójához kapcsolódó dokumentumok archiválva 2011. május 10-én a Wayback Machine -nél 
  5. Az UML 1.5-ös verziójához kapcsolódó dokumentumok archiválva 2011. május 10-én a Wayback Machine -nél 
  6. Az UML 2.0-s verziójához kapcsolódó dokumentumok archiválva 2010. január 9-én a Wayback Machine -nél 
  7. Az UML 2.1.1-es verziójához kapcsolódó dokumentumok archiválva 2011. május 7-én a Wayback Machine -nél 
  8. Az UML 2.1.2-es verziójához kapcsolódó dokumentumok archiválva 2011. június 6-án a Wayback Machine -nél 
  9. Az UML 2.2-es verziójához kapcsolódó dokumentumok archiválva 2021. április 17-én a Wayback Machine -nél 
  10. Az UML 2.3-as verziójához kapcsolódó dokumentumok archiválva 2011. június 7-én a Wayback Machine -nél 
  11. Az UML 2.4-es verziójához kapcsolódó dokumentumok – Beta 2 archiválva : 2011. június 9. a Wayback Machine -nél 
  12. 123 UML . _ _ Letöltve: 2010. június 26. Az eredetiből archiválva : 2010. július 31..
  13. Az egységes modellezési nyelv specifikációjának 2.5.1-es verziója . www.omg.org. Letöltve: 2019. szeptember 10. Az eredetiből archiválva : 2019. július 3.
  14. http://www.acmqueue.com/modules.php?name=Content&pa=showpage&pid=130 Archiválva : 2008. december 7. a Wayback Machine ACM -nél
  15. Slashdot | A kód a tervezés . Letöltve: 2022. május 21. Az eredetiből archiválva : 2009. április 22.
  16. Kód mint tervezés: Jack W. Reeves három esszéje, Jack W. Reeves - fejlesztő.*, Developer Dot Star . Letöltve: 2007. február 13. Az eredetiből archiválva : 2007. február 13..

Irodalom

Linkek