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



Podobné dokumenty
Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita

CASE nástroje pro jazyk UML

CASE nástroje. Jaroslav Žáček

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

Semestrální práce CASE. aplikací a jejich vazba na CASE. Luboš Harášek;Filip Kroupa;Barbora Matoušková;Petr Pravlovský

CASE. Jaroslav Žáček

VY_32_INOVACE_INF.19. Inkscape, GIMP, Blender

Nástroje pro tvorbu wireframes

Úvod do programovacího jazyka Python

O projektu Nasazení OpenOffice.org v praxi

Úvod do programovacího jazyka Python

VYUŽITÍ REGIONÁLNÍCH FUNKCÍ A WWW ROZHRANÍ V INTEGROVANÉM KNIHOVNÍM SYSTÉMU KPWINSQL

Nástroje pro vývoj aplikací v závislosti na platformě a jejich vazba na CASE

Olga Rudikova 2. ročník APIN

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek

POUŽITÍ CASE VE VÝVOJÁŘSKÉ FIRMĚ. Zpracovali: Houžvička Jakub Kalina Tomáš Klimko Jozef Kvapil Hynek

X36SIN: Softwarové inženýrství. Životní cyklus a plánování

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

Analýza a Návrh. Analýza

Nástroje pro vývoj aplikací v závislosti na platformě a jejich vazba na CASE

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Využití modelovacích nástrojů ve vývojářské firmě

4IT450 CASE - Computer Aided Systems Engineering

Obsah. Zpracoval:

O projektu OpenOffice.org a IBM OS/2 OS/2 a Open Source

Semestrální práce Použití CASE ve vývojářské firmě

Vysoká škola ekonomická v Praze

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Klasické metodiky softwarového inženýrství I N G M A R T I N M O L H A N E C, C S C. Y 1 3 A N W

TISKOVÁ ZPRÁVA ČESKÉHO LOKALIZAČNÍHO TÝMU OPENOFFICE.ORG ČESKÝ LOKALIZAČNÍ TÝM OZNAMUJE DOKONČENÍ ČESKÉ VERZE NOVÉ VLASTNOSTI. 7.

Metadata. MI-DSP 2013/14 RNDr. Ondřej Zýka,

Název materiálu: Open Office

SRSW4IT Inventarizační SW. Prezentace aplikace. Vedoucí DP: ing. Lukáš Macura Autor: Bc. Petr Mrůzek

TÉMATICKÝ OKRUH Softwarové inženýrství

Informační systémy pro nástrojové hospodářství ve výrobním podniku

Název nástroje Hodnocená verze nástroje 4.0 Společnost (vlastník nástroje) WWW

TECHNIKY A CASE NÁSTROJE VÝVOJE IS

Matematický software pro Linux

Využití CASE ve vývojářské firmě CASE study + trendy a obecné závěry

Techniky a CASE nástroje vývoje IS přednáškový blok 3

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Příprava dat v softwaru Statistica

Přehled CASE nástrojů na tuzemském trhu

Nástroje pro vývoj aplikací a jejich vazba na CASE. 1 Úvod Vývojová prostředí (IDE) CASE nástroje umožňující pouze modelování...

IB111 Programování a algoritmizace. Programovací jazyky

Použití CASE ve vývojářské firmě

Architektura softwarových systémů

2002 Magister (Mgr.), studijní program: matematika, specializace matematikamanagement

Myšlenkové mapy v Linuxu

PŘÍLOHA C Požadavky na Dokumentaci

S2. Vytvoření Windows balíku pro vývoj na STM32 architektuře

Softwarové komponenty a Internet

7 Jazyk UML (Unified Modeling Language)

Vysoká škola ekonomická v Praze Fakulta informatiky a statistiky

PRVNÍ ELASTICKÝ INFORMAČNÍ SYSTÉM : QI

Vzdálená správa v cloudu až pro 250 počítačů

