Úvod do OMG je Jednotný Modelování Jazyk ™ (UML®)

Original: http://omg.org/gettingstarted/what_is_uml.htm

Aktualizováno července 2005 do odrážet formální přijetí UML 2.0 nástavby.

Velké podnikové aplikace – ty, které zpracovávají základní obchodní aplikace, a vedou společnost děje -, musí být víc než jen spoustu modulů kódu. Musí být strukturována tak, aby umožňuje škálovatelnost, bezpečnost a robustní provedení za stresových podmínek, a jejich struktura – často označované jako svou architekturou – musí být jasně definovány tak, že programátoři a údržba (! Rychle), najít a opravit chybu, která se objeví dlouho poté, co se původní autoři se přesunuli k jiným projektům. To znamená, že tyto programy musí být navrženy tak, aby dokonale práci v mnoha oblastech, a funkčnost podnikání není jediný, (i když to je jistě zásadní jádro). Samozřejmě dobře navržená architektura výhody nějaký program, a ne jen ti největší z nich, jak jsme si vybral tu. Zmínili jsme se velkých aplikací jako první, protože struktura je způsob, jak se vypořádat s složitosti, takže výhody struktury (a modelování a designu, jak budeme demonstrovat) sloučeniny, jako je velikost aplikace roste velký. Další výhodou konstrukce je, že umožňuje opakované použití kódu: Design čas je nejjednodušší čas strukturovat aplikace jako kolekce ucelených modulů nebo komponent. Nakonec, podniky vybudovat knihovnu modelů komponent, z nichž každá představující provedení uložen v knihovně kódových modulů. Když další aplikace potřebuje stejnou funkcionalitu, může projektant rychle importovat svůj modul z knihovny. V době kódování, může developer stejně rychle importovat modulu kódu do aplikace.

Modeling je projektování softwarových aplikací před kódování. Modeling je nezbytnou součástí velkých softwarových projektů, a užitečné pro střední a dokonce i malé projekty stejně. Model hraje analogickou roli ve vývoji softwaru, který plány a další plány (mapy stránek, pohledy, fyzikální modely) hrají v budově mrakodrapu. Pomocí modelu, osoby odpovědné za úspěch developerského projektu software je možné zajistit sami sebe, že funkčnost podnikání je úplné a správné, že jsou splněny potřeby koncového uživatele, a programu podporuje požadavky na škálovatelnost, robustnost, bezpečnost, prodloužitelnosti, a dalších vlastností, před prováděním kódem činí změny obtížné a nákladné, aby se. Průzkumy ukazují, že velké softwarové projekty mají obrovský pravděpodobnost selhání – ve skutečnosti, to je více pravděpodobné, že velká softwarová aplikace nesplní všechny své požadavky, včas av rámci rozpočtu, než že se to podaří. Pokud používáte některý z těchto projektů, co musíte udělat vše, co může zvýšit šance na úspěch, a modelování je jediný způsob, jak si svůj design a podívat se na to podle požadavků, než vaše posádka odstartuje do kódu.

Zvýšení úroveň abstrakce: nám Modely pomoci tím, že nám pracovat na vyšší úrovni abstrakce. Model může to udělat tím, že skryje nebo maskováním detaily, čímž se na obraz, nebo se zaměří na různé aspekty prototypu. V UML 2.0, můžete si oddálit od detailní pohled na aplikace do prostředí, kde se vykonává, vizualizace připojení k jiným aplikacím, nebo přiblížených ještě dál, na jiné stránky. Případně se můžete zaměřit na různé aspekty aplikace, jako je například obchodní proces, který se automatizuje, nebo za účelem obchodních pravidel. Nová Schopnost hnízdo prvků modelu, přidal v UML 2.0, podporuje tento koncept přímo.

OMG Unified Modeling Language ™ (UML®) vám pomůže určit, vizualizovat a modely dokument softwarových systémů, včetně jejich struktury a designu, a to způsobem, který splňuje všechny tyto požadavky. (Můžete použít UML pro obchodní modelování a modelování jiné non-softwarových systémů taky.) Pomocí jedné z velkého počtu nástrojů UML založených na trhu, můžete analyzovat vaše požadavky budoucího uplatnění a navrhnout řešení, které jim vyhovuje, představující výsledky pomocí třináct standardní typy UML 2.0 diagramu.

