Vysoká škola ekonomická v Praze



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

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

CASE. Jaroslav Žáček

UML a jeho použití v procesu vývoje. Jaroslav Žáček jaroslav.zacek@osu.cz

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

Modelování procesů s využitím MS Visio.

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

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

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

UML - opakování 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

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

Předměty. Algoritmizace a programování Seminář z programování. Verze pro akademický rok 2012/2013. Verze pro akademický rok 2012/2013

Nástroje pro tvorbu wireframes

Analýza a Návrh. Analýza

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

Rozklad na prvočinitele. 3. prosince 2010

Obsah. Zpracoval:

7 Jazyk UML (Unified Modeling Language)

MBI - technologická realizace modelu

7 Jazyk UML (Unified Modeling Language)

Úvod. Únor Fakulta informačních technologií VUT. Radek Kočí Seminář Java Úvod 1/ 23

Proces vývoje HRIS Vema (Human Resources Information System) Jaroslav Šmarda

Compatibility List. GORDIC spol. s r. o. Verze

Tabulka základních vlastností nástroje C++Builder dle edice

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

Project management. Příprava projektu Zahájení High level plánování. Vykonávání Detailní plánování Vykonávání Řízení a monitorování

Business Intelligence

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

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

Seznámení s prostředím dot.net Framework

Matematika v programovacích

UML: Unified Modeling Language

ČESKÉ VYSOKÉ UČENÍ TECHNIKÉ Fakulta elektrotechnická. Microsoft Sharepoint 2007 Workflows Průmyslové informační systémy

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

Sísyfos Systém evidence činností

Procesní dokumentace Process Management. Pavel Čejka

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

Vývoj informačních systémů. Přehled témat a úkolů

Úvod. Leden Fakulta informačních technologií VUT. Radek Kočí Seminář Java Úvod 1/ 22

Obsah. 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody

Olga Rudikova 2. ročník APIN

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů

Vývoj informačních systémů. Přehled témat a úkolů

Databáze 2013/2014. Konceptuální model DB. RNDr. David Hoksza, Ph.D.

Novinky ve Visual Studio Tomáš Kroupa

Profilová část maturitní zkoušky 2017/2018

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

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

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

O projektu Nasazení OpenOffice.org v praxi

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

programátor vs. vývojář

Softwarové komponenty a Internet

Nové jazykové brány do Caché. Daniel Kutáč

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Úvod 9

Architektura softwarových systémů

Modelem řízený vývoj. SWI 1 Jan Kryštof

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

Název materiálu: Open Office

manažerského řízení HW a SW požadavky pro sw ATTIS

Databázové systémy úvod

4IT450 CASE - Computer Aided Systems Engineering

Převod 4GL aplikací do webového prostředí. Ing. Jan Musil, IBM ČR Community of Practice for

Architektury Informačních systémů. Jaroslav Žáček

Unifikovaný modelovací jazyk UML

- kvalitní dokumentace k SW je vyžadovaným STANDARDEM. vzájemná provázanost SW (IS) ve velkých společnostech. aktuální přehledná srozumitelná

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o.

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

Tomáš Kantůrek. IT Evangelist, Microsoft

Profilová část maturitní zkoušky 2013/2014

TECHNIKY A CASE NÁSTROJE VÝVOJE IS

Programovací jazyky Přehled a vývoj

Systémová administrace portálu Liferay

Cloudové služby kancelářského softwaru hostované společností Microsoft Kvalitní nástroje pro firemní nasazení za přijatelnou cenu Vždy aktuální verze

IS pro podporu BOZP na FIT ČVUT

Databázové a informační systémy

Formy komunikace s knihovnami

Cloudové služby kancelářského softwaru hostované společností Microsoft Kvalitní nástroje pro firemní nasazení za přijatelnou cenu Vždy aktuální verze

Úvod Seznámení s předmětem Co je.net Vlastnosti.NET Konec. Programování v C# Úvodní slovo 1 / 25

Architektury Informačních systémů. Jaroslav Žáček

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

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

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

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320

Cloudové služby kancelářského softwaru hostované společností Microsoft Kvalitní nástroje pro firemní nasazení za přijatelnou cenu Vždy aktuální verze

Vývoj software pro Linuxové distribuce. Installfest Praha,

KIV/ASWI 2007/2008 Pokročilé softwarové inženýrství. Cíle předmětu Organizační informace Opakování

Software programové vybavení. 1. část

DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP. Maturitní projekt. Třída:

Vývoj informačních systémů. Obecně o IS

Semináˇr Java X J2EE Semináˇr Java X p.1/23

MIS. Manažerský informační systém. pro. Ekonomický informační systém EIS JASU CS. Dodavatel: MÚZO Praha s.r.o. Politických vězňů Praha 1

Metodika analýzy. Příloha č. 1

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

E-learningovýsystém Moodle

Microsoft Access tvorba databáze jednoduše

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

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

Transkript:

Vysoká škola ekonomická v Praze Fakulta informatiky a statistiky Katedra informačních technologií Studijní program: Aplikovaná informatika Obor: Informační systémy a technologie Nástroje pro vývoj aplikací a jejich vazba na CASE Amann Ondřej Hemala David Mošnička Radek Vrbka Jan školní rok 2009/2010

Obsah 1. Úvod...3 1.1 Cíl práce...3 2. Nástroje pro vývoj aplikací (IDE)...4 2.1 Obecný popis IDE nástrojů...4 2.2 Charakteristika jednotlivých IDE produktů a specifikace jejich výběru...5 3. CASE nástroje...10 3.1 Obecný popis...10 3.2 Charakteristika jednotlivých CASE produktů a specifikace jejich výběru...10 4. Integrace a provázání IDE a CASE nástrojů...25 Způsob spolupráce IDE a CASE nástrojů...25 Plug-in moduly...25 Integrace IDE a CASE...26 5. Funkcionalita vybraných CASE nástrojů, výběr důležitých funkcí pro další analýzu...28 6. Praktické zkušenosti při provázání vybraných IDE a CASE...33 6.1.1 MS Visual studio + Altova Umodel...33 6.1.2 MS Visual Studio + Power Designer...34 6.1.3 MS Visual Studio + MS Visio...35 6.1.5 Závěr MS Visual Studio...36 6.2.1 Eclipse + Power Designer...36 6.2.2 Eclipse + SDE for Eclipse Enterprise Edition...36 6.2.3 Eclipse + Altova UModel...37 6.2.4 Závěr Eclipse...38 6.3.1 Net Beans + SDE for Netbeans Enterprise Edition...38 6.3.2 NetBeans + Visual Paradigm UML...39 6.3.3NetBeans + MagicDraw UML...40 6.3.4 NetBeans + NetBeans UML...41 6.3.5 NetBeans + Applied models MDA...42 6.3.6 Závěr NetBeans...42 Závěr...43 ii

1. Úvod Tento dokument popisuje týmovou práci studentů předmětu 4IT450 CASE - Computer Aided Systems Engineering. Díky tomu, že práce navazuje na výstupy studentů z předchozích semestrů, nebylo jednoduché stanovit, jakým způsobem se odlišit od prací již několikrát zpracovávaného tématu. Rozhodli jsme se tuto situaci vyřešit zúžením rozsahu tématu, díky čemuž jsme dostali větší množství prostoru zabývat se podrobnějšími detaily této problematiky. 1.1 Cíl práce Hlavním cílem práce je vytvořit uživatelskou dokumentaci, která popisuje práci uživatele s několika vybranými nástroji pro vývoj aplikací (IDE) a jejich interakci s CASE nástroji. Výstupem práce jsou zkušenostní poznatky, které budou poukazovat na klady a nedostatky praktické integrace a na nejzákladnější funkce plynoucí ze spolupráce těchto dvou typů softwaru. V závěru dokumentu bude na základě testování stanovena uživatelsky nejvhodnější kombinace IDE a CASE nástroje. 1.2 Struktura práce V první (teoretické) části práce jsou nejprve obecně popsány nástroje pro vývoj aplikací (IDE) a následně pak podrobněji charakterizovány konkrétní SW produkty. Další kapitola se v její první části podrobně zabývá charakteristikou CASE nástrojů a dále pak opět výběrem a popisem konkrétních produktů na trhu. Součástí analýzy těchto programů je také charakteristika, která říká, do kterého prostředí se jednotlivé aplikace hodí. Čtvrtá kapitola se již zabývá vztahem a provázaností nástrojů IDE a CASE. Je zde provedena funkční analýza, která říká, jaké funkcionality budou předmětem zkoumání. Na základě těchto parametrů jsou v praktické části dokumentu zvolené programy hodnoceny. Předposlední kapitola a zároveň praktická část tohoto dokumentu obsahuje popis nabytých zkušeností při práci s vybranými IDE a CASE nástroji. V závěru práce je zhodnoceno splnění stanovených cílů a úspěšnost projektu. 3

