Návrh aplikací technikou UML za použití nástroje Umbrello

30. listopadu 2022

Účastníte se vývoje větších než jen drobných systému a chcete lépe komunikovat mezi týmy a mít dobré a přehledné zadaní k tomu výborně slouží Unified Modeling Language. UML je sada technik, a k nim vzniklo i mnoho nástrojů, které umožňují převést a zaznamenat zadání do grafických diagramů, které znázorňují struktury, stavy , procesy atd. Jedním takovým nástrojem pro UML je i software Umbrello, což je open-source software, který vám zefektivní komunikaci zápis a úpravy zadaní a slouží tak i pro tvorbu dokumentace.

UML pomáhá zaznamenat vaše představy a to vizuálně a přitom technicky přesně, takže napomáhá komunikovat mezi zákazníkem, analytikem a programátorem. Zároveň slouží jako zápis z jednaná a po realizaci projektu i jako dokumentace. Díky vizuálnímu zápisu informací, na první pohled bez ctění jsou vidět základní informace a vztahy.
Unified Modeling Language standardizován, takže ho zle použít i napříč různými firmami. Můžou ho použít firmy jako komunikační nástroj. A pokud se sním naučíte tak ho máte šanci využívat pravidelně na různých projektech a v různých firmách.

UML

Pomocí UML můžete vizuálně reprezentovat struktury a jejich vztahy, změny stavů, činnosti uživatele respektive jejich průchod určitým procesem a další. komponent

Tuška a papír

UML je nezávislé na technologii dokonce ani nepotřebujete počítač. Všechno můžete kreslit na papír nebo tabuli.

Umbrello UML modeller

Vzhledem k tomu, že jsme v digitální době je lepší než kreslit na papír, kreslit diagramy v nějakém aplikaci ideálně nástroji k tomu určeném Díky tomu pak výsledný obrázek je možno lépe sdílet, ale hlavně jednodušeji upravovat. Nástrojů je mnoho já používám aplikaci Umbrello.

Umbrello je aplikace pro realizaci UML konceptů na počítači. Díky takové aplikaci můžete, jednoduše přesouvat nebo kopírovat objekty bez gumování a překreslování na papíře. Umbrello je navíc multiplatformní software, takže ho můžete provozovat na Linuxu, Windows MacOS a dalších.

Program Umbrello s prázdným projektem:
umbrello

Umbrello můžete kreslit tyto typy diagramů:

  • Diagram tříd
  • Sekvenční diagram
  • Diagram komunikace
  • Diagram případu užití
  • Stavový diagram
  • Diagram aktivit
  • Diagram komponent
  • Diagram nasazení
  • Entity Relationship diagram

umbrello-menu

UML v praxi

Přestože jsem technik a tak preferuji spíše zápis programovacím jazykem. Některé informace jsou lepé čitelné z obrázků. V těchto případech používám Ubrello pro kreslení UML diagramů.

Generování diagramu tříd

UML techniky jsem použil prvně při studiu na ČVUT v Praze. A software Umbrello jsem například použil při psaní mojí bakalářské práce, která byla na téma šifrování na čipových kartách. Zde je ke stažení bakalářská práce: Čipové karty Java Card OpenPlatform.
Do aplikace Umbrello, jsem importoval zdrojový kód, a Umbrello mě vygenerovalo diagram tříd.

Generování kódu

Pokud si v aplikaci nakreslíte diagram tříd, můžete pomocí Umbrello vugenerovat kostru programu. Tedy soubory, které přestavují třídy, properties a názvy funkcí. Samozřejmě logiku aplikace pak musíte naprogramovat programátor-

Stavy

Změna stavu nějakého objektu je běžnou situací. Nejtypičtější s čím se setká vývojář webových aplikací je změna stavu objednávky. Knihovna, která usnadní implementace takové funkčností je v prostředí PHP frameworku Symfony knihovna The Workflow Component.

Pro lepší pochopení programátorem, dokumentaci a i představení uživateli je ideální toto zakreslit jako Stavový diagram. Z takového obrázku pak je přesně zřejmé z jakého stavu je možné přejít do jakého dalšího.
Příklad stavového diagramu:
uml-stavovy-diagram

Třídy

Diagram tříd:
uml-diagram-komponent

Modelování Entit

Pomocí Umbrello můžete vytvořit Entity Relationship diagram, tedy Entity a jejich vztahy a následně z toho vygenerovat SQL příkazy, které vytvoří databázové tabulky.

Příklad diagramu se třemi entitami:
uml-entity-relationship-diagram

Pomocí toho to diagramu jsem navrhoval databázové entity pro projekt IoT bezdrátových čidel. A následně pak mohl pomocí vygenerovaných SQL příkazů zakládat databázové tabulky v různých dotazových enginech, například MySQL nebo SQLite.

Z pohledu programátora a agilního vývoje, kdy se struktura entit a tedy i databáze mění v průběhu vývoje aplikace. Bude rozumnější volbou dokumentovat enetity a jejich vztahy zapisovat rovnou v kódu aplikace. Čili použít například nástroj Doctrine, který umožňuje i generovaní migračních skriptů. Vizuální/grafická reprezentace pak jde vygenerovat z databáze. Umí to různé nástroje například i phpmmyadmin.

Další UML nástroje

Aplikacím pro UML je mnoho. Vzhledem k nutnosti spolupráce mezi lidmi by takový software měl být multiplatformní. Tím pádem například nedoporučují nástroje od Microsoftu. Například oblíbený Enterprise Architect je pouze pro Windows.

Mám tu však několik dalších typů.

  • magic draw - Dle výrobce by měl fungovat jak na windows, tak na Linux i Mac OS, je totiž napsaný v jazyce JAVA (=multiplatformní).
  • PlanUML - dá přímo vkladat do gitu nebo do wiki.

Články na podobné téma

Nextcloud - data a aplikace v cloudu
How to install clubhouse to Android?
GitLab - nástroj na správu, verzování, CI/CD a vedení projektů

Odběr novinek

Pokud máte zájem dostávat příležitostně na email novinky.
Můžete se vyplněním emailu registrovat k odběru novinek.


+