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