91
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

Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

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

Page 2: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 2 z 91

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

Page 3: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 3 z 91

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

Page 4: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 4 z 91

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.

Page 5: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 5 z 91

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

Page 6: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 6 z 91

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ší.

Page 7: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 7 z 91

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,

Page 8: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 8 z 91

ž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

Page 9: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 9 z 91

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

Page 10: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 10 z 91

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

Page 11: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 11 z 91

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.

Page 12: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 12 z 91

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.

Page 13: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 13 z 91

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.

Page 14: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 14 z 91

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 Together Výrobce Borland Software Corporation Licence Proprietární Edice - Cena $3500 - $4500 Aktuální stabilní verze 2008 R2 WW (08/2009) Podporované platformy Windows (XP SP2, Vista), Linux, Solaris 10, Mac OS X Minimální HW nároky RAM 1GB, HDD 1.4GB Podporovaná verze UML 2.0 Integrace do IDE Eclipse, MS Visual Studio, C++BuilderX Podporované notace UML, BPMN Generování kódu Java, J2EE, C++, C# Reverzování kódu Java, C++, CORBA IDL Podporované typy diagramů Class Diagram, Use Case Diagram, Interaction Diagram, State

Machine Diagram, Activity Diagram, Component Diagram, Deployment Diagram, Composite Structure Diagram, State Diagram, Sequence Diagram

Podporované typy DB ? Validování modelů Týmová spolupráce Generování dokumentace Technická podpora 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

Page 15: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 15 z 91

Ukázka rozhraní aplikace

Obrázek 2 – Borland Together – ukázka kódu v Javě

Obrázek 3 – Borland Together – Class diagram

Page 16: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 16 z 91

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 PowerDesigner Výrobce Sybase Licence Proprietární Edice Data Architect; Developer; Studio; Enterprise Cena $3,000 - $7,500 Aktuální stabilní verze 15.1 Podporované platformy Windows (XP, Server 2003, Vista) Minimální HW nároky CPU 1,5GHz, RAM 1GB, HDD 500 MB Podporovaná verze UML 1.x, 2.0 Integrace do IDE Eclipse, PowerBuilder a Visual Studio Podporované notace UML, BPMN, DFD, ER Generování kódu Java, C#, C++, PowerBuilder, XML, VB.NET Reverzování kódu Java, C#, C++, PowerBuilder, XML, VB.NET Podporované typy diagramů 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

Podporované typy DB PostgresSQL, MySQL, MS SQL Server, IBM DB/2, Orace,a jiné Validování modelů Týmová spolupráce Generování dokumentace Technická podpora 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

Page 17: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 17 z 91

Ukázka rozhraní aplikace

Obrázek 4 – PowerDesigner – ukázka Business process diagramu

Obrázek 5 – PowerDesigner – ukázka diagramu tříd

Page 18: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 18 z 91

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 Altova UModel 2010 Výrobce Altova GmbH Licence Proprietární Edice Enterprise

Professional Cena $149 (Enterprise) - $99 (Professional) Aktuální stabilní verze 12.0.0 Podporované platformy Microsoft Windows Minimální HW nároky RAM 256MB, HDD 350 MB Podporovaná verze UML UML 2.2 Integrace do IDE Microsoft Visual Studio, Eclipse Podporované notace UML Generování kódu Java 1.6, C#2.0, VB9.0 Reverzování kódu Podporované typy diagramů 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

Podporované typy DB Microsoft SQL Server, Microsoft Access Validování modelů Týmová spolupráce Generování dokumentace Technická podpora 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

Page 19: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 19 z 91

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

Page 20: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 20 z 91

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 Microsoft Office Visio 2007 Výrobce Microsoft Licence Proprietární Edice Standard

Professional Cena $349-$559 (Professional) $129-$259(Standard) Aktuální stabilní verze 12.0.6423.1000 (04/2009) Podporované platformy Microsoft Windows Minimální HW nároky CPU 500MHz RAM 256MB, HDD 1.5 GB Podporovaná verze UML UML 2.0 Integrace do IDE Microsoft Visual Studio Podporované notace UML Generování kódu SQL Script

Reverzování kódu

Podporované typy diagramů Business Process Diagram, Audit Diagram, Flowchart, Cause and Effect Diagram, Data-flow Diagram, EPC Diagram, TQM Diagram, Work Flow Diagram, XML Diagram

Podporované typy DB Microsoft SQL Server, Microsoft Access Validování modelů

