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 12 Podporované UML diagramy Verze UML Generování kódu Reverse engineering Platforma Integrovatelnost
13 2.0 Java, C#, C++, PowerBuilder, XML, VB.NET a další. Java, C#, C++, PowerBuilder, XML, VB.NET a další. Windows 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.5 Podporované UML diagramy 13 Verze UML 2.1 Java, C#, C++, EJB, WSDL, XSD, CORBA Generování kódu IDL, SQL Reverse 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 Architect Podporované UML diagramy Verze UML Generování kódu Reverse engineering Platforma Integrovatelnost
13 2.1 Action Script, Ada, C, C#, C++, Java Delphi, Verilog, PHP, VHDL, Python, System C, VB.Net, Visual Basic a další Action Script, Ada, C, C#, C++, Java Delphi, Verilog, PHP, VHDL, Python, System C, VB.Net, Visual Basic a další Windows 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 Together Podporované UML diagramy Verze UML Generování kódu Reverse engineering Platforma Integrovatelnost
13 2.0 Java, C++, C#, COBRA IDL Java, C++, C# COBRA IDL Windows, Linux, Mac OS X, Solaris Eclipse, 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 PowerDesigner 12.5 Studio Enterprise IBM Rational Software Architect Authorized User License + 12 Months Software Subscription and Support Enterprise Architect Corporate Edition – Standard License Enterprise Architect Desktop Edition Enterprise Architect Business and Software Engineering Floating Edition Together 2008 Named User Support & Maintenance Together 2008 Named User (ESD)
102.858.-Kč 130.095,-Kč 146.979.-Kč 5.555,- Kč 3.138.- Kč 18.569,- Kč 23.058,-Kč 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í ArgoUML Podporované UML digramy Verze UML Generování kódu Reverse engineering Platforma Integrovatelnost
9 1.4. JAVA, C#, C++, PHP4 a PHP5 JAVA, C++, IDL multiplatformní 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í BoUML Podporované UML digramy Verze UML Generování kódu Reverse engineering Platforma Integrovatelnost
9 2.0. C++, PHP, Java, IDL, Python Java, C++, PHP multiplatformní 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 Modeller Podporované UML diagramy 8 Verze UML 1.4. Ada, C++, C#, D, IDL, Java, JavaScript, MySQL, Pascal, Perl, PHP, PHP5, Generování kódu PostgreSQL, Python, Ruby, SQL, Tcl, XMLSchema Reverse engineering Ada, C++, IDL, Java, Pascal, Python Platforma Unix, Linux Integrovatelnost 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 Modeller Podporované UML diagramy 6 Verze UML 2.0. Generování kódu nepodporuje Reverse engineering Python Platforma multiplatformní Integrovatelnost nepodporuje 2.2.5 UML diagramy podporované jednotlivými OS produkty Tabulka č. 10: UML diagramy podporované jednotlivými OS produkty Diagram užití Diagram tříd Diagram objektů Diagram aktivit Sekvenční diagram Stavový diagram Diagram spolupráce Diagram komponent Diagram nasazení
ArgoUML ANO ANO ANO ANO ANO ANO ANO ANO ANO
BoUML ANO ANO ANO ANO ANO ANO ANO ANO ANO
Umbrello UML ANO ANO NE ANO ANO ANO ANO ANO ANO
Gaphor ANO ANO NE ANO ANO NE 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 Cena Podporované diagramy Kritérium verze UML Kritérium generovaní kódu Kritérium reverse engineering Integrovatelnost
Jednotky Kč Body z intervalu <1, 6> Body z intervalu <1, 6> Body z intervalu <1, 5> Body z intervalu <1, 5> Body z intervalu <1, 4>
Optimum Min Max Max Max Max 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ů 12 - 10 UML diagramů 10 - 8 UML diagramů 8 – 6 UML diagramů 6 – 4 UML diagramů 4 -0UML diagramů
6b 5b 4b 3b 2b 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 UML 2.1 UML 2.0 UML 1.5 UML 1.4 UML 1.3
6b 5b 4b 3b 2b 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 C# jiné
2b 2b 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 C# jiné
2b 2b 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 Eclipse IDEa ostatní
1b 1b 1b 1b
3.2 Stanovení vah kritérií Tabulka č. 17: Stanovení vah pro jednotlivé firmy Kritérium Cena Podporované diagramy Kritérium verze UML Kritérium generovaní kódu Kritérium reverse engineering Integrovatelnost
Malá firma 50 % 5% 10 % 15 % 15 % 5%
Střední firma 30 % 10 % 15 % 15 % 20 % 10 %
Velká firma 20 % 15 % 15 % 15 % 25 % 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ů Power Designer IBM Rational Software Architect Enterprise Architect Borland Together ArgoUML BoUML UmbrelloUML Gaphor
K1 130095
K2
K3
K4
K5
K6
6
4
4
5
4
146979
6
5
5
3
1
18569 111020 0 0 0 0
6 6 4 4 3 3
5 4 2 4 2 4
5 5 5 4 5 0
5 5 5 4 5 1
1 1 1 0 0 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,333 IBM Rational Software Architect 0 1,5 1 5 1 0,25 Enterprise Architect 0,874 1 1 5 2 0,25 Borland Together 0,245 1 0,667 1 1 0,25 ArgoUML 1 0,333 0 1 1 0,25 BoUML 1 0,333 0,667 0,8 0,75 0 UmbrelloUML 1 0 0 1 1 0 Gaphor 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 Power Designer IBM Rational Software Architect Enterprise Architect Borland Together ArgoUML BoUML UmbrelloUML Gaphor
K1
K2
0,058 0 0,437 0,123 0,5 0,5 0,5 0,5
K3
0,075 0,075 0,05 0,05 0,017 0,017 0 0
K4
0,067 0,1 0,1 0,067 0 0,067 0 0,067
K5
0,6 0,75 0,75 0,15 0,15 0,12 0,15 0
K6
0,3 0,15 0,3 0,15 0,15 0,113 0,15 0
Body
0,067 0,013 0,013 0,013 0,013 0 0 0
Pořadí
1,167 1,088 1,65 0,553 0,83 0,817 0,8 0,567
2 3 1 8 4 5 6 7
Tabulka č. 21: Vyhodnocení vybraných CASE nástrojů pro střední firmu Název CASE nástroje
K1
K2
K3
Power Designer 0,035 0,15 IBM Rational Software Architect 0 0,15 Enterprise Architect 0,262 0,1 Borland Together 0,074 0,1 ArgoUML 0,3 0,033 BoUML 0,3 0,033 UmbrelloUML 0,3 0 Gaphor 0,3 0
K4
0,1 0,15 0,15 0,1 0 0,1 0 0,1
K5
0,6 0,75 0,75 0,15 0,15 0,12 0,15 0
K6
0,4 0,2 0,4 0,2 0,2 0,15 0,2 0
Body Pořadí
0,133 0,025 0,025 0,025 0,025 0 0 0
1,418 1,275 1,687 0,649 0,708 0,703 0,65 0,4
2 3 1 7 4 5 6 8
Tabulka č. 22: Vyhodnocení vybraných CASE nástrojů pro velkou firma Název CASE nástroje
K1
K2
Power Designer 0,023 0,225 IBM Rational Software Architect 0 0,225 Enterprise Architect 0,175 0,15 Borland Together 0,049 0,15 ArgoUML 0,2 0,05 BoUML 0,2 0,05 UmbrelloUML 0,2 0 Gaphor 0,2 0
K3
K4
0,1 0,15 0,15 0,1 0 0,1 0 0,1
K5
K6
0,6 0,5 0,75 0,25 0,75 0,5 0,15 0,25 0,15 0,25 0,12 0,188 0,15 0,25 0 0
0,133 0,025 0,025 0,025 0,025 0 0 0
Body Pořadí 1,581 1,4 1,75 0,724 0,675 0,658 0,6 0,3
2 3 1 4 5 6 7 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 Malá firma Střední firma Velká firma
Power Designer
IBM Rational Software Rozdíl 1 Architect
Rozdíl 2
1,65
1,167
0,483
1,088
0,079
1,687
1,418
0,269
1,275
0,143
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-umldiagramu/> [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:
[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: [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: [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-0518]. Dostupný z WWW: [15] IBM Rational Software Architect. [online]. Wikipedia.org. 2010-01-12. [cit. 2010-05-18]. Dostupný z WWW: [16] VLACH, David. IBM Rational Software Architect v7.0. [online]. ITexpert.cz. 2007-0416. [cit. 2010-05-18]. Dostupný z WWW:
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. 201005-19]. Dostupný z WWW: [19] Borland Together. [online]. Borland. nedatováno. [cit. 2010-05-19]. Dostupný z WWW: [20] Borland Together – Frequently Asked Questions. [online]. Borland. 2009. [cit. 2010-0519]. Dostupný z WWW: [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: .
36