UML - úvod

UML = unified modeling language (tj. unifikovaný modelovací jazyk)

Unifikovaný : unifikuje Booch, OMT a Objectory modelovací jazyky

Modelovací : UML je jazyk pro specifikaci, visualizaci, konstrukci a dokumentaci artefaktů SW systémů.

UML je však využitelný i pro business modelování i pro modelování ne-SW systémů. V UML lze modelovat jakýkoliv typ aplikace běžící na jakémkoliv typu a kombinaci HW, OS, programovacím jazyku a sítě. Lze modelovat distribuované aplikace. Pro UML je nejpřirozenější modelování pro OO jazyky a prostředí (jako jsou např. C++, Java, C#), ale lze modelovat i pro neobjektové jazyky (např. Fortran, VB, COBOL). UML profiles nám pomůže v modelování transakčních, real-time a fault-tolerant systémů.

Language (jazyk) :UML není programovací jazyk, ale je to jazyk, neboť má :

  • syntaxi (grafickou), tj. pravidla, dle kterých jsou elementy jazyka sestavovány do výrazů
  • sémantiku, tj. pravidla, dle kterých je syntaktickým výrazům přiřazen význam

UML samo v sobě obashuje mechanismy pro jeho rozšíření (dle potřeb konkrétního projektu nebo konkrétního vývojáře)

Další vlastnosti UML :

  • otevřený standard
  • podporuje celý vývojový cyklus
  • podporuje různě aplikační oblasti
  • založeno na zkušnostech potřebách komunity uživatelů
  • podporováno celou řadou nástrojů
  • přispěvatelé : Booch (Booch metoda), Rumbaugh (OMT), Jacobson (OOSE), Shlaer-Mellor (object lifecyles), Odell (clasification), Wirfs-Brock (Responsibilities), Embley (Singleton classes and high level view), HP Fusion (operation descriptions and message numbering), Gamma a kolektiv (frameworks and patterns), Harel (statecharts), Meyer (before and after conditions)

Trocha historie :

1966
první objektově orientovaný jazyk Simula (O.-J. Dahl, K. Nygaard)
1967
Simula67 : třídy, dědičnost, polymorfizmus
70. léta
první čistě objektový programovací jazyk Smalltalk : pojem objekt (Xerox)
80. léta
éra smíšených jazyků Turbo Pascal, C++ : umožňovaly programovat objektově, ale tento přístup nevyžadovaly
přelom 80. a 90. let
řada metod pro OOA a OOD + CASE na nich založené :
  • CRC karty : class-responsibility-collaboration (z prostředí Smalltalk, Xerox)
  • Booch, kniha : Object-Oriented Analysis and Design with Applications, 2nd edition, Addison-Wesley, 1994 (Grady Booch, Rational)
  • OMT, kniha : Object-Oriented Modeling and Design, Prentice Hall, 1991 (J. Rumbaugh (General Electric) a další)
  • případ užití (OOSE), kniha : Object-Oriented Softvare Enginering : A Use Case Driven Approach, Addison-Wesley, 1992 (I. Jacobson a další)
1994
J. Rumbaugh se přidává k G. Boochovi a firmě Rational Software
1995
Unified Method verze 0.8 (G. Booch, J. Rumbaugh)
1995
I. Jacobson (Objectory) se přidává k G. Boochovi a J. Rumbaughovi (pokud se někde dočtete o The Three Amigos či Los Tres Buddies, tak vězte, že je to přezdívka tria Booch+Rumbaugh, Jacobson :-)
1996
UML 0.9, 0.91
do prací na UML se zapojují např.: Digital Equiment, HP, i-Logix, IBM, MCI, Microsoft, Oracle, TI, Unisys
1997
rational : 1.0, 1.1
OMG "adoptovalo" UML
UML 1.0 (OMG) = UML 1.1 : standard, většinou nazývaný 1.1
1998
UML 1.2 : interní verze, nepodstatné úpravy
1999
UML 1.3 : změny v use cases (namísto <<uses>> a <<extends>> je zavedeno <<include>>, <<extend>> a generalizace) a activity diagramech
2001
UML 1.4
2001-2005 ?
práce na UML 2.0 (dosud neukončeno)