2. Nástroje pro vývoj aplikací (IDE) V následující kapitole budou blíže charakterizovány nástroje pro vývoj aplikací, takzvané IDE. Po jejím přečtení by se měl čtenář dozvědět, k čemu tento druh softwaru slouží a také být obeznámen s jeho nejznámějšími představiteli a jejich atributy. 2.1 Obecný popis IDE nástrojů Vývojové prostředí pro vývoj aplikací je druh softwaru vyvinutý pro programátory tak, aby jim pomohl co nejvíce maimalizovat jejich pracovní produktivitu. Děje se tak především díky provázanosti různých GUI (uživatelských rozhraní) v jednom konkrétním IDE nástroji. Díky této vlastnosti uživatel nepotřebuje tak často přepínat mezi okny, jak by se dělo, kdyby používal individuální, samostatné programy. Protože každý jednotlivý IDE nástroj používá jiné ovládací prvky a složitost systému je větší než je tomu u běžných programů, toto časové zefektivnění programátorské práce se dostaví až po perfektním zvládnutí ovládání systému z programátorovy strany. [IDE, 2010] IDE je zkratka z anglického Integrated Development Environment a/nebo Integrated Design Environment. Jedná se o software, který poskytuje vývojářům sadu základních nástrojů pro tvorbu aplikací. Většina IDE je vybavena nejméně těmito základními funkcemi: Editor zdrojového kódu Kompilátor nebo interpret cílového jazyka Automatizace překladu (builder) Debugger [Demuth, 2010] Funkce editor zdrojového kódu slouží vývojářům jako místo pro psaní kódu v příslušném programovacím jazyce. Umožňuje formátování tetu a různými barvami či písmem zvýrazňuje jednotlivé syntaktické části. Kompilátor zajišťuje transformaci z daného programovacího jazyka do strojového kódu. Zdrojový kód je třeba zkompilovat, jelikož procesory jsou schopny pracovat pouze s instrukcemi ve strojovém kódu pro ně určeném, který je pro přímé psaní programu velmi obtížný. Interpret umožňuje spouštění kódu ve zvoleném programovacím jazyce, aniž by bylo nutné program převést na strojový kód cílového počítače. Interprety jsou trojího typu spouští přímo zdrojový kód, nebo převedou zdrojový kód do mezikódu, který je rychlejší, 4

případně přímo spustí předem vytvořený předkompilovaný mezikód, který je produktem části interpretu. Debugger je ladící program sloužící k odhalení chyb v programovém kódu. Lze pomocí něj například procházet obsah proměnných a zjišťovat jak se tento obsah mění v souvislosti s volanými metodami. [Demuth, 2010] V minulosti byly IDE nástroje vytvářeny pro jeden konkrétní programovací jazyk. V dnešní době se však spíše můžeme setkat s vývojovými prostředími, které jich integrují celou škálu. Je to například MS Visual Studio, Net Beans či Eclipse. Jestliže programátor vyvíjí určitý software, většinou mu stačí pouze jedno konkrétní vývojové prostředí, kde celý projekt vzniká. Je to z toho důvodu, že každé IDE svému uživateli poskytuje velké množství funkcí, které může při programování používat. Cílem každého vývojového prostředí je co nejvíce usnadnit práci s programovacím jazykem a především pak s jeho syntaí a překládáním zdrojového kódu. To se povětšinou děje přímo během psaní. Tohle a mnoho dalších funkcí zvyšuje programátorům jejich produktivitu práce. 2.2 Charakteristika jednotlivých IDE produktů a specifikace jejich výběru V následující podkapitolách budou podrobněji charakterizovány jednotlivé IDE programy a některé jejich důležité parametry. Budou zde také uvedena kritéria, která vedla k výběru právě těchto aplikací. Těmito kritérii jsou: 1) Aplikace je charakterizována již v seminární práci [Demuth, 2010] 2) Aplikace patří mezi osm nejpoužívanějších IDE programů za rok 2009 [Evans, 2009] 3) Aplikace je používána k výuce některého z předmětů na Vysoké škole ekonomické1 4) Aplikace je volně dostupná [Demuth, 2010] 5) Maimální počet vybraných aplikací je tři Název aplikace 1. kritérium 2. kritérium 3. kritérium 4. kritérium Microsoft Visual Studio Oracle JDeveloper JBuilder IBM Rational Application Developer 1 Toto kritérium je do značné míry subjektivní, týká se pouze předmětů, které byly absolvovány studenty zpracovávajícími tuto seminární práci 5

NetBeans BlueJ Eclipse MyEclipse jgrasp DrJava Greenfoot 2.2.1 Microsoft Visual Studio Prvním IDE nástrojem, který bude v tomto dokumentu charakterizován, je program Visual Studio z dílny společnosti Microsoft. Tento software může být využíván pro vývoj konzolových aplikací i aplikací s grafickým rozhraním (vývoj Windows forms aplikací, internetových stránek, služeb a webových aplikací). Program běží na platformách Microsoft Windows, Windows Mobile, Windows CE,.NET Framework,.NET Compact Framework a Microsoft Silverlight. Kromě běžných funkcí IDE nástrojů, které jsou popsány výše, je do Visual Studia možné kromě CASE nástrojů přidávat také programy s dalšími vlastnostmi. Lze zde zmínit například systémy pro podporu verzování (Subversion). Visual Studio integruje programovací jazyky pomocí takzvaných jazykových služeb, které umožňují, aby editor kódu a debugger uměl spolupracovat s jakýmkoliv programovacím jazykem. Program již od začátku obsahuje C/C++, VB.NET a C#, pomocí již zmíněných jazykových služeb lze dále přidat například jazyky M, Python, a Ruby. Visual studio je k dostání v celkovém počtu čtyř základních edic, z nichž se každá liší v rozsáhlosti nabídky svých funkcí. Momentálně na trhu nejnovější verze Visual Studio 2010 s označením Hawai je navržena s ohledem na možnost jednodušší rozšiřitelnosti, než tomu bylo u jejich předchůdců. Nejvyšší dostupná edice Visual Studio Team System 2010 s kódovým označením Rosario nově oproti předchozím generacím integruje funkci, díky které je systém schopen podporovat vývoj aplikace po celou dobu jejího životního cyklu od jejího návrhu po release včetně plánování údržby. 6

Obrázek 1 - Ukázka uživatelského prostředí programu MS Visual Studio [Visual Studio, 2010] 2.2.2 Eclipse Eclipse je původně vývojové prostředí vyvinuté firmou IBM jakožto náhrada za Visual Age podporující objektový jazyk Smalltalk. V roce 2001 byl Eclipse uvolněn jako open source, od roku 2004 je pod záštitou Eclipse Foundation. Původní myšlenka podpora Javy na Javě zaštiťuje maimální přenositelnost a různorodost využití. Samotný Eclipse je lépe chápat jako základní framework rozšiřitelný pomocí pluginů, kterých je v současnosti přes 1000. Díky tomu je možné v Eclipse docílit nativní podpory jazyků jako je Java, C++, PHP, Cobol, Ruby, HTML, ML, jeho možnosti jsou obrovské. Navíc eistují i pluginy sloužící k modelování např. UML. [Demuth, 2010] Prostředí je celkem dobře přizpůsobitelné a svižné. Někomu vadí klasický Java syndrom aplikace, projevující se delším startem a náročností na operační paměť. Platforma má vestavěný systém pro správu pluginů a systém aktualizací, použitelný i v případě, že se jedná 7

