Vysoká škola ekonomická v Praze, Nám. W. Churchilla 3, 130 67 Praha 3
Využití CASE nástrojů ve vývojářské firmě
CASE – Computer Aided Systems Engineering
4IT450
prof. Ing. Václav Řepa, CSc.
letní semestr
2009/2010
Nela Jakubičková
Michal Novák
Miroslav Novák
Ivan Štefek
Ľubomír Vaško
OBSAH
1 ÚVOD..........................................................................................................3
2 MODELOVACÍ NÁSTROJE...............................................................................5
3 MULTIKRITERIÁLNÍ VÝBĚR..........................................................................27
4 ZÁVĚR.......................................................................................................34
5 ZDROJE.....................................................................................................35
1 Úvod
Na trhu existuje velké množství CASE nástrojů od různých výrobců, různého charakteru
a vybrat si ten správný pro naše účely není vždy tak jednoduchou záležitostí, jak se na první
pohled může zdát. Situaci navíc komplikuje fakt, že každá společnost je svým způsobem
unikátní a CASE nástroj vybraný pro společnost „A“ v žádném případě neznamená, že bude
vhodný i pro společnost „B“. Společnosti se od sebe liší např. svojí velikostí, předmětem
podnikatelské činnosti, velikostí a charakterem řešených projektů atp. To vše a mnoho dalších
aspektů hraje při výběru CASE nástrojů významnou roli.
1.1 Cíl, postup a omezení práce
Cílem této práce je ze zkoumaných modelovacích nástrojů pomocí multikriteriálního výběru
vybrat nejvhodnější CASE nástroje pro malou, střední a velkou vývojářskou firmu.
K tomu, abychom dosáhli vytyčeného cíle, budeme postupovat tak, že nejdříve seznámíme
čtenáře se základními pojmy - „CASE nástroj“, „vývojářská firma“ a definujeme malou,
střední a velkou vývojářskou firmu. Následně představíme vybrané CASE nástroje, které
budou předmětem multikriteriálního výběru. Budeme se zabývat jak komerčními, tak
i opensourcovými CASE nástroji. Z každé skupiny vybereme čtyři až pět zástupců, které
na závěr podrobíme multikriteriálnímu výběru a provedeme vyhodnocení. Výsledkem práce
bude přehled nejvhodnějších CASE nástrojů pro malou, střední a velkou vývojářskou firmu
zvlášť.
Omezením této práce je množství potenciálních CASE nástrojů pro hodnocení a rozsah této
práce. Tímto způsobem nemůže dojít ke kompletnímu porovnání všech existujících CASE
3
nástrojů. Informace budeme čerpat především z elektronických zdrojů, zejména ze stránek
výrobců CASE nástrojů.
1.2 CASE nástroje - definice
CASE je zkratkou pro Computer Aided Software Engineering (někdy také Computer Aided
Systems Engineering). Jedná se o souhrn nástrojů, které podporují vývoj informačního
systému v různých fázích jeho vývoje. „Tyto nástroje vycházejí z metodologií a podporují je
pomocí diagramů, s nimiž je možno propojit fáze vývoje, které by byly jinak pro člověka velmi
komplikované. Podporují týmovou spolupráci, jež je v těchto projektech stěžejním pilířem.
Nezaručují však bezproblémový a bezchybný vývoj, protože jsou to jenom nástroje, dokážou
ho tedy pouze zjednodušit, pokud používáme správnou metodiku na správném nástroji
a máme kvalifikované osoby“.[21]
Používání CASE nástrojů přispívá zejména k vyšší produktivitě práce, nižší chybovosti
a k tvorbě kvalitnější dokumentace. Dále umožňují jednodušší údržbu a další vývoj
výsledného produktu. Podporují také jednodušší a rychlejší spolupráci uživatelů, kteří
se podílejí na vývoji IS. Celkově se dá říci, že CASE nástroje přispívají k efektivnějšímu
vývoji informačních systémů.
1.3 Vývojářská firma – definice
Pod pojmem vývojářská firma budeme v této práci rozumět jakoukoli společnost, která
se zabývá vývojem softwaru jakéhokoli typu. Taková společnost vyvíjí software buď tzv.
na zelené louce, nebo rozvíjí již existující řešení a k jeho vývoji používá nějakou metodiku.
Pro účely této práce rozlišujeme tři druhy vývojářských firem. Vycházíme přitom
ze základního dělení podniků na malé, střední a velké společnosti.
1.3.1 Malá vývojářská firma
Za malou vývojářskou firmu budeme považovat společnost, která zaměstnává méně než
50 zaměstnanců a její aktiva/majetek nebo obrat/příjmy nepřesahují 10 mil. EUR. Příkladem
malé vývojářské firmy může být např. Mindware Studios s. r. o. s pěti zaměstnanci a celková
aktiva se v roce 2007 pohybovala ve výši 258 923 EUR (6 732 000,- Kč).
4
1.3.2 Střední vývojářská firma
Za střední vývojářskou společnost budeme považovat společnost, jejíž počet zaměstnanců je
minimálně 50, avšak ne více než 250. Aby se společnost mohla řadit mezi vývojářské firmy
středního charakteru, musí navíc splňovat, že její aktiva/majetek nepřesahuje částku 43 mil.
EUR nebo má obrat/příjmy nepřesahující 50 mil. EUR. Jako příklad vývojářské firmy střední
velikosti můžeme uvést např. ALWIL Software, ve kterém pracuje 90 zaměstnanců a aktiva
v roce 2008 činila 14 620 000 EUR (380 154 000,- Kč).
1.3.3 Velká vývojářská firma
Všechny společnosti, které vyvíjejí nějaký software a nezapadají do předchozích skupin, patří
mezi velké vývojářské společnosti. Taková společnost tedy zaměstnává více než 250
zaměstnanců a její aktiva/majetek přesahuje 43 mil. EUR nebo její obrat/příjmy přesahují 50
mil. EUR. Mezi velké vývojářské společnosti dle uvedených omezení patří velké množství
společností, jedná se např. o Google, Microsoft, Sun, Oracle atp.
2 Modelovací nástroje
Pro účely této práce byly zvoleny nástroje PowerDesigner, Rational Software Architect,
Enterprise Architect a Borland Together ze skupiny komerčních produktů a z opensourcových
Umbrello UML, ArgoUML, BoUML, a Gaphor. V této kapitole bude každý CASE nástroj
představen tak, aby poskytl čtenáři základní přehled o samotném produktu a hlavně jeho
funkcionalitě daného modelovacího nástroje.
2.1 Komerční produkty
Nyní se blíže seznámíme s některými komerčními produkty pro modelování. Do našeho
výběru se dostaly produkty:
• PowerDesigner
• IBM Rational Software Architect
• Enterprise Architect
• Borland Together
5
V následující kapitole čtenář nalezne základní informace o funkcionalitě výše uvedených
modelovacích nástrojů.
2.1.1 PowerDesigner
PowerDesigner je modelovací nástroj vyvíjený kalifornskou společností SYBASE. Historie
tohoto nástroje sahá do roku 1995, kdy se z nástroje S-Designor, který byl produktem firmy
Powersoft stává nástroj PowerDesigner (Sybase koupil firmu Powersoft v roce 1994) [11].
Od svého prvního uvedení prošel PowerDesigner velkým množstvím změn a od října 2009 je
již k dispozici verze 15.0. Jedná se o trhem dobře prověřený nástroj pro UML, procesní a
datové modelování. V mnoha společnostech je považován za jakýsi standard.
PowerDesigner svou funkcionalitou komplexně pokrývá veškeré aspekty rozvoje podniku.
Obsahuje nástroje pro:
• Procesní analýzu
• Objektovou analýzu
• Datovou analýzu
Podporuje tříúrovňový návrh databáze, samozřejmostí je podpora všech diagramů z rodiny
UML 2.0. Paleta jazyků, pro generování kódu je velice pestrá (Java, C#, C++, PowerBuilder,
XML, VB.NET a další) a pro všechny disponuje funkcí Reverse engineering. Změny
prováděné v diagramech se tedy promítají do programového kódu a naopak změny
v programovém kódu se odrážejí v jednotlivých diagramech. Určitou nevýhodou je fakt,
že PowerDesigner je k dispozici pouze pro platformu MS Windows. Výhodou je naopak
široká paleta vývojářských nástrojů, se kterými lze PowerDesigner integrovat,
z nejznámějších například Eclipse, PowerBuilder a Visual Studio.
„PowerDesigner je ideálním nástrojem pro návrh informačních systémů, protože umožňuje
v rámci jediného prostředí identifikovat důležité obchodní aktivity podniku a zachytit jejich
odraz v aplikacích a databázích pomocí datových a objektových modelů.“ [10]
Spojení funkcí pro modelování procesů s funkcemi pro datové a objektové modelování přináší
komplexní CASE nástroj, který poslouží jak business analytikům pro modelování procesů, tak
IT odborníkům pro datové a objektové modelování. Díky tomu, že na vše stačí použít jediný
6
CASE nástroj s jednotným uživatelským prostředím, lze výrazně urychlit vývoj aplikací. Toto
spojení také napomáhá ke sladění cílů uvnitř podniku a sledování vzájemných vazeb mezi
požadavky obchodního a IT oddělení.
Jak již bylo řečeno, PowerDesigner svou funkcionalitou komplexně pokrývá veškeré aspekty
rozvoje podniku. Pro specifické potřeby vývojářské společnosti disponuje následujícími
modelovacími technikami:
• Procesní modelování
• Objektové modelování
• Datové modelování (Tříúrovňový model – Konceptuální, logický a fyzický)
• XML modelování
• Enterprise modelování [12]
Nasazení PowerDesigneru ve vývojářské firmě s sebou přinese následující efekty:
• Zvýšení produktivity zaměstnanců – díky automatickým generátorům kódu dojde
ke snížení množství kódu, který je potřeba manuálně naprogramovat.
• Lepší týmová spolupráce – PowerDesigner nabízí společné úložiště pro ukládání
jednotlivých modelů a s tím spojenou správu verzí.
• Snadné přizpůsobení konkrétním podmínkám – Díky VB Scriptu, skriptovatelného
COM rozhraní a customizovatelného metamodelu lze PowerDesigner přizpůsobit
různým standardům.
• Snížení množství nechtěných dopadů změn – Každá změna v některém modelu se díky
vzájemné provázanosti modelů projeví na mnoha místech. PowerDesigner dokáže
obousměrně analyzovat dopady zamýšlených změn ve všech vzájemně provázaných
modelech. Díky tomu lze výrazně snížit náklady na implementaci, a to jak časové, tak
i finanční. [10]
Výše zmíněnými přínosy není PowerDesigner jedinečný. Je třeba říci, že podobné přínosy lze
očekávat i od konkurenčních produktů, včetně open source. Jedná se tedy o jakési
marketingové sdělení firmy Sybase. Tyto efekty tedy lze očekávat po nasazení
PowerDesigneru do firmy, která dosud žádný CASE nástroj nevyužívala.
7
Kromě již zmíněné závislosti na platformě Windows vidíme jako hlavní nedostatek
PowerDesigneru jeho vyšší cenu, kvůli které bude hůře dostupný pro mnohé menší
vývojářské společnosti
Nejdůležitější charakteristiky PowerDesigeru jsou shrnuty v následující tabulce.
Tabulka č. 1: Shrnutí PowerDesigner 12
Shrnutí PowerDesigner 12Podporované UML diagramy 13Verze UML 2.0
Generování kóduJava, C#, C++, PowerBuilder, XML,
VB.NET a další.
Reverse engineeringJava, C#, C++, PowerBuilder, XML,
VB.NET a další.Platforma WindowsIntegrovatelnost Eclipse, PowerBuilder a Visual Studio a další.
Obrázek č. 1: PowerDesigner 12
PowerDesigner 12 – ukázka prostředí (stahuj.centrum.cz)
8
2.1.2 IBM Rational Software Architect
Produkt Rational Software Architect od IBM (dříve se jednalo o samostatnou firmu) patří
mezi produkty rodiny Rational. Jedná se o jeden z nejznámějších a velmi propracovaných
nástrojů na trhu.
Rodina aplikací Rational sdružuje nástroje pro všechny fáze vývoje softwaru dle metodiky
RUP (Rational Unified Peocess). Počet produktů rodiny Rational čítá celkem 19 různých
nástrojů pro jednotlivé fáze, které plní s nimi spojené účely:
• Návrh a vývoj
• Správa softwaru v průběhu životního cyklu aplikace
• Analýza a správa požadavků
• Automatizované testování a kvalita
• Konfigurační a změnové řízení
Vzhledem k šíři, kterou produkty z balíku IBM Rational pokrývají, je jasné, že se jedná o
nástroje určené především pro velké vývojářské firmy a softwarové projekty většího rozsahu.,
čemuž odpovídá i jeho cena.
Klíčovými vlastnostmi nástrojů rodiny Rational jsou:
• Založeno na platformě Eclipse 3.4 [14]
• Hlavní důraz je kladen na jazyk JAVA
• Podpora pro všechny členy řešitelského týmu vývojář, tester, vedoucí týmu, manager
• Vzájemná spolupráce mezi jednotlivými nástroji
• Některé z produktů lze nahradit za nástroje open source. [13]
Rational Software Architect 7.7 podporuje všechny diagramy verze UML 2.1. Modely,
vytvořené v tomto nástroji lze transformovat do mnoha programovacích jazyků (Java, C#, C+
+, EJB, WSDL, XSD, CORBA IDL, SQL), ale, jak již bylo řečeno, primárně je nástroj
zaměřen na jazyk Java. Reverse ingeneering je k dispozici pro jazyky Java a C++. Výhodou
Rational Rose je nezávislost na jedné platformě. [15]
9
Všechny nástroje z rodiny Rational, tedy i Rational Software Architect, jsou vytvořeny jako
pluginy pro platformu Eslypse. K využívání těchto nástrojů je tedy nezbytné mít nainstalován
produkt Eclipse, pro Rational Software Architect 7.5, jedná se konkrétně o Eclipse v3.2.
Hlavní charakteristiky nástroje Rational Software Architect jsou shrnuty v následující tabulce.
Vysoká pořizovací cena je pravděpodobně největší nevýhodou tohoto nástroje. Dalším
problémem je pak větší paměťová náročnost, pomalejší reakce na uživatelské události či
časově náročný refactoring [16]. Za nevýhodu lze považovat i fakt, že balík IBM Rational
obsahuje až příliš mnoho různých aplikací [13].
Tabulka č. 2: Shrnutí IBM Rational Software Architect 7.5
Shrnutí IBM Rational Software Architect 7.5Podporované UML diagramy 13Verze UML 2.1
Generování kóduJava, C#, C++, EJB, WSDL, XSD, CORBA
IDL, SQLReverse engineering Java, C++Platforma Multiplatformní (Windows, Linux)Integrovatelnost Eclipse
10
Obrázek č. 2: Rational Software Architect
Rational Software Architect – ukázka prostředí (life.upb.de)
2.1.3 Enterprise Architect
CASE nástroj Enterprise Architect je produktem firmy Sparx Systems. Jedná
se o multiuživatelský grafický nástroj k modelování celého životního cyklu softwarového
projektu od analýzy přes design, implementaci, testování až po údržbu. Tím však není mezi
konkurencí nijak výjimečný, neboť těmito vlastnostmi se honosí všechny zmíněné komerční
produkty. Využívá UML, SysML, BPMN a další otevřené standardy. Vzhledem k přijatelné
ceně je tento nástroj dostupný i pro malé a střední vývojářské firmy.
Větší firmy však sáhnou spíše po jiném produktu. Enterprise Architekt totiž rozhodně nepatří
mezi rychlé nástroje. Propagační materiály sice uvádějí, že výhodou nástroje Enterprise
Architect je jeho rychlost a i extrémně velké modely je schopen zpracovávat během vteřin,
naše zkušenosti, jsou však zcela opačné [17].
11
EA dále nabízí propracované úložiště, které výrazně usnadňuje týmovou práci a sjednocuje
pohled všech zainteresovaných na daném projektu. Týmovou práci také usnadňuje
integrovaná správa verzí.
V Enterprise Architectu je v průběhu celého projektu možné sledovat vzájemné vztahy
a vazby mezi jednotlivými modely, na základě kterých lze pružně reagovat na případné
komplikace.
Přirozeným cílem každé vývojářské firmy je produkovat kvalitní software, který naplňuje
očekávání uživatelů. Aby byl tento cíl usnadněn, disponuje EA funkcemi pro analýzu dopadu.
Je-li potřeba v průběhu vývoje softwaru učinit nějaké změny, můžeme pomocí analýzy
dopadu zjistit jejich vliv na původní požadavky na software. Tento postup tak pomáhá
vývojářům produkovat kvalitní software.
Enterprise Architect dokáže efektivně generovat dokumentaci projektu a detailní reporty
v mnoha formátech. Jedním kliknutím lze navíc automaticky získat HTML verzi jakéhokoliv
modelu.
Paleta jazyků, do kterých dokáže Entarprise Architect generovat kód je velice pestrá. Jedná
se jazyky Action Script, Ada, C, C#, C++, Java Delphi, Verilog, PHP, VHDL, Python,
System C, VB.Net, Visual Basic a další. U jednotlivých programovacích jazyků zároveň
podporuje Reverse engineering. Nástroj obsahuje editor zdrojového kódu, a tak lze snadno
přecházet mezi modelem a generovaným kódem. Enterprise Erchetect je integrovatelný
do IDE nástrojů Eclipse a Visual Studio .NET. Generovaný zdrojový kód lze pomocí templatů
upravit na míru konkrétním požadavkům vývojářské firmy.
Enterprise Architect umožňuje přímo testovat, ladit a spouštět skripty, dále pro jednotlivé
třídy automaticky vytvářet NUnit a JUnit testovací třídy a tím integrovat proces testování. EA
dále dokáže ladit zdrojové kódy v jazycích Java, .NET, C, C++ a Visual Basic.
Paleta funkcí je tedy u tohoto nástroje velmi široká. Umožňuje dále například automaticky
každodenně generovat a publikovat HTML reporty nebo skriptovat některé opakující se
činnosti (například automaticky změnit některý údaj ve všech modelech). Enterprise Architect
poslouží i k řízení projektů, neboť pomocí něho lze efektivně přidělovat zdroje, měřit rizika a
přínosy či řídit změny.
12
Enterprise Architect je také vhodný pro modelování databází. Z modelu databáze lze
automaticky generovat DDL skripty pro databázové systémy DB2, InterBase, Informix,
Ingres, MS Access, MySQL, MS SQL Server, Oracle, PostgreSQL, Sybase ASE, ASA
a Firebird.
Jazyk UML lze použít i pro modelování Business procesů (např. diagram aktivit, diagram
objektů). Enterprise Architect je tak vhodným nástrojem i pro řízení podnikových procesů.
Zbývá dodat snad jen to, že tento výkonný nástroj je postaven na UML verze 2.1 [17].
Kromě již zmíněné nedostatečné rychlosti považujeme za hlavní nevýhodu Enterprise
Architectu jeho závislost na platformě Windows.
Klíčové charakteristiky nástroje Enterprise Architect jsou shrnuty v následující tabulce:
Tabulka č. 3: Shrnutí Enterprise Architect
Shrnutí Enterprise ArchitectPodporované UML diagramy 13Verze UML 2.1
Generování kóduAction Script, Ada, C, C#, C++, Java Delphi,
Verilog, PHP, VHDL, Python, System C, VB.Net, Visual Basic a další
Reverse engineeringAction Script, Ada, C, C#, C++, Java Delphi,
Verilog, PHP, VHDL, Python, System C, VB.Net, Visual Basic a další
Platforma WindowsIntegrovatelnost Eclipse, Visual Studio .NET
13
Obrázek č. 3: Enterprise Architect
Enterprise Architect – ukázka prostředí [18]
2.1.4 Borland Together
Všestranný nástroj Together je produktem společnosti Borland z amerického Texasu. Jedná se
o propracovaný software pro analýzu, návrh a vývoj podnikových aplikací. Uplatnění najde
všude tam, kde se zabývají podnikovými procesy, vývojem softwaru, vývojem databází atd.
Nabízí podporu pro všechny role, které se uplatňují v průběhu životního cyklu softwarového
projektu, tedy pro analytiky, architekty, vývojáře, testery atd. Nabízí také kvalitní podporu pro
koordinaci práce a vzájemnou komunikaci jednotlivých členů týmu.
Together tedy slouží pro modelování business procesů, datové modelování a UML
modelování a podporuje práci s DSL (DSL = domain-specific langure – jazyk pro zachycení
specifik, které nelze zachytit v UML diagramech) [19].
14
Vytvořené modely lze transformovat do zdrojových kódů jazyků Java, C++ a COBRA IDL
(včetně Reverse ingeneering). Díky technologii LiveSource dokáže Together synchronizovat
změny mezi jednotlivými modely a zdrojovými kódy.
Z navržených modelů dokáže Together generovat logickou a fyzickou strukturu databáze
na platformě Oracle, DB2, Sybase a MS SQL Server.
Výhodou tohoto modelovacího nástroje nezávislost na platformě. K dispozici je
pro Windows, Linux, Mac OS X a Solaris.
Together lze integrovat s IDE Eclipse, Visual Studio, NetWeaver, BBuilder a další. Podporuje
všechny druhy diagramů UML, včetně diagramů tříd, use case, sekvenční, spolupráce,
na akcích, států, komponenty, a nasazení. Další výhodou je možnost využití předpřipravených
návrhových zdrojů, díky kterým lze vývoj softwaru ještě více urychlit. Již v průběhu
modelování lze provádět testy, které mohou včas odhalit problémy, které by později mohly
způsobit velké škody [20].
Je tedy jasné, že Borland Together není software pro kreslení UML diagramů, ale jedná se
stejně jako v případě ostatních zmíněných komerčních nástrojů o mocný CASE nástroj, který
nalezne využití během celého životního cyklu projektu.
Stejně jako u produktu Rational Software Architect, nesmíme ani zde opomenout poměrně
vysokou cenu. Borland Together si tak můžou pořídit spíše větší vývojářské firmy.
Klíčové charakteristiky nástroje Borland Together jsou opět shrnuty v následující tabulce.
Tabulka č. 4: Shrnutí Borland Together
Shrnutí Borland TogetherPodporované UML diagramy 13Verze UML 2.0Generování kódu Java, C++, C#, COBRA IDLReverse engineering Java, C++, C# COBRA IDLPlatforma Windows, Linux, Mac OS X, Solaris
IntegrovatelnostEclipse, Visual Studio, NetWeaver, BBuilder
a další
15
Obrázek č. 4: Together Edition for Eclipse
Borland Together – ukázka prostředí (compress.ru)
Tabulka č. 5: Přehled cen vybraných licencí komerčních produktů
Přehled cen vybraných licencí komerčních produktůPowerDesigner 12.5 Studio Personal 102.858.-KčPowerDesigner 12.5 Studio Enterprise 130.095,-KčIBM Rational Software Architect Authorized User License + 12 Months Software Subscription and Support
146.979.-Kč
Enterprise Architect Corporate Edition – Standard License 5.555,- KčEnterprise Architect Desktop Edition 3.138.- KčEnterprise Architect Business and Software Engineering Floating Edition 18.569,- KčTogether 2008 Named User Support & Maintenance 23.058,-KčTogether 2008 Named User (ESD) 111.020,-Kč
16
2.2 Open source CASE nástroje pro UML modelování
V této kapitole se budeme věnovat open source produktům, tedy produktům, které jsou
k dispozici zcela zdarma prostřednictvím bezplatných licencí. A jsou volně přístupné
na stránkách výrobců. V rámci širšího pojetí se dají tyto produkty označit za méně komplexní,
a oproti komerčním produktům se rovněž vyznačují slabší funkcionalitou. Jak již bylo
uvedeno, veškeré open source aplikace jsou šířeny pod různými typy licencí, těmito licencemi
jsou např. GPL a licence podobného druhu. Jednou z největších výhod open source produktů
je, kromě jejich bezplatnosti, ve většině případů intuitivní ovládání, které tak zkracuje čas
potřebný na zaučení. [1]
K těm nejznámějším a nejpoužívanějším open source modelovacím nástrojům patří např:
ArgoUML, BoUML, UmbrelloUML, Gaphor, Dia, Fujaba, StarUML,UMLet, Violet apod. [2]
Z těchto nástrojů jsou do multikriteriálního výběru vybrány první čtyři zmíněné.
2.2.1 ArgoUML
ArgoUML je open source CASE nástroj zaměřený na podporu notace UML. Tato nástroj je
volně šířen a je možné jeho funkce i zdarma využívat v rámci licence BSD. Vytvořen byl
týmem kolem Jasona E. Robbinse na Kalifornské univerzitě. Ke stažení byla poprvé dostupná
v roce 1998.
ArgoUML je celý napsán v programovacím jazyce Java a pro svůj běh tedy potřebuje
nainstalované JRE. Díky tomu, že je tato software napsán v Javě, je zcela nezávislý na použité
platformě nebo operačním systému. Nejaktuálnější stabilní verzí tohoto produktu je
od 7. května 2010 verze 0.30.1, která již podporuje všech 9 základních digramů UML.
Ke stažení je volně dostupná na adrese http://argouml.tigris.org/. [3]
Podporovanou verzí UML je verze 1.4. Jedním z hlavních nedostatků tohoto produktu, je však
skutečnost, že nepodporuje možnost generování dokumentace z jednotlivých modelů. Naopak
velikým plusem je možnost generování kódů do mnoha programovacích jazyků. Těmito
jazyky jsou kromě Javy také například C#, C++, PHP4 a PHP5. Vzhledem k tomu, že je
možné tento produkt navíc obohacovat o přídavné moduly, je možné přidat i podporu dalších
jazyků jako je dotazovací jazyk SQL apod.
17
Reverse engineering umožňuje nástroj ArgoUML pro jazyky C++, Java a IDL. Díky tomu,
že je celá aplikace napsána v Javě, je u Javy možné importovat zdrojové kódy i class soubory.
A stejně jako v případě předešlého odstavce, je možné přidávat další možnosti a funkce
reverse engineeringu pomocí různých druhů modulů. ArgoUML je možné spustit
i ve vývojovém prostředí Eclipse a to za pomocí plug-inu ArgoEclipse.
Jednotlivé modely je v této aplikaci možné importovat ve formátu XML. Naopak exportovat
můžeme diagramy do grafických formátů GIF, PNG, SVG apod. Export všech typů modelů
do formátu XML je samozřejmostí.
Za jednu z velkých nevýhod by se dala označit absence jakéhokoli systému pro správu verzí.
Zásadním nedostatkem této aplikace je zejména chybějící lokalizace do češtiny. Tento
nedostatek je zcela jistě jednou z příčin toho, že se tento volně dostupný produkt na našem
území nerozšířil více než doposud. ArgoUML v současnosti podporuje především angličtinu,
španělštinu a francouzštinu. [4]
Výhodou je naopak velice intuitivní a uživatelsky přívětivé prostředí, které je velice podobné
komerčním nástrojům. Z tohoto důvodu by nemělo být problémem osvojit si ovládání ani pro
laika.
18
Obrázek č. 5: ArgoUML
Ukázka open source produktu ArgoUML [4]
Tabulka č. 6: Shrnutí Argo UML
Shrnutí ArgoUMLPodporované UML digramy 9Verze UML 1.4.Generování kódu JAVA, C#, C++, PHP4 a PHP5Reverse engineering JAVA, C++, IDLPlatforma multiplatformníIntegrovatelnost Eclipse
19
2.2.2 BoUML
Dalším, již méně rozšířeným, Open source CASE nástrojem pro UML je BoUML. Stejně jako
ArgoUMl se jedná o multiplatformní aplikaci, která však ke svému správnému chodu
vyžaduje knihovnu Qt a to ve verzi 2.3 či vyšší. Na domovských stránkách této francouzské
aplikace http://bouml.free.fr/ je možné zdarma stáhnout instalační soubory, zdrojové kódy
a různé balíčky pro různé operační systémy počínaje Microsoft Windows, přes MAC OS X
až po Linux. Celý tento produkt i se všemi jeho doplňky je šířen v rámci licence GNU/GPL
(General Public Licence). Aplikace je vyvíjena od roku 2005 a v současnosti je nejaktuálnější
dostupnou, a především stabilní verzí, verze 4.20.1. Celý program je napsán v jazyce C++,
což s sebou přináší nízké nároky na paměť výpočetních jednotek a dostatečnou rychlost
zpracování.
Ve vývojovém prostředí BoUML lze poměrně snadno vytvářet všech devět druhů UML
diagramů, a proto není problémem zpracovat diagram komunikace, diagram sekvenční,
diagram užití, diagram tříd, objektový diagram, diagram aktivit, stavový diagram, diagram
nasazení a diagram komponent. BoUML umožňuje pracovat se všemi druhy diagramů v UML
verze 2.0.
Výhodou této aplikace oproti již zmíněnému ArgoUML, je možnost generování dokumentace
včetně všech diagramů a to vše prostřednictvím hlavního menu. Veškerá dokumentace, kterou
vygenerujeme je exportována prostřednictvím formátů PHG nebo SVG. Kladem je rovněž
možnost generování přímo do formátu HTML. Co se týče generování kódu, umožňuje tento
francouzský program generovat pro jazyky C++, PHP, Java, IDL a Python.
Co se týče integrovatelnosti, BoUML nepodporuje žádné rozšíření pro integrované vývojové
prostředí. Tento nedostatek může uživatelům vynahradit možnostmi reverse engineeringu,
který je v rámci této aplikace dostupný pro programovací jazyky Java, C++ a PHP. Rovněž je
možný export do vektorového formátu SVG a bitmapového PNG. Samozřejmostí je možnost
exportu do XMI verze 1.2 až 2.1. Import je přístupný pro formáty XMI a projekty ve formátu
MDL, které byly vytvořeny nástrojem Rational Rose.
Stejně jako u ArgoUML ani v případě tohoto modelovacího nástroje nenalezneme lokalizaci
do češtiny. Tento nedostatek je sice na tuzemském trhu poměrně závažný, avšak francouzští
výrobci se snaží zaujmout uživatele na jiných frontách. BoUML, na rozdíl od většiny
20
konkurenčních aplikací, nabízí podporu správy verzí a týmové práce prostřednictvím tzv. File
control. Pro nepříliš zkušené uživatele bude představovat strohé uživatelské prostředí, které
není příliš intuitivní, poměrně velkou překážku. Je nutné ovšem dodat, že toto prostředí
obsahuje všechny potřebné prvky pro tvorbu UML diagramů. [5]
Obrázek č. 6: BoUML
Ukázka open source produktu BoUML [5]
Tabulka č. 7: Shrnutí BoUML
Shrnutí BoUMLPodporované UML digramy 9Verze UML 2.0.Generování kódu C++, PHP, Java, IDL, PythonReverse engineering Java, C++, PHPPlatforma multiplatformníIntegrovatelnost nepodporuje
21
2.2.3 Umbrello UML
Umbrello UML Modeller patří na trhu Open source CASE nástrojů se zaměřením na podporu
notace UML k těm nejznámějším a nejpoužívanějším, a to platí i pro tuzemský trh. Tento
produkt je prvotně určen pro operační systémy GNU/Linux a případně i pro Unix. Z toho
vyplývá, že je tento nástroj šířen v rámci Open source licence GNU/GPL. Nejaktuálnější
stabilní verzí, která byla vydána v polovině roku 2009, je verze 2.3.0, která je součástí tzv.
KDE4, což je druh správce pracovní plochy. Z toho plyne poměrně zásadní omezení pro
ostatní operační systémy, které KDE dodnes nepodporují.
Celý projekt je vytvořen v programovacím jazyce C++, což s sebou přináší stejné výhody
jako v případě konkurenčního BoUML. Vše potřebné pro správný běh tohoto softwaru je
volně dostupné na adrese http://uml.sourceforge.net/. [6]
Tento softwarový projekt uživatelům nabízí možnost vytvářet a pracovat s osmi druhy UML
diagramů. Oproti konkurentům tedy zájemcům nenabídne pouze diagram objektů. Oproti
ostatním OS modelovacích nástrojů však umožňuje tvorbu diagramů pro vytváření datových
modelů (Entity Relationship diagram). Podporovanou verzí UML je v tomto případě poměrně
zastaralá verze 1.4., která je však pro většinu uživatelů zcela postačující.
Generovat dokumentaci je možné do formátu DocBook a XHTML. V případě generování
kódu, Umbrello UML Modeller nabízí jednoznačně nejširší nabídku programovací jazyků,
do kterých je možné kód vygenerovat. Mezi tyto jazyky patří: Ada, C++, C#, D, IDL, Java,
JavaScript, MySQL, Pascal, Perl, PHP, PHP5, PostgreSQL, Python, Ruby, SQL, Tcl,
XMLSchema.
Reverse engineering je v rámci tohoto nástroje podporován pro jazyky Ada, C++, IDL, Java,
Pascal a Python. Záporem ovšem je, že Umbrello nenabízí rozšíření pro integraci vývojových
prostředí. Stejně tak je tomu i v případě podpory pro správu verzí, kterou rovněž tento
software nenabízí. Naproti tomu velkým plusem je existence lokalizace do českého jazyka,
která je ovšem podle reakcí mnoha uživatelů značně nedodělaná.
Export je v případě této aplikace možný ve formátu XMI, a grafických formátů JPG, BMP,
PNG, SVG apod. Importovat rovněž můžeme formát XMI a také MDL. [7]
22
Z výše zmíněného je zřejmé, že Umbrello UML Modeller v mnoha ohledech jednoznačně
převyšuje konkurenci open source modelovacích nástrojů. A to především díky téměř
neomezeným možnostem, které jsou uživatelům nabízeny v případě generovaní dokumentace,
generování kódu, reverse engineeringu a také importu a exportu. Navíc je dostupná česká
lokalizace, která jistě mnohým velice usnadní práci. Dalším plusem je také velice intuitivní
zpracování uživatelského rozhraní. Velikou nevýhodou, která sráží pozici Umbrella na trhu, je
však nemožnost přenést tento software a především správce pracovní plochy KDE na jinou
platformu než je Unix nebo Linux. Uživatelé operačních systému Windows a Mac OS X,
kterých je v České republice nejvíce, tak bohužel přijdou zkrátka.
Obrázek č. 7: Umbrello UML
Ukázka open source produktu Umbrello UML Modeller [7]
23
Tabulka č. 8: Shrnutí Umbrello UML Modeller
Shrnutí Umbrello UML ModellerPodporované UML diagramy 8Verze UML 1.4.
Generování kódu
Ada, C++, C#, D, IDL, Java, JavaScript, MySQL, Pascal, Perl, PHP, PHP5,
PostgreSQL, Python, Ruby, SQL, Tcl, XMLSchema
Reverse engineering Ada, C++, IDL, Java, Pascal, PythonPlatforma Unix, LinuxIntegrovatelnost nepodporuje
2.2.4 Gaphor
Posledním z námi porovnávaných Open source CASE nástrojů je Gaphor. Tento menší,
jednodušší a u nás doposud nepříliš známy projekt je v současnosti volně dostupný ke stažení
na domovských stránkách projektu http://gaphor.sourceforge.net/index.php v nejaktuálnější
stabilní verzi 0.13.1., která byla vydána na začátku roku 2009. Gaphor je napsán
v programovacím jazyce Python a k tomu, aby mohl správně pracovat, je nutné mít
nainstalovány knihovny GTK+. Nástroj je šířen prostřednictvím Open source licencí
GNU/GPL. [8]
I přes to, že se jedná o poměrně jednoduchý CASE nástroj, je Gaphor multiplatformní,
a podporuje UML verze 2.0. Umožňuje vytváření a práci s šesti druhy UML diagramů.
V tomto programu budeme marně hledat diagram objektů, diagram nasazení a sekvenční
diagram.
24
Obrázek č. 8: Gaphor
Ukázka open source produktu Gaphor [9]
Gaphor neumožňuje generování dokumentace z jednotlivých modelů, a ani generování kódů
do žádného z používaných programovacích jazyků. Vzhledem k tomu, že je Gaphor vytvořen
v jazyce Python je reverse engineering dostupný právě pro Python. Reverse engineering pro
jiný programovací jazyk zatím není dostupný. Dalším záporem tohoto softwaru je rovněž
neexistující integrovatelnost. Gaphor nezahrnuje rozšíření pro integrované vývojové prostředí.
Jednotlivé diagramy je možné exportovat do grafických formátů SVG a PNG a formátu XMI.
Velkou výhodou je možnost exportu i do velice populárního formátu PDF. Tato výhoda je
však zastíněna nulovou podporou importování jakýchkoliv modelů. Gaphor rovněž nenabízí
systém pro podporu správy verzí, ale je částečně lokalizován do češtiny. Při práci s tímto
25
softwarem se tedy setkáme s českým i anglickým jazykem. Velikým mínusem tohoto
programu je absolutní absence jakékoliv formy nápovědy, což pro nezkušené uživatele
představuje zásadní problém.
Tabulka č. 9: Shrnutí Umbrello UML Modeller
Shrnutí Umbrello UML ModellerPodporované UML diagramy 6Verze UML 2.0.Generování kódu nepodporujeReverse engineering PythonPlatforma multiplatformníIntegrovatelnost nepodporuje
2.2.5 UML diagramy podporované jednotlivými OS produkty
Tabulka č. 10: UML diagramy podporované jednotlivými OS produkty
ArgoUML BoUML Umbrello UML GaphorDiagram užití ANO ANO ANO ANODiagram tříd ANO ANO ANO ANODiagram objektů ANO ANO NE NEDiagram aktivit ANO ANO ANO ANOSekvenční diagram ANO ANO ANO ANOStavový diagram ANO ANO ANO NEDiagram spolupráce ANO ANO ANO ANODiagram komponent ANO ANO ANO ANODiagram nasazení ANO ANO ANO NE
26
3 Multikriteriální výběr
3.1 Výběr kritérií hodnocení CASE nástrojů
Tabulka č. 11: Kritéria hodnocení CASE nástrojů
Kritérium Jednotky Optimum
Cena Kč MinPodporované diagramy Body z intervalu <1, 6> MaxKritérium verze UML Body z intervalu <1, 6> MaxKritérium generovaní kódu Body z intervalu <1, 5> MaxKritérium reverse engineering Body z intervalu <1, 5> MaxIntegrovatelnost Body z intervalu <1, 4> Max
3.1.1 Cena
Všechny společnosti se snaží snižovat své náklady a vývojářské firmy samozřejmě nejsou
žádnou výjimkou. To je důvod proč má cena jako jediná optimum stanovené na minimum (viz
Tabulka č. 11). Čím nižší je cena za CASE nástroj, tím se pro vývojářskou společnost jeví
jako lepší. To znamená, že čím nižší bude cena CASE nástroje, tak tím víc bodů získá.
U tohoto kritéria se vychází z faktu, že čím menší společnost, tím více je požadavek na nižší
cenu. To znamená, že malé vývojářské společnosti mají u tohoto kritéria nastavenu nejvyšší
váhu ze všech druhů vývojářských firem. Těžko totiž může malá společnost konkurovat svým
rozpočtem té velké. Lze říci, že to je jedna z nejdůležitějších složek a podle něj budou
vývojářské firmy upravovat ostatní kritéria pro výběr modelovacích nástrojů.
3.1.2 Podporované diagramy
V tomto kritériu se bude brát ohled na počet podporovaných diagramů. UML 2.0 podporuje
13 diagramů. Kritérium se bude vyhodnocovat způsobem typu: čím víc diagramů, tím lépe.
Plný počet bodů je možné získat za 13 UML diagramů. Více informací je uvedeno v tabulce
(Tabulka č. 12). Důležitost tohoto kritéria bude nejvyšší u velkých vývojářských firem, dále
pak u středních a nakonec u malých. Rozsah projektů totiž s velikostí společnosti stoupá,
a proto takovéto projekty vyžadují rozsáhlejší analýzu a návrh. Lepší abstrakci reality tedy
poskytne větší počet UML diagramů, nejlépe všech 13.
27
Tabulka č. 12: Stanovení bodů pro kritérium podporované diagramy
Stanovení bodů13 UML diagramů 6b
12 - 10 UML diagramů 5b10 - 8 UML diagramů 4b8 – 6 UML diagramů 3b6 – 4 UML diagramů 2b4 -0UML diagramů 1b
3.1.3 Kritérium verze UML
U tohoto kritéria se vychází z předpokladu, že společnosti preferují nejnovější verzi UML
v daném CASE nástroji, bodování proto probíhá velice jednoduše - čím vyšší verzi CASE
nástroj podporuje, tím vyšší počet bodů je možné získat. Nejvyšší verze UML je momentálně
2.2, to znamená, že za ni je plný počet bodů. Každá nižší verze bude mít od té předchozí
o bod míň. Konkrétní hodnocení je uvedeno v následující tabulce (Tabulka č. 13).
Předpokládá se, že malé, střední a velké vývojářské společnosti vyžadují nejnovější verzi bez
rozdílu, proto toto kritérium bude mít u všech možných druhů vývojářských firem stejnou
váhu.
Tabulka č. 13: Stanovení bodů pro kritérium verze UML
Stanovení bodůUML 2.2 6bUML 2.1 5bUML 2.0 4bUML 1.5 3bUML 1.4 2bUML 1.3 1b
3.1.4 Kritérium generování kódu
V případě výše uvedeného kritéria se bude hodnotit dostupnost generování kódu z diagramu.
To znamená, že čím víc jazyků bude dostupných, tím žádanější bude CASE nástroj pro firmu
a tím víc bodů může takový nástroj obdržet. Bodování bude probíhat na základě toho, zda je
možné generovat kód v Javě 2 body, v C# opět 2 body a podpora jiných jazyků je jen za 1 bod
(viz. Tabulka č. 14).
Kritérium generování kódu bude důležitější hlavně pro střední a větší firmy. Malé vývojářské
společnosti většinou pracují pouze v jednom programovacím jazyce vzhledem k rozsahu
28
jejich projektů, tudíž generování pouze do jednoho jazyka, které je bráno v podstatě jako
standard v modelovacích nástrojích, by mělo být pro takovéto společnosti postačující.
Rozšíření do více jazyků budou tedy vyžadovat větší firmy, které mají víc projektů, více
vývojářů a většinou programují ve více programovacích jazycích.
Tabulka č. 14: Stanovení bodů pro kritérium generování kódu
Stanovení bodůJava 2bC# 2bjiné 1b
3.1.5 Kritérium reverse engineering
U tohoto kritéria se bude hodnotit dostupnost generování diagramu z kódu. To znamená,
že čím víc jazyků bude dostupných, tím lákavější bude CASE nástroj pro společnosti a tím víc
bodů může příslušný modelovací nástroj dostat. Bodování je v podstatě stejné jako
u předchozího kritéria, tzn. bude na základě toho, zda je možné generovat kód v Javě 2 body,
v C# rovněž 2 body a podpora jiných jazyků bude pouze za 1 bod (viz. Tabulka č. 15).
Opět, jako u předchozího kritéria, toto kritérium generování diagramů bude důležitější hlavně
pro střední a větší firmy, ze stejného důvodu – rozsah projektů, programovacích jazyků
a počet vývojářů je většinou ve velkých a středních firmách mnohem pestřejší než v případě
malé vývojářské firmy.
Tabulka č. 15: Stanovení bodů pro kritérium reverse engineering
Stanovení bodůJava 2bC# 2bjiné 1b
3.1.6 Integrovatelnost
U tohoto kritéria je za každý plugin pro některé z vývojových prostředí Netbeans, Eclipse,
IDEa přidělen jeden bod (viz. Tabulka č. 16). Většina vývojářských firem totiž používá jeden
z nich, který je pro společnost ve většině případů dostačující. Proto budou váhy pro všechny
velikosti vývojářských firem přibližně na stejné úrovni. Podobně jako u verze UML.
29
Tabulka č. 16: Stanovení bodů pro kritérium integrovatelnost
Stanovení bodůNetBeans 1bEclipse 1bIDEa 1b
ostatní 1b
3.2 Stanovení vah kritérií
Tabulka č. 17: Stanovení vah pro jednotlivé firmy
Kritérium Malá firma Střední firma Velká firmaCena 50 % 30 % 20 %Podporované diagramy 5 % 10 % 15 %Kritérium verze UML 10 % 15 % 15 %Kritérium generovaní kódu 15 % 15 % 15 %Kritérium reverse engineering 15 % 20 % 25 %Integrovatelnost 5 % 10 % 10 %
3.3 Vyhodnocení
3.3.1 Stanovení bodů pro jednotlivé CASE nástroje
Tabulka č. 18: Stanovené body pro jednotlivé CASE nástroje
Název CASE nástrojů K1 K2 K3 K4 K5 K6Power Designer 130095 6 4 4 5 4IBM Rational Software Architect
146979 6 5 5 3 1
Enterprise Architect 18569 6 5 5 5 1Borland Together 111020 6 4 5 5 1ArgoUML 0 4 2 5 5 1BoUML 0 4 4 4 4 0UmbrelloUML 0 3 2 5 5 0Gaphor 0 3 4 0 1 0
30
3.3.2 Výpočty
Jednotlivé hodnoty uvedené v tabulce č. 18 se znormalizují, tzn. převedou se na R (i, j)
v intervalu <0, 1> s využitím vzorců: maximalizované kritérium: R i, j = (Yi, j - Dj) / (HJ -
Dj) a pro minimalizovány kritérium: R i, j = (HJ - Yi, j) / (HJ - Dj).
Vysvětlení symbolů ve vzorcích:
Ri, j ... normalizovaná hodnota,
Yi, j ... původní hodnota,
Dj ... nejnižší hodnota v daném kritériu,
Hi ... nejvyšší hodnota v daném kritériu, i. .. řádek matice hodnot, j. .. sloupec matice hodnot.
Tabulka č. 19: Znormalizované hodnoty kritérií vybraných CASE nástrojů
Název CASE nástroju K1 K2 K3 K4 K5 K6
Power Designer 0,115 1,5 0,667 4 2 1,333IBM Rational Software Architect 0 1,5 1 5 1 0,25Enterprise Architect 0,874 1 1 5 2 0,25Borland Together 0,245 1 0,667 1 1 0,25ArgoUML 1 0,333 0 1 1 0,25BoUML 1 0,333 0,667 0,8 0,75 0UmbrelloUML 1 0 0 1 1 0Gaphor 1 0 0,667 0 0 0
Z tabulky č. 19 se odvodí Tabulka č. 20, 21, 22, která uvádí znormalizované hodnoty kritérií
vynásobené příslušnými vahami a nejvíce body, které jsou příslušným řádkovým
součtem. V posledním sloupci Tabulky č. 19, 20, 21 je uvedeno pořadí jednotlivých CASE
nástrojů v Multikriteriálním výběru.
31
Tabulka č. 20: Vyhodnocení vybraných CASE nástrojů pro malou firmu
Název CASE nástroje K1 K2 K3 K4 K5 K6 Body Pořadí
Power Designer 0,058 0,075 0,067 0,6 0,3 0,067 1,167 2IBM Rational Software Architect 0 0,075 0,1 0,75 0,15 0,013 1,088 3Enterprise Architect 0,437 0,05 0,1 0,75 0,3 0,013 1,65 1Borland Together 0,123 0,05 0,067 0,15 0,15 0,013 0,553 8ArgoUML 0,5 0,017 0 0,15 0,15 0,013 0,83 4BoUML 0,5 0,017 0,067 0,12 0,113 0 0,817 5UmbrelloUML 0,5 0 0 0,15 0,15 0 0,8 6Gaphor 0,5 0 0,067 0 0 0 0,567 7
Tabulka č. 21: Vyhodnocení vybraných CASE nástrojů pro střední firmu
Název CASE nástroje K1 K2 K3 K4 K5 K6 Body Pořadí
Power Designer 0,035 0,15 0,1 0,6 0,4 0,133 1,418 2IBM Rational Software Architect 0 0,15 0,15 0,75 0,2 0,025 1,275 3Enterprise Architect 0,262 0,1 0,15 0,75 0,4 0,025 1,687 1Borland Together 0,074 0,1 0,1 0,15 0,2 0,025 0,649 7ArgoUML 0,3 0,033 0 0,15 0,2 0,025 0,708 4BoUML 0,3 0,033 0,1 0,12 0,15 0 0,703 5UmbrelloUML 0,3 0 0 0,15 0,2 0 0,65 6Gaphor 0,3 0 0,1 0 0 0 0,4 8
Tabulka č. 22: Vyhodnocení vybraných CASE nástrojů pro velkou firma
Název CASE nástroje K1 K2 K3 K4 K5 K6 Body Pořadí
Power Designer 0,023 0,225 0,1 0,6 0,5 0,133 1,581 2IBM Rational Software Architect 0 0,225 0,15 0,75 0,25 0,025 1,4 3Enterprise Architect 0,175 0,15 0,15 0,75 0,5 0,025 1,75 1Borland Together 0,049 0,15 0,1 0,15 0,25 0,025 0,724 4ArgoUML 0,2 0,05 0 0,15 0,25 0,025 0,675 5BoUML 0,2 0,05 0,1 0,12 0,188 0 0,658 6UmbrelloUML 0,2 0 0 0,15 0,25 0 0,6 7Gaphor 0,2 0 0,1 0 0 0 0,3 8
Z výše uvedených tabulek (Tabulka č. 20, Tabulka č. 21, Tabulka č. 22) si lze povšimnout
velice zajímavých, i když velmi nepestrých výsledků multikriteriálního výběru. Pro malou,
střední a velkou vývojářskou firmu jsou totiž výsledky tří nejvhodnějších CASE nástrojů
32
naprosto shodné. Nástroj Enterprise Architect se umístil na prvním místě a je tedy pro malou,
střední a velkou vývojářskou firmu nejlepší volbou při výběru modelovacích nástrojů. Jako
druhá nejlepší varianta z hodnocených CASE nástrojů se jeví modelovací nástroj Power
Designer. Na třetí příčce se umístil produkt od společnosti IBM Rational Software Architect.
Co je však z výsledků multikriteriálního výběru zajímavé, jsou bodové rozdíly, s jakými
se CASE nástroje oproti jejich konkurentům umístily. Zejména v případě výsledků pro malou
vývojářskou firmu si lze z tabulky (Tabulka č. 23) povšimnout, že nástroj Enterprise Architect
je o celých 0,483 bodů lépe ohodnocen oproti Power Designeru, přičemž u střední a velké
vývojářské firmy výsledek není tolik markantní, konkrétně rozdíl u střední firmy je 0,269
bodů a u velké je to pouze 0,169.
Tabulka č. 233: Vyhodnocení vybraných CASE nástrojů pro velkou firma
Enterprise Architect
Power Designer Rozdíl 1
IBM Rational Software Architect Rozdíl 2
Malá firma 1,65 1,167 0,483 1,088 0,079Střední firma 1,687 1,418 0,269 1,275 0,143Velká firma 1,75 1,581 0,169 1,4 0,181
Pokud bychom se podívali na hodnocení z druhé strany a zajímalo by nás, který CASE
nástroje je pro danou firmu úplně nejnevhodnější, našli bychom ve výsledcích u jednotlivých
velikostí firem určité rozdíly, i když velmi nepatrné. Jako nejnevhodnější CASE nástroj pro
malou vývojářskou firmu vychází komerční nástroj Borland Together, viz. Tabulka č. 20.
Naproti tomu u střední a velké vývojářské firmy je nejhůře hodnocený jiný modelovací
nástroj, konkrétně open sourcový nástroj Gaphor, viz Tabulka č. 21 a 22.
Z výsledků je také zajímavé, že všechny nástroje, které se umístily na prvních třech příčkách,
jsou komerčního charakteru, což zejména z pohledu malé firmy je překvapující, uvážíme-li,
že u ní se více projevuje tlak na snižování nákladů (tzn. nižší ceny nástrojů), nicméně tento
jev se při hodnocení nijak výrazně neprojevil, když první tři místa jsou obsazeny komerčními
nástroji.
33
4 Závěr
Cílem této práce bylo ze zkoumaných modelovacích nástrojů vybrat pomocí
multikriteriálního výběru nejvhodnější CASE nástroje pro malou, střední a velkou
vývojářskou firmu. V úvodu jsme nejdříve vysvětlili základní pojmy „CASE nástroj“
a „vývojářská firma“ a definovali malou, střední a velkou vývojářskou firmu. Následně jsme
představili vybrané komerční (PowerDesigner, IBM Rational Software Architect, Enterprise
Architect a Borland Together) a open sourcové (Umbrello UML, ArgoUML, BoUML,
a Gaphor) CASE nástroje a popsali je z hlediska jejich funkcionality. Tyto nástroje jsme poté
podrobili multikriteriálnímu výběru, což nám v závěru práce posloužilo pro určení
nejvhodnějších CASE nástrojů pro malou, střední a velkou vývojářskou firmu, čímž jsme
dosáhli vytyčeného cíle.
Výsledky multikriteriálního výběru ukázaly, že je v podstatě jedno, zda se jedná o malou,
střední nebo velkou vývojářskou firmu, jako nejlepší CASE nástroj se pro všechny velikosti
firem totiž zdá nejvhodnější nástroj Enterprise Architect, dále pak Power Designer a IBM
Rational Software Architect. Ve chvíli, kdy jsme se podívali z opačného pohledu, resp. kdy
nás zajímal nejhůře hodnocený CASE nástroj, výsledky se nepatrně lišily a pro rozhodování
vývojářských firem o nejnevhodnější variantu CASE nástroje můžeme konstatovat,
že na velikosti vývojářské firmy záleží, i když nepatrně. Pro malou firmu se jedná o komerční
nástroj Borland Together, zatímco u střední a velké vývojářské firmy to je open sourcový
product Gaphor.
Závěrem však můžeme konstatovat, že velikost vývojářské firmy dle provedeného
multikriteriálního výběru, se na žebříček vybraných CASE nástrojů příliš nepodepisuje.
34
5 Zdroje
[1] TIŠNOVSKÝ, Pavel. Nástroje pro tvorbu UML diagramů. [online]. Root.cz. 2005-07-04. [cit. 2010-05-14]. Dostupný z WWW: < http://www.root.cz/clanky/nastroje-pro-tvorbu-uml-diagramu/>
[2] Objects by design.[online]. Objectsbydesign.com. 2005-10-15. [cit. 2010-05-14]. Dostupný z WWW: < http://www.objectsbydesign.com/tools/umltools_byProduct.html>
[3] ArgoUML.[online]. Wikipedia.org. 2010-05-10. [cit. 2010-05-14]. Dostupný z WWW: <http://en.wikipedia.org/wiki/ArgoUML>
[4] http://argouml.tigris.org/.
[5] http://bouml.free.fr/[6] Umbrello UML Modeller.[online]. Wikipedia.org. 2010-04-09. [cit. 2010-05-15]. Dostupný z WWW: < http://en.wikipedia.org/wiki/Umbrello_UML_Modeller>
[7] http://uml.sourceforge.net/
[8] Gaphor.[online]. Wikipedia.org. 2010-02-13. [cit. 2010-05-15]. Dostupný z WWW: < http://en.wikipedia.org/wiki/Gaphor>
[9] http://gaphor.sourceforge.net/index.php
[10] PowerDesigner. [online]. 2009-04-07. [cit. 2010-05-17]. Dostupný z WWW: <http://www.sybase.cz/index.php?option=com_content&view=article&id=3&mid=24.>
[11] PowerDesigner. [online]. Wikipedia.org. 2010-03-16. [cit. 2010-05-17]. Dostupný z WWW: < http://en.wikipedia.org/wiki/PowerDesigner>
[12] Sybase PowerDesigner 12 – Product Brochure. [online]. besoft.com. nedatováno. [cit. 2010-05-17]. Dostupný z WWW: <http://pb.besoft.com.cn/download/doc/Sybase_PD12.pdf>
[13] VLACH, David. IBM Rational. [online]. ITexpert.cz. 2007-04-11. [cit. 2010-05-18]. Dostupný z WWW: < http://www.itexpert.cz/ibm-rational-rup/>
[14] Rational Software Architect Standard Edition. [online]. IBM. nedatováno. [cit. 2010-05-18]. Dostupný z WWW: <http://www-142.ibm.com/software/products/cz/cs/swarchitect-standard>
[15] IBM Rational Software Architect. [online]. Wikipedia.org. 2010-01-12. [cit. 2010-05-18]. Dostupný z WWW: <http://en.wikipedia.org/wiki/IBM_Rational_Software_Architect>[16] VLACH, David. IBM Rational Software Architect v7.0. [online]. ITexpert.cz. 2007-04-16. [cit. 2010-05-18]. Dostupný z WWW: <http://www.itexpert.cz/ibm-rational-software-architect-7/>
35
[17] Visual Modeling Platform. [online]. Sparx Systems. nedatováno. [cit. 2010-05-19]. Dostupný z WWW: < http://www.sparxsystems.com/products/ea/index.html>
[18] Enterprise Architect by Sparx Systems. [online]. Gamedev.net. nedatováno. [cit. 2010-05-19]. Dostupný z WWW: <http://www.gamedev.net/features/reviews/productreview.asp?productid=731>
[19] Borland Together. [online]. Borland. nedatováno. [cit. 2010-05-19]. Dostupný z WWW: <http://www.borland.com/us/products/together/index.html>
[20] Borland Together – Frequently Asked Questions. [online]. Borland. 2009. [cit. 2010-05-19]. Dostupný z WWW: <http://www.borland.com/resources/en/pdf/products/together/together_faq.pdf>
[21] TOMÁŠKOVÁ, Barbora. CASE nástroje a jejich využití při fázích IS [online]. Praha : VŠE, 2008. 83 s. Bakalářská práce. VŠE. Dostupné z WWW: <isis.vse.cz/zp/>.
36