Semestrální práce
CASE Nástroje
pro
vývoj
aplikací a jejich vazba na CASE
Luboš Harášek;Filip Kroupa;Barbora Matoušková;Petr Pravlovský
1. Obsah 1. Obsah....................................................................................................... 2 2. Úvod......................................................................................................... 4 3. CASE......................................................................................................... 6 4. IDE............................................................................................................ 9 5. Nástroje CASE.......................................................................................... 9 5.1. Enterprise Architect......................................................................... 10 5.2. PowerDesigner................................................................................. 14 5.3. MagicDraw....................................................................................... 17 5.4. Altova UModel 2011......................................................................... 19 5.5. MS Visio............................................................................................ 21 5.6. Visual Paradigm for UML.................................................................. 22 6. IDE Vývojová prostředí........................................................................... 23 6.1. Eclipse.............................................................................................. 23 6.2. Microsoft Visual Studio..................................................................... 26 6.3. NetBeans.......................................................................................... 28 6.4. Oracle JDeveloper 11g...................................................................... 30 6.5. Zend Studio...................................................................................... 33 7. Integrace CASE v IDE.............................................................................. 35 8. Trendy z minulých prací......................................................................... 36 8.1. Trend nezávislosti vývojových prostředí na nástrojích CASE ...........36 8.2. Trend integrace nástrojů CASE s IDE................................................ 37 8.3.
Trend
nástrojů
CASE
rozšiřovat
funkcionalitu
o
modelování
podnikových procesů........................................................................................ 37 8.4. Trend CASE jako SaaS ..................................................................... 38 9. Závěr...................................................................................................... 38 10. Citovaná literatura............................................................................... 40
2. Úvod Tento dokument vznikl jako seminární práce pro předmět 4IT450 – CASE – Computer
Aided System Engineering v zimním semestru
akademického roku 2010/2011. Práce čerpá, navazuje a snaží se zdokonalit a aktualizovat práce studentů z minulých semestrů. Jak již bylo nastíněno
v prezentaci
k této
práci,
poskytneme
přehled
o
nejpoužívanějších IDE a nástrojích CASE. Dále se zaměříme na jejich možnou spolupráci a podíváme se na budoucí vývoj a trendy v tomto odvětví informačních technologií. Semestrální práce je rozdělena na část, kde jsou definovány pojmy vývojové nástroje IDE, nástroje CASE a jaký je mezi nimi vztah. V druhé části
jsou
popsány
nejčastěji
využívané
nástroje
z praktického hlediska ukázáno jejich možné propojení.
IDE
a
CASE
a
3. CASE CASE
je
zkratka
anglického
termínu
Computer
Aided
System
Engineering, což ve volném překladu znamená Počítačem podporované systémové inženýrství. Mluvíme-li o CASE, mluvíme většinou přímo o nástrojích CASE, což jsou komplexní programy, pro podporu vývoje softwaru. A v čem jsou tyto nástroje nápomocny? Obsahují několik různých skupin funkcionalit pro usnadnění konceptuálního návrhu systémů: Podpora sběru požadavků Analytické prostředky Návrhové nástroje Generátory kódů Zpětné vytváření modelů ze zdrojového kódu Návrh obrazovek uživatelského rozhraní Repository Každý nástroj CASE obsahuje/poskytuje jinou kombinaci funkcionalit. To je závislé na specializaci daného nástroje. Některé se specializují na modelování organizačních záležitostí, podnikových procesů atp. To jsou tzv. UPPER CASE nástroje. Další skupina se jmenuje MIDDLE CASE. Tyto nástroje se zaměřují především na modelování systémů. Jsou dobrou pomůckou pro komunikaci s klienty. Skupina LOWER CASE se zaměřuje již na finální kódování, testování a správu programů. Pro úplný výčet jmenujme ještě kategorie PRE CASE a POST CASE. PRE CASE podporuje činnosti, které předchází vývoji, např. tvorba globální strategie organizace. POST CASE podporují činnosti, které následují po samotném vývoji systému, tedy uvedení do provozu, provoz samotný, údržba. Další vlastnost nástrojů CASE je podpora návrhu. Některé nástroje CASE jsou vhodné pro strukturované modelování, jiné pro objektové, další například pro datové modelování.
Většinou
nástrojů
nemá
pouze
jednu
funkcionalitu,
ale
jsou
komplexnější a nabízejí mnohem více funkcionalit. Takovéto nástroje je možné používat v celém průběhu projektů vývoje informačních systémů. Jejich předností je, že všechny modely jsou provázané, a od počáteční práce na návrhu lze dojít až ke generování části kódu v rámci jednoho modelu. Důsledkem toho je nesporně výhodné zajištění souvislostí napříč celým návrhem. Modelování většinou probíhá pomocí grafických standardizovaných notací. Nejčastější a zároveň asi i nejznámější je notace UML (Unified Modeling Language). Pomocí UML můžeme vytvářet sedm různých digramů, například Class diagramy (diagramy tříd), Use Case diagramy (diagramy užití). Pro modelování business procesů se používá nejčastěji BPMN (Business Process Modeling Notation). Funkcionalita těchto komplexních nástrojů by měla zahrnovat zejména: Správu požadavků Procesní modelování
Tvorbu datových a objektových/strukturních modelů
Podporu týmové spolupráce (např. repository) Kontrolu konzistence Automatickou tvorbu dokumentace Generování výsledného kódu Možnosti rozšíření Možnosti integrace s dalšími nástroji Nástroje CASE mohou být propojeny s vývojovými prostředími pomocí plug-inů. Vyspělejší vývojová prostředí nabízejí základní funkcionality nástrojů CASE jako svoji standardní součást. To usnadňuje přenos informací (modelů) mezi návrhem a implementací.
Jelikož se budeme v této práci zabývat vazbami nástrojů CASE na vývojová
prostředí,
zmíníme
a
vysvětlíme
si
pojem
Round-Trip
Engineering. Jedná se o proces, kdy se synchronizují úpravy v jednotlivých modelech s modely ostatními. Analytik zanese nějakou úpravu do modelu na vyšší úrovni a ta se následně promítne do nižších modelů, až se nakonec objeví i v kódu aplikace. Tomuto směru úprav se říká Forward Engineering. Ovšem je zde i druhý směr. Programátor může pozměnit strukturu kódu, nebo jednotlivých objektů a tato úprava se promítne do modelu vyšší úrovně. Tomuto směru se říká Reverse Engineering. Celý proces můžete vidět nastíněný na následujícím obrázku:
Obrázek 1: Round-trip Engineering proces
4. IDE IDE je označení pro vývojová prostředí (Integrated Development Environment), která jsou většinou zaměřena na jeden programovací jazyk, nebo skupinu podobných či navzájem se doplňujících jazyků (například Dreamweaver pro webové technologie). Stejně jako u nástrojů CASE, i IDE jsou komplexní programy usnadňující programátorům jejich práci. Součástí IDE bývají zpravidla:
Editor zdrojového kódu
Kompilátor nebo interpret
Debugger
Editory kódu pomáhají programátorům při práci tím, že dovedou formátovat text (především barevně odlišovat různé části programového kódu), nabízejí dokončování příkazů, upozorňují na základní syntaktické chyby v reálném čase. Kompilátor převádí programový kód do strojového kódu, se kterým pracuje počítač. Interpret zase představuje běhové prostředí pro program a realizuje příkazy programového kódu. Debugger je nástroj pro vyhledávání chyb a ladění programu. Cílem IDE je zvýšení produktivity a snížení chybovosti programátora. IDE ovšem bývají někdy velice složitá, tak se produktivita zvyšuje až po určitém seznámení se s IDE.
5. Nástroje CASE Nástroje
CASE
mohou
být
provozovány
samostatně
nebo
integrovány do IDE. Jejich účelem je podpořit, zpřehlednit a usnadnit vývoj softwaru.
Všechny
námi
testované
nástroje
disponují
podobnou
funkcionalitou (vizuální návrh, podpora spolupráce, generování kódu,
dokumentace, reverse engineering, správa požadavků, podpora různých fází životního cyklu vývoje). Nejčastějšími rozdíly bývají podporované operační systémy, cena a uživatelské prostředí. V této práci se detailně zaměříme pouze na
Enterprise Architect a PowerDesigner. MagicDraw,
Altova Umodel 2011, MS Visio a Visual Paradigm for UML budou popsány jen krátce.
5.1.
Enterprise Architect
Aktuální verze 8.0.864 od spolecnosti Sparx Systems
Modelovací nástroj Enterprise Architect (EA) je nástroj pro návrh a tvorbu softwarových projektů, včetně modelování podnikových procesů. Pokrývá všechny aspekty životního cyklu vývoje, sleduje vývoj od počátečního návrhu, přes deployment, údržbu, testování a sledování změn. Funkcionalita zahrnuje: Modelování založené na UML 2.3 BPMN, BPEL pro modelování podnikových procesů Modelování myšlenkových map Správu požadavků Správu verzí (CVS, SVN) Správu změn Řízení složitosti (diagramy na strategické úrovni, znovu použitelné vzory) Rozsáhlou podporu řízení projektů (zahrnuje zdroje, metriky a testování) Podporu testování (Junit a NUnit)
Sestavování a spouštění skriptů
Dokumentaci (HTML, Rich-Text (RTF))
Integrované debugovací prostředí pro Javu, .NET, C++, C a VB Rozšiřitelné modelovací prostředí, ve kterém lze používat uživatelem definované technologie Generování kódu, podpora návrhu kódu pro mnoho programovacích jazyků (ActionScript, Ada, C and C++, C#, Java, Delphi, Verilog, PHP, VHDL, Python, System C, VB.Net, Visual Basic a další) Reverse engineering
Generování databázových struktur (DB2, InterBase, Informix, Ingres, MS Access, MySQL, MS SQL Server, Oracle, PostgreSQL, Sybase ASE, ASA, Firebird)
Rozšíření pro datové modelování, které umožňují modelování klíčů, triggerů, omezení a dalších vlastností relačních databází Export a import modelů (standard XMI)
Nástroje pro podporu architektury řízenou modelem (Model Driven Architecture)
Automatizaci (rozhraní pro automatizaci umožňuje např. denně generovat HTML report na lokální intranet) A mnoho dalších Je to velice rychlý nástroj, který načte i velmi velký model během několika sekund. Úložiště je vhodné i pro velké týmy a díky podpoře verzování mohou efektivně spolupracovat i týmy z různých míst na stejném projektu. EA je integrovatelný s Eclipse, Visual Studio, TcSE a k dostání je v šesti verzích: Ultimate, Systems Engineering, Business a Software Engineering,
Corporate, Professional a Desktop. Každá z verzí nabízí podporu pro požadavky různě velkých skupin uživatelů. Běží jen na systémech Windows a Linux. (Sparx Systems, 2010)
Obrázek 2: Enterprise Architect - UML class diagram
Obrázek 3: Enterprise Architect - user interface model
Obrázek 4: Enterprise Architect - generování kódu, vygeneruje třídy.java
Obrázek 5: Enterprise Architect – vývoj
5.2.
PowerDesigner
Aktuální verze 15.3 vytvořeno společností Sysbase
PowerDesigner je profesionální nástroj CASE, který komplexně pokrývá
všechny
aspekty
rozvoje
podniku.
Obsahuje
nástroje
pro
obchodně orientovanou procesní analýzu, která umožní identifikovat klíčová místa a funkce podniku jako takového a nabízí také plně integrované prostředí pro datovou a objektovou analýzu informačních systémů. Přitom plně podporuje zavedené přístupy a metodiky jako je Unified Modeling Language (UML) nebo tříúrovňový návrh databáze. PowerDesigner je nástrojem pro návrh informačních systémů, umožňuje v rámci jediného prostředí identifikovat důležité obchodní aktivity podniku a zachytit jejich odraz v aplikacích a databázích pomocí datových a objektových modelů. Obchodní analytik tak může navrhnout efektivnější fungování podniku v modelu podnikových procesů a předat takto specifikované zadání do IT oddělení k vytvoření informačních systémů
podporujících
tyto
nové
procesy
v
podniku.
Při
návrhu
požadovaných aplikací může díky tomu datový analytik vytvářet entity v datovém modelu a sledovat jejich závislost na objektech a třídách získaných z objektového modelu systému. Hladká spolupráce při návrhu datové a aplikační stránky systému v rámci jediného nástroje CASE s jednotným
uživatelským
prostředím
se
pak
odrazí
v
rychlém
a
bezproblémovém vývoji. Podporuje také generování kódu v mnoha programovacích jazycích a obsahuje pluginy pro Eclipse, PowerBuilder a Visual Studio Nová funkcionalita ve verzi 15.3 (od 15.1 zpracovávané v poslední práci)
Eterprise Architecture Model o Umožňuje nyní komplexní modelování clusterových serverů a virtuálních strojů
Větší integrace s MS Office o zejména lepší podpora exportu do MS Excel Větší customizace zobrazení o Např. možnost zobrazit si v modelech kterékoliv atributy v jakémkoliv pořadí Powerdesigner plugin nyní podporuje MS Visual Studio 2010 Podpopra BPMN 2.0 (Business Process Modeling Notation) o Procesní diagramy, diagramy spolupráce, diagramy konverzace atd.
Obrázek 6: PD - Class Diagram
Obrázek 7: PD - Organisation Diagram
5.3.
MagicDraw
Aktuální verze 16.9 od společnosti No Magic, Inc.
MagicDraw je modelovací nástroj, pro podporu modelů business procesů,
architektury
a
softwaru.
Disponuje
i
podporou
týmové
spolupráce. Zahrnuje
UML 2.0, BPMN
OO návrh systémů a databází
generování kódu (Java, C++, C#, .NET, XML a další)
reverse engineering
Datové modelování
Automatické generování reportů (v HTML, PDF, RTF)
Tvorbu vlastních diagramů
A další
Integrovatelné
s IntelliJ
IDEA,
NetBeans,
Eclipse,
Workbench,
CodeGear Jbuilder, IBM RAD. K dostání jsou verze pro Windows, Solaris, OS/2, Linux, Mac OS X a všude, kde je Java 5 nebo 6. A v různých verzích – Personal,
Standard,
Professional,
Architect,
Enterprise.
(What
MagicDraw, 2010) Cena: $ 149 - $ 1,599 (dle verze) (Pricing and Licensing, 2010)
is
Obrázek 8: MagicDraw - activity diagram, zdroj: http://www.magicdraw.com/images/screenshots/md_uml_screenshot.html
Obrázek 9: MagicDraw - Model transformation, zdroj: http://www.magicdraw.com/images/screenshots/model_transformation.html
5.4.
Altova UModel 2011
Aktuální verze 2011 od Společnosti Altova
Další srovnatelný nástroj pro vizuální návrh aplikací v UML 2.3, generování
kódu
v Javě,
C#,
Visual
Basicu,
.NETu
a
generování
dokumentace. Některé z jejích dalších funkcí jsou:
Reverse engineering
Data modeling
BPMN
Round trip engineering (synchronizace modelu a kódu)
Podpora spolupráce
Znovupoužití kódu
XMI export a import
Integrace s CVS
Integrace do Visual Studia a Eclipse a k dostání pouze na Windows. Altova nabízí dvě verze – Enterprise (x86, x64) a Professional (x86). (Altova, 2010) Cena: $ 149 - $ 249 (dle verze) (Altova Pricelist, 2010)
Obrázek 10 - Altova UModel - behavior view, zdroj: http://www.altova.com/images/shots/UModel2011_Overview.gif
Obrázek 11 - Altova UModel - business process, zdroj: http://www.altova.com/images/shots/UModel2011_Overview.gif
5.5.
MS Visio
Aktuální verze 2010 od společnosti Microsoft
Produkt, jehož funkcionalita zahrnuje:
Mind maps, organizační schémata
UML 2.2 diagramy
BMPN
SharePoint Workflow template (podpora práce v týmu)
Detailní síťové diagramy (Visio Comparison, 2010)
Je to asi nejslabší ze zde uvedených nástrojů. Integrovatelný s ostatními MS produkty (Project, Visual Studio, SharePoint Process Repository. K dostání jsou verze Standard, Professional a Premium. Cena: $ 249,99 -$ 999,99 (dle verze) (Visio Buy Page, 2010)
Obrázek 12: MS Visio - network diagram, zdroj: http://www.microsoft.com/presspass/images/features/2008/02-05VisioPro_ITChart.jpg
5.6.
Visual Paradigm for UML
Aktuální verze 8.1 od společnosti Visual Paradigm
Funkcionalita zahrnuje zejména:
Podpora UML 2.0
Generování kódu ve více jak deseti programovacích jazycích
Podpora Round-trip engineeringu
BPMN
Nástroje pro týmovou spolupráci
Mind Mapping
Možnost textových i zvukových komentářů v grafech
Obrázek 13: Visual Paradigm for UML
Visual Paradigm nabízí šest verzí produktu, od komunitní verze pro nekomerční využítí, která je zdarma až po Enterprise Edition za 1399$
6. IDE Vývojová prostředí 6.1.
Eclipse
Aktuální verze: Helios 3.6.1 od Eclipse Foundation, Inc.
Eclipse je jedna z nejpoužívanějších open-sourcových vývojových platforem. Primárně je určena k programování v jazyce Java. Jedná se o vývojový software, který je multiplatformový a je možné jej provozovat nejen na Windows, ale i pod Linuxem a Mac OS. Obrovskou výhodou tohoto IDE je jeho možná rozšiřitelnost pomocí pluginů, pomocí nichž je možné rozšířit podporované jazyky o PHP, C++ a jiné. Pluginy však nerozšiřují pouze podporované jazyky, ale i další
funkcionalitu, a to zejména možnost používání UML. Základní verze Eclipse balíku
zahrnuje
pouze
nutné
komponenty
pro
vývoj
v Javě,
tedy
kompilátor, debuger, aj. Na webových stránkách Eclipse je však i možnost stáhnout si i další sestavení, které jsou přizpůsobená k použití pro jiné programovací jazyky. Příkladem můžou být balíčky Eclipse IDE for C/C++ Developers, Eclipse for PHP Developers, Eclipse Modeling Tools, atd. Instalace jakékoliv z těchto verzí je velice jednoduchá a spočívá pouze v rozbalení zip archivu. Způsobů, jak rozšířit pomocí pluginů funkcionalitu Eclipse je více. Pluginy se buď nainstalují přímo s instalací jiného software, dále je možné je nakopírovat přímo do specializovaného adresáře, zadat v Eclipse URL, která se má použít pro stažení software nebo instalací přes tzv. „Eclipse Marketplace“. Marketplace je systém instalace, který je stejný jako u mobilních telefonů Apple či Android nebo při instalaci software v Ubuntu, princip je tedy takový, že postačuje zadat přibližný název pluginu a Eclipse samo tento plugin vyhledá a po potvrzení uživatelem jej nainstaluje. Eclipse samozřejmě podporuje nástroje CASE a zde je jejich částečný výčet1:
EMF (Eclipse Modelling Project) - modelovací rámec na generování zdrojového kódu založený na strukturovaném datovém modelu
1
XMI (XML Metadata Interchanger)
eUML2 – UML modelovací nástroj
Apolo for Eclipse – UML modelovací nástroj
Generic Eclipse Modeling System
Roundtrip engineering
Papyrus – UML modelovací nástroj
http://tomas.dankovi.info/content/eclipse
Obrázek 14: eUML2 Studio v Eclipse
Obrázek 15: Papyrus v Eclipse
6.2.
Microsoft Visual Studio
Aktuální verze: MS Visual Studio 2010 od Microsoft
Visual Studio je IDE vývojovým prostředím od společnosti Microsoft, které je nyní ve verzi 2010. VS umožňuje vytvářet jak GUI aplikace, tak také konzolové aplikace pro platformy Microsoft (Windows, .NET, Windows Mobile, MS Silverlight, atd.). Mezi standardně podporované jazyky patří C/C++, VB.NET a C#. V MSVS však existuje funkcionalita zvaná správa jazykových služeb, která umožňuje doinstalovat podporu dalších programovacích jazyků, jako XML/XSLT, HTML, JavaScript, atd. Visual Studio je distribuováno v 5 různých verzích lišícími se podporovanou funkcionalitou a zejména cenou, kterou je možné vidět v tabulce.
Obrázek 16: Distribuční varianty MSVS 2010
Nejnovější verze - 2010 oproti předchozím verzím poskytuje nativní CASE funkcionalitu v podobě UML Modeling Tool. K dispozici je zde 5 různých UML diagramů, jako Class, Use Case nebo Activity diagram.
Bohužel
z takto
vytvořených
diagramů
není
možné
automaticky
vygenerovat žádné třídy2.
Obrázek 17: Možnosti výběru UML Diagramů v MSVS 2010
Obrázek 18: Ukázka UML Class Diagramu v MSVS 2010
Pracovat s třídami v grafickém prostředí, podobném UML je však možné, a to prostřednictvím funkcionality Class Designer 3, která je taktéž 2
http://weblogs.asp.net/gunnarpeipman/archive/2009/11/04/visual-studio-2010uml-modeling-projects.aspx 3 http://msdn.microsoft.com/en-us/library/hyxd8c85.aspx
nativní. Nevýhodou však oproti jiným UML utilitám je skutečnost, že se jedná o formát, který je specifický pro MSVS a není tedy možné jej exportovat
do
standardizovaného
UML
formátu
a
použít
v jiných
programech.
Obrázek 19: Ukázka Class Designeru v MSVS 2010
6.3.
NetBeans
Aktuální verze: 6.9.1 + 7.0 Beta od Sun Microsystems
NetBeans je dalším ze zástupců open source vývojových software. Stejně jako Eclipse je zaměřen zejména na programovací jazyk Java. Ve svém základu však nabízí i podporu jazyků Ruby, C/C++ a PHP. Pro každý z těchto jazyků je možné stáhnout specializovanou distribuci, případně je nabízena kompletní distribuce se všemi komponenty. Open source projekt NetBeans byl založen v roce 2000 společností Sun Microsystems, která je zároveň jeho největším sponzorem. NetBeans jsou převážně vyvíjeny v její
pražské pobočce, je však dalších téměř 100 partnerů, kteří se na financování a vývoji podílí. Netbeans jsou vyvýjeny pro platformy Windows, Linux, Mac OS X a Solaris. Aktuální verze je označena jako NetBeans IDE 6.9.1, avšak k dispozici je nově i vývojová verze IDE 7.0 Beta. Pod pojmem NetBeans se však skrývají dva různé produkty, a to NetBeans IDE, což je vývojové prostředí pro další aplikace a dále NetBeans Platform, což je základní platforma pro vytváření dalších aplikací. Netbeans jsou podobné Eclipse i z pohledu pluginů a jejich možného způsobu získání, tedy pomocí instalace přímo z prostředí Netbeans. V základní instalaci však nejsou přítomny žádné CASE nástroje. Tyto nástroje je možné přidat buď pomocí pluginu vyvíjeného přímo vývojáři NetBeans, tento plugin je však pouze pro verzi NetBeans 6.7. Druhou možností je užití pluginů třetích stran. Základní UML Plugin pro verzi NB 6.7 umožňuje vytvářet čtyři druhy diagramů: Activity, Class, Sequence a State diagram. Podporováno je i reverse engineering.
Obrázek 20: Netbeans 6.7 s UML pluginem
6.4.
Oracle JDeveloper 11g
Aktuální verze 11.1.1.3.0
4
od Oracle
Oracle JDeveloper je integrované vývojové prostředí, které je k dostání zdarma. Prostředí poskytuje velice produktivní vývojové prostředí, zjednodušuje vývoj SOA aplikací a uživatelských grafických rozhraní založených na Javě. (Oracle, 2010 i) Podporuje celý životní cyklus vývoje software, což znamená, že pokrývá velké množství technologií užívaných při tvorbě aplikací. Podpora životního cyklu tedy zahrnuje vše od počátečního návrhu a analýzy, přes testovací fáze až po samotný vývoj. Vývojáři mohou navrhovat, generovat a zobrazovat kód v UML, javě a databázových
diagramech.
Rozhraní
k verzovacím,
buildovacím
a
deployment nástrojům umožňují tvorbu balíčků a deployment aplikací. Další funkcionalita zahrnuje podporu pro Javu (SE, EE), Web 2.0, databáze, XML a webových služeb. Vše má stejnou strukturu projektu a způsob vývoje. JDeveloper
je
vývojovým
prostředím
pro
Oracle
Application
Development Framework (Oracle ADF), který umožňuje rychlý vývoj aplikací. Framework poskytuje řešení pro různé vrstvy aplikací (jako např. přístup k datům nebo mobilní a desktopové rozhraní) a nabízí funkcionalitu pro zjednodušení vývoje aplikací založených na Oracle ADF. (Oracle, 2009)ii Oracle ADF již však není zdarma. Novou funkcionalitou je Oracle Team Productivity Center, který přidává integrovanou hot-puggable5 aplikaci pro řízení životního cyklu. (Oracle, 2009iii) Součástí Jdeveloperu je i integrace se SVN a CVS. (Duncan, 2007)iv JDeveloper zahrnuje funkcionalitu pro modelování databází, která umožňuje forward a reverse modelování. (Oracle, 2009 v) Další integrované modelovací funkce podporují diagramy tříd, aktivit, sekvencí, případů užití, EJB a Java tříd. Existuje velké množství rozšíření a to jak oficiálních od 4
Ke dni 4.12.2010 „Computer component (such as a disk drive, disk controller card, power supply) that can be easily removed and replaced without shutting down the system.“ Zdroj: http://www.businessdictionary.com/definition/hot-swappable.html 5
společnosti Oracle a jejích partnerů, tak open source. Tímto způsobem se dá přidat mnoho funkcí, např. Jabber/XMPP IM podpora, podpora pro blogging (Blogger 1.0, MetaWeblog a Atom API) nebo tvorba dokumentace. Jako plugin se dá přidat i další UML funkcionalita (SDE for Jdeveloper nebo DBVA for Jdeveloper). Oracle Jdeveloper lze nainstalovat jak na Windows, tak i Linux a Macintosh. V podstatě jsou podporovány všechny platformy s JDK 6. (Oracle, 2010vi)
Obrázek 21: Oracle JDeveloper 11g workspace
Obrázek 22: Oracle JDeveloper 11g, build-in UML podpora (class diagram)
Obrázek 23: Oracle JDeveloper 11g - Team Productivity Center,
zdroj: http://download.oracle.com/otn_hosted_doc/jdeveloper/111demos/tpc_overview/tpc_over view1.html
6.5.
Zend Studio
Aktuální verze 8.0.0 od Zend Technologies Ltd.
Zend Studio je velice profesionální vývojové prostředí pro PHP. Obsahuje
editor
refaktoring,
kódu
s pokročilým
generování
PHP
kódu,
formátováním, integraci
navigaci
se Zend
v kódu,
Serverem
a
Frameworkem, pokročilé debuggování, vestastavěnou Mozillu, podporu pro JavaScript, HTML, CSS, XML, PHPUnit testování, databázové a SQL nástroje, podporu pro spolupráci v týmu, podporu pro vzdálené systémy, integraci s VMware Workstation6 a podporuje agilní vývoj. Dále je možné používat CVS nebo SVN, PHPDocumentor pro konzistentní dokumentaci kódu, tasky a to-do seznamy nebo sdílet nastavení projektu s týmem. (Zend, 2010)vii Zend Framework je velice oblíbený framework. Je open source, objektově orientovaný a založený na jednoduchosti. Je zaměřen na tvorbu Web 2.0 aplikací a webových služeb. (Zend, 2010)viii Zend Server je server webových aplikací určen pro běh a správu PHP aplikací, které vyžadují spolehlivost, výkon a bezpečnost. Může být použit pro monitorování spouštění PHP aplikací nebo k sledování kódu.(Zend, 2010) Toto IDE je založeno na PHP Developers Tools (PDT) pro Eclipse (populární open source projekt od společnosti Zend) a poskytuje vysoce spolehlivou
funkcionalitu,
která
je
vyžadována
profesionálními
PHP
vývojáři. Funkcionalita se dá rozšířit více jak tisícem pluginů, např. Mylyn pro řízení životního cyklu aplikace nebo různé UML nástroje. (Zend, 2010) ix Samotný Zend se dá použít jako plugin do Eclipse. K dispozici jsou balíčky pro Linux, Windows i Mac OS X. Zend Studio i Zend Server jsou placené produkty.
6
„VMware Workstation allows one physical machine to run multiple operating systems simultaneously.“ Zdroj: http://en.wikipedia.org/wiki/VMware_Workstation
Obrázek 24: Zend Studio workspace
Obrázek 25: Zend Studio - generování dokumentace
Obrázek 26: Zend Studio - vygenerovaná dokumentace
7. Integrace CASE v IDE V této části práce jsme se snažili zjistit, v jakém rozsahu jsou CASE nástroje integrovatelné do IDE prostředí. Integrovatelností je zde na mysli podpora plug-inů, tedy zda plug-in CASE nástroje je možné nainstalovat do IDE prostředí. I když CASE nástrojů je velmi mnoho a IDE prostředí také, v případě integrace jsme se zaměřili pouze na programy popisované v této práci. I z menšího vzorku je však možné vysledovat jisté trendy. Z tabulky níže je patrné, že nejflexibilnějším CASE nástrojem z námi popisovaných je Visual Paradigm for UML. Tento nástroj je podporován všemi vývojovými prostředími z našeho výběru. Zároveň je to jediný nástroj integrovatelný s prostředím JDeveloper 11g a jeden pouze ze dvou pro prostředí NetBeans. Naopak je trochu zarážející, že MS Visio nabízí plug-in pouze pro MS Visual Studio. Je také třeba zmínit, že Zend Studio je založeno na platformě Eclipse a podporuje tedy stejné plug-iny.
IDE
Visual Studio
Eclipse
2010
Case nástroje Enterprise Architect PowerDesigne r Magic Draw
NetBeans
2011
11g
Zend Studio *
x
x
x
x
x
x
x
Altova Umodel
Jdeveloper
x
x
x
x
MS Visio 2010
x
x
Visual Paradigm
for
x
x
x
x
x
UML
* Zend Studio je založeno na Eclipse a je schopno používat všechny pluginy pro Eclipse
8. Trendy z minulých prací Dali jsme si za cíl identifikovat trendy naznačené v pracích z minulých semestrů a prozkoumat nakolik se potvrdily nebo zda byly vyvráceny. Nakonec jsme našli čtyři hlavní trendy, které se v několika pracích opakovaly
8.1.
Trend
nezávislosti
vývojových
prostředí
na
nástrojích CASE Tento
trend,
několikrát
zmiňovaný
v předchozích
pracích
se
v průběhu let potvrdil. IDE se stávají nezávislejší na nástrojích CASE, protože samy začínají nabízet funkcionalitu na podporu CASE. Příkladem může být Visual Studio od společnosti Microsoft, které nově nabízí možnost tvorby UML diagramů. Tyto vestavěné nástroje však ani zdaleka nedosahují komplexnosti řešení typu PowerDesigner.
Plug-iny instalované do vývojových prostředí by se daly také zmínit v tomto kontextu. Zde ovšem platí, že pro instalaci plug-inu se musí nainstalovat i celý nástroj CASE. Po nainstalování plug-inu již je však možné funkcionalitu nástroje využívat přímo ve vývojovém prostředí. Dá se předpokládat další prohlubování tohoto trendu, protože vlastní CASE funkcionalita podporuje konkurenceschopnost IDE.
8.2.
Trend integrace nástrojů CASE s IDE
Tento trend je již prakticky prověřen i výše v této práci. Nástroje CASE poskytují plug-iny, kterými se prohlubuje spolupráce mezi CASE a IDE. Lze si všimnout, že od první zmínky o tomto trendu v minulých pracích (zima 2006) se jedna věc nezměnila. Nástroje CASE poskytují většinou
možnost
integrace
pouze
pro
několik
vybraných
velkých
vývojových prostředí (podle tabulky v kapitole 7 se jedná zejména o Eclipse a Visual Studio). Dochází tak k tomu, že některé IDE není možné propojit s žádným nástrojem CASE. Naopak, některé nástroje CASE se tomuto trendu také vyhýbají a podporu integrace téměř neposkytují – například MS Visio. Výjimku tvoří Visual Paradigm for UML. Přestože je možné sledovat mírné zlepšení v této situaci, nedá se očekávat nějaká výraznější změna v tomto trendu. Nástroje CASE budou nadále,
pravděpodobně
z důvodu
pracnosti
vytvářených
plug-inů,
podporovat integraci pouze s největšími IDE, kde se dá očekávat vysoký počet zákazníků.
8.3.
Trend nástrojů CASE rozšiřovat funkcionalitu o
modelování podnikových procesů. Nástroje CASE se snaží bránit trendu číslo 1 rozšiřováním vlastní funkcionality tak, aby stále bylo výhodné pořídit si takovéto nástroje a nespoléhat
pouze
na
vestavěnou,
a
značně
zjednodušenou,
CASE
funkcionalitu vývojových prostředí. Hlavní nově integrovanou funkcionalitou je podpora BPMN (Business Process Modeling Notation), což je grafické zobrazení podnikových procesů, které bude srozumitelné všem článkům životního cyklu procesu
(business analytici, techničtí vývojáři, analytici monitorující procesy atd.) a dále podpora Mind Mappingu, tedy tvorby diagramu zachycujícímu slova, obrázky nápady a podobně ve vztahu k centrální myšlence. Tento trend se zcela jistě bude dále rozvíjet. Tak jak se budou rozšiřovat potřeby
8.4.
Trend CASE jako SaaS
Trend case jako služba se vztahuje k fenoménu cloud computingu, který se mohutně rozšiřuje informatickým světem. Aplikace nainstalovaná v cloudu, ke které je přistupováno prostřednictvím webového prohlížeče. Tento trend byl poprvé nastíněn v práci z jara 2009 a tak je příliš brzy na posouzení jeho případného úspěchu či neúspěchu. Nástroje CASE jako služba zatím trpí značným nedostatkem funkcionality a komplexity. Nabízejí většinou pouze zcela základní modelování UML diagramů. Úspěch tohoto trendu je spojen s úspěchem konceptu cloud computingu, jak se bude vyvíjet dále je k posouzení dalšími týmy v příštích semestrech.
9. Závěr Primárním cílem této semestrální práce bylo ukázat nejčastěji využívané CASE a IDE nástroje určené pro vývoj. Dále jsme uvedli současné trendy v užití těchto nástrojů a jejich budoucí směřování. Zhodnotili jsme také, zda byly správné předpoklady, které byly stanoveny v předchozích semestrálních pracích. Tento cíl jsme splnili a domníváme se, že tato práce může poskytnout čtenářům základní orientaci v této oblasti informačních technologií. Zároveň jsme se snažili podchytit nejdůležitější trendy z minulých prací a zjistit, jak si vedou s časovým odstupem. Zde se ukázalo, že předchozí týmy zpracovávaly práce důkladně, neboť i po několika letech se trendy tehdy naznačené zdají být aktuální. V oblasti informačních technologií byl, je a stále bude velmi rychlý vývoj, a dá se často říci, že co platilo minulý rok, již v současné době není
aktuální. Tento fakt dává studentům v příštích semestrech závazek zde uvedená data aktualizovat a možnost tuto práci rozšířit dle aktuální situace v budoucnu.
10. Citovaná literatura Altova. (2010). Získáno 2010, z Altova: http://www.altova.com/umodel.html Altova Pricelist. (2010). Získáno 2010, z Altova: https://shop.altova.com/pricelist.asp Enterprise Architect 8 - Price & Purchase Options. (nedatováno). Získáno 2011, z http://www.sparxsystems.com.au/products/ea/purchase.html JDeveloper Overview. (2010). Získáno 2010, z Oracle: http://www.oracle.com/technetwork/developer-tools/jdev/jdeveloper11gdatasheet-1-133040.pdf Oracle overview. (2010). Načteno z Oracle: http://www.oracle.com/technetwork/developer-tools/jdev/overview/index.html Pricing and Licensing. (2010). Získáno 2010, z MagicDraw: http://www.magicdraw.com/pricing Visio Buy Page. (2010). Získáno 2010, z Microsoft: http://office.microsoft.com/en-us/visio/visio-2010-buy-page-FX101836377.aspx Visio Comparison. (2010). Získáno 2010, z MS Visio: http://office.microsoft.com/en-us/visio/visio-edition-comparisonFX101838162.aspx What is MagicDraw. (2010). Získáno 2010, z MagicDraw: http://www.magicdraw.com/what_is
i ii iii iv v vi vii viii ix