o produkty třetích stran. Jak v základu, tak při využití pluginů prostředí oplývá pěknou řádkou zajímavých funkcí. Od doplňování slov (autocompletition), zvýrazňování syntae a code folding (skrývání některých částí kódu, například v rámci jedné funkce), podporu dokumentace kódu, inteligentního vyhledávání a nahrazování i pomocí regulárních výrazů v rámci celého projektu, nástrojů na refactoring kódu, přes podporu řady verzovacích systémů (CVS, SVN, Bazaar), sestavovacích nástrojů, generátorů grafického uživatelského rozhraní, prohlížeč tříd až po debugger a testovací nástroje. [Vopička, 2009] Obrázek 2 - Hlavní okno vývojového prostředí Eclipse 3.3 [Eclipse, 2010] 2.2.3 Net Beans Vývoj IDE programu NetBeans začal v roce 1996 na Matematicko-fyzikální fakultě spadající pod Karlovu univerzitu v Praze. Zpočátku tento studentský projekt nesl název elfi (odkaz na programovací jazyk Delphi). O rok později zformoval Roman Staněk, jeden z vývojářů projektu, společnost, která začala vyvíjet tento software pro komerční využití. V roce 1999 byla odkoupena práva na vývojové prostředí NetBeans společností Sun Microsystems, která o 8

rok později změnila licenci programu na open-source, díky čemuž se komunita užívající tento nástroj rapidně rozrostla. Vývojové prostředí NetBeans, které je naprogramováno v jazyce Java a je také postaveno na této platformě, podporuje především vývoj aplikací v jazyce Java. Pomocí přidaných softwarových komponent (modulů) je možné aplikaci upgradovat pro vývoj programů v jiných jazycích (např.: PHP, Python, Ruby, Groovy, C, C++, Scala, Clojure a další). Eistují různé distribuce tohoto programu, které se liší vlastnictvím jednotlivých komponent. NetBeans IDE complete Bundle obsahuje veškerou dostupnou funkcionalitu. Díky tomu, že je program vytvořen v jazyce Java, je spustitelný na jakékoliv platformě, kde je nainstalován Java Virtual Machine. Aktuální verze programu NetBeans nese označení 6.8 a je první IDE aplikací, která přináší kompletní podporu Javě Enterprise Edition 6. Od předchozích verzí také dále umožňuje vývojářům sdílet jejich open-source projekty na serveru kenai.com a využívat zde výhody plynoucí z užívání instant messagingu, podpory vývoje webových aplikací v PHP 5.3 a další. Obrázek 3 Okno uživatelského prostředí programu NetBeans 6.5 [NetBeans, 2010] 9

3. CASE nástroje 3.1 Obecný popis CASE je zkratkou z angličtiny znamenající Computer Aided Software Engineering. Tyto nástroje, obecně řečeno, slouží k automatizaci specifikací požadavků, návrhům, analýzám, kódování, údržbě a testování softwarových aplikací a informačních systémů. Tyto nástroje však nelze chápat jako všestranné a ne každý umí všechny popsané činnosti. V prai eistuje určitá diference v tom, jaké možnosti zmíněné CASE nástroje nabízejí. CASE nástrojů eistuje celá řada, je tedy na uživateli, který CASE nástroj použije v určité situaci. U projektování je mimo jiné kladen důraz na znalosti a určitého stupně zkušenosti. Ne vše je však lidský faktor schopen pojmout a pro tyto případy jsou proto CASE nástroje schopné řešit nejrůznější souvislosti. Je tedy nutno podotknout, že máme nástroje, které se specializují na určitou oblast. Touto oblastí rozumíme například tvorbu databází, nebo pouze na testování, tvorbu datových toků apod. Na druhou stranu, eistují nástroje, které mají širší zaměření a jsou schopné pojmout tvorbu mnohem komplenějších systémů. Tyto nástroje jsou schopné rozpracovat velmi široký a všeobecný konceptuální návrh systému a postupným zpracováním jednotlivých komponent, zpřesňováním návrhu a provázáním s dalšími pohledy jsou schopné dojít až do konečné fáze, kde může být výsledkem eport návrhu přímo do zdrojového kódu včetně dokumentace pro další zpracování. Díky faktu, že se používání těchto nástrojů velice rozšířilo, eistuje na trhu veliké množství nástrojů s nejrůznějšími vlastnostmi. Vývoj těchto nástrojů již není zcela v rukou velkých gigantů, jako jsou IBM nebo Oracle, do popředí stále vystupují i menší firmy nebo opensource projekty se svými nástroji. 3.2 Charakteristika jednotlivých CASE produktů a specifikace jejich výběru V následující kapitole budou blíže charakterizovány jednotlivé CASE produkty a některé jejich důležité parametry. Jednotlivé produkty jsou rozděleny do tří skupin podle toho, do kterého IDE nástroje (viz kapitola 2) je konkrétní produkt integrovatelný (např. jako plugin). 10

Dále jsou zde také uvedena kritéria, která vedla k výběru jednotlivých produktů. Těmito kritérii jsou: 1) Produkt je integrovatelný alespoň v jednom z vybraných IDE nástrojů. 2) Produkt je poměrně rozšířený a známý pro integraci s vybraným IDE nástrojem2. 3) Produkt je snadno dostupný (/) případně zdarma (). 4) Maimální počet vybraných produktů pro každý IDE nástroj je pět. Název produktu 1. kritérium 2. kritérium 3. kritérium Borland Together 2008 / PowerDesigner 15 / Microsoft Office Visio 2007 / Altova UModel / TopCased MosKITT Acceleo Visual Paradigm for UML NetBeans UML Applied Models MDA SDE pro NetBeans MagicDraw UML / 3.2.1 Produkty integrovatelné do IDE nástroje Microsoft Visual Studio Borland Together 2008 Stručný popis Borland Together 2008 od společnosti Borland Software Corporation je sada nástrojů pro návrh, analýzu a implementaci řešení v oblasti tvorby a modelování softwarové architektury. Je to jeden z prvních modelovacích nástrojů, které podporují DSL (Domain Specific Language). Od verze 2007 není nástroj rozdělen do 3 edicí (Designer, Developer, Architect), ale pokrývá všechny části v jedné edici. Kromě funkcí a nástrojů pro 2 Toto kritérium je subjektivní, neopírá se o žádnou studii. 11

modelování business procesů, datových modelů, UML modelování a MDA, disponuje Borland Together 2008 i funkcemi pro generování dokumentace, řízení kvality modelu a kódu pomoci zabudovaných metrik a auditů, podpora teamové spolupráce založena na rolích s možností kontroly verzování. Mezi jednu z hlavních výhod Borland Together patří mimo jiné také jeho nezávislost na platformě a stejně jako předešlé verze, tak i Borland Together 2008 je distribuován pro většinu operačních systémů. Jako sadu plug-inů jej lze integrovat s Eclipse, Microsoft Visual Studio.NET a C++Builder. [Borland] [Borland II] Přehled vlastností Název Výrobce Licence Edice Cena Aktuální stabilní verze Podporované platformy Minimální HW nároky Podporovaná verze UML Integrace do IDE Podporované notace Generování kódu Reverzování kódu Podporované typy diagramů Podporované typy DB Validování modelů Týmová spolupráce Generování dokumentace Technická podpora Borland Together 2008 Borland Software Corporation Proprietární $3500 - $4500 2008 R2 WW (08/2009) Windows (P SP2, Vista), Linu, Solaris 10, Mac OS RAM 1GB, HDD 1.4GB 2.0 Eclipse, MS Visual Studio, C++Builder UML, BPMN Java, J2EE, C++, C# Java, C++, CORBA IDL Class Diagram, Use Case Diagram, Interaction Diagram, State Machine Diagram, Activity Diagram, Component Diagram, Deployment Diagram, Composite Structure Diagram, State Diagram, Sequence Diagram Tabulka 1 Přehled vlastností Borland Together Odkazy a zdroje informací Oficiální stránka http://www.borland.com/us/products/together/inde.html Informace na Wikipedia: http://en.wikipedia.org/wiki/borland_together Sybase PowerDesigner 15 Stručný popis 12 produktu:

