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
91
Embed
Nástroje pro vývoj aplikací v závislosti na platformě a ...panrepa.org/CASE/zima2009/Nastroje_pro_vyvoj... · Vysoká škola ekonomická v Praze | Fakulta informatiky a statistiky
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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
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
3. IDE ............................................................................................................................. 34
Co je to IDE? ...................................................................................................................................... 34
Přehled vybraných IDE ...................................................................................................................... 36
Microsoft Visual Studio ................................................................................................................. 36
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ší.
Seminární práce k předmětu 4IT450
Stránka 7 z 91
Sledované parametry IDE
Debugger
Debugger je počítačový program určený pro testování a ověřování funkčnosti jiných programů.
Typicky poskytuje funkce jako krokování (provádění kódu programu po jednotlivých krocích),
přerušení vykonávání kódu pro prozkoumání stavu programu nebo proměnných ve vybraném
okamžiku, po provedení vybrané instrukce nebo dosažení určitého místa ve struktuře programu.
GUI builder
GUI builder, někdy též GUI designer, je nástroj, který vývojáři zjednodušuje tvorbu grafického
uživatelského rozhraní aplikace. Místo zdlouhavého ručního psaní parametrů a vlastností jednotlivých
prvků grafického rozhraní může vývojář k návrhu použít metodu drag-and-drop a WYSIWYG editory a
vývoj aplikace tak značně urychlit.
Profiler
Při vývoji software se Profiler (též Program profiler, Software profiler) používá jako forma dynamické
programové analýzy. Na rozdíl od statické analýzy (viz dále) je sledováno chování programového
kódu během svého vykonávání a jsou shromažďovány informace např. o jeho celkové rychlosti, o
využívání paměťového nebo diskového prostoru. Výsledky této analýzy jsou obvykle využívány pro
identifikaci slabých míst kódu a jeho optimalizaci.
Code Coverage
Code coverage je měřítko používané v softwarovém testování a určuje míru, do které je zdrojový kód
programu otestován. Při tomto způsobu testování je prověřován přímo programový kód, nikoliv např.
pouze vracené výstupy metod, proto se jedná o tzv. white-box testování. Code coverage je jednou
z prvních metod vyvinutých pro systematické testování programového kódu.
Autocomplete
Autocomplete, neboli automatické dokončování významně ovlivňuje přímočarost a jednoduchost
psaní programového kódu. Díky této funkci jsou programátorovi při psaní zdrojového kódu
automaticky nabízena pouze ta klíčová slova (názvy funkcí, proměnných, apod.), která jsou v daném
kontextu použitelná a smysluplná. Vedle značného zrychlení psaní kódu tato funkce také významně
snižuje možnost chyb způsobených překlepy či nepozorností programátora.
Static code analysis
Na rozdíl od dynamického testování (viz Profiler výše) je Static code analysis způsob testování
programového kódu bez vlastního spuštění aplikace, kterou kód tvoří. Static code analysis se většinou
provádí na různých verzích částí zdrojového kódu aplikace nebo objektů.
Class browser
Class browser je další významná funkcionalita integrovaných vývojových prostředí, která umožňuje
snadnou vizualizaci objektově orientovaného programového kódu. Vývojář tak může snadno
procházet navrženou strukturu objektů a sledovat vazby mezi nimi.
Týmová spolupráce
Při profesionálním vývoji aplikací zřídkakdy pracuje na projektu samostatně jeden vývojář, proto je
vhodná podpora týmové spolupráce nezbytností moderních vývojových prostředí. Jedná se zejména
o společné úložiště projektů pro všechny členy vývojového týmu. Společným úložištěm je zajištěno,
Seminární práce k předmětu 4IT450
Stránka 8 z 91
že všichni členové vývojového týmu mají k dispozici aktuální verzi vyvíjené aplikace a díky správě
verzí nedochází ke konfliktům různých zdrojových kódů. Některé nástroje nabízejí velmi rozsáhlou a
sofistikovanou podporu týmového vývoje i podle metodik vývoje software, např. s možností
definování různých rolí vývojových pracovníků (project manager, programátor, tester), správu a
přiřazování úkolů, komunikace mezi členy týmu, reportování chyb v aplikaci, apod.
Generování dokumentace
Každá vyvíjená aplikace by měla být řádně dokumentována a většina vývojových nástrojů se snaží
tuto často opomíjenou a podceňovanou činnost zjednodušit a zautomatizovat. U vybraných produktů
je hodnocena podpora tvorby technické dokumentace, ačkoliv některé nástroje umožňují i tvorbu
uživatelské dokumentace, v produkčním prostředí jsou však často pro tvorbu a údržbu uživatelské
dokumentace využívány specializované nástroje.
Technická podpora
U komerčních produktů je zpravidla technická podpora samozřejmostí. Pokud má být produkt určen
pro profesionální vývoj ve firemním prostředí, je nezbytná garantovaná kvalifikovaná podpora a navíc
jsou často nabízeny různé formy školení a certifikace vývojových pracovníků. U opensource produktů
je podpora zajištěna často komunitou uživatelů formou diskusních fór a specializovaných serverů.
Vysvětlení použitých symbolů v přehledech vlastností
Podporovaná/obsažená funkcionalita
Částečně podporovaná/obsažená funkcionalita
Nepodporovaná/neobsažená funkcionalita
n/a Nezjištěno
Seminární práce k předmětu 4IT450
Stránka 9 z 91
2. CASE
Co to jsou CASE nástroje? CASE je zkratkou z angličtiny znamenající – Computer Aided Software Engineering. Tyto nástroje,
obecně řečeno, slouží k automatizaci specifikací požadavků, návrhům, analýzám, kódování, údržbě a
testování softwarových aplikací a informačních systémů. Tyto nástroje však nelze chápat jako
všestranné a ne každý umí všechny popsané činnosti. V praxi existuje určitá diference v tom, jaké
možnosti zmíněné CASE nástroje nabízejí.
CASE nástrojů existuje celá řada, je tedy na uživateli, který CASE nástroj použije v určité situaci. U
projektování je mimo jiné kladen důraz na znalosti a určitého stupně zkušenosti. Ne vše je však lidský
faktor schopen pojmout a pro tyto případy jsou proto CASE nástroje schopné řešit nejrůznější
souvislosti.
Je tedy nutno podotknout, že máme nástroje, které se specializují na určitou oblast. Touto oblastí
rozumíme například tvorbu databází, nebo pouze na testování, tvorbu datových toků apod. Na
druhou stranu, existují nástroje, které mají širší zaměření a jsou schopné pojmout tvorbu mnohem
komplexnějších systémů. Tyto nástroje jsou schopné rozpracovat velmi široký a všeobecný
konceptuální návrh systému a postupným zpracováním jednotlivých komponent, zpřesňováním
návrhu a provázáním s dalšími pohledy jsou schopné dojít až do konečné fáze, kde může být
výsledkem export návrhu přímo do zdrojového kódu včetně dokumentace pro další zpracování.
Díky faktu, že se používání těchto nástrojů velice rozšířilo, existuje na trhu veliké množství nástrojů s
nejrůznějšími vlastnostmi. Vývoj těchto nástrojů již není zcela v rukou velkých gigantů, jako jsou IBM
nebo Oracle, do popředí stále vystupují i menší firmy nebo open-source projekty se svými nástroji.
Jaké máme druhy CASE nástrojů? V této části se zaměříme především na jednotlivé fáze vývoje software a druhy CASE nástrojů, které
je možné v jednotlivých fázích použít. Plné využití potenciálu záleží mimo jiné také na vybrané
metodice.
Nejběžnější rozdělení CASE nástrojů vychází ze životního cyklu vývoje informačního systému. Na
následujícím obrázku je uveden výčet obecných názvů (typů):
• Pre CASE
• Upper CASE
• Middle CASE
• Lower CASE
• Post CASE
Seminární práce k předmětu 4IT450
Stránka 10 z 91
Obrázek 1 – Typy CASE nástrojů (zdroj: www.dbsvet.cz)
Co CASE nástroje umožňují a jaký je přínos? CASE nástroj je prostředkem, který primárně umožňuje:
• modelování informačních systémů prostřednictvím diagramů
• generování zdrojového kódu z vytvořeného modelu
• zpětné vytvoření modelu z vygenerovaného zdrojového kódu
• synchronizaci modelu a zdrojového kódu
• vytvoření dokumentace z modelu
Druhotně CASE nástroj umožňuje týmovou spolupráci a vše, co je s ní spojeno. Jde především o:
• sdílení rozpracovaných částí
• sleduje konzistenci modelu
• automatizuje některé procesy
• kontroluje a hlídá dodržování zvolené metodiky
Přínos CASE nástrojů je patrný jak v oblasti finanční, tak i nefinanční. Mezi nefinanční přínosy patří
především:
• Vyšší produktivita práce
• Nižší chybovost
• Snazší údržba a další vývoj výsledného produktu
• Kvalitnější dokumentace
Seminární práce k předmětu 4IT450
Stránka 11 z 91
Z čeho se CASE nástroje skládají? Složení CASE nástroje se vždy liší od typu a účelu použití. Obecně však můžeme říci, že každý
obsahuje obdobné komponenty. Dá se říci, že každá komponenta vyplývá z určitých požadavků, které
plynou z životního cyklu projektu a z požadavků, které si kladou samotní uživatelé.
• Konzistentní grafické uživatelské rozhraní (GUI) – toto rozhraní by mělo být v souladu s
obecnými požadavky a zásadami, které se uplatňují při tvorbě GUI. Jde především o:
o jednotný vzhled obrazovek
o popisky tlačítek
o jednotné a intuitivní ovládání (doplněné o běžné i specifické klávesové zkratky)
o vhodně zvolený druh, velikost a typ písma
• Centrální repository (databáze) pro ukládání informací o objektech, které se vytvoří a použijí
během životního cyklu projektu (tímto se zaručí to, že objekty mají vlastnost
znovupoužitelnosti)
• Generátor zdrojových programů a dokumentace
• Jednoduchý import/export dat (zde je kladen důraz na kompatibilitu výstupu jiných
programů a jejich snadnou importaci) (1)
Výběr vhodného CASE nástroje Analýza a design softwarových produktů je ovlivněna několika faktory. Vedle míry znalosti postupů a
modelovacích technik stojí také faktor výběru vhodného CASE nástroje pro podporu vývojových
činností. Navrhované aplikace se stávají mnohem komplikovanějšími a provázanějšími. V současné
době je takřka nemožné vytvářet jednotlivé modely aplikací ručně, proto se klade velký důraz na
výběr nástroje, který dokáže podpořit vývoj aplikací a systémů již od prvních etap. Každá etapa
přitom vyžaduje určitý nástroj, přičemž na sebe jednotlivé etapy navazují nebo se dokonce prolínají.
Z tohoto důvodu musejí být jednotlivé nástroje provázané.
Nyní se dostáváme k problému, že ne všechny nabízené softwarové produkty zahrnují všechny typy
CASE nástrojů a ne vždy jsou všechny zapotřebí. Výběr je ovlivněn hlavně ze strany vedení projektu,
které musí zvážit, zda je vhodné použít všechny typy CASE nástrojů integrovaných do jednoho celku,
anebo pořídit více specializovaných CASE nástrojů. V druhém případě však nastává problém
provázanosti a integrace.
Při výběru CASE nástroje je dobré řídit se následujícími otázkami:
Vyhovuje nástroj požadavkům, které jsou spojeny s procesem vývoje informačního systému nebo jiného softwarového produktu? Nástroj by měl být schopen podporovat a používat zvolenou metodiku vývoje. Opačný přístup (tzn.
pořídit nástroj a poté zjišťovat, do jaké míry je schopen používat zvolenou metodiku a dle toho ji
vybírat) není zcela vhodný. U některých projektů a prostředí je tento způsob přímo nežádoucí.
Může být CASE nástroj integrován mezi ostatní nástroje, které jsou využívány během projektu? Tato otázka nastává v případě, pokud nástroj není schopen podpory všech etap projektu, ve kterých
je tedy nutné dodržet konzistenci modelů a návrhů. Nástroj je pak možné snadno integrovat mezi
ostatní nástroje.
Seminární práce k předmětu 4IT450
Stránka 12 z 91
Je nástroj modulární? Tato otázka je důležitá, stejně jako při výběru vhodného informačního systému, např. při pořízení IS
typu ERP. Ne vždy podnik využije všechny možnosti, které systém nabízí a stejné je to i u CASE
nástroje. Ne vždy je zapotřebí pořizovat všechny prostředky, je vhodné zvážit, jaké nástroje a funkce
se využijí a dle toho pořídit vhodný nástroj. Někdy se využívá možnosti licencování jednotlivých
modulů. Licence se pro určitý modul nakoupí pouze na danou dobu (např. vývoj), protože tento
modul není třeba využívat během celého vývoje IS.
Je možné nástroj modifikovat? Každý projekt je jiný, proto je vhodné zvážit, zda CASE nástroj podporuje nějakou modifikaci a
customizaci, která vyplývá ze samotného vývoje IS a z procesů zavedených ve vývojové firmě.
Je uživatelské rozhranní kvalitní? Nástroj by měl být schopen vhodně podporovat a obsahovat nápovědu, která se týká jak modelů, tak
i podporovaných metodik. Dále v dnešní době musí nástroj bezpodmínečně podporovat klávesové
zkratky. Mnoho vývojářů je v dnešní době již zvyklých pracovat co nejrychleji, a jisté klávesové
zkratky jsou samozřejmostí. Dále by měl CASE nástroj vycházet ze zažitých standardů ovládání (např.
vycházejících z MS Windows apod.).
Je nástroj schopný rozlišovat různé role uživatelů? Jde o zpřístupnění relevantních informací pro určené typy uživatelů. Ne každý vývojář a člen
projektového týmu potřebuje přístup ke všem modelům a návrhům v CASE nástroji zpracovávaným,
vhodným přiřazením rolí se dá omezit rozsah zpřístupněného modelu i funkcí, které jsou uživateli
s danou rolí k dispozici.
Do jaké míry je nástroj schopný kontrolovat dodržování metodiky? Nástroje již z větší části podporují kontrolu syntaxe programovacího jazyka. Dále by však měly
podporovat i kontrolu mezi diagramy anebo kontrolu postupů dle vybrané metodiky.
Podporuje nástroj vytváření dokumentace? Nástroj by měl být schopen generovat dokumentaci dle stanovených pravidel nebo dle šablon, které
by měl nástroj také podporovat. Dokumentace DOC nebo HTML by měla být podporována
standardně, další formáty (Docbook, WinHelp) jsou podporovány závislosti na produktu.
Umožňuje nástroj generovat datové modely a modely do programovacích jazyků? Pokud vybraný CASE nástroj podporuje datové modelování, měl by být schopen datový model také
vygenerovat. Je tedy vhodné zvážit, do jaké míry nástroj podporuje generování databázových dotazů
a v jakém databázovém jazyce.
Jaké možnosti engineeringu nástroj podporuje? Mezi nejdůležitější typy engineeringu patří reverse engineering a nebo tzv. round trip engineering.
Prvně zmíněný umožňuje zahrnout do analýzy již zhotovený zdrojový kód, druhý umožňuje provádět
změny ve vygenerovaném kódu, přičemž se nenaruší vazba mezi vygenerovaným kódem a návrhem
systému.
Jaká je cena?
Jaká je technická a uživatelská podpora? Placené školení, helpdesková podpora, komunitní diskusní fóra, apod.
Seminární práce k předmětu 4IT450
Stránka 13 z 91
V jakém národním jazyce je nástroj schopný pracovat? Tato otázka se týká především jazyka, ve kterém je generována dokumentace. Nejde pouze o
přeložená menu apod.
Jaké jsou možnosti CASE nástrojů CASE nástroje v současnosti umožňují celou škálu činností. Zde jsou zmíněny ty nejdůležitější:
Objektové modelování Objektový přístup umožňuje definovat a modelovat případy použití, hraniční, datové, řídící a
doménové objekty. V rámci objektového modelování se nezabýváme pouze statickým modelováním
tříd, ale i interakcí a činností, které tyto třídy umožňují mezi sebou.
Porovnávání modelů Součástí CASE nástrojů je i funkce porovnávání jednotlivých datových modelů. Je možné sledovat
rozdíly dle nejrůznějších kritérií.
Podpora spolupráce při vývoji Jedná se zde především o podporu znovupoužitelnosti kódu, repository a verzování.
Automatické vytváření dokumentace Takto vytvořená dokumentace umožňuje uživatelům sledovat v přehledné formě stav a informace o
vyvíjeném systému. Dokumentace je důležitým prvkem, protože vyhledávání potřebných informací
pouze z modelů je časově náročnější a ne všechny informace jsou v modelu obsaženy a jednoduše
zobrazitelné.
Generování zdrojového kódu Velmi často používaná funkce je vygenerování zdrojového kódu z definovaných modelů. Nástroj je
schopný vygenerovat základní zdrojový kód (model tříd a metod) pro vyvíjenou aplikaci, z datového
modelu je schopný vygenerovat skripty pro vytvoření databáze.
Engineering Jde o již výše zmíněný reverse engineering a round trip engineering.
Návrh vícerozměrných témat Další oblíbenou možností je vytváření různých databázových schémat, díky tomu je možné vytvořit
podmínky pro nasazení nástrojů, které se používají pro získávání a transformaci dat a plnění datových
skladů.
Procesní modelování Jednou z funkcí je také procesní modelování. Jde o podporu diagramů datových toků.
Sledování a podpora životního cyklu Nástroje umožňují sledovat model již od počátku (vytváření požadavků) až po samotnou
implementaci, nasazení a následnou údržbu hotového produktu.
Správa požadavků uživatelů Rozhodujícím faktorem již v samotném počátku vývoje softwarových produktů jsou požadavky
uživatelů. Není možné specifikovat veškeré požadavky na začátku vývoje, požadavky se mění a
vyvíjejí a CASE nástroje umožňují tyto požadavky evidovat a sledovat. Výstupem často bývají
uživatelské scénáře, diagramy užití, aktivit, apod.
Seminární práce k předmětu 4IT450
Stránka 14 z 91
Přehled vybraných CASE nástrojů
Borland Together 2007
Stručný popis
Borland Together 2008 od společnosti Borland Software
Corporation je sada nástrojů pro návrh, analýzu a implementaci
řešení v oblasti tvorby a modelování softwarové architektury. Je
to jeden z prvních modelovacích nástrojů, které podporují DSL
(Domain Specific Language). Od verze 2007 není nástroj rozdělen do 3 edicí (Designer, Developer,
Architect), ale pokrývá všechny části v jedné edici. Kromě funkcí a nástrojů pro modelování business
procesů, datových modelů, UML modelování a MDA, disponuje Borland Together 2008 i funkcemi
pro generování dokumentace, řízení kvality modelu a kódu pomoci zabudovaných metrik a auditů,
podpora teamové spolupráce založena na rolích s možností kontroly verzování .
Mezi jednu z hlavních výhod Borland Together patří mimo jiné jeho nezávislost na platformě a stejně
jako předešlé verze, tak i Borland Together 2008 je distribuován pro většinu operačních systémů.
Jako sadu plug-inů jej lze integrovat s Eclipse, Microsoft Visual Studio .NET a C++BuilderX. (2) (3)
Přehled vlastností
Název Together Výrobce Borland Software Corporation Licence Proprietární Edice - Cena $3500 - $4500 Aktuální stabilní verze 2008 R2 WW (08/2009) Podporované platformy Windows (XP SP2, Vista), Linux, Solaris 10, Mac OS X Minimální HW nároky RAM 1GB, HDD 1.4GB Podporovaná verze UML 2.0 Integrace do IDE Eclipse, MS Visual Studio, C++BuilderX Podporované notace UML, BPMN Generování kódu Java, J2EE, C++, C# Reverzování kódu Java, C++, CORBA IDL Podporované typy diagramů Class Diagram, Use Case Diagram, Interaction Diagram, State
PowerDesigner 15 od společnosti Sybase je jedním z nejznámějších
modelovacích nástrojů, se zhruba třetinovým podílem na trhu,
vyvíjeným od roku 1989. Pokrývá široké spektrum nástrojů, od
modelování obchodních procesů (zaměřené na manažerské pozice)
po tvorbu class diagramů, modelů a datových modelů orientované na vývojářské pozice.
Modelování v PowerDesigneru vychází z principu 3 architektur (konceptuální, logická a fyzická) a
k dispozici je obousměrný engineering pro nejpoužívanější jazyky, na více než 50 typech relačních
databází. Pomocí plug-inů lze synchronizovat kód s modelem v nástrojích Eclipse, PowerBuilder a
Visual Studio. Sybase PowerDesigner umožňuje prácí v teamech s přidělením rolí a přístupů a
verzování ve společné repository.
Kromě rozšíření seznamu podporovaných databází je v současné verzi PowerDesigneru také nový
model Enterprise Architecture rozdělený do 3 vrstev (Business, Application, Infrastructure),
vylepšená podpora pro vytváření projektů a frameworků a nástroje Impact Analysis. Novou funkci je
také možnost importovat modely z nástroje Microsoft Visio. (4) (5)
Přehled vlastností
Název PowerDesigner Výrobce Sybase Licence Proprietární Edice Data Architect; Developer; Studio; Enterprise Cena $3,000 - $7,500 Aktuální stabilní verze 15.1 Podporované platformy Windows (XP, Server 2003, Vista) Minimální HW nároky CPU 1,5GHz, RAM 1GB, HDD 500 MB Podporovaná verze UML 1.x, 2.0 Integrace do IDE Eclipse, PowerBuilder a Visual Studio Podporované notace UML, BPMN, DFD, ER Generování kódu Java, C#, C++, PowerBuilder, XML, VB.NET Reverzování kódu Java, C#, C++, PowerBuilder, XML, VB.NET Podporované typy diagramů Class Diagram, Business Process Diagram, Behavioral Diagram,
Statechart, Application Architecture Diagram, Technology Infrastructure Diagram, Use Case Diagram, Component Diagram, Deployment Diagram, Activity Diagram, Collaboration Diagram, Sequence Diagram
Podporované typy DB PostgresSQL, MySQL, MS SQL Server, IBM DB/2, Orace,a jiné Validování modelů Týmová spolupráce Generování dokumentace Technická podpora Tabulka 2 – Přehled vlastností PowerDesigner
Odkazy a zdroje informací
Oficiální stránka produktu: http://www.sybase.com/powerdesigner
Informace na Wikipedia: http://en.wikipedia.org/wiki/PowerDesigner
Obrázek 4 – PowerDesigner – ukázka Business process diagramu
Obrázek 5 – PowerDesigner – ukázka diagramu tříd
Seminární práce k předmětu 4IT450
Stránka 18 z 91
Altova UModel
Stručný popis
Altova UModel je modelovací aplikace na bázi UML, vyvíjena od roku
1998 americko-rakouskou společností Altova. V současnosti je
UModel možné koupit samostatně, nebo jako součást balíku Altova
Mission Kit 2010 Software Architects, který benefituje z provázanosti
jednotlivých vývojových nástrojů této společnosti. Dále pak lze UModel pomocí doplňujících balíku,
které je možné stáhnout zdarma ze stránek Altova, integrovat UModel do Eclipse a MS Visual Studio.
UModel disponuje širokým spektrem diagramů, bohatým a přehledným uživatelským rozhraním,
generováním (i zpětným) kódu v jazycích Java, C#, Visual Basic .NET a tvorbou dokumentace v HTML,
Word a RTF. Oproti předešlým verzím obsahuje UModel 2010 navíc podporu pro SysML Diagramy
(Systems Modeling Language), automatické generování více sekvenčních diagramů najednou a nové
funkce pro tvorbu diagramů, generování dokumentace a tvorbu kódu. (6) (7)
Přehled vlastností
Název Altova UModel 2010 Výrobce Altova GmbH Licence Proprietární Edice Enterprise
Professional Cena $149 (Enterprise) - $99 (Professional) Aktuální stabilní verze 12.0.0 Podporované platformy Microsoft Windows Minimální HW nároky RAM 256MB, HDD 350 MB Podporovaná verze UML UML 2.2 Integrace do IDE Microsoft Visual Studio, Eclipse Podporované notace UML Generování kódu Java 1.6, C#2.0, VB9.0 Reverzování kódu Podporované typy diagramů Use Case Diagram, Class Diagram, Object Diagram, Sequence
Diagram, Component Diagram, Deployment Diagram, Timing Diagram, XML Schema as UML Diagram, Business Process Diagram, Activity Diagram, Communication Diagram, Composite Structure Diagram, Interaction Diagram, Package Diagram, State Machine Diagram, Profile Diagram, SysML Diagram
Podporované typy DB Microsoft SQL Server, Microsoft Access Validování modelů Týmová spolupráce Generování dokumentace Technická podpora Tabulka 3 – Přehled vlastností Altova UModel
Odkazy a zdroje informací
Oficiální stránka produktu: http://www.altova.com/umodel.html
Informace na Wikipedia: http://en.wikipedia.org/wiki/UModel
Aplikace Visio je komerční nástroj pro tvorbu diagramů
různých typů, vyvíjen od roku 1992. Původní produkt
společnosti Visio Corporation, koupený společností Microsoft
v roce 2000, se stal součástí balíků Microsoft Office.
Microsoft Office Visio 2007 umožňuje návrh diagramů, schémat a modelů za použití vektorové
grafiky, jejich analýzu a prezentaci. Visio 2007 pokrývá široké spektrum diagramů, od technických
(schopnost práce se soubory AutoCAD - návrh půdorysu, projekty instalace plynu a vody apod. s),
přes diagramy auditů, příčin a následků, až po diagramy sloužící pro analýzu v IT (UML Model
Diagram, Database Model Diagram, Data flow apod.). Výhodou tohoto nástroje je snadná obsluha,
založená na „naklikání“ objektů a tvarů z rozsáhlých knihoven a naopak nevýhodou oproti ostatním
CASE nástrojům je nižší funkcionalita. Visio 2007 používá pro práci s diagramy soubory .vsd. Nová
verze aplikace je naplánována v rámci balíku Microsoft Office 2010. (8) (9)
Přehled vlastností
Název Microsoft Office Visio 2007 Výrobce Microsoft Licence Proprietární Edice Standard
Professional Cena $349-$559 (Professional) $129-$259(Standard) Aktuální stabilní verze 12.0.6423.1000 (04/2009) Podporované platformy Microsoft Windows Minimální HW nároky CPU 500MHz RAM 256MB, HDD 1.5 GB Podporovaná verze UML UML 2.0 Integrace do IDE Microsoft Visual Studio Podporované notace UML Generování kódu SQL Script
Reverzování kódu
Podporované typy diagramů Business Process Diagram, Audit Diagram, Flowchart, Cause and Effect Diagram, Data-flow Diagram, EPC Diagram, TQM Diagram, Work Flow Diagram, XML Diagram
Podporované typy DB Microsoft SQL Server, Microsoft Access Validování modelů
Týmová spolupráce
Generování dokumentace
Technická podpora Tabulka 4 – Přehled vlastností Microsoft Visio 2007
Odkazy a zdroje informací
Oficiální stránka produktu: http://office.microsoft.com/en-us/visio
Informace na Wikipedia: http://en.wikipedia.org/wiki/Microsoft_visio
ArgoUML je CASE nástroj sloužící pro vytváření UML diagramů. Naposledy byl v
obdobě této práce popisován na podzim 2008. Popisována byla verze 0.26.2, v
současnosti je aktuální verze 0.28.1, která vyšla 17. srpna 2009. ArgoUML umí
pracovat se všemi standardními UML diagramy. Stále je aktuální podporováno UML
1.4. Ve vývoji je podpora UML 2.2, která se má poprvé objevit v ArgoUML 0.29.1. (U některých typů
diagramů v současnosti nejsou ještě naimplementovány všechny prvky podle specifikace UML 1.4).
Software je poskytován pod otevřenou licencí BSD. Nástroj je možné vyzkoušet přímo z webu
projektu spuštěním přes Java Web Start. Software je stále ve vývoji formou otevřeného projektu, do
kterého se může připojit každý. Nevýhodou tohoto přístupu je stav dokumentace zaostávající za
stavem kódu a nepřítomnost komerční uživatelské podpory. Firma Gentleware poskytuje produkt
Poseidon for UML založený na ArgoUML aktuálně ve verzi 6.0 z roku 2007.
AgroUML nemá validaci modelů jako takovou, místo ní má vlastnost zvanou „kritici“. Jde o soubor
pravidel, která jsou kontrolována na pozadí. Při jejich porušení je uživatel upozorněn, kontrolu
jednotlivých pravidel lze samozřejmě vypnout. Snahou je, aby uživatel získal správné návyky
postupným učením se. Žádná pravidla mu ale nejsou vnucena, a naopak uživatel si může definovat
vlastní (např. firemní standardy). (10) (11)
Přehled vlastností
Název ArgoUml Výrobce Open source projekt Licence BSD Edice - Cena $0 Aktuální stabilní verze 0.28.1 (08/2009) Podporované platformy JVM, Java Web Start Minimální HW nároky RAM 128MB, HDD 60 MB Podporovaná verze UML 1.4 Integrace do IDE Samostatná aplikace Podporované notace UML Generování kódu C++ a C#, Java, PHP4, PHP5, Python, Ruby a, částečně i Ada,
Delphi a SQL Reverzování kódu Java Podporované typy diagramů Class, Statechart, Activity, Use Case, Collaboration, Deployment
diagram (Object a Component v jednom), Sequence Podporované typy DB PostgresSQL, MySQL, Orace, Obecná (modul DB-UML) Validování modelů Týmová spolupráce
Generování dokumentace Technická podpora Tabulka 5 – Přehled vlastností ArgoUML
Odkazy a zdroje informací
Oficiální stránka produktu: http://argouml.tigris.org
Informace na Wikipedia: http://en.wikipedia.org/wiki/ArgoUML
TopCased je soubor nástrojů pro modelování, verifikaci a transformaci
modelů založený na prostředí Eclipse. TopCased podporuje metodologii
Model-driven engineering (MDE), Na základě modelů dokáže generovat
dokumentaci i zdrojový kód. Zpětně do UML dokáže převést zdrojové
kódy psané v Javě a naopak z UML generuje kód v Javě, C a Pythonu,
pomocí SMUC plug-inu pak zvládá dále převod UML do C, C++, C#,
Objective C, Ruby, Perl, VB .Net, Lua a Tcl. Funguje generování
dokumentace z modelů a dokonce je možný částečný převod dokumentace do modelů z OpenXml
(Office07) nebo OpenDocument (Open Office). Kontrola modelů je možná pomocí pravidel
popsaných v OCL (Object Constraint Language). TopCased je opensource projekt, což se částečně
projevuje na ne/kvalitě dokumentace, která se sestává převážně z grafických tutoriálů. Ovšem
vzhledem k partnerům projektu jak z oblasti akademické, tak průmyslové (mezi partnery je i Airbus)
napovídá, že projekt zahájený v roce 2004 má budoucnost. (12)
Přehled vlastností
Název TopCased Výrobce Open source projekt Licence EPL Edice - Cena $0 Aktuální stabilní verze 3.1.0 (9/2009) Podporované platformy JVM Minimální HW nároky CPU 1GHz, RAM 512MB Podporovaná verze UML 2.0 Integrace do IDE Eclipse Podporované notace SysML, SAM, UML, AADL, ENCORE Generování kódu Ada, Java, Python, C++ Reverzování kódu Java Podporované typy diagramů Class, Use cases, State chart, Sequence, Deployment, Activity,
Components, Profiles Podporované typy DB PostgresSql, Oracle Validování modelů Týmová spolupráce Generování dokumentace Technická podpora Tabulka 6 – Přehled vlastností TopCased
Odkazy a zdroje informací
Oficiální stránka produktu: http://www.topcased.org
Obrázek 13 – TopCased – Ukázka rozhraní s diagramem tříd
Seminární práce k předmětu 4IT450
Stránka 26 z 91
MosKITT
Stručný popis
MosKITT je zdarma šířený CASE nástroj založený na Eclipse,
vyvíjený Regionálním valencijským ministerstvem infrastruktury a
dopravy a je zaměřen primárně pro podporu metodologie
gvMétrica (dle které je i vyvíjen), což je adaptace metodologie
návrhu vývoje a nasazení software MÉTRICA III. MosKITT je
navržen modulárně a jeho funkcionalita odpovídá dané metodologii, která požaduje grafickou editaci
modelů, podporu persistence, podporu týmové spolupráce a verzování modelů, transformaci,
synchronizaci a možnost sledování celého procesu vývoje modelů (traceability), generování
dokumentace a DDL z modelů, podporu procesu vývoje a vedení uživatelů jednotlivými kroky
přidělených úkolů. Autoři nástroje MosKITT prohlašují, že se snaží být otevřenou modelovací
platformou, ovšem nedostatek dokumentace (k verzi 0.9.0 zatím pouze španělsky) tomu mohou
poněkud překážet. (13)
Přehled vlastností
Název MosKITT Výrobce Valencian Regional Ministry of Infrastructure and Transport Licence Mozilla Public Licence Edice - Cena $0 Aktuální stabilní verze 1.0.1 (11/2009) Podporované platformy JVM Minimální HW nároky CPU 1GHz, RAM 512MB Podporovaná verze UML 2.0 Integrace do IDE Eclipse Podporované notace UML Generování kódu DDL Reverzování kódu
Podporované typy diagramů Class, Statechart, Activity, Use Case, Sequence Podporované typy DB PostgresSQL, MySQL, Orace Validování modelů Týmová spolupráce Generování dokumentace Technická podpora Tabulka 7 – Přehled vlastností MosKITT
Odkazy a zdroje informací
Oficiální stránka produktu: http://www.moskitt.org
Umbrello UML Modeller je freewarový CASE nástroj dostupný nativně pro Unix
operační systémy a specializovaný čistě na editaci UML. Je součástí linuxového
KDE, avšak lze ho úspěšně nainstalovat a používat samostatně i v dalších
prostředích. Podporuje práci s veškerými běžně používanými UML diagramy
včetně reverse engineering, generování kódu a exportu obsahu modelů do
XHTML a DocBook formátu. Nelze ho však doporučit jako profesionální nástroj pro vývojářský tým,
jelikož týmovou spolupráci nijak nepodporuje. Jedná se spíš o nástroj vhodný pro jednotlivce na
menší softwarové projekty. (17) (18)
Přehled vlastností
Název Umbrello Výrobce The Umbrello Team Licence GPL Edice - Cena $0 Aktuální stabilní verze 2.3.0 (08/2009) Podporované platformy Linux (součást KDE), Mac OS Minimální HW nároky n/a (KDE: 512 MB RAM, 1GHz CPU) Podporovaná verze UML 2.0 Integrace do IDE
Obrázek 20 – Umbrello UML – ukázka produktu na Mac OS
Obrázek 21 – Umbrello UML – ukázka produktu na Ubuntu
Seminární práce k předmětu 4IT450
Stránka 34 z 91
3. IDE
Co je to IDE? IDE je zkratka z anglického Integrated Development Environment a/nebo Integrated Design
Environment. Jedná se o software, který poskytuje vývojářům sadu základních nástrojů pro tvorbu
aplikací. Většina IDE je vybavena nejméně těmito základními funkcemi:
Editor zdrojového kódu
Kompilátor nebo interpret cílového jazyka
Automatizace překladu (builder)
Debugger
Funkce editoru zdrojového kódu je naprosto jasná – umožňuje psát programový kód v daném
programovacím jazyce. Často podporuje zvýrazňování syntaxe například odlišnou barvou či typem
písma. Umožňuje kód strukturovat do systematických bloků z důvodu větší přehlednosti.
Kompilátor zajišťuje transformaci z daného programovacího jazyka do strojového kódu. Zdrojový kód
je třeba zkompilovat, jelikož procesory jsou schopny pracovat pouze s instrukcemi ve strojovém kódu
pro ně určeném, který je pro přímé psaní programu velmi obtížný. Interpret umožňuje spouštění
kódu ve zvoleném programovacím jazyce, aniž by bylo nutné program převést na strojový kód
cílového počítače. Interprety jsou trojího typu – spouští přímo zdrojový kód, nebo převedou zdrojový
kód do mezikódu, který je rychlejší, případně přímo spustí předem vytvořený předkompilovaný
mezikód, který je produktem části interpretu.
Debugger je ladící program sloužící k odhalení chyb v programovém kódu. Lze pomocí něj například
procházet obsah proměnných a zjišťovat jak se tento obsah mění v souvislosti s volanými metodami.
Důvodem vzniku IDE softwaru bylo zvýšení efektivity práce vývojáře. Jedná se o dnes tolik ceněný
princip integrace několika softwarových komponent do jednoho mocného nástroje. Programátor má
vše po ruce, nemusí přepínat mezi dílčími proprietárními řešeními.
Je však potřeba vzít v potaz, že se jedná o software. Tudíž aby mohl být plně užívaný, musí ho nejprve
programátor pochopit a naučit se ho, což znamená další práci navíc, která mu však ve výsledku může
ušetřit spoustu hodin zbytečného úsilí například při hledání chyby v kódu.
Editor zdrojového kódu zvládá zvýrazňování syntaxe, díky zabudovanému kompilátoru/interpretu
jazyka upozorňuje IDE na některé chyby přímo při psaní programu. V případě chyby při překladu bývá
problémové místo okamžitě označeno v textovém editoru, stejně jako krokování programu pomocí
debuggeru se odehrává ve stejném prostředí.
Velmi často je IDE vázáno na konkrétní programovací jazyk. Důvod je jednoduchý – snaha podpořit
možnosti daného jazyka na nejvyšší možné úrovni. Nicméně nejvyužívanější vývojová prostředí jako
například Eclipse, Netbeans či Visual Studio od Microsoftu jsou multijazyková prostředí. Další
programovací jazyky lze obvykle do IDE nahrát formou pluginů.
Tato vývojová prostředí jsou z hlediska ergonomie řešena velmi obdobně – není příliš těžké zvyknout
si například z Eclipse na Netbeans. Ovšem to se týká zejména rozsáhlých IDE. Menší vývojová
Seminární práce k předmětu 4IT450
Stránka 35 z 91
prostředí, která nenabízí tolik možností, jsou úzce spjatá s konkrétním programovacím jazykem a mají
daný účel – například výuka programování.
Nezřídka mají IDE další zabudované funkce (podpora kooperace, propojení na systém správy verzí).
Jsou to tedy profesionální nástroje vhodné pro celý vývojářský tým. Další možnosti IDE jsou často
řešeny modulárně – uživatel si tedy může vybrat, co všechno chce, aby jeho vývojové prostředí
podporovalo. (19)
Seminární práce k předmětu 4IT450
Stránka 36 z 91
Přehled vybraných IDE
Microsoft Visual Studio
Stručný popis
MS Visual Studio je oblíbené a zdaleka nejpoužívanější (údajně
s dvojnásobným počtem uživatelů ve srovnání s konkurenčními
IDE)1 univerzální integrované vývojové prostředí určené pro vývoj
klasických či webových aplikací a služeb pro různé platformy
podporované Microsoftem (Windows, Windows Mobile, Windows CE, .NET Framework, .NET
Compact framework, Silverlight) v různých programovacích jazycích. Standardně jsou podporovány
jazyky C/C++, VB.NET a C#, instalací tzv. „language services“ lze však doplnit podporu různé úrovně i
dalších jazyků, jako např. F#, M, Python nebo Ruby. Zmíněné Language services jsou jen speciálním
typem rozšiřujících pluginů, které do Visual Studio mohou jednoduše doplnit chybějící funkcionalitu a
rozšířit stávající.
Visual Studio je nabízeno ve velkém počtu různých edic zaměřených jak na různé platformy, tak na
různé segmenty trhu vývoje aplikací, od studentů a jednotlivců až po největší vývojové podniky. I tato
politika (mimo kvality produktu samotného) přispívá k jeho velkému rozšíření a využívání
v produkčním prostředí, podívejme se tedy trochu podrobněji na možnosti jednotlivých edic VS
v následující tabulce:
VS Express VS Standard VS Professional VS Team System
Rozšiřitelnost
Externí nástroje
Nastavení projektů
Integrace MSDN
Class designer
Refactoring
Debugging
Nativní podpora 64b
Podpora Itanium CPU
VS Tools for Office
Vývoj pro Win Mobile Tabulka 11 – Porovnání možností jednotlivých edic Visual Studio (zdroj: wikipedia.org)
V současné době je vyvíjena nová verze Visual Studio 2010 s kódovým označením „Hawaii“, aktuálně
ve verzi Beta 2, která je bezplatně ke stažení k testovacím účelům. Kromě rozšíření nativně
podporovaných programovacích jazyků, vylepšeného uživatelského rozhraní je očekávána především
podpora nového frameworku (.NET Framework 4.0) pro vývoj aplikací na platformě Windows 7,
podpora práce i s jinými databázovými systémy, než MS SQL Server (IBM DB2 a Oracle) a vylepšení
nástrojů pro podporu paralelního programování aplikací pro vícejádrové procesory. Visual Studio
2010 ve verzi Team System (kódové označení „Rosario“) má nabídnout vylepšenou podporu celého
životního cyklu aplikace, od návrhu pomocí nových modelovacích nástrojů podporujících UML, až
např. po novou funkci Test Impact Analysis, tedy analýzu dopadů změn části zdrojového kódu na
ostatní části aplikace. Vydání nové verze Visual Studio je ohlášeno na 22. březen 2010. (20) (21)
1 Dle Evans Data Corp. – Users‘ Choice: 2009 Software Development platforms, viz (42)
Seminární práce k předmětu 4IT450
Stránka 37 z 91
Přehled vlastností
Název Microsoft Visual Studio Výrobce Microsoft Licence Proprietární – Microsoft EULA Edice VS Express; VS 2008 Standard Edition; VS 2008 Professional Edition;
VS Team System 2008 Team Foundation Server; VS Team System 2008 Database Edition; VS Team System 2008 Architecture Edition; VS Team System 2008 Test Edition; VS Team System® 2008 Development Edition; VS Team System 2008 Team Suite; VS Team System 2008 Team Foundation Server External Connector License; VS Team System 2008 Test Load Agent; VS Team System 2008 Team Foundation Server Client Access License
Cena $0 - $10939 Aktuální stabilní verze 2008 SP1 (08/2008) Podporované platformy Windows (Server 2003, Vista, XP) Minimální HW nároky CPU 1.6 GHz, RAM 384MB (768MB pod Win Vista), HDD 2.2 GB Debugger GUI builder Profiler Code Coverage Autocomplete Static code analysis Class browser Týmová spolupráce Generování dokumentace Technická podpora Tabulka 12 – Přehled vlastností Microsoft Visual Studio
Odkazy a zdroje informací
Oficiální stránka produktu: http://msdn.microsoft.com/cs-cz/vstudio
Informace na Wikipedia: http://en.wikipedia.org/wiki/Microsoft_Visual_Studio
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
Seminární práce k předmětu 4IT450
Stránka 39 z 91
Oracle JDeveloper
Stručný popis
JDeveloper je šířen jako freewarové IDE společností Oracle. Původně
byl JDeveloper vyvíjen jako licencovaný produkt firmy Borland, v roce
2001 však Oracle JDeveloper kompletně od základů přepsal v Javě a
nyní již neobsahuje z původního kódu nic. JDeveloper není již „pouhé“ IDE, ale je vyvíjen jako
kompletní platforma pro vývoj a správu všech produktů ze široké rodiny Oracle. Podporuje především
vývoj aplikací v jazyce Java a technologie spojené s webovým prostředím od XML, JavaScript, BPEL,
PHP, SOA a další. Silnou stránkou JDeveloperu je také velmi dobrá podpora frameworků, je dodáván
s Oracle Application Framework, který významně zjednodušuje vývoj v celém životním cyklu aplikace
se zaměřením na vizuální přístup od návrhu pomocí UML nástrojů, přes kódování, testování,
optimalizaci, analýzu až po nasazení. JDeveloper je také velmi silný nástroj pro práci s databázemi,
v současnosti se dá říci, že je v oblasti návrhu a integraci databází bezkonkurenční. Je velmi úzce
svázán s prostředím databází Oracle (pochopitelně), po nedávné akvizici se společností Sun se však dá
brzy očekávat rozšíření podpory vývoje a správy dalších databázových systému, především MySQL
zmíněné společnosti Sun. Oblast, kde by podle některých měl Oracle více zapracovat, je především
integrace a podpora nástrojů třetích stran a vylepšení možností paralelního programování, po
zmiňované akvizicí se však předpokládá převzetí některých technologií právě od firmy Sun. (22) (23)
Přehled vlastností
Název Oracle JDeveloper Výrobce Oracle Licence Proprietární – OTN JDeveloper License Edice Java Edition; Studio Edition Cena $0 Aktuální stabilní verze 11g build 5407 (07/2009) Podporované platformy Windows (2000 SP4, NT SP6a, XP SP1), Linux, Solaris,
MAC OS X, HP-UX Minimální HW nároky CPU 866 MHz, RAM 512MB, HDD 230 MB Debugger GUI builder Profiler Code Coverage Autocomplete Static code analysis Class browser Týmová spolupráce Generování dokumentace Technická podpora Tabulka 13 – Přehled vlastností Oracle JDeveloper
Odkazy a zdroje informací
Oficiální stránka produktu: http://www.oracle.com/technology/products/jdev/index.html
Informace na Wikipedia: http://en.wikipedia.org/wiki/JDeveloper
Obrázek 24 – JDeveloper – Zobrazení průběhu procesu
Obrázek 25 – JDeveloper – Integrovaný verzovací systém
Seminární práce k předmětu 4IT450
Stránka 41 z 91
JBuilder
Stručný popis
Historie integrovaného vývojového nástroje JBulider se píše od roku 1995, kdy
technologický svět zaujala Java a její možnosti. Její příchod zaznamenali i ve
společnosti Borland, která za vývojem produktu JBulider stojí. Původně byl
JBuilder psán převážně v Delphi, od verze 3.5 (v roce 2000) je však kompletně
založen na platformě Java a z toho vyplynula i možnost rozšiřování a
přizpůsobování základního IDE pomocí tzv. OpenTools, což umožnilo společnosti
Oracle vyvinout vlastní IDE s názvem JDeveloper (viz výše). Hlavní síla JDeveloperu spočívá především
ve vývoji J2EE aplikací, webových služeb a JSP, nepříliš obvyklá je také podpora techniky extrémního
programování, které u konkurenčních produktů příliš k vidění není. Další nespornou výhodou je silné
provázání s dalšími nástroji společnosti Borland, např. Optimizeit pro optimalizování a profilování
vyvíjených aplikací. Borland se však od roku 2005 věnuje spíše podpoře platformy Eclipse a stal se
také jedním ze zakládajících členů Eclipse Foundation, další vývoj JBulideru byl tedy svěřen dceřiné
společnosti CodeGear, která byla nedávno koupena společností Embarcadero Technologies. (24) (25)
Přehled vlastností
Název JBuilder Výrobce Borland/CodeGear Licence Proprietární Edice Enterprise Edition; Professional Edition Cena £0 - £1071 Aktuální stabilní verze 2008 R2 (04/2008) Podporované platformy Windows (2003 Server, XP SP3, Vista SP1) MAC OS X 10.5,
Linux, Solaris Minimální HW nároky CPU 2.4 GHz, RAM 512MB (Professional) / 1GB (Enterprise),
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
Seminární práce k předmětu 4IT450
Stránka 43 z 91
IBM Rational Application Developer
Stručný popis
Samotné IDE, tedy Rational Application Developer (dále RAD) je
součástí portfolia produktů firmy IBM z rodiny Rational Tools Suite, do
které je integrována řada dalších produktů podporujících vývoj aplikací na frameworku Jazz od
prvotní fáze sběru požadavků na aplikaci, přes její architekturu a vývoj až k jejímu testování a
nasazení a dále k řízení změn v aplikaci a správy její údržby. RAD je základním kamenem ve struktuře
nástrojů, které IBM nabízí pro vývoj software – pomocí RAD je možné kódový i vizuální přístup k práci
se zdrojovými kódy Java, JavaEE, JSF a JSP, UML, XML, webovými službami nebo s databázovými
technologiemi ve fázi vývoje a je úzce svázán s dalšími nástroji pro další fáze životního cyklu aplikace
– např. s Rational Software Architect pro modelování vztahů mezi aplikacemi SOA, Rational Asset
Manager pro sdílení výsledků práce se členy vývojového týmu, Rational Team Concert pro
kolaborativní implementaci a testování vyvinutých aplikací nebo s ClearCase či ClearQuest pro řízení
práce týmu a správu společného úložiště. Podle již zmiňované studie Evans Data Corp. – Users‘
Choice: 2009 Software Development platforms (viz zdroje na konci práce) se za poslední čtyři roky,
kdy se sleduje spokojenost uživatelů s IDE nástroji se RAD třikrát umístil na prvním místě, což jistě o
kvalitách tohoto nástroje leccos vypovídá. Za oblíbeností tohoto produktu nemalou měrou stojí
přehledné uživatelské rozhrání a skvělé vizuální modelovací nástroje, profesionální podpora 24/7, což
je v podnikovém prostředí důležitý faktor, nebo i možnost rozšíření pomocí pluginů pro Eclipse, ze
kterého RAD vychází. Kritika RAD na druhou stranu často zmiňuje jeho vysokou cenu (vzhledem
k jeho původu v opensource produktu) a vysoké hardwarové nároky. (26) (27)
Přehled vlastností
Název IBM Rational Application Developer for WebSphere Software Výrobce IBM Licence Proprietární – IBM EULA Edice Cena $2150 - $7800 Aktuální stabilní verze 7.5.3 (06/2009) Podporované platformy Windows, Mac OS X, Linux, Solaris, AIX Minimální HW nároky CPU 800 MHz, RAM 1 GB, HDD 3.5 GB Debugger GUI builder Profiler Code Coverage Autocomplete Static code analysis Class browser Týmová spolupráce Generování dokumentace Technická podpora Tabulka 15 – Přehled vlastností IBM Rational Application Developer
Odkazy a zdroje informací
Oficiální stránka produktu: http://www.ibm.com/software/awdtools/developer/application
Informace na Wikipedia: http://en.wikipedia.org/wiki/Rational_Application_Developer
NetBeans byl původně vyvíjen od roku 1996 pod názvem Xelfi na
pražské matematicko-fyzikální fakultě Univerzity Karlovy, v roce
1997 byla představena první komerční verze NetBeans IDE a v roce
1999 došlo k odprodeji NetBeans společnosti Sun Microsystems, která jej nyní šíří jako opensource a
investuje do jeho rozvoje trochu na úkor dalšího svého produktu Sun Java Studio. NetBeans
poskytuje IDE i platformu pro vývoj všech typů Java aplikací (J2SE, webové, EJB i mobilní aplikace) a je
distribuován v různých verzích zaměřených i na další programovací jazyky (např. NetBeans IDE bundle
for Ruby, Mobility, C/C++ nebo PHP), distribuce pod názvem NetBeans IDE Complete Bundle
obsahuje veškerou dostupnou funkcionalitu. Uživatelé kladně hodnotí především širokou podporu
programovacích jazyků, kvalitu nástroje Matisse zjednodušující návrh GUI, silnou podporu vývoje
webových aplikací, jednoduchou instalaci s možností téměř okamžitě začít vyvíjet bez nutnosti
složitého nastavování a přizpůsobování, kvalitní dokumentaci a komunitu schopných vývojářů,
stojících za produktem NetBeans. Po nedávné akvizici společnosti Sun, kterou koupil Oracle, je nyní
otázkou, jak bude vývoj pokračovat, jak se však zdá, nehrozí jeho ukončení, pravděpodobně dojde
spíše k integraci některých součástí a prvků do nástroje Oracle JDeveloper. (28) (29)
Přehled vlastností
Název NetBeans IDE Výrobce Sun Microsystems Licence Proprietární – CDDL, GPL2 Edice NB IDE Bundle for Web & Java EE; NB IDE Bundle for Ruby; NB
IDE Bundle for Mobility; NB IDE Bundle for C/C++; NB IDE Bundle for PHP; NB IDE Bundle for JavaFX; NB IDE Starter Kit; NB IDE Complete Bundle; NB IDE Bundle for Python
Cena $0 Aktuální stabilní verze 6.7.1 (07/2009) Podporované platformy Windows, Mac OS X, Linux, Solaris Minimální HW nároky CPU 800 MHz, RAM 1 GB, HDD 3.5 GB Debugger GUI builder Profiler Code Coverage Autocomplete Static code analysis Class browser Týmová spolupráce Generování dokumentace Technická podpora Tabulka 16 – Přehled vlastností NetBeans
Odkazy a zdroje informací
Oficiální stránka produktu: http://www.netbeans.org
Informace na Wikipedia: http://en.wikipedia.org/wiki/NetBeans
Obrázek 30 – NetBeans – Ukázka tvorby uživatelského rozhraní pomocí GUI designeru
Obrázek 31 – NetBeans – Založení nového projektu
Seminární práce k předmětu 4IT450
Stránka 47 z 91
BlueJ
Stručný popis
BlueJ je vývojové prostředí pro programovací jazyk Java původně vyvinutý
na australské Monash University v Melbourne a nyní je dále vyvíjen na
britské University of Kent a na Deakin University v Melbourne pod
vedením duchovního otce tohoto produktu Michaelem Köllingem. BlueJ je
určen především pro snadnou výuku a pochopení objektově
orientovaného programování, dá se však i přes svá omezení použít i pro
malé projekty komerčního charakteru. Pro profesionální vývojáře je maximální jednoduchost, až
strohost uživatelského prostředí nedostatkem, pro potřeby výuky je to však naopak nesporná
výhoda. GUI programu se skládá v podstatě pouze z diagramu struktury vytvořených tříd a jejich
vztahů a z editačního okna pro úpravu zdrojového kódu vybraného objektu. Z dalších podporovaných
funkcí lze jmenovat např. regresní testování pomocí JUnit testů, základní podpora týmové spolupráce
integrací CVS nebo Subversion, nebo podpora rozšíření funkcionality pomocí zásuvných modulů.
Hlavní nedostatky, které BlueJ diskvalifikují z profesionálního použití jsou především absence live
kontroly psaného kódu a tedy vznikajících chyb, automatické dokončování psaného kódu nebo
návrhy pro opravu varování a chyb vzniklých při kompilaci programu. (30) (31)
Přehled vlastností
Název NetBeans IDE Výrobce Michael Kölling Licence GNU GPL Edice - Cena $0 Aktuální stabilní verze 2.5.3 (10/2009) Podporované platformy Windows, Mac OS X, Linux, Solaris Minimální HW nároky CPU 400MHz, RAM 128 MB, HDD 5MB Debugger GUI builder Profiler Code Coverage Autocomplete Static code analysis Class browser Týmová spolupráce Generování dokumentace Technická podpora Tabulka 17 – Přehled vlastností BlueJ
Odkazy a zdroje informací
Oficiální stránka produktu: http://www.bluej.org
Informace na Wikipedia: http://en.wikipedia.org/wiki/BlueJ
Obrázek 32 – BlueJ – Základní rozhraní nástroje s diagramem tříd
Obrázek 33 – BlueJ – Editace zdrojového kódu
Seminární práce k předmětu 4IT450
Stránka 49 z 91
Eclipse
Stručný popis
Eclipse je původně vývojové prostředí vyvinuté firmou IBM jakožto
náhrada za Visual Age podporující objektový jazyk Smalltalk. V roce 2001
byl Eclipse uvolněn jako open source, od roku 2004 je pod záštitou Eclipse
Foundation. Původní myšlenka podpora Javy na Javě zaštiťuje maximální
přenositelnost a různorodost využití. Samotný Eclipse je lépe chápat jako základní framework
rozšiřitelný pomocí pluginů, kterých je v současnosti přes 1000. Díky tomu je možné v Eclipse docílit
nativní podpory jazyků jako je Java, C++, PHP, Cobol, Ruby, HTML, XML, jeho možnosti jsou obrovské.
Navíc existují i pluginy sloužící k modelování – např. UML. Velmi zásadní prvek hraje i podpora CVS,
subversion (plugin). Eclipse je bez nadsázky jedno z nejužívanějších vývojových prostředí vůbec.
Komunita uživatelů se stará o jeho další rozvoj a integraci. Zkušenosti zpracovatelského týmu této
práce jsou takové, že Eclipse je svižné, robustní prostředí, které má před sebou jistě další podporu ze
strany uživatelů. (32) (33)
Přehled vlastností
Název Eclipse Výrobce Eclipse Foundation Licence EPL Edice Eclipse Classic; Eclipse IDE for Java EE Developers; Eclipse IDE
for Java Developers; Eclipse IDE for C/C++ Developers; Eclipse for PHP Developers; Eclipse IDE for Java and Report Developers; Eclipse for RCP/Plug-in Developers; Eclipse Modeling Tools (includes Incubating components); Pulsar for Mobile Java Developers; Eclipse SOA Platform for Java and SOA Developers
Cena $0 Aktuální stabilní verze 3.5.1 (Classic – 10/2009) Podporované platformy Windows, Mac OS X, Unix, Linux, Solaris Minimální HW nároky CPU 500MHz, RAM 512 MB, HDD 162MB Debugger GUI builder Profiler Code Coverage Autocomplete Static code analysis Class browser Týmová spolupráce Generování dokumentace Technická podpora Tabulka 18 – Přehled vlastností Eclipse
Odkazy a zdroje informací
Oficiální stránka produktu: http://www.eclipse.org/
Informace na Wikipedia: http://en.wikipedia.org/wiki/Eclipse_(Software)
MyEclipse je zástupcem vývojových prostředí z komerčních řad. Je vyvíjen pod záštitou firmy Genuitec, která je jedním ze zakladatelů Eclipse Foundation. Z toho plyne rovněž jeho pozice – je postaven na platformě Eclipse. Jedná se tedy rovněž o prostředí Javy, umožňující práci s HTML, XML, grafický návrh webu, UML, návrhem databáze. Podporuje technologie, jako jsou RAD, POJOs, Web 2.0/AJAX, a RCP, JSF, Struts, JSP, SOA… Obdobně jako Eclipse je i MyEclipse rozšiřitelný pluginy. MyEclipse obsahuje přibližně 200 předinstalovaných pluginů. Pokud bychom si chtěli MyEclipse koupit, nezískáme žádnou krabicovou verzi. Jak je dnes trendem, koupí licence uživatel získá roční možnost program plně využívat za trvalé podpory pomocí updatů a upgradů. Samozřejmostí je 30-ti denní trial verze Standard edice k vyzkoušení. (34) (35)
Přehled vlastností
Název MyEclipse Výrobce Genuitec Licence Proprietární Edice Professional Edition; Standard Edition; Blue Edition Cena $29.95 - $158.95 Aktuální stabilní verze 7.5 (10/2009) Podporované platformy Windows, Mac OS X, Linux Minimální HW nároky CPU 500MHz, RAM 512 MB, HDD 315MB Debugger GUI builder Profiler Code Coverage Autocomplete Static code analysis Class browser Týmová spolupráce Generování dokumentace Technická podpora Tabulka 19 – Přehled vlastností MyEclipse
Odkazy a zdroje informací
Oficiální stránka produktu: http://www.myeclipseide.com/
Informace na Wikipedia: http://en.wikipedia.org/wiki/MyEclipse
Vývojové prostředí jGRASP je obdobně jako další vývojová prostředí napsané v jazyce Java, to mu umožňuje platformní nezávislost. Prostředí podporuje jazyk Java, C, C++, Objective-C, Ada a VHDL. Tento software vznikl za účelem podpory vizualizace software při jeho návrhu. Je možné zobrazit statické obrazy zdrojového kódu i vizualizace datových struktur za běhu. jGRASP je schopné generovat UML diagramy pro Javu, dynamické diagramy za běhu pro veškeré primitivní a objektové datové struktury, jako je například binární strom či spojový seznam a nakonec tzv. Control Structure Diagram. Poslední jmenovaný diagram je do vývojového prostředí zakomponován za účelem lepší čitelnosti kódu. (36) (37)
Přehled vlastností
Název jGRASP Výrobce GRASP research group at Auburn University Licence Proprietární - freeware Edice - Cena $0 Aktuální stabilní verze 1.8.7_04 (10/2009) Podporované platformy Windows, Mac OS X, Linux, Solaris Minimální HW nároky CPU 200MHz, RAM 48 MB, HDD 16MB Debugger GUI builder Profiler Code Coverage Autocomplete Static code analysis Class browser Týmová spolupráce Generování dokumentace Technická podpora Tabulka 20 – Přehled vlastností jGRASP
Odkazy a zdroje informací
Oficiální stránka produktu: http://www.jgrasp.org/index.html
Informace na Wikipedia: http://en.wikipedia.org/wiki/JGRASP
Obrázek 38 – jGRASP – podpora programovacích jazyků v rozhraní starší verze jGRASP IDE
Seminární práce k předmětu 4IT450
Stránka 55 z 91
DrJava
Stručný popis
Vývojové prostředí s názvem DrJava je určeno pouze pro vývoj
v programovacím jazyce Java. Bylo vytvořeno primárně pro
studentské využití, jelikož je velmi intuitivní a jednoduché. To
v praxi znamená, že pro nezkušeného uživatele IDE je DrJava velmi vhodným nástrojem, jelikož
uživatel nemusí nejprve strávit desítky hodin učením se práci se samotným programem, ale může
rovnou pracovat. Toto prostředí nabízí však rovněž prostředky pro pokročilejší uživatele.
V současnosti je stále v aktivním vývoji pod Riceovou univerzitou. Ve spolupráci s Eclipsem vytvořil
vývojářský tým stojící za DrJava plug-in do platformy Eclipse, která umožní přizpůsobení tohoto
známého vývojové prostředí na některé prvky z DrJava. Jedná se zejména o zjednodušení grafického
uživatelského rozhraní, debugger ve spojitosti s tzv. Interaction Pane, který umožňuje interakci s
programem v místě jeho přerušení. (38) (39)
Přehled vlastností
Název DrJava Výrobce JavaPLT group at Rice University Licence BSD Edice - Cena $0 Aktuální stabilní verze drjava-stable-20090821-r5004 Podporované platformy Windows, Mac OS X, Linux, Solaris Minimální HW nároky CPU 200MHz, RAM 64 MB, HDD 15MB Debugger GUI builder Profiler Code Coverage Autocomplete Static code analysis Class browser Týmová spolupráce Generování dokumentace Technická podpora Tabulka 21 – Přehled vlastností DrJava
Odkazy a zdroje informací
Oficiální stránka produktu: http://www.drjava.org/
Informace na Wikipedia: http://en.wikipedia.org/wiki/DrJava
jehož jediným cílem je výuka programování pro děti na
druhém stupni základní školy formou interaktivních her.
Jedná se o různorodé hry a simulace ve 2D prostředí.
Toto prostředí je zaměřené čistě na Javu, tedy JVM. O vývoj IDE se starají od roku 2003 Deakin
University a University of Kent s podporu ze strany Sun Microsystems. Greenfoot umožňuje
implementovat objekty formou objektové vizualizace a následné interakce s objekty formou scénářů.
Přiložené scénáře jsou například přistání s vesmírnou raketou, simulace mravenčího chování, želví
grafika, simulace výtahu, Conwayova. V současnosti se i nadále vyvíjejí další scénáře, programátor si
samozřejmě může vytvořit scénáře vlastní. (40) (41)
Přehled vlastností
Název Greenfoot Výrobce Deakin University & University of Kent Licence GNU GPL Edice - Cena $0 Aktuální stabilní verze 1.5.6 (10/2009) Podporované platformy Windows, Mac OS X, Linux, Solaris Minimální HW nároky CPU 200MHz, RAM 64 MB, HDD 9MB Debugger GUI builder Profiler Code Coverage Autocomplete Static code analysis Class browser Týmová spolupráce Generování dokumentace Technická podpora Tabulka 22 – Přehled vlastností Greenfoot
Odkazy a zdroje informací
Oficiální stránka produktu: http://www.greenfoot.org/
Informace na Wikipedia: http://en.wikipedia.org/wiki/Greenfoot