+ All Categories
Home > Documents > Využití CASE nástrojů ve vývojářské...

Využití CASE nástrojů ve vývojářské...

Date post: 05-Aug-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
35
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
Transcript
Page 1: Využití CASE nástrojů ve vývojářské firměpanrepa.org/CASE/jaro2010/CASE_ve_vyvojarske_firme_jaro2010.pdf · 1 Úvod Na trhu existuje velké množství CASE nástrojů od

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

Page 2: Využití CASE nástrojů ve vývojářské firměpanrepa.org/CASE/jaro2010/CASE_ve_vyvojarske_firme_jaro2010.pdf · 1 Úvod Na trhu existuje velké množství CASE nástrojů od

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

Page 3: Využití CASE nástrojů ve vývojářské firměpanrepa.org/CASE/jaro2010/CASE_ve_vyvojarske_firme_jaro2010.pdf · 1 Úvod Na trhu existuje velké množství CASE nástrojů od

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

Page 4: Využití CASE nástrojů ve vývojářské firměpanrepa.org/CASE/jaro2010/CASE_ve_vyvojarske_firme_jaro2010.pdf · 1 Úvod Na trhu existuje velké množství CASE nástrojů od

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

Page 5: Využití CASE nástrojů ve vývojářské firměpanrepa.org/CASE/jaro2010/CASE_ve_vyvojarske_firme_jaro2010.pdf · 1 Úvod Na trhu existuje velké množství CASE nástrojů od

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

Page 6: Využití CASE nástrojů ve vývojářské firměpanrepa.org/CASE/jaro2010/CASE_ve_vyvojarske_firme_jaro2010.pdf · 1 Úvod Na trhu existuje velké množství CASE nástrojů od

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

Page 7: Využití CASE nástrojů ve vývojářské firměpanrepa.org/CASE/jaro2010/CASE_ve_vyvojarske_firme_jaro2010.pdf · 1 Úvod Na trhu existuje velké množství CASE nástrojů od

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

Page 8: Využití CASE nástrojů ve vývojářské firměpanrepa.org/CASE/jaro2010/CASE_ve_vyvojarske_firme_jaro2010.pdf · 1 Úvod Na trhu existuje velké množství CASE nástrojů od

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

Page 9: Využití CASE nástrojů ve vývojářské firměpanrepa.org/CASE/jaro2010/CASE_ve_vyvojarske_firme_jaro2010.pdf · 1 Úvod Na trhu existuje velké množství CASE nástrojů od

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

Page 10: Využití CASE nástrojů ve vývojářské firměpanrepa.org/CASE/jaro2010/CASE_ve_vyvojarske_firme_jaro2010.pdf · 1 Úvod Na trhu existuje velké množství CASE nástrojů od

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

Page 11: Využití CASE nástrojů ve vývojářské firměpanrepa.org/CASE/jaro2010/CASE_ve_vyvojarske_firme_jaro2010.pdf · 1 Úvod Na trhu existuje velké množství CASE nástrojů od

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

Page 12: Využití CASE nástrojů ve vývojářské firměpanrepa.org/CASE/jaro2010/CASE_ve_vyvojarske_firme_jaro2010.pdf · 1 Úvod Na trhu existuje velké množství CASE nástrojů od

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

Page 13: Využití CASE nástrojů ve vývojářské firměpanrepa.org/CASE/jaro2010/CASE_ve_vyvojarske_firme_jaro2010.pdf · 1 Úvod Na trhu existuje velké množství CASE nástrojů od

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

Page 14: Využití CASE nástrojů ve vývojářské firměpanrepa.org/CASE/jaro2010/CASE_ve_vyvojarske_firme_jaro2010.pdf · 1 Úvod Na trhu existuje velké množství CASE nástrojů od

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

Page 15: Využití CASE nástrojů ve vývojářské firměpanrepa.org/CASE/jaro2010/CASE_ve_vyvojarske_firme_jaro2010.pdf · 1 Úvod Na trhu existuje velké množství CASE nástrojů od

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

Page 16: Využití CASE nástrojů ve vývojářské firměpanrepa.org/CASE/jaro2010/CASE_ve_vyvojarske_firme_jaro2010.pdf · 1 Úvod Na trhu existuje velké množství CASE nástrojů od

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

Page 17: Využití CASE nástrojů ve vývojářské firměpanrepa.org/CASE/jaro2010/CASE_ve_vyvojarske_firme_jaro2010.pdf · 1 Úvod Na trhu existuje velké množství CASE nástrojů od

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