PowerDesigner 15 od společnosti Sybase je jedním z nejznámějších modelovacích nástrojů, se zhruba třetinovým podílem na trhu, vyvíjeným od roku 1989. Pokrývá široké spektrum nástrojů, od modelování obchodních procesů (zaměřené na manažerské pozice) po tvorbu class diagramů, modelů a datových modelů orientované na vývojářské pozice. Modelování v PowerDesigneru vychází z principu 3 architektur (konceptuální, logická a fyzická) a k dispozici je obousměrný engineering pro nejpoužívanější jazyky, na více než 50 typech relačních databází. Pomocí plug-inů lze synchronizovat kód s modelem v nástrojích Eclipse, PowerBuilder a Visual Studio. Sybase PowerDesigner umožňuje prácí v teamech s přidělením rolí a přístupů a verzování ve společné repository. Kromě rozšíření seznamu podporovaných databází je v současné verzi PowerDesigneru také nový model Enterprise Architecture rozdělený do 3 vrstev (Business, Application, Infrastructure), vylepšená podpora pro vytváření projektů a frameworků a nástroje Impact Analysis. Novou funkci je také možnost importovat modely z nástroje Microsoft Visio. [PowerDesigner] [PowerDesignerII] Přehled vlastností Název Výrobce Licence Edice Cena Aktuální stabilní verze Podporované platformy Minimální HW nároky Podporovaná verze UML Integrace do IDE Podporované notace Generování kódu Reverzování kódu Podporované typy diagramů Podporované typy DB Validování modelů Týmová spolupráce Generování dokumentace Technická podpora PowerDesigner Sybase Proprietární Data Architect; Developer; Studio; Enterprise $3,000 - $7,500 15.1 Windows (P, Server 2003, Vista) CPU 1,5GHz, RAM 1GB, HDD 500 MB 1., 2.0 Eclipse, PowerBuilder a Visual Studio UML, BPMN, DFD, ER Java, C#, C++, PowerBuilder, ML, VB.NET Java, C#, C++, PowerBuilder, ML, VB.NET Class Diagram, Business Process Diagram, Behavioral Diagram, Statechart, Application Architecture Diagram, Technology Infrastructure Diagram, Use Case Diagram, Component Diagram, Deployment Diagram, Activity Diagram, Collaboration Diagram, Sequence Diagram PostgresSQL, MySQL, MS SQL Server, IBM DB/2, Orace,a jiné Tabulka 2 Přehled vlastností PowerDesigner 13

Odkazy a zdroje informací Oficiální stránka produktu: http://www.sybase.com/powerdesigner Informace na Wikipedia: http://en.wikipedia.org/wiki/powerdesigner Microsoft Office Visio 2007 Stručný popis Aplikace Visio je komerční nástroj pro tvorbu diagramů různých typů, vyvíjen od roku 1992. Původní produkt společnosti Visio Corporation, koupený společností Microsoft v roce 2000, se stal součástí balíků Microsoft Office. Microsoft Office Visio 2007 umožňuje návrh diagramů, schémat a modelů za použití vektorové grafiky, jejich analýzu a prezentaci. Visio 2007 pokrývá široké spektrum diagramů, od technických (schopnost práce se soubory AutoCAD - návrh půdorysu, projekty instalace plynu a vody apod. s), přes diagramy auditů, příčin a následků, až po diagramy sloužící pro analýzu v IT (UML Model Diagram, Database Model Diagram, Data flow apod.). Výhodou tohoto nástroje je snadná obsluha, založená na naklikání objektů a tvarů z rozsáhlých knihoven a naopak nevýhodou oproti ostatním CASE nástrojům je nižší funkcionalita. Visio 2007 používá pro práci s diagramy soubory.vsd. Nová verze aplikace je naplánována v rámci balíku Microsoft Office 2010. [Visio] [Visio II] Přehled vlastností Název Výrobce Licence Edice Cena Aktuální stabilní verze Podporované platformy Minimální HW nároky Podporovaná verze UML Integrace do IDE Podporované notace Generování kódu Reverzování kódu Podporované typy diagramů Microsoft Office Visio 2007 Microsoft Proprietární Standard Professional $349-$559 (Professional) $129-$259(Standard) 12.0.6423.1000 (04/2009) Microsoft Windows CPU 500MHz RAM 256MB, HDD 1.5 GB UML 2.0 Microsoft Visual Studio UML SQL Script Business Process Diagram, Audit Diagram, Flowchart, Cause and Effect Diagram, Data-flow Diagram, EPC 14

Podporované typy DB Validování modelů Týmová spolupráce Generování dokumentace Technická podpora Diagram, TQM Diagram, Work Flow Diagram, ML Diagram Microsoft SQL Server, Microsoft Access Tabulka 3 Přehled vlastností Microsoft Visio 2007 Odkazy a zdroje informací Oficiální stránka produktu: http://office.microsoft.com/en-us/visio Informace na Wikipedia: http://en.wikipedia.org/wiki/microsoft_visio Altova UModel Stručný popis Altova UModel je modelovací aplikace na bázi UML, vyvíjena od roku 1998 americko-rakouskou společností Altova. V současnosti je UModel možné koupit samostatně, nebo jako součást balíku Altova Mission Kit 2010 Software Architects, který benefituje z provázanosti jednotlivých vývojových nástrojů této společnosti. Dále pak lze UModel pomocí doplňujících balíku, které je možné stáhnout zdarma ze stránek Altova, integrovat UModel do Eclipse a MS Visual Studio. UModel disponuje širokým spektrem diagramů, bohatým a přehledným uživatelským rozhraním, generováním a zpětným generováním kódu v jazycích Java, C#, Visual Basic.NET a tvorbou dokumentace v HTML, Word a RTF. Oproti předešlým verzím obsahuje UModel 2010 navíc podporu pro SysML Diagramy (Systems Modeling Language), automatické generování více sekvenčních diagramů najednou a nové funkce pro tvorbu diagramů, generování dokumentace a tvorbu kódu. [UMLTool] Přehled vlastností Název Výrobce Licence Edice Cena Aktuální stabilní verze Altova UModel 2010 Altova GmbH Proprietární Enterprise Professional $149 (Enterprise) - $99 (Professional) 12.0.0 15

Podporované platformy Minimální HW nároky Podporovaná verze UML Integrace do IDE Podporované notace Generování kódu Reverzování kódu Podporované typy diagramů Podporované typy DB Validování modelů Týmová spolupráce Generování dokumentace Technická podpora Microsoft Windows RAM 256MB, HDD 350 MB UML 2.2 Microsoft Visual Studio, Eclipse UML Java 1.6, C#2.0, VB9.0 Use Case Diagram, Class Diagram, Object Diagram, Sequence Diagram, Component Diagram, Deployment Diagram, Timing Diagram, ML Schema as UML Diagram, Business Process Diagram, Activity Diagram, Communication Diagram, Composite Structure Diagram, Interaction Diagram, Package Diagram, State Machine Diagram, Profile Diagram, SysML Diagram Microsoft SQL Server, Microsoft Access Tabulka 4 Přehled vlastností Altova UModel Odkazy a zdroje informací Oficiální stránka produktu: http://www.altova.com/umodel.html Informace na Wikipedia: http://en.wikipedia.org/wiki/umodel 3.2.2 Produkty integrovatelné do IDE nástroje Eclipse Borland Together 2008 Viz 1. Sybase PowerDesigner 15 Viz 1. TopCased Stručný popis TopCased je soubor nástrojů pro modelování, verifikaci a transformaci modelů založený na prostředí Eclipse. TopCased podporuje metodologii Model-driven engineering (MDE), Na základě modelů dokáže generovat dokumentaci i zdrojový kód. Zpětně do UML dokáže převést zdrojové kódy psané v Javě a 16

