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

Transkript

Nástroje pro vývoj aplikací v závislosti na platformě a jejich vazba na
Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky | Katedra
informačních technologií
Nástroje pro vývoj
aplikací v závislosti
na platformě a jejich
vazba na CASE
Seminární práce k předmětu 4IT450 – CASE – Computer Aided
Systems Engineering
Jan Demuth
Jaromír Šveřepa
Aleš Drobílek
Jakub Gažmerčík
František Bujnoch
Pavel Hodinka
23.1.2010
Seminární práce k předmětu 4IT450
Obsah
1.
Úvod ............................................................................................................................ 4
Cíl práce ............................................................................................................................................... 4
Struktura práce .................................................................................................................................... 4
Společné sledované základní charakteristiky produktů .................................................................. 4
Sledované parametry CASE nástrojů ............................................................................................... 5
Sledované parametry IDE ................................................................................................................ 7
Vysvětlení použitých symbolů v přehledech vlastností ................................................................... 8
2.
CASE ............................................................................................................................ 9
Co to jsou CASE nástroje?.................................................................................................................... 9
Jaké máme druhy CASE nástrojů? ....................................................................................................... 9
Co CASE nástroje umožňují a jaký je přínos? .................................................................................... 10
Z čeho se CASE nástroje skládají? ...................................................................................................... 11
Výběr vhodného CASE nástroje ......................................................................................................... 11
Jaké jsou možnosti CASE nástrojů ..................................................................................................... 13
Přehled vybraných CASE nástrojů ..................................................................................................... 14
Borland Together 2007 .................................................................................................................. 14
Sybase PowerDesigner 15 ............................................................................................................. 16
Altova UModel............................................................................................................................... 18
Microsoft Office Visio 2007 ........................................................................................................... 20
ArgoUML........................................................................................................................................ 22
TopCased ....................................................................................................................................... 24
MosKITT ......................................................................................................................................... 26
Acceleo .......................................................................................................................................... 28
Visual Paradigm for UML ............................................................................................................... 30
Umbrello UML Modeller ............................................................................................................... 32
3.
IDE ............................................................................................................................. 34
Co je to IDE? ...................................................................................................................................... 34
Přehled vybraných IDE ...................................................................................................................... 36
Microsoft Visual Studio ................................................................................................................. 36
Oracle JDeveloper ......................................................................................................................... 39
JBuilder .......................................................................................................................................... 41
IBM Rational Application Developer ............................................................................................. 43
Stránka 2 z 91
Seminární práce k předmětu 4IT450
NetBeans ....................................................................................................................................... 45
BlueJ .............................................................................................................................................. 47
Eclipse ............................................................................................................................................ 49
MyEclipse....................................................................................................................................... 51
jGRASP ........................................................................................................................................... 53
DrJava ............................................................................................................................................ 55
Greenfoot ...................................................................................................................................... 57
Hodnocení vývojových platforem uživateli – studie EDC .................................................................. 59
4.
Zhodnocení integrace a provázání IDE a CASE nástrojů .............................................. 72
Obecně o způsobu spolupráce IDE a CASE nástrojů .......................................................................... 72
Plug-in moduly............................................................................................................................... 72
Integrace IDE a CASE ..................................................................................................................... 73
Zkušenosti z testování vybraných produktů ...................................................................................... 74
Eclipse + TopCased + Accelo .......................................................................................................... 74
Altova UModel + Visual Studio ...................................................................................................... 81
5.
Použité zdroje informací ............................................................................................ 87
Seznam obrázků ................................................................................................................................ 89
6.
Seznam tabulek ......................................................................................................... 91
Stránka 3 z 91
Seminární práce k předmětu 4IT450
1. Úvod
Tato práce vznikla jako semestrální projekt studentů kurzu 4IT450 CASE. Obdobně jako další práce
z tohoto kurzu i tato navazuje na výstupy našich předchůdců. Vzhledem k tomu, že toto téma bylo
minulý rok zpracováno poprvé, měl náš tým rozsáhlé možnosti, kam určovat směr.
Rozhodli jsme se vypracovat tuto práci odlišně od našich předchůdců. Jejím smyslem je vytvoření
matice vývojových prostředí (IDE) a CASE nástrojů. Pro tento úkol jsme vybrali variantu širšího
spektra zástupců konkrétních řešení z obou zmíněných skupin. Snažili jsme se najít takové IDE a CASE,
která jsou v praxi běžné využívaná. Zároveň jsme nově zařadili i software, o kterém se předchozí
práce ještě nezmiňovaly. Jedná se jednak o nové nástroje profesionálního charakteru, jednak o
nástroje spíše výukové, a tudíž jednodušší. Tyto přehledy by podle našeho názoru měly pokrýt celou
škálu potřeb uživatelů, od začátečníků po senior vývojáře.
U každého IDE i CASE nástroje sledujeme řadu charakteristik. Mezi ty nejvýznamnější patří
podporované platformy, což určuje i název této práce, cena za licenci a možnosti konkrétního
produktu.
Klíčovým přínosem práce je zhodnocení možností spolupráce IDE na CASE – míra integrace.
Cíl práce
Hlavním cílem práce je analýza trhu s CASE nástroji a IDE, přehled jejich vlastností a možnosti jejich
vzájemné spolupráce v závislosti na platformě.
Struktura práce
Semestrální práce je rozdělena do několika částí. V úvodu popisujeme způsob zpracování a strukturu
této práce. Dále se práce dělí do dvou samostatných kapitol, které jednak obsahují vysvětlení
obecných vlastností a funkcí CASE nástrojů a integrovaných vývojových prostředí a také popisují
konkrétní vybrané produkty na současném trhu. Součástí kapitoly věnované IDE je i výňatek ze studie
společnosti EDC, která se již čtvrtým rokem zabývá hodnocením IDE z pohledu uživatelů. V závěrečné
části práce jsou popsány obecně možnosti a způsoby spolupráce IDE a CASE nástrojů a rovněž
praktické zkušenosti a výsledky našeho testování integrace vybraných produktů.
V následující kapitole jsou popsány všechny sledované parametry CASE nástrojů i integrovaných
vývojových prostředí (IDE), které jsou uvedeny a vyhodnocovány dále u jednotlivých produktů.
Parametry jsou rozděleny na základní charakteristiky společné oběma typům produktů a dále na
jednotlivé sledované vlastnosti specifické pro CASE nástroje, resp. IDE, u kterých jsme v některých
případech vzhledem k nejednotnosti používané v české terminologii zvolili zachování zavedených
anglických ekvivalentů, podrobnější popis charakteristik je uveden v následující části práce.
Společné sledované základní charakteristiky produktů
Název
Celý název hodnoceného produktu.
Výrobce
Název výrobce nebo autora produktu.
Stránka 4 z 91
Seminární práce k předmětu 4IT450
Licence
Typ licence, pod kterým je produkt šířen.
Edice
Pokud je produkt distribuován v různých edicích pro různé zaměření nebo s rozdílnou funkcionalitou,
je v hodnocení uveden kompletní přehled všech vydávaných verzí. V dalším hodnocení je popisována
zpravidla nejvyšší verze produktu, která podporuje nejširší funkcionalitu (např. v případě verzí
Standard a Enterprise apod.).
Cena
U placených produktů je uvedena jejich cena v EUR, případně rozmezí cen, ve kterém se pohybují
jednotlivé edice hodnoceného produktu.
Aktuální stabilní verze
Četnost vydávání nových verzí je pro uživatele jedním z vodítek při výběru vhodného nástroje,
v přehledu je proto uvedeno aktuální označení poslední stabilní verze i s datem jejího vydání.
Podporované platformy
Přehled všech platforem, pro které je produkt dostupný.
Minimální HW nároky
Základní minimální požadavky uváděné výrobcem produktu. Nutno podotknout, že uvedené nároky
jsou skutečně minimální pro spuštění produktu, pro efektivní práci jsou požadavky na hardwarovou
výbavu zpravidla značně vyšší.
Sledované parametry CASE nástrojů
Podporovaná verze UML
Od vývoje UML, který započal v roce 1994, byly vydány dvě hlavní verze – verze 1.0, vydána v roce
1997 a verze 2, vydána v roce 2005. V současné době je vydána verze 2.2 a ve fázi vývoje je verze 2.3.
Za těchto několik let doznalo UML několik rozšíření - interaktivní diagramy, prostředky pro business
modelování a zavedení OCL (Object Constraint Language). Nyní je specifikace UML rozdělena do
několika částí - UML Superstructure version 2.2, UML Infrastructure version 2.2, OCL version 2.0 a
UML Diagram Interchange version 1.0. Většina současných CASE nástrojů podporuje verzi 2.0.
Integrace do IDE
Integrace do IDE je jedno z velice důležitých kritérií při výběru CASE. Pokud budeme od CASE
nástroje požadovat jeho zapojení do technologického procesů vývoje projektů, musí existovat
návaznost mezi nástroji. Integrace nám umožní efektivnější předávání výstupů a výrazné urychlení
v případě změn či úprav. Nejnižší podobu můžeme nalézt například v podobě generování kódu či
reverse engineeringu. Úplná integrace mezi nástroji je většinou umožněna u robustních nástrojů
(balíků) pro vývoj software. Integrace může být i se software třetí strany.
Podporované notace
Nejvíce podporovanou notací je UML (Unified Modeling Language), do které byly promítnuty notace
historických metodik. UML se stala de facto standardem v oblasti objektově orientovaných analýz a
návrhů. Notace BPMN (Business Process Modeling Notation) je grafická notace (soubor grafických
Stránka 5 z 91
Seminární práce k předmětu 4IT450
objektů a pravidel, podle nichž mohou být mezi sebou spojovány) a slouží k modelování procesů.
Pomocí notace CSC (CSC Catalyst Notation) je možné vytvořit hierarchickou mapu procesů a diagramy
procesních řetězců a je vhodná jako první krok analýzy při automatizaci procesů. Notace IDEF3 (The
Integrated DEFinition) je vhodná pro modelování spíše na vyšší úrovni abstrakce.
Generování kódu
Jedna z velice užitečných vlastností CASE nástrojů-pokud nástroj tuto vlastnost obsahuje, je možné
vygenerovat zdrojový kód ve zvoleném programovacím jazyce. Nejčastěji tak bývá Java, C#, C++,
VB.NET, atd. Tato možnost zefektivňuje práci vývojářům a programátorům pomocí již
vygenerovaných částí kódu a zároveň snižuje možnost vytvoření chyby a to jak z nepozornosti, tak
z důvodu nedostatečné komunikace. Generování kódu může být také velmi užitečné při změnách či
opravách již stávajících řešení.
Reverzování kódu
Pomocí Reverzování kódu neboli reverse engineering je nám umožněno zahrnout do analýzy nebo
návrhu sytému již hotový zdrojový kód, který je pomocí tohoto procesu převeden do diagramů. Takto
vytvořené diagramy je možné považovat za součást systému. Pomocí reverse engineeringu dokážeme
zakomponovat do systému již hotové řešení a ušetřit tak čas. CASE nástroje jsou schopné generovat
diagramy z programovacích jazyků uvedených v části generování kódu (Java, C#, C++, VB.NET atd.).
Některé umožňují i generování z binárních souborů.
Podporované typy diagramů
CASE nástroje umožňují vytvářet množství diagramů, které se rozdělují dle způsobů užití. Některé
nástroje přidávají i nestandardní diagramy, které jsou specifické pouze pro určitou činnost. Nástroje
nejčastěji obsahují diagramy typu: diagramy balíčků (Package diagrams), diagramy tříd (Class
diagrams or Structural diagrams), objektové diagramy (Object diagrams),složenýé strukturní
diagramy (Composite Structure diagram), diagramy komponent (Component diagram), diagramy
nasazení (Deployment diagram), diagramy užití (Use case diagrams), diagramy aktivit (Activity
diagrams), stavové diagramy (State chart diagrams), komunikační diagramy (Communication
diagram), sekvenční diagramy (Sequence diagrams), časové diagramy (Timing diagrams) a diagramy
přehledu interakcí (Interaction overview diagrams).
Podporované typy DB
Pomocí CASE nástrojů můžeme vytvářet datové modely schémata, které lze poté vygenerovat pro
danou DB platformu, na které bude výsledný produkt/projekt postaven. Generování může
proběhnout i obecně například do SQL92 jazyka a tím získáme možnost vytvořit datový model
v jakékoliv SQL databázi. Kromě nejvíce používaných databází typu Oracle, IBM DB/2, MS SQL Server,
MySQL a PostgreSQL lze u některých produktů nalézt desítky dalších relačních databází, které CASE
nástroje podporují.
Validování modelů
Některé produkty umožňují validací modelů po syntaktické a logické stránce. Díky této vlastnosti lze
průběžně ověřovat funkčnost modelu a nejen tak snížit chybovost výstupů, ale i urychlit ladící a
testovací část projektu, které často bývají nejnáročnější a nejdelší.
Stránka 6 z 91
Seminární práce k předmětu 4IT450
Sledované parametry IDE
Debugger
Debugger je počítačový program určený pro testování a ověřování funkčnosti jiných programů.
Typicky poskytuje funkce jako krokování (provádění kódu programu po jednotlivých krocích),
přerušení vykonávání kódu pro prozkoumání stavu programu nebo proměnných ve vybraném
okamžiku, po provedení vybrané instrukce nebo dosažení určitého místa ve struktuře programu.
GUI builder
GUI builder, někdy též GUI designer, je nástroj, který vývojáři zjednodušuje tvorbu grafického
uživatelského rozhraní aplikace. Místo zdlouhavého ručního psaní parametrů a vlastností jednotlivých
prvků grafického rozhraní může vývojář k návrhu použít metodu drag-and-drop a WYSIWYG editory a
vývoj aplikace tak značně urychlit.
Profiler
Při vývoji software se Profiler (též Program profiler, Software profiler) používá jako forma dynamické
programové analýzy. Na rozdíl od statické analýzy (viz dále) je sledováno chování programového
kódu během svého vykonávání a jsou shromažďovány informace např. o jeho celkové rychlosti, o
využívání paměťového nebo diskového prostoru. Výsledky této analýzy jsou obvykle využívány pro
identifikaci slabých míst kódu a jeho optimalizaci.
Code Coverage
Code coverage je měřítko používané v softwarovém testování a určuje míru, do které je zdrojový kód
programu otestován. Při tomto způsobu testování je prověřován přímo programový kód, nikoliv např.
pouze vracené výstupy metod, proto se jedná o tzv. white-box testování. Code coverage je jednou
z prvních metod vyvinutých pro systematické testování programového kódu.
Autocomplete
Autocomplete, neboli automatické dokončování významně ovlivňuje přímočarost a jednoduchost
psaní programového kódu. Díky této funkci jsou programátorovi při psaní zdrojového kódu
automaticky nabízena pouze ta klíčová slova (názvy funkcí, proměnných, apod.), která jsou v daném
kontextu použitelná a smysluplná. Vedle značného zrychlení psaní kódu tato funkce také významně
snižuje možnost chyb způsobených překlepy či nepozorností programátora.
Static code analysis
Na rozdíl od dynamického testování (viz Profiler výše) je Static code analysis způsob testování
programového kódu bez vlastního spuštění aplikace, kterou kód tvoří. Static code analysis se většinou
provádí na různých verzích částí zdrojového kódu aplikace nebo objektů.
Class browser
Class browser je další významná funkcionalita integrovaných vývojových prostředí, která umožňuje
snadnou vizualizaci objektově orientovaného programového kódu. Vývojář tak může snadno
procházet navrženou strukturu objektů a sledovat vazby mezi nimi.
Týmová spolupráce
Při profesionálním vývoji aplikací zřídkakdy pracuje na projektu samostatně jeden vývojář, proto je
vhodná podpora týmové spolupráce nezbytností moderních vývojových prostředí. Jedná se zejména
o společné úložiště projektů pro všechny členy vývojového týmu. Společným úložištěm je zajištěno,
Stránka 7 z 91
Seminární práce k předmětu 4IT450
že všichni členové vývojového týmu mají k dispozici aktuální verzi vyvíjené aplikace a díky správě
verzí nedochází ke konfliktům různých zdrojových kódů. Některé nástroje nabízejí velmi rozsáhlou a
sofistikovanou podporu týmového vývoje i podle metodik vývoje software, např. s možností
definování různých rolí vývojových pracovníků (project manager, programátor, tester), správu a
přiřazování úkolů, komunikace mezi členy týmu, reportování chyb v aplikaci, apod.
Generování dokumentace
Každá vyvíjená aplikace by měla být řádně dokumentována a většina vývojových nástrojů se snaží
tuto často opomíjenou a podceňovanou činnost zjednodušit a zautomatizovat. U vybraných produktů
je hodnocena podpora tvorby technické dokumentace, ačkoliv některé nástroje umožňují i tvorbu
uživatelské dokumentace, v produkčním prostředí jsou však často pro tvorbu a údržbu uživatelské
dokumentace využívány specializované nástroje.
Technická podpora
U komerčních produktů je zpravidla technická podpora samozřejmostí. Pokud má být produkt určen
pro profesionální vývoj ve firemním prostředí, je nezbytná garantovaná kvalifikovaná podpora a navíc
jsou často nabízeny různé formy školení a certifikace vývojových pracovníků. U opensource produktů
je podpora zajištěna často komunitou uživatelů formou diskusních fór a specializovaných serverů.
Vysvětlení použitých symbolů v přehledech vlastností

Podporovaná/obsažená funkcionalita

Částečně podporovaná/obsažená funkcionalita

Nepodporovaná/neobsažená funkcionalita
n/a
Nezjištěno
Stránka 8 z 91
Seminární práce k předmětu 4IT450
2. CASE
Co to jsou CASE nástroje?
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 open-source projekty se svými nástroji.
Jaké máme druhy CASE nástrojů?
V této části se zaměříme především na jednotlivé fáze vývoje software a druhy CASE nástrojů, které
je možné v jednotlivých fázích použít. Plné využití potenciálu záleží mimo jiné také na vybrané
metodice.
Nejběžnější rozdělení CASE nástrojů vychází ze životního cyklu vývoje informačního systému. Na
následujícím obrázku je uveden výčet obecných názvů (typů):
•
•
•
•
•
Pre CASE
Upper CASE
Middle CASE
Lower CASE
Post CASE
Stránka 9 z 91
Seminární práce k předmětu 4IT450
Obrázek 1 – Typy CASE nástrojů (zdroj: www.dbsvet.cz)
Co CASE nástroje umožňují a jaký je přínos?
CASE nástroj je prostředkem, který primárně umožňuje:
•
•
•
•
•
modelování informačních systémů prostřednictvím diagramů
generování zdrojového kódu z vytvořeného modelu
zpětné vytvoření modelu z vygenerovaného zdrojového kódu
synchronizaci modelu a zdrojového kódu
vytvoření dokumentace z modelu
Druhotně CASE nástroj umožňuje týmovou spolupráci a vše, co je s ní spojeno. Jde především o:
•
•
•
•
sdílení rozpracovaných částí
sleduje konzistenci modelu
automatizuje některé procesy
kontroluje a hlídá dodržování zvolené metodiky
Přínos CASE nástrojů je patrný jak v oblasti finanční, tak i nefinanční. Mezi nefinanční přínosy patří
především:
•
•
•
•
Vyšší produktivita práce
Nižší chybovost
Snazší údržba a další vývoj výsledného produktu
Kvalitnější dokumentace
Stránka 10 z 91
Seminární práce k předmětu 4IT450
Z čeho se CASE nástroje skládají?
Složení CASE nástroje se vždy liší od typu a účelu použití. Obecně však můžeme říci, že každý
obsahuje obdobné komponenty. Dá se říci, že každá komponenta vyplývá z určitých požadavků, které
plynou z životního cyklu projektu a z požadavků, které si kladou samotní uživatelé.
•
•
•
•
Konzistentní grafické uživatelské rozhraní (GUI) – toto rozhraní by mělo být v souladu s
obecnými požadavky a zásadami, které se uplatňují při tvorbě GUI. Jde především o:
o jednotný vzhled obrazovek
o popisky tlačítek
o jednotné a intuitivní ovládání (doplněné o běžné i specifické klávesové zkratky)
o vhodně zvolený druh, velikost a typ písma
Centrální repository (databáze) pro ukládání informací o objektech, které se vytvoří a použijí
během životního cyklu projektu (tímto se zaručí to, že objekty mají vlastnost
znovupoužitelnosti)
Generátor zdrojových programů a dokumentace
Jednoduchý import/export dat (zde je kladen důraz na kompatibilitu výstupu jiných
programů a jejich snadnou importaci) (1)
Výběr vhodného CASE nástroje
Analýza a design softwarových produktů je ovlivněna několika faktory. Vedle míry znalosti postupů a
modelovacích technik stojí také faktor výběru vhodného CASE nástroje pro podporu vývojových
činností. Navrhované aplikace se stávají mnohem komplikovanějšími a provázanějšími. V současné
době je takřka nemožné vytvářet jednotlivé modely aplikací ručně, proto se klade velký důraz na
výběr nástroje, který dokáže podpořit vývoj aplikací a systémů již od prvních etap. Každá etapa
přitom vyžaduje určitý nástroj, přičemž na sebe jednotlivé etapy navazují nebo se dokonce prolínají.
Z tohoto důvodu musejí být jednotlivé nástroje provázané.
Nyní se dostáváme k problému, že ne všechny nabízené softwarové produkty zahrnují všechny typy
CASE nástrojů a ne vždy jsou všechny zapotřebí. Výběr je ovlivněn hlavně ze strany vedení projektu,
které musí zvážit, zda je vhodné použít všechny typy CASE nástrojů integrovaných do jednoho celku,
anebo pořídit více specializovaných CASE nástrojů. V druhém případě však nastává problém
provázanosti a integrace.
Při výběru CASE nástroje je dobré řídit se následujícími otázkami:
Vyhovuje nástroj požadavkům, které jsou spojeny s procesem vývoje informačního systému nebo
jiného softwarového produktu?
Nástroj by měl být schopen podporovat a používat zvolenou metodiku vývoje. Opačný přístup (tzn.
pořídit nástroj a poté zjišťovat, do jaké míry je schopen používat zvolenou metodiku a dle toho ji
vybírat) není zcela vhodný. U některých projektů a prostředí je tento způsob přímo nežádoucí.
Může být CASE nástroj integrován mezi ostatní nástroje, které jsou využívány během projektu?
Tato otázka nastává v případě, pokud nástroj není schopen podpory všech etap projektu, ve kterých
je tedy nutné dodržet konzistenci modelů a návrhů. Nástroj je pak možné snadno integrovat mezi
ostatní nástroje.
Stránka 11 z 91
Seminární práce k předmětu 4IT450
Je nástroj modulární?
Tato otázka je důležitá, stejně jako při výběru vhodného informačního systému, např. při pořízení IS
typu ERP. Ne vždy podnik využije všechny možnosti, které systém nabízí a stejné je to i u CASE
nástroje. Ne vždy je zapotřebí pořizovat všechny prostředky, je vhodné zvážit, jaké nástroje a funkce
se využijí a dle toho pořídit vhodný nástroj. Někdy se využívá možnosti licencování jednotlivých
modulů. Licence se pro určitý modul nakoupí pouze na danou dobu (např. vývoj), protože tento
modul není třeba využívat během celého vývoje IS.
Je možné nástroj modifikovat?
Každý projekt je jiný, proto je vhodné zvážit, zda CASE nástroj podporuje nějakou modifikaci a
customizaci, která vyplývá ze samotného vývoje IS a z procesů zavedených ve vývojové firmě.
Je uživatelské rozhranní kvalitní?
Nástroj by měl být schopen vhodně podporovat a obsahovat nápovědu, která se týká jak modelů, tak
i podporovaných metodik. Dále v dnešní době musí nástroj bezpodmínečně podporovat klávesové
zkratky. Mnoho vývojářů je v dnešní době již zvyklých pracovat co nejrychleji, a jisté klávesové
zkratky jsou samozřejmostí. Dále by měl CASE nástroj vycházet ze zažitých standardů ovládání (např.
vycházejících z MS Windows apod.).
Je nástroj schopný rozlišovat různé role uživatelů?
Jde o zpřístupnění relevantních informací pro určené typy uživatelů. Ne každý vývojář a člen
projektového týmu potřebuje přístup ke všem modelům a návrhům v CASE nástroji zpracovávaným,
vhodným přiřazením rolí se dá omezit rozsah zpřístupněného modelu i funkcí, které jsou uživateli
s danou rolí k dispozici.
Do jaké míry je nástroj schopný kontrolovat dodržování metodiky?
Nástroje již z větší části podporují kontrolu syntaxe programovacího jazyka. Dále by však měly
podporovat i kontrolu mezi diagramy anebo kontrolu postupů dle vybrané metodiky.
Podporuje nástroj vytváření dokumentace?
Nástroj by měl být schopen generovat dokumentaci dle stanovených pravidel nebo dle šablon, které
by měl nástroj také podporovat. Dokumentace DOC nebo HTML by měla být podporována
standardně, další formáty (Docbook, WinHelp) jsou podporovány závislosti na produktu.
Umožňuje nástroj generovat datové modely a modely do programovacích jazyků?
Pokud vybraný CASE nástroj podporuje datové modelování, měl by být schopen datový model také
vygenerovat. Je tedy vhodné zvážit, do jaké míry nástroj podporuje generování databázových dotazů
a v jakém databázovém jazyce.
Jaké možnosti engineeringu nástroj podporuje?
Mezi nejdůležitější typy engineeringu patří reverse engineering a nebo tzv. round trip engineering.
Prvně zmíněný umožňuje zahrnout do analýzy již zhotovený zdrojový kód, druhý umožňuje provádět
změny ve vygenerovaném kódu, přičemž se nenaruší vazba mezi vygenerovaným kódem a návrhem
systému.
Jaká je cena?
Jaká je technická a uživatelská podpora?
Placené školení, helpdesková podpora, komunitní diskusní fóra, apod.
Stránka 12 z 91
Seminární práce k předmětu 4IT450
V jakém národním jazyce je nástroj schopný pracovat?
Tato otázka se týká především jazyka, ve kterém je generována dokumentace. Nejde pouze o
přeložená menu apod.
Jaké jsou možnosti CASE nástrojů
CASE nástroje v současnosti umožňují celou škálu činností. Zde jsou zmíněny ty nejdůležitější:
Objektové modelování
Objektový přístup umožňuje definovat a modelovat případy použití, hraniční, datové, řídící a
doménové objekty. V rámci objektového modelování se nezabýváme pouze statickým modelováním
tříd, ale i interakcí a činností, které tyto třídy umožňují mezi sebou.
Porovnávání modelů
Součástí CASE nástrojů je i funkce porovnávání jednotlivých datových modelů. Je možné sledovat
rozdíly dle nejrůznějších kritérií.
Podpora spolupráce při vývoji
Jedná se zde především o podporu znovupoužitelnosti kódu, repository a verzování.
Automatické vytváření dokumentace
Takto vytvořená dokumentace umožňuje uživatelům sledovat v přehledné formě stav a informace o
vyvíjeném systému. Dokumentace je důležitým prvkem, protože vyhledávání potřebných informací
pouze z modelů je časově náročnější a ne všechny informace jsou v modelu obsaženy a jednoduše
zobrazitelné.
Generování zdrojového kódu
Velmi často používaná funkce je vygenerování zdrojového kódu z definovaných modelů. Nástroj je
schopný vygenerovat základní zdrojový kód (model tříd a metod) pro vyvíjenou aplikaci, z datového
modelu je schopný vygenerovat skripty pro vytvoření databáze.
Engineering
Jde o již výše zmíněný reverse engineering a round trip engineering.
Návrh vícerozměrných témat
Další oblíbenou možností je vytváření různých databázových schémat, díky tomu je možné vytvořit
podmínky pro nasazení nástrojů, které se používají pro získávání a transformaci dat a plnění datových
skladů.
Procesní modelování
Jednou z funkcí je také procesní modelování. Jde o podporu diagramů datových toků.
Sledování a podpora životního cyklu
Nástroje umožňují sledovat model již od počátku (vytváření požadavků) až po samotnou
implementaci, nasazení a následnou údržbu hotového produktu.
Správa požadavků uživatelů
Rozhodujícím faktorem již v samotném počátku vývoje softwarových produktů jsou požadavky
uživatelů. Není možné specifikovat veškeré požadavky na začátku vývoje, požadavky se mění a
vyvíjejí a CASE nástroje umožňují tyto požadavky evidovat a sledovat. Výstupem často bývají
uživatelské scénáře, diagramy užití, aktivit, apod.
Stránka 13 z 91
Seminární práce k předmětu 4IT450
Přehled vybraných CASE nástrojů
Borland Together 2007
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 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é 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. (2) (3)
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
Together
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 produktu: http://www.borland.com/us/products/together/index.html
 Informace na Wikipedia: http://en.wikipedia.org/wiki/Borland_Together
Stránka 14 z 91
Seminární práce k předmětu 4IT450
Ukázka rozhraní aplikace
Obrázek 2 – Borland Together – ukázka kódu v Javě
Obrázek 3 – Borland Together – Class diagram
Stránka 15 z 91
Seminární práce k předmětu 4IT450
Sybase PowerDesigner 15
Stručný popis
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. (4) (5)
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
Odkazy a zdroje informací
 Oficiální stránka produktu: http://www.sybase.com/powerdesigner
 Informace na Wikipedia: http://en.wikipedia.org/wiki/PowerDesigner
Stránka 16 z 91
Seminární práce k předmětu 4IT450
Ukázka rozhraní aplikace
Obrázek 4 – PowerDesigner – ukázka Business process diagramu
Obrázek 5 – PowerDesigner – ukázka diagramu tříd
Stránka 17 z 91
Seminární práce k předmětu 4IT450
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 (i zpětný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. (6) (7)
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
Altova UModel 2010
Altova GmbH
Proprietární
Enterprise
Professional
$149 (Enterprise) - $99 (Professional)
12.0.0
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 3 – 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
Stránka 18 z 91
Seminární práce k předmětu 4IT450
Ukázka rozhraní aplikace
Obrázek 6 – UModel – Ukázka Class Diagramu a Use Case Diagramu v Altova UModel
Obrázek 7 – UModel – ukázka SysML Internal Block Diagramu v Altova UModel
Stránka 19 z 91
Seminární práce k předmětu 4IT450
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. (8) (9)
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
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 Diagram, TQM
Diagram, Work Flow Diagram, XML Diagram
Microsoft SQL Server, Microsoft Access




Tabulka 4 – 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
Stránka 20 z 91
Seminární práce k předmětu 4IT450
Ukázka rozhraní aplikace
Obrázek 8 – Visio – ukázka procesu
Obrázek 9 – Visio – ukázka workflow
Stránka 21 z 91
Seminární práce k předmětu 4IT450
ArgoUML
Stručný popis
ArgoUML je CASE nástroj sloužící pro vytváření UML diagramů. Naposledy byl v
obdobě této práce popisován na podzim 2008. Popisována byla verze 0.26.2, v
současnosti je aktuální verze 0.28.1, která vyšla 17. srpna 2009. ArgoUML umí
pracovat se všemi standardními UML diagramy. Stále je aktuální podporováno UML
1.4. Ve vývoji je podpora UML 2.2, která se má poprvé objevit v ArgoUML 0.29.1. (U některých typů
diagramů v současnosti nejsou ještě naimplementovány všechny prvky podle specifikace UML 1.4).
Software je poskytován pod otevřenou licencí BSD. Nástroj je možné vyzkoušet přímo z webu
projektu spuštěním přes Java Web Start. Software je stále ve vývoji formou otevřeného projektu, do
kterého se může připojit každý. Nevýhodou tohoto přístupu je stav dokumentace zaostávající za
stavem kódu a nepřítomnost komerční uživatelské podpory. Firma Gentleware poskytuje produkt
Poseidon for UML založený na ArgoUML aktuálně ve verzi 6.0 z roku 2007.
AgroUML nemá validaci modelů jako takovou, místo ní má vlastnost zvanou „kritici“. Jde o soubor
pravidel, která jsou kontrolována na pozadí. Při jejich porušení je uživatel upozorněn, kontrolu
jednotlivých pravidel lze samozřejmě vypnout. Snahou je, aby uživatel získal správné návyky
postupným učením se. Žádná pravidla mu ale nejsou vnucena, a naopak uživatel si může definovat
vlastní (např. firemní standardy). (10) (11)
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
ArgoUml
Open source projekt
BSD
$0
0.28.1 (08/2009)
JVM, Java Web Start
RAM 128MB, HDD 60 MB
1.4
Samostatná aplikace
UML
C++ a C#, Java, PHP4, PHP5, Python, Ruby a, částečně i Ada,
Delphi a SQL
Java
Class, Statechart, Activity, Use Case, Collaboration, Deployment
diagram (Object a Component v jednom), Sequence
PostgresSQL, MySQL, Orace, Obecná (modul DB-UML)




Tabulka 5 – Přehled vlastností ArgoUML
Odkazy a zdroje informací
 Oficiální stránka produktu: http://argouml.tigris.org
 Informace na Wikipedia: http://en.wikipedia.org/wiki/ArgoUML
Stránka 22 z 91
Seminární práce k předmětu 4IT450
Ukázka rozhraní aplikace
Obrázek 10 – ArgoUML – vytváření diagramu
Obrázek 11 – ArgoUML – Správa "kritiků"
Stránka 23 z 91
Seminární práce k předmětu 4IT450
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 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. (12)
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 6 – Přehled vlastností TopCased
Odkazy a zdroje informací
 Oficiální stránka produktu: http://www.topcased.org
Stránka 24 z 91
Seminární práce k předmětu 4IT450
Ukázka rozhraní aplikace
Obrázek 12 – TopCased – Ukázka UML editoru se sequence diagramem
Obrázek 13 – TopCased – Ukázka rozhraní s diagramem tříd
Stránka 25 z 91
Seminární práce k předmětu 4IT450
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 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. (13)
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 7 – Přehled vlastností MosKITT
Odkazy a zdroje informací
 Oficiální stránka produktu: http://www.moskitt.org
Stránka 26 z 91
Seminární práce k předmětu 4IT450
Ukázka rozhraní aplikace
Obrázek 14 – MosKITT – Ukázka databázového diagramu
Obrázek 15 – MosKITT – Ukázka Use case diagramu
Stránka 27 z 91
Seminární práce k předmětu 4IT450
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 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. (14)
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 8 – Přehled vlastností Acceleo
Odkazy a zdroje informací
 Oficiální stránka produktu: http://www.acceleo.org
Stránka 28 z 91
Seminární práce k předmětu 4IT450
Ukázka rozhraní aplikace
Obrázek 16 – Acceleo – Ukázka stromového zobrazení v Reflective editor
Obrázek 17 – Acceleo – WebLog UML2 model
Stránka 29 z 91
Seminární práce k předmětu 4IT450
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, 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ů. (15) (16)
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
Visual Paradigm International Ltd.
komerční software
Enterprise, Professional, Standard, Modeler, Personal,
Community Edition
$0 - $1399
7.1 (11/2009)
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 9 – Přehled vlastností Visual Paradigm
Odkazy a zdroje informací
 Oficiální stránka produktu: http://www.visual-paradigm.com/product/vpuml/
 Informace na Wikipedia: http://en.wikipedia.org/wiki/Visual_Paradigm_for_UML
Stránka 30 z 91
Seminární práce k předmětu 4IT450
Ukázka rozhraní aplikace
Obrázek 18 – Visual Paradigm – Use Case Diagram
Obrázek 19 – Visual Paradigm – Procesní mapa
Stránka 31 z 91
Seminární práce k předmětu 4IT450
Umbrello UML Modeller
Stručný popis
Umbrello UML Modeller je freewarový CASE nástroj dostupný nativně pro Unix
operační systémy a specializovaný čistě na editaci UML. Je součástí linuxového
KDE, avšak lze ho úspěšně nainstalovat a používat samostatně i v dalších
prostředích. Podporuje práci s veškerými běžně používanými UML diagramy
včetně reverse engineering, generování kódu a exportu obsahu modelů do
XHTML a DocBook formátu. Nelze ho však doporučit jako profesionální nástroj pro vývojářský tým,
jelikož týmovou spolupráci nijak nepodporuje. Jedná se spíš o nástroj vhodný pro jednotlivce na
menší softwarové projekty. (17) (18)
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
Umbrello
The Umbrello Team
GPL
$0
2.3.0 (08/2009)
Linux (součást KDE), Mac OS
n/a (KDE: 512 MB RAM, 1GHz CPU)
2.0

UML
ActionScript, Ada, C#, C++, D, IDL, Java, JavaScript, Pascal, Perl,
PHP, Python, Ruby, SQL,Tcl, XML Schema
C++, IDL, Pascal/Delphi, Ada, Python, and Java, a import XMI
Use Case, Class, Sequence, Collaboration, State, Activity, Helper
Elements, Component, Deployment Diagrams

n/a



Tabulka 10 – Přehled vlastností Umbrello UML Modeller
Odkazy a zdroje informací
 Oficiální stránka produktu: http://uml.sourceforge.net/
 Informace na Wikipedia: http://en.wikipedia.org/wiki/Umbrello_UML_Modeller
Stránka 32 z 91
Seminární práce k předmětu 4IT450
Ukázka rozhraní aplikace
Obrázek 20 – Umbrello UML – ukázka produktu na Mac OS
Obrázek 21 – Umbrello UML – ukázka produktu na Ubuntu
Stránka 33 z 91
Seminární práce k předmětu 4IT450
3. IDE
Co je to IDE?
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
Funkce editoru zdrojového kódu je naprosto jasná – umožňuje psát programový kód v daném
programovacím jazyce. Často podporuje zvýrazňování syntaxe například odlišnou barvou či typem
písma. Umožňuje kód strukturovat do systematických bloků z důvodu větší přehlednosti.
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ší, 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.
Důvodem vzniku IDE softwaru bylo zvýšení efektivity práce vývojáře. Jedná se o dnes tolik ceněný
princip integrace několika softwarových komponent do jednoho mocného nástroje. Programátor má
vše po ruce, nemusí přepínat mezi dílčími proprietárními řešeními.
Je však potřeba vzít v potaz, že se jedná o software. Tudíž aby mohl být plně užívaný, musí ho nejprve
programátor pochopit a naučit se ho, což znamená další práci navíc, která mu však ve výsledku může
ušetřit spoustu hodin zbytečného úsilí například při hledání chyby v kódu.
Editor zdrojového kódu zvládá zvýrazňování syntaxe, díky zabudovanému kompilátoru/interpretu
jazyka upozorňuje IDE na některé chyby přímo při psaní programu. V případě chyby při překladu bývá
problémové místo okamžitě označeno v textovém editoru, stejně jako krokování programu pomocí
debuggeru se odehrává ve stejném prostředí.
Velmi často je IDE vázáno na konkrétní programovací jazyk. Důvod je jednoduchý – snaha podpořit
možnosti daného jazyka na nejvyšší možné úrovni. Nicméně nejvyužívanější vývojová prostředí jako
například Eclipse, Netbeans či Visual Studio od Microsoftu jsou multijazyková prostředí. Další
programovací jazyky lze obvykle do IDE nahrát formou pluginů.
Tato vývojová prostředí jsou z hlediska ergonomie řešena velmi obdobně – není příliš těžké zvyknout
si například z Eclipse na Netbeans. Ovšem to se týká zejména rozsáhlých IDE. Menší vývojová
Stránka 34 z 91
Seminární práce k předmětu 4IT450
prostředí, která nenabízí tolik možností, jsou úzce spjatá s konkrétním programovacím jazykem a mají
daný účel – například výuka programování.
Nezřídka mají IDE další zabudované funkce (podpora kooperace, propojení na systém správy verzí).
Jsou to tedy profesionální nástroje vhodné pro celý vývojářský tým. Další možnosti IDE jsou často
řešeny modulárně – uživatel si tedy může vybrat, co všechno chce, aby jeho vývojové prostředí
podporovalo. (19)
Stránka 35 z 91
Seminární práce k předmětu 4IT450
Přehled vybraných IDE
Microsoft Visual Studio
Stručný popis
MS Visual Studio je oblíbené a zdaleka nejpoužívanější (údajně
s dvojnásobným počtem uživatelů ve srovnání s konkurenčními
IDE)1 univerzální integrované vývojové prostředí určené pro vývoj
klasických či webových aplikací a služeb pro různé platformy
podporované Microsoftem (Windows, Windows Mobile, Windows CE, .NET Framework, .NET
Compact framework, Silverlight) v různých programovacích jazycích. Standardně jsou podporovány
jazyky C/C++, VB.NET a C#, instalací tzv. „language services“ lze však doplnit podporu různé úrovně i
dalších jazyků, jako např. F#, M, Python nebo Ruby. Zmíněné Language services jsou jen speciálním
typem rozšiřujících pluginů, které do Visual Studio mohou jednoduše doplnit chybějící funkcionalitu a
rozšířit stávající.
Visual Studio je nabízeno ve velkém počtu různých edic zaměřených jak na různé platformy, tak na
různé segmenty trhu vývoje aplikací, od studentů a jednotlivců až po největší vývojové podniky. I tato
politika (mimo kvality produktu samotného) přispívá k jeho velkému rozšíření a využívání
v produkčním prostředí, podívejme se tedy trochu podrobněji na možnosti jednotlivých edic VS
v následující tabulce:
VS Express
Rozšiřitelnost
Externí nástroje
Nastavení projektů
Integrace MSDN
Class designer
Refactoring
Debugging
Nativní podpora 64b
Podpora Itanium CPU
VS Tools for Office
Vývoj pro Win Mobile











VS Standard










VS Professional











VS Team System











Tabulka 11 – Porovnání možností jednotlivých edic Visual Studio (zdroj: wikipedia.org)
V současné době je vyvíjena nová verze Visual Studio 2010 s kódovým označením „Hawaii“, aktuálně
ve verzi Beta 2, která je bezplatně ke stažení k testovacím účelům. Kromě rozšíření nativně
podporovaných programovacích jazyků, vylepšeného uživatelského rozhraní je očekávána především
podpora nového frameworku (.NET Framework 4.0) pro vývoj aplikací na platformě Windows 7,
podpora práce i s jinými databázovými systémy, než MS SQL Server (IBM DB2 a Oracle) a vylepšení
nástrojů pro podporu paralelního programování aplikací pro vícejádrové procesory. Visual Studio
2010 ve verzi Team System (kódové označení „Rosario“) má nabídnout vylepšenou podporu celého
životního cyklu aplikace, od návrhu pomocí nových modelovacích nástrojů podporujících UML, až
např. po novou funkci Test Impact Analysis, tedy analýzu dopadů změn části zdrojového kódu na
ostatní části aplikace. Vydání nové verze Visual Studio je ohlášeno na 22. březen 2010. (20) (21)
1
Dle Evans Data Corp. – Users‘ Choice: 2009 Software Development platforms, viz (42)
Stránka 36 z 91
Seminární práce k předmětu 4IT450
Přehled vlastností
Název
Výrobce
Licence
Edice
Microsoft Visual Studio
Microsoft
Proprietární – Microsoft EULA
Cena
Aktuální stabilní verze
Podporované platformy
Minimální HW nároky
Debugger
GUI builder
Profiler
Code Coverage
Autocomplete
Static code analysis
Class browser
Týmová spolupráce
Generování dokumentace
Technická podpora
$0 - $10939
2008 SP1 (08/2008)
Windows (Server 2003, Vista, XP)
CPU 1.6 GHz, RAM 384MB (768MB pod Win Vista), HDD 2.2 GB










VS Express; VS 2008 Standard Edition; VS 2008 Professional Edition;
VS Team System 2008 Team Foundation Server; VS Team System
2008 Database Edition; VS Team System 2008 Architecture Edition; VS
Team System 2008 Test Edition; VS Team System® 2008 Development
Edition; VS Team System 2008 Team Suite; VS Team System 2008
Team Foundation Server External Connector License; VS Team System
2008 Test Load Agent; VS Team System 2008 Team Foundation Server
Client Access License
Tabulka 12 – Přehled vlastností Microsoft Visual Studio
Odkazy a zdroje informací
 Oficiální stránka produktu: http://msdn.microsoft.com/cs-cz/vstudio
 Informace na Wikipedia: http://en.wikipedia.org/wiki/Microsoft_Visual_Studio
Stránka 37 z 91
Seminární práce k předmětu 4IT450
Ukázka rozhraní aplikace
Obrázek 22 – Visual Studio – Ukázka editace zdrojového kódu a automatického dokončování
Obrázek 23 – Visual Studio – Ukázka diagramu tříd
Stránka 38 z 91
Seminární práce k předmětu 4IT450
Oracle JDeveloper
Stručný popis
JDeveloper je šířen jako freewarové IDE společností Oracle. Původně
byl JDeveloper vyvíjen jako licencovaný produkt firmy Borland, v roce
2001 však Oracle JDeveloper kompletně od základů přepsal v Javě a
nyní již neobsahuje z původního kódu nic. JDeveloper není již „pouhé“ IDE, ale je vyvíjen jako
kompletní platforma pro vývoj a správu všech produktů ze široké rodiny Oracle. Podporuje především
vývoj aplikací v jazyce Java a technologie spojené s webovým prostředím od XML, JavaScript, BPEL,
PHP, SOA a další. Silnou stránkou JDeveloperu je také velmi dobrá podpora frameworků, je dodáván
s Oracle Application Framework, který významně zjednodušuje vývoj v celém životním cyklu aplikace
se zaměřením na vizuální přístup od návrhu pomocí UML nástrojů, přes kódování, testování,
optimalizaci, analýzu až po nasazení. JDeveloper je také velmi silný nástroj pro práci s databázemi,
v současnosti se dá říci, že je v oblasti návrhu a integraci databází bezkonkurenční. Je velmi úzce
svázán s prostředím databází Oracle (pochopitelně), po nedávné akvizici se společností Sun se však dá
brzy očekávat rozšíření podpory vývoje a správy dalších databázových systému, především MySQL
zmíněné společnosti Sun. Oblast, kde by podle některých měl Oracle více zapracovat, je především
integrace a podpora nástrojů třetích stran a vylepšení možností paralelního programování, po
zmiňované akvizicí se však předpokládá převzetí některých technologií právě od firmy Sun. (22) (23)
Přehled vlastností
Název
Výrobce
Licence
Edice
Cena
Aktuální stabilní verze
Podporované platformy
Minimální HW nároky
Debugger
GUI builder
Profiler
Code Coverage
Autocomplete
Static code analysis
Class browser
Týmová spolupráce
Generování dokumentace
Technická podpora
Oracle JDeveloper
Oracle
Proprietární – OTN JDeveloper License
Java Edition; Studio Edition
$0
11g build 5407 (07/2009)
Windows (2000 SP4, NT SP6a, XP SP1), Linux, Solaris,
MAC OS X, HP-UX
CPU 866 MHz, RAM 512MB, HDD 230 MB










Tabulka 13 – Přehled vlastností Oracle JDeveloper
Odkazy a zdroje informací
 Oficiální stránka produktu: http://www.oracle.com/technology/products/jdev/index.html
 Informace na Wikipedia: http://en.wikipedia.org/wiki/JDeveloper
Stránka 39 z 91
Seminární práce k předmětu 4IT450
Ukázka rozhraní aplikace
Obrázek 24 – JDeveloper – Zobrazení průběhu procesu
Obrázek 25 – JDeveloper – Integrovaný verzovací systém
Stránka 40 z 91
Seminární práce k předmětu 4IT450
JBuilder
Stručný popis
Historie integrovaného vývojového nástroje JBulider se píše od roku 1995, kdy
technologický svět zaujala Java a její možnosti. Její příchod zaznamenali i ve
společnosti Borland, která za vývojem produktu JBulider stojí. Původně byl
JBuilder psán převážně v Delphi, od verze 3.5 (v roce 2000) je však kompletně
založen na platformě Java a z toho vyplynula i možnost rozšiřování a
přizpůsobování základního IDE pomocí tzv. OpenTools, což umožnilo společnosti
Oracle vyvinout vlastní IDE s názvem JDeveloper (viz výše). Hlavní síla JDeveloperu spočívá především
ve vývoji J2EE aplikací, webových služeb a JSP, nepříliš obvyklá je také podpora techniky extrémního
programování, které u konkurenčních produktů příliš k vidění není. Další nespornou výhodou je silné
provázání s dalšími nástroji společnosti Borland, např. Optimizeit pro optimalizování a profilování
vyvíjených aplikací. Borland se však od roku 2005 věnuje spíše podpoře platformy Eclipse a stal se
také jedním ze zakládajících členů Eclipse Foundation, další vývoj JBulideru byl tedy svěřen dceřiné
společnosti CodeGear, která byla nedávno koupena společností Embarcadero Technologies. (24) (25)
Přehled vlastností
Název
Výrobce
Licence
Edice
Cena
Aktuální stabilní verze
Podporované platformy
Minimální HW nároky
Debugger
GUI builder
Profiler
Code Coverage
Autocomplete
Static code analysis
Class browser
Týmová spolupráce
Generování dokumentace
Technická podpora
JBuilder
Borland/CodeGear
Proprietární
Enterprise Edition; Professional Edition
£0 - £1071
2008 R2 (04/2008)
Windows (2003 Server, XP SP3, Vista SP1) MAC OS X 10.5,
Linux, Solaris
CPU 2.4 GHz, RAM 512MB (Professional) / 1GB (Enterprise),
HDD 700 MB (Professional) / 1.2 GB (Enterprise)










Tabulka 14 – Přehled vlastností JBuilder
Odkazy a zdroje informací
 Oficiální stránka produktu: http://www.embarcadero.com/products/jbuilder
 Informace na Wikipedia: http://en.wikipedia.org/wiki/JBuilder
Stránka 41 z 91
Seminární práce k předmětu 4IT450
Ukázka rozhraní aplikace
Obrázek 26 – JBulider – Editace zdrojového kódu s vyznačením úkolů k dokončení
Obrázek 27 – JBuilder – Ukázka diagramu tříd
Stránka 42 z 91
Seminární práce k předmětu 4IT450
IBM Rational Application Developer
Stručný popis
Samotné IDE, tedy Rational Application Developer (dále RAD) je
součástí portfolia produktů firmy IBM z rodiny Rational Tools Suite, do
které je integrována řada dalších produktů podporujících vývoj aplikací na frameworku Jazz od
prvotní fáze sběru požadavků na aplikaci, přes její architekturu a vývoj až k jejímu testování a
nasazení a dále k řízení změn v aplikaci a správy její údržby. RAD je základním kamenem ve struktuře
nástrojů, které IBM nabízí pro vývoj software – pomocí RAD je možné kódový i vizuální přístup k práci
se zdrojovými kódy Java, JavaEE, JSF a JSP, UML, XML, webovými službami nebo s databázovými
technologiemi ve fázi vývoje a je úzce svázán s dalšími nástroji pro další fáze životního cyklu aplikace
– např. s Rational Software Architect pro modelování vztahů mezi aplikacemi SOA, Rational Asset
Manager pro sdílení výsledků práce se členy vývojového týmu, Rational Team Concert pro
kolaborativní implementaci a testování vyvinutých aplikací nebo s ClearCase či ClearQuest pro řízení
práce týmu a správu společného úložiště. Podle již zmiňované studie Evans Data Corp. – Users‘
Choice: 2009 Software Development platforms (viz zdroje na konci práce) se za poslední čtyři roky,
kdy se sleduje spokojenost uživatelů s IDE nástroji se RAD třikrát umístil na prvním místě, což jistě o
kvalitách tohoto nástroje leccos vypovídá. Za oblíbeností tohoto produktu nemalou měrou stojí
přehledné uživatelské rozhrání a skvělé vizuální modelovací nástroje, profesionální podpora 24/7, což
je v podnikovém prostředí důležitý faktor, nebo i možnost rozšíření pomocí pluginů pro Eclipse, ze
kterého RAD vychází. Kritika RAD na druhou stranu často zmiňuje jeho vysokou cenu (vzhledem
k jeho původu v opensource produktu) a vysoké hardwarové nároky. (26) (27)
Přehled vlastností
Název
Výrobce
Licence
Edice
Cena
Aktuální stabilní verze
Podporované platformy
Minimální HW nároky
Debugger
GUI builder
Profiler
Code Coverage
Autocomplete
Static code analysis
Class browser
Týmová spolupráce
Generování dokumentace
Technická podpora
IBM Rational Application Developer for WebSphere Software
IBM
Proprietární – IBM EULA
$2150 - $7800
7.5.3 (06/2009)
Windows, Mac OS X, Linux, Solaris, AIX
CPU 800 MHz, RAM 1 GB, HDD 3.5 GB










Tabulka 15 – Přehled vlastností IBM Rational Application Developer
Odkazy a zdroje informací
 Oficiální stránka produktu: http://www.ibm.com/software/awdtools/developer/application
 Informace na Wikipedia: http://en.wikipedia.org/wiki/Rational_Application_Developer
Stránka 43 z 91
Seminární práce k předmětu 4IT450
Ukázka rozhraní aplikace
Obrázek 28 – RAD – Integrovaný verzovací systém
Obrázek 29 – RAD – Editace zdrojového kódu
Stránka 44 z 91
Seminární práce k předmětu 4IT450
NetBeans
Stručný popis
NetBeans byl původně vyvíjen od roku 1996 pod názvem Xelfi na
pražské matematicko-fyzikální fakultě Univerzity Karlovy, v roce
1997 byla představena první komerční verze NetBeans IDE a v roce
1999 došlo k odprodeji NetBeans společnosti Sun Microsystems, která jej nyní šíří jako opensource a
investuje do jeho rozvoje trochu na úkor dalšího svého produktu Sun Java Studio. NetBeans
poskytuje IDE i platformu pro vývoj všech typů Java aplikací (J2SE, webové, EJB i mobilní aplikace) a je
distribuován v různých verzích zaměřených i na další programovací jazyky (např. NetBeans IDE bundle
for Ruby, Mobility, C/C++ nebo PHP), distribuce pod názvem NetBeans IDE Complete Bundle
obsahuje veškerou dostupnou funkcionalitu. Uživatelé kladně hodnotí především širokou podporu
programovacích jazyků, kvalitu nástroje Matisse zjednodušující návrh GUI, silnou podporu vývoje
webových aplikací, jednoduchou instalaci s možností téměř okamžitě začít vyvíjet bez nutnosti
složitého nastavování a přizpůsobování, kvalitní dokumentaci a komunitu schopných vývojářů,
stojících za produktem NetBeans. Po nedávné akvizici společnosti Sun, kterou koupil Oracle, je nyní
otázkou, jak bude vývoj pokračovat, jak se však zdá, nehrozí jeho ukončení, pravděpodobně dojde
spíše k integraci některých součástí a prvků do nástroje Oracle JDeveloper. (28) (29)
Přehled vlastností
Název
Výrobce
Licence
Edice
Cena
Aktuální stabilní verze
Podporované platformy
Minimální HW nároky
Debugger
GUI builder
Profiler
Code Coverage
Autocomplete
Static code analysis
Class browser
Týmová spolupráce
Generování dokumentace
Technická podpora
NetBeans IDE
Sun Microsystems
Proprietární – CDDL, GPL2
NB IDE Bundle for Web & Java EE; NB IDE Bundle for Ruby; NB
IDE Bundle for Mobility; NB IDE Bundle for C/C++; NB IDE
Bundle for PHP; NB IDE Bundle for JavaFX; NB IDE Starter Kit;
NB IDE Complete Bundle; NB IDE Bundle for Python
$0
6.7.1 (07/2009)
Windows, Mac OS X, Linux, Solaris
CPU 800 MHz, RAM 1 GB, HDD 3.5 GB










Tabulka 16 – Přehled vlastností NetBeans
Odkazy a zdroje informací
 Oficiální stránka produktu: http://www.netbeans.org
 Informace na Wikipedia: http://en.wikipedia.org/wiki/NetBeans
Stránka 45 z 91
Seminární práce k předmětu 4IT450
Ukázka rozhraní aplikace
Obrázek 30 – NetBeans – Ukázka tvorby uživatelského rozhraní pomocí GUI designeru
Obrázek 31 – NetBeans – Založení nového projektu
Stránka 46 z 91
Seminární práce k předmětu 4IT450
BlueJ
Stručný popis
BlueJ je vývojové prostředí pro programovací jazyk Java původně vyvinutý
na australské Monash University v Melbourne a nyní je dále vyvíjen na
britské University of Kent a na Deakin University v Melbourne pod
vedením duchovního otce tohoto produktu Michaelem Köllingem. BlueJ je
určen především pro snadnou výuku a pochopení objektově
orientovaného programování, dá se však i přes svá omezení použít i pro
malé projekty komerčního charakteru. Pro profesionální vývojáře je maximální jednoduchost, až
strohost uživatelského prostředí nedostatkem, pro potřeby výuky je to však naopak nesporná
výhoda. GUI programu se skládá v podstatě pouze z diagramu struktury vytvořených tříd a jejich
vztahů a z editačního okna pro úpravu zdrojového kódu vybraného objektu. Z dalších podporovaných
funkcí lze jmenovat např. regresní testování pomocí JUnit testů, základní podpora týmové spolupráce
integrací CVS nebo Subversion, nebo podpora rozšíření funkcionality pomocí zásuvných modulů.
Hlavní nedostatky, které BlueJ diskvalifikují z profesionálního použití jsou především absence live
kontroly psaného kódu a tedy vznikajících chyb, automatické dokončování psaného kódu nebo
návrhy pro opravu varování a chyb vzniklých při kompilaci programu. (30) (31)
Přehled vlastností
Název
Výrobce
Licence
Edice
Cena
Aktuální stabilní verze
Podporované platformy
Minimální HW nároky
Debugger
GUI builder
Profiler
Code Coverage
Autocomplete
Static code analysis
Class browser
Týmová spolupráce
Generování dokumentace
Technická podpora
NetBeans IDE
Michael Kölling
GNU GPL
$0
2.5.3 (10/2009)
Windows, Mac OS X, Linux, Solaris
CPU 400MHz, RAM 128 MB, HDD 5MB










Tabulka 17 – Přehled vlastností BlueJ
Odkazy a zdroje informací
 Oficiální stránka produktu: http://www.bluej.org
 Informace na Wikipedia: http://en.wikipedia.org/wiki/BlueJ
Stránka 47 z 91
Seminární práce k předmětu 4IT450
Ukázka rozhraní aplikace
Obrázek 32 – BlueJ – Základní rozhraní nástroje s diagramem tříd
Obrázek 33 – BlueJ – Editace zdrojového kódu
Stránka 48 z 91
Seminární práce k předmětu 4IT450
Eclipse
Stručný popis
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. Velmi zásadní prvek hraje i podpora CVS,
subversion (plugin). Eclipse je bez nadsázky jedno z nejužívanějších vývojových prostředí vůbec.
Komunita uživatelů se stará o jeho další rozvoj a integraci. Zkušenosti zpracovatelského týmu této
práce jsou takové, že Eclipse je svižné, robustní prostředí, které má před sebou jistě další podporu ze
strany uživatelů. (32) (33)
Přehled vlastností
Název
Výrobce
Licence
Edice
Cena
Aktuální stabilní verze
Podporované platformy
Minimální HW nároky
Debugger
GUI builder
Profiler
Code Coverage
Autocomplete
Static code analysis
Class browser
Týmová spolupráce
Generování dokumentace
Technická podpora
Eclipse
Eclipse Foundation
EPL
Eclipse Classic; Eclipse IDE for Java EE Developers; Eclipse IDE
for Java Developers; Eclipse IDE for C/C++ Developers; Eclipse
for PHP Developers; Eclipse IDE for Java and Report
Developers; Eclipse for RCP/Plug-in Developers; Eclipse
Modeling Tools (includes Incubating components); Pulsar for
Mobile Java Developers; Eclipse SOA Platform for Java and SOA
Developers
$0
3.5.1 (Classic – 10/2009)
Windows, Mac OS X, Unix, Linux, Solaris
CPU 500MHz, RAM 512 MB, HDD 162MB










Tabulka 18 – Přehled vlastností Eclipse
Odkazy a zdroje informací
 Oficiální stránka produktu: http://www.eclipse.org/
 Informace na Wikipedia: http://en.wikipedia.org/wiki/Eclipse_(Software)
Stránka 49 z 91
Seminární práce k předmětu 4IT450
Ukázka rozhraní aplikace
Obrázek 34 – Eclipse – XML v Eclipse
Obrázek 35 – Eclipse – Package Explorer
Stránka 50 z 91
Seminární práce k předmětu 4IT450
MyEclipse
Stručný popis
MyEclipse je zástupcem vývojových prostředí z komerčních řad. Je vyvíjen
pod záštitou firmy Genuitec, která je jedním ze zakladatelů Eclipse
Foundation. Z toho plyne rovněž jeho pozice – je postaven na platformě
Eclipse. Jedná se tedy rovněž o prostředí Javy, umožňující práci s HTML,
XML, grafický návrh webu, UML, návrhem databáze. Podporuje technologie, jako jsou RAD, POJOs,
Web 2.0/AJAX, a RCP, JSF, Struts, JSP, SOA… Obdobně jako Eclipse je i MyEclipse rozšiřitelný pluginy.
MyEclipse obsahuje přibližně 200 předinstalovaných pluginů. Pokud bychom si chtěli MyEclipse
koupit, nezískáme žádnou krabicovou verzi. Jak je dnes trendem, koupí licence uživatel získá roční
možnost program plně využívat za trvalé podpory pomocí updatů a upgradů. Samozřejmostí je 30-ti
denní trial verze Standard edice k vyzkoušení. (34) (35)
Přehled vlastností
Název
Výrobce
Licence
Edice
Cena
Aktuální stabilní verze
Podporované platformy
Minimální HW nároky
Debugger
GUI builder
Profiler
Code Coverage
Autocomplete
Static code analysis
Class browser
Týmová spolupráce
Generování dokumentace
Technická podpora
MyEclipse
Genuitec
Proprietární
Professional Edition; Standard Edition; Blue Edition
$29.95 - $158.95
7.5 (10/2009)
Windows, Mac OS X, Linux
CPU 500MHz, RAM 512 MB, HDD 315MB










Tabulka 19 – Přehled vlastností MyEclipse
Odkazy a zdroje informací
 Oficiální stránka produktu: http://www.myeclipseide.com/
 Informace na Wikipedia: http://en.wikipedia.org/wiki/MyEclipse
Stránka 51 z 91
Seminární práce k předmětu 4IT450
Ukázka rozhraní aplikace
Obrázek 36 – MyEclipse – ukázka UI
Obrázek 37 – MyEclipse – dotazování pomocí SQL
Stránka 52 z 91
Seminární práce k předmětu 4IT450
jGRASP
Stručný popis
Vývojové prostředí jGRASP je obdobně jako další vývojová prostředí
napsané v jazyce Java, to mu umožňuje platformní nezávislost.
Prostředí podporuje jazyk Java, C, C++, Objective-C, Ada a VHDL.
Tento software vznikl za účelem podpory vizualizace software při
jeho návrhu. Je možné zobrazit statické obrazy zdrojového kódu i vizualizace datových struktur za
běhu. jGRASP je schopné generovat UML diagramy pro Javu, dynamické diagramy za běhu pro
veškeré primitivní a objektové datové struktury, jako je například binární strom či spojový seznam a
nakonec tzv. Control Structure Diagram. Poslední jmenovaný diagram je do vývojového prostředí
zakomponován za účelem lepší čitelnosti kódu. (36) (37)
Přehled vlastností
Název
Výrobce
Licence
Edice
Cena
Aktuální stabilní verze
Podporované platformy
Minimální HW nároky
Debugger
GUI builder
Profiler
Code Coverage
Autocomplete
Static code analysis
Class browser
Týmová spolupráce
Generování dokumentace
Technická podpora
jGRASP
GRASP research group at Auburn University
Proprietární - freeware
$0
1.8.7_04 (10/2009)
Windows, Mac OS X, Linux, Solaris
CPU 200MHz, RAM 48 MB, HDD 16MB










Tabulka 20 – Přehled vlastností jGRASP
Odkazy a zdroje informací
 Oficiální stránka produktu: http://www.jgrasp.org/index.html
 Informace na Wikipedia: http://en.wikipedia.org/wiki/JGRASP
Stránka 53 z 91
Seminární práce k předmětu 4IT450
Ukázka rozhraní aplikace
Obrázek 39 – jGRASP – rozhraní aplikace
Obrázek 38 – jGRASP – podpora programovacích jazyků v rozhraní starší verze jGRASP IDE
Stránka 54 z 91
Seminární práce k předmětu 4IT450
DrJava
Stručný popis
Vývojové prostředí s názvem DrJava je určeno pouze pro vývoj
v programovacím jazyce Java. Bylo vytvořeno primárně pro
studentské využití, jelikož je velmi intuitivní a jednoduché. To
v praxi znamená, že pro nezkušeného uživatele IDE je DrJava velmi vhodným nástrojem, jelikož
uživatel nemusí nejprve strávit desítky hodin učením se práci se samotným programem, ale může
rovnou pracovat. Toto prostředí nabízí však rovněž prostředky pro pokročilejší uživatele.
V současnosti je stále v aktivním vývoji pod Riceovou univerzitou. Ve spolupráci s Eclipsem vytvořil
vývojářský tým stojící za DrJava plug-in do platformy Eclipse, která umožní přizpůsobení tohoto
známého vývojové prostředí na některé prvky z DrJava. Jedná se zejména o zjednodušení grafického
uživatelského rozhraní, debugger ve spojitosti s tzv. Interaction Pane, který umožňuje interakci s
programem v místě jeho přerušení. (38) (39)
Přehled vlastností
Název
Výrobce
Licence
Edice
Cena
Aktuální stabilní verze
Podporované platformy
Minimální HW nároky
Debugger
GUI builder
Profiler
Code Coverage
Autocomplete
Static code analysis
Class browser
Týmová spolupráce
Generování dokumentace
Technická podpora
DrJava
JavaPLT group at Rice University
BSD
$0
drjava-stable-20090821-r5004
Windows, Mac OS X, Linux, Solaris
CPU 200MHz, RAM 64 MB, HDD 15MB










Tabulka 21 – Přehled vlastností DrJava
Odkazy a zdroje informací
 Oficiální stránka produktu: http://www.drjava.org/
 Informace na Wikipedia: http://en.wikipedia.org/wiki/DrJava
Stránka 55 z 91
Seminární práce k předmětu 4IT450
Ukázka rozhraní aplikace
Obrázek 40 – DrJava – debugger
Obrázek 41 – DrJava – JUnit testování na Linuxu
Stránka 56 z 91
Seminární práce k předmětu 4IT450
Greenfoot
Stručný popis
Greenfoot je velmi jednoduché vývojové prostředí,
jehož jediným cílem je výuka programování pro děti na
druhém stupni základní školy formou interaktivních her.
Jedná se o různorodé hry a simulace ve 2D prostředí.
Toto prostředí je zaměřené čistě na Javu, tedy JVM. O vývoj IDE se starají od roku 2003 Deakin
University a University of Kent s podporu ze strany Sun Microsystems. Greenfoot umožňuje
implementovat objekty formou objektové vizualizace a následné interakce s objekty formou scénářů.
Přiložené scénáře jsou například přistání s vesmírnou raketou, simulace mravenčího chování, želví
grafika, simulace výtahu, Conwayova. V současnosti se i nadále vyvíjejí další scénáře, programátor si
samozřejmě může vytvořit scénáře vlastní. (40) (41)
Přehled vlastností
Název
Výrobce
Licence
Edice
Cena
Aktuální stabilní verze
Podporované platformy
Minimální HW nároky
Debugger
GUI builder
Profiler
Code Coverage
Autocomplete
Static code analysis
Class browser
Týmová spolupráce
Generování dokumentace
Technická podpora
Greenfoot
Deakin University & University of Kent
GNU GPL
$0
1.5.6 (10/2009)
Windows, Mac OS X, Linux, Solaris
CPU 200MHz, RAM 64 MB, HDD 9MB










Tabulka 22 – Přehled vlastností Greenfoot
Odkazy a zdroje informací
 Oficiální stránka produktu: http://www.greenfoot.org/
 Informace na Wikipedia: http://en.wikipedia.org/wiki/Greenfoot
Stránka 57 z 91
Seminární práce k předmětu 4IT450
Ukázka rozhraní aplikace
Obrázek 43 – Greenfoot – scénář přistání s vesmírnou raketou
Obrázek 42 – Greenfoot – simulace výtahu
Stránka 58 z 91
Seminární práce k předmětu 4IT450
Hodnocení vývojových platforem uživateli – studie EDC
V popisu hodnocených produktů byla několikrát
zmíněna studie společnosti Evans Data Corporation
(42), která již čtvrtý rok zkoumá spokojenost
samotných uživatelů po celém světě s nástroji a
platformami určenými pro vývoj software. Protože
výsledky této studie mohou být zajímavé a přínosné i
pro čtenáře této práce, je tato kapitola věnována
shrnutí jejích závěrů a především samotnému
hodnocení produktů a jejich jednotlivých vlastností
z pohledu uživatelů, kteří s těmito nástroji pracují. Předcházející ročníky tohoto průzkumu měly
v názvu pouze ono „IDE“, letošní průzkum probíhající na jaře roku 2009 mezi 1200 vývojáři byl však
nazván „Software Development Platforms Rankings“. V tomto se odráží i posun v přístupu k vývoji
software, kdy dochází k integraci nejen IDE, ale i mnoha dalších nástrojů, které podporují všechny
fáze vývoje aplikací od jejich návrhu, vývoje, až po testování, nasazení a mnohdy ještě dále.
Ve výzkumu byli vývojáři dotazování na spokojenost v celkem osmnácti kategoriích funkcí a
vlastností, které se běžně vyskytují v současných platformách a nástrojích pro vývoj software. Každá
vlastnost měla být ohodnocena na škále „Výborné“, „Velmi dobré“, „Dostačující“, „Nedostatečné“ a
„N/A“, výsledky byly poté přepočítány na číselné hodnoty a promítnuty do grafů, které jsou
zobrazeny dále. Do hodnocení byly zahrnuty pouze ty produkty, u kterých byl získán dostatečný počet
odpovědí tak, aby nedošlo ke zkreslení výsledků a jejich nedostatečné vypovídací hodnotě. Nástroje,
které se dostaly do srovnání, jsou následující:








Eclipse
Delphi
Rational Development Tools Suite
IntelliJ
Visual Studio and Tools
NetBeans
JDeveloper and tools
Sun Studio
Vlastnosti nástrojů, které byly uživateli hodnoceny, byly tyto:
Charakteristika
Basic tools - Editor/Debugger/Compiler and/or Interpreter, etc.
Documentation
Ability to integrate tools
Integration with databases
Support for frameworks
Database development tools
Size/quality of developer community
Web Design/Development Tools
Developer test tools including Code Coverage tools
Význam
272.1
212
195.5
174.5
165.2
160.1
159
154.7
154.7
Stránka 59 z 91
Seminární práce k předmětu 4IT450
Availability of 3rd party tools
Ready to use out of box experience
Sample apps
Visual tools and declarative support
Quality of Tech Support
Runtime memory analysis tools
App Modeling tools
Support for Parallel Programming
Support for Remote development
149.9
138.8
137.3
136.9
136.4
135.4
108.3
87
76.3
Tabulka 23 – Vlastnosti hodnocené uživateli ve studii EDC
V tabulce výše je rovněž uvedena relativní důležitost sledované charakteristiky tak, jak jí cítí samotní
uživatelé. Není překvapením, že nejdůležitější jsou pro vývojáře základní nástroje, s kterými pracují
nejčastěji, a jejich funkcionalita tedy zásadně ovlivňuje produktivitu vývoje. Dále je velmi vysoce
oceňována kvalitní dokumentace a možnost integrace dalších nástrojů. Naopak nejméně důležitá je
pro uživatele podpora paralelního programování a vzdáleného vývoje, pravděpodobně kvůli menšímu
množství vývojářů software, kteří se těmito technologiemi aktivně zabývají.
Cílem studie bylo v zaměření se na různé odlišné charakteristiky hodnocených produktů a odhalení
jejich silných stránek a naopak slabin z pohledu uživatelů. Dodavatelé své produkty cílí na různé
segmenty trhu a skupiny zákazníků, od individuálních vývojářů, přes malé týmy až po velké
softwarové společnosti, některé z nich jsou opensource či freeware a za jejich vývojem stojí pouze
komunita uživatelů, některé jsou produkty nejsilnějších hráčů na trhu vývoje aplikací a jejich vývoj je
významně podporován, a to nejen finančně. Je tedy zřejmé, že ačkoliv se na prvním místě
v hodnocení uživatelů opět ocitl nástroj RAD od IBM, nelze jednoznačně říci, že je to ta nejlepší volba
pro každého. Menší společnosti s omezeným rozpočtem raději sáhnou např. po dostupnějších
produktech, jako je NetBeans nebo IntelliJ, pokud využívá databázových systémů Oracle, zvolí
pravděpodobně JDeveloper právě od této společnosti. Výsledky studie tedy nelze brát jako definitivní
zhodnocení produktů od nejlepšího po nejhorší, spíše je její přínos ve zmapování schopností
jednotlivých nástrojů ve specifikovaných oblastech tak, jak vyhovují jejich uživatelům.
Následující graf shrnuje celkové výsledky průzkumu a zobrazuje umístění jednotlivých testovaných
produktů s ohledem na jejich umístění v jednotlivých hodnocených kategoriích:
Stránka 60 z 91
Seminární práce k předmětu 4IT450
Obrázek 44 – Celkové umístění hodnocených produktů (zdroj: EDC)
Další grafy znázorňují hodnocení produktů v jednotlivých specifikovaných kategoriích v pořadí dle
významu charakteristiky tak, jak ji ohodnotili uživatelé:
Obrázek 45 – Hodnocení Basic tools - Editor/Debugger/Compiler and/or Interpreter (zdroj: EDC)
Stránka 61 z 91
Seminární práce k předmětu 4IT450
Obrázek 46 – Hodnocení Documentation (zdroj: EDC)
Obrázek 47 – Hodnocení Ability to integrate tools (zdroj: EDC)
Obrázek 48 – Hodnocení Integration with databases (zdroj: EDC)
Stránka 62 z 91
Seminární práce k předmětu 4IT450
Obrázek 49 – Hodnocení Support for frameworks (zdroj: EDC)
Obrázek 50 – Hodnocení Database development tools (zdroj: EDC)
Obrázek 51 – Hodnocení Size/quality of developer community (zdroj: EDC)
Stránka 63 z 91
Seminární práce k předmětu 4IT450
Obrázek 52 – Hodnocení Web Design/Development Tools (zdroj: EDC)
Obrázek 53 – Hodnocení Developer test tools including Code Coverage tools (zdroj: EDC)
Obrázek 54 – Hodnocení Availability of 3rd party tools (zdroj: EDC)
Stránka 64 z 91
Seminární práce k předmětu 4IT450
Obrázek 55 – Hodnocení Ready to use out of box experience (zdroj: EDC)
Obrázek 56 – Hodnocení Sample apps (zdroj: EDC)
Obrázek 57 – Hodnocení Visual tools and declarative support (zdroj: EDC)
Stránka 65 z 91
Seminární práce k předmětu 4IT450
Obrázek 58 – Hodnocení Quality of Tech Support (zdroj: EDC)
Obrázek 59 – Hodnocení Runtime memory analysis tools (zdroj: EDC)
Obrázek 60 – Hodnocení App Modeling tools (zdroj: EDC)
Stránka 66 z 91
Seminární práce k předmětu 4IT450
Obrázek 61 – Hodnocení Support for Parallel Programming (zdroj: EDC)
Obrázek 62 – Hodnocení Support for Remote development (zdroj: EDC)
Další grafy znázorňují hodnocení schopností jednotlivých vývojových platforem v definovaných
kategoriích:
Stránka 67 z 91
Seminární práce k předmětu 4IT450
Obrázek 63 – Hodnocení Delphi (zdroj: EDC)
Obrázek 64 – Hodnocení Eclipse (zdroj: EDC)
Stránka 68 z 91
Seminární práce k předmětu 4IT450
Obrázek 65 – Hodnocení Rational Tools (zdroj: EDC)
Obrázek 66 – Hodnocení Visual Studio (zdroj: EDC)
Stránka 69 z 91
Seminární práce k předmětu 4IT450
Obrázek 67 – Hodnocení NetBeans (zdroj: EDC)
Obrázek 68 – Hodnocení IntelliJ (zdroj: EDC)
Stránka 70 z 91
Seminární práce k předmětu 4IT450
Obrázek 69 – Hodnocení Sun Studio (zdroj: EDC)
Obrázek 70 – Hodnocení JDeveloper (zdroj: EDC)
Stránka 71 z 91
Seminární práce k předmětu 4IT450
4. Zhodnocení integrace a provázání IDE a CASE nástrojů
Obecně o způsobu 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.
Obrázek 71 – 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
Stránka 72 z 91
Seminární práce k předmětu 4IT450
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.
Obrázek 72 – 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é.
Stránka 73 z 91
Seminární práce k předmětu 4IT450
Zkušenosti z testování vybraných produktů
Eclipse + TopCased + Accelo
TopCased byl vybrán k testu jako zástupce Eclipse-based CASE nástrojů. Vzhledem k zadání test case
se ukázalo jako nezbytné v průběhu testu nainstalovat nástroj Acceleo.
Test case
Základní struktura testu je následující:
1. Nainstalovat software na platformě Linux
2. Analyzovat existující projekt, vytvořit z kódu UML
3. Převést UML na kód jiného jazyka
V prvním kroku jde tedy o snadnost získání softwaru a jeho instalace.
Instalace
TopCased je možno stáhnout přímo z http://www.topcased.org, odkaz „Download TOPCASED“ je na
rozdíl od ostatních položek menu zvlášť v levém sloupci. Ke stažení je nabízeno několik variant (verze
pro Windows, OS Mac a Linux). Testována byla verze 3.1.0. (Verze 3.2.0 vyšla 3. prosince 2009, 5 dní
po testu). Testováno bylo na platformě Linux (Xubuntu 9.10 Karmic Koala). Samotná instalace
TopCased na Linuxu spočívala ve stažení 278MB tar.gz souboru a jeho rozbalení na vhodné místo.
Balík obsahuje kompletní instalaci Eclipse 3.5.0 Galileo, (jediným rozdílem při spouštění je logo
TopCased, místo Eclipse). Nutno podotknout, že v současné verzi Eclipse je chyba, která postihuje
obě zde zmíněné instalace na systému, kde test probíhal. Jedná se o chybu někde mezi Eclipse a GTK
(https://bugs.eclipse.org/bugs/show_bug.cgi?id=291257).
TopCased používá k převodu diagramů do kódu specializovaný nástroj Acceleo. Ten si sice stáhnete
přímo s balíkem, ovšem bez podpory jednotlivých programovacích jazyků, ty je třeba doinstalovat.
Zde došlo k potížím, kdy z blíže nespecifikovaného důvodu instalace selhala. Naštěstí přinejmenším
na Linuxu Eclipse nijak nezasahuje do systému a lze spustit jinou instalaci zcela odděleně. Instalátor
doplňků v instanci balíku EclipsePDT fungoval bez problémů. Doplňky Eclipse skladuje v adresářích
features a plugins a po spuštění sama detekuje nové. Takže moduly pro generování kódu se povedlo
zprovoznit.
Stránka 74 z 91
Seminární práce k předmětu 4IT450
Obrázek 73 – Zavalení chybami při doinstalaci modulu
Převod Javy na UML
Vygenerování UML schématu z javovského kódu je otázkou několika kliknutní. Pomocí Java reverse
engineeringu se nejprve z projektu vytvoří UML soubor obsahující veškerou strukturu a potřebné
informace. Stačí kliknout pravým tlačítkem na projekt a vybrat volbu „UML from Java“. (TopCased
zvládá i import z JAR souboru, nebo jenom jednotlivého balíčku z projektu) Exportuje se veškerá
struktura, vazby i JavaDoc komentáře. Ze vzniklého .uml souboru pak TopCased dokáže vytvořit UML
diagram. V kontextovém menu na .uml souboru stačilo vybrat „UML Model with TOPCASED“, ve
wizardu, který se objeví, stačí vybrat typ diagramu. V TopCased tutorialu pro import z Javy autoři
nedoporučují povolování automatické inicliazace diagramu existujícími objekty, nicméně
přinejmenším pro zvolený projekt tato volba fungovala bez problémů. Pokud není volba zaškrtnutá,
objeví se po vytvoření diagramu prázdné editační okno a všechny objekty jsou ve stromové struktuře
v outline browseru vpravo, a uživatel je do modelu umisťuje, jak uzná za vhodné. Importují se
opravdu všechny objekty, včetně použitých primitivních a datových typů.
Stránka 75 z 91
Seminární práce k předmětu 4IT450
Obrázek 74 – Krok 1: Výroba základního uml z package
Obrázek 75 – Krok 2: Generování TopCased modelu
Stránka 76 z 91
Seminární práce k předmětu 4IT450
Obrázek 76 – TopCased Wizard vytvoření diagramu z existujícího modelu
Stránka 77 z 91
Seminární práce k předmětu 4IT450
Obrázek 77 – Detail objektu, vpravo jsou dokumentační poznámky ve špatném kódování
Obrázek 78 – Krásný diagram za pár minut
Stránka 78 z 91
Seminární práce k předmětu 4IT450
Kód z UML
Implicitní instalace TopCased umožňuje z kódu generovat pouze dokumentaci, pokud je v balíku širší
funkčnost generování kódu obsažena, je velmi dovedně skryta a v dokumentaci se o ní nejspíš nepíše.
Ke generování kódu používá, jak již bylo výše napsáno, TopCased specializovaný nástroj Acceleo.
Acceleo generuje kód na základě šablon. Sady již hotových šablon jsou k dispozici jako moduly pro
Acceleo, bohužel instalovatelné pouze přes rozhraní Eclipse (viz podkapitola Instalace).
Po doinstalaci Acceleo modulů se vytvoření kostry projektu v daném jazyce stalo záležitostí doslova
dvou kliknutí. Vygenerovaná kostra objektů obsahuje typování, a všechny dokumentační komentáře.
Místo pro vnitřní logiku metod je označeno komentáři. Acceleo dokáže uživatelem vložený kód
udržet, takže je možno model rozšířit a stávající práce se zachová. Vyzkoušena byla editace metody
jednoho objektu a pak do téhož objektu byla v UML editoru přidána další metoda. Po přegenerování
se obsah zachoval. Stejně tak se zachoval obsah při přejmenování metody. Trochu Acceleo
zazmatkovalo, když byla v kódu přejmenována metoda a jiná v UML modelu. Obsah metody
přejmenované v kódu se přesunul do té přejmenované v modelu (původní byla prázdná). Python je
slabě typovaný skriptovací jazyk, takže rozpoznávání metod jenom podle jmen se lze těžko divit.
Jako zajímavost bylo vyzkoušeno i generování kódu v Javě a Pure C. Pro Javu ovšem nebyl použit
standardní modul, který je ve verzi stable, ale alternativní experimentální – a není se čemu divit, že
výsledky byly nedostačující (neexportovaly se ani dokumentační komentáře). V C pro změnu ve
výsledném kódu byly i kostry metod pro podporu pseudo-objetového stylu. Ovšem tady už jde spíše
o kvalitu šablon, než samotného nástroje.
Obrázek 79 – Kód lze vygenerovat doslova na dvě kliknutí
Stránka 79 z 91
Seminární práce k předmětu 4IT450
Závěrem
Generování kódu z Javy, kterého je TopCased schopen, je rozhodně na velmi slušné úrovni a spolu se
schopností generovat dokumentaci z kódu může sloužit jako dobrý pomocník. Velmi přínosná je také
schopnost ve spolupráci s Acceleem generovat z modelu kostru projektu a udržovat rozeditovaný kód
i při změnách modelu. Tímto způsobem je možné – s trochou optimismu - vývoj opravdu založit čistě
na modelech a udržet projekt konzistentní s modely až do konce bez velké námahy.
Klasickým problémem ne tak samotné aplikace, jako uživatelů, kteří do ní chtějí proniknout, je
dokumentace, tradiční to slabina opensource projektů. Hlavní část dokumentace na stránkách
projektu je k dispozici ve formě PDF prezentací. Jelikož se evidentně jedná o slidy prezentací bez
dalšího výkladu, je interpretace jejich obsahu mnohdy obtížná. Forma prezentací má také vliv na
komplexnost podávané informace, naštěstí je používání nástrojů – v rámci možností – intuitivní.
Stránka 80 z 91
Seminární práce k předmětu 4IT450
Altova UModel + Visual Studio
Další test je založen na využití Altova UModel v prostředí Microsoft Visual Studio, který vyplývá z tzv.
roundtrip engineeringu, kde se z UML modelu vygeneruje model a na základě změn v kódu pak
vygeneruje aktuální UML diagram se zapracovanými změnami.
Test case
Základní struktura testu je následující:
1.
2.
3.
4.
Instalace Altova UModel na platformě Windows
Integrace s Visual Studio
Generace kódu z UML
UML z kódu
Instalace
Pro popis nástroje a aplikování test case byla použita 30denní zkušební verze s plnou funkcionalitou
ze stránek společnosti Altova (www.altova.com). Dostat se ke stáhnutí této verze na stránkách není
vůbec komplikované, jelikož má společnost v porovnání s konkurencí poměrně přehledné stránky.
Samotná instalace je snadná a rychlá, otázkou několik kliknutí a po nainstalování aplikace zabírá
méně než 150MB. Spuštění aplikace je rychlé, v porovnání s konkurencí spíš nadstandardní.
Integrace s Visual Studio
Společnost Altova podporuje integraci aplikace UModel do některých vývojových rozhraní. Kromě
propojení s nástroji Altova, lze UModel integrovat do Eclipse, nebo Visual Studio. V této práci je
popsána integrace do rozhraní Microsoft Visual Studio.
Integrace UModel do Visual Studia se provádí instalaci UModel 2010 Integration Package, který je
zdarma dostupný na stránkách společnosti Altova. Instalace je rychlá a v našem případě proběhla bez
chyb.
Výhodou zahrnutí UModel do rozhraní Visual Studia je kromě zjednodušení práce „do jedné aplikace“
hlavně možnost automatické real-time synchronizace kódu s modelem. Změna v kódu se hned
projeví ve změně modelu a opačně. Zapnutí této možnosti se provádí v záložce Project a nastavení
pro UModel Project.
Stránka 81 z 91
Seminární práce k předmětu 4IT450
Obrázek 80 - nastavení automatické synchronizace UModelu ve Visual Studiu
Tato možnost je určitě výhodou usnadňující proces vývoje, no bohužel, z důvodu omezení Visual
Studia je to možné aplikovat pouze pro projekty v jazycích C# a Visual Basic .NET. U projektů v jazyce
Java je funkce automatické synchronizace nefunkční.
Obrázek 81 – Reakce Visual Studia u automatické synchronizace s projektem v Javě
Generace kódu z UML
Vygenerování kódu z UML je snadné, lze ho aplikovat na celý projekt, požadovanou komponentu,
nebo třídu vybranou v Solution Explorer. Před samotným generováním kódu je však potřebné upravit
nastavení jednotlivé (v našem případě) komponenty, ke které chceme zdrojový kód vygenerovat.
Zejména se jedná o nastavení jazyka, ve kterém chceme generovat a adresář, do kterého mají být
soubory s kódem vytvořené. Nastavení se zobrazuje ve většině případů (v závislosti na nastavení
uživatele) pod Solution Explorerem, který je při integrování s Visual Studiem umístěn vpravo. Pro
generování je potřebné mít zaškrtnutou možnost „use for code engineering“.
Stránka 82 z 91
Seminární práce k předmětu 4IT450
Obrázek 82 – Nastavení jazyka a cílového adresáře pro vygenerovaný kód
Po nastavení výše popsaných potřebných parametrů se generování zahajuje přes kontextové menu
vyvolané pravým tlačítkem na požadovanou komponentu, nebo přes položku Project v hlavním
menu. Při generování se volí možnost „Merge Program Code from UModel Project“. Poté se zobrazí
okno s nastavením synchronizace (obr. 84), ve kterém lze provést minoritní změny ve způsobu
interakce programu, jako například reakce na mazání kódu.
Obrázek 83 – Generování kódu z UML
Stránka 83 z 91
Seminární práce k předmětu 4IT450
Obrázek 84 – Nastavení synchronizace pro generování kódu z UML
Po potvrzení generování proběhne kontrola syntaxe, ve které se zkontroluje hlavně správné
nastavení namespace u všech komponent a tříd, kterých se generování dotýká. V případě, že
kontrola proběhne bez chyb (co se po správně definovaném namespace povedlo i pro Javu, C# i
Visual Basic), lze v cílovém adresáři najít požadované soubory s kódem.
UML z kódu
Zpětné generování UML podle změn kódu se provádí obdobně jak v předešlém kroku. Nejdříve se
v jiném programu, v našem případě přímo ve Visual Studiu, otevře soubor se zdrojovým kódem, do
kterého se udělají změny. Tyto změny pak chceme provést do UML, ze kterého se bude pak znovu
vycházet. Jak již bylo zmíněno, u projektů v jazyku Java, se tyto změny nedají automaticky
synchronizovat a tak je potřebné k synchronizaci přejít přes položku Project v hlavním menu a volbou
„Merge UModel Project from Program Code“. Před vygenerováním změn v UML vyběhne obdobné
okno jak u generování kódu, ve kterém lze vybrat z možností zahrnutí změn, nebo přepsaní změn
v diagramu. Na obr. 86 je vidět zahrnutí změn kódu do class diagramu.
Stránka 84 z 91
Seminární práce k předmětu 4IT450
Obrázek 85 – Nastavení synchronizace při generování UML z kódu
Obrázek 86 – Vygenerovaní změn v UML na základě změn v kódu
Stránka 85 z 91
Seminární práce k předmětu 4IT450
Závěr
Altova UModel usnadňuje práci s modely a ve finále pomocí funkcí generování kódu, umožňuje
rychlejší a pohodlnější vývoj aplikací. Při propojení UModelu s vývojovým prostředím jako například
s Microsoft Visual Studiem, lze sledovat změny kódu vyvolané změnami v diagramech a opačně.
Práce s UModelem je pohodlná i díky obsáhlé dokumentaci, které společnost Altova nabízí zdarma na
svých stránkách.
Stránka 86 z 91
Seminární práce k předmětu 4IT450
5. Použité zdroje informací
1. Nástroje CASE. Databázový svět. [Online] [Citace: 5. 11 2009.]
http://www.dbsvet.cz/view.php?cisloclanku=2004052702.
2. Borland Together. Wikipedia. [Online] [Citace: 12. 12 2009.]
http://en.wikipedia.org/wiki/Borland_Together.
3. Software Architecture Design, Visual UML & BPM. Borland.com. [Online] [Citace: 12. 12 2009.]
http://www.borland.com/us/products/together/index.html.
4. PowerDesigner Modeling and Metadata Management Software Tool. Sybase Inc. [Online] [Citace:
14. 12 2009.] http://www.sybase.com/products/modelingdevelopment/powerdesigner.
5. PowerDesigner. Wikipedia. [Online] [Citace: 14. 12 2009.]
http://en.wikipedia.org/wiki/PowerDesigner.
6. UModel. Wikipedia. [Online] [Citace: 13. 12 2009.] http://en.wikipedia.org/wiki/UModel.
7. UMLTool. Altova.com. [Online] [Citace: 11. 12 2009.] http://www.altova.com/umodel.html.
8. Visio Home Page. Microsoft Office Online. [Online] [Citace: 21. 12 2009.]
http://office.microsoft.com/en-us/visio/default.aspx.
9. Microsoft Visio. Wikipedia. [Online] [Citace: 21. 12 2009.]
http://en.wikipedia.org/wiki/Microsoft_visio.
10. ArgoUML. Tigris.org. [Online] [Citace: 13. 12 2009.] http://argouml.tigris.org/.
11. ArgoUML. Wikipedia. [Online] [Citace: 13. 12 2009.] http://en.wikipedia.org/wiki/ArgoUML.
12. Topcased Home. Topcased.org. [Online] [Citace: 23. 11 2009.] http://www.topcased.org/.
13. MOSKitt. MOSKitt.org. [Online] [Citace: 18. 12 2009.] http://www.moskitt.org/.
14. Acceleo : MDA generator. Acceleo.org. [Online] [Citace: 17. 11 2009.]
http://www.acceleo.org/pages/home/en.
15. Visual Paradigm for UML. Wikipedia. [Online] [Citace: 2. 12 2009.]
http://en.wikipedia.org/wiki/Visual_Paradigm_for_UML.
16. UML Tool for application design, documentation and code generation. Visual-paradigm. [Online]
[Citace: 2. 12 2009.] http://www.visual-paradigm.com/product/vpuml/.
17. Umbrello UML Modeller. sourceforge.net. [Online] [Citace: 30. 11 2009.]
http://uml.sourceforge.net/.
18. Umbrello UML Modeller. Wikipedia. [Online] [Citace: 30. 11 2009.]
http://en.wikipedia.org/wiki/Umbrello_UML_Modeller.
19. Comparison of integrated development environments. Wikipedia. [Online] [Citace: 15. 11 2009.]
http://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments.
20. Microsoft Visual Studio. Wikipedia. [Online] [Citace: 11. 9 2009.]
http://en.wikipedia.org/wiki/Microsoft_Visual_Studio.
Stránka 87 z 91
Seminární práce k předmětu 4IT450
21. Visual Studio on MSDN. Microsoft MSDN. [Online] [Citace: 12. 11 2009.]
http://msdn.microsoft.com/cs-cz/vstudio/default(en-us).aspx.
22. JDeveloper. Wikipedia. [Online] [Citace: 12. 11 2009.] http://en.wikipedia.org/wiki/JDeveloper.
23. Oracle JDeveloper. oracle.com. [Online] [Citace: 12. 11 2009.]
http://www.oracle.com/technology/products/jdev/index.html.
24. JBuilder. Wikipedia. [Online] [Citace: 9. 12 2009.] http://en.wikipedia.org/wiki/JBuilder.
25. Java Developer Software | JBuilder. Embarcadero. [Online] [Citace: 9. 12 2009.]
http://www.embarcadero.com/products/jbuilder.
26. IBM Rational Application Developer. Wikipedia. [Online] [Citace: 11. 10 2009.]
http://en.wikipedia.org/wiki/Rational_Application_Developer.
27. Rational Application Developer. IBM Software. [Online] [Citace: 11. 10 2009.] http://www01.ibm.com/software/awdtools/developer/application/.
28. NetBeans. Wikipedia. [Online] [Citace: 30. 9 2009.] http://en.wikipedia.org/wiki/NetBeans.
29. Welcome to NetBeans. NetBeans.org. [Online] 30. 9 2009. http://netbeans.org/.
30. BlueJ - Teaching Java. BlueJ.org. [Online] http://www.bluej.org/.
31. BlueJ. Wikipedia. [Online] [Citace: 11. 10 2009.] http://en.wikipedia.org/wiki/BlueJ.
32. Eclipse home. Eclipse.org. [Online] [Citace: 10. 11 2009.] http://www.eclipse.org/.
33. Eclipse (Software). Wikipedia. [Online] [Citace: 10. 11 2009.]
http://en.wikipedia.org/wiki/Eclipse_(Software).
34. Eclipse plugin development tools for Java, JSP, XML, Struts, HTML, CSS and EJB. MyEclipse.
[Online] [Citace: 10. 11 2009.] http://www.myeclipseide.com/.
35. MyEclipse. Wikipedia. [Online] [Citace: 11. 11 2009.] http://en.wikipedia.org/wiki/MyEclipse.
36. jGRASP Home Page. jGRASP.org. [Online] [Citace: 3. 12 2009.] http://www.jgrasp.org/index.html.
37. jGRASP. Wikipedia. [Online] [Citace: 3. 12 2009.] http://en.wikipedia.org/wiki/JGRASP.
38. DrJava. Wikipedia. [Online] [Citace: 28. 12 2009.] http://en.wikipedia.org/wiki/DrJava.
39. DrJava. DrJava.org. [Online] [Citace: 28. 12 2009.] http://www.drjava.org/.
40. GreenFoot. Wikipedia. [Online] [Citace: 29. 11 2009.] http://en.wikipedia.org/wiki/Greenfoot.
41. The Java Object World. Greenfoot.org. [Online] [Citace: 29. 11 2009.] http://www.greenfoot.org/.
42. 2009 Software Development Platform Rankings. Evans Data Corporation. [Online] [Citace: 10. 12
2009.] http://www.evansdata.com/reports/viewRelease_download.php?reportID=19.
Stránka 88 z 91
Seminární práce k předmětu 4IT450
Seznam obrázků
Obrázek 1 – Typy CASE nástrojů (zdroj: www.dbsvet.cz) ...................................................................... 10
Obrázek 2 – Borland Together – ukázka kódu v Javě ............................................................................ 15
Obrázek 3 – Borland Together – Class diagram .................................................................................... 15
Obrázek 4 – PowerDesigner – ukázka Business process diagramu ....................................................... 17
Obrázek 5 – PowerDesigner – ukázka diagramu tříd ............................................................................ 17
Obrázek 6 – UModel – Ukázka Class Diagramu a Use Case Diagramu v Altova UModel ...................... 19
Obrázek 7 – UModel – ukázka SysML Internal Block Diagramu v Altova UModel ................................ 19
Obrázek 8 – Visio – ukázka procesu ...................................................................................................... 21
Obrázek 9 – Visio – ukázka workflow .................................................................................................... 21
Obrázek 10 – ArgoUML – vytváření diagramu ...................................................................................... 23
Obrázek 11 – ArgoUML – Správa "kritiků" ............................................................................................ 23
Obrázek 12 – TopCased – Ukázka UML editoru se sequence diagramem ............................................ 25
Obrázek 13 – TopCased – Ukázka rozhraní s diagramem tříd ............................................................... 25
Obrázek 14 – MosKITT – Ukázka databázového diagramu ................................................................... 27
Obrázek 15 – MosKITT – Ukázka Use case diagramu ............................................................................ 27
Obrázek 16 – Acceleo – Ukázka stromového zobrazení v Reflective editor ......................................... 29
Obrázek 17 – Acceleo – WebLog UML2 model ..................................................................................... 29
Obrázek 18 – Visual Paradigm – Use Case Diagram .............................................................................. 31
Obrázek 19 – Visual Paradigm – Procesní mapa ................................................................................... 31
Obrázek 20 – Umbrello UML – ukázka produktu na Mac OS ................................................................ 33
Obrázek 21 – Umbrello UML – ukázka produktu na Ubuntu ................................................................ 33
Obrázek 22 – Visual Studio – Ukázka editace zdrojového kódu a automatického dokončování .......... 38
Obrázek 23 – Visual Studio – Ukázka diagramu tříd.............................................................................. 38
Obrázek 24 – JDeveloper – Zobrazení průběhu procesu ...................................................................... 40
Obrázek 25 – JDeveloper – Integrovaný verzovací systém ................................................................... 40
Obrázek 26 – JBulider – Editace zdrojového kódu s vyznačením úkolů k dokončení ........................... 42
Obrázek 27 – JBuilder – Ukázka diagramu tříd ...................................................................................... 42
Obrázek 28 – RAD – Integrovaný verzovací systém .............................................................................. 44
Obrázek 29 – RAD – Editace zdrojového kódu ...................................................................................... 44
Obrázek 30 – NetBeans – Ukázka tvorby uživatelského rozhraní pomocí GUI designeru .................... 46
Obrázek 31 – NetBeans – Založení nového projektu ............................................................................ 46
Obrázek 32 – BlueJ – Základní rozhraní nástroje s diagramem tříd ...................................................... 48
Obrázek 33 – BlueJ – Editace zdrojového kódu..................................................................................... 48
Obrázek 35 – Eclipse – Package Explorer .............................................................................................. 50
Obrázek 34 – Eclipse – XML v Eclipse .................................................................................................... 50
Obrázek 36 – MyEclipse – ukázka UI ..................................................................................................... 52
Obrázek 37 – MyEclipse – dotazování pomocí SQL ............................................................................... 52
Obrázek 38 – jGRASP – podpora programovacích jazyků v rozhraní starší verze jGRASP IDE .............. 54
Obrázek 39 – jGRASP – rozhraní aplikace.............................................................................................. 54
Obrázek 40 – DrJava – debugger ........................................................................................................... 56
Obrázek 41 – DrJava – JUnit testování na Linuxu .................................................................................. 56
Obrázek 42 – Greenfoot – simulace výtahu .......................................................................................... 58
Obrázek 43 – Greenfoot – scénář přistání s vesmírnou raketou .......................................................... 58
Obrázek 44 – Celkové umístění hodnocených produktů (zdroj: EDC) ................................................... 61
Stránka 89 z 91
Seminární práce k předmětu 4IT450
Obrázek 45 – Hodnocení Basic tools - Editor/Debugger/Compiler and/or Interpreter (zdroj: EDC) .... 61
Obrázek 46 – Hodnocení Documentation (zdroj: EDC) ......................................................................... 62
Obrázek 47 – Hodnocení Ability to integrate tools (zdroj: EDC) ........................................................... 62
Obrázek 48 – Hodnocení Integration with databases (zdroj: EDC) ....................................................... 62
Obrázek 49 – Hodnocení Support for frameworks (zdroj: EDC) ............................................................ 63
Obrázek 50 – Hodnocení Database development tools (zdroj: EDC) .................................................... 63
Obrázek 51 – Hodnocení Size/quality of developer community (zdroj: EDC) ....................................... 63
Obrázek 52 – Hodnocení Web Design/Development Tools (zdroj: EDC) .............................................. 64
Obrázek 53 – Hodnocení Developer test tools including Code Coverage tools (zdroj: EDC) ................ 64
Obrázek 54 – Hodnocení Availability of 3rd party tools (zdroj: EDC) .................................................... 64
Obrázek 55 – Hodnocení Ready to use out of box experience (zdroj: EDC) ......................................... 65
Obrázek 56 – Hodnocení Sample apps (zdroj: EDC) .............................................................................. 65
Obrázek 57 – Hodnocení Visual tools and declarative support (zdroj: EDC)......................................... 65
Obrázek 58 – Hodnocení Quality of Tech Support (zdroj: EDC) ............................................................ 66
Obrázek 59 – Hodnocení Runtime memory analysis tools (zdroj: EDC) ................................................ 66
Obrázek 60 – Hodnocení App Modeling tools (zdroj: EDC) ................................................................... 66
Obrázek 61 – Hodnocení Support for Parallel Programming (zdroj: EDC) ............................................ 67
Obrázek 62 – Hodnocení Support for Remote development (zdroj: EDC) ............................................ 67
Obrázek 63 – Hodnocení Delphi (zdroj: EDC) ........................................................................................ 68
Obrázek 64 – Hodnocení Eclipse (zdroj: EDC) ....................................................................................... 68
Obrázek 65 – Hodnocení Rational Tools (zdroj: EDC) ............................................................................ 69
Obrázek 66 – Hodnocení Visual Studio (zdroj: EDC).............................................................................. 69
Obrázek 67 – Hodnocení NetBeans (zdroj: EDC) ................................................................................... 70
Obrázek 68 – Hodnocení IntelliJ (zdroj: EDC) ........................................................................................ 70
Obrázek 69 – Hodnocení Sun Studio (zdroj: EDC) ................................................................................. 71
Obrázek 70 – Hodnocení JDeveloper (zdroj: EDC)................................................................................. 71
Obrázek 71 – Spolupráce IDE a CASE nástroje pomocí plug-in modulu ................................................ 72
Obrázek 72 – Spolupráce IDE a CASE v robustním software řešení ...................................................... 73
Obrázek 73 – Zavalení chybami při doinstalaci modulu ........................................................................ 75
Obrázek 74 – Krok 1: Výroba základního uml z package ....................................................................... 76
Obrázek 75 – Krok 2: Generování TopCased modelu ............................................................................ 76
Obrázek 76 – TopCased Wizard vytvoření diagramu z existujícího modelu ......................................... 77
Obrázek 77 – Detail objektu, vpravo jsou dokumentační poznámky ve špatném kódování ................ 78
Obrázek 78 – Krásný diagram za pár minut .......................................................................................... 78
Obrázek 79 – Kód lze vygenerovat doslova na dvě kliknutí .................................................................. 79
Obrázek 80 - nastavení automatické synchronizace UModelu ve Visual Studiu .................................. 82
Obrázek 81 – Reakce Visual Studia u automatické synchronizace s projektem v Javě ......................... 82
Obrázek 82 – Nastavení jazyka a cílového adresáře pro vygenerovaný kód ........................................ 83
Obrázek 83 – Generování kódu z UML .................................................................................................. 83
Obrázek 84 – Nastavení synchronizace pro generování kódu z UML ................................................... 84
Obrázek 85 – Nastavení synchronizace při generování UML z kódu .................................................... 85
Obrázek 86 – Vygenerovaní změn v UML na základě změn v kódu ...................................................... 85
Stránka 90 z 91
Seminární práce k předmětu 4IT450
6. Seznam tabulek
Tabulka 1 – Přehled vlastností Borland Together ................................................................................. 14
Tabulka 2 – Přehled vlastností PowerDesigner ..................................................................................... 16
Tabulka 3 – Přehled vlastností Altova UModel ..................................................................................... 18
Tabulka 4 – Přehled vlastností Microsoft Visio 2007 ............................................................................ 20
Tabulka 5 – Přehled vlastností ArgoUML .............................................................................................. 22
Tabulka 6 – Přehled vlastností TopCased .............................................................................................. 24
Tabulka 7 – Přehled vlastností MosKITT................................................................................................ 26
Tabulka 8 – Přehled vlastností Acceleo ................................................................................................. 28
Tabulka 9 – Přehled vlastností Visual Paradigm .................................................................................... 30
Tabulka 10 – Přehled vlastností Umbrello UML Modeller .................................................................... 32
Tabulka 11 – Porovnání možností jednotlivých edic Visual Studio (zdroj: wikipedia.org) .................... 36
Tabulka 12 – Přehled vlastností Microsoft Visual Studio ...................................................................... 37
Tabulka 13 – Přehled vlastností Oracle JDeveloper .............................................................................. 39
Tabulka 14 – Přehled vlastností JBuilder ............................................................................................... 41
Tabulka 15 – Přehled vlastností IBM Rational Application Developer .................................................. 43
Tabulka 16 – Přehled vlastností NetBeans ............................................................................................ 45
Tabulka 17 – Přehled vlastností BlueJ ................................................................................................... 47
Tabulka 18 – Přehled vlastností Eclipse................................................................................................. 49
Tabulka 19 – Přehled vlastností MyEclipse ........................................................................................... 51
Tabulka 20 – Přehled vlastností jGRASP ................................................................................................ 53
Tabulka 21 – Přehled vlastností DrJava ................................................................................................. 55
Tabulka 22 – Přehled vlastností Greenfoot ........................................................................................... 57
Tabulka 23 – Vlastnosti hodnocené uživateli ve studii EDC .................................................................. 60
Stránka 91 z 91

Podobné dokumenty

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

Nástroje pro vývoj aplikací a jejich vazba na CASE 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...............................................

Více

Vážení studenti 1

Vážení studenti 1 11. parametr – není žádné strašidlo, ale výborný pomocník (opět nám ušetří kus práce), 12. projdi se v mých mokasínách – vyzkoušíme si, jaké je to postupovat podle návodu, který sestavil někdo jiný...

Více

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

Nástroje pro vývoj aplikací a jejich vazba na CASE se zejména o přehledný editor zdrojového kódu (barevné odlišení jednotlivých částí zdrojového kódu) nebo například o nástroj na upozornění a odstraňování chyb ve zdrojovém kódu aplikace (nápomocné ...

Více

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

4IT_450 Přehled CASE nástrojů na tuzemském trhu která je v českém jazyce. Tato metodika poskytuje konkrétní návod na postup vývoje a následné údržby vícevrstevných aplikací. Důsledně využívá principů nejmodernějšího přístupu k vývoji aplikací v ...

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 IDE znamená „Integrated Development Environment“, což by bylo možné přeložit jako

Více

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

Přehled CASE nástrojů na tuzemském trhu Computer Aided Software Engineering nebo také Computer Aided Systems Engineering, což znamená počítačem podporované softwarové (systémové) inženýrství nebo vývoj software s využitím počítačové podp...

Více

CASE pro podporu databází

CASE pro podporu databází vývojové prostředí Oracle Developer Suite, jehož nejnovější verze je 10g (10.1.2.0.2). Jedná se o balík produktů, který obsahuje několik komponent. Oracle Developer Suite tedy nepodporuje zdaleka p...

Více