Portál AbcLinuxu, 30. dubna 2025 10:07
Konečně jsme dorazil návrh struktury asi čtyř na sebe navazujících tříd v mé bakalářské práci. Původně jsem chtěl udělat UML diagram třídy, nechat si vygenerovat hlavičkový soubor a pak doplnit kód, ale jelikož tyto třídy slouží jako "úložiště dat" se kterými budou manipulovat jiné třídy (ponechme stranou flame na téma "je to ten správný objektový přístup" -- já to tak chci a basta ), zdálo se efektivnější nacvakat všechny ty get/set metody ručně přímo do zdrojáku. Jenže teď by se mi líbilo mít k tomu i ten UML class-diagram...
Už před časem jsem si nainstaloval Umbrello, ale pak jsem si raději hrál se svým oblíbeným Dia. A tak jsem logicky začal pátrat po něčem, co mi z C++ hlavičkového souboru udělá pěkný UML diagram ve formátu Dia. Našel jsem projekty cpp2dia, Autodia a Medoosa.
Začal jsem s Cpp2dia, "teklovským" skriptem, který nebylo ani nutné instalovat. Při prvním spuštění mi vytvořil .cpp2diarc v home, kde jsem upravil jeho umístění a umístění neato
, což je část Graphvizu, kterou ten skriptík využívá ke generování toho diagramu... Spustil jsem to a čekal, co vyleze. Skript sice v souboru voice.h správně rozeznal 4 třídy, ale tím to skončilo. Vytvořil čtyři rámečky, doplnil jméno třídy, ale po atributech či metodách ani památky.
Nuže druhý pokus byl s Autodia. Taktéž vznešeně vyhlížející projekt s nabídkou jazyků, které zvládá, tentokrát napsaný v perlu. Prodělal jsem tedy "instalační proceduru" během které jsem zjistil, že si musím z CPANu stáhnout jakýsi modul Template. No budiž. Stáhnuto, nainstalováno a schválně, co z toho vyleze? Tenhle projekt je šikovnější. Zvládl správně udělat diagram skoro půlky jedné z těch čtyř tříd. Ostatně takhle vypadá SVG export toho, co to vyprodukovalo.
Notně zklamaný jsme se vykašlal na instalaci projektu Modoosa, který se dožadoval aplikace ccdoc
, což má být dokumentační nástroj podobný Javadocu. Nic takového ale nechci, protože používám Doxygen...
Vyhnal jsem tedy bratra od jeho silnějšího stroje, že vyzkouším Visual Paradigm for UML. Multiplatformní profesionální UML designér ve verzi Community edition údajně zdarma. Po jistých trablích s javovským instalátorem se mě program dotázal na registrační klíč. Nuže nechal jsem si jej přidělit a podivoval se, proč mi běží 30denní zkušební lhůta, když to má být free software. První dojem z velmi profesionálně vypadající aplikace s množstvím voleb mi zkazilo až zjištění, že tvorba class-diagramu ze zdrojáku je pouze v Professional edition. Nabízelo mi to jakési přepnutí mé trial verze Community edition na Professional, ale když mi to nabídl po čtvrtém odsouhlasení a restartu aplikace znovu, tak jsem zvolil "skrytí funkcí nedostupných v této verzi", čímž se nabídka notně zůžila.
Nakonec jsem se vrátil k Umbrellu a s radostí zjistil, že po zadání "Importovat třídu" stačí ve stromovém výběru objektů jen uchopit příslušnou třídu a drag&drop ji přenést nad plochu diagramu třídy. Super! Akorát mi trochu chybí export do nějakého rozumného formátu...
Takže otázky do pléna na závěr:
Tiskni
Sdílej:
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
dia2code
, import jsem zatim delat nepotreboval.
Jinak jsem take narazil na docela slusny open-source UML nastroj a to StarUML. Nicmene jen pro Windows.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.