Page 18: Využití CASE nástrojů ve vývojářské firměpanrepa.org/CASE/jaro2010/CASE_ve_vyvojarske_firme_jaro2010.pdf · 1 Úvod Na trhu existuje velké množství CASE nástrojů od

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

Page 19: Využití CASE nástrojů ve vývojářské firměpanrepa.org/CASE/jaro2010/CASE_ve_vyvojarske_firme_jaro2010.pdf · 1 Úvod Na trhu existuje velké množství CASE nástrojů od

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

Page 20: Využití CASE nástrojů ve vývojářské firměpanrepa.org/CASE/jaro2010/CASE_ve_vyvojarske_firme_jaro2010.pdf · 1 Úvod Na trhu existuje velké množství CASE nástrojů od

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

Page 21: Využití CASE nástrojů ve vývojářské firměpanrepa.org/CASE/jaro2010/CASE_ve_vyvojarske_firme_jaro2010.pdf · 1 Úvod Na trhu existuje velké množství CASE nástrojů od

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

Page 22: Využití CASE nástrojů ve vývojářské firměpanrepa.org/CASE/jaro2010/CASE_ve_vyvojarske_firme_jaro2010.pdf · 1 Úvod Na trhu existuje velké množství CASE nástrojů od

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

Page 23: Využití CASE nástrojů ve vývojářské firměpanrepa.org/CASE/jaro2010/CASE_ve_vyvojarske_firme_jaro2010.pdf · 1 Úvod Na trhu existuje velké množství CASE nástrojů od

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

Page 24: Využití CASE nástrojů ve vývojářské firměpanrepa.org/CASE/jaro2010/CASE_ve_vyvojarske_firme_jaro2010.pdf · 1 Úvod Na trhu existuje velké množství CASE nástrojů od

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

Page 25: Využití CASE nástrojů ve vývojářské firměpanrepa.org/CASE/jaro2010/CASE_ve_vyvojarske_firme_jaro2010.pdf · 1 Úvod Na trhu existuje velké množství CASE nástrojů od

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

Page 26: Využití CASE nástrojů ve vývojářské firměpanrepa.org/CASE/jaro2010/CASE_ve_vyvojarske_firme_jaro2010.pdf · 1 Úvod Na trhu existuje velké množství CASE nástrojů od

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

Page 27: Využití CASE nástrojů ve vývojářské firměpanrepa.org/CASE/jaro2010/CASE_ve_vyvojarske_firme_jaro2010.pdf · 1 Úvod Na trhu existuje velké množství CASE nástrojů od

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

Page 28: Využití CASE nástrojů ve vývojářské firměpanrepa.org/CASE/jaro2010/CASE_ve_vyvojarske_firme_jaro2010.pdf · 1 Úvod Na trhu existuje velké množství CASE nástrojů od

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

Page 29: Využití CASE nástrojů ve vývojářské firměpanrepa.org/CASE/jaro2010/CASE_ve_vyvojarske_firme_jaro2010.pdf · 1 Úvod Na trhu existuje velké množství CASE nástrojů od

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

Page 30: Využití CASE nástrojů ve vývojářské firměpanrepa.org/CASE/jaro2010/CASE_ve_vyvojarske_firme_jaro2010.pdf · 1 Úvod Na trhu existuje velké množství CASE nástrojů od

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

Page 31: Využití CASE nástrojů ve vývojářské firměpanrepa.org/CASE/jaro2010/CASE_ve_vyvojarske_firme_jaro2010.pdf · 1 Úvod Na trhu existuje velké množství CASE nástrojů od

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

Page 32: Využití CASE nástrojů ve vývojářské firměpanrepa.org/CASE/jaro2010/CASE_ve_vyvojarske_firme_jaro2010.pdf · 1 Úvod Na trhu existuje velké množství CASE nástrojů od

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

Page 33: Využití CASE nástrojů ve vývojářské firměpanrepa.org/CASE/jaro2010/CASE_ve_vyvojarske_firme_jaro2010.pdf · 1 Úvod Na trhu existuje velké množství CASE nástrojů od

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

Page 34: Využití CASE nástrojů ve vývojářské firměpanrepa.org/CASE/jaro2010/CASE_ve_vyvojarske_firme_jaro2010.pdf · 1 Úvod Na trhu existuje velké množství CASE nástrojů od

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

Page 35: Využití CASE nástrojů ve vývojářské firměpanrepa.org/CASE/jaro2010/CASE_ve_vyvojarske_firme_jaro2010.pdf · 1 Úvod Na trhu existuje velké množství CASE nástrojů od

[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


Recommended