Nástroj UML - UML tool

Nástroj UML je softwarová aplikace, která podporuje část nebo veškerou notaci a sémantiku spojenou s Unified Modeling Language ( UML ), což je průmyslový standardní univerzální modelovací jazyk pro softwarové inženýrství .

Nástroj UML se zde široce používá k zahrnutí aplikačních programů, které nejsou výlučně zaměřeny na UML, ale které podporují některé funkce Unified Modeling Language, ať už jako doplněk , jako součást nebo jako součást jejich celkové funkčnosti.

Druhy funkčnosti

Nástroje UML podporují následující druhy funkcí:

Vytváření diagramů

Diagramování v tomto kontextu znamená vytváření a úpravy diagramů UML ; to jsou diagramy, které následují grafickou notaci Unified Modeling Language.

Používání diagramů UML jako prostředku pro kreslení diagramů - převážně - objektově orientovaného softwaru je obecně dohodnuto vývojáři softwaru. Když vývojáři kreslí diagramy objektově orientovaného softwaru, obvykle se řídí notací UML. Na druhou stranu se často diskutuje o tom, zda jsou tyto diagramy vůbec potřebné, v jakých fázích procesu vývoje softwaru by se měly používat a jak (pokud vůbec) by se měly udržovat aktuální. Nadřazenost softwarového kódu často vede k zastarávání diagramů.

Zpáteční inženýrství

Round-trip engineering odkazuje na schopnost nástroje UML provádět generování kódu z modelů a generování modelu z kódu (aka, reverzní inženýrství), při zachování modelu i kódu sémanticky konzistentního. Níže je vysvětleno generování kódu a reverzní inženýrství.

Generování kódu

Generování kódu v tomto kontextu znamená, že uživatel vytváří diagramy UML, které mají některá připojená data modelu, a nástroj UML je odvozen od části diagramů nebo celého zdrojového kódu softwarového systému. V některých nástrojích může uživatel poskytnout kostru zdrojového kódu programu ve formě šablony zdrojového kódu , kde jsou předdefinované tokeny během procesu generování kódu nahrazeny částmi zdrojového kódu programu.

Mezi vývojáři softwaru existuje určitá debata o tom, jak užitečné je samotné generování kódu. Určitě záleží na konkrétní problémové doméně a na tom, jak daleko by mělo být generování kódu použito. Existují dobře známé oblasti, kde je generování kódu zavedenou praxí, neomezuje se pouze na oblast UML.

Myšlenka úplného opuštění „kódové úrovně“ a zahájení „programování“ přímo z úrovně diagramu UML (tj. Návrhové úrovně) je mezi vývojáři docela diskutována. To je vize architektury založené na modelech (MDA). Tato myšlenka není ve srovnání s jinými nástroji pro vývoj softwaru, jako jsou kompilátory nebo systémy pro správu konfigurace softwaru, tak rozšířená .

Často uváděnou kritikou je, že diagramy UML postrádají podrobnosti, které jsou nutné k tomu, aby obsahovaly stejné informace, jaké jsou obsaženy ve zdroji programu: Jack W. Reeves uvádí, že konečné provedení designu spočívá ve zdrojovém kódu. (Jeho často citované prohlášení, že „Kodex je designem“, bylo nesprávně vyloženo, což znamená, že není potřeba artefaktů pro softwarový design na střední a vysoké úrovni, jako jsou diagramy UML nebo dokumenty s požadavky na software).

Reverzní inženýrství

Reverzní inženýrství v této souvislosti znamená, že nástroj UML čte zdrojový kód programu jako vstup a odvozuje z něj data modelu a odpovídající grafická UML schémata (na rozdíl od poněkud širšího významu popsaného v článku „ Reverzní inženýrství “).

Některé z výzev reverzního inženýrství jsou:

  • Zdrojový kód má často mnohem podrobnější informace, než by člověk chtěl vidět v návrhových diagramech. Tento problém řeší rekonstrukce softwarové architektury .
  • Data diagramu obvykle nejsou obsažena ve zdroji programu, takže nástroj UML, alespoň v počátečním kroku, musí vytvořit nějaké náhodné rozložení grafických symbolů notace UML nebo použít nějaký automatický algoritmus rozložení k umístění symbolů do tak, aby uživatel diagramu porozuměl. Například symboly by měly být umístěny na takových místech v podokně kreslení, aby se nepřekrývaly. Uživatel takové funkce nástroje UML obvykle musí tyto automaticky generované diagramy ručně upravovat, aby dosáhl určité smysluplnosti. Také často nemá smysl kreslit diagramy celého zdroje programu, protože to představuje příliš mnoho detailů, než aby byly zajímavé na úrovni diagramů UML.
  • Existují jazykové rysy některých programovacích jazyků , jako je nebo funkčních šablon v C ++ programovacího jazyka, které jsou notoricky těžko automaticky převést do diagramů UML v jejich komplexnosti.

Výměna modelů a diagramů

Výměna metadat XML (XMI) je formát pro výměnu modelů UML. XMI nepodporuje UML Diagram Interchange , která umožňuje import UML diagramů z jednoho modelu do druhého.

Transformace modelu

Klíčovým konceptem spojeným s iniciativou architektury založené na modelu je schopnost transformovat model na jiný model. Například je možné chtít pro implementaci transformovat model domény nezávislý na platformě do modelu specifického pro platformu Java. Je také možné refaktorovat modely UML a vytvořit tak stručnější a dobře formované modely UML. Je možné generovat UML modely z jiných modelovacích notací, jako je BPMN , což je samotný UML profil . Standard, který to podporuje, se nazývá QVT pro dotazy / zobrazení / transformace. Jedním příkladem řešení QVT s otevřeným zdrojovým kódem je jazyk ATL vytvořený společností INRIA .

Viz také

Reference

externí odkazy