POČÍTAČE A PROGRAMOVÁNÍ

úvod Historie operačních systémů

Testování Java EE aplikací Petr Adámek

Smysl metodiky IS/IT. Koncentrovaná zkušenost Checklist na nic nezapomeneme

Matematika v programovacích

UML: Unified Modeling Language

Na různých druzích počítačů se používají různé operační systémy. V průběhu času

Stěhování aplikací. Michal Tomek, Sales Manager

Instalace a konfigurace web serveru. WA1 Martin Klíma

PHP framework Nette. Kapitola Úvod. 1.2 Architektura Nette

MBI - technologická realizace modelu

INFORMATIKA. Grafické studio ve škole

Laboratorní software. LabX Výkon na Váš stůl

Bibliografických manažerů je celá řada. Tento materiál popisuje práci s nástrojem zvaným EndNote Basic.

Jak efektivně ochránit Informix?

Identity Manager 4. Poskytujte okamžitý přístup ke zdrojům v rámci celého podniku

Formy komunikace s knihovnami

Systém elektronického rádce v životních situacích portálu

7 Jazyk UML (Unified Modeling Language)

End-to-end testování. 26. dubna Bořek Zelinka

KOMPETENČNÍ CENTRUM COLLABORATION SOLUTIONS

Řízení reálných projektů, agilní metodiky

Přehled nástrojů CASE na tuzemském trhu

Nástroje pro vývoj aplikací a jejich vazba na CASE

MST - sběr dat pomocí mobilních terminálů on-line/off-line

VY_32_INOVACE_INF.20. OS Linux

Programy pro psaní textů. textové editory, textové procesory

Možnosti využití dat RÚIAN poskytovaných VDP pomocí webových služeb

RETAIL PROCESS TRACKER VIZUALIZACE OBCHODNÍCH PROCESŮ VAŠEHO INFORMAČNÍHO SYSTÉMU

Leady & MERK Integrace Microsoft Dynamics CRM s aplikacemi Leady a MERK

Přehled nástrojů CASE na tuzemském trhu

Nástroje a frameworky pro automatizovaný vývoj. Jaroslav Žáček jaroslav.zacek@osu.cz

Přehled nástrojů CASE na tuzemském trhu v prvním pololetí roku 2006

Integrace podnikových Open Source aplikací v praxi. RNDr. Petr Novák, Open Source Conference Praha, 19. duben 2011

Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb:

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

Aplikační Dokumentace Standardy ICT MPSV

SOU Valašské Klobouky. VY_32_INOVACE_3_20_IKT_Tvorba_webovych_stranek_Redakcni_systemy. Mgr. Radomír Soural. Zkvalitnění výuky prostřednictvím ICT

FIREBIRD relační databázový systém. Tomáš Svoboda

PRODUKTY. Tovek Tools

IBA CZ průmyslový partner FI MU

Novinky ve Visual Studio Tomáš Kroupa

EMBARCADERO TECHNOLOGIES. Jak na BYOD chytře? Možnosti zapojování různých mobilních zařízení do podnikových informačních systémů.

Transkript:

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 Nela Jakubičková Michal Novák Miroslav Novák Ivan Štefek Ľubomír Vaško prof. Ing. Václav Řepa, CSc. letní semestr 2009/2010

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 13 Verze UML 2.0 Generování kódu Java, C#, C++, PowerBuilder, XML, VB.NET a další. Reverse engineering Java, C#, C++, PowerBuilder, XML, VB.NET a další. Platforma Windows Integrovatelnost 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 Generování kódu Java, C#, C++, EJB, WSDL, XSD, CORBA 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 13 Verze UML 2.1 Action Script, Ada, C, C#, C++, Java Delphi, Generování kódu Verilog, PHP, VHDL, Python, System C, VB.Net, Visual Basic a další Action Script, Ada, C, C#, C++, Java Delphi, Reverse engineering Verilog, PHP, VHDL, Python, System C, VB.Net, Visual Basic a další Platforma Windows Integrovatelnost 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 13 Verze UML 2.0 Generování kódu Java, C++, C#, COBRA IDL Reverse engineering Java, C++, C# COBRA IDL Platforma Windows, Linux, Mac OS X, Solaris Integrovatelnost 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 9 Verze UML 1.4. Generování kódu JAVA, C#, C++, PHP4 a PHP5 Reverse engineering JAVA, C++, IDL Platforma multiplatformní Integrovatelnost Eclipse 19