naopak z UML generuje kód v Javě, C a Pythonu, pomocí SMUC plug-inu pak zvládá dále převod UML do C, C++, C#, Objective C, Ruby, Perl, VB.Net, Lua a Tcl. Funguje generování dokumentace z modelů a dokonce je možný částečný převod dokumentace do modelů z Openml (Office07) nebo OpenDocument (Open Office). Kontrola modelů je možná pomocí pravidel popsaných v OCL (Object Constraint Language). TopCased je opensource projekt, což se částečně projevuje na ne/kvalitě dokumentace, která se sestává převážně z grafických tutoriálů. Ovšem vzhledem k partnerům projektu jak z oblasti akademické, tak průmyslové (mezi partnery je i Airbus) napovídá, že projekt zahájený v roce 2004 má budoucnost. [Topcased] Přehled vlastností Název Výrobce Licence Edice Cena Aktuální stabilní verze Podporované platformy Minimální HW nároky Podporovaná verze UML Integrace do IDE Podporované notace Generování kódu Reverzování kódu Podporované typy diagramů Podporované typy DB Validování modelů Týmová spolupráce Generování dokumentace Technická podpora TopCased Open source projekt EPL $0 3.1.0 (9/2009) JVM CPU 1GHz, RAM 512MB 2.0 Eclipse SysML, SAM, UML, AADL, ENCORE Ada, Java, Python, C++ Java Class, Use cases, State chart, Sequence, Deployment, Activity, Components, Profiles PostgresSql, Oracle Tabulka 5 Přehled vlastností TopCased Odkazy a zdroje informací Oficiální stránka produktu: http://www.topcased.org MosKITT Stručný popis MosKITT je zdarma šířený CASE nástroj založený na Eclipse, vyvíjený Regionálním valencijským ministerstvem infrastruktury a dopravy a je zaměřen primárně pro podporu 17

metodologie gvmétrica (dle které je i vyvíjen), což je adaptace metodologie návrhu vývoje a nasazení software MÉTRICA III. MosKITT je navržen modulárně a jeho funkcionalita odpovídá dané metodologii, která požaduje grafickou editaci modelů, podporu persistence, podporu týmové spolupráce a verzování modelů, transformaci, synchronizaci a možnost sledování celého procesu vývoje modelů (traceability), generování dokumentace a DDL z modelů, podporu procesu vývoje a vedení uživatelů jednotlivými kroky přidělených úkolů. Autoři nástroje MosKITT prohlašují, že se snaží být otevřenou modelovací platformou, ovšem nedostatek dokumentace (k verzi 0.9.0 zatím pouze španělsky) tomu mohou poněkud překážet. [MOSKitt] Přehled vlastností Název Výrobce Licence Edice Cena Aktuální stabilní verze Podporované platformy Minimální HW nároky Podporovaná verze UML Integrace do IDE Podporované notace Generování kódu Reverzování kódu Podporované typy diagramů Podporované typy DB Validování modelů Týmová spolupráce Generování dokumentace Technická podpora MosKITT Valencian Regional Ministry of Infrastructure and Transport Mozilla Public Licence $0 1.0.1 (11/2009) JVM CPU 1GHz, RAM 512MB 2.0 Eclipse UML DDL Class, Statechart, Activity, Use Case, Sequence PostgresSQL, MySQL, Orace Tabulka 6 Přehled vlastností MosKITT Odkazy a zdroje informací Oficiální stránka produktu: http://www.moskitt.org Acceleo Stručný popis Acceleo je specializovaný nástroj pro tvorbu zdrojového kódu z modelu. Jelikož je Acceleo postaveno na EMF (Eclipse Modelling Foundation)dokáže zpracovávat výstup skoro jakéhokoli UML modelleru 18

podporujícího ML Metadata Interchange (MI). Acceleo dokáže z modelů pomocí modulů pro různé jazyky generovat kostru zdrojového kódu a tím urychlit vývoj v souladu s filosofií MDA (Model Driven Architecture). Ke generování používá Acceleo šablonovací systém. Jednotlivé sady šablon pro různé jazyky se doinstalovávají formou modulů. Díky provázání s Eclipse poskytuje kvalitní nástroj k editaci šablon a také provázanost při vývoji samotného softwaru. Pomocí inkrementálního generování je možné přegenerovat již vytvořený kód po změně šablony nebo modelu. Při změně modelu jsou bloky kódu označené jako uživatelské zakomponovány do nového kódu. Při změně šablon (vývoji modulu) je veškerý uživatelský kód zachováván. [Acceleo] Přehled vlastností Název Výrobce Licence Edice Cena Aktuální stabilní verze Podporované platformy Minimální HW nároky Podporovaná verze UML Integrace do IDE Podporované notace Generování kódu Reverzování kódu Podporované typy diagramů Podporované typy DB Validování modelů Týmová spolupráce Generování dokumentace Technická podpora Acceleo Open source projekt Eclipse Public Licence $0 2.6.0 (06/2009) JVM CPU 1GHz, RAM 512MB 1.3, 1.4, 2.0 Eclipse UML, Merise, OMT, MOF, EMF C#, Java, C, PHP, Python, JSP, Hibernate, JDBC - MI import Tabulka 7 Přehled vlastností Acceleo Odkazy a zdroje informací Oficiální stránka produktu: http://www.acceleo.org Visual Paradigm for UML Stručný popis Visual Paradigm for UML umožňuje modelování datové, procesní i objektové. V současné době plně podporuje veškeré modely definované v UML 2.2, 19

SysML diagramy a entity relationship diagram (ERD). Tento CASE nástroj dovoluje generovat zdrojový kód například pro Javu, C#, C++, PHP a další. Kromě klasických nástrojů obsahuje reportingový nástroj, pomocí kterého lze navrhovat reporty a rovnou je umisťovat například na firemní portál. Jedná se o profesionální nástroj vhodný pro každodenní práci na celém cyklu vývoje software, tedy od business modelu, analýzy požadavků, přes návrh a implementaci až po testování a nasazení. Zajímavou vlastností je tzv. visualdiff, který umožňuje v rámci nástrojů pro podporu spolupráce snadno porovnávat různé verze diagramů. [Paradigm] Přehled vlastností Název Výrobce Licence Edice Cena Aktuální stabilní verze Podporované platformy Minimální HW nároky Podporovaná verze UML Integrace do IDE Podporované notace Generování kódu Reverzování kódu Podporované typy diagramů Podporované typy DB Validování modelů Týmová spolupráce Generování dokumentace Technická podpora Visual Paragdigm for UML Visual Paradigm International Ltd. komerční software Enterprise, Professional, Standard, Modeler, Personal, Community Edition $0 - $1399 7.2 (03/2010) JVM CPU 1+GHz, 512MB RAM (1GB doporučeno), 800+ MB HDD 2.1 Eclipse 3+, IntelliJ IDEA 4+, NetBeans 4+ UML 2.1, BPMN, SysML, ML, MI Java, C#, VB.NET, PHP, ODL, Action Script, IDL, C++, Delphi, Perl, ML Schema, Python, Objective-C, Ada 95 a Ruby Java, C++,.NET DDL nebo ee, IDL, Ada 95, ML, ML schema, JDBC, Hibernate, PHP 5.0 a vyšší, Python a Objective-C Class, Use case, Sequence, Communication, State machine, Activity, Component, Deployment, Package, Object, Composite structure, Timing, Interaction overview, Data flow, Object relational mapping, Business Process, Entity Relationship Diagram MySQL, MS SQL Server, Oracle, Sybase, PostgreSQL, Derby, Informi, Firebird, SQLite Tabulka 8 Přehled vlastností Visual Paradigm Odkazy a zdroje informací Oficiální stránka produktu: http://www.visualparadigm.com/product/vpuml/ 20