Můžete modelovat téměř jakýkoli typ aplikace, běží na všech typů a kombinací hardwaru, operačního systému, programovací jazyk, a sítí, v UML. Jeho flexibilita umožňuje modelovat distribuované aplikace, které používají jen o nějaké middleware na trhu. Postaven na základních orientovaných koncepcí, včetně třídy a provozu, je to přirozený fit pro objektově orientovaných jazycích a prostředích, jako je C ++, Java, a nedávné C #, ale můžete jej použít k modelování aplikací non-OO také v, například, Fortran, VB, nebo COBOL. UML profily (to znamená, že podmnožiny UML přizpůsobené pro zvláštní účely), pomůže vám modelovat obchodní transakci, v reálném čase, a je odolný proti chybám systému přirozenou cestou.

Můžete dělat jiné užitečné věci s UML také: Například, některé nástroje analyzovat stávající zdrojový kód a zpětné inženýrství do souboru UML diagramů (nebo někteří lidé tvrdí,, strojového kódu!). Další příklad: Některé nástroje na trhu vykonat UML modely, obvykle v jednom ze dvou způsobů: Některé nástroje spustit svůj model interpretativně způsobem, který vám umožní potvrdit, že to opravdu dělá to, co chcete, ale bez škálovatelnost a rychlost, že budete Potřebujete ve své nasazené aplikace. Jiné nástroje (obvykle tak, aby fungoval pouze v omezeném domény aplikace, jako jsou telekomunikace a finance), generování kódu programu jazyka UML, vyrábějící většinu z bezchybného, ​​mobilní aplikace, která běží rychle, pokud generátor kódu obsahuje osvědčené postupy, škálovatelná vzory pro např transakční databázové operace nebo jiné úkoly společného programu. (OMG členové pracují na specifikaci spustitelné UML teď.) Naše poslední položka v této kategorii: Počet nástrojů na trhu vytvářet zkoušek a ověřování Suites z modelů UML.

UML a OMG Model Driven Architecture (MDA®): Před několika lety (ve skutečnosti, překvapivě málo!), Největší problém developer čelí při spuštění distribuované programování projekt najít middleware s funkčností, že potřebuje, aby běžel na hardware a operační systémy běží v jeho obchodě. V současné době, tváří v tvář s trapně bohatou škálu middleware platformy, developer má tři různé problémy, middleware: Za prvé, výběrem jednoho; druhý, jak se do práce s ostatními platformami již rozmístěných nejen ve svém vlastním obchodě, ale i ty, které z jeho zákazníků a dodavatelů; a za třetí, rozhraní (nebo, ještě hůře, se stěhovat do) nový “Next Best Thing”, když nová platforma přijde a zachycuje fantazii analytiků a nutně, CIO všude.

Díky své bohaté palety a middleware nezávislosti, UML tvoří základ OMG Model Driven Architecture (MDA). Ve skutečnosti, model UML může být nezávislý na platformě nebo konkrétní platformu, jak jsme si vybrat, a proces vývoje MDA využívá obou těchto formách: Každá norma MDA nebo aplikace je založena, normativně, na nezávislý na platformě modelu (PIM ), což představuje jeho obchodní funkce a chování, velmi přesně, ale nezahrnuje technické aspekty. Z PIM, MDA-umožnil vývojové nástroje sledování OMG-standardizované mapování vyrábět jeden nebo více specifický pro platformu modely (PSM), také v UML, jeden pro každou cílovou platformu, že developer vybere. (Tento převod krok je vysoce automatizovaný, ale ne magie: Před nástroj produkuje PSM, musí developer komentovat základní PIM produkovat více konkrétní, ale stále je nezávislá na platformě PIM, který obsahuje údaje o požadovaných sémantiky, a vede k rozhodnutím, která nástroj bude muset Vzhledem k podobnosti mezi middleware platformy daného žánru. – založený na komponentách, nebo zpráv bázi, například -. Tyto pokyny mohou být zahrnuty do PIM, aniž by jej činí konkrétní platformu Přesto vývojáři budou muset doladit vyráběné PSM do jisté míry ještě v počátcích MDA ale méně a méně za nástroje a algoritmy předem.)

PSM obsahuje stejné informace jako provedení, ale ve formě UML modelu namísto spuštění kódu. V dalším kroku, nástroj generuje běžící kód z PSM, spolu s dalšími potřebnými soubory (včetně souborů rozhraní definice v případě potřeby, konfigurační soubory, makefile a dalších typů souborů). Poté, co developer možnost Ručně doladit vygenerovaný kód, nástroj provede makefiles k výrobě deployable konečnou aplikaci.