Týmová spolupráce

Generování dokumentace

Technická podpora 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

Page 21: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 21 z 91

Ukázka rozhraní aplikace

Obrázek 8 – Visio – ukázka procesu

Obrázek 9 – Visio – ukázka workflow

Page 22: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 22 z 91

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 ArgoUml Výrobce Open source projekt Licence BSD Edice - Cena $0 Aktuální stabilní verze 0.28.1 (08/2009) Podporované platformy JVM, Java Web Start Minimální HW nároky RAM 128MB, HDD 60 MB Podporovaná verze UML 1.4 Integrace do IDE Samostatná aplikace Podporované notace UML Generování kódu C++ a C#, Java, PHP4, PHP5, Python, Ruby a, částečně i Ada,

Delphi a SQL Reverzování kódu Java Podporované typy diagramů Class, Statechart, Activity, Use Case, Collaboration, Deployment

diagram (Object a Component v jednom), Sequence Podporované typy DB PostgresSQL, MySQL, Orace, Obecná (modul DB-UML) Validování modelů Týmová spolupráce

Generování dokumentace Technická podpora 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

Page 23: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 23 z 91

Ukázka rozhraní aplikace

Obrázek 10 – ArgoUML – vytváření diagramu

Obrázek 11 – ArgoUML – Správa "kritiků"

Page 24: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 24 z 91

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 TopCased Výrobce Open source projekt Licence EPL Edice - Cena $0 Aktuální stabilní verze 3.1.0 (9/2009) Podporované platformy JVM Minimální HW nároky CPU 1GHz, RAM 512MB Podporovaná verze UML 2.0 Integrace do IDE Eclipse Podporované notace SysML, SAM, UML, AADL, ENCORE Generování kódu Ada, Java, Python, C++ Reverzování kódu Java Podporované typy diagramů Class, Use cases, State chart, Sequence, Deployment, Activity,

Components, Profiles Podporované typy DB PostgresSql, Oracle Validování modelů Týmová spolupráce Generování dokumentace Technická podpora Tabulka 6 – Přehled vlastností TopCased

Odkazy a zdroje informací

Oficiální stránka produktu: http://www.topcased.org

Page 25: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 25 z 91

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

Page 26: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 26 z 91

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 MosKITT Výrobce Valencian Regional Ministry of Infrastructure and Transport Licence Mozilla Public Licence Edice - Cena $0 Aktuální stabilní verze 1.0.1 (11/2009) Podporované platformy JVM Minimální HW nároky CPU 1GHz, RAM 512MB Podporovaná verze UML 2.0 Integrace do IDE Eclipse Podporované notace UML Generování kódu DDL Reverzování kódu

Podporované typy diagramů Class, Statechart, Activity, Use Case, Sequence Podporované typy DB PostgresSQL, MySQL, Orace Validování modelů Týmová spolupráce Generování dokumentace Technická podpora Tabulka 7 – Přehled vlastností MosKITT

Odkazy a zdroje informací

Oficiální stránka produktu: http://www.moskitt.org

Page 27: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 27 z 91

Ukázka rozhraní aplikace

Obrázek 14 – MosKITT – Ukázka databázového diagramu

Obrázek 15 – MosKITT – Ukázka Use case diagramu

Page 28: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 28 z 91

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 Acceleo Výrobce Open source projekt Licence Eclipse Public Licence Edice - Cena $0 Aktuální stabilní verze 2.6.0 (06/2009) Podporované platformy JVM Minimální HW nároky CPU 1GHz, RAM 512MB Podporovaná verze UML 1.3, 1.4, 2.0 Integrace do IDE Eclipse Podporované notace UML, Merise, OMT, MOF, EMF Generování kódu C#, Java, C, PHP, Python, JSP, Hibernate, JDBC Reverzování kódu

Podporované typy diagramů - XMI import Podporované typy DB

Validování modelů Týmová spolupráce

Generování dokumentace Technická podpora Tabulka 8 – Přehled vlastností Acceleo

Odkazy a zdroje informací

Oficiální stránka produktu: http://www.acceleo.org

Page 29: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 29 z 91

Ukázka rozhraní aplikace

Obrázek 16 – Acceleo – Ukázka stromového zobrazení v Reflective editor

Obrázek 17 – Acceleo – WebLog UML2 model

Page 30: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 30 z 91

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 Visual Paragdigm Výrobce Visual Paradigm International Ltd. Licence komerční software Edice Enterprise, Professional, Standard, Modeler, Personal,