Informace na Wikipedia: http://en.wikipedia.org/wiki/visual_paradigm_for_uml 3.2.3 Produkty integrovatelné do IDE nástroje - Net Beans Visual Paradigm for UML Viz 2. NetBeans UML Stručný popis Umožňuje dopředné a zpětné inženýrství, generování Java kódu z UML modelu, podporuje následující UML diagramy: diagram aktivity, class diagram, sekvenční diagram, state diagram, Use Case diagram, umožňuje použití funkce drag and drop. Dále samožřejmě také generování kódu pro dopředné inženýrství. Přehled vlastností Název Výrobce Licence Edice Cena Aktuální stabilní verze Podporované platformy Minimální HW nároky Podporovaná verze UML Integrace do IDE Podporované notace Generování kódu Reverzování kódu Podporované typy diagramů Podporované typy DB Validování modelů Týmová spolupráce Generování dokumentace Technická podpora NetBeans UML Sun Microsystems CDDL, CLA $0 5.5 Windows, Linu, Solaris CPU 800 MHz, RAM 1 GB 1.3, 1.4, 2.0 NetBeans IDE - MI import Tabulka 9 Přehled vlastností NetBeans UML Odkazy a zdroje informací Oficiální stránka produktu: http://www.netbeans.org/community/releases/55/umldownload.html#installation 21