Aplikace MDA jsou composable: Pokud importujete PIM pro moduly, služby nebo jiné aplikace, MDA do svého vývojového nástroje můžete nasměrovat ji k výrobě hovory pomocí cokoliv rozhraní a protokoly jsou povinné, i když to spustíte platformě. A aplikace MDA jsou iv budoucnosti: Když nový “Next Best Thing” přichází na trh, budou členové OMG vytvářet a standardizovat mapování k němu, a váš prodejce bude aktualizovat svůj MDA povolenou nástroj ji zahrnout. Využívat tohoto vývoje, budete moci vytvářet multiplatformní invokace na novou platformu, a dokonce i přístav na stávající aplikace MDA k němu, automaticky pomocí stávajících PIMS.

Modely vs. metodiky: Proces shromažďování a analýzy požadavků dané aplikace, a jejich začlenění do návrhu programu, je složitá a průmysl v současné době podporuje mnoho metod, které definují formální postupy, které specifikují, jak jít na to. Jednou z charakteristik UML – ve skutečnosti ten, který umožňuje širokou podporu průmyslu, že jazyk těší – je to, že je metodika nezávislé. Bez ohledu na metodiku, která můžete použít k provedení vaší analýzy a návrhu, můžete použít UML vyjádřit výsledky. A pomocí XMI (XML Metadata Interchange, další standardní OMG), můžete přenášet svůj model UML z jednoho nástroje do úložiště, nebo do jiného nástroj pro zjemnění nebo další krok ve vašem zvoleném procesu rozvoje. To jsou výhody standardizace!

Co můžete model s UML? UML 2.0 definuje třináct typů diagramů, rozdělených do tří kategorií: Šest typů zapojení představují statické struktury aplikací; Tři představují obecné typy chování; a čtyři představují různé aspekty interakce:

Struktura Diagramy patří diagram tříd, objekt diagram, diagram komponent, Composite Structure Diagram, balíček diagram a diagram nasazení.

Chování Diagramy patří Diagram užití (používají některé metodiky při shromažďování požadavků); Diagram aktivit, a státní Machine Diagram.

Interakce schémata, odvozeny od obecnější chování Diagram, patří sekvenční diagram, komunikační schéma, časový diagram a Diagram interakcí.

Nemáme v úmyslu tuto úvodní webové stránky být kompletní tutorial UML, takže nebudeme uvedeny žádné podrobnosti o různých typů diagramů zde. Chcete-li se dozvědět více, můžete se podívat na jeden z mnoha on-line výukových programů, nebo koupit knihu. (Naposledy jsme zkontrolovali, zadáním “UML” do vyhledávacího pole na hlavní on-line knihkupectví, vrátil seznam více než 100 titulů!) Nebo, pokud jste technický a chcete celý příběh, můžete si stáhnout UML specifikaci se na webových stránkách OMG. Je to zdarma, samozřejmě, ale je to také velmi technické, strohá, a je velmi obtížné pro začátečníky pochopit. (Ještě několik odstavců o tom, proč údaje jsou těžko čitelné, podívejte se sem.)

Chystám se začít svůj developerský projekt First UML na bázi. Co mám dělat? Tři věci, pravděpodobně (ale ne nutně), v tomto pořadí:

1) Vyberte metodiky: Metodika formálně definuje proces, který používáte pro shromáždit požadavky, analyzovat je a navrhnout aplikaci, která jim vyhovuje ve všech směrech. Existuje mnoho metodik, každý se liší nějakým způsobem nebo způsoby, od ostatních. Existuje mnoho důvodů, proč může jedna metodika být lepší než jiný pro váš konkrétní projekt: Například, některé jsou vhodnější pro velké podnikové aplikace, zatímco jiné jsou postaveny na design malých vložené nebo důležité pro bezpečnost systémů. Na jiné ose, některé metody lépe podporovat velké množství architektů a designérů, kteří pracují na stejném projektu, zatímco jiní pracují lépe, když používají jednu osobu či malé skupinky.

OMG, jako organizace dodavatele neutrální, nemá názor na jakékoliv metodiky. Abychom vám pomohli začít výběrem ten, který je pro vás nejlepší, jsme shromažďují odkazy na metodiky zdroje zde.