Community Edition Cena $0 - $1399 Aktuální stabilní verze 7.1 (11/2009) Podporované platformy JVM Minimální HW nároky CPU 1+GHz, 512MB RAM (1GB doporučeno), 800+ MB HDD Podporovaná verze UML 2.1 Integrace do IDE Eclipse 3+, IntelliJ IDEA 4+, NetBeans 4+ Podporované notace UML 2.1, BPMN, SysML, XML, XMI Generování kódu Java, C#, VB.NET, PHP, ODL, Action Script, IDL, C++, Delphi, Perl,

XML Schema, Python, Objective-C, Ada 95 a Ruby Reverzování kódu Java, C++, .NET DDL nebo exe, IDL, Ada 95, XML, XML schema,

JDBC, Hibernate, PHP 5.0 a vyšší, Python a Objective-C Podporované typy diagramů 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

Podporované typy DB MySQL, MS SQL Server, Oracle, Sybase, PostgreSQL, Derby, Informix, Firebird, SQLite

Validování modelů Týmová spolupráce Generování dokumentace Technická podpora 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

Page 31: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 31 z 91

Ukázka rozhraní aplikace

Obrázek 18 – Visual Paradigm – Use Case Diagram

Obrázek 19 – Visual Paradigm – Procesní mapa

Page 32: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 32 z 91

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 Umbrello Výrobce The Umbrello Team Licence GPL Edice - Cena $0 Aktuální stabilní verze 2.3.0 (08/2009) Podporované platformy Linux (součást KDE), Mac OS Minimální HW nároky n/a (KDE: 512 MB RAM, 1GHz CPU) Podporovaná verze UML 2.0 Integrace do IDE

Podporované notace UML Generování kódu ActionScript, Ada, C#, C++, D, IDL, Java, JavaScript, Pascal, Perl,

PHP, Python, Ruby, SQL,Tcl, XML Schema Reverzování kódu C++, IDL, Pascal/Delphi, Ada, Python, and Java, a import XMI Podporované typy diagramů Use Case, Class, Sequence, Collaboration, State, Activity, Helper

Elements, Component, Deployment Diagrams Podporované typy DB

Validování modelů n/a Týmová spolupráce

Generování dokumentace

Technická podpora 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

Page 33: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 33 z 91

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

Page 34: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 34 z 91

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á

Page 35: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 35 z 91

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)

Page 36: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 36 z 91

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 VS Standard VS Professional VS Team System

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 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)

Page 37: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 37 z 91

Přehled vlastností

Název Microsoft Visual Studio Výrobce Microsoft Licence Proprietární – Microsoft EULA Edice 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

Cena $0 - $10939 Aktuální stabilní verze 2008 SP1 (08/2008) Podporované platformy Windows (Server 2003, Vista, XP) Minimální HW nároky CPU 1.6 GHz, RAM 384MB (768MB pod Win Vista), HDD 2.2 GB Debugger GUI builder Profiler Code Coverage Autocomplete Static code analysis Class browser Týmová spolupráce Generování dokumentace Technická podpora 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

Page 38: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 38 z 91

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

Page 39: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 39 z 91

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 Oracle JDeveloper Výrobce Oracle Licence Proprietární – OTN JDeveloper License Edice Java Edition; Studio Edition Cena $0 Aktuální stabilní verze 11g build 5407 (07/2009) Podporované platformy Windows (2000 SP4, NT SP6a, XP SP1), Linux, Solaris,

MAC OS X, HP-UX Minimální HW nároky CPU 866 MHz, RAM 512MB, HDD 230 MB Debugger GUI builder Profiler Code Coverage Autocomplete Static code analysis Class browser Týmová spolupráce Generování dokumentace Technická podpora 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

Page 40: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 40 z 91

Ukázka rozhraní aplikace

Obrázek 24 – JDeveloper – Zobrazení průběhu procesu

Obrázek 25 – JDeveloper – Integrovaný verzovací systém

Page 41: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 41 z 91

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 JBuilder Výrobce Borland/CodeGear Licence Proprietární Edice Enterprise Edition; Professional Edition Cena £0 - £1071 Aktuální stabilní verze 2008 R2 (04/2008) Podporované platformy Windows (2003 Server, XP SP3, Vista SP1) MAC OS X 10.5,