Applied Models MDA Stručný popis Applied Models nabízí kompletní vývojářský nástroj pro Model Driven Architecture (MDA). Plugin podporuje vizuální modelování v jakémkoli modelovacím jazyku (předdefinovaný jazyky UML, CWM, MOF, UIM, dokonce si můžete nadefinovat svůj vlastní. Samozřejmě podporuje jednoduché generování kódu, modelování databázových schémat, zpětné inženýrství a další. Je zdarma pro modely o velikosti do 100 prvků. Přehled vlastností Název Výrobce Licence Edice Cena Aktuální stabilní verze Podporované platformy Minimální HW nároky Podporovaná verze UML Integrace do IDE Podporované notace Generování kódu Reverzování kódu Podporované typy diagramů Podporované typy DB Validování modelů Týmová spolupráce Generování dokumentace Technická podpora Applied Models MDA Applied Models Team SPL $ 395, zdarma pro modely o velikosti do 100 prvků 5.5 Windows, Linu, Solaris CPU 800 MHz, RAM 1 GB 1.3, 1.4, 2.0 NetBeans IDE - MI import Tabulka 10 Přehled vlastností Applied Models MDA Odkazy a zdroje informací Oficiální stránka produktu: http://www.appliedmodels.com/ Informace na Wikipedia: http://en.wikipedia.org/wiki/modeldriven_architecture SDE for NetBeans Stručný popis 22

SDE pro NetBeans umožňuje modelování v UML prostředí a je úzce integrován s NetBeans. To umožňuje čerpat všechny typy diagramů UML (Use Case diagram, diagram tříd, sekvenční diagram, diagram aktivit, atd.) v NetBeans, reverzní zpracování zdrojového kódu (Java, C + +, ML, ML Schema, CORBA IDL, atd.) vytvářet UML modely a vytvářet Java zdroje z UML diagramů. Umožňuje import z Rational Rose, z MI, dále umožňuje generovat HTML/PDF dokumentaci a podporuje i další pluginy i šablony. Licence: Zdarma pro nekomerční účely. Změny: Tato verze má řadu nových funkcí, které zahrnují vytvoření kopie modelu pomocí Nicknamer, podporuje tabulkové zobrazení, schopnost kopírovat, přesunout a měnit pořadí třídy a členy jednotek pomocí funkce drag and drop. Kromě toho byl zaveden model Transitor pro zřízení přechodu a podporu sledovatelnosti mezi modely. Přehled vlastností Název Výrobce Licence Edice Cena Aktuální stabilní verze Podporované platformy Minimální HW nároky Podporovaná verze UML Integrace do IDE Generování kódu Reverzování kódu Podporované typy DB Validování modelů Generování dokumentace Technická podpora SDE for NetBeans Visual Paradigm International Ltd. komerční software Enterprise, Professional, Standard, Modeler, Personal Edition $ 11.5 - $ 419.5, zdarma pro nekomerční účely 5.2 JVM 2.1 NetBeans IDE, MS Visual Studio, Eclipse 3+, IntelliJ IDEA 4+ Tabulka 11 Přehled vlastností SDE pro NetBeans Odkazy a zdroje informací Oficiální stránka produktu: http://www.visualparadigm.com/product/sde/nb/ Informace na Wikipedia: http://en.wikipedia.org/wiki/visual_paradigm_for_uml 23

MagicDraw UML Stručný popis UML modelování a CASE nástroj s podporou týmové spolupráce. Nabízí generování kódu, modelování datových schémat, generování DDL a reverse engineering. Podporuje také MI import pro otevření jakéhokoliv zdroje. Funguje na jakékoli platformě, která podporuje Javu. Přehled vlastností Název Výrobce Licence Edice Cena Aktuální stabilní verze Podporované platformy Minimální HW nároky Podporovaná verze UML Integrace do IDE MagicDraw UML No Magic, Inc. komerční software Professional, Standard, Personal, Architect, Enterprise Edition $ 149 - $ 1599 16. Windows 98/ME/NT/2000/P/Vista/7, Solaris, OS/2, Linu, HP-U, AI, MacOS () i vše další, co podporuje Java 5 a 6 2 NetBeans 6+, Eclipse Workbench, IntelliJ IDEA 4+, CodeGear JBuilder 8.0, 9.0,, 2005, 2006, 2007, 2008, IBM RAD 7.0 Generování kódu Reverzování kódu Týmová spolupráce Validování modelů Generování dokumentace Technická podpora Tabulka 12 Přehled vlastností MagicDraw UML Odkazy a zdroje informací Oficiální stránka produktu: http://www.magicdraw.com/ Informace na Wikipedia: http://en.wikipedia.org/wiki/magicdraw_uml 24

4. Integrace a provázání IDE a CASE nástrojů Způsob spolupráce IDE a CASE nástrojů Většina CASE nástrojů umožňuje generování kódu (engineering), kde je možné vygenerovat z vytvořeného modelu zdrojové kódy, které slouží jako základ pro vývoj aplikace. Zároveň je také často umožněno reverzování kódu (reverse engineering) pomocí kterého je možné vytvořit opačnou situaci a to z kódu vytvořit model, který je požadován. Problém nastává, pokud je už jedna z části dále rozpracována či upravena, v tuto chvíli bychom přišli o úpravy v jedné či druhé časti. Proto vyvstává otázka, zde je možné tento stav odstranit a umožnit spolupráci mezi CASE a IDE nástroji. Plug-in moduly V současné době eistují v zásadě tři možné varianty spolupráce obou nástrojů. První možností je použití plug-in modulu. Plug-in moduly jsou vlastně malé programy, které je možně nainstalovat do již eistujícího software a rozšířit tak jeho funkcionalitu. Synchronizace mezi CASE a IDE v tomto případě není prováděna automaticky, ale je nutné, aby ji pověřený uživatel software provedl manuálně. Plug-in moduly jsou psané pro jednotlivé CASE a IDE nástroje a proto instalujeme moduly podle potřebného druhu spolupráce. 25

Obrázek 4 Spolupráce IDE a CASE nástroje pomocí plug-in modulu Další variantou spolupráce je možnost, že nástroj již dané moduly obsahuje ihned po instalaci. Tato varianta de facto koresponduje s první možností. Výhodou je, že moduly jsou odzkoušené a dodavatel určitým způsobem dává záruky, že spolupráce nástrojů bude regulérní a nebudou nastávat nekonzistence mezi jednotlivými částmi. V případě, že software již obsahuje integrované možnosti spolupráce mezi nástroji, není vždy umožněno přidávání funkcionalit pomocí plug-in modulů. Je tedy důležité, aby byl při výběru nástrojů brán zřetel na možné budoucí využití a možnosti rozšíření. Integrace IDE a CASE Třetí variantou, která je k nejčastěji k dostání u robustních nástrojů je plná integrace spolupráce mezi IDE a CASE. Díky tomu, že robustní software pro modelování a vývoj aplikací obsahují oba typy nástrojů, je možnost zařídit i plnou synchronizaci a vzájemnou integraci. Zde je ve většině případů zajištěna bezprostřední interakce a mnohé procesy synchronizace reagují bez zásahů uživatele či dle možných nastavení a pravidel. 26

Obrázek 5 Spolupráce IDE a CASE v robustním software řešení Vzájemné provázání IDE a CASE nástrojů umožňuje efektivní spolupráci softwarových architektů, procesních analytiků a vývojářů. V případě větších projektů, na kterých spolupracuje více osob, je používání takovéto spolupráce nutností, jinak vznikají nekonzistence při vývojovém procesu a jejich odstranění je často velice časově i finančně nákladné. 27

5. Funkcionalita vybraných CASE nástrojů, výběr důležitých funkcí pro další analýzu V rámci této kapitoly bude popsána základní funkcionalita CASE nástrojů a budou vybrány některé z nejdůležitějších funkcí pro jejich následnou analýzu. CASE nástroje jsou postaveny tak, aby podporovaly týmovou práci při vývoji systému, zajišťují sdílení rozpracovaných fragmentů, správu vývoje, sledují konzistenci modelu systému, automatizují některé procesy, hlídají dodržování zvolené metodiky, některé umožňují řízení celého životního cyklu aplikací. Úspěch využití CASE nástrojů záleží mimo jiné na vybrané metodice. [CASE nástroje, 2010] Moderní nástroje CASE umožňují celou škálu činností. Nyní si stručně vyjmenujme ty nejběžnější a nejdůležitější [Funkcionalita I, 2010], [Funkcionalita II, 2010]: Tvorba konceptuálního i fyzického datového modelu v rámci konceptuálního (resp. logického) modelování je možné definovat abstraktní datové struktury (entity) v vztahy mezi nimi. Konceptuální datový model je platformově nezávislé datové schéma vytvářeného produktu, které je oproštěno od různých implementačních detailů. Fyzický model je již naproti tomu úzce spjat s předpokládanou cílovou platformou, resp. db serverem. Kvalitní nástroje CASE podporují až několik desítek cílových databázových serverů. Ve fyzickém modelu se může analytik zabývat zvláštnostmi a odlišnostmi jednotlivých platforem, týkajícími se např. návrhu indeů, atd. Nástroje CASE umožní ušít implementaci datového modelu na míru konkrétní databázové platformě. Samozřejmostí je jednoduchý, přímočarý (a často automatický) přechod z konceptuálního modelu na fyzický. Nástroj CASE sám provede překlady domén, relací M:N (které je samozřejmě možné používat na úrovni konceptuálního modelu), klíčů a dalších prvků pro zvolenou cílovou platformu. Možný je samozřejmě i zpětný přechod od fyzického ke konceptuálnímu modelu, stejně jako generování zdrojového kódu aplikace na základě fyzického modelu. Objektové modelování plně objektový přístup umožňuje definovat a modelovat uživatelské scénáře a případy použití, stejně jako hraniční, datové (entitní), řídicí a doménové objekty. Pomocí diagramu tříd je možné definovat vztahy mezi jednotlivými třídami, jejich vzájemné závislosti. V rámci objektového modelování se tedy nezabýváme jen definicemi statických objektů, ale také modelováním jejich interakcí a především činností. CASE nástroje obvykle umožňují synchronizovat diagram tříd s datovým modelem, čímž je zajištěna konzistence 28

celého návrhu, a také generování zdrojového kódu na základě diagramu tříd. Zdrojový kód je možné generovat do celé řady objektových prostředí a jazyků, např. Java, C++ (MFC), C#, ML, WSDL, CORBA, VisualBasic, ADA a SQL, PowerBuilder apod.) Kontrolní mechanismy nástroje CASE usnadňují kontrolu správnosti, a to nejen modelu, ale i funkčních specifikací, celé architektury a integrity projektu. Nejlepší nástroje CASE obsahují různé podpůrné utility, které dokáží detekovat a lokalizovat i (budoucí) run-time chyby, včetně chyb typu špatné správy/alokace paměti. Všichni vývojáři vědí, že odhalit chybu spočívající v použití neinicializované paměti nebo v neuvolnění alokované paměti je velmi obtížné a časově náročné, neboť chyba se projeví vždy jinak a jinde (a často se třeba neprojeví vůbec). Dalším bonbónkem těchto nástrojů je, že dokáží najít chybu i v aplikacích, jejichž zdrojový kód není vůbec k dispozici. Pokud tedy ve svém projektu využíváme nejrůznější komponenty a knihovny třetích stran, můžeme detekovat jimi způsobené problémy. Porovnávání modelů součástí řady nástrojů CASE je funkce umožňující porovnávat jednotlivé datové modely. Pro tuto činnost eistují také nástroje třetích stran (např. TG Data Modeller), které umožňují i odlišení rozdílů podle jejich důležitosti. Kromě struktury a datových typů je možné porovnávat i podle celé řady dalších kritérií, např. podle logického jména, default hodnoty, indeů apod. Generování výsledného (zdrojového) kódu tato funkce se stává čím dál více využívanou. Spočívá v tom, že nástroj CASE dokáže vygenerovat zdrojový kód pro základ aplikace. Na základě fyzického datového modelu je možné získat skripty pro vytvoření kompletní databáze: všech tabulek, pohledů, indeů, datových typů (včetně uživatelských), triggerů a dalších součástí, vždy podle možností cílové databázové platformy. Je samozřejmě možné zvolit, co všechno se má generovat (zda jen tabulky, nebo i indey apod.), je možné požadovat generování jen některých entit a nejrůznější vsuvky do skriptu či do každé z tabulek. Vzhledem k tomu, že ve fázi modelování se zabýváme i činností a funkcí jednotlivých objektů, stejně jako vzájemnými interakcemi, je možné generovat i kompletní výsledný zdrojový kód pro řadu objektových prostředí a vývojových nástrojů, obvyklá je také možnost získat ML dokumenty k příslušnému objektovému modelu. Kvalitní nástroje CASE umožňující všechny zmíněné funkce tak umožňují dostatečnou interakci se svým programovým okolím a splňují požadavek otevřenosti a přenositelnosti. 29

Podpora spolupráce při vývoji již zmíněný požadavek na znovuvyužitelnost, stejně jako požadavky na řízenou spolupráci členů vývojového týmu řeší velmi často nějaký trezor objektů repository. Disponuje-li CASE nástroj kvalitním repository, je možné do něj vkládat jednotlivé moduly, objekty, modely a submodely, které je možné následně znovu využívat, případně i modifikovat. Repository velmi často přispívá také k zajištění konfiguračního managementu, neboť si ukládá informace o jednotlivých verzích modelů a sleduje jejich vývoj v čase. Tím podporuje verzování, umožňuje porovnávat několik verzí téhož modelu a odhalit případnou příčinu chyb v nové verzi. Další funkcí repository může být možnost zamykání jednotlivých částí modelu, takže se eliminuje situace, kdy si dva členové vývojového týmu navzájem mění submodel pod rukama. Nástroje CASE také mohou umožňovat efektivní a řízené slučování změn v jednotlivých modelech. Repository mohou také umožňovat řízení konfigurací, jinak řečeno seskupení verzí do základních sad, správu těchto sad, jejich porovnávání a obnovování. Přestože na podporu týmové práce, zálohování a verzování eistuje celá řada eterních nástrojů, je jistě příjemná možnost zařídit vše potřebné v rámci používaného nástroje CASE, takže odpadá nepříjemná nutnost zavádění, školení a používání dalšího nástroje. Užitečnou funkcí repository je jistě také možnost používání uložených objektů v aplikacích třetích stran (včetně poštovních programů a tetových editorů), typicky prostřednictvím mechanismu OLE (Object Linking and Embedding). Nástroje CASE tak podporují souběžný i konkurenční vývoj. Automatické vytváření dokumentace nástroje CASE dokáží automaticky vytvářet dokumentaci k modelovaným objektům, čímž umožňují analytikům získat v přehledné formě velmi podrobné informace o vytvářeném systému. Dokumentace (která je často generována ve formátu HTML, ale např. i RTF, MS Word a další), je nezbytnou součástí každého projektu, neboť zvláště v rozsáhlejších modelech není možné (ani vhodné) vyhledávat všechny potřebné informace vždy v diagramu. Dokumentace bývá obvykle velmi kvalitní a obsahuje všechny údaje, které s daným modelem souvisí a navíc umožňuje nastavit hloubku obsažených informací, takže je možné získat reporty pro manažery, zákazníky, ostatní členy vývojového týmu, pro administrátora databázového serveru apod. Automaticky vytvořená dokumentace má jednotný vzhled a přispívá ke konzistenci vývojového týmu. Zpětné inženýrství (reengineering) zpětné inženýrství je po generování další funkcí, která pracuje se zdrojovým kódem aplikace. Pomocí této funkce je možné realizovat opačný vývojový postup spočívající v automatickém vytvoření návrhu (včetně veškerých souvisejících prvků, tedy tabulek, indeů, referenční integrity apod.) a diagramu na základě 30

eistujícího databázového skriptu. Některé nástroje CASE umožňují také připojení k databázi pomocí rozhraní ODBC, následné přečtení jejích DDL skriptů a konečně vytvoření fyzického databázového schématu. Součástí (spíše podmnožinou) zpětného inženýrství je také tzv. round-trip engineering (příp. code-to-model synchronizaci), která spočívá v automatickém promítání změn učiněných v databázi do jejího návrhu. Provede-li programátor změnu v kódu (např. přidá další atribut či metodu), dojde k automatickému zanesení této změny do příslušného diagramu, v němž je tato třída modelována. Podpora návrhu vícerozměrných schémat další možností je vytváření vícerozměrných databázových schémat a s ním související podpora datových skladů. Je možné pracovat s hvězdicovým či vločkovým schématem a tak vytvořit podmínky a prostor k nasazení nástrojů pro etrakci, transformaci a plnění datových skladů, jež znamenají dosud nepředstavitelné možnosti při práci s daty, při vyvozování skrytých závislostí mezi daty a při předpovídání budoucího vývoje sledovaných jevů. Procesní modelování nástroje CASE neumožňují jen datové modelování, vytváření konceptuálních, fyzických a objektových modelů. Jednou z dalších funkcí je také procesní modelování, jež umožňuje definovat diagramy datových toků (DFD, Data Flow Diagram), diagramy závislostí mezi procesy (resp. dekompozice procesů), definice funkcí systému apod. Vytváření datových slovníků mezi další funkce nástrojů CASE můžeme zařadit definování uživatelských datových typů (vytváření datových slovníků, Data Dictionary). Slovníky datových typů, často uchovávaný v podobě repository, zabezpečují, že veškerá data budou definována pouze jednou a pak opakovaně použita v různých modelech popisujících datovou vrstvu, procesní vrstvu a vrstvu uživatelského rozhraní. Tento přístup zaručuje důslednou konzistenci, provázanost a efektivitu, jež je velmi důležitá při vývoji rozsáhlých a kompleních aplikací. Podpora životního cyklu nástroje CASE dovolují sledovat vývoj modelu od samého začátku (stanovení požadavků) až k implementaci. Produkty jednotlivých fází vývojového cyklu jsou archivovány za účelem zachování historie jednotlivých učiněných rozhodnutí. A co je nejlepší, změna učiněná v kterékoliv fázi vývoje může být propagována do předchozích či následujících fází (i s příslušnými výstupy do dokumentace), což opět vede k lepšímu zachování konzistence. Správa požadavků uživatelů jasná (a včasná) definice požadavků je základním stavebním kamenem úspěšné aplikace, která má splňovat očekávání jejích uživatelů. Málokdy se však 31

podaří specifikovat veškeré požadavky před vytvořením návrhu a započetím vlastní implementace. Obvykle se požadavky v čase mění a vyvíjejí a nástroje CASE umožňují efektivní správu těchto změn. Specifikace změn mohou být sdíleny řadou modulů a nástrojů, výsledkem bývají např. různé uživatelské scénáře. K těmto scénářům mají následně přístup všichni členové týmu, celý vývojový proces je tedy mnohem konzistentnější (přestože se v jeho rámci opakovaně mění pravidla hry ). Dalším důležitým aspektem CASE nástrojů může být: podpora mnoha různých vývojových platforem a databázových systému, nezávislost na systému (Windows, Linu). 32

6. Praktické zkušenosti při provázání vybraných IDE a CASE Náplní této kapitoly je popis zkušeností nabytých při integraci jednotlivých IDE a CASE nástrojů. Součástí je také srovnání jednotlivých CASE nástrojů z pohledu uživatelské přívětivosti. Jak již bylo zmíněno výše, budeme se zabývat propojením tří IDE aplikací. Bude to Eclipse, NetBeans a MS Visual Studio. Tyto aplikace jsme vybrali z důvodu jejich značného rozšíření mezi uživateli. Jde nejspíše o tři nejznámější IDE aplikace na trhu. S nimi se pokusíme propojit několik CASE nástrojů. V úvahu připadají programy Power Designer, Altova Umodel, MS Visio, SDE for NetBeans/Eclipse, Virtual Paradigm UML, MagicDraw UML, NetBeans UML, Aplied Models MDA. 6.1.1 MS Visual studio + Altova Umodel Altova Umodel je CASE nástroj, který je možno používat jak samostatně tak i jako plugin. Při instalování pluginu je uživatel přímo dotázán, do kterých IDE nástrojů nainstalovaných na jeho počítači (sám si všechny vyhledá), si přeje tento CASE vložit. Následnou instalaci již zvládá instalační program plně sám. Při spouštění příslušného IDE, je uživatel dotázán, zda si přeje zaplatit plnou licenci nebo zda mu stačí 30 denní trialová verze zdarma. Pro účely této práce jsme si vystačili s volnou 30 denní verzí. V samotném Visual Studiu je již poměrně jednoduché, využít funkcionalitu Altovy. Pokud máme připravené třídy vytvářeného programu, můžeme v klasickém horním menu kliknout na položku Umodel project, která se nám do Visual Studia přidá při instalaci pluginu. Pak už jsme schopni pomocí jednoduchého grafického editoru pracovat s vytvořeným zdrojovým kodem a vytvořit z něj pomocí Altovy přehledný UML model. Vytvořený model lze jak graficky, tak i tetově upravovat a následně ho převést zpátky do zdrojového kódu. Navíc Altova umožňuje mít nastálo spuštěnou funkci automatických změn v kódu i v UML. To znamená, že cokoliv uživatel změní v UML modelu je okamžitě změněno i ve zdrojovém kódu. Funkce funguje i obráceně. Vybraná funkcionalita Je podporována Není podporována 33 Nezjištěno