2) Vyberte UML Vývoj Nástroj: Protože většina (i když ne všechny) nástroje UML bázi realizovat konkrétní metodiku, v některých případech to nemusí být praktické vybrat nástroj, a pak zkuste použít to s metodikou, že to nebylo postavený pro. (Pro jiné kombinace nástroje / metody, to nemusí být problém, nebo by mohly být snadno obejít.), Ale některé metody byly provedeny na více různých nástrojů, takže to není nezbytně jeden výběr prostředí.

Můžete najít nástroj, tak dobře hodí do vaší aplikace nebo organizace, kterou jste ochotni přejít metodiky, aby se ji používat. Je-li tomu tak, do toho – naše rady vybrat metodika první je obecná, a nelze jej použít na konkrétní projekt. Další možností: můžete najít metodiku, která se vám líbí, který není realizován ve nástroj, který vyhovuje vašemu velikost projektu, nebo váš rozpočet, takže budete muset přepnout. Je-li některý z těchto případů se s vámi děje, zkuste vybrat alternativní metodiku, která nebude příliš lišit od té, kterou přednostní původně.

Stejně jako u metod, OMG nemá názor nebo hodnocení modelovacích nástrojů UML bázi, ale máme odkazy na řadu seznamů zde. To vám pomůže začít dělat svou volbu.

3) Získat Školení: Vy a vaši zaměstnanci (pokud jste to štěstí, aby najmout UML zkušený architekti), bude potřebovat školení v UML. Je to nejlepší, aby si školení, které učí, jak používat vybraný nástroj s Vámi zvolené metodice, obvykle poskytované buď dodavatelem nástrojů a metodik. Pokud se rozhodnete jít touto cestou, podívejte se na školení stránku OMG pro kurz, který odpovídá vašim potřebám. Poté, co jste se naučili UML, můžete se stát se OMG-certified UML Professional – podívejte se sem podrobnosti.

UML 2.0 – významný upgrade: “K dispozici” verze UML 2.0 specifikace nástavby (to znamená, že verze, která dokončil svůj první vydání údržby a byl postaven na produktech dodavatelů) byl dokončen, a je k dispozici všem zdarma ke stažení , Tři oddělené části UML 2.0 – Infrastruktura (to znamená, že meta-metamodel), Object Constraint Language, a schéma Interchange – stále probíhá první údržbu a bude k dispozici specifikace, když to dokončí. K dispozici je popis současného stavu všech čtyř specifikací, a odkazy na všechny z nich, zde.

Co je nového v UML 2.0: Už jsme se integrovat nové funkce do tohoto writeup, ale tady je shrnutí:

Vnořené Classifiers: To je velmi silný koncept. V UML, téměř každý model budovy blok pracovat s (třídy, objekty, komponenty, chování, jako činnosti a stavových automatů, a další), je klasifikátor. V UML 2.0, můžete vnořit sada tříd uvnitř složky, která je spravuje, nebo vložit chování (jako je například státní stroj) uvnitř třídy nebo součásti, které jej implementuje. Tato funkce také umožňuje vybudovat komplexní chování od těch jednodušších, schopnost, která definuje Diagram interakcí. Můžete vrstvit různé úrovně abstrakce v několika způsoby: například, můžete vytvořit model vašeho podniku, a přiblížit se vložených názory na místě, a pak se na resortní názory v rámci webu, a pak se do aplikace v rámci oddělení. Případně můžete vnořit výpočetní modely v rámci modelu podnikových procesů. Omg Business Enterprise Integration Task Force Domain (BEI DTF), v současné době pracuje na několika zajímavých nových standardů v obchodních procesů a obchodních pravidel.
Lepší chování Modelování: V UML 1.x různé modely chování byly nezávislé, ale v UML 2.0, všechny jsou odvozeny od základní definice chování (s výjimkou případu užití, který je nepatrně odlišný, ale stále se podílí na nové organizace ).
Lepší vztah mezi strukturálními a Behavioral modely: Jak jsme poukázali v vnořené klasifikačních, UML 2.0 vám umožňuje určit, že jednání zastoupena (například) státní stroje nebo sekvenční diagram je chování třídy nebo součásti.

To znamená, že nový jazyk přesahuje tříd a objektů dobře modelovat pomocí UML 1.x přidat schopnost reprezentovat nejen modely chování, ale také architektonické modely, obchodní procesy a pravidla, a další modely používané v mnoha různých částech výpočetních a dokonce i non-výpočetních oborů.

Během procesu upgradu, některé dodatky k jazyku byly zapracovány do ní, včetně objektu Constraint Language (OCL) a akce sémantiky.

Comments are closed.