Linux, Solaris Minimální HW nároky CPU 2.4 GHz, RAM 512MB (Professional) / 1GB (Enterprise),

HDD 700 MB (Professional) / 1.2 GB (Enterprise) Debugger GUI builder Profiler Code Coverage Autocomplete Static code analysis Class browser Týmová spolupráce Generování dokumentace Technická podpora 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

Page 42: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 42 z 91

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

Page 43: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 43 z 91

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 IBM Rational Application Developer for WebSphere Software Výrobce IBM Licence Proprietární – IBM EULA Edice Cena $2150 - $7800 Aktuální stabilní verze 7.5.3 (06/2009) Podporované platformy Windows, Mac OS X, Linux, Solaris, AIX Minimální HW nároky CPU 800 MHz, RAM 1 GB, HDD 3.5 GB Debugger GUI builder Profiler Code Coverage Autocomplete Static code analysis Class browser Týmová spolupráce Generování dokumentace Technická podpora 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

Page 44: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 44 z 91

Ukázka rozhraní aplikace

Obrázek 28 – RAD – Integrovaný verzovací systém

Obrázek 29 – RAD – Editace zdrojového kódu

Page 45: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 45 z 91

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 NetBeans IDE Výrobce Sun Microsystems Licence Proprietární – CDDL, GPL2 Edice 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

Cena $0 Aktuální stabilní verze 6.7.1 (07/2009) Podporované platformy Windows, Mac OS X, Linux, Solaris Minimální HW nároky CPU 800 MHz, RAM 1 GB, HDD 3.5 GB Debugger GUI builder Profiler Code Coverage Autocomplete Static code analysis Class browser Týmová spolupráce Generování dokumentace Technická podpora 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

Page 46: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 46 z 91

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

Page 47: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 47 z 91

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 NetBeans IDE Výrobce Michael Kölling Licence GNU GPL Edice - Cena $0 Aktuální stabilní verze 2.5.3 (10/2009) Podporované platformy Windows, Mac OS X, Linux, Solaris Minimální HW nároky CPU 400MHz, RAM 128 MB, HDD 5MB Debugger GUI builder Profiler Code Coverage Autocomplete Static code analysis Class browser Týmová spolupráce Generování dokumentace Technická podpora 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

Page 48: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 48 z 91

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

Page 49: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 49 z 91

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 Eclipse Výrobce Eclipse Foundation Licence EPL Edice 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

Cena $0 Aktuální stabilní verze 3.5.1 (Classic – 10/2009) Podporované platformy Windows, Mac OS X, Unix, Linux, Solaris Minimální HW nároky CPU 500MHz, RAM 512 MB, HDD 162MB Debugger GUI builder Profiler Code Coverage Autocomplete Static code analysis Class browser Týmová spolupráce Generování dokumentace Technická podpora 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)

Page 50: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 50 z 91

Ukázka rozhraní aplikace

Obrázek 35 – Eclipse – Package Explorer

Obrázek 34 – Eclipse – XML v Eclipse

Page 51: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 51 z 91

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 MyEclipse Výrobce Genuitec Licence Proprietární Edice Professional Edition; Standard Edition; Blue Edition Cena $29.95 - $158.95 Aktuální stabilní verze 7.5 (10/2009) Podporované platformy Windows, Mac OS X, Linux Minimální HW nároky CPU 500MHz, RAM 512 MB, HDD 315MB Debugger GUI builder Profiler Code Coverage Autocomplete Static code analysis Class browser Týmová spolupráce Generování dokumentace Technická podpora 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

Page 52: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 52 z 91

Ukázka rozhraní aplikace

Obrázek 36 – MyEclipse – ukázka UI

Obrázek 37 – MyEclipse – dotazování pomocí SQL

Page 53: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 53 z 91

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 jGRASP Výrobce GRASP research group at Auburn University Licence Proprietární - freeware Edice - Cena $0 Aktuální stabilní verze 1.8.7_04 (10/2009) Podporované platformy Windows, Mac OS X, Linux, Solaris Minimální HW nároky CPU 200MHz, RAM 48 MB, HDD 16MB Debugger GUI builder Profiler Code Coverage Autocomplete Static code analysis Class browser Týmová spolupráce Generování dokumentace Technická podpora 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

Page 54: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 54 z 91

Ukázka rozhraní aplikace

Obrázek 39 – jGRASP – rozhraní aplikace

Obrázek 38 – jGRASP – podpora programovacích jazyků v rozhraní starší verze jGRASP IDE

