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

Transkript

Nástroje pro vývoj aplikací a jejich vazba na CASE
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:
<http://en.wikipedia.org/wiki/Integrated_development_environment>.
[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:
<http://en.wikipedia.org/wiki/Microsoft_Visual_Studio>.
[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:
<http://en.wikipedia.org/wiki/Eclipse (software)>.
[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: <http://en.wikipedia.org/wiki/NetBeans>.
[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:
<http://cs.wikipedia.org/wiki/CASE_nástroje>.
[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:
<http://www.dbsvet.cz/view.php?cisloclanku=2002070104>.
[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:
<http://www.dbsvet.cz/view.php?cisloclanku=2002070104>.
[Borland]
Borland Together. Wikipedia. [Online] [cit. 2010-04-19]. Dostupné z
WWW: <http://en.wikipedia.org/wiki/Borland_Together>.
[Borland II]
Software Architecture Design, Visual UML & BPM.
Borland.com. [Online] [cit. 2010-04-19]. Dostupné z WWW:
<http://www.borland.com/us/products/together/index.html>.
[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
<http://www.sybase.com/products/modelingdevelopment/power
designer>.
[PowerDesignerII]
PowerDesigner. Wikipedia. [Online] [cit. 2010-04-19]. Dostupné
z WWW: <http://en.wikipedia.org/wiki/PowerDesigner>.
[UMLTool]
UMLTool. Altova.com. [Online] [cit. 2010-04-19]. Dostupné
z WWW: <http://www.altova.com/umodel.html>.
[Visio] Visio Home Page. Microsoft Office Online. [Online] [cit. 2010-04-19]. Dostupné
z WWW: <http://office.microsoft.com/enus/visio/default.aspx>.
[Visio II]
Microsoft Visio. Wikipedia. [Online] [cit. 2010-04-19]. Dostupné
z WWW: <http://en.wikipedia.org/wiki/Microsoft_visio>.
[Topcased]
Home. Topcased.org. [Online] [cit. 2010-04-19]. Dostupné
z WWW: <http://www.topcased.org/>.
[MOSKitt]
MOSKitt. MOSKitt.org. [Online] [cit. 2010-04-19]. Dostupné
z WWW: <http://www.moskitt.org/>.
[Acceleo]
Acceleo : MDA generator. Acceleo.org. [Online] [cit. 2010-0419]. Dostupné z WWW:
<http://www.acceleo.org/pages/home/en>.
[Paradigm]
Visual Paradigm for UML. Wikipedia. [Online] [cit. 2010-04-19].
Dostupné z WWW:
<http://en.wikipedia.org/wiki/Visual_Paradigm_for_UML>.
45

Podobné dokumenty

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

Nástroje pro vývoj aplikací v závislosti na platformě a jejich vazba na Z čeho se CASE nástroje skládají? ...................................................................................................... 11 Výběr vhodného CASE nástroje ...............................

Více

CO UTVÁŘÍ NADÁNÍ? Přezkoumání definice Joseph S. Renzulli

CO UTVÁŘÍ NADÁNÍ? Přezkoumání definice Joseph S. Renzulli způsobilosti (např. v chemii) nebo ve výtvarném umění (např. fotografie). Stejně tak mohou být vůdcovské schopnosti či obecná inteligence uplatněny v určité oblasti činnosti, třeba v choreografii n...

Více

Sborník vědeckých prací - Vysoká škola Karla Engliše

Sborník vědeckých prací - Vysoká škola Karla Engliše TOGAF, UML (Unified Modelling Language) a z něj vyvozené SysML a SoaML a nejnověji BPMN (Business Process Modeling Notation). První tři uvedené postupy se neopírají o mezinárodní normy, TOGAF je rá...

Více

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

Nástroje pro vývoj aplikací v závislosti na platformě a jejich vazba na nutno software přestat používat / odinstalovat nebo zakoupit).

Více

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

Využití CASE ve vývojářské firmě a globální analýzu IS. Hlavním úkolem nástroje je analýza organizace, zachycení procesů v organizaci, definice klíčových informačních toků a dokumentace zjištěných požadavků. Z těchto údajů je jasn...

Více

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

4IT_450 Přehled CASE nástrojů na tuzemském trhu Select pro danou činnost, takže pořízení metodiky spolu s prostředím Select významně zjednodušuje jeho osvojení a využívání v praxi. Uživatel má při modelování možnost výběru ze tří notací: CSC, UM...

Více

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

Přehled nástrojů CASE na tuzemském trhu v sérii prací vytvořených pro předmět 4IT450 (CASE - Computer Aided Systems Engineering). Tento dokument, jeho ostatní verze a i další práce lze získat na stránkách projektu OpenSoul [CASE, 1]. V a...

Více

Přehled CASE na trhu

Přehled CASE na trhu Cena ....................................................................................................................................................... 92 Uživatelské rozhraní ...................

Více

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

Nástroje pro vývoj aplikací v závislosti na platformě a jejich vazba na definuje platformu jako „skupinu technických prostředků v informatice a výpočetní technice, které mluvčí (obecně producent softwarových řešení) používá nebo nabízí jako základ pro další vývoj“. To ...

Více