Seminární práce k předmětu 4IT450
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
Axmann Ondřej Hemala David Mošnička Radek Vrbka Jan
školní rok 2009/2010
Seminární práce k předmětu 4IT450
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
Seminární práce k předmětu 4IT450
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
Seminární práce k předmětu 4IT450
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 maximalizovat 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í textu 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
Seminární práce k předmětu 4IT450
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 syntaxí 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) Maximá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
X
X
Oracle JDeveloper
X
X
JBuilder
X
IBM Rational Application Developer
X
1
X X X
X
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
Seminární práce k předmětu 4IT450
NetBeans
X
X
BlueJ
X
Eclipse
X
MyEclipse
X
X
jGRASP
X
X
DrJava
X
X
Greenfoot
X
X
X
X
X
X
X
X
X
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
Seminární práce k předmětu 4IT450
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 maximá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, XML, jeho možnosti jsou obrovské. Navíc existují 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
Seminární práce k předmětu 4IT450
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í syntaxe 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 Xelfi (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
Seminární práce k předmětu 4IT450
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ší). Existují 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
Seminární práce k předmětu 4IT450
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 praxi existuje určitá diference v tom, jaké možnosti zmíněné CASE nástroje nabízejí. CASE nástrojů existuje 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, existují nástroje, které mají širší zaměření a jsou schopné pojmout tvorbu mnohem komplexně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 export 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, existuje 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
Seminární práce k předmětu 4IT450
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 (X). 4) Maximá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
X
X
/
PowerDesigner 15
X
X
/
Microsoft Office Visio 2007
X
X
/
Altova UModel
X
X
/
TopCased
X
X
X
MosKITT
X
X
X
Acceleo
X
X
X
Visual Paradigm for UML
X
X
X
NetBeans UML
X
X
X
Applied Models MDA
X
X
X
SDE pro NetBeans
X
X
X
MagicDraw UML
X
X
/
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
Seminární práce k předmětu 4IT450
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++BuilderX. [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 (XP SP2, Vista), Linux, Solaris 10, Mac OS X RAM 1GB, HDD 1.4GB 2.0 Eclipse, MS Visual Studio, C++BuilderX 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/index.html
•
Informace na Wikipedia: http://en.wikipedia.org/wiki/Borland_Together
• Sybase PowerDesigner 15 Stručný popis
12
produktu:
Seminární práce k předmětu 4IT450
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 (XP, Server 2003, Vista) CPU 1,5GHz, RAM 1GB, HDD 500 MB 1.x, 2.0 Eclipse, PowerBuilder a Visual Studio UML, BPMN, DFD, ER Java, C#, C++, PowerBuilder, XML, VB.NET Java, C#, C++, PowerBuilder, XML, 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
Seminární práce k předmětu 4IT450
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
Seminární práce k předmětu 4IT450
Podporované typy DB Validování modelů Týmová spolupráce Generování dokumentace Technická podpora
Diagram, TQM Diagram, Work Flow Diagram, XML 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
Seminární práce k předmětu 4IT450
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, XML 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
Seminární práce k předmětu 4IT450
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 OpenXml (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
Seminární práce k předmětu 4IT450
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
Seminární práce k předmětu 4IT450
podporujícího XML Metadata Interchange (XMI). 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 - XMI 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
Seminární práce k předmětu 4IT450
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, XML, XMI Java, C#, VB.NET, PHP, ODL, Action Script, IDL, C++, Delphi, Perl, XML Schema, Python, Objective-C, Ada 95 a Ruby Java, C++, .NET DDL nebo exe, IDL, Ada 95, XML, XML 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, Informix, 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
Seminární práce k předmětu 4IT450 •
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, Linux, Solaris CPU 800 MHz, RAM 1 GB 1.3, 1.4, 2.0 NetBeans IDE
- XMI 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
Seminární práce k předmětu 4IT450
• 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, Linux, Solaris CPU 800 MHz, RAM 1 GB 1.3, 1.4, 2.0 NetBeans IDE - XMI 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
Seminární práce k předmětu 4IT450
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 + +, XML, XML Schema, CORBA IDL, atd.) vytvářet UML modely a vytvářet Java zdroje z UML diagramů. Umožňuje import z Rational Rose, z XMI, 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
Seminární práce k předmětu 4IT450
• 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é XMI 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.x Windows 98/ME/NT/2000/XP/Vista/7, Solaris, OS/2, Linux, HP-UX, AIX, MacOS (X) i vše další, co podporuje Java 5 a 6 2 NetBeans 6+, Eclipse Workbench, IntelliJ IDEA 4+, CodeGear JBuilder 8.0, 9.0, X, 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
Seminární práce k předmětu 4IT450
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ě existují 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ž existují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
Seminární práce k předmětu 4IT450
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
Seminární práce k předmětu 4IT450
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
Seminární práce k předmětu 4IT450
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 indexů, 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
Seminární práce k předmětu 4IT450
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#, XML, 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 existují také nástroje třetích stran (např. XTG 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, indexů 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ů, indexů, 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 indexy 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 XML 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
Seminární práce k předmětu 4IT450
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í existuje celá řada externí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 textový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, indexů, referenční integrity apod.) a diagramu na základě
30
Seminární práce k předmětu 4IT450
existují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 extrakci, 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 komplexní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
Seminární práce k předmětu 4IT450
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, Linux).
32
Seminární práce k předmětu 4IT450
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 textově 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
Seminární práce k předmětu 4IT450
Tvorba konceptuálního i fyzického datového modelu
x
Kontrolní mechanismy
x
Generování kodu
x
Podpora spolupráce při vývoji - verzování Dokumentace
x x
Zpětné inženýrství Procesní modelování
x x
Podpora životního cyklu
x
Altova U model nás překvapil svou poměrně snadnou instalací. I samotná práce s tímto CASE je poměrně příjemná. Trošku problém jsme měly s používáním některých prvků, protože byly schovány trochu jinde, než jsme očekávali.
6.1.2 MS Visual Studio + Power Designer Tato kombinace se nám bohužel nepodařila sestavit, protože potřebný plugin nebyl k nalezení. Navíc jsme zjistili že Sybase, čili výrobce Power Designeru neposkytuje pluginy pro některé větší IDE nástroje zdarma což je pro náš projekt značný problém. Vybraná funkcionalita
Je podporována
Není podporována
Nezjištěno
Tvorba konceptuálního i fyzického datového modelu
x
Kontrolní mechanismy
x
Generování kodu
x
Podpora spolupráce při vývoji - verzování
x
Dokumentace
x
Zpětné inženýrství
x
Procesní modelování
x
Podpora životního cyklu
x
34
Seminární práce k předmětu 4IT450
6.1.3 MS Visual Studio + MS Visio Pro potřeby spojení těchto dvou nástrojů jsme použili MS Visual Studio.Net, protože verze MS Visual Studio propojení nepodporuje. Pro samotné propojení není potřeba stahovat žádný dodatečný software. Stačí mít nainstalované oba zmíněné programy. Pokud potřebujeme vytvořit UML diagram z vytvořeného zdrojového kódu ve MS Visual, stačí kliknout na horní nabídku na položku Project, ve které je skryta možnost Visio UML a následně možnost Zpětná analýza. Po zvolení této možnosti se nám automaticky spustí MS Visio, ve kterém se nám zobrazí vytvořený UML diagram, který můžeme dále graficky rozpracovat. Visio nabízí přehlednou práci s UML diagramy. Upravený diagram se uloží a následně otevře ve MS Visual Studiu.NET s vygenerovaným kódem podle úprav provedených ve MS Visiu. Vybraná funkcionalita
Je podporována
Tvorba konceptuálního i fyzického datového modelu
x
Kontrolní mechanismy
x
Generování kodu
x
Podpora spolupráce při vývoji - verzování
x
Dokumentace
x
Zpětné inženýrství
x
Procesní modelování
x
Není podporována
Podpora životního cyklu
Nezjištěno
x
Tato varianta byla poměrně přehledná a neměli jsme problémy objevit funkcionalitu, kterou jsme hledali. Pouze nám nevyhovovalo, když jsme chtěly upravený UML model ve MS Visiu vrátit zpět do MS Visual Studia.NET, že jsme museli nejdříve soubor uložit a následně ho v druhém programu otevřít. Ideální variantou by samozřejmě bylo, kdyby se tak dělo automaticky, aby mohl uživatel okamžitě vidět změny, které provedl.
35
Seminární práce k předmětu 4IT450
6.1.5 Závěr MS Visual Studio MS Visual Studio je sám o sobě docela dobře zpracovaný s klasickým ,,microsoftím" prostředím. To znamená, že běžný uživatel zvyklý ná práci s MS Windows intuitivně najde hledané funkce a nemusí se tedy v tomto nástroji dlouho zaučovat. Překvapivě jsme došli k závěru, že jsme byli více spokojeni s kombinací MS Visual Studio s Altovou UModelem, protože jakákoliv změna se ihned zanesla do modelu případně kódu. Co se týče MS Visio, tak stojí za zmínku, že jsme nebyli spokojeni s formou vytváření diagramů. Diagramy se vytvářejí formou klikání, přičemž nám se zdá daleko rychlejší vytvářet diagramy přetahováním položek.
6.2.1 Eclipse + Power Designer V této variantě jsme bohužel narazili na stejný problém jako při výše zmíněném propojování MS Visual Studio a Power Designeru. Plugin je totiž placený. Tato varianta původně vypadala asi nejslibněji, protože s Power Designerem i s Eclipsem máme delší zkušenosti než s jinými nástroji. Vybraná funkcionalita
Je podporována
Není podporována
Nezjištěno
Tvorba konceptuálního i fyzického datového modelu
x
Kontrolní mechanismy
x
Generování kodu
x
Podpora spolupráce při vývoji - verzování
x
Dokumentace
x
Zpětné inženýrství
x
Procesní modelování
x
Podpora životního cyklu
x
6.2.2 Eclipse + SDE for Eclipse Enterprise Edition SDE je CASE nástroj určený přímo pro Eclipse nebo NetBeans. Samotná instalace je velmi jednoduchá. Instalační průvodce si sám vyhledá naistalované IDE a v případě uživatelova souhlasu do nich nainstaluje plugin. Společnost SDE poskytuje zdarma 30 denní trialovou verzi, kterou jsme použili pro účely této práce.
36
Seminární práce k předmětu 4IT450
V samotném Eclipse se po instalaci pluginu objeví v horním menu položka Modeling, pod kterou jsou schovány všechny funkce. SDE velmi dobře podporuje návrhy velkého množství diagramů. Z vytvořených diagramů lze snadno vygenerovat zdrojový kód včetně všech metod, atributů apod. Všechny funkce jsou vzájemně propojené, to znamená, že jakákoliv změna v jedné části se projeví do všech ostatních částí automaticky. Vybraná funkcionalita
Je podporována
Tvorba konceptuálního i fyzického datového modelu
x
Kontrolní mechanismy
x
Generování kodu
x
Podpora spolupráce při vývoji - verzování
x
Dokumentace
x
Zpětné inženýrství
x
Procesní modelování
x
Není podporována
Podpora životního cyklu
Nezjištěno
x
Spolupráce Eclipse s SDE je bezproblémová. Neměli jsme žádné potíže najít potřebné funkce. Vytváření UML diagramů bylo poměrně svižné. Z našeho subjektivního pohledu byla tato varianta ze všech zkoušených nejideálnější.
6.2.3 Eclipse + Altova UModel Instalace Altovy probíhá stejným způsobem jako u varianty s MS Visual Studio. Altova se chová úplně stejně jako u MS Visual Studio. Pouze se nám zdálo, že při kliknutí na některé funkce byla Altova v Eclipse trochu svižnější. Po instalaci Pluginu se v Eclipse objeví na horní liště kolonka UModel, pod kterou jsou skryty všechny důležité funkce. Také se zpřístupní další okna, která podporují vytváření UML modelů. Modely mohou být dělány jak graficky, to znamená, že myší přetahujeme a spojujeme jednotlivé prvky, tak i textově, čili doplňováním atributů do jednotlivých prvků, které se pak automaticky vytvoří graficky. Vybraná funkcionalita Tvorba konceptuálního i fyzického datového modelu
Je podporována
Není podporována
x
37
Nezjištěno
Seminární práce k předmětu 4IT450
Kontrolní mechanismy
x
Generování kodu
x
Podpora spolupráce při vývoji - verzování Dokumentace
x x
Zpětné inženýrství Procesní modelování
x x
Podpora životního cyklu
x
Plugin Altovy do Eclipse je dobře zpracovaný. Oba nástroje spolu komunikují velmi rychle. Eclipse je sám o sobě dobře zpracovaný a s tímto pluginem se jeho použitelnost ještě zvyšuje.
6.2.4 Závěr Eclipse Eclipse je sám o sobě kvalitní software a s použitím správných CASE nástrojů je jeho funkcionalita skutečně velká. Všechny použité pluginy se do Eclipse snadno instalovaly a i jejich používání nám nedělalo velké obtíže. Bylo na první pohled vidět, že společnost Eclipse Foundation si zakládá na spolupráci s dalšími společnostmi, protože Eclipse je skutečně dobře připraven na různá vylepšení. Protože jsme přímo v Eclipse měli nainstalované dva konkurenční pluginy, překvapilo nás, že bylo možné rychle mezi nimi přepínat a že nebyl žádný problém s jejich funkčností. Nejvíce spokojení jsme byli s použitím CASE nástroje SDE for Eclipse. Nástroj neměl žádné zvláštní funkce oproti výše zmíněnému Altova UModelu, ale ze subjektivního pohledu se nám s ním lépe pracovalo.
6.3.1 Net Beans + SDE for Netbeans Enterprise Edition Po instalaci IDE aplikace NetBeans příchází nasazení CASE pluginu SDE for Netbeans. Instalování probíhá bez sebemenších problémů jako v případě Eclipse. Jednoduše zvolíme z komplexního balíku od firmy Visual Paradigm modul pro NetBeans (současně volíme i instalaci Visual Paradigm UML pro vyzkoušení propojení s IDE nástrojem), který je opět ve formě 30 denní zkušební verze. Již po otevření NetBeans je vše plně připraveno k použití, takže nepotřebujeme nastavovat jakékoliv parametry atp. Po vytvoření projektu klikneme na projekt pravým tlačítkem, kde zvolíme možnost Open SDE NB-EE. V této chvíli již můžeme začít modelovat na „zelené
38
Seminární práce k předmětu 4IT450
louce“. Možnost tvorby všemožných diagramů nám umožňuje vyloučit používání programu Visual Paradigm UML. Po vytvoření diagramu jediným stiskem tlačítka Update code se vygeneruje veškerý základní kód, který je použitelný pro vývoj. Pokud již máme rozpracovaný projekt, na kterém stále pracujeme, můžeme zvolit možnost Update SDE NBEE project, kdy se nám celý projekt opět převede do určených modelů (reverzování). Vybraná funkcionalita
Je podporována
Tvorba konceptuálního i fyzického datového modelu
x
Kontrolní mechanismy
x
Generování kodu
x
Podpora spolupráce při vývoji - verzování
x
Dokumentace
x
Zpětné inženýrství
x
Procesní modelování
x
Není podporována
Podpora životního cyklu
Nezjištěno
x
Provázanost a funkčnost NetBeans s SDE je plnohodnotná a troufáme si říct, že s použitím této kombinace nástrojů, má uživatel (vývojář) výborné a zcela dostačující zázemí pro svou práci. V průběhu zkoušení se nevyskytly žádné problémy. Navíc firma Visual Paradigm má na svých stránkách základní tutoriál pro funkčnost SDE a musíme tento přístup hodnotit jako velice pozitivní.
6.3.2 NetBeans + Visual Paradigm UML Po instalaci s Visual Paradigm UML jsme se setkali s jednou nepochopitelnou věcí. Abychom totiž mohli integrovat tento nástroj s NetBeans, museli jsme odinstalovat nástroj SDE (aplikace nepovolí danou operaci). Je zarážející, že tato firma nemá zmiňovaný problém ošetřen. Proč tedy nutí potencionálního zákazníka stahovat balík s mnoha produkty, když může poté integrovat jen jeden z mnoha nástrojů na IDE NetBeans? Nicméně velice jednoduše se provede integrace přímo v prostředí Visual Paradigm UML, kde pomocí tří kroků (Tools-> IDE integration->NetBeans) umožníme provázání těchto nástrojů. Samotné provázání projektu je ještě jednoduší. V obou programech se totiž u projektu najednou
39
Seminární práce k předmětu 4IT450
zobrazují další nabídky v návaznosti na generování kódu, zpětné inženýrství atp. Poté už vazby na projekt zůstávají. Vybraná funkcionalita
Je podporována
Tvorba konceptuálního i fyzického datového modelu
x
Kontrolní mechanismy
x
Generování kodu
x
Podpora spolupráce při vývoji - verzování
x
Dokumentace
x
Zpětné inženýrství
x
Procesní modelování
x
Není podporována
Nezjištěno
Podpora životního cyklu
x
Toto řešení je velice komfortní a díky oddělenosti programů je Visual Paradigm UML resp. jeho nabídky a možnosti přehlednější než je tomu v případě implementovaného SDE do NetBeans. Asi také záleží na subjektivním názoru, co komu vyhovuje. Někdo totiž preferuje vše v jednom okně a jiný dává přednost oddělenosti. Současně je výhoda, že v případě změny IDE nástroje na Eclipse nebo MS Visual můžeme mít stále jeden CASE nástroj.
6.3.3NetBeans + MagicDraw UML MagicDraw UML se na začátku jevil jako jeden z těch lepších nástrojů. Opak je ovšem pravdou. Již samotná instalace a bezpečnostní prvky uživateli spíše znepříjemňují život. Poté co se CASE nástroj nainstaluje a napojíme jej na klíč, který byl odeslán pomocí emailu, můžeme konečně integrovat s NetBeans (v MagicDraw volba Tools-> integration). Poté co zapneme NetBeans se zobrazí nové volby z CASE nástroje (hlavní lišta modelů doslova okopírovaná a vlepena) a jako bonus se dostavilo nesmyslné zobrazení nadbytečného znaku v rolovacích nabídkách NetBeans. Ještě samotné nabíhání Netbeans se prodlouží na pětinásobek svého normálního času, protože se současně záhadným způsobem zapíná MagicDraw (uvnitř NetBeans), kdy vyskakují i jeho otravné okna s informací o zkušební verzi. V této chvíli začaly zajímavé problémy. Z jednoduchého kódu jsme si nechali vygenerovat model, ale ještě předtím jsme museli zapnout projekt v Magicu. S tímto modelem manipulovat byl tedy
40
Seminární práce k předmětu 4IT450
„nadlický“ výkon. Od tohoto momentu se totiž veškeré odezvy programu začaly pohybovat v rozmezí 5-20 vteřin (po 15-ti minutách se celé NetBeans nedá vůbec používat). Docela neúnosné, když si představíme, že by se v tomto prostředí mělo pracovat na opravdu velkém projektu. I na banální scrolling myší začal reagovat tím způsobem (model Magicu), že posouval model jenom nahoru a jiný směr prostě neznal (podotýkám, že se jedná o poslední verze obou programů). Vybraná funkcionalita
Je podporována
Tvorba konceptuálního i fyzického datového modelu
x
Kontrolní mechanismy
x
Generování kódu
x
Není podporována
Nezjištěno
Podpora spolupráce při vývoji - verzování
x
Dokumentace
x
Zpětné inženýrství
x
Procesní modelování
x
Podpora životního cyklu
x
Jediná schůdná cesta v tomto případě bylo vytvoření a veškeré úpravy modelů v samostatně spuštěné aplikaci MagicDraw, kdy se prostředí ještě dalo snést a posléze projekt na krátký moment otevřít v NetBeans, kde se rychle provedlo generování kódu. Celé problémy totiž dělá otevření projektu od MagicDraw v NetBeans. Celkově se s tímto propojením člověk jen natrápí a na efektivitě práce tato varianta rozhodně nepřidá. I samostatný MagicDraw vůbec nedává pocit uživatelského pohodlí a vyvolal ve mně názor, že jej nemohu vůbec doporučit.
6.3.4 NetBeans + NetBeans UML S touto kombinací se očekávalo nejméně problémů. Opět jsme ale narazili na jednu zásadní komplikaci. Poslední stabilní verze NetBeans je s označením 6.8. Po mnoha hodinách pokusů, hledání a zjišťování se zjistil fakt, že na poslední verzi nelze plugin pro tvorbu UML naimplementovat resp. není ani jediná zmínka o úspěšném nasazení. Zajímavé, že ano?! Proto jsme museli instalovat starší verzi IDE nástroje 6.7.1. Najednou bylo fungování bez
41
Seminární práce k předmětu 4IT450
problému, kdy jsme přes správce pluginů NetBeans UML v pořádku stáhli a začali používat. Při zkoušení funkcí jsme nenarazili na jediný problém a vše bylo velice intuitivní. Vybraná funkcionalita
Je podporována
Tvorba konceptuálního i fyzického datového modelu
x
Kontrolní mechanismy
x
Generování kódu
x
Není podporována
Podpora spolupráce při vývoji - verzování
Nezjištěno
x
Dokumentace
x
Zpětné inženýrství
x
Procesní modelování
x
Podpora životního cyklu
x
Celkově se s touto kombinací pracovalo dobře. Jediná nevýhoda může pro uživatele nastat, jestliže potřebuje pracovat s více modely, než které nabízí tento plugin. Na druhou stranu je vše zdarma a pod jednotným jménem „NetBeans“, což nám zaručuje větší pravděpodobnost stability a spolehlivosti.
6.3.5 NetBeans + Applied models MDA Tato varianta již přestala existovat. Na oficiálních stránkách jsou poslední zmínky z roku 2007.
6.3.6 Závěr NetBeans IDE nástroje NetBeans se většinou lidé obávají z důvodu, že jádro aplikace běží na Jave a s tím spojovanou pomalou „svižností“ programu. Tuto obavu můžeme vyvrátit, až na situaci, kdy začneme používat nástroj MagicDraw. Velice jsme byli potěšeni možností doinstalovat spoustu pluginů (přímo ze serveru od NetBeans) a jednoduchou správou, ovládání atp. Při integraci CASE nástrojů u nás vyhrává SDE, který oslovil nejvíc. Současně se přikláníme i k variantě NetBeans UML, která je hlavně zadarmo a pokud její funkce budou uživateli dostačující, tak rozhodně doporučujeme tuto volbu.
42
Seminární práce k předmětu 4IT450
Závěr Po získaných zkušenostech z praktické části, kdy byly všechny výše zmiňované kombinace produktů otestovány, jsme došli ke shodnému tvrzení, a to, že jako neiideálnější varianta se jeví spolupráce CASE nástroje SDE Virtual Paradigma spolu s IDE nástroji Elipse a NetBeans. V obou vývojových prostředích se CASE nástroj ukázal jako nejlepší. Nástroje spolupracovali rychle a bezproblémově. Musíme také vyzdvihnout tutoriál na použití IDE nástroje SDE Virtual Paradigma umístěný a volně přístupný přímo na webu výrobce. Naše doporučení tedy zní, používat jeden z plnohodnotných IDE nástrojů NetBeans či Eclipse,(mezi touto volbou ještě více záleží na subjektivním názoru) spolu s IDE nástrojem SDE Virtual Paradigma. Touto kombinací IDE a CASE nástroje ze všech námi testovaných variant, jsme dosáhli vysoké úrovně spokojenosti z pohledu funkčnosti a komfortnosti. Dle našeho názoru se všechny zmiňované cíle v úvodu práce podařilo splnit.
43
Seminární práce k předmětu 4IT450
7. Informační zdroje [Demuth, 2010]
DEMUTH, Jan. Nástroje pro vývoj aplikací v závislosti na platformě a jejich vazba na CASE [online]. [s.l.], 23.1.2010. 91 s. Semestrální práce. Vysoká škola ekonomická.
[IDE, 2010]
Integrated development environment In Wikipedia : the free encyclopedia [online]. St. Petersburg (Florida) : Wikipedia Foundation, 2. 12. 2001, 12. 4. 2010 [cit. 2010-04-13]. Dostupné z WWW:
.
[Evans, 2009]
2009 Software Development Platform Rankings. Evans Data Corporation [Citace: 10. 12. 2009.] http://www.evansdata.com/reports/viewRelease_download.php? reportID=19.
[Visual Studio, 2010]
Microsoft Visual Studio In Wikipedia: the free encyclopedia [online]. St. Petersburg (Florida) : Wikipedia Foundation, 22. 8. 2003, 19. 4. 2010 [cit. 2010-04-19]. Dostupné z WWW: .
[Eclipse, 2010]
Eclipse (software) In Wikipedia: the free encyclopedia [online]. St. Petersburg (Florida): Wikipedia Foundation, 26. 4. 2003, 13. 4. 2010 [cit. 2010-04-19]. Dostupné z WWW: .
[Vopička, 2009]
VOPIČKA, Adam. Nástroje pro vývoj aplikací v závislosti na platformě a jejich vazba na CASE. [s.l.], 2009. 27 s. Semestrální práce. Vysoká škola ekonomická.
[NetBeans, 2010]
NetBeans In Wikipedia: the free encyclopedia [online]. St. Petersburg (Florida): Wikipedia Foundation, 21. 4. 2003, 6. 4. 2010 [cit. 201004-19]. Dostupné z WWW: .
[CASE nástroje, 2010]
CASE nástroje:the free encyclopedia [online]. St. Petersburg (Florida): Wikipedia Foundation, 26. 4. 2003, 16.12. 2009 [cit. 201004-22]. Dostupné z WWW: .
[Funkcionalita I, 2010]
CASE a zbytek světa III., co umí poprvé [online]. Databázový svět, 28.6.2002, [cit. 2010-04-22]. Dostupné z WWW: .
[Funkcionalita II, 2010]
CASE a zbytek světa IV., co umí podruhé [online]. Databázový svět, 1.7.2002, [cit. 2010-04-22]. Dostupné z WWW: .
[Borland]
Borland Together. Wikipedia. [Online] [cit. 2010-04-19]. Dostupné z WWW: .
[Borland II]
Software Architecture Design, Visual UML & BPM. Borland.com. [Online] [cit. 2010-04-19]. Dostupné z WWW: .
[PowerDesigner]
PowerDesigner Modeling and Metadata Management Software Tool. Sybase Inc. [Online] [cit. 2010-04-19]. Dostupné z WWW: 44
Seminární práce k předmětu 4IT450
. [PowerDesignerII]
PowerDesigner. Wikipedia. [Online] [cit. 2010-04-19]. Dostupné z WWW: .
[UMLTool]
UMLTool. Altova.com. [Online] [cit. 2010-04-19]. Dostupné z WWW: .
[Visio] Visio Home Page. Microsoft Office Online. [Online] [cit. 2010-04-19]. Dostupné z WWW: . [Visio II]
Microsoft Visio. Wikipedia. [Online] [cit. 2010-04-19]. Dostupné z WWW: .
[Topcased]
Home. Topcased.org. [Online] [cit. 2010-04-19]. Dostupné z WWW: .
[MOSKitt]
MOSKitt. MOSKitt.org. [Online] [cit. 2010-04-19]. Dostupné z WWW: .
[Acceleo]
Acceleo : MDA generator. Acceleo.org. [Online] [cit. 2010-0419]. Dostupné z WWW: .
[Paradigm]
Visual Paradigm for UML. Wikipedia. [Online] [cit. 2010-04-19]. Dostupné z WWW: .
45