2.2.2 BoUML Dalším, již méně rozšířeným, Open source CASE nástrojem pro UML je BoUML. Stejně jako ArgoUMl se jedná o multiplatformní aplikaci, která však ke svému správnému chodu vyžaduje knihovnu Qt a to ve verzi 2.3 či vyšší. Na domovských stránkách této francouzské aplikace http://bouml.free.fr/ je možné zdarma stáhnout instalační soubory, zdrojové kódy a různé balíčky pro různé operační systémy počínaje Microsoft Windows, přes MAC OS X až po Linux. Celý tento produkt i se všemi jeho doplňky je šířen v rámci licence GNU/GPL (General Public Licence). Aplikace je vyvíjena od roku 2005 a v současnosti je nejaktuálnější dostupnou, a především stabilní verzí, verze 4.20.1. Celý program je napsán v jazyce C++, což s sebou přináší nízké nároky na paměť výpočetních jednotek a dostatečnou rychlost zpracování. Ve vývojovém prostředí BoUML lze poměrně snadno vytvářet všech devět druhů UML diagramů, a proto není problémem zpracovat diagram komunikace, diagram sekvenční, diagram užití, diagram tříd, objektový diagram, diagram aktivit, stavový diagram, diagram nasazení a diagram komponent. BoUML umožňuje pracovat se všemi druhy diagramů v UML verze 2.0. Výhodou této aplikace oproti již zmíněnému ArgoUML, je možnost generování dokumentace včetně všech diagramů a to vše prostřednictvím hlavního menu. Veškerá dokumentace, kterou vygenerujeme je exportována prostřednictvím formátů PHG nebo SVG. Kladem je rovněž možnost generování přímo do formátu HTML. Co se týče generování kódu, umožňuje tento francouzský program generovat pro jazyky C++, PHP, Java, IDL a Python. Co se týče integrovatelnosti, BoUML nepodporuje žádné rozšíření pro integrované vývojové prostředí. Tento nedostatek může uživatelům vynahradit možnostmi reverse engineeringu, který je v rámci této aplikace dostupný pro programovací jazyky Java, C++ a PHP. Rovněž je možný export do vektorového formátu SVG a bitmapového PNG. Samozřejmostí je možnost exportu do XMI verze 1.2 až 2.1. Import je přístupný pro formáty XMI a projekty ve formátu MDL, které byly vytvořeny nástrojem Rational Rose. Stejně jako u ArgoUML ani v případě tohoto modelovacího nástroje nenalezneme lokalizaci do češtiny. Tento nedostatek je sice na tuzemském trhu poměrně závažný, avšak francouzští výrobci se snaží zaujmout uživatele na jiných frontách. BoUML, na rozdíl od většiny 20

konkurenčních aplikací, nabízí podporu správy verzí a týmové práce prostřednictvím tzv. File control. Pro nepříliš zkušené uživatele bude představovat strohé uživatelské prostředí, které není příliš intuitivní, poměrně velkou překážku. Je nutné ovšem dodat, že toto prostředí obsahuje všechny potřebné prvky pro tvorbu UML diagramů. [5] Obrázek č. 6: BoUML Tabulka č. 7: Shrnutí BoUML Ukázka open source produktu BoUML [5] Shrnutí BoUML Podporované UML digramy 9 Verze UML 2.0. Generování kódu C++, PHP, Java, IDL, Python Reverse engineering Java, C++, PHP Platforma multiplatformní Integrovatelnost nepodporuje 21

