Vysoká škola ekonomická v Praze
Nástroje pro vývoj aplikací a jejich vazba na CASE Semestrální práce 4IT450 CASE – Computer Aided Systems Engineering
Daniel Kouba Jan Oudrnický Jiří Heřman Vladimír Oraný Kristína Buliková Pavel Švec Prosinec 2008
Obsah Obsah................................................................................................................................2 1 Úvod................................................................................................................................4 2 IDE (1) (2)........................................................................................................................5 2.1 IDE pro Javu.............................................................................................................................6 2.1.1 Specifika IDE pro Javu..............................................................................................................................6 2.1.2 Důležité vlastnosti pro Java IDE...............................................................................................................6 2.1.3 Shrnutí...................................................................................................................................................15
2.2 .NET Framework....................................................................................................................17 2.2.1 Co je to .NET (6).....................................................................................................................................17 2.2.2 Co je to Mono (7)...................................................................................................................................17 2.2.3 Specifika IDE pro platformu .NET a Mono.............................................................................................18 2.2.4 Vybraná IDE pro .NET a Mono...............................................................................................................18 2.2.5 Shrnutí...................................................................................................................................................25
2.3 Web.......................................................................................................................................26 2.3.1 Specifikace IDE pro web........................................................................................................................26 2.3.2 Vazba na Case nástroje..........................................................................................................................26 2.3.3 XHTML...................................................................................................................................................26 2.3.4 PHP........................................................................................................................................................32 2.3.5 ASP (8)...................................................................................................................................................35
2.4 XML........................................................................................................................................36 2.4.1 Vazba na Case nástroje..........................................................................................................................36 2.4.2 IDE pro XML...........................................................................................................................................36
2.5 Databáze................................................................................................................................39 2.5.1 Vazba na Case nástroje..........................................................................................................................39 2.5.2 IDE pro databáze...................................................................................................................................39
3 CASE..............................................................................................................................43 3.1 Obecně o CASE.......................................................................................................................43 3.2 MDA.......................................................................................................................................43 3.3 UML.......................................................................................................................................44 3.4 Přehled podle použití.............................................................................................................45 3.4.1 Objektové modelování..........................................................................................................................45 3.4.2 IDE pro objektové modelování..............................................................................................................45 3.4.3 Návrh databází.......................................................................................................................................52 3.4.4 Modelování procesů..............................................................................................................................55 3.4.5 IDE pro modelování procesů.................................................................................................................55
4 IDE pro podporu spolupráce...........................................................................................57 4.1 Obecně..................................................................................................................................57
-2-
4.2 Přehled produktů...................................................................................................................57
5 Závěr..............................................................................................................................62 6 Citace:............................................................................................................................63
-3-
1 Úvod Cílem této práce je stručně seznámit čtenáře s vybranými nástroji pro vývoj aplikací (dále jen IDE) a popsat jejich spolupráci s nástroji CASE. Vzhledem k tomu, že tato práce navazuje na semestrální práce minulých ročníků a na trhu s CASE nástroji se od té doby neodehrály žádné výrazné změny (minimum nových nástrojů nebo výrazně odlišných nových verzí), rozhodli jsme se zvolit odlišný přístup v pojetí naší práce. Budeme se především snažit rozdělit CASE nástroje a IDE podle typu jejich využití tak, aby každý mohl snadno najít jen nástroje z oblasti, o kterou se zajímá. Dále se pokusíme popsat některé nástroje, které se v předešlých pracích neobjevily.
-4-
2 IDE (1) (2) IDE je zkratkou Integrated Development Environment (Integrované Vývojové Prostředí – ačkoliv se do českého jazyka nepřekládá). Tento program (nebo skupina programů) poskytuje programátorovi velké množství utilit, k vývoji software. Základem každého IDE je editor zdrojového kódu, kompiler, utility k sestavování programu (linker) a debugger. V posledních letech dochází k posunu tohoto paradigmatu, jelikož se z IDE stává zároveň prostředek pro design aplikace samotné a design rozhraní aplikací a podporuje rovněž i další procesy týkající se vývoje software, jako například komunikace mezi vývojáři nebo správu chyb – tyto nástroje jsou popsány v kapitole IDE pro podporu spolupráce. Mezi další vlastnosti vývojového prostředí patří automatické dokončování, ukazování chyb v kódu v reálném čase a v současné době i podpora refaktorování, které souvisí s moderními trendy programování. Potřebou vlastností je také generování dokumentace ze zdrojového kódu. Rozhraní vývojového prostředí je zaměřeno především na podporu jednoho programovacího jazyka, ale platformy jako Eclipse (které je hlavním IDE pro Javu) ukázaly, že jedno IDE je schopné podporovat i větší počet jazyků s menšími úpravami. Podobně jako Visual Studio, které je v základu určeno pro několik programovacích jazyků, jejíchž jmenovatelem je platforma .NET. Ve světě otevřeného softwaru jsou více rozšířeny negrafická vývojová prostředí, na rozdíl proti tomu, ve sféře vlivu Microsoft Windows jsou grafická prostředí preferována a existuje velké množství komerčních i nekomerčních variant. V základu obsahuje většinou IDE rozhraní pro jednoduchou správu tříd, což je považováno za jistou úroveň CASE, ale pro seriózní modelování projektu je zapotřebí externích nástrojů. IDE prostředí jsou většinou navržena jako velmi rozšiřitelné a je k dispozici rozhraní, pomocí kterého je možné přidat funkcionalitu do aplikace samotné. Takto jsou většinou přidávány propracovaného CASE nástroje do IDE.
-5-
2.1 IDE pro Javu 2.1.1
Specifika IDE pro Javu Java jako programovací jazyk má některá svá specifika. K těm patří například čím dál tím bohatší množství standardních knihoven, které není již skoro možné zapamatovat si z hlavy. Java se stala velmi oblíbeným jazykem pro tvorbu různých podpůrných knihoven a nástrojů a u IDE je velmi důležité, jak se dokáží vypořádat s jejich začleněním. Řada z nich se stala natolik populárním, že se stala takřka nezbytné pro každý Java projekt - například sestavovací nástroje Ant či Maven. Mnohé z nich se stali tak populární, že pronikli i do jiných platforem jako například NAnt, NHibernate pro platformu .NET. Java obsahuje tři různé edice: Micro Edition, Standard Edition a Enterprise Edition. Micro Edition je určena pro běh s minimálními prostředky například v mobilních telefonech, Standard Edition je učena pro běžné počítače a Enterprise Edition popisuje infrastrukturu, kterou by měl mít tzv. aplikační server, který slouží k zjednodušení mnoha běžných problémů podnikových systémů bezpečnost, ukládání dat apod. Součástí Enterprise Edition jsou i webové standardy JSP, JSF a servlety. Dobré IDE pro Javu by mělo být schopno pomáhat při tvorbě aplikací pro všechny tři zmíněné edice. Dobré IDE by mělo dále pro jakýkoli jazyk podporovat funkce jako ladění, testování, automatické doplňování včetně náhledů do dokumentace, šablony, automatické kontroly chyb či zvýrazňování syntaxe. Zmiňované vlastnosti se snaží shrnout následující seznam, který bude součástí popisu každého jednotlivého IDE. Doplněno je několik běžných vlastností jako například cena a vazby na CASE nástroje zmíněné v ostatních částech této práce. 2.1.2
Důležité vlastnosti pro Java IDE • Platforma • Rozšiřitelnost • Podpora pro sestavování projektu o Ant o Maven • Podpora pro edice Java o Micro Edition o Standard Edition o Enterprise Edition • Podpora tvorby kódu o zvýrazňování syntaxe (kontextové doplnění) o podpora refaktoringu o automatická kontrola chyb o testování o ladění • Podpora práce s úložišti o CVS, SVN • Vazby na CASE nástroje o objektové modelování o návrh databází o modelování procesů o nástroje pro podporu spolupráce
-6-
Eclipse 3.4 (3) Eclipse IDE je vývojové prostředí vznikající pod otevřenou komunitou The Eclipse Foundation, jejíž strategickými členy jsou takoví giganti jako IBM, Borland, Oracle nebo Zend. Eclipse IDE vzniklo původně jako placené vývojové prostředí v IBM, které bylo otevřeno a převedeno na komunitu v roce 2001. Eclipse je v současnosti nejpoužívanějším vývojovým prostředím pro Javu. Základem úspěšnosti je velmi dobře navržený systém doplňků založený na standardu OSGi. Základ samotné aplikace Eclipse je velmi skromná Eclipse Platform - ostatní jsou pouze doplňky, včetně prostředí pro vývoj v Javě. V minulosti, kdy platforma GUI aplikací Swing byla velmi kontroverzní a chybová, Eclipse si dokázal získat mnoho příznivců pomocí platformy Standard Widget Toolkit, které je založené na využívání nativního zobrazování - proto se také vzhled Eclipse vždy shoduje s ostatními aplikacemi běžícími na dané platformě. Eclipse je šířen zadarmo v několika výchozích balíčcích: • • • • • • • •
Eclipse IDE for Java EE Developers Eclipse IDE for Java Developers Eclipse IDE for Java C/C++ Developers Eclipse Modeling Tools Eclipse for RCP/Plug-in Developers Eclipse IDE for Java and Report Developers Eclipse Classic + Member Distros
Nicméně dá se říci, že co vývojář, to jiné vývojové prostředí, neboť jenom v rámci samotné Eclipse Foundation vzniká obrovské množství projektů, které se dají doinstalovat do IDE, např. Data Tools nástroje pro práci s databází, Rich Ajax Platform pro rychlou tvorbu interaktivních webových aplikací nebo nástroje pro SOA, AspectJ nebo PHP. Všechny projekty, které jsou zastřešeny pod Eclipse Foundation lze jednoduše doinstalovat přes tzv. Discovery Site. Jejich seznam můžeme najít na stránce http://www.eclipse.org/projects/listofprojects.php. Kromě doplňků podporovaných Eclipse Foundation existuje i nepřeberné množství (více než tisíc) dalších doplňků od různých tvůrců. Většinu z nich nalezneme na stránce http://www.eclipseplugincentral.com/ . Samotné vývojové prostředíobsahuje vše, co od moderního vývojového prostředí očekáváme. Nechybí ani integrace se sestavovacími nástroji Ant i Maven. Za zmínku stojí, že nástroj pro podporu spolupráce Rational Team Concert je založeno právě na platformě Eclipse. Stejně tak několik jiných vývojových prostředí jako v naší práci nezmiňovaný JBuilder nebo MyEclipse staví na základech Eclipse IDE. Kromě běžného vývojového prostředí totiž poskytuje Eclipse platformu pro rychlý vývoj aplikací - a to nejenom vývojových prostředí. Kromě vedoucí pozice v programování v jazyce Java se Eclipse dostává i velké oblibě mezi vývojáři C/C++. K výrazným nedostatkům patří zejména absence jednoduchého nástroje pro objektového modelování.
-7-
Výrobce: The Eclipse Foundation Cena : • Zdarma Důležité vlastnosti pro Eclipse IDE: • Platforma - multiplatformní formou instalací pro každou platformu zvlášť • Rozšířitelnost - velmi dobrá, založena na standardu OSGi • Podpora pro sestavování projektu o Ant - ano o Maven - ano • Podpora pro edice Java o Micro Edition - ano o Standard Edition - ano o Enterprise Edition - ano • Podpora tvorby kódu o zvýrazňování syntaxe - ano o podpora refaktoringu - ano o automatická kontrola chyb - ano o testování - ano o ladění - ano • Podpora práce s úložišti o CVS - ano o SVN - ano • Vazby na CASE nástroje o objektové modelování - ano, Eclipse Modeling Tools, ArgoEclipse (od tvůrců ArgoUML), Omondo Eclipse UML, Apollo for Eclipse (od tvůrců Posseidon for UML), Visual Paradigm SDE for Eclipse, Violet UML Editor, Fujaba4Eclipse, Objecteering for Eclipse o návrh databází - ano, Data Tools Platform, PowerDesigner o modelování procesů - ano, v rámci Eclipse Modeling Tools, EPF, PowerDesigner, Visual Paradigm SDE for Eclipse o nástroje pro podporu spolupráce - ano, Rational Team Concert
-8-
JCreator LE / JCreator Pro (4) JCreator od společnosti Xinox Software viditelně zaspal svou dobu. Toto vývojové prostředí poskytuje pouze základní funkcionalitu jako například kontextové doplňování a zvýrazňování syntaxe, ale pokročilé funkce známé s ostatních IDE zcela chybí - jako například možnost refaktorování. Ohromující přitom je, že v obrovské konkurenci, která na trhu panuje, účtuje JCreator licenční poplatky - od 89$ za samostatnou licenci za verzi Pro (cena se snižuje množstevními slevami). Jak bylo nastíněno JCreator je dostupný ve dvou verzích - JCreator LE a JCreator Pro. Verze LE je takový lepší poznámkový blok. Na rozdíl od verze Pro neobsahuje ani možnost tvorby šablon, ani integraci s CVS, automatické doplňování ani dokonce nástroje pro ladění. JCreator je na rozdíl od většiny Java IDE napsán v C++, z čehož plynou hned dva důsledky. JCreator může být o něco svižnější, než jeho kolegové, nicméně na jiné platformě než Windows jej nespustíte, protože se tvůrci neobtěžovali s verzemi pro další platformy. V době malých disků mohla být výhodou i velmi malá velikost instalace - cca 11 MB. Skromný výčet několika základních funkcí doplňuje možnost spolupracovat s Ant, tvořit stránky JSP a již zmiňovaná spolupráce s CVS. Ostatní funkce chybí a jejich doplnění např. open source komunitou není možné, neboť JCreator je uzavřený nástroj bez možnosti tvorby doplňků. Výrobce: Xinox Software Cena: • max. 89$ (cca 1 700 Kč) za jednu licenci verze Pro, verze LE zdarma Důležité vlastnosti pro Java IDE: • Platforma - Windows • Rozšiřitelnost - není • Podpora pro sestavování projektu o Ant - ano o Maven - ne • Podpora pro edice Java o Micro Edition - ne o Standard Edition - ano o Enterprise Edition - pouze Java Server Pages • Podpora tvorby kódu o zvýrazňování syntaxe - ano o podpora refaktoringu - ne o automatická kontrola chyb - ne o testování - ne o ladění - pouze verze Pro • Podpora práce s úložišti o CVS - pouze verze Pro o SVN - ne • Vazby na CASE nástroje o objektové modelování - ne o návrh databází - ne o modelování procesů - ne o nástroje pro podporu spolupráce – ne
-9-
JDeveloper 11g (5) Za produktem JDeveloper stojí jeden z gigantů IT průmyslu - společnost Oracle. Původ IDE je taktéž zajímavý, jelikož první verze JDeveloper vznikla licencování produktu JBuilder od společnosti slavného tvůrce IDE, firmy Borland. Své kořeny u firmy Borland JDeveloper nezapře hlavně co se týče jednoduchosti ovládání a tvorby aplikací. JDeveloper je velmi silný zejména při vytváření aplikací nad knihovnami Application Development Framework (ADF), které slouží k rychlému a jednoduchému vývoji aplikací běžících na aplikační serveru WebLogic. Nejenom při tvorbě nad knihovnami ADF si rádi vzpomenete na jednoduchost tvorby aplikací v starém dobrém Dephi. JDeveloper obsahuje dobrou podporu pro tvorbu rozšiřování pomocí doplňků. Jejich výběr bohužel již není tak bohatý jako u Eclipse. Na stránkách http://www.oracle.com/technology/products/jdev/htdocs/partners/addins/exchange/index.html na leznete okolo padesáti možných doplňků do vývojového prostředí. Jak můžeme čekat, vynikající je spolupráce s dalšími produkty společnosti Oracle jako například již zmiňovaný aplikační server WebLogic nebo databázovými servery. JDeveloper tedy samozřejmě umí i navrhovat databáze, klást dotazy a pomáhá vytvářet uložené PL/SQL funkce a procedury. Součástí IDE je standardně integrace nástrojů objektového modelování. Součástí instalace může být i instalace aplikačního serveru a knihoven ADF. Výrobce: Oracle Cena: zdarma Důležité vlastnosti pro Java IDE: • Platforma - multiplatformní • Rozšiřitelnost - ano • Podpora pro sestavování projektu o Ant - ano o Maven - nepřímo – pomocí doplňku do Maven, který umí vytvářet JDeveloper projektové artefakty • Podpora pro edice Java o Micro Edition - ano o Standard Edition - ano o Enterprise Edition - ano • Podpora tvorby kódu o zvýrazňování syntaxe (kontextové doplňování) - ano o podpora refaktoringu - ano o automatická kontrola chyb - ano o testování - ne o ladění - ano • Podpora práce s úložišti o CVS - ano o SVN - ano • Vazby na CASE nástroje o objektové modelování - ano (interně), Visual Paradigm SDE for JDeveloper o návrh databází - ano (interně), o modelování procesů - ano, Visual Paradigm SDE for JDeveloper o nástroje pro podporu spolupráce – ne
- 10 -
IntelliJ IDEA 8 (31) IntelliJ IDEA společnosti JetBrains se honosí několika oceněními za nejlepší Java IDE. V minulosti přinášelo do programování v Javě mnoho novinek, které byly z velké části převzaty ostatními vedoucími vývojovými prostředími a trhu. Heslem IntelliJ IDEA je být "nejinteligentnějším Java IDE" a maximálně podporovat produktivitu a vcelku se mu to daří. Verze 8 nově nabízí například možnost modelování tříd v UML diagramech a zdaleka nejrozmanitější možnosti refaktoringu. Práci může ušetřit velmi důmyslné automatické doplňování, které vždy hledá nejvhodnější variantu k doplnění a poradí si i například s převáděním polí na seznamy a zpět. Velmi dobrá je i integrace s nástrojem Maven, pomocí kterého dokáže IntelliJ IDEA stahovat knihovny podle potřeby. Další zajímavou variantou je spojení vývojového prostředí s "continous build" serverem TeamCity. Na rozdíl od svých konkurentů si své vychytávky nechává společnost JetBrains dobře zaplatit. K dispozici je několik možností licencování: • • • • •
Commercial License - €540 - pro firmy a organizace Personal License - € 225 - pro osobní účely Academic License - € 90 - pro výzkumné a výukové účely Classroom License - zdarma - pro studenty Open Source License - zdarma - pro nekomerční projekty
I když ceny nejsou vysloveně přemrštěné, je otázka, zda se IntelliJ IDEA tak moc liší od své konkurence. Poměrně inteligentní automatické doplňování má řada zdarma distribuovaných IDE a stejně tak např. návrh tříd v UML. Většinou jen možná nebývají tak dobře propagovány. IntelliJ IDEA je velmi dobře rozšířitelný a na stránce http://plugins.intellij.net/ můžete nalézt více než 500 různých doplňků. Součástí základní instalace jsou je již podpora řady knihoven jako například Struts nebo Hibernate. Zajímavá je kompatibilita s Eclipse IDE. Je možné snadno importovat projekty z Eclipse a dokonce vytvářet aplikace na platformě Eclipse RCP.
- 11 -
Výrobce: JetBrains Cena: • € 540 za uživatele pro firmy (cca 14 500 Kč) • € 255 pro individuální uživatele (cca 7 000 Kč) • € 90 pro akademické účely (cca 2 500 Kč) • zdarma pro studenty a open source projekty Důležité vlastnosti pro Java IDE: • Platforma - multiplatformní • Rozšířitelnost - ano • Podpora pro sestavování projektu o Ant - ano o Maven - ano • Podpora pro edice Java o Micro Edition - ano o Standard Edition - ano o Enterprise Edition - ano • Podpora tvorby kódu o zvýrazňování syntaxe (kontextové doplňování) - ano o podpora refaktoringu - ano o automatická kontrola chyb - ano o testování - ano o ladění - ano • Podpora práce s úložišti o CVS - ano o SVN - ano • Vazby na CASE nástroje o objektové modelování - ano (interně), Visual Paradigm SDE for IntelliJ IDEA o návrh databází - ano, DB Visual ARCHITECT for IntelliJ IDEA, DB Helper o modelování procesů - ano, Visual Paradigm SDE for IntelliJ IDEA o nástroje pro podporu spolupráce - neúplné - vazba na TeamCity, které ovšem není přímo nástrojem pro podporu spolupráce ve smyslu této práce
- 12 -
NetBeans 6.5 (32) Historie prostředí NetBeans je velmi zajímavá zejména pro Čechy. NetBeans vzniky jako studentský projekt na Matematicko-fyzikální fakultě Univerzity Karlovy v Praze pod názvem Xelphi jako první Java IDE běžící na Javě samotné. Na základně tohoto projektu založil Roman Staněk společnost NetBeans, která toto vývojové prostředí dále vyvíjela a prodávala. Roku 1999 jej odkoupila firma Sun a roku 2000 jej převedla pod open source licenci. Věšína vývoje stále zůstává v pražské pobočce společnosti Sun. NetBeans IDE velmi silně těží ze vztahu ke společnosti Sun. Například většina návodů pro programovaná v Javě, které naleznete na stránkách společnosti jsou primárně napsány na vyzkoušení právě ne NetBeans. Vývojové prostředí NetBeans zachovává standard odvětí a obsahuje všechny funkce, které od něj očekáváme - Code Assist, automatické hledání chyb a podobně. Stejně tak lze tento produkt lehce rozšířit pomocí doplňků, které nazývá moduly. Kromě možnosti rozšíření pomocí modulů je již při stahování k dispozici několik připravených verzí podobně jako u Eclipse: • • • • • • •
Java SE Java FX Java Ruby C/C++ PHP Vše
Dalšími zajímavými funkcemi NetBeans je například snadné modelování tříd pomocí UML nebo výborná podpora tvorby mobilních aplikací. Podpora spolupráce může být zajištěna pomocí NetBeans Collaboration Project.
- 13 -
Výrobce: NetBeans Community Cena: zdarma Důležité vlastnosti pro Java IDE: • Platforma - multiplatformní • Rozšířitelnost - ano • Podpora pro sestavování projektu o Ant - ano o Maven - ano • Podpora pro edice Java o Micro Edition - ano o Standard Edition - ano o Enterprise Edition - ano • Podpora tvorby kódu o zvýrazňování syntaxe (kontextové doplňování) - ano o podpora refaktoringu - ano o automatická kontrola chyb - ano o testování - ano o ladění - ano • Podpora práce s úložišti o CVS - ano o SVN - ano • Vazby na CASE nástroje o objektové modelování - ano (interně - NetBeans UML), Visual Paradigm SDE for NetBeans, Magic Draw UML, o návrh databází - ano, DB Visual ARCHITECT for NetBeans o modelování procesů - ano, Visual Paradigm SDE for NetBeans o nástroje pro podporu spolupráce - ano, NetBeans Collaboration Project 2.1.3
Shrnutí Při bližším seznámení se všemi IDE se ukázalo, že až na jednu výjimku jménem JCreator, o které se již dále nebudu v tomto shrnutí vůbec zmiňovat, dosahují velmi vysoké kvality a téměř totožné funkcionality. Co se týče běžného programování v Javě poskytují Eclipse, JDeveloper, IntelliJ IDEA i NetBeans velmi dobré zázemí a téměř shodné funkcionality. Často je volba spíše otázkou vkusu, nebo toho, s čím se daný programátor setká nejdříve. Větší rozdíly by mohly být viditelné například ve vazbách na různé knihovny, neboť o nich je skutečné profesionální programování v praxi. Vedoucí čtyřka proto velmi dbá na rozšířitelnost, i když množství dostupných doplňků se často liší. Nelze jednoznačně rozhodnout, jaké IDE je lepší, či horší. Vždy je nutné brát v potaz, co od něj budeme očekávat a s jakými technologiemi budeme pracovat. Nejlépe to zjistíme v informacích o knihovnách, kterě budeme chtít používat. Většinou se zde dozvíme, jakou podporu daná IDE poskytují. Tvůrci Java IDE si zajisté velkou podobnost svých produktů uvědomují a proto se snaží vytvářet další přidanou hodnotu formou různých knihoven pro rychlou tvorbu aplikací, ať už Eclipse RCP nebo ADF od Oracle. Co se týče vazby na CASE nástroje, nejlépe je s nástroji zmiňovanými v ostatních částech práce provázáno Eclipse IDE, jelikož celá řada nástrojů lze použít taktéž jako doplňky do tohoto prostředí. Nicméně toto "vítězství" lehce pokulhává na tom, že na rozdíl od své konkurence zatím stále nemá žádné plně integrované řešení návrhu tříd v UML. Naproti tomu obrovskou výhodou je plná integrace s Rational Team Concert. Ostatní konkurence ve všech. Nástroj JDeveloper sice vazby - 14 -
na CASE nástroje příliš nemá, obsahuje však vlastní nástroj pro práci s UML a velmi silné zázemí v oblasti návrhu databází a práce s nimi - jak by se ostatně od produktu databázového giganta Oracle dalo očekávat. Zajímavá je vazba vývojových prostředí na nástroje firmy Visual Paradigm. Nástroje firmy Visual Paradigm jsou takovou stálicí Java IDE a lze je použít ve všech čtyřech hlavních vývojových prostředí.
- 15 -
2.2 .NET Framework 2.2.1
Co je to .NET (6) Jedná se o softwarovou technologii, která je dostupná pro většinu operačních systémů od firmy Microsoft Windows. Obsahuje knihovnu hotových řešení a virtuální stroj podobně jako Java. V mnoha prvcích se platformě Java podobá. Jeho hlavní výhodou je podpora ze strany firmy Microsoft, který jej chce prosadit jako hlavní platformu pro vývoj software na operačních systémech Windows. Programy vytvořené v tomto frameworku jsou překládány do CIL (Common Intermediate Language – dříve MSIL) které jsou spuštěny virtuálním strojem, který se stará o správu paměti a ošetřování případných výjimek. Do CIL je možné překládat z mnoha jazyků, ale nejrozšířenější z nich je C# společně s VB. Vývoj aplikací v tomto frameworku je velmi zaměřen na grafické rozhraní a tak je přímo v rozšiřujících knihovnách navázán na WPF (Windows Presentation Foundation) a pomocí Windows Forms tak umožňuje jednoduché navrhování formulářů. V současné verzi 3.5 implementuje framework velké množství moderních technologií a je neustále vyvíjen. Verze 4.0 je plánována na druhou polovinu roku 2009.
2.2.2
Co je to Mono (7) Projekt který je založen na standardech definovaných firmou Microsoft při uvádění platformy .NET. Jedná se v zásadě o svobodnou verzi .NET, která obsahuje C# překladač a virtuální stroj pro spouštění bytového kódu. Výhodou platformy Mono je schopnost běžet na několika systémech zároveň a také to, že se zakládá na rozšířeném .NET frameworku. Základní knihovny kopírují funkcionalitu .NET framework přibližně o jedno hlavní vydání zpět. V současné době je ve vývoji projekt Olive, který má na tuto platformu přinést vlastnosti .NET 3.0. Rozšířené knihovny, které jsou také součástí, podporují platformně specifické požadavky jako je rozhraní s knihovnami pro Linux apod. Tento projekt je řízen firmou Novell.
- 16 -
2.2.3
Specifika IDE pro platformu .NET a Mono Moderní koncepty programování v jazycích platformy .NET určují samy o sobě prvky, které musí dobré IDE obsahovat. Platforma sama o sobě obsahuje velké množství knihoven, nad kterými je dobré mít přehled. Důležitým prvkem platformy .NET je blízké provázání s MS SQL serverem, a především korporátní zaměření programů, což si žádá propojení do databáze přímo z IDE. Základní vlastností IDE by měla být podpora několika jazyků se kterými může CLR pracovat a překlad do byte kódu, stejně tak jako možnost schopnosti podporovat ASP.NET a umožňovat export připravený pro umístění přímo na serveru. Mezi další vlastnosti by mělo patřit automatické dokončování výrazů a nápověda obsahu, dobrá podpora mnoha způsobů refaktoringu, automatická kontrola chyb před překladem a dobré vlastnosti vestavěného ladění. Podpora vytváření testů a testování je rovněž žádoucí. Pro rozšíření funkcionality dle vlastních požadavků by mělo IDE podporovat plug-in moduly. Vlastnosti IDE pro .NET/Mono • Podpora jazyků • Platformy • Verze .NET • Licenční podmínky • Metriky kódu • Refaktoring • Zvýrazňování syntaxe • Testování • Zásuvné moduly • Návrh UI • Vestavěné CASE • Možné CASE rozšíření • Cena 2.2.4
Vybraná IDE pro .NET a Mono Výběr byl založen na předchozích zkušenostech s vývojem na platformě .NET. Vývojová prostředí nicméně pro tuto platformu nejsou velmi rozšířená, a tak vývojářům, kteří přecházejí na platformu .NET nenabízí širokou paletu různých produktů. Funkcionalita jednotlivých produktů se velmi přibližuje, nicméně existují jisté rozdíly mezi jednotlivými prostředí, alespoň z pohledu systému, na kterém dané prostředí běží. Podle předběžného průzkumu bylo jasně viditelné, že všechny komerční i nekomerční produkty se snaží přiblížit vzhledu Microsoft Visual Studia, které je etalonem mezi vývojovými prostředími.
- 17 -
Microsoft Visual Studio 2008 (8) Vlajková loď vývojářských prostředí pro platformu .NET. Obsahuje všechny prvky potřebné pro vývoj software. Rozhraní odpovídá moderním trendům, podporuje velké množství funkcí. V základním balíčku je dodáván pro několik jazyků zároveň, podporuje dokončování kódu pod obchodním názvem IntelliSense. Podporuje mnoho procesů včetně skriptování, reportování, programování pro Web a to v několika jazycích. Novinkou verze 2008 je podpora C# 3.0. V základní verzi obsahuje editor diagramu tříd, který umožňuje generování kódu z diagramu nebo zpětné generování diagramu ze zdrojového kódu. Pro základní využití editor diagramu tříd postačuje. Dále je možné Visual Studio rozšiřovat nejrůznějšími rozšíření (add-iny), mezi kterými je i několik zajímavých CASE nástrojů, které budou popsány níže. V dřívějších verzích byl v pokročilejších edicích zahrnut nástroj Microsoft Visio for Enterprise Architects. Nová verze ale neobsahuje tento nástroj ani v nejvyšších verzích. Nejvyšší verze (Team Suite) obsahuje klienta pro připojení k Team Foundation Serveru, který slouží jako centrála pro práci na projektu pro programátory. Ve verzi 2008 existuje Visual Studio v několika variantách, popsaných v následující tabulce. Název Visual Web Developer 2008 Express Edition Visual Basic 2008 Express Edition Visual C# 2008 Express Edition Visual C++ 2008 Express Edition Visual Studio 2008 Standard Edition Visual Studion 2008 Professional Edition Visual Studio Team System 2008 Architecture Edition Visual Studio Team System 2008 Database Edition Visual Studio Team System 2008 Development Edition Visual Studio Team System 2008 Test Edition Visual Studio Team System 2008 Team Suite
Zaměření Amatérští vývojáři Webu Amatérští programátoři Visual Basic Amatérští programátoři C# Amatérští programátoři C++ Základní set vlastností pro vývoj aplikací bez podpory enterprise řešení Rozsáhlejší součásti pro vývoj aplikací Design systémů a jejich instalace Nástroje pro podporu spolupráce s databází Podpora především procesů týkajících se samotného psaní kódu Testování programů, důraz na jednotkové testy a analýzu kódu Univerzální nástroj na podporu týmové spolupráce a komplexní nástroje pro užití v každé části vývoje
- 18 -
Výrobce: Microsoft Cena: • Zdarma (Express) • 220 000 Kč (Team Suite) Splnění požadavků: • Podpora jazyků – C#, C++, VB.NET, XML • Platformy – Windows • Verze .NET – 3.5 • Licenční podmínky – Základní verze zdarma, vyšší verze komerční • Metriky kódu – ANO ve vyšších verzích • Refaktoring – ANO, úroveň se liší podle verzí • Zvýrazňování syntaxe - ANO • Testování – ANO, dle verze • Zásuvné moduly - ANO • Návrh UI – ANO, dle verze • Vestavěné CASE – ANO, základní • Možné CASE rozšíření - ANO Další informace: • Velké množství rozšíření. • Podpora v systému MSDN • Rozšiřující moduly CASE spolupracující s Visual Studiem: • Visual Paradigm SDE for Visual Studio • tangible modelling tools 1.0 for Visual Studio • Together for Visual Studio • Rational Rose Developer for Visual Studio • Enterprise Architect
- 19 -
Code Gear RAD Studio (9) Vývojové prostředí dříve podporující pouze svojí rozšířenou verzi jazyka ObjectPascal jménem Delphi, kterou kompiloval do nativního kódu Windows. Ve verzi Delphi 8 přibyla možnost překladu do .NET bytekódu. Firma Borland jej prodala a Code Gear jej rozšiřuje a podporuje ve vlastnostech podporujících platformu .NET, která je oddělena a propagována pod názvem Delphi Prism. Podpora jazyků nezůstala jen u Delphi, ale byla rozšířena i na C++ a C#. RAD v názvu značí, že je určen pro rapidní vývoj aplikací, což znamená, že je silně zaměřen na grafický návrh rozhraní programu. V současné době je určen především pro vývoj aplikací spolupracujících s databázemi. Podporuje nejmodernější trendy pro podporu vývoje aplikací a rychle přijímá technologie platformy .NET. Existuje pro něj široká nabídka knihoven kódu, z nichž je velké množství zdarma dostupných. Vestavěný UML nástroj podporuje většinu UML diagramů a plnou podporu generování kódu z diagramů. Zajímavou vlastností je generování kódu pomocí předdefinovaných návrhových vzorů obsažených v průvodci. Vestavěný nástroj rovněž umožňuje exportovat a importovat modely Rational Rose. Výrobce: Embarcadero Technologies Cena: • 37 000 Kč (Professional) • 111 800 Kč (Architect) Splnění požadavků: • Podpora jazyků – C#, C++, Delphi • Platformy – Windows • Verze .NET – 1.1, 2.0, 3.5 • Licenční podmínky – Základní verze zdarma, vyšší verze komerční • Metriky kódu – ANO • Refaktoring – ANO, pokročilé • Zvýrazňování syntaxe - ANO • Testování – ANO, dle verze • Zásuvné moduly – ANO, většinou amatérské • Návrh UI – ANO • Vestavěné CASE – ANO, pokročilé • Možné CASE rozšíření – NE, ale dobrá kooperace s Rational Rose Další informace: • Podporuje také vývoj nativních Win32 aplikací • Podpora mnoha databází ve výchozí konfiguraci
- 20 -
- 21 -
SharpDevelop (10) První ze zástupců ze světa svobodného software. Obsahuje všechny základní vlastnosti, největší výhodou je to, že je zdarma a také rychlost jeho práce společně s malou náročností na prostředky systému. Jeho součástí je podpora C# a rovněž neobvyklého jazyka Boo. Má jednoduché rozhraní, které je ovšem nápadně podobné Visual Studiu. Dalo by se říci, že se vyrovná Visual Studiu Express ve funkcionalitě a dokonce jej v některých detailech předčí. Taktéž je zaměřen na grafický návrh programu a obsahuje editor formulářů. Výrobce: IC#Code Cena: Zdarma Splnění požadavků: • Podpora jazyků – C#, VB.NET, Boo • Platformy – Windows • Verze .NET – 1.1 (verze 1.0), 2.0 (verze 2.0), 3.5 (verze 3.0 beta), Mono • Licenční podmínky – GNU/LGPL • Metriky kódu – ANO • Refaktoring – ANO, základní • Zvýrazňování syntaxe - ANO • Testování – ANO, integrace NUnit • Zásuvné moduly – ANO • Návrh UI – ANO • Vestavěné CASE – NE • Možné CASE rozšíření – NE • Verze: 3.0 beta 2
- 22 -
MonoDevelop (11) Jedná se o Linuxové rozhraní pro platformu Mono, je primárně navržena pro C# a další .NET jazyky a pro to, aby běžela na grafickém rozhraní Gnome. Podporuje knihovny speciálně navržené pro Linux jako GTK# a Gnome#. Podobá se IDE SharpDevelop, protože je založen na jeho starší verzi a tak obsahuje všechny jeho vlastnosti. Dokumentace projektu je relativně slabá, tak může být pro začátečníky matoucí se v programu zorientovat. Aplikaci není nemožné zprovoznit na Windows, ale z důvodů toho, že její cílovou platformou je to nevýhodné, jelikož Mono nedisponuje takovou funkcionalitou. Pro vývojáře, kteří se pustí do vývoje aplikací pod touto platformou a operačním systémem Linux se tak jedná o to nejlepší, na co mohou narazit. Výrobce: Novell Cena: Zdarma Splnění požadavků: • Podpora jazyků – C#, VB.NET, ASP.NET, XML • Platformy – Linux • Verze .NET – Mono • Licenční podmínky – GNU/GPL • Metriky kódu – NE • Refaktoring – ANO, základní • Zvýrazňování syntaxe – ANO, pro všechny jazyky • Testování – ANO, integrace NUnit • Plug-iny – ANO • Design UI – ANO (GTK# a Gnome#) • Vestavěné CASE – NE • Možné CASE rozšíření – NE Verze: 1.1 (2.0 alpha 2)
- 23 -
2.2.5
Shrnutí Je složité vybírat z tak malého množství dostupných vývojových prostředí. Platforma .NET je pravděpodobně na trhu teprve krátkou dobu. Pro platformu Mono, která je na trhu ještě o něco kratší dobu a musí bojovat s nedostatky a proprietaritou nových verzí aby byla konkurenceschopná, to platí také. Všechny potřeby vývoje pro ni pokrývá Visual Studio, které je v základní verzi dostupné zdarma, čímž odpadá problém si jej obstarat. SharpDevelop nicméně oproti volné verzi obsahuje zajímavé vlastnosti, které spolu s všeobecným odporem k firmě Microsoft mohou mluvit pro něj. Jedinou dostupnou variantou pro Linux, která obsahuj všechny základní prvky moderního vývojového prostředí je tak MonoDevelop. Potřeba CASE nástrojů je na systému Windows dobře pokryta rozšiřujícími moduly pro Visual Studio, které zahrnují špičky ve svém oboru.
- 24 -
2.3 Web 2.3.1
Specifikace IDE pro web K tomu, abychom byli schopni efektivně a smysluplně porovnat jednotlivá IDE pro web, je třeba určit si požadavky vývoje webu na IDE nástroje a následně porovnat schopnosti jednotlivých IDE s těmito požadavky. Ovšem u webu bude členění požadavků složitější, protože vývoj webu se nesestává pouze z psaní samotného zdrojového kódu, ale také z psaní webové sémantiky (XHTML struktury), psaní kaskádových stylů (CSS), tvorby designu a obrázků. Proto rozdělím jednotlivé skupiny IDE, zaměřující se na tyto konkrétní oblasti, a určím pro ně speciální požadavky. • XHTML + Design – Pro psaní XHTML kódu jsou podstatné především tyto operace. o Validace XHTML kódu o Zvýrazňování syntaxe o Zobrazení náhledu stránky o Vyhledávání a nahrazování o Code assist o Tvorba CSS o Validace CSS o Tvorba designu o Tvorba obrázků • PHP/ASP o Zvýrazňování syntaxe o Kontrola syntaxe o Code assisn o Vyhledávání a nahrazování o Debuggování o Testování, Profilování o Podpora verzování o Podpora SQL přístupu o Podpora FTP 2.3.2
Vazba na Case nástroje Při navrhování a vývoji webových aplikací se nejčastěji používají CASE nástroje pro návrh a design databází, grafického rozhraní, UML diagramy tříd. Některý IDE jako např. NetBeans či Eclipse mohou obsahovat tyto CASE nástroje ve své výbavě a to buď formou pluginu, nebo v standardní výbavě. Pokud nám nestačí jejich funkcionalita je třeba sáhnout po specializovaných CASE nástrojích viz. kapitola CASE nástroje. 2.3.3
XHTML Nejdříve se zaměříme na porovnání IDE nástrojů pro vývoj statických stránek. Tedy psaní XHTML struktur, CSS stylů a tvorbou samotného designu webových stránek.
- 25 -
PSPad (12) PSPad je volně šiřitelný (freeware) universální textový editor pro prostředí Microsoft Windows, který se hodí pro všechny, co pracují s prostým textem, vytvářejí webové stránky, programují a potřebují IDE. S tímto nástrojem mám zkušenosti, kladně hodnotím množství integrovaných funkcí, velikost a rychlost toho programu, ovšem pro nezkušené uživatele může působit velmi zmatečně, sám jsem měl problémy se občas zorientovat. Výborný nástroj, když přihlédnu k tomu, že je zcela zdarma. Cena: Zdarma, Freeware Splnění požadavků: • Validace XHTML kódu – ANO • Zvýrazňování syntaxe – ANO, XHTML, CSS, PHP, ASP, JavaSript • Zobrazení náhledu stránky – NE, otevírá v prohlížeči stiskem hotkey • Vyhledávání a nahrazování – ANO, v celém projektu • Code assist – Ano velmi prostý + snippets • Tvorba CSS - Ano • Validace CSS - NE • Tvorba designu - NE • Tvorba obrázků –NE Další informace • Umí různé kódování Windows1250,UTF-8 a další • Umí FTP přenosy • Umožňuje tvořit projekty, kolekce dokumentů, které k sobě logicky patří a jsou umístěny v jednom adresáři.
- 26 -
Microsoft Expression Web (8) Microsoft Expression je WYSIWYG XHTML editor, designer a nástroj pro správu webových stránek. Expression Web je přímý nástupce editoru Microsoft FrontPage1, který byl do roku 2003 součástí MS Office. Expression web je konečně zaměřen na zkušenější uživatele. Expression web je nástroj, který umožňuje tvořit webové stránky integrující XML, ASP.NET, CSS, XSLT a JavaScript. Expression Web má svůj vlastní interpret webových stránek, překvapivé je, že k vykreslování nepoužívá jádro Internet Exploreru2, ale vlastní přesnější vykreslovací engine. Tento nástroj je vhodný pro nenáročné uživatele, které chtějí mít své stránky a nezajímá je, jak budou fungovat. Výrobce: Microsoft Cena: $300 = cca 6000 Kč Splnění požadavků: • Validace XHTML kódu – ANO • Zvýrazňování syntaxe – ANO, XHTML, CSS, ASP, JavaSript • Zobrazení náhledu stránky – ANO • Vyhledávání a nahrazování – ANO, v celém projektu • Code assist – Ano – pouze XHTML,CSS a JavaScript • Tvorba CSS - Ano • Validace CSS - NE • Tvorba designu - ANO • Tvorba obrázků – NE Další informace • Potrpí si na standardy – Validní XHTML,Validní CSS a standardy přístupnosti WCAG 2.0 • K zobrazování náhledu stránky používá jádro respektující W3C doporučení
1 2
MS FrontPage byl původně určen pro uživatele, kteří považovali slovo „Tag“ za nadávku. Trident – vykreslovací jádro IE – je pověstné vlastní interpretací HTML, která bývá občas nekompatibilní
- 27 -
HomeSite 5.5 (13) HomeSite je skromný, jednoduchý editor kódu pro vývoj webu. Jeho pokročilé funkce pro vývoj kódu umožňují jednoduše tvořit XHTML, CFML, PHP, JSP a CSS kód. Tento nástroj určitě zaujme uživatele svou přehledností, jednoduchostí a možností navigace, geniálním vyhledáváním v celém projektu, znuvupoužitelností a formátováním kódu. Sám jsem tento nástroj používal dlouhá léta na vývoj HTML,CSS a PHP. Ocenil jsem možnost tvořit si vlastní tlačítka, která vkládaly do dokumentu předem nastavené kusy kódu, takže při šikovném nastavení stačilo klikat. Pro vývoj PHP sice není zdaleka tak sofistikovaný jako PDTči Zend, ale pro jednodušší webové projekty poslouží výborně. Výrobce: Adobe, dříve Alaire, Macromedia Cena: $144 = cca 2 813,720 Kč Splnění požadavků: • Validace XHTML kódu – ANO • Zvýrazňování syntaxe – ANO, XHTML, CSS, PHP, JSP, JavaScript • Zobrazení náhledu stránky – ANO, + otevírá v prohlížeči stiskem hotkey • Vyhledávání a nahrazování – ANO, v celém projektu • Code assist – pouze HTML,CSS + snippets • Tvorba CSS - Ano • Validace CSS - NE • Tvorba designu - NE • Tvorba obrázků – NE Další informace • Má problémy s UTF-8 soubory, možná je to už v novějších verzích lepší • Umí FTP přenosy • Zabalitelný kód – folding • Umožňuje tvořit projekty, kolekce dokumentů, které k sobě logicky patří a jsou umístěny v jednom adresáři.
- 28 -
HTMLPad 2008 (14) HTMLPad je sofistikovaný nástroj pro tvorbu HTML, CSS, Javascript a XHTML kódu. Tvrdí o sobě, že mají nejúplnější XHTML a CSS editor v dnešní době, nemám s tímto nástrojem sice dlouhodobé zkušenosti, ale působí na mě opravdu velmi sofistikovaně a dobře se používá. Výrobce: Blumentals Software Cena: 26 Euro = cca 650 Kč Splnění požadavků: • Validace XHTML kódu – ANO • Zvýrazňování syntaxe – ANO, XHTML, CSS, JavaScript, VBScript, PHP, ASP, WML, XML, Perl • Zobrazení náhledu stránky – ANO • Vyhledávání a nahrazování – ANO, ve složkách • Code assist – ANO HTML, CSS, JavaScript +snippets • Tvorba CSS - Ano • Validace CSS - NE • Tvorba designu - NE • Tvorba obrázků-NE Další Informace: • Zabalitelný kód – folding • Podpora UTF-8 nevím na jaké úrovni • Umí FTP přenosy • Kontrola anglického pravopisu
- 29 -
DREAMWEAVER CS4 (13) Dreamweaver je velmi populární nástroj renomované firmy Adobe určený především k designu a tvorbě šablon pro webové stránky. Díky technologii „Live view“ umožňuje v reálném čase vidět prováděné změny v XHTML a CSS kódu a to ve skutečném prohlížeči. Není vhodný jako editor nebo dokonce nástroj na vývoj PHP, JavaScriptu či jiných programovacích jazyků. Vzhledem k podpoře subversion, přítulnému Adobe uživatelskému rozhraní a integraci s jinými Adobe nástroji, jako PhotoShop, Ilustrátor, InDesign je ideální na vývoj webových projektů postavených na architektuře MVC3. Adobe dokonce tento nástroj nabízí v cíleně zaměřených balíčcích, které obsahují tyto a další aplikace jako Flash,Fireworks a další. Výrobce: Adobe Cena: • základní 540 euro = cca 13 500 Kč • kompletní sada nástojů Creative Suite 4 Web 2,055 Euro = cca 51 000 Kč Splnění požadavků: • Validace XHTML kódu – ANO • Zvýrazňování syntaxe – ANO pouze XHTML, CSS • Zobrazení náhledu stránky – ANO, Live View přímo v prohlížeči • Vyhledávání a nahrazování – ANO • Code assist – ANO HTML, CSS • Tvorba CSS - Ano • Validace CSS - NE • Tvorba designu - ANO • Tvorba obrázků – NE – integrace s InDesignem, Photoshopem a Ilutratorem Další informace • Je součástí integračních balíků Adobe Suites, pokud používáte Photoshop, Flash či Ilustrator je Dreamweaver ideální volba.
3
Model – View – Controller – Pomocí Dreamweaveru vyvíjíme View ( šablony,styly a jednotlivé části stránek )
- 30 -
2.3.4
PHP Nyní se podíváme blíže na IDE nástroje zaměřené speciálně na vývoj PHP. Většina z nich samozřejmě umí i XHTML, CSS PDT PDT4 je IDE pro vývoj PHP aplikací postavené na platformě Eclipse, ale výborně poslouží i jako editor XHTML, CSS Javacriptů. K tomu samozřejmě umožňuje vše, co Eclipse, takže můžete s výhodou používat subversioning, SQL připojení, FTP připojení a další Eclipse možnosti. Stejně jako ZendStudio má vynikající PHP inspektor, který zobrazuje strukturu PHP skriptů, a tříd a geniální dokončování kódu, který vám dokáže nabízet i vaše vlastní funkce včetně uvedení typu argumentů a návratové hodnoty. PDT je zdarma. Výrobce: Eclipse Cena: Zdarma Splnění požadavků: • Zvýrazňování syntaxe ANO PHP,XHTML,CSS,JavaScript • Kontrola syntaxe ANO • Code assisn ANO PHP, XHTML, CSS, Javascript • Vyhledávání a nahrazování ANO v projektech,složkách, regexp.. • Debuggování – ANO – nutné a obtížné nastavit debugger • Testování, Profilování – NE • Podpora verzování – ANO SVN • Podpora SQL přístupu - ANO • Podpora FTP – ANO Další informace • Umožňuje tvořit projekty, kolekce dokumentů, které k sobě logicky patří a jsou umístěny v jednom adresáři. • Shlukování kódu – folding • Zobrazení struktury stránek a PHP tříd • Všechny schopnosti Eclipse
4
PHP Development Tools
- 31 -
ZendStudio Zend Studio je dle mého názoru a vlastních zkušeností lídr mezi IDE nástroji pro vývoj PHP a JavaScript aplikací. Do verze 5.5 bylo Zend Studio samostatnou aplikací, od verze 6.0 vychází Zend Studio jako rozšíření platformy Eclipse. Je velmi podobný PDT, ovšem je zaměřen na vývoj PHP aplikací v Zend Frameworku, což je jeden z nejlepších frameworků5 pro PHP vůbec. Za Zend Studiem i frameworkem stojí firma Zend, která v současné době vyvíjí PHP jazyk, což samo o sobě svědčí o kvalitě tohoto nástroje. Toto IDE umí snad úplně vše, kromě tvorby obrázků, vřele doporučuji. Jedinou nevýhodou jsou časté pády ve verzi 6.0, které byly v novější verzi6 odstraněny a cena oproti nekomerčnímu PDT. Výrobce: Zend company Cena: • Základní $399 = cca 8 000 Kč - 1 rok podpory a upgradů • rozšířené $717 = cca 15 000 Kč – 3 roky podpory a upgradů Splnění požadavků: • Zvýrazňování syntaxe ANO PHP,XHTML,CSS,JavaScript • Kontrola syntaxe ANO • Code assisn ANO PHP, XHTML, CSS, Javascript, ZendFramework, DojoFramework • Vyhledávání a nahrazování ANO v projektech,složkách, regexp.. • Debuggování – ANO Integrovaný debugger • Testování, Profilování – ANO PHPunit • Podpora verzování – ANO subversion, SVN • Podpora SQL přístupu - ANO • Podpora FTP – ANO Další informace • Integrace s ZendFramework a DoJoFramework • Postaven na Eclipse
5
Zend Framework – profi opensource framework pro PHP >5.2 postavený na návrhových vzorech a best practice. 6 V současné době je nejnovější verze 6.1
- 32 -
HateML Pro (15) HateML Pro je jednoduché IDE pro vývoj XHTML, CSS jak pro amatéry, tak pro profesionály. Je navržené pro pomoc při urychlování procesu editace a debuggování webových aplikací a jednoduchých XHTML stránek. HateML Pro je zdarma. Bohužel s ním nemám dlouhodobější zkušenosti, ale myslím, že bude velmi jednoduchý na používání. Pokud máte vyšší nároky, doporučuji zvolit nějaký z dříve uvedených. Výrobce: Migajek Software (Polsko) Cena: Zdarma Splnění požadavků: • Zvýrazňování syntaxe ANO PHP,XHTML,CSS,JavaScript, VBscript • Kontrola syntaxe ANO • Code assisn ANO PHP, XHTML, CSS, Javascript • Vyhledávání a nahrazování ANO - jednoduché • Debuggování – ANO – velmi prosté • Testování, Profilování – ANO – velmi prosté • Podpora verzování – NE • Podpora SQL přístupu – ANO Plugin • Podpora FTP – ANO Další informace • Validátor odkazů • Součástí balíčku je server – což je jednoduchý webový PHP server, na kterém se dají provádět testy a debuggování. • Umí UTF-8
- 33 -
2.3.5
ASP (8)
Microsoft Visual Studio Web Developer EXPRESS 2008 Jediným rozumným vývojovým prostředím pro aplikace v ASP je Microsoft Visual Studio Web Developer. Přestože má Microsoft v této kategorii monopol, je tento IDE nástroj zdarma. VS má dlouhou tradici a stojí za ním gigant Microsoft. Výhodou je jednotné uživatelské prostředí pro vývoj databázových, webových a dalších aplikací. Pokud fandíte platformě .NET vaše správná volba ;) Výrobce: Microsoft Cena: Zdarma Splnění požadavků: • Zvýrazňování syntaxe ANO ASP, XHTML, CSS, JavaScript • Kontrola syntaxe ANO • Code assisn ANO ASP, XHTML, CSS, Javascript • Vyhledávání a nahrazování ANO v projektech,složkách • Debuggování – ANO Integrovaný debugger • Testování, Profilování – ANO • Podpora verzování – ANO Team Foundation Server • Podpora SQL přístupu – ANO • Podpora FTP – ANO Další informace • Microsoft Visual Studio má podporu pro verzování, ale není zdaleka tak kvalitní jako SVN či Subversion, dokonce v některých teamových verzích VS dělá problém připojení k Team Foundation Serveru. • VS umí zobrazovat v reálném čase výslednou stránku při návrhu designu • Jednoduché a přehledné prostředí • Možnost programovat v J#,C#,Visual Basic
- 34 -
2.4 XML XML vývojové nástroje by mali zabezpečiť možnosť tvorby XML dokumentov (rôzne druhy) a ich validácie. Ďalej mal by podporovať možnosť práce s týmito dokumentmi v týme, ukladanie v úložištiach, použitie XSLT pomocou rôznych procesorov, možnosť použitia Xpath, Xquery a výstupy transformácií do rôznych formátov. Podporované požiadavky, ktoré by mali splniť vývojové nástroje na XML: • Grafická XML schéma/DTD editor • XML text zobrazovanie • XSLT 1.0, 2.0, editovanie, debuggovanie a profilovanie • Xpath 1.0/2.0 analýza a tvorba • Xquery editovanie, debuggovanie a profilovanie • Xinclude, Xpointer support. • SOAP klient a debugger • grafický WSDL editor • XML grid zobrazovanie • Java, C#, C++ kód generovanie • integrácia do rôznych vývojových nástrojov • podporuje OpenXML data • podpora verzovania • XML diff a merge nástroj • FO transformácie, generovanie rôznych výstupov (PDF, PS, atď) • DocBook podpora • ODF (open document format) podpora • podpora XML databáz • NVDL implementácia • import z relačných DB a z iných zdrojov do XML 2.4.1
Vazba na Case nástroje U väčšiny IDE sa jedná prakticky o integrovaný CASE nástroj umožňujúci kompletný vývoj XML dokumentov. 2.4.2
IDE pro XML
- 35 -
oXygen (16) Kompletný XML editor cez všetky platformy poskytujúce XML authoring, XML konverziu, XML schéma, DTD, Relax NG a vývoj schematron, Xpath, XSLT, Xquery debugging, SOAP a WSDL testovanie. Tento nástroj umožňuje ukladanie XML dokumentov do úložíšť ako WebDav, Subversion ako aj použitie S/FTP protokolov. Oxygen tiež podporuje prehľadanie, manažovanie a dotazovanie v natívnej XML a v relačnej databáze. Oxygen XML editor je tiež k dispozícii ako Eclipse IDE plugin a prináša jedinečné rysy pri vývoji XML. Výrobca: SyncRO soft ltd, str. Fermei, nr. 42, Craiova, RO-200782, Romania (16) Cena: • Enterprise: User based - $366 (6954Kč), floating - $1,063 (20197 Kč) • Professional: User based - $299 (5681 Kč), floating - $898 (17062 Kč) • Academic/Non profit: User based - $48 (912Kč) , floating - $144 (2736 Kč), Classroom $490(9310 Kč), Departmental - $2,100 (39900 Kč), Site - $3,840 (72960 Kč). Splnenie požiadaviek: • Grafická XML schéma/DTD editor ANO • XML text zobrazovanie ANO • XSLT 1.0, 2.0, editovanie, debuggovanie a profilovanie ANO • Xpath 1.0/2.0 analýza a tvorba ANO • Xquery editovanie, debuggovanie a profilovanie ANO • Xinclude, Xpointer podpora ANO,NIE • SOAP klient a debugger NIE • grafický WSDL editor NIE • XML grid zobrazovanie NIE • Java, C#, C++ kód generovanie NIE • integrácia do rôznych vývojových nástrojov ANO • podporuje OpenXML data ANO • podpora version control systém ANO • XML diff a merge nástroj ANO • FO transformácie, generovanie rôznych výstupov (PDF, PS, atď) ANO • DocBook podpora ANO • ODF (open document format) podpora NIE • podpora XML databáz ANO • NVDL implementácia ANO • import z relačných DB a z iných zdrojov do XML ANO Ďalšia funkcionalita: • inštalačný balík prístupný ako Java Web Start aplikácia alebo Eclipse plugin • batchové validácie a transformácie • digitálny podpis XML dokumentov • vzory XML zrojových kódov • Schema Model View prezentácia XML elementov • podpora externých FOP (formatting object processor) • podporovaná platforma: MS Windows, Mac OS X, Linux a ako plugin do Eclipse. • podpora relačných DB – Oracle 11g, DB2, MS SQLServer 2008 • podpora S/FTP • podpora Unicodu a viacjazyčnosti
- 36 -
Altova XMLSpy (17) Je to XML vývojové prostredie pre modelovanie, editovanie, transformáciu a debuggovanie XML technológií. Popredný nástroj na svete s originálnym grafickým schéma designerem, kód generátorom, konvertorom súborov, debuggerom, profilerom, s plnou db integráciou. Podporuje XSLT, Xpath, Xquery, WSDL, SOAP, Open XML dokumentmi, Visual Studio.NET a Eclipse. Výrobca: Altova, Inc. , 900 Cummings Center, Suite 314 T, Beverly, MA, 01915-6181 (17) Cena: • Standard: € 99 (1881 Kč) • Enterprise: € 799 (15181 Kč) • Professional: € 399 (7581 Kč) Splnenie požiadaviek: • Grafická XML schéma/DTD editor ANO • XML text zobrazovanie ANO • XSLT 1.0, 2.0, editovanie, debuggovanie a profilovanie ANO • Xpath 1.0/2.0 analýza a tvorba ANO • Xquery editovanie, debuggovanie a profilovanie ANO • Xinclude, Xpointer podpora ANO,ANO • SOAP klient a debugger ANO • grafický WSDL editor ANO • XML grid zobrazovanie ANO • Java, C#, C++ generovanie kódu ANO • integrácia do rôznych vývojových nástrojov ANO • podporuje OpenXML data ANO • podpora verzovania ANO • XML diff a merge nástroj -ANO • FO transformácie, generovanie rôznych výstupov (PDF, PS, atď) ANO • DocBook podpora ANO • ODF (open document format) podpora ANO • podpora XML databáz NE • NVDL implementácia ANO • import z relačných DB a z iných zdrojov do XML – ANO Ďalšie informácie: • podpora DB
- 37 -
2.5 Databáze V této oblasti se zaměříme na IDE umožňující správu databází a vytváření databázových aplikací. Budeme u nich sledovat obvyklé součásti, jako jsou editor PL/SQL příkazů a správa schémat a další ne zcela standardní součásti, které se vždy nevyskytují jako je třeba nástroj pro sledování náročnosti příkazů (důležité pro optimalizaci). Při výběru IDE je také nutné uvážit, nad jakou databází bude používáno. Jazyk SQL je sice standardizován a měl tedy mít stejnou syntaxi, bez ohledu na to, od kterého výrobce používáme databázi. V praxi to ovšem není úplně pravda. Existuje základní množina příkazů, které fungují nad každou databází, ale spolu s nimi jakási nadstavba lišící se podle typu databáze, která rozšiřuje funkcionalitu standardizovaného SQL . U IDE pro vývoj databázových aplikací budeme sledovat následující kritéria: • Podporované databáze • Code assist • Vyhledávání chyb v kódu • Debuging • Správa schémat • Sledování náročnosti příkazů (potřebné pro optimalizaci) • Vyhledávání a nahrazování 2.5.1
Vazba na Case nástroje U většiny IDE je zabudovaná správa schémat. Jedná se prakticky o integrovaný CASE nástroj umožňující správu jednotlivých databázových objektů. Zobrazuje vazby mezi jednotlivými objekty, můžeme přidávat nová pole do tabulek a podobně. Další možnosti spolupráce jsou blíže popsány v kapitole týkající se CASE nástrojů pro databáze. 2.5.2
IDE pro databáze Následují vybraní zástupci IDE pro databáze.
- 38 -
Toad ® for Oracle 9.0 (18) Jedná se o profesionální nástroj. Existují v několika verzích podle toho, pro které databázové prostředí je určený například Toad ® for Oracle, Toad ® for MySQL atd. Dále má několik verzí od základní až po development suite. Tyto verze se liší především množstvím integrované funkcionality, při čemž se dá říci, že veškeré námi sledované požadavky splňuje již základní verze. Hlavní nevýhodou tohoto nástroje je poměrně vysoká cena. Výrobce: Quest Software Cena: • základní $870 = cca 18 000 Kč 1 rok podpory a upgradů • Development suite $2990 = cca 61 000 1 rok podpory a upgradů Splnění požadavků: • Podporované databáze – Oracle (existují i verze pro následující databáze: MySQL, SQL Server, DB2) • Code assist ANO • Vyhledávání chyb v kódu ANO • Debuging – ANO • Správa schémat ANO • Sledování náročnosti příkazů – ANO • Automatické formátování – ANO • Vyhledávání a nahrazování – ANO Další informace: • Verze pro MySQL je freeware • Existují i odlehčené verze zadarmo. Mají například Editor SQL, provádí barevné značení syntaxe kódu, editační okno umožňuje testování dotazů, prohlížení a editaci dat, grafické rozhraní obsahuje okna pro tvorbu pohledů, tabulek, trigerů (spouštěčů), indexů, závislostí atd.
- 39 -
Aqua Data Studio 7.0 (19) Jedná se profesionální IDE, jehož hlůavní výhodou je podpora spolupráce s mnoha databázemi: Oracle, DB2 iSeries, DB2 LUW, MS SQL Server, Sybase ASE, Sybase Anywhere, Sybase IQ, Informix, PostgreSQL, MySQL, Apache Derby, JDBC, a ODBC rozhraní. Výrobce: AQUAFOLD Cena: $400 za uživatele = cca 8000 Kč 1 rok podpory a upgradů Splnění požadavků: • Podporované databáze – Oracle, DB2 iSeries, DB2 LUW, MS SQL Server, Sybase ASE, Sybase Anywhere, Sybase IQ, Informix, PostgreSQL, MySQL, Apache Derby • Code assist ANO • Vyhledávání chyb v kódu ANO • Debuging – ANO • Správa schémat ANO • Sledování náročnosti příkazů – ANO • Automatické formátování – ANO • Vyhledávání a nahrazování – ANO Další informace: • Integrovaný ER modeler s generováním schémat • porovnávání schémat a přímá podpora pro SVN a CVS • dopňování slov
- 40 -
Rapid SQL 7.5 (20) Komplexní integrované vývojové prostředí v jazyku SQL. Jeho velkou předností je spolupráce s velkým množstvím databází (výrobci uvádějí: „Úplná funkčnost na všech databázových platformách“). Jeho hlavní výhodou je, že i přes velké množství funkcionalitu je velmi intuitivní. Výrobce: Embarcadero (vlastní společnost Borland) Cena: • Standard = 19 700 Kč 1 rok podpory a upgradů • Professional = 28 200Kč 1 rok podpory a upgradů Splnění požadavků: • Podporované databáze – IBM DB2 for Linux/Unix/Windows a DB2 for z/OS; Microsoft SQL Server; MySQL; Oracle a Sybase • Code assist ANO • Vyhledávání chyb v kódu ANO • Debuging – NE • Správa schémat ANO • Sledování náročnosti příkazů – ANO • Automatické formátování – ANO • Vyhledávání a nahrazování – ANO Další informace: • Verze Professional obsahuje oproti edici Standard navíc Code Analyst a SQL Profiler (jen pro Oracle) pro hledání problémů v kódu a SQL Debugger pro práci s programovatelnými objekty jako uložené procedury, funkce, balíčky či spouštěče (triggery).
- 41 -
3 CASE 3.1 Obecně o CASE CASE (z anglického Computer-aide software engineering, počítačom podporované softwarové inžinierstvo) sú nástroje, ktoré využívajú metodiky vývoja software a diagramov na znázornenia systému pre vývoj SW pomocou počítačov. Case nástrojov existuje celá rada. Z hľadiska celistvosti prístupu k vývoji rozlišujeme 3 typy CASE: • UPPER – využíva sa pre analýzu systému • MIDDLE – zaisťuje etapu návrhu systému • LOWER – zaisťuje etapu implementácie Je potrebné si však uvedomiť, že nie všetky CASE nástroje zahrňujú všetky 3 typy a nie každý projekt zahrňuje užitie všetkých typov pri vývoji. Okrem vyššie uvedených exitujú ešte PRE (na podporu tvorby globálnej stratégie) a POST CASE nástroje (podporuje organizačné činnosti)
3.2 MDA Podľa OMG (21) Model Driven Architecture vidí modely aplikácií v 4 úrovniach: • CIM – model nezávislý na počítačovom spracovaní • PIM – platformovo nezávislý model riešenia • PSM – platformovo špecifický model riešenia • Code – kód aplikácie, tj. výsledná realizácia riešenia Jednotlivé úrovne aplikácií boli už dostatočne popísané v predchádzajúcich prácach (22) na dané téma, tak aj ich najzaujímavejšia časť, a to transformácia platformovo nezávislého modelu riešenia PIM na paltformovo závislý PSM. MDA je podporovaný nasledujúcimi 4 štandardmi (23): • UML (Unified Modeling Language) – štandard pre analýzu a design objektovo orientovaných systémov. • MetaObject Facility (MOF) definuje abstraktný jazyk pre vytváranie a správu technologických metamodelov • XML Metadata Interchange (XMI) – štandard slúžiaci k výmene metadát medzi modelovacími nástrojmi a metadatovými skladmi. Jedná sa o kombináciu UML, XM a MOF • Common Warehouse Metamodel (CWM) – štandardizovaný formát pre popis a výmenu metadát dátových skladov a BI.
- 42 -
3.3 UML UML je univerzálny objektovo orientovaný modelovací jazyk, ktorý vznikol zlúčením niekoľkých populárnych OO prístupov. Štandard UML prešiel niekoľkými revíziami, posledný je UML 2.0. Tento sa skladá z nasledujúcich 4 častí: • UML 2.0 SuperStructure – definícia notácie UML - syntax • UML 2.0 Infrastructure – metamodel stojaci v pozadí za UML, špecifikovaný pomocou MetaObject Facility (MOF) - sémantika • UML 2.0 Object Constraint Language (OCL) – jazyk na špecifikáciu vstupných a výstupných podmienok, invariantov v jednotlivých diagramoch,ktoré sa nedajú vyjadriť graficky • UML 2.0 Diagram Interchange – špecifikácia prevodu do výmenných formátov (CORBA, XML, DTD, XML schéma) (24), Najznámejšie a najpoužívanejšie časti štandardu sú diagramy, tieto sa rozdeľujú do 2 hlavných kategórií: 1.) Diagramy chovania – zachycujú chovanie systému alebo procesu • diagram prípadov použitia (use case diagram) • diagram aktivít (aktivity diagram) • stavový diagram (state machine diagram) • diagramy interakcií – podmnožina diagramov chovania, zdôrazňuje interakcie objektov: o sekvenčný diagram (sequence diagram) o diagram komunikácie (communication diagram)- predtým diagram spolupráce (collaboration diagram) o diagram prehľadu interakcií (interaction overview diagram) o diagram časovania (timing diagram) 2.) Diagramy štruktúry – typy diagramov zachycujúce elementy špecifikácie nezávislé na čase • diagram tried (class diagram) • diagram komponentov (component diagram) • diagram zloženej štruktúry (composite structure diagram) • diagram nasadenia (deployment diagram) • diagram balíčkov (package diagram) • diagram objektov (object diagram) - nazýva sa aj diagram inštancií
- 43 -
3.4 Přehled podle použití Rozhodli sme sa zamerať na 3 najčastejšie možnosti použitia CASE nástrojov, a to objektové, dátové a procesné modelovanie. Z týchto 3 odlišných pohľadov by sme radi posúdili jednotlivé CASE nástroje. 3.4.1
Objektové modelování Objektové modelovanie je nástrojom pre skúmanie reálnych systémov. Nástroj objektového modelovania by mal podporovať nasledujúce úrovne a oblasti skúmania. Úrovne: analytická a návrhová. Oblasti skúmania: funkčné (use case), statické (triedy), dynamické (interakcie). Preto jednotlivé IDE by mali podporovať nasledujúce požiadavky: • podpora UML 2 diagramov (funkčné, štrukturálne a dynamické) • podpora generovania zdrojových kódov • podpora verzovania • podpora MDA • podpora XMI export/import • podpora reportovania 3.4.2
IDE pro objektové modelování
- 44 -
Enterprise Architect (21) Komplexný nástroj pre tvorbu vývojových diagramov. Pokrýva a podporuje celý vývoj software. Začínajúc od zberu požiadaviek, cez analýzu, design modelov, testovanie a údržbu. Je to multiužívateľský, vizuálny, grafický nástroj, ktorý pomáha tvorbu robustného a udržiavateľného software. Využíva jazyk UML. Podporuje generovanie zdrojových kódov programovacích jazykov: C+ +, C#, Java, Delphi, VB.Net, Visual Basic, ActionScript a PHP. Výrobca: Sparx Systems Pty Ltd, 7 Curtis Street, Creswick, Victoria, 3363, Australia (21) Cena: • Corporate Edition Floating Licence: US $265 (5035 Kč) - US $335 (6365 Kč) • Corporate Edition: US $185 (3515 Kč) - US $239 (4541 Kč) • Professional Edition: US $165 (3135 Kč) - US $199 (3781 Kč) • Desktop Edition: US $95 (1805 Kč) - US $135 (2565 Kč) Splnenie požiadaviek: • podpora UML 2 diagramov: ANO (Class, Object, Composite, Package, Component, Deployment, Use Case, Communication, Sequence, Interaction Overview, Activity, State, Timing, Analysis (jednoduchá aktivita),Custom ) • podpora generovania zdrojových kódov ANO • podpora verzovania ANO • podpora MDA ANO • podpora XMI export/import ANO • podpora reportovania ANO Ďalšie funkcie: • podpora „plugguble technológii“ pomocou MDG (model driven generation) • podpora užívateľskej bezpečnosti – skupiny, práva atď. • podpora údržby projektu – kontrola a reportovanie chýb, požiadaviek, atď. • podpora pre project management • podpora skriptovacieho jazyku pre tvorbu vlastných pluginov • WSDL podpora • dátové modelovanie – tvorba db štruktúr, reverse engineering, modelovanie DB tabuliek, kľúčov , objektov atď. • podpora testovania – Unit Test, integračné, akceptačné, scenáre, reporty. • nástroj na vizualizáciu aplikácie pomocou reverse engineering širokého spektra programovacích jazykov a databázových schém (z .jar .Net binárnych súborov) • podporuje komplexný management • podporuje veľké modely
- 45 -
Eclipse Modeling Project (3) Eclipse Modeling Project je sada doplňků do vývojového prostředí Eclipse, které se do něj snaží integrovat přístup tvorby řízené modelem. V nejpokročilejším stádiu jsou součásti modelovacích knihoven Eclipse Modeling Framework a Graphical Modeling Framework sloužící zejména k metamodelování a následném vytváření nových nástrojů klasických i grafických které je následně taktéž možné integrovat do prostředí Eclipse. Standardním způsobem uložení modelů vzniklých pomocí EMF jsou XMI soubory. Modely lze importovat z XMI souborů, XSD schémat a anotovaných Java tříd. Pro definici metamodelů slouží tzv. modely Ecore, které jsou de facto upravené diagramy tříd. Dalším z projektů, které EMP integruje jsou UM2Tools sada editorů pro UML2.x diagramy. Za zmínku také stojí podpora omezeni pomoci Object Constraints Language (OCL), nebo transakcí a dotazů nad modely. Současně jsou plně ve vývoji nástroje pro převody model<=>text, model<=>model. Pro vývojové prostředí Eclipse je samozřejmostí integrace úložišť CVS i SVN. Generování kódu je lehce upravitelné pomocí šablon Java Emmiter Templates, nebo jazyka Xpand. Výrobce: The Eclipse Foundation Cena: zdarma Splnění podmínek: • podpora UML2 diagramů ano (Activity, Class, Component, Composite, Deployment, State, Use Case ) • podpora generování zdrojových kódů ano • podpora správy verzí ano • podpora MDA ano • podpora XMI export/import ano • podpora reportováni ne Další funkce: • generace editorů a grafických editorů na základě modelu • stanovení omezení formou OCL • integrace s IDE Eclipse • podpora testování • podpora několika jazyků šablon pro generování
- 46 -
Jude (33) Jude Professional je rychlý nástroj pro tvorbu UML modelů s jednoduchým ovládáním. Umožňuje tvorbu většiny z UML modelů a umožňuje generaci kódu do jazyka Java, C++ a C# stejně tak i tzv. reverse engineering z již existujících tříd. Kromě standardních modelů UML jsou k dispozici i modely myšlenkových map a toku dat. Stejně tak je možný import a export modelů do/z XMI. Jude neobsahuje integrovanou podporu nástrojů pro správu verzí, nicméně nabízí vlastní server pro spolupráci v týmu. Jude je dostupné ve dvou licencích Community a Professional. Community verze je ochuzená o interakci s ER modely a spolupráci s jazyky C++ a C#. JUDE nelze integrovat s žádným vývojovým prostředím. Výrobce: Change Vision Cena: • Community Edition zdarma • Professional Edition $ 280 (cca 5 500 Kč) Splnění podmínek: • podpora UML2 diagramů ano (Activity, Class, Component, Composite, Deployment, State, Sequnce, Communication, Use Case ) • podpora generování zdrojových kódů ano • podpora správy verzí částečně, vlastní server pro kolaboraci • podpora MDA ne • podpora XMI export/import ano • podpora reportování ne Další funkce: • reverse engineering pro Javu, C++, C# • myšlenkové mapy • diagramy vztahu entit • diagramy toku dat
- 47 -
Poseidon for UML (22) Poseidon for UML vznikl snahou o komerční implementaci open source projektu ArgoUML. Změn bylo nicméně třeba udělat více než dost, takže výsledný nástroj je změněn k nepoznání. Zajímavá je integrace s IDE Eclipse lze například exportovat diagramy tříd do modelu Ecore. Poseidon UML nabízí bohatou rozmanitost verzí: Základní verze Community dostupná oproti registraci obsahuje 9 diagramů UML 2.0, podporu XMI, grafický export a generaci pro Javu. Standard Edition přidává i reverse engineering z Java tříd, možnost instalace doplňků a export dokumentace. Professional Edition přináší round-trip engineering pro Javu, přístup k šablonám pro generaci, generaci pro C/C++ integraci s prostředím Eclipse, import knihoven či souboru Rational Rose a automatické rozložení tříd. Embedded Edition je určena zejména pro práci na souborech s limitovanými prostředky. Navíc umožňuje automatickou generaci i ze stavového diagramu. Výrobce: Gentleware Cena: • Community Edition zdarma • Standard Edition $ 249 (cca 4 800 Kč) • Professional Edition $ 875 (cca 17 000 Kč) • Embedded Edition $ 2590 (cca 50 000 Kč) Splnění podmínek: • podpora UML2 diagramů ano (Activity, Class, Component, Composite, Deployment, State, Sequnce, Communication, Use Case ) • podpora generování zdrojových kódů ano • podpora správy verzí ne • podpora MDA ano • podpora XMI export/import ano • podpora reportování ano Další funkce • velké množství šablon pro generaci C++, C#, Delphi, ... • vizuální integrace do prostředí Eclipse • round-trip engineering možnost udržet měnící se kód synchronizovaný s modelem • variabilní licence
- 48 -
Visual Paradigm for UML (23) Visual Paradigm for UML by se dal označit za jeden z nejlépe integrovaných CASE nástrojů. Můžeme jej propojit s Eclipse IDE, JDeveloperem, NetBeans, IntelliJ IDEA i s MS Visual Studiem. Navíc obsahuje bohatou funkcionalitu, i když za poměrně odpovídající cenu. Komfort Visual Paradigm for UML si můžeme dopřát v následujících verzích: Viewer Edition slouží pouze k prohlížení diagramů a jiných dokumentů vzniklých pomocí tohoto nástroje. Community Edition již umožňuje vytvářet veškeré UML diagramy, podklady, navrhovat entity relation a objektové mapování, vytvářet konceptuální, logické a fyzické ER diagramy a tisknout diagramy (se zobrazeným vodoznakem) Personal Edition přidává pouze možnost tisku bez vodoznaku, pokud není překročeno jisté množství diagramů. Modeler Edition přidává integraci s MS Visio, serverem pro kolaboraci, reportování do PDF a HTML, neomezený tisk, možnost změny vizualizace objektů, import EMF modelů, modelů Rational Rose a modelů v XMI formátu, grafický export. Standard Edition přináší tzv. Model Tranzitor pro interoperabilitu mezi modelem operací a sekvenčním modelem, integraci s CVS, SVN, Perforce, více možností generace reportů např. MS Word, reverse engineering, generování kódu z diagramu tříd do bezpočtu jazyků a rozšířenou spolupráci s např. MS Excel. Professional Editon přináší zejména generaci kódu z diagramu stavů, Java round-trip engineering, integraci s vývojovými nástroji a databázové modelování a objektové mapovaní. Enterprise Edition nakonec doplňuje bohatý výčet funkcionalit o mapování byznys procesů vč. generování BPEL pro servery Oracle a JBoss a myšlenkových map. Výrobce: Visual Paradigm Cena: • Viewer Edition zdarma • Community Edition zdarma • Personal Edition $ 70,50 (cca 1 350 Kč) • Modeler Edition $ 118,50 (cca 2 300 Kč) • Standard Edition $ 359,50 (cca 6 900 Kč) • Professional Edition $ 838,50 (cca 16 100 Kč) • Enterprise Edition $ 1678,50 (cca 32 400 Kč) Splnění podmínek: • podpora UML2 diagramů ano ( Activity, Class, Component, Composite, Deployment, State, Sequnce, Communication, Use Case ) • podpora generování zdrojových kódů ano • podpora správy verzí ano • podpora MDA ano • podpora XMI export/import ano • podpora reportování ano
- 49 -
Další funkce • vazba na hlavní Java IDE a Visual Studio • reverse engineering • round-trip engineering • rozsáhlé reportování • podpora mnoha programovacích jazyků • ER diagram • databázové modelování • myšlenkové mapy
- 50 -
3.4.3
Návrh databází
Spolupráce s IDE Nejdůležitější roli hrají CASE nástroje při správě databáze a její dokumentaci. Většinou umožňují vybudovat několika vrství datový model, s různou vrstvou abstrakce. Přičemž u největší abstrakce se dá snadno proniknout do logiky sledovaná oblasti a z nejdetailnější vrstvy (fyzický datový model) lze vygenerovat skript, pro vytvořená databázových objektů. Některé nástroje umožňují i generování fyzického datového modelu z logického. Další důležitou vlastností je vytvoření modelu databáze nezávisle na databázovém prostředí, nástroj pak sám při generování skriptu přizpůsobí kód pro dané prostředí. CASE nástroje s podporou reverse engeneerigu se také dají velmi dobře použít ke správě a dokumentaci databáze. Analytici mohou jednoduše upravovat datový model, zaznamenávat pro něj změny a následné provedení změn lze ověřit reverse engeneeringem a porovnáním vygenerovaného modelu z databáze a navrženého modelu. Také je možné za pomoci reverse engeneeringu takzvaný merge modelu. Jedná se tedy o sjednocení modelu s implementovanou realitou. Tuto funkcionalitu například velmi dobře podporuje PowerDesigner. U CASE nástrojů určených pro návrh databáze budeme sledovat následující kritéria: • • • • •
Podporované databáze Generování fyzického modelu z logického modelu Reingeneering modelu z databáze Merge modelů Vytváření reportů nad modelem do RTF(DOC) nebo HTML
- 51 -
Powerdesigner 12.5 (24) Jedná o komplexní nástroj pro návrh databáze. Obsahuje snad všechnu možnou funkcionalitu, jakou si lze představit. Kromě datového modelování podporu celou řadu modelů, procesní, datové, objektové atd. Bohužel k rozsahu podporovaných modelů je i úměrná cena, což znamená, že je poměrně vysoká. Výrobce: Sybase Cena: $11245 = cca 230000 Kč – platí jeden rok pro jednoho uživatele Splnění požadavků: • Podporované databáze – podporuje okolo 60 databází uvádím jen nejznámější Oracle, IBM DB/2, MS SQL Server, Sybase (ASE, SQL Anywhere), MySQL, NCR Teradata, Sybase IQ 12.7, IBM DB/2 UDB V2, MS SQL Server 2005 • Generování fyzického modelu z logického modelu ANO • Reingeneering modelu z databáze ANO • Merge modelů ANO • Vytváření reportů nad modelem do RTF(DOC) nebo HTML – ANO Další informace: • Podporuje datové modelován založené na dvouvrstvé koncepci dvouúrovňového návrhu schématu databáze.Těmito dvěmi úrovněmi jsou: o Konceptuální Datový Model (CDM – Conceptual Data Model) o Fyzický Datový Model (Physical Data Model). • Velkým plusem je, že i přes velké množství funkcí jeho ovládání intuitivní. Například reporty do RTF nebo HTML je možné velké míry customizovat. Jedná se o opravdu velké množství možností jak upravit generovaný model, ale i začátečník si dokáže vygenerovat report bez větších problémů.
- 52 -
Toad Data Modeler 12.5 (18) Nástroj určený přímo pro datové modelování, pokrývá všechny potřebné oblasti, od generování fyzického modelu a skriptu pro tvorubu databázových objektů až po reversní engineering a vytváření dokumentace Výrobce: QuestSoftware Cena: 10 000 Kč – platí jeden rok pro jednoho uživatele Splnění požadavků: • Podporované databáze – podporuje DB2 v. 9, MS SQL Server 2005, Oracle 10g, MySQL 5, PostgreSQL 8.2, Sybase ASE 15 a další • Generování fyzického modelu z logického modelu ANO • Reingeneering modelu z databáze ANO • Merge modelů ANO • Vytváření reportů nad modelem do RTF(DOC) nebo HTML – ANO
- 53 -
3.4.4
Modelování procesů Modelovanie procesov je popis procesov na úrovni typov. Model procesu popisuje na úrovni typu a proces je jeho inštanciou. Jeden model procesu môže byť interpretovaný a implementovaný v rôznych aplikáciách rôzne a mať rôzne inštancie. Modelovanie procesov má nasledujúce ciele: popisovanie, predpisovanie a vysvetľujúce. Na procesy z hľadiska užívateľa sa môžeme pozerať ako na business procesy. Preto najdôležitejšou úlohou pri analýze tvorby software je modelovanie business procesov. Správnemu pochopeniu business procesov má pomôcť vizualizácia procesov, čo by mal obsahovať case nástroj na modelovanie BP. Jazyk vizuálneho modelovania používaný na modelovanie BP obsahuje BPMN (Business Process Modeling Notation) a UML. Programovací jazyk modelovania BP. Nástroje na tvorbu modelov BP by mali pomáhať business užívateľovi pri tvorbe modelu, vývojárom pri implementácii uvedených modelov až na úroveň konkrétnych dát. Výsledkom uvedených nástrojov musí byť centralizovaný business proces model a realizačná metrika, príp. konkrétna implementácia na úrovni zdrojových kódov. Preto nástroje na BPM majú splniť nasledujúce požiadavky: • design, tvorba a editovanie bpm • definovanie a používanie pravidiel v bpm • dekompozícia business procesov • konvertovanie business proces diagramu do zložitého procesu • kontrola a určenie správnosti modelu • reportovanie modelov • prepojenie s inými modelmi (requirements model, OOM, PDM) • zlučovanie modelov • práca s úložiskom 3.4.5
IDE pro modelování procesů
- 54 -
PowerDesigner 12.5 (24) Je to nástroj mimo iných funkčností aj na výkonné modelovanie business procesov. Umožňuje vytvárať rôzne business proces modely, zahrnúť modely do zložitých modelov, alebo ako modely podradených procesov. Umožňuje efektívne kontrolovať a validovať stav a obsah modelu. Ďalej umožňuje prepojiť rôzne modely, tvoriť reporty a grafické výstupy, integrovať s inými typmi modelov z PowerDesigner, alebo prácu verzovanie. Výrobca: SYBASE Cena: $11245 = cca 230000 Kč – platí jeden rok pre jedného užívateľa Splnenie požiadaviek: • design, tvorba a editovanie bpm ANO • definovanie a používanie pravidiel v bpm ANO • dekompozícia business procesov ANO • konvertovanie business proces diagramu do zložitého procesu -ANO • kontrola a určenie správnosti modelu ANO • reportovanie modelov ANO • prepojenie s inými modelmi (requirements model, OOM, PDM) ANO • zlučovanie modelov ANO • práca úložiskom – ANO
- 55 -
4 IDE pro podporu spolupráce 4.1 Obecně Nástroje pro podporu spolupráce umožňují současnou práci většího počtu lidí na stejném projektu či CASE modelu. Kromě samotného umožnění současné práce na stejném dokumentu nabízí tyto nástroje několik dalších funkcionalit. Jsou jimi zejména: • automatické verzování • udržování historie • řízení přístupu • řízení zdrojů, úkolů • řešení konfliktů • schvalování úprav • elektronická komunikace členů projektu
4.2 Přehled produktů
- 56 -
Rational Team Concert IBM Rational Team Concert je nástrojem pro podporu týmové spolupráce v prostředí Eclipse a v nedávno vydané verzi také v prostředí Visual Studia. Ve své standardní verzi přináší podporu týmové spolupráce až pro středně velké týmy. Jeho hlavním přínosem je zjednodušení, zautomatizování a řízení vývoje v prostředí týmu. Pomocí přehledného prostředí umožňuje sledovat a řídit zdroje a jednotlivé pracovní úkoly v návaznosti mezi sebou. Je možné vytvářet komplexní workflow postupy a procesy, podle kterých se má vývoj řídit. Samozřejmě umožňuje práci vždy na aktuální verzi projektu. Pro vedoucí týmu i ostatní členy projektu poskytuje přehledné dashboardy, které dávají dobrý přehled nad stavem projektu, vytížením zdrojů, stavy úkolů a dalšími parametry projektu.
Rational Team Concert umí pracovat s několika hlavními databázovými platformami jako: DB2, Oracle a SQL Server. Kromě samotného řízení zdrojů a úkolů umožňuje Rational Team Concert také jednoduchou výměnu informací mezi jednotlivými členy týmu a to vždy v kontextu např. právě vykonávaného úkolu. Například pokud jeden člen týmu provede změnu požadavku na zlepšení, každý ze členů týmu o tom je okamžitě informován. Každá změna může být také přímo komentována a komunikována s ostatními. Ve své standardní edici podporuje Rational Team Concert až 250 uživatelů a oproti edici Express i mnoho funkcionalit navíc. Express edice je do 3 uživatelů poskytována zdarma.
- 57 -
- 58 -
TeamCity 4.0 Nástroj TeamCity je dalším z řady nástojů pro podporu spolupráce. Jeho devizou je, že je dostupný hned pro několik vývojových prostředí ve formě pluginu: IntelliJ Idea, Eclipse a Visual Studio. Na rozdíl od předchozích dvou nástrojů je více zaměřen po stránce verzování, vytváření buildů, kontroly kódu apod. Stejně jako u ostatních nástrojů je samozřejmě možné v rámci jednoho projektu komunikovat například zanechávím komentářů u jednotlivých verzí apod. Na obrázku níže je uveden příklad přehledu změn provedených konkrétním pracovníkem. TeamCity 4.0 je volně dostupný ke stažení z webových stránek projektu.
- 59 -
NetBeans Collaboration Project NetBeans Collaboration Project (dále NCP), jak je z jeho názvu patrné, je zásuvným modulem pro vývojové prostředí NetBeans. NCP umožňuje připojení na již existující server pro podporu týmové spolupráce, nebo na službu pro podporu spolupráce (NetBeans Collaboration Service) přímo od NetBeans. NCP nabízí velmi propracovanou službu pro podporu spolupráce. Jejími hlavními devizami jsou: • elektronická komunikace mezi uživateli, chat, VOIP komunikace •
Virtual Code Review
Virtual Code Review Hlavním benefitem NCR je prvek nazvaný Virtual Code Review. Ten umožňuje vývojářům v reálném čase revizi kódu, přičemž vývojáři vidí vždy aktuální verzi kódu. V praxi to může fungovat například tak, že jeden vývojář dokončí část kódu, založí konverzaci, do které pozve některé další členy týmu a dá jim svůj kód k revizi. V tu chvíli mohou všichni přizvaní vývojáři upravovat kód, s tím že vidí všechny právě upravované části, které se po dobu úpravy zamykají vždy pro jednoho z nich, aby nedocházelo ke konfliktům. Všechny úpravy okamžitě vidí i vývojář, jehož část kódu je revidována a může okamžitě začít se zpracovávání poznámek a komentářů. Jakmile je úprava hotova a všichni vývojáři dokončí revizi, může být proveden Check-out, kterým se upravený kód dostane do úložiště projektu.
NCR je zdarma dostupný jako rozšiřující modul pro vývojové prostředí NetBeans.
- 60 -
5 Závěr Náš vytyčený cíl se nám povedlo splnit. Přinesli jsme seznam CASE nástrojů a vývojových prostředí rozdělených podle oblastí použití. Na začátku každé oblasti jsou uvedené hlavní charakteristiky, na které je důležité se zaměřit při výběru daného nástroje a u jednotlivých nástrojů je pak uvedeno hodnocení, jak je naplňují. Převážně jsme volili nástroje, které pokrývají potřebnou funkcionalitu pro práci v dané oblasti, což dokládá velmi časté splnění požadavků. Co se týká trendů, tak se dá říci, že IDE nástroje stále více podporují modelování a následné generování z modelů. Snaží se tak uživatelům usnadnit a zpřehlednit práci. Podnětem pro další práci, by mohlo být zajímavé zamyslet se na tím, jestli by nebylo možné používat SaaS CASE pro vývoj nebo jestli už takové nástroje dokonce neexistují.
- 61 -
6 Citace: 1. java. [Online] http://java.sun.com/developer/technicalArticles/tools/intro.html. 2. wikipedia. [Online] http://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments. 3. Eclipse. [Online] http://www.eclipse.org/screenshots/images/QuickFix-WinXP.png. 4. Softpedia. [Online] http://www.softpedia.com/screenshots/JCreator-Pro_1.gif. 5. Oracle. [Online] http://www.oracle.com/technology/products/jdev/htdocs/partners/addins/exchange/index.html. 6. vb.net-informations. [Online] http://vb.netinformations.com/framework/framework_tutorials.htm. 7. Mono-Project . [Online] ://mono-project.com/What_is_Mono. 8. Microsoft. [Online] http://www.microsoft.com/cze/msdn/produkty/vstudio/default.mspx. 9. Codegear. [Online] http://www.codegear.com/products/radstudio. 10. ICSharpcode. [Online] http://www.icsharpcode.net/OpenSource/SD/. 11. Monodevelop. [Online] http://www.monodevelop.com/Main_Page. 12. PSPad. [Online] http://www.pspad.com/ . 13. Adobe. [Online] http://www.adobe.com/products/homesite/ . 14. Bluementals. [Online] http://www.blumentals.net/htmlpad/. 15. Migajek. [Online] http://www.migajek.com/?c=hateml . 16. Oxygen. [Online] http://www.oxygenxml.com/. 17. Altova. [Online] http://www.altova.com/products/xmlspy/xml_editor.html. 18. Quest Software. [Online] http://www.quest.com/. 19. Aquafold. [Online] http://www.aquafold.com/. 20. Embarcadero. [Online] http://www.embt.cz/. 21. OMG. [Online] http://www.omg.org/technology/documents/modeling_spec_catalog.htm#XMI. 22. Panrepa. [Online] http://www.panrepa.org/CASE/jaro2008/ide_case_jaro2008.pdf. 23. LBMS. [Online] http://www.lbms.cz/Reseni/Tema/MDA.htm.
- 62 -
24. Books Google. [Online] http://books.google.cz/books? id=7gLPXVX_88sC&pg=PT81&lpg=PT81&dq=UML+standard&source=w 25. Sparxsystems. [Online] www.sparxsystems.com.au. 26. Gentleware. [Online] http://www.gentleware.com. 27. Visual-paradigm. [Online] http://www.visual-paradigm.com/. 28. Sybase. [Online] http://www.sybase.com. 29. zajistovani-kvality-odborneho-vzdelavani. Národní ústav odborného vzdělávání. [Online] [Citace: 23. 11 2008.] http://www.nuov.cz/zajistovani-kvality-odborneho-vzdelavani. 30. Zend. [Online] http://www.zend.com/en/products/studio/ . 31. JetBrains IntelliJ IDEA. [Online] http://www.jetbrains.com/idea/ . 32. NetBeans. [Online] http://www.netbeans.org/ . 33. Jude Professional. [Online] http://jude.change-vision.com/
- 63 -