Page 55: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 55 z 91

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 DrJava Výrobce JavaPLT group at Rice University Licence BSD Edice - Cena $0 Aktuální stabilní verze drjava-stable-20090821-r5004 Podporované platformy Windows, Mac OS X, Linux, Solaris Minimální HW nároky CPU 200MHz, RAM 64 MB, HDD 15MB Debugger GUI builder Profiler Code Coverage Autocomplete Static code analysis Class browser Týmová spolupráce Generování dokumentace Technická podpora 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

Page 56: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 56 z 91

Ukázka rozhraní aplikace

Obrázek 40 – DrJava – debugger

Obrázek 41 – DrJava – JUnit testování na Linuxu

Page 57: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 57 z 91

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 Greenfoot Výrobce Deakin University & University of Kent Licence GNU GPL Edice - Cena $0 Aktuální stabilní verze 1.5.6 (10/2009) Podporované platformy Windows, Mac OS X, Linux, Solaris Minimální HW nároky CPU 200MHz, RAM 64 MB, HDD 9MB Debugger GUI builder Profiler Code Coverage Autocomplete Static code analysis Class browser Týmová spolupráce Generování dokumentace Technická podpora 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

Page 58: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 58 z 91

Ukázka rozhraní aplikace

Obrázek 43 – Greenfoot – scénář přistání s vesmírnou raketou

Obrázek 42 – Greenfoot – simulace výtahu

Page 59: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 59 z 91

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 Význam

Basic tools - Editor/Debugger/Compiler and/or Interpreter, etc. 272.1

Documentation 212

Ability to integrate tools 195.5

Integration with databases 174.5

Support for frameworks 165.2

Database development tools 160.1

Size/quality of developer community 159

Web Design/Development Tools 154.7

Developer test tools including Code Coverage tools 154.7

Page 60: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 60 z 91

Availability of 3rd party tools 149.9

Ready to use out of box experience 138.8

Sample apps 137.3

Visual tools and declarative support 136.9

Quality of Tech Support 136.4

Runtime memory analysis tools 135.4

App Modeling tools 108.3

Support for Parallel Programming 87

Support for Remote development 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:

Page 61: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 61 z 91

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)

Page 62: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 62 z 91

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)

Page 63: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 63 z 91

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)

Page 64: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 64 z 91

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)

Page 65: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 65 z 91

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)

Page 66: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 66 z 91

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)

Page 67: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 67 z 91

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:

Page 68: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 68 z 91

Obrázek 63 – Hodnocení Delphi (zdroj: EDC)

Obrázek 64 – Hodnocení Eclipse (zdroj: EDC)

Page 69: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 69 z 91

Obrázek 65 – Hodnocení Rational Tools (zdroj: EDC)

Obrázek 66 – Hodnocení Visual Studio (zdroj: EDC)

Page 70: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 70 z 91

Obrázek 67 – Hodnocení NetBeans (zdroj: EDC)

Obrázek 68 – Hodnocení IntelliJ (zdroj: EDC)

Page 71: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 71 z 91

Obrázek 69 – Hodnocení Sun Studio (zdroj: EDC)

Obrázek 70 – Hodnocení JDeveloper (zdroj: EDC)

Page 72: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 72 z 91

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

Page 73: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 73 z 91

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é.

Page 74: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 74 z 91

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.

Page 75: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 75 z 91

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ů.

Page 76: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 76 z 91

Obrázek 74 – Krok 1: Výroba základního uml z package

Obrázek 75 – Krok 2: Generování TopCased modelu

Page 77: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 77 z 91

Obrázek 76 – TopCased Wizard vytvoření diagramu z existujícího modelu

Page 78: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 78 z 91

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

Page 79: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 79 z 91

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í

Page 80: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 80 z 91

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í.

Page 81: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 81 z 91

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. Instalace Altova UModel na platformě Windows

2. Integrace s Visual Studio

3. Generace kódu z UML

4. 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.

Page 82: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 82 z 91

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“.

Page 83: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 83 z 91

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

Page 84: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 84 z 91

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.

Page 85: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 85 z 91

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

Page 86: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 86 z 91

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.

Page 87: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 87 z 91

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.

Page 88: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 88 z 91

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://www-

01.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.

Page 89: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 89 z 91

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

Page 90: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 90 z 91

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

Page 91: Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky

Seminární práce k předmětu 4IT450

Stránka 91 z 91

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