2.2.3 Umbrello UML Umbrello UML Modeller patří na trhu Open source CASE nástrojů se zaměřením na podporu notace UML k těm nejznámějším a nejpoužívanějším, a to platí i pro tuzemský trh. Tento produkt je prvotně určen pro operační systémy GNU/Linux a případně i pro Unix. Z toho vyplývá, že je tento nástroj šířen v rámci Open source licence GNU/GPL. Nejaktuálnější stabilní verzí, která byla vydána v polovině roku 2009, je verze 2.3.0, která je součástí tzv. KDE4, což je druh správce pracovní plochy. Z toho plyne poměrně zásadní omezení pro ostatní operační systémy, které KDE dodnes nepodporují. Celý projekt je vytvořen v programovacím jazyce C++, což s sebou přináší stejné výhody jako v případě konkurenčního BoUML. Vše potřebné pro správný běh tohoto softwaru je volně dostupné na adrese http://uml.sourceforge.net/. [6] Tento softwarový projekt uživatelům nabízí možnost vytvářet a pracovat s osmi druhy UML diagramů. Oproti konkurentům tedy zájemcům nenabídne pouze diagram objektů. Oproti ostatním OS modelovacích nástrojů však umožňuje tvorbu diagramů pro vytváření datových modelů (Entity Relationship diagram). Podporovanou verzí UML je v tomto případě poměrně zastaralá verze 1.4., která je však pro většinu uživatelů zcela postačující. Generovat dokumentaci je možné do formátu DocBook a XHTML. V případě generování kódu, Umbrello UML Modeller nabízí jednoznačně nejširší nabídku programovací jazyků, do kterých je možné kód vygenerovat. Mezi tyto jazyky patří: Ada, C++, C#, D, IDL, Java, JavaScript, MySQL, Pascal, Perl, PHP, PHP5, PostgreSQL, Python, Ruby, SQL, Tcl, XMLSchema. Reverse engineering je v rámci tohoto nástroje podporován pro jazyky Ada, C++, IDL, Java, Pascal a Python. Záporem ovšem je, že Umbrello nenabízí rozšíření pro integraci vývojových prostředí. Stejně tak je tomu i v případě podpory pro správu verzí, kterou rovněž tento software nenabízí. Naproti tomu velkým plusem je existence lokalizace do českého jazyka, která je ovšem podle reakcí mnoha uživatelů značně nedodělaná. Export je v případě této aplikace možný ve formátu XMI, a grafických formátů JPG, BMP, PNG, SVG apod. Importovat rovněž můžeme formát XMI a také MDL. [7] 22

Z výše zmíněného je zřejmé, že Umbrello UML Modeller v mnoha ohledech jednoznačně převyšuje konkurenci open source modelovacích nástrojů. A to především díky téměř neomezeným možnostem, které jsou uživatelům nabízeny v případě generovaní dokumentace, generování kódu, reverse engineeringu a také importu a exportu. Navíc je dostupná česká lokalizace, která jistě mnohým velice usnadní práci. Dalším plusem je také velice intuitivní zpracování uživatelského rozhraní. Velikou nevýhodou, která sráží pozici Umbrella na trhu, je však nemožnost přenést tento software a především správce pracovní plochy KDE na jinou platformu než je Unix nebo Linux. Uživatelé operačních systému Windows a Mac OS X, kterých je v České republice nejvíce, tak bohužel přijdou zkrátka. Obrázek č. 7: Umbrello UML Ukázka open source produktu Umbrello UML Modeller [7] 23

Tabulka č. 8: Shrnutí Umbrello UML Modeller Shrnutí Umbrello UML Modeller Podporované UML diagramy 8 Verze UML 1.4. Ada, C++, C#, D, IDL, Java, JavaScript, Generování kódu MySQL, Pascal, Perl, PHP, PHP5, 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