4IT450 CASE - Computer Aided Systems Engineering
Srovnání dostupných cloudových řešení nástrojů CASE Tomáš Andrle, Bc. Jan Beneš, Bc. Grund Michal, Bc. Pich Radek, Bc. Šubr Zdeněk, Bc.
Vysoká škola ekonomická v Praze Fakulta informatiky a statistiky Katedra informačních technologií
Letní semestr 2010/2011
Obsah Obsah ....................................................................................................... 2 Úvod......................................................................................................... 3 Computer-Aided Systems Engineering .......................................................... 4 Historický vývoj nástrojů CASE v rychlosti .................................................. 4 Současné trendy a nástroje CASE .............................................................. 4 Cloud Computing ........................................................................................ 5 Distribuční model .................................................................................... 7 Metodiky zpracování práce .......................................................................... 8 Metodika práce ........................................................................................ 8 Metodika hodnocení ................................................................................. 8 Jednotlivé produkty .................................................................................. 10 yUML ................................................................................................... 10 Gliffy Online .......................................................................................... 21 Gatherspace ......................................................................................... 28 Creately ............................................................................................... 34 iDungu ................................................................................................. 39 WebSequenceDiagrams .......................................................................... 42 GModeler .............................................................................................. 47 Lucidchart ............................................................................................ 52 GWTUML .............................................................................................. 56 Vícekriteriální rozhodování ......................................................................... 59 Závěry hodnocení ..................................................................................... 62 Zdroje .................................................................................................. 63
-2-
Úvod Jistě není žádným tajemstvím, že momentální dění ve světě IT ovládají služby, proto Vás nepřekvapí, že dokonce i vývojové a analytické softwarové nástroje si pomalu hledají cestu ke svému „cloudovému“ řešení, ba dokonce jich již pěkná řádka existuje. Tato seminární práce, ve tvůrčí režii našeho týmu, by ráda tento revoluční jev v IT zdokumentovala právě na poli nástrojů CASE. Důvodů, proč jsme si toto téma vybrali, bylo samozřejmě více. Zejména se jednalo o problém s vyčerpáním dosavadních témat, proto jsme chtěli přijít s nějakým svěžím a aktuálním nápadem, který aktualizuje čtenářovo povědomí a přinese mu široký přehled o aplikačním portfoliu dostupném skrze distribuované cloudové služby. Semestrální práce si klade za cíl zasvěcení čtenáře do problematiky distribučního modelu Cloud Computingu a vysvětlení jeho principů s orientací na nástroje CASE. Vyvrcholením práce bude seznámení se s dostupnými řešeními tzv. „CloudCASE“ nástrojů a jejich metodické ohodnocení z hlediska uživatelsky relevantních aspektů pohledem autorů této práce. Práce je tedy rozdělena do dvou částí. První řeší otázku teoretického výkladu pojmů a souvislostí. Druhá je jakýmsi praktickým a systematickým přínosem pro získání povědomí o stavu trhu s těmito produkty. V závěru druhé části, tedy části, kde se hodnotí jednotlivé produkty, se dozvíte, které tři produktové varianty jsou uživatelsky nejatraktivnější.
Slovo vedoucího týmu: „Prosíme čtenáře, aby si jednotlivá hodnocení a soudy o produktech interpretovali pouze v rovině subjektivně zabarvených komentářů autorů práce. Nejedná se o účelně zkreslené příspěvky s marketingovým záměrem.“
-3-
Computer-Aided Systems Engineering „Nástroje pro podporu analýzy, plánování a rozvoje informačních systémů. Nejznámějším představitelem jsou nástroje pro objektový návrh aplikací a nástroje pro mapování procesů.“ [4] Nástroje CASE jsou softwarové nástroje a metodické postupy, které slouží k transformaci analytických dat odvozených z reality do prezentovatelné podoby, která poté slouží jako konzistentní východisko a dorozumívací prostředek mezi jednotlivými vrstvami kompetencí realizačního týmu pracovníků - manažer, analytik, konzultant, architekt, vývojář, zákazník. Díky nástrojům CASE je možné modelovat podnikové procesy, komplexní architekturu počítačových systémů, databázové struktury, interakce abstrahovaných objektů reality, a mnohé další. Nástroje CASE jsou zkrátka nutným podpůrným prostředkem pro realizaci jakéhokoliv měkkého i tvrdého systému, který aspiruje na to, aby byl úspěšně realizován a udržován.
Historický vývoj nástrojů CASE v rychlosti Nástroje CASE začaly vcházet do povědomí již v 80. letech minulého století. V té době se ani zdaleka nepodobaly dnešním nástrojům dostupným na trhu. Nástroje CASE let 80. byly určeny zejména k dokumentačním účelům vývojového cyklu softwaru. Sloužili ke zdokumentování požadavků na budoucí aplikaci, jejího návrhu a analýzy. Díky těmto jednoduchým textovým editorům, které podporovaly jen základní prvky formátování, se práce inženýrů výrazně zefektivnila. [1] Dalším vývojovým stupněm nástrojů CASE byla možnost vytvářet grafické diagramy, které softwarovým inženýrům umožnila lepší orientaci v návrhu. Takto namodelovaný návrh mohl být lépe modifikovatelným. Důležitým přínosem pro nástroje CASE bylo jejich obohacení o slovníkové databáze, které formalizovaly datové typy a standardní součásti modelů. Snahou nástrojů CASE bylo ulehčit vývojářů generování kódu, což se daří i dnes pouze do jisté míry. [1] Dnes vychází nástroje CASE z analytických a vývojářských metodik (např. BPMN, UML, …). Globalizační snahy vyústily ve snahu integrovat nástroje CASE do vývojových platforem, které označujeme jako Integrated Development Environment (IDE).
Současné trendy a nástroje CASE Dnešní doba se nese ve znamení globalizovaných služeb, říká se jim příznačně Cloudy („Mraky“). Aby byly nástroje CASE nadále konkurence schopné, tak musí tomuto trendu také podlehnout. CASE se musí zákonitě transformovat z tlustých aplikací do flexibilní formy Cloudu, a být tak dostupným v distribuované podobě webových aplikací nebo metodických WebIDE aplikacích. Pár takovýchto -4-
webových aplikací již v praxi funguje. O jejich kvalitě bude pojednávat praktická část této práce.
Cloud Computing „Uživatel služeb může na cloud computing nahlížet jako na outsourcing se všemi uživatelskými, technicko-organizačními, technologickými, bezpečnostními či ekonomickými důsledky, které s sebou outsourcing přináší.“ [2] Pojem Cloud Computing, ať už na něj máte nebo nemáte vytvořen nějaký názor, se pokusíme vysvětlit ze svého pohledu. Cloud Computing je spíše ideologií, nežli konkrétní systémově-architektonický koncept. Myšlenka Cloud Computingu je teprve zhmotňována ve svém distribučním modelu. Filosofie Cloud Computingu operuje s myšlenkou poskytování v podstatě všeho, co vás jen napadne, v podobě pronajímatelné služby. Takto založené služby jsou potom dostupné z prostředí webových prohlížečů na síti Internet, nebo v případě užší distribuční skupiny jde o privátní počítačové sítě. Díky současné technologické úrovni webových aplikací nejsme stále ještě schopni provozovat aplikace funkcionálně tak bohaté, jako jsou ty desktopové. To se ovšem s rozvojem HTML 5 jistě změní, proto má Cloud Computing otevřené dveře dokořán. Cloud Computing se vyznačuje několika zajímavými vlastnostmi, které z něj dělají to pravé pro udávání koncepčního směru v informatice. Jsou to tyto vlastnosti vyjádřené v anglických klíčových slovech:
Multitenancy – možnost provozovat službu tak, že umožňuje současně obsloužit více zákazníků najednou díky sdílené architektuře. [3]
Scalability – cloudové aplikace a abstrahované výpočetní architektury svým zákazníkům nabízejí širokou možnost škálování. Například přidání virtuálního procesoru nebo rozšíření operační paměti je prakticky jen otázkou pár kliknutí myši.
Pay as you go – systém „pay as you go“ spočívá v principu „zaplať si co potřebuješ“. Zákazník tak dostává a platí vždy jen to, co opravdu v danou chvíli používá a potřebuje. Další možností je využití předplatného služby. [3]
Up to date – software, který je poskytován prostřednictvím cloudu je spravován centrálně a je všem současně poskytován ve stejné verzi. Tato vlastnost zákazníkovi zaručí, že software, který používá je neustále ten nejaktuálnější se zajištěnou konzistencí vašich dat. [3]
Worldwide access via Internet – jedna z nejvýznačnějších vlastností cloudů a cloudových služeb je to, že je možné se k nim připojit odkudkoli na světě díky globální síti Internet. -5-
High availability – vysoká dostupnost signalizuje skutečnost, že poskytovatel garantuje nepřetržitý chod nabízené služby. Toto hovoří za fakt, že je provoz zabezpečen proti všem možným očekávatelným problémům při provozu systému, který službu zajišťuje. Může se jednat například o poruchy serverů, datových úložišť (popřípadě jejich součástí) a výpadky napájení. Řešení bohužel nemůže ovlivnit kvalitu distribučního média, zpravidla jde o síť Internet. V případě výpadku nějakého z kritických síťových uzlů na cestě mezi poskytovatelem a spotřebitelem se služba bohužel stává nedostupnou.
Abychom nemluvili o Cloud Computingu v samých superlativech, tak je nutné poznamenat i pár faktů hovořících v neprospěch tohoto konceptu:
Vendor lock-in – výraz „vendor lock-in“ znamená, že cloud, kterému se propůjčíme, nás ve svém prostředí uzamkne v tom smyslu, že poskytovatel diktuje všechny změny ve verzích aplikace a určuje podmínky pro své uživatele. Uživatel prakticky nemá možnost customizace. Další věc, kterou je nutné si uvědomit je, že vaše data jsou uložena kdesi v „mraku“ a vy je nemáte fyzicky dostupné, a pokud není cloudovou aplikací umožněno svá data nijak exportovat, aby je bylo možné zmigrovat na jiný systém, tak se automaticky stáváte rukojmím tohoto poskytovatele a nesete s ním i jeho rizika.
Migrační náklady – před tím, než se pustíte do slibného přenesení nějaké z částí operativy vašeho businessu na jiný subjekt, je třeba kalkulovat s náklady na přenesení současného stavu do nové aplikace, případě ohodnotit náklady na integraci systémů vaší společnosti s novou službou.
Legislativa – právní normy jsou v různých zemích našeho světa odlišné, proto je nutné tyto normy znát a zaručit korespondenci s požadavky na například bezpečnost informací v zemi, ve které se nachází koncový zákazník služby. Za zmíněný příklad hovoří naše právní norma pro ochranu osobních údajů, kterou v USA neuznávají.
Bezpečnost – je diskutovaným tématem, které je ovšem v prostředí internetových služeb jistě relevantní, protože se jedná o síť tzv. veřejnou, tedy jsou nutná opatření pro management bezpečnosti přístupů ke službě a toků dat mezi zákazníkem a poskytovatelem.
-6-
Distribuční model Důležitým vstupním bodem do pojmu Cloud Computingu je chápání jeho distribučního modelu. V první řadě je potřeba asociovat pojmy „rozsah služby“ a „úroveň zveřejnění služby“. Rozsah služby je zde míněn jakožto úroveň abstrakce plnění nabízené služby. Úroveň zveřejnění služby pak znamená komu je služba přístupná. Rozsah služby
IaaS – Infrastructure as a Service
IaaS je z hlediska rozsahu služeb na jeho prvním stupni. Jedná se o službu, kdy poskytovatel pronajímá zákazníkům svoji fyzickou infrastrukturu ve formě zvirtualizovaných výpočetních prostředků (servery, switche, …). V praxi to potom funguje tak, že zákazník poptá technické parametry oněch požadovaných prostředků (u serverů je to zpravidla počet CPU, velikost RAM, parametry úložiště dat, atd.), a na základě nich dostane za úplatu k dispozici takto nakonfigurované virtuální zařízení, v jehož útrobách provozujeme vlastní systémy. Nesmírnou výhodou pro zákazníka je, že nemusí zajišťovat housing, údržbu svých hardwarových IT prostředků a licencí k virtualizačním platformám, ať už se jedná o řešení společnosti Citrix, VMware nebo Microsoft. [3]
PaaS – Platform as a Service
PaaS je na druhém stupni rozsahu služeb. To znamená, že v sobě skrývá principy IaaS, přičemž podrobnosti implementačních parametrů jsou zákazníkovi skryty. Zákazník takto dostává do rukou možnost na této platformě vyvíjet a provozovat vlastní cloudová řešení. Nemusíte se tak zajímat o hardwarové prostředky (jejich konfiguraci), na kterých vaše platforma běží, protože vysoká dostupnost se stává odebíráním takovéto úrovně služby samozřejmostí. [3]
SaaS – Software as a Service
SaaS se nachází na samotné špici rozsahu služeb. Zákazník je na této úrovni pouhým spotřebitelem požadovaného softwaru od vybraného poskytovatele. Zákazníka nezajímá nic jiného, než aby se dostal v každé situaci ke své předplacené službě. Běhové prostředí, licence operačních systémů a údržba hardwaru jsou pro zákazníka naprosto irelevantní. [3] Úroveň zveřejnění služby
Public – služba je poskytována široké veřejnosti. [5]
Community – jde o zájmové skupiny, které si navzájem sdílejí cloudovou infrastrukturu. Může se například jednat o uzavřenou komunitu vývojářů. [5]
-7-
Private – jedná se o soukromý cloud, čili o cloud, který slouží pro vlastní účely společnosti, zejména o organizace s více oddělenými lokalitami. Není však výjimkou, že privátní cloudy jsou poskytovány třetí stranou. [5]
Hybrid – je cloud, který agreguje cloudy veřejné a privátní, které jsou mezi sebou integrovány. Navenek vystupují jako jeden cloud. [5]
Metodiky zpracování práce Kapitola Metodiky zpracování práce vysvětlí, jakým způsoben probíhá výběr, zpracování a ohodnocení vybraných cloudových řešení nástrojů CASE.
Metodika práce V první řadě byl k elaborátu vybrán seznam nástrojů CloudCASE, kterými se řešitelský tým bude zaobírat. Z každého vybraného řešení je následně zpracována uživatelská rešerše podpořená ukázkami z uživatelského prostředí. Rešerše je pokaždé doplněna o jednotnou tabulku klíčových shrnujících parametrů. Závěrem každé z krátkých rešerší je pak i závěrečné uživatelské hodnocení produktu. Klady a zápory vybraných nástrojů jsou popsány v jednotlivých kapitolách.
Metodika hodnocení Každý řešitel jednotlivých nástrojů CASE se při testování a následném zpracování rešerše zaměřil na předem definovaná kritéria, která byla výchozím bodem pro celkové hodnocení daného nástroje. Po zpracování a vyhodnocení jednotlivých nástrojů jsme všechny hodnoty zanesli do základní tabulky, která byla základem pro vícekriteriální rozhodování. Díky tomu jsme mohli porovnat jednotlivé nástroje CASE a zjistit které z nich jsou nejlepší při tvorbě analytických diagramů. Zde je seznam s popisem jednotlivých kritérií, podle kterých jsme se řídili při sestavování hodnocení. Interface – pod tímto kritériem jsme hodnotili vzhled nástroje CASE. Základem kvalitních a dobře udělaných uživatelských rozraní je přehlednost a jednoduchost. Čím více možností daný nástroj CASE má, tím je tvorba jeho rozhraní složitější. Možnosti – Nabídka možností, kterými daný nástroj disponuje. Jedná se šíři škály dostupných druhů diagramů, například BPM, OOM, Physical data model. Dalším prvkem kritéria je podpora nástroje v různých webových prohlížečích (Opera, Mozzila, Explorer). Zbylé možnosti jsou uvedeny níže.
-8-
1. 2. 3. 4. 5. 6. 7.
Druhy diagramů Funkčnost ve webových prohlížečích Možnost sdílení Kolaborace Bezpečnost User management Podpora
Intuitivnost – rychlost pochopení funkcionality a logického uspořádání jednotlivých prvků nástroje CASE. Co nejmenší potřeba využívání manuálu či nápovědy. Cena – zde jsme porovnávali cenu licencí vybraných nástrojů CASE. Osobní pocit – velice subjektivní kritérium, které vystihuje celkový pocit při práci s nástrojem. Zde je zahrnut i vzhled webové stránky, na kterých je nástroj distribuován. Rychlost odezvy - zde jsme se snažili ohodnotit rychlost, s jakou lze v daných nástrojích CASE pracovat. Do této položky jsme zahrnuli i počáteční délku načítání pracovní plochy a vůbec celého rozhraní.
-9-
Jednotlivé produkty yUML
Název
yUML
Výrobce
http://www.tobinharris.com/
Verze
Beta v0.18
Licence
Free + možnost zakoupení licence
Možnosti
Diagram tříd, diagram aktivity, diagram užití
Grafické rozhraní Programovací box
Charakteristika yUML je ve své podstatě velice jednoduchý editor UML dostupný přes internetový prohlížeč, což umožňuje vytvářet a hlavně sdílet diagramy UML, které si uživatel vytvoří, a to vše online bez nutnosti jakékoliv registrace. Sdílení diagramů UML je umožněno tím nejjednodušším možným způsobem, a to skrze prostý obrázek. To však zajišťuje velkou variabilitu při možné prezenci a diagram tak můžeme předvádět na blogu, webových stránkách, na Wikipedii, fórech, skrze email a podobně. Samotná tvorba diagramů UML probíhá na webové stránce yUML a to velice překvapivě bez téměř jakýchkoliv grafických prvků. Není zde tedy klasický panel nástrojů, kterým se přetahují jednotlivé prvky diagramu na stránku, ze které pak postupně vzniká daný diagram (jak jsme tomu zvyklí například u produktu Visio od Microsoft), ale kreslení, nebo spíše vytváření, je zde řešeno pomocí jakéhosi příkazového boxu a veškeré diagramy je tedy nutné „naprogramovat“. Jediné jednoduché grafické prvky jsou dostupné až po rozkliknutí „nových funkcí ve verzi Beta“. Po rozkliknutí příslušného hypertextu nám yUML nabídne tabulku s graficky znázorněnými možnostmi velikostí diagramu, jako je „Huge!, Big, Normal, Small a Tiny“ v případě velikosti. V případě výběru směru diagramu je grafickým prvkem pouze tabulka obsahující možnosti „Left to, Right, Top, Down, - 10 -
Right to, Left“. Po výběru velikosti a směru se volba ihned projeví pod příkazovým boxem. Zajímavé je, že textové příkazy pro vytváření diagramů v podstatě suplují grafické prvky (Využívají se znaky, které vypadají jako prvky v diagramu). yUML nabízí jak tvorbu diagramů tříd, tak i diagramů aktivity a diagramů užití. Pro příklad diagramu tříd uvádíme jednoduchý příkaz: „[Tabulka1]1N[Tabulka2]“, který vytvoří diagram s dvěma entitami Tabulka1 a Tabulka 2, které jsou propojeny šipkou s hodnotami 1 ku N (viz obrázek).
Příklad užití příkazů v yUML
Pro diagram aktivity uvádíme jednoduchý příklad se startem, jménem a koncem, kdy start šipkou navazuje na jméno a jméno poté šipkou na konec. Příkaz vypadá takto: „(start)->(Jan Benes)->(end)“ a výsledek takto:
Příklad užití příkazů v yUML
Pro předvedení diagramu užití jsme použili jednoduchý příklad s aktérem, užitím a poznámkou. Příkaz vypadá takto: „[Jan Benes]-(test), [Jan Benes]-(note: Toto je poznamka{bg:beige})“ a výsledek generovaný yUML takto:
- 11 -
Příklad užití příkazů v yUML
Klady a zápory Mezi jednoznačné klady patří absence jakékoliv registrace, což je vzhledem k marketingovým trendům současnosti neobvyklé (společnosti sbírají cenné informace o uživatelích jakýmkoliv způsobem). Dalším, a možná dokonce tím největším kladem, je samozřejmě cena, která se v cloudovém pojetí rovná nule a aplikace je tedy přístupná opravdu všem. Dále je třeba vyzdvihnout relativně velký počet možností (vzhledem k jednoduchosti celé aplikace) při samotném tvoření diagramu. Tato výhoda se však může stát velice lehce i nevýhodou kvůli absenci grafického rozhraní a tím i zvyšující se nepřehlednosti při tvoření složitějších diagramů. Dalším výrazným kladem je absence jakýchkoliv reklam na webové stránce yUML. Autor na svém blogu uvádí, že reklamy jednoduše nemá rád a kvůli čistotě webové stránky je odstranil. Výnosy jsou proto pouze ze sponzorských darů a z placené aplikace. Další výhodou je možnost umístit vytvořený graf téměř na jakékoliv místo, které podporuje načítání tagů a to díky tomu, že yUML generuje kód s vytvořeným diagramem. Ve výsledku tedy například do html stránky přidáme příkaz:
webových stránek (HTML) Python API Java API Ruby, API.
- 42 -
Odkaz "Buy" obsahuje informace o možnosti zakoupení licence, cenách a způsobu platby. Na závěr jsou uvedeny kontakt na emailovou adresu výrobce a odkaz na starší webovou stránku této aplikace. Přestože poskytovatel této služby deklaruje, že jsou diagramy UML, můžeme si všimnout, že nabídka vzájemných vazeb mezi prvky odpovídá požadavkům většinou dvou vzájemně komunikujících uzlů.
Zde vidíme další možnou grafickou podobu diagramu. Diagram vychází z následujícího zdrojového kódu: participant Bob participant Alice participant "I have a really\nlong name" as L Alice->Bob: Authentication Request Bob->Alice: Authentication Response Bob->L: Log transaction
- 43 -
V placené verzi je možné definovat paralelní činnosti následující formou: parallel { Client->Proxy: Request Proxy->Server: Forwarded Request note right of Server: Web proxy in operation }
Klady a zápory Velkou výhodou produktu WebSequenceDiagrams je možnost bezplatné tvorby jednoduchých schémat a diagramů. Forma, kterou se vytváří je velice uživatelsky nenáročná. Pro tvorbu jednoduchých diagramů není nutná znalost kódu. Diagram uživatel vytváření pouze přetažením vztahu mezi prvky do pole pro vytváření diagramu. Pokud by si uživatel přeci jen nevěděl rady, v sekci Help je uvedeno několik ilustrativních scénářů a příkladů, včetně popisu možností uplatnění. Aplikace umožňuje volit mezi různými vzhledy diagramu, to také oceňujeme velmi kladně. Prostředí webové aplikace je velmi příjemné, bez reklam, obsahuje velkou pracovní plochu, Snadno se zde orientuje, vše je velmi intuitivní. Ještě je nutné vyzdvihnout možnost ukládat a načítat soubory v požadovaném formátu přímo z disku. Můžeme tedy kdykoli editovat vytvořené schéma, bez nutnosti se registrovat, nebo jej dokonce vytvářet znovu. Možným omezením může být drobná nepřehlednost při kombinování více vztahů mezi sebou. Dále je limitujícím faktorem omezená nabídka možných vztahů. Pokud bychom chtěli aplikaci provozovat na vlastním serveru, je nutné zakoupit licenci. Výhody + + + + + +
Nevýhody
omezená verze zdarma jednoduchá tvorba schémat náhled schématu při tvorbě ukládání výstupní formáty grafické zpracování schémat
- 44 -
omezení na určité typy schémat nerespektuje UML nápisy ve výstupu překrývání prvků při zmenšení okna placená plná verze
Licence Pokud bychom chtěli aplikaci provozovat na vlastním serveru lze nakoupit verzi s plnou funkcionalitou. Cena se liší dle počtu koncových uživatelů. Cena se pohybuje od 99 USD pro 2 uživatele po 799 USB pro neomezený počet uživatelů. Pokud chce zákazník zakoupit novou verzi, je účtována poloviční cena původně zakoupeného produktu. Po zakoupení není nutné jakékoliv další nastavování, stačí jej nainstalovat. Plná verze Server Edition podporuje operační systémy Windows, Ubuntu, Red Hat, OpenSUSE a Linux. Platba typicky probíhá systémem PayPal. Interface
Rozhraní, ve kterém se schéma vytváří je skutečně jednoduché. Uživatel si z levého sloupce přetáhne požadovaný vztah do oblasti pro zapsání kódu. Následně jej může upravit, rozšířit či přejmenovat. V pravé části se na základě těchto změn průběžně aktualizuje grafické znázornění diagramu.
- 45 -
Hodnocení WebSequenceDiagrams je jednoduchý cloudový nástroj pro tvorbu a ukládání schémat. Podporuje celou řadu výstupních formátů a jeho ovládání je velmi intuitivní. Pokud si nevíte rady, během chvilky se můžete inspirovat vzorovými schématy, včetně jejich zdrojového kódu. Bohužel, diagram tříd, nebo schéma respektující UML notaci v něm vytvořit nelze. Otázkou je zda-li cena za plnou licenci odpovídá schopnostem tohoto nástroje. Interface
8
Intuitivnost
9
Cena
3
Osobní pocit
6
Možnosti
4
Rychlost odezvy
1
- 46 -
GModeler
Název
gModeler
Výrobce
Grant Skinner, http://gskinner.com/gmodeler
Verze
V0.6.1
Licence
Zdarma
Možnosti
Tvorba diagramu tříd
Interface
Pracovní plocha ve FlashOS
Charakteristika GModeler je online aplikace, dostupná přes webový prohlížeč, umožňující tvorbu, ukládání a editování UML diagramů a zaznamenávání dokumentace. Zaměřuje se na vývojáře, kteří používají jazyky ECMA 262 jako je ActionSkript od FlashMX a Javascript. Nad rámec tvorby UML diagramů a schémat umožňuje exportovat HTML dokumentaci, FlashMX XML dokumentace a kód pro zápis tříd. Je produktem softwarového vývojáře Granta Skinnera a jeho týmu. Mimo službu GModeler dodala tato společnost řešení v podobě drobných aplikací pro Adobe, Microsoft, Facebook, Nike a další. Samotná aplikace se spouští na webové adrese http://gskinner.com/gmodeler/launch.html kliknutím na tlačítko, kterým potvrzujete přečtení podmínek užití. Následně se spustí aplikace FlashOS2 přes celé okno webového prohlížeče. V levém horním menu nalezneme několik užitečných odkazů na informace o produktu, tipy, online pomoc atd. Dále tlačítko na manipulaci se soubory a na práci a úpravy diagramu. Při tvorbě nového diagramu se vyplňuje název a autor. Vytvořená schémata je možná ukládat a zpětně načítat. Schémata se ukládají na straně poskytovatele služby. Rovněž lze importovat XML. GModeler podporuje výstupní formáty XML, HTML (dokumentace), FlashMX Docs, Stub Code a AS 2.0 Stub Code. Co se týče samotných schémat, samotné prvky lze přidat z kontextové nabídky Diagram/Add Element. Na výběr je Class (třída), Note (poznámka), Package (balíček). Alternativou je označení ikonky v druhé řádce menu a kliknutí na pracovní plochu. U každé třídy se uvádí její název, vlastnosti, metody a události. Dá se měnit velikost zobrazení okna třídy tažením za roh. K propojení a určení vztahu mezi třídami slouží vazby vyjadřující typ vztahu. Dělí se na Qualified - 47 -
Association, Composition, Aggregation, Dependency, nesting, Inheritance a Generic Association. Celé schéma lze i přiblížit a oddálit.
Na následujícím obrázku je vidět jedna ze záporných stránek tohoto produktu a sice špatné grafické řešení vazeb mezi třídami.
Pro představuje se podívejme na Stub Code, který popisuje prázdnou třídu v diagramu. /** * @class Trida A * @tooltip No description available. * @author John Doe * @version N/A */ Trida A = function() { /** * @property Vlastnosti tridy A * @type */ this.Vlastnosti tridy A = null; } /** * @method Metoda A1 * @return */ - 48 -
Trida A.prototype.Metoda A1 = function() { } /** * @event Udalost A1 */ Klady a zápory Mezi klady nepochybně patří její dostupnost, jednoduchost a intuitivní ovládání. Třídy lze barevně odlišovat, měnit jejich velikost, pozice. Lze přibližovat a oddalovat schéma. Vše je logicky uspořádané a snadně dostupné. Mezi nedostatky určitě na prvním místě patří špatně zobrazování vazeb mezi třídami. Dále může být nepříjemná (při pravém kliku) místní nabídka o nastavení Flash Playeru na úkor nějaké funkční nabídky v rámci vytvářeného schématu. Mezi další minusy patři malé, téměř až nečitelné písmo společně s dialogovými okny velmi skromných rozměrů. Výhody -
Nevýhody
zdarma bez registrace název, popis, atributy i metody tříd příjemné prostředí grafické zpracování systém ukládání možnosti mnoha výstupů
-
nepřehledné vazby FlashOS (možná nekompatibilita) malé písmo malá dialogová okna
Licence Produkt GModeler od GSkinner je k dispozici v plné verzi online zcela zdarma. Není nutné dokupovat jakoukoli dodatečnou licenci. Interface Jak bylo již zmíněno, ovládání je velmi intuitivní. Menu se nachází levém horním menu. Tlačítko v podobě terče nám usnadní zaměření na střed pracovní plochy. Pracovní plocha má příjemný modrý odstín. Jde o ideální prostředí pro menší až středně velká jednoduchá schémata UML.
- 49 -
Pro usnadnění práce při tvorbě a úpravách diagramů lze využít následující klávesové zkratky: In dialogs: Enter - Chooses the default (right most) option. Escape - Chooses the second option (second from right). Does not work in IE on Windows. ALT - You can bypass confirmation dialogs on most buttons and menus by holding Alt. On the stage: 1,2 and 3 - Selects a tool from the toolbar. Spacebar - Centers the currently selected element. Escape - Clears the current selection. Does not work in IE on Windows. Del (forward delete) - Deletes the currently selected element. Shift - Hold shift while dragging a package element to detach it from it's contents. ALT - Hold Alt to select elements or drag the canvas when using a tool other than the select tool.
- 50 -
Datatype shortcuts: You can enter these shortcuts into datatype fields (on classes, and in the parameters box), and they will be replaced with the corresponding datatype. i; Integer s; String + další Hodnocení Tento cloudový nástroj působí rozporuplným dojmem. Faktem je, že umožňuje velmi snadno a rychle vytvořit jednoduché schéma. Bohužel, tento produkt není již několik let aktualizovaný a obsahuje chyby, zejména zobrazování vazeb. Nepříjemně může působit velikost písma a dialogových oken. Rozhranní v prostředí Flash je sice pěkné, ale může být limitujícím faktorem. Interface
2
Intuitivnost
2
Cena
0
Osobní pocit
6
Možnosti
7
Rychlost odezvy
3
- 51 -
Lucidchart
Název
Lucidchart
Výrobce
https://www.lucidchart.com
Licence
Zdarma + 3 balíčky licencí
Možnosti Diagram tříd, diagram aktivit, diagram užití, sekvenční diagram Rozhraní Grafické rozhraní Charakteristika LucidChart je volná služba, která nabízí velkou škálu možností. Společnost garantuje funkčnost na veškerých webových prohlížečích a operačních systémech, které podporují HTML5, CSS3 a Javascript. Pomocí nástrojů UML můžete vytvářet různé druhy diagramů UML, zahrnující diagramy stavové, diagramy aktivit, diagramy použití a mnoho dalších. Velkým přínosem pro práci za pomoci LucidChart je nespočet tvarů a knihoven, nabízející široké spektrum možností, jak bude vypadat finální diagram. Díky LucidChartu můžete pracovat na jednom diagramu současně se svými kolegy. Přímá komunikace a sdílení diagramu zabezpečí maximální využití celého týmu a zkrátí čas potřebný pro vytvoření diagramu. Změny a návrhy můžete provést okamžitě. Konečná práce se dá jednoduše sdílet na blocích či webových stránkách a případná změna se provede automaticky při aktualizaci diagramu v LucidChartu. Testování provedu na diagramu stavovém a diagramu tříd, kde vyzkouším základní funkcionalitu programu a pokusím se nastínit celkový dojem při vytváření diagramu. Tvorba diagramů UML probíhá přímo na webové stránce, pro testování jsem zvolil webový prohlížeč Mozilla Firefox 4. Při vytváření diagramů využíváte grafické prostředí, které je velice přehledné a velice rychle si ho osvojíte. Práci můžete začít už v předpřipraveném diagramu, nebo začít zcela od začátku.
- 52 -
Interface
Ukázka rozhraní LucidChartu
1. Pracovní plocha je vytvořena na síťovém podkladu, která umožňuje snadnější a rychlejší práci s objekty. Při posunu jednotlivých částí diagramu se nástroj snaží udržet objekty v rovině. 2. V levé části grafického prostředí se nachází panel nástrojů, který je rozdělen do jednotlivých částí pro lepší orientaci. Pro rychlejší a přehlednější práci s nástroji můžete jednotlivé segmenty schovávat či rozbalovat. V panelu naleznete kontejnery, diagramy vývojový a stavový, ale i uživatelské nástroje jako vložení obrázku, videa či dialogového okna. 3. V horním panelu jsou k dispozici jazykové fonty, možnost změny velikosti nebo barvy písma. Nejdůležitější částí je nabídka spojovacích prvků – plných či prázdných šipek, úseček s možností změny tvarů,… 4. Samotná práce s objekty je velice jednoduchá a přehledná. Změna tvaru se provede pouhým označením objektu a následovným posunutím. Popis jednotlivých objektů funguje na stejném principu. Stačí pouze označit objekt a přepsat kolonku s popisem. Klady a zápory Hned při spuštění nástroje pro tvorbu UML diagramů Vás mile překvapí krátký tutoriál, který Vám ukáže základy tvorby diagramů s některými užitečnými rady a typy. Samotná práce byla velice jednoduchá a příjemná. Vytvoření diagramu proto nebylo nic složitého. Při tvorbě diagramů můžete v reálném čase spolupracovat s ostatními členy týmu. Pro uložení diagramů využíváte několik serverů, takže případná ztráta dat je téměř nulová. Další výhodou je podpora práce v offline režimu. - 53 -
Velkým nedostatkem LucidChartu vidím v profesionalitě vytvořeného diagramu. Postrádal jsem možnost zanést do diagramu kardinalitu, vztahy mezi objekty byly pouze základní (chybí vztah závislosti a realizace) a práce se softwarem mi připomínala vytváření obrázku ve windowském nástroji malování. Dalším nedostatkem při tvorbě diagramu tříd je absence přednastavení vyplnění atributů a metod třídy. Je tu možnost ručního vypsání, což ale ztrácí hodnotu už na zmiňované profesionalitě. KLADY + Přehledné grafické prostředí + Týmová spolupráce na tvorbě diagramů + Uložení diagramů na serverech LucidChart + Rychlé sdílení a publikování + Podpora HTML5, CSS3, JavaScript
-
ZÁPORY Zanesení kardinality Absence vztahu mezi třídy Občasné problémy s ukládáním
Licence Licence, nabízená společností LucidChart je rozdělena do 4 skupin, která v sobě zahrnuje balíček služeb a možností, které si uživatel může zaplacením licence zpřístupnit. 1. FREE – jak už název napovídá, bude se jednat o bezplatnou licenci. Pro používání těchto služeb stačí pouhá registrace. Samozřejmě s tím je spjatý i obsah balíčku, který obsahuje pouze možnost uložit diagramy o celkové velikosti 25 MB s maximálním počtem 60 diagramů na dokument. 2. PERSONAL- základní balíček služeb, který je ideální pro jednotlivce, kteří potřebují vytvořit diagram UML. Výhodou před volnou licencí je velikost úložiště o velikosti 100 MB a neomezeným počtem diagramů. 3. PROFESIONAL- licence zaměřena na nezávislé profesionály, kteří neustále využívají nástroje UML. Sice za vyšší měsíční poplatek než u personální licence jsou v balíčku obsaženy i prémiové možnosti nástrojů, jako ukládání historie,wireframing atd. Velikost je 1 GB s neomezeným počtem objektů. 4. TEAM – balíček služeb zaměřen pro pracovní skupiny, obchodní firmy zabývající se tvorbou diagramů UML. Hlavní rozdíl je v počtu uživatelů, kteří mohou dané nástroje využívat. Mezi další výhody patří možnost sdílení vyvíjejících diagramů.
- 54 -
Hodnocení Interface Intuitivnost Cena Osobní pocit Možnosti Rychlost odezvy
9 7 8 8 9 0
- 55 -
GWTUML
Název
GWTUML
Výrobce
ObjetDirect
Verze
1.0 Beta 3
Licence
Zdarma
Možnosti
Diagram tříd, diagram aktivit, diagram užití
Rozhraní
Grafické rozhraní
Charakteristika Rychlý jednoduchý nástroj využívající GWT (Google Web Toolkit) pro vytváření diagramů UML. Program byl vytvořený francouzskou společností ObjectDirect, která podporuje vývoj open source projektů. Veškerá práce se softwarem je bezplatná, bez nutnosti registrace. Interface
Ukázka úvodní nabídky GWLUML
- 56 -
V úvodní tabulce máte možnost vybrat si diagram, který budete vytvářet. Je tu nabídka z diagramu tříd, objektového nebo sekvenčního diagramu a dvě možnosti nastavení pracovní plochy. První možnost nabízí, jakou barvu bude mít pracovní plocha. Poslední možností je nastavení kvality diagramů vzhledem k výkonu vašeho počítače a rychlosti připojení. Samotné vytváření diagramu tříd probíhá na prázdné ploše, kde nejsou k dispozici žádné panely nástrojů. Pro tvorbu digramu používáte pouze kurzor myši, kdy při kliknutím pravým tlačítkem dostanete možnost výběru jednotlivých úkonů. Při delší době využívání GWTUML můžete využít hotkeys, které urychlí vaší práci.
Možnosti práce s třídy
Na obrázku je ukázka možností s prací třídy. Můžete zde měnit název třídy, přidávat jednotlivé atributy nebo metody. V další kolonce naleznete možnost zanesení vztahů mezi jednotlivými třídami. Tabulku třídy nelze velikostně upravovat (chyba softwaru) takže tvar se generuje podle velikosti obsahu textu v třídě.
- 57 -
Kontextová tabulka pro úpravu vztahů
Zde je ukázka kontextové tabulky pro úpravu vztahů. Jednak je tu možnost změnit typ vazby, ale také určit kardinalitu a podobné věci s tím spjaté. Klady a zápory Mezi výhody bych uvedl, že nástroj je zcela bezplatný. Při prvním použití je vidět, že nástroj je vytvořen odborníkem, který se daným odvětvím zabývá. V nástroji pro tvorbu diagramů naleznete všechny nezbytné věci, které jsou k vytvoření dobrého diagramu zapotřebí. Diagram se vytvářel velmi rychle díky srozumitelným tabulkám. Nevýhod je ovšem zdaleka víc. Obrovskou chybou je ukončení vývoje tohoto softwaru (poslední aktualizace je z července 2010), i přes viditelný potenciál vytvoření úspěšného nástroje pro tvorbu diagramů UML. Další zklamání jsem viděl ve svázanosti s konečným vzhledem diagramů. Software nepodporuje změnu velikosti, barvy či ohraničení výsledných tříd nebo vztahů mezi nimi. Pracovní plocha se skládá z čisté plochy, kde není možno nalézt jakýkoliv panel nástrojů. Je zde k dispozici jediná lišta s možností uložení výsledného diagramu. Hodnocení Interface
4
Intuitivnost
7
Cena
0
Osobní pocit
5
Možnosti
7
Rychlost odezvy
5
- 58 -
Vícekriteriální rozhodování Vícekriteriální rozhodování jsme využili proto, abychom byli schopni určit nejlepší nástroje CASE, podle našeho hodnocení. Kritéria byla již teoreticky popsána v metodologii. Pro účel našeho hodnocení, jsme vytvořili stupnici od 1 do 10. Hodnoty jsme vkládali podle vlastního uvážení na základě prácí s daným nástrojem CASE. Kritéria jsou pak kvalifikovány dle povahy na maximalizační a minimalizační. V následující tabulce jsou zobrazeny hodnoty v daném kritériu pro daný nástroj. Dále tabulka uvádí, jestli jsou hodnoty minimalizované nebo maximalizované.
Základní tabulka hodnot
Z tabulky je vidět, že kritéria cena a rychlost odezvy jsou minimalizovaná a ostatní kritéria jsou maximalizovaná. Je tedy nutné kritéria převést na jeden typ. Pokud chceme převést minimalizační kritérium na maximalizační, pak vybereme v řádku příslušného kritéria největší číslo a od toho čísla odečítáme ostatní kriteriální hodnoty v daném řádku. Takhle jsme převedli kritéria cena a rychlost odezvy na maximalizované. V další tabulce jsou pak tyto kritéria zvýrazněné červenou. Z této tabulky již také vidíme ideální alternativu, která představuje nejlépe představitelnou variantu a nabývá nejlepšího hodnocení ze všech variant. Na druhou stranu můžeme definovat variantu s nejhorším ohodnocením podle všech kritérií, a tím zjistíme bazální variantu.
- 59 -
Maximalizovaná tabulka hodnot
Ideální alternativa: Bazální alternativa:
10;9;10;10;10;10 2;2;2;3;4;4
Další tabulka je již po transformaci na maximalizační hodnoty. Hodnoty pro dané nástroje CASE jsou sečteny. Podle bodů je pak vidět, že nejlépe vyšly nástroje Gatherspace (48), Gliffy (47), Creately(45) a Lucidchart(45).
Výsledná tabulka bez započítání vah Pro přidělení vah kritériím jsme se rozhodli pro Fullerův trojúhelník.[6] Je tvořen dvouřádky, kde se porovnávají vždy dvě kritéria. U každé dvojice pak řešitel zvýrazní jedno kritérium, které dle něho je důležitější.
Fullerův trojúhelník a váhy kritérií
- 60 -
Pomocí Fullerova pravidla jsme tak zjistili váhy pro daná kritéria. Váha je hodnota z intervalu <0,1> a vyjadřuje relativní důležitost kritéria v porovnání s ostatníma. Součet hodnot vah se musí rovnat jedné. Následující tabulka již zahrnuje i váhy a je z nich patrné, které nástroje CASE jsou dle našeho hodnocení nejlepší.
Výsledná tabulka po započtení vah Z této tabulky je vidět, že opět je nejlepší Gatherspace, následovaný Gliffy a Creately. Creately po započítání vah má tak lepší hodnocení než Lucidchart. Výsledky jsou zobrazeny i na následujícím grafu, který také zahrnuje váhy kritérií.
Výsledné srovnání pomocí grafu
- 61 -
Závěry hodnocení V úvodu jsme si dali za cíl, vybrat tři produktové varianty, které jsou uživatelsky nejatraktivnější. Jako nejlépe hodnocený nástroj CASE podle našeho hodnocení vyšel Gatherspace a to i po započítání vah kritérií. V našem hodnocení získal tento nástroj 3x plný počet bodů a to v kritériích osobního pocitu, možnostech a rychlosti odezvy. Jediné slabší hodnocení měl tento nástroj v kritériu intuitivnosti. Gatherspace měl po započítání vah o více než 9% vyšší hodnocení než druhý riffy a o 10% vyšší hodnocení než creately. Tyto dva nástroje jsou si hodnocením velice blízko. Gliffy získalo dobré hodnocení hlavě díky interfacu, rychlosti odezvy a intuitivnosti, naopak creately má vysoké hodnocení ve funkcionálních možnostech, uživatelském rozhraní a v osobním pocitu. Na konci pomyslného žebříčku se zařadily nástroje idungu a yUML. Naše hodnocení je však čistě subjektivní. Lze najít i jiná kritéria, podle kterých by šly nástroje CASE porovnávat, a také každý může mít jinak ohodnocené váhy kritérií, které jsou nedílnou součástí celého hodnocení. Po změně kritérií nebo vah by mohlo být hodnocení odlišné.
- 62 -
Zdroje [1] BETT, Benjamin. Toolbox.com [online]. 2005-09-14, 2007-06-19 [cit. 2011-05-17]. History of CASE. Dostupné z WWW:
. [2] CIO : Business world [online]. 1999-04-05 [cit. 2011-05-01]. Co je to cloud computing. Dostupné z WWW: . [3] Cloud computing. In Wikipedia : the free encyclopedia [online]. St. Petersburg (Florida) : Wikipedia Foundation, 2010-09-06, last modified on 201104-19 [cit. 2011-05-17]. Dostupné z WWW: . [4] HOUSNER, Pavel. CIO : Business World [online]. 2007-02-27 [cit. 201104-30]. Computer Aided Software Engineering (CASE). Dostupné z WWW: . [5] JICHICI, Ciprian. My Reality [online]. 2010-11-10 [cit. 2011-04-30]. XaaS Decoded: Cloud Computing The Microsoft Way. Dostupné z WWW: . [6] RAMÍK, Jaroslav. Vícekriteriální rozhodování : Analytický hierarchický proces (AHP). Vyd.1. Karviná : Slezská univerzita v Opavě. 1999. 216 s., ISBN 80-7248-047-2.
- 63 -