Nástroje pro vývoj aplikací a jejich vazba na CASE Semestrální práce na předmět IT_572
Vypracovali: Ondřej Válek David Páter Roman Svoboda David Markalous Tomáš Pobuda Datum:
Květen 2006
Nástroje pro vývoj aplikací a jejich vazba na CASE
IT_572
Obsah 1
Úvod.................................................................................................................................... 6
2
Vývojová prostředí (IDE) ................................................................................................... 7 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.2.2 2.3 2.3.1 2.3.2 2.3.3 2.4 2.4.1 2.4.2 2.4.3 2.5 2.6
3
CASE nástroje umožňující pouze modelování ................................................................. 21 3.1
4
Gaphor ................................................................................................................................. 21
CASE nástroje umožňující generování kódu.................................................................... 22 4.1 4.2 4.3 4.4
5
Microsoft Visual Studio 2005 ................................................................................................ 7 Obecné informace.............................................................................................................. 7 Přehled edicí ...................................................................................................................... 7 Visual Studio 2005 a CASE nástroje ................................................................................. 8 Borland C++ Builder 2006................................................................................................... 10 ECO III ............................................................................................................................ 10 Borland Together ............................................................................................................. 11 Borland Delphi 2006............................................................................................................ 12 Obecné informace............................................................................................................ 12 Přehled edicí .................................................................................................................... 13 Borland Delphi 2006 a CASE nástroje............................................................................ 14 Borland JBuilder 2006 ......................................................................................................... 16 Obecné informace............................................................................................................ 16 Přehled edicí .................................................................................................................... 16 Borland JBuilder 2006 a CASE nástroje ......................................................................... 17 BlueJ .................................................................................................................................... 18 VisualAge for Java 3.5 ......................................................................................................... 20
MyEclipse ............................................................................................................................ 22 Umbrello .............................................................................................................................. 24 ArgoUML ............................................................................................................................ 25 UniMod ................................................................................................................................ 26
CASE nástroje umožňující reverse-engineering............................................................... 27 5.1 5.2 5.3 5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.3.6 5.3.7 5.3.8 5.3.9 5.4
Visual Paradigm SDE .......................................................................................................... 27 Java Studio Creator .............................................................................................................. 29 Enterprise Architect 6.1 ....................................................................................................... 30 Role v projektu ................................................................................................................ 30 UML ................................................................................................................................ 30 MDA................................................................................................................................ 31 Datové modelování.......................................................................................................... 31 XMI ................................................................................................................................. 32 Integrace do IDE a Code Engineering ............................................................................. 32 Týmová podpora.............................................................................................................. 32 Tvorba dokumentace ....................................................................................................... 32 Rozdíly mezi edicemi ...................................................................................................... 33 Borland Together 2006 for Eclipse ...................................................................................... 34
2
Nástroje pro vývoj aplikací a jejich vazba na CASE 5.4.1 5.5 5.6 5.7 5.7.1 5.7.2 5.8 5.8.1
IT_572
Borland Together 2006 – přehled edicí............................................................................ 34 Sybase PowerDesigner 12.................................................................................................... 36 Poseidon for UML ............................................................................................................... 41 UMLStudio 7.1 .................................................................................................................... 43 Hlavní vlastnosti .............................................................................................................. 43 Změny oproti verzi 7.0 .................................................................................................... 43 Visual UML 4.3 Developer Edition ..................................................................................... 44 Hlavní vlastnosti .............................................................................................................. 44
6
Závěr ................................................................................................................................. 45
7
Použité zdroje.................................................................................................................... 55
3
Nástroje pro vývoj aplikací a jejich vazba na CASE
IT_572
Seznam obrázků Obrázek 1: Rozdělení produktové řady Visual Studio 2005 ...................................................... 7 Obrázek 2: Class Diagram ve Visual Studiu 2005 ..................................................................... 9 Obrázek 3: C++Builder 2006 – ECO State diagram ................................................................ 11 Obrázek 4: Borland Delphi 2006 – ukázka prostředí............................................................... 12 Obrázek 5: Výběr UML diagramů v Delphi 2006.................................................................... 15 Obrázek 6: Class Diagram v Delphi 2006................................................................................ 15 Obrázek 7: BlueJ – hlavní okno aplikace................................................................................. 19 Obrázek 8: Gaphor – vzhled prostředí ..................................................................................... 21 Obrázek 9: MyEclipse.............................................................................................................. 22 Obrázek 10: MyEclipse – Struts............................................................................................... 23 Obrázek 11: Umbrello .............................................................................................................. 24 Obrázek 12: ArgoUML ............................................................................................................ 25 Obrázek 13: UniMod................................................................................................................ 26 Obrázek 14: Visual Paradigma SDE – Class Diagram............................................................. 27 Obrázek 15: Visual Paradigma SDE – Activity Diagram......................................................... 28 Obrázek 16: Java Studio Creator.............................................................................................. 29 Obrázek 17: Enterprise Architect – struktura diagramů........................................................... 30 Obrázek 18: Enterprise Architect – příklad Timing Diagramu ................................................ 31 Obrázek 19: Borland Together 2006 for Eclipse...................................................................... 34 Obrázek 20: PowerDesigner – Class Diagram......................................................................... 36 Obrázek 21: PowerDesigner – Use Case Diagram................................................................... 37
4
Nástroje pro vývoj aplikací a jejich vazba na CASE
IT_572
Seznam tabulek Tabulka 1: Microsoft Visual Studio 2005 – srovnání edicí ........................................................ 8 Tabulka 2: Borland Delphi 2006 – srovnání edicí.................................................................... 14 Tabulka 3: Borland JBuilder 2006 – srovnání edicí ................................................................. 17 Tabulka 4: Enterprise Architect – přehled rozdílů mezi edicemi ............................................. 33 Tabulka 5: Borland Together 2006 – srovnání edicí ................................................................ 35 Tabulka 6: PowerDesigner 12 – srovnání edicí........................................................................ 38 Tabulka 7: PowerDesigner 12 – ceny podle edicí .................................................................... 39 Tabulka 8: PowerDesigner 12 – podpora zákazníka ................................................................ 39 Tabulka 9: Poseidon for UML – srovnání edicí ....................................................................... 41
5
Nástroje pro vývoj aplikací a jejich vazba na CASE
1
IT_572
Úvod
V naší práci jsme se zaměřili na CASE nástroje a jejich způsob podpory vývoje aplikací. Z hlediska vazby CASE nástroje na vývojové prostředí nás především zajímalo, zda daný nástroj podporuje notaci UML, import/export XMI, generování kódu, reverse-engineering, týmovou spolupráci apod. U vývojových prostředí jsme se pak soustředili na to, zda mají integrován nějaký CASE nástroj a zda podporují vazbu na externí CASE nástroje jiných firem. Po prozkoumání trhu jsme se rozhodli dostupné CASE nástroje rozčlenit do několika skupin podle jejich míry integrace do vývojového prostředí a schopností usnadnit proces vývoje softwaru. První skupinu tvoří CASE nástroje, které umožňují pouze modelování navrhovaného systému. Tyto nástroje nejčastěji podporují notaci UML, byť někdy pouze částečně (jen některé diagramy). Není výjimkou, že obsahují další modely, jako je např. datový model, který není v UML podporován. Výhodou CASE nástrojů v této skupině je jejich levné pořízení. Bývají totiž často zdarma, nebo je jejich pořizovací cena velmi nízká. Pokud vývojář sáhne po některém z těchto nástrojů, pak – kvůli neexistenci vazby na vývojové prostředí – je mu spíše vodítkem při psaní vlastní aplikace, než významným pomocníkem. Do druhé skupiny patří CASE nástroje, které kromě samotného modelování umožňují také generování kódu. Tyto nástroje tedy již jistou vazbu na vývojové prostředí mají. Vygenerovaný kód lze totiž následně editovat v IDE, které podporuje daný programovací jazyk. Při použití CASE nástroje z této skupiny je nutné dbát na pravidelnou synchronizaci kódu s modelem, protože provedené změny v kódu se neprojeví v modelu. V konečném důsledku pak model neodpovídá skutečné aplikaci (je nekonsistentní), takže ho nelze použít např. pro dokumentaci. Třetí skupina je tvořena nejpropracovanějšími CASE nástroji, které jsou přímo napojeny na vývojové prostředí a kromě všech vlastností nástrojů v předchozích dvou skupinách umožňují reverse-engineering, tedy schopnost promítnout změny provedené v kódu zpět do modelu. Jde tedy o oboustrannou synchronizaci modelu a kódu. Tyto nástroje nejlépe podporují vývoj a hodí se tak především pro profesionální vývojáře pracujících na rozsáhlých projektech.
6
Nástroje pro vývoj aplikací a jejich vazba na CASE
2
IT_572
Vývojová prostředí (IDE)
2.1
Microsoft Visual Studio 2005
2.1.1
Obecné informace
Microsoft Visual Studio 2005 je integrované vývojové prostředí pro návrh, vývoj a implementaci aplikací a webových XML služeb. Kombinuje konzistentní paradigma RAD pro návrh aplikací, intuitivní nástroje pro vývoj serverových aplikací a jednotné prostředí IDE. Visual Studio 2005 obsahuje komponentově orientované vývojářské nástroje a doplňkové technologie, které usnadňují týmovou práci při návrhu, vývoji a implementaci řešení. Visual Studio podporuje .NET Framework (ve verzi 2.0), základní jádro pro tvorbu a provoz webových aplikací a služeb. Pomocí Visual Studia 2005 je možné vyvíjet rozsáhlé aplikace na serverové straně i plnohodnotné aplikace pro malá přenosná zařízení typu PocketPC. Visual Studio 2005 je nezávislé na použitém programovacím jazyce, součástí instalace jsou jazyková prostředí Visual Basic, Visual C#, Visual C++ a Visual J#.
2.1.2
Přehled edicí
Microsoft Visual Studio 2005 je dodáváno v základních čtyřech variantách (edicích): • Visual Studio 2005 Express Edition ◦ odlehčená verze ◦ zdarma • Visual Studio 2005 Standard Edition ◦ verze pro běžné použití jednotlivcem • Visual Studio 2005 Professional Edition ◦ plnohodnotná verze pro profesionální použití jednotlivcem • Visual Studio 2005 Team Edition ◦ podporuje týmovou spolupráci Zaměření jednotlivých variant a cenové relace jsou shrnuty na následujícím obrázku. Obrázek 1: Rozdělení produktové řady Visual Studio 2005
7
Nástroje pro vývoj aplikací a jejich vazba na CASE
IT_572
Srovnání vlastností, funkčnosti a cen jednotlivých edicí je zachyceno v následující tabulce. Tabulka 1: Microsoft Visual Studio 2005 – srovnání edicí
2.1.3
Visual Studio 2005 a CASE nástroje
Visual Studio 2005 má (od edice Standard výše) zabudovaný vlastní nástroj pro modelování tříd zvaný Class Designer (viz následující obrázek). Model vytvořený v tomto nástroji sice není přímo UML Class Diagram, nicméně notace je dosti podobná. Tohoto nástroje lze využít k návrhu tříd a následnému vygenerování programového kódu v jednom z dostupných jazyků (Visual Basic, Visual C#, Visual J#, Visual C++), podporován je také kompletní reverseengineering. Tento nástroj je velmi snadno ovladatelný a díky tomu, že jde o interní součást Visual Studia 2005, je provázanost modelu s kódem perfektní. Nevýhodou Class Designeru je fakt, že vzniklý diagram tříd není přenositelný do jiného nástroje, neboť je možné ho exportovat pouze v podobě obrázku.
8
Nástroje pro vývoj aplikací a jejich vazba na CASE
IT_572
Obrázek 2: Class Diagram ve Visual Studiu 2005
Jiná možnost, jak modelovat třídy ve Visual Studiu 2005, je pomocí externích UML modelovacích nástrojů ve formě zásuvných modulů (pluginů), kterých je na trhu celá řada a je o nich řeč na jiných místech této práce.
9
Nástroje pro vývoj aplikací a jejich vazba na CASE
2.2
IT_572
Borland C++ Builder 2006
Borland C++ Builder 2006 je součástí velkého balíku Borland Developer Studio 2006. Tento balík je kompletním řešením pro tvorbu aplikací pro platformu Windows a .NET. Jeho součástí je kromě C++ Builderu 2006 také C# Builder 2006, Delphi 2006, CaliberRM, Borland Together (UML modelování), StarTeam (podpora verzování a spolupráce) a ECO (Enterprise Core Objects). C++ Builder je silným vývojovým prostředím pro vývoj Windows aplikací. Využívá přitom jak standardní C knihovny, tak i VCL (Visual Component Library) od Borlandu.
2.2.1
ECO III
ECO III je součástí Borland Developer Studia 2006, tudíž podporuje spolupráci také s C++ Builderem. ECO je na standardech založený framework pro vývoj podnikových aplikací, který primárně používá UML a OCL (Object Constraint Language). ECO je skutečně frameworkem, který zodpovídá za tvorbu instancí objektů, i když při práci se pracuje hlavně ve visuálním prostředí. ECO podporuje import a export modelů ve formátu XMI, takže lze využívat i jiný modelovací nástroj. Dále umožňuje postavit aplikaci (založenou na ECO), která bude přenositelná nad různými databázemi. ECO umožňuje z modelů vytvářet znovupoužitelné balíčky. Takové ECO balíčky obsahují UML a OCL definice, které jsou použity za běhu aplikace pro vytvoření instance, implementaci a uchování objektů, které jsou v aplikaci využity. ECO aplikace lze tvořit z jednoho a více balíčků, což umožňuje vyvíjet i rozsáhlé aplikace. Znovupoužitelnost je daná tím, že třídy definované v jednom balíčku lze využívat v různých ECO aplikací, kde jsou tyto třídy zapotřebí. Není tedy nutné je opět definovat pro každou aplikaci zvlášť. Pro rychlé otestování našich UML modelů lze využít automaticky generované webové formuláře. ECO III je rozšířeno o ASP.NET, a lze tak rychle prototypovat naše webové aplikace. Na rozdíl od předchozích verzí, ECO III je možno využívat pro vývoj aplikací ve více než jednom jazyce, protože např. datové typy definuje jednotně, a až následně je převádí na specifické pro daný jazyk. S ECO III lze do námi definovaných tříd přidávat stavové stroje, kde lze vizuálně definovat stavy objektů a přechody mezi nimi. Stavové stroje ECO podporují prvky UML state machine diagramů, jako jsou triggery, vstupní a výstupní akce,…
10
Nástroje pro vývoj aplikací a jejich vazba na CASE
IT_572
Obrázek 3: C++Builder 2006 – ECO State diagram
2.2.2
Borland Together
Tento visuální nástroj umožňuje tvorbu UML modelů, a ve spojení s ECO III mohou být tyto modely generované jako objekty, které lze přímo využít v naší aplikaci. O nástroji Borland Together je psáno na jiném místě v této práci. Celkově je C++ Builder mocným nástrojem, ale ve spojení s ostatními nástroji integrovanými do Borland Developer Studia 2006 se stává ještě mocnějším. Různé CASE nástroje s ním mohou komunikovat pomocí XMI, jehož importy a exporty podporuje ECO III.
11
Nástroje pro vývoj aplikací a jejich vazba na CASE
2.3 2.3.1
IT_572
Borland Delphi 2006 Obecné informace
Borland Delphi 2006 je integrované vývojové prostředí pro rychlý vývoj aplikací (RAD). Umožňuje vizuální navrhování, kompilaci a odlaďování aplikací na platformě Windows. Jedná se již o desátou verzi tohoto nástroje, který je nyní (společně s nástroji C++Builder 2006 a C#Builder 2006) součástí produktové skupiny s názvem Borland Developer Studio (BDS). Cílovou skupinou uživatelů Delphi 2006 jsou malé agilní vývojářské týmy, které díky svým odborným znalostem a schopnostem dokázaly po řadu let předčít mnohem větší vývojové organizace. Delphi 2006 zvyšuje efektivnost kódování prostřednictvím rámce ECO (Enterprise Core Objects – základních podnikových objektů), knihovny vizuálních komponent VCL a sady plně integrovaných nástrojů pro modelování a řízení životního cyklu aplikací. Delphi 2006 obsahuje kompletní podporu pro rychlý rozvoj aplikací nejen v programovacích jazycích Delphi Win32 a Delphi .NET, ale také v C++ a C#. Vzhled prostředí Borland Delphi 2006 zachycuje následující obrázek. Obrázek 4: Borland Delphi 2006 – ukázka prostředí
12
Nástroje pro vývoj aplikací a jejich vazba na CASE
2.3.2
IT_572
Přehled edicí
Borland Delphi 2006 je nabízeno ve třech edicích: • Delphi 2006 Professional ◦ určena pro samostatné vývojové pracovníky, nezávislé dodavatele software a menší organizace tvořící aplikace pro PC a web s konektivitou na lokální databáze ◦ obsahuje vybrané funkce ECO, které poskytují běžné služby pro aplikace na PC, jakými jsou např. objektově-relační mapování a transparentní lokální persistence objektů XML • Delphi 2006 Enterprise ◦ určena pro malé až střední organizace a vyspělé samostatné vývojové pracovníky, kteří vyvíjejí software podnikatelsky kritické povahy s požadavky na vysokou výkonnost databázových serverů ◦ obsahuje klíčové funkce ECO III, které vývojovým pracovníkům umožňují rychlý vývoj podnikových intranetových webových aplikací s objektověrelačním mapováním a transparentní databázovou perzistencí • Delphi 2006 Architect ◦ určena pro odborné podnikové vývojové pracovníky, kteří se potřebují rychle přizpůsobit měnícím se podnikatelským pravidlům a zvládat důmyslné aplikace, které jsou synchronizované s vícenásobnými databázovými schématy ◦ obsahuje vyspělý rámec ECO III, který vývojovým pracovníkům umožňuje rychle nasazovat škálovatelné externí webové aplikace komunikující s okolím a se spustitelnými stavovými diagramy, objektově-relačním mapováním a transparentní perzistencí Podrobnější srovnání edicí je v následující tabulce.
13
Nástroje pro vývoj aplikací a jejich vazba na CASE
IT_572
Tabulka 2: Borland Delphi 2006 – srovnání edicí
2.3.3
Borland Delphi 2006 a CASE nástroje
V Delphi 2006 jsou (od edice Enterprise výše) integrovány nástroje Borland Together a LiveSource pro UML modelování a reverse-engineering, které činí z Delphi 2006 velmi efektivní nástroj. Kromě osmi typů UML diagramů (Class Diagram, Sequence Diagram, Collaboration Diagram, State Chart, Deployment Diagram, Use Case Diagram, Activity Diagram, Component Diagram) umožňuje Delphi 2006 modelovat databáze, a to jak pomocí logických, tak fyzických modelů, včetně možnosti transformací mezi těmito modely. Delphi 2006 dále podporuje jazyk OCL, který slouží k definování omezení v UML modelech a umožňuje následnou kontrolu a validaci modelů. UML modely vytvořené v Delphi 2006 jsou snadno přenositelné díky možnosti exportu/importu do/z výměnného formátu XMI, a mezi přednosti patří také možnost importu modelů z nástrojů Rational Rose a Rational XDE. Delphi 2006 nabízí možnost generování kódu do jazyků Delphi Win32 a Delphi .NET, C++ a C#, a dále generování databázových skriptů pro velké množství databázových systémů. Se zmíněnými prorgramovacími jazyky pak dokáže kompletní reverse-engineering. Pokud bychom nechtěli využít vestavěných UML modelovacích možností (které jsou však velmi dobré) existují zde externí nástroje, které spolupracují s Delphi 2006 formou zásuvných modulů. Takových nástrojů je na trhu celá řada a je o nich řeč na jiných místech této práce.
14
Nástroje pro vývoj aplikací a jejich vazba na CASE
IT_572
Obrázek 5: Výběr UML diagramů v Delphi 2006
Obrázek 6: Class Diagram v Delphi 2006
15
Nástroje pro vývoj aplikací a jejich vazba na CASE
2.4
IT_572
Borland JBuilder 2006
2.4.1
Obecné informace
Borland JBuilder 2006 je integrované vývojové prostředí pro vývoj aplikací nezávislých na platformě. Umožňuje vytvářet robustní aplikace v jazyce Java a jeho předností je podpora nového konceptu s názvem „Virtual Peer Programming“, který umožňuje rovnocennou síťovou spolupráci programátorů, ať už jde o sdílené editování, společné ladění či aktivní vyhledávání rozdílů. Další týmové schopnosti JBuilderu 2006, jako decentralizovaný refactoring, vizualizace kódu UML a integrace s nástroji pro řízení životního cyklu aplikace, umožňují vývojovým pracovníkům i ostatním členům projektového týmu efektivně spolupracovat a zůstat synchronizováni od začátku projektu až do jeho konce. Zabudované testovací a výkonnostní nástroje pomáhají vývojovým týmům zjistit a vyřešit problémy ještě před tím, než se započne s ověřováním kvality – tím se urychlí dodávání vysoce kvalitních aplikací.
2.4.2
Přehled edicí
• JBuilder 2006 Foundation ◦ poskytuje základní schopnosti pro programování v jazyce Java pro začátečníky ◦ zdarma • JBuilder 2006 Developer ◦ poskytuje kompletní prostředí pro vývoj a nasazení aplikací v jazyce Java, které obsahuje dvoucestnou migraci kódů, audity kódů, vyspělé ladění i nástroje pro rozvoj webu včetně podpory XML • JBuilder 2006 Enterprise ◦ poskytuje nástroje k urychlení vývoje J2EE, webových služeb a aplikací Struts s integrovaným laděním výkonnosti a automatickým nasazováním na přední servery J2EE a databáze Podrobnější srovnání edicí Borland JBuilderu 2006 nabízí následující tabulka.
16
Nástroje pro vývoj aplikací a jejich vazba na CASE
IT_572
Tabulka 3: Borland JBuilder 2006 – srovnání edicí
2.4.3
Borland JBuilder 2006 a CASE nástroje
Z předchozí srovnávací tabulky plyne, že vestavěnou možnost UML modelování a reverseengineeringu má pouze nejvyšší edice JBuilder 2006 Enterprise. Nižší edice tuto možnost nemají. Modelovací možnosti JBuilderu jsou omezené pouze na dva typy UML diagramů: Class Diagram a Package Diagram. Z těchto diagramů je pak možné generovat kód v jazyce Java a využít podporu reverse-engineeringu. Pokud uživatel potřebuje větší množství UML diagramů či širší modelovací možnosti, odkazují ho tvůrci JBuilderu 2006 na specializovaný produkt firmy Borland s názvem Together 2006, o kterém se píše na jiném místě této práce. Pokud bychom nechtěli využít vestavěných UML modelovacích možností, ani nechtěli instalovat Borland Together 2006, existuje ještě poměrně mnoho externích nástrojů, které spolupracují s JBuilderem 2006 formou zásuvných modulů. O nich je zmínka na jiných místech této práce.
17
Nástroje pro vývoj aplikací a jejich vazba na CASE
2.5
IT_572
BlueJ
BlueJ je prostředí pro vývoj aplikací v jazyce Java a svými možnostmi a zaměřením je vhodný pro začátečníky, kteří se chtějí v Javě naučit. Tento nástroj byl vyvinut jako část projektu týkajícího se výuky zaměřené na objektově orientované programování na univerzitě Deakin v Melbourne v Austrálii a University of Kent v Cantebury ve Velké Británii. Proč vzniklo další vývojové prostředí? Zvlášť, když nenabízí tolik funkcí jako jiné produkty? Odpověď je snadná. Ostatní prostředí nejsou vhodná pro výuku. Tým, který BlueJ vyvíjí chtěl stvořit skutečně objektově orientované prostředí, které bude mít jako základní stavební kameny třídy a objekty, takže jsou nováčci rovnou vedeni k chápání problému objektově. Zároveň chtěli sofistikované prostředí, které však bude jednoduché na použití, tudíž není nutné, aby se začátečníci dlouho učili, jak mají prostředí používat, místo toho, aby se zaměřili rovnou na programování. Navíc, toto prostředí umožňuje interakci a experimentování. Většinu času při výuce zabere strukturování problému do tříd a komunikaci mezi nimi. Začátečníci s tím mají však problém, protože (v jiných IDE) vidí jen řádky kódu či různé komponenty pro tvorbu grafického uživatelského rozhraní. BlueJ ale zobrazuje vizuální zobrazení struktury tříd. Další velkou výhodou BlueJ je možnost nespouštět celou aplikaci, ale jen její část. Lze tak rovnou komunikovat s třídami, jejich instancemi a metodami, které jsme právě vytvořili. To funguje tak, že se vytvoří instance objektu, a poté jsou na ní volány metody. Je to velký přínos pro vývoj a testování aplikací. Pro volání statických metod se nemusí instance tříd vytvářet. Tento nástroj také nabízí určité možnosti ladění kódů pomocí vestavěného debuggeru, který lze snadno ovládat (opět kvůli zjednodušení pro začátečníky). Lze tedy prohlížet vnitřní stav instance objektu, nastavovat breakpointy a krokovat kód. Dále je zde možnost generovat dokumentaci projektu v javadoc formátu. Projekty lze ukládat do spustitelných jar souborů či vytvářet applety.
18
Nástroje pro vývoj aplikací a jejich vazba na CASE
IT_572
Obrázek 7: BlueJ – hlavní okno aplikace
Celkově se jedná o dobrý nástroj pro výuku Javy, zkušenější uživatelé by časem měli přejít na mocnější nástroje. Vzhledem k tomu, že se jedná o freeware nástroj vyvinutý na univerzitě, nedosahuje značných možností ohledně integrovaného CASE, který je opravdu omezen na minimum. Nástroj je dostupný ve verzích pro Windows, MacOS a pro ostatní operační systémy s podporou Javy. Před samotnou instalací je nutné mít nainstalovanou JRE SDK (Java Runtime Environment Software Development Kit).
19
Nástroje pro vývoj aplikací a jejich vazba na CASE
2.6
IT_572
VisualAge for Java 3.5
Tento produkt pochází z dílny IBM a nabízí integrované vývojové prostředí pro vývoj Java aplikací, servletů, appletů a Java Beans. VisualAge for Java podporuje kompletní vývojový cyklus Java aplikací. S využitím RAD (Rapid Application Development) tak lze urychlit celý životní cyklus vyvíjené aplikace. VisualAge for Java je komplexní nástroj, ve kterém lze vyvíjet e-business aplikace zaměřené na softwarovou platformu IBM WebSphere. VisualAge for Java verze 3.5 je k mání ve čtyřech edicích. Jsou to VisualAge for Java Professional Edition, VisualAge for Java Entry Professional Edition, VisualAge for Java Enterprise Edition a VisualAge for Java Entry Enterprise Edition. Z našeho úhlu pohledu je zajímavá Enterprise Edition, protože, mimo jiné, rozšiřuje možnosti Professional Edition o XMI Toolkit pro integraci s CASE nástrojem Rational Rose a dalšími modelovacími nástroji podporující XMI. Lze tak z modelů generovat kód VisualAge for Java a naopak (se zachováním ručně provedených změn). Další výhodou pak je podpora týmové spolupráce, která je oproti edici Professional ještě více rozšířena.
20
Nástroje pro vývoj aplikací a jejich vazba na CASE
3 3.1
IT_572
CASE nástroje umožňující pouze modelování Gaphor
Gaphor je jednoduchý modelovací nástroj pro Linux. Protože je zatím v rané fázi vývoje, nenabízí, mimo modelování, exportu do SVG a XMI, žádné další možnosti. Zatím má omezenou i podporu UML diagramů. Obrázek 8: Gaphor – vzhled prostředí
21
Nástroje pro vývoj aplikací a jejich vazba na CASE
4 4.1
IT_572
CASE nástroje umožňující generování kódu MyEclipse
MyEclipse je kompletní vývojové prostředí pro vývoj v Javě, postavené nad populárním IDE Eclipse. Obsahuje velké množství komponent, které lze samostatně zakoupit. Obsahuje také pokročilý UML modeler, se schopností následně vygenerovat kód v Javě. Podporuje několik typů základních diagramů a export do XMI. Umožňuje i tvorbu free diagramů, jinými slovy kreslení diagramů bez omezení symbolů či syntaxe. Obrázek 9: MyEclipse
Zajímavou schopností je i vizuální návrh navigační struktury webových aplikací v Javě, tvořených s pomocí frameworků Struts nebo Java Faces. V tomto režimu se do diagramu vkládají stránky, přechody mezi nimi, a navážou se jednotlivé akce a události, které k nim vedou. Z obchodního hlediska je zajímavostí fakt, že MyEclipse se běžně neprodává jako krabicový produkt, ale je pronajímán za fixní roční částku, která zahrnuje pravidelné updaty i upgrady.
22
Nástroje pro vývoj aplikací a jejich vazba na CASE
IT_572
Obrázek 10: MyEclipse – Struts
23
Nástroje pro vývoj aplikací a jejich vazba na CASE
4.2
IT_572
Umbrello
Umbrello je poměrně jednoduchá open-source aplikace určená především pro Linux s prosředím KDE. Podporuje základní UML diagramy a mimo nativní podpory XMI a generováním kódu do velkého množství jazyků ničím zvláštním neoplývá. Svým linuxovým původem je zatím předurčeno k okrajovému zájmu pro nemožnost jej integrovat do většího balíku. Díky licenci GPL je však příznivá alespoň cena, Umbrello je zcela zdarma. Obrázek 11: Umbrello
24
Nástroje pro vývoj aplikací a jejich vazba na CASE
4.3
IT_572
ArgoUML
ArgoUML je svým původem a zpracováním spíše učební pomůcka. Podporuje většinu diagramů, pracuje s XMI a zvládá generování kódu v Javě. Především je to však malá aplikace, napsaná v přenositelné Javě a navíc má funkci Kritika. Jedná se rozšiřitelný systém validačních funkcí, které umí zkontrolovat model po syntaktické stránce a ohlásit uživateli chyby a navrhnout řešení. Ohlídat umí i složitější vztahy, což je při studiu velmi výhodné. ArgoUML není integrováno do žádného IDE, vše končí vygenerováním Javovských tříd. K dispozici je zdarma včetně zdrojových kódů. Na ArgoUML staví i komerční modeler Poseidon For UML. Obrázek 12: ArgoUML
25
Nástroje pro vývoj aplikací a jejich vazba na CASE
4.4
IT_572
UniMod
Unomod je omezený modeler co se množství podporovaných diagramů týče. Z originálního UML podporuje pouze diagram tříd a diagram stavů. Jeho kvalita ovšem spočívá ve statemachine modelu. Jedná se o spojení statechart diagramu s diagramem tříd a simulaci v reálném čase. Je tedy možné namodelovat systém a vyzkoušet si jeho chování ještě před samotným vygenerováním Java kódu. Simulovanou aplikaci lze krokovat, debugovat, nastavovat breakpointy. UniMod je šířen jako open source plugin pro Eclipse, k dispozici je tedy zdarma. Obrázek 13: UniMod
26
Nástroje pro vývoj aplikací a jejich vazba na CASE
5 5.1
IT_572
CASE nástroje umožňující reverse-engineering Visual Paradigm SDE
Visual Paradigm nabízí jak samostatné modelery pro všechny majoritní operační systémy, tak ve formě pluginů do velkého množství IDE. Zvládá kompletní UML 2.0, a umí výsledný model nejen převádět na kód, ale i zpětně sestavit z kódu, nebo jej trvale synchronizovat. Poradí si s formátem XMI, ale i s projektovými soubory Rational Rose a verzováním modelů. I přes všechny funkce, které tento profesionální balík nástrojů nabízí, si udržuje příznivou cenu, a komunitní verzi (byť silně omezenou, co se práce s kódem týče) nabízí zcela zdarma. Obrázek 14: Visual Paradigma SDE – Class Diagram
27
Nástroje pro vývoj aplikací a jejich vazba na CASE
IT_572
Obrázek 15: Visual Paradigma SDE – Activity Diagram
28
Nástroje pro vývoj aplikací a jejich vazba na CASE
5.2
IT_572
Java Studio Creator
Java Studio Creator, postavený na populárních Netbeans, je zaměřený na vývoj webových aplikací v Javě s frameworkem Java Faces. Jako takový neobsahuje modeler UML. Spojuje však dohromady množství vizuálních nástrojů, které vývoj webové aplikace výrazně urychlí. Jedním z těchto nástrojů je modelování mapy webu, kde jsou jednotlivé stránky propojeny mezi sebou sítí odkazů, událostí a akcí. Každou stránku zvlášť lze pak taktéž vizuálně navrhnout s pomocí předdefinovaných komponent. Java Studio Creator je k dispozici zcela zdarma. Je zřejmé, že hlavním úkolem tohoto balíku je nabídnout vývojářům zdarma nástroj pro rychlý vývoj webových aplikací a zároveň je přilákat k používání technologií a potažmo i komerčních produktů (serverů, podpory, profesionálních vývojových nástrojů) od firmy Sun. Obrázek 16: Java Studio Creator
29
Nástroje pro vývoj aplikací a jejich vazba na CASE
5.3
IT_572
Enterprise Architect 6.1
Enterprise Architect (EA) je mocným CASE nástrojem firmy Sparx Systems, který kombinuje sílu UML 2.0 s přívětivým uživatelským rozhraním a dává nám tak k dispozici značné možnosti při modelování a vývoji robustních softwarových systémů. EA umožňuje pokrýt celý životní cyklus navrhovaného systému, tedy nejen daný systém navrhnout (namodelovat), ale i generovat kód v několika jazycích, a při integraci do IDE jej upravovat. Dále poskytuje podporu pro testování navrhovaného systému, generování databáze, synchronizaci kódu a modelu, reverse-engineering, exportování dokumentace a mnoho dalšího.
5.3.1
Role v projektu
Díky tomu, že EA podporuje celý cyklus vývoje systému, je důležité, aby podporoval i jednotlivé členy vývojového týmu, resp. jejich role. Podporuje jich celkem devět: Business Analytik, Softwarový architekt, Softwarový inženýr, Vývojář, Projektový manažer, Tester, Nasazení, Technologický vývojář a Databázový administrátor.
5.3.2
UML
EA je na UML založen. Nyní podporuje verzi 2.0, a to všech 13 diagramů. Všechny diagramy lze rozdělit do dvou částí: strukturální diagramy a diagramy chování. Mezi strukturální diagramy patří: Class Diagrams, Object Diagrams, Component Diagrams, Composite Structure Diagram, Deployment Diagrams a Package Diagram. Do diagramů chování spadají zbývající diagramy: Interaction Diagrams (Sequence Diagrams, Communication Diagrams, Interaction Overview Diagrams, Timing Diagrams), Activity Diagrams, Use Case Diagrams a State Machine Diagrams. Obrázek 17: Enterprise Architect – struktura diagramů
30
Nástroje pro vývoj aplikací a jejich vazba na CASE
IT_572
Obrázek 18: Enterprise Architect – příklad Timing Diagramu
Mimo samotné možnosti modelování nabízí tento nástroj velice užitečnou validaci UML modelů na základě známých pravidel UML. Kromě UML, poskytuje EA několika dodatečných diagramů: • Analysis Diagram ◦ používá se k zachycení business procesů na nejvyšší úrovni a nejranějších modelů chování systému • Custom Diagram (Extended Class) ◦ může být využit pro uživatelsky definované modely • Database Schema ◦ určené pro datové modelování • Robustness Diagram ◦ dodatečné rozšíření UML o business procesy
5.3.3
MDA
EA podporuje Model Driven Architecture, takže lze navrhovat Platform Independent Modely (PIM) a transformovat je do mnoha Platform Specific Modelů (PSM). EA umožňuje tyto modely opakovaně synchronizovat, přičemž zachovává modifikace. Např., úpravy v PSM tedy nejsou následně smazány po provedení další synchronizace mezi PIM a PSM.
5.3.4
Datové modelování
Jak již bylo zmíněno, EA podporuje modelování datové základny, i když to není pokryto notací UML. Lze však namapovat tyto datové elementy na UML elementy, tedy tabulky na třídy a relace na asociace. Modelovat lze i databázové klíče, triggery, omezení a další. Mezi podporované databáze patří: DB2, InterBase, MS Access, MySQL, Oracle9i, PostgreSQL, MS SQL Server, Sybase Adaptive Server Anywhere a Firebird.
31
Nástroje pro vývoj aplikací a jejich vazba na CASE
5.3.5
IT_572
XMI
EA používá XML Metadata Interchange (XMI) pro export a import modelů mezi různými UML balíčky, EA projekty a dalšími nástroji podporujícími XMI. Implementovaná je podpora specifikace XMI 1.1 a 1.2, ale plně není podporována starší verze specifikace 1.0. Při importu/exportu do XMI 1.0 dochází ke ztrátám některých dat důsledkem omezení, které zmíněná verze má. Importovat lze: UML 1.3 (XMI 1.0, XMI 1.1), UML 1.4 (XMI 1.2), MOF 1.3 (XMI 1.1) a MOF 1.4 (XMI 1.2). Do formátu XMI 1.1/UML 1.3 je EA schopen přidat dodatečné informace pro uložení UML 2.0.
5.3.6
Integrace do IDE a Code Engineering
EA 6.1 (současná verze) umožňuje tvořit, testovat, ladit a spouštět skripty pro nasazení – to vše přímo z vývojového prostředí EA. EA dokáže generovat kód přímo do podporovaného IDE a má v sobě zabudovanou podporu ladění pro .NET (verze 1.x a 2.0) a Javu (J2SE 5.0, J2EE JDK 1.4 a novější). Co se týče .NETu, podporuje jazyky C#, C++, VB.NET a J#. Při použití produktu MDG Link for Eclipse a MDG Link for Visual Studio.NET je EA schopen integrace do Eclipse, resp. Visual Studia .NET. Forward engeneering umožňuje přímo z UML modelů generovat zdrojový kód v jazycích C++, C#, Delphi, Java, PHP, Python, Action Script, Visual Basic a VB.NET. Generovat lze i XML Schema (XSD) a Web Service Definition Language (WSDL). Kromě generování výše uvedeného kódu, umožňuje EA také reverse-engineering, tedy ze zdrojového kódu vytvořit jeho UML reprezentaci. Například, třída v Javě bude namapovaná na UML třídu, její proměnné budou atributy této třídy a metody budou namapovány na patřičné operace. Interakce (volání) mezi třídami pak budou v UML diagramu tříd zobrazeny jako náležité propojení. Importovat lze stejné zdrojové kódy, které lze exportovat. Velice užitečná je pak vzájemná synchronizace modelů a kódu, kdy lze provádět úpravy modelu/kódu, které se pak promítnou do kódu/modelu.
5.3.7
Týmová podpora
Možností, jak podpořit vývoj systémů v týmu je hned několik. Jedná se o sdílení projektu a distribuovaný vývoj. Sdílení projektu lze dosáhnout např. nasazením v síti (repository založená na .EAP (EA Project Files) nebo na databázovém serveru), replikací (pro výměnu dat založených na .EAP, kdy jsou uživatelé nuceni pracovat nezávisle), XMI importem/exportem, kontrolou verzí (pomocí SubVersion, CVS a takovým produktem, který je kompilován s Microsoft Common Source Code Control standard, verze 1.1 nebo novější), uživatelskými rolemi atd.
5.3.8
Tvorba dokumentace
Při tvorbě rozsáhlých systémů je víc než nutné, aby byla k dispozici možnost automatického generování dokumentace. Zde jsou celkem slušné možnosti nastavení generování dokumentace do formátu RTF a HTML. Díky různým nastavením, ale i různým šablonám, má uživatel značné možnosti, jak výstup ovlivnit.
32
Nástroje pro vývoj aplikací a jejich vazba na CASE
5.3.9
IT_572
Rozdíly mezi edicemi
EA se prodává ve třech edicích – Desktop, Professional a Corporate. Tabulka 4: Enterprise Architect – přehled rozdílů mezi edicemi
Přestože je tento nástroj v porovnání s ostatními produkty nesrovnatelně levnější, nabízí opravdu bohatou funkcionalitu, se kterou úspěšně konkuruje.
33
Nástroje pro vývoj aplikací a jejich vazba na CASE
5.4
IT_572
Borland Together 2006 for Eclipse
Technologie Borland Together obsahuje sadu vizuálních modelovacích jazyků. Nabízí komplexní podporu podnikovým analytikům, návrhářům, architektům a vývojovým pracovníkům, a dále konfigurovatelnou platformu založenou na rolích se správnou sadou schopností pro každou roli existující ve vývojové organizaci. Borland Together se skládá ze tří samostatných řešení: Obrázek 19: Borland Together 2006 for Eclipse
5.4.1
Borland Together 2006 – přehled edicí
• Together 2006 Developer ◦ Poskytuje jedinečné kódově centrické modelovací řešení pro pracovníky vyvíjející software, které díky používání diagramů UML pro danou třídu a pořadí výrazně snižuje složitost aplikací. • Together 2006 Designer ◦ Modelovací řešení v jazyce UML nezávislé na platformě a určené pro podnikové analytiky a ostatní pracovníky, kteří pracují v prostředích, v nichž vizuální modely mohou optimalizovat definice požadavků a komunikace o softwarové architektuře a kódech. • Together 2006 Architect ◦ Komplexní, multijazykové modelovací řešení pro softwarové architekty, kteří navrhují, vyvíjejí a komunikují o podnikových aplikačních architekturách, zatímco pracují s investory napříč vývojovými a podnikatelskými organizacemi.
34
Nástroje pro vývoj aplikací a jejich vazba na CASE
IT_572
Tabulka 5: Borland Together 2006 – srovnání edicí
35
Nástroje pro vývoj aplikací a jejich vazba na CASE
5.5
IT_572
Sybase PowerDesigner 12
PowerDesigner je první CASE nástroj 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 metodologie jako je Unified Modeling Language (UML) nebo dvouúrovňový návrh databáze. Obrázek 20: PowerDesigner – Class Diagram
PowerDesigner je ideálním nástrojem pro návrh informačních systémů protože 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 datový analytik tak vytvářet entity v datovém modelu a sledovat jejich závislost na objektech a třídách v navrhované aplikaci 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 CASE nástroje s jednotným uživatelským prostředím se pak odrazí v rychlém a bezproblémovém vývoji.
36
Nástroje pro vývoj aplikací a jejich vazba na CASE
IT_572
Obrázek 21: PowerDesigner – Use Case Diagram
V současné době je PowerDesigner nabízen v 6 edicích, které se liší cenou a vlastnostmi, které nabízejí (viz tab.). Každá edice je určena pro jiný typ uživatelů – vývojáři, designéři či analytici.
37
Nástroje pro vývoj aplikací a jejich vazba na CASE
IT_572
Tabulka 6: PowerDesigner 12 – srovnání edicí
38
Nástroje pro vývoj aplikací a jejich vazba na CASE
IT_572
Tabulka 7: PowerDesigner 12 – ceny podle edicí PowerDesigner 12 DataArchitect
$2 995
PowerDesigner 12 DataArchitect Enterprise
$4 990
PowerDesigner 12 Developer
$2 995
PowerDesigner 12 Developer Enterprise
$4 990
PowerDesigner 12 Studio Personal
$5 995
PowerDesigner 12 Studio Enterprise
$7 495
Tabulka 8: PowerDesigner 12 – podpora zákazníka Enterprise Extended
Basic
Enterprise Developer
Developer
Incident
X
X
X
Support Coverage Normal Business Hours 24x7 (Follow-the-Sun)
X
X
X
After-Hours support
included
included
included
option
option
option
Number of Contacts
6
4
2
2
2
NA
unlimited
unlimited
single or pack
P1<4 hrs
P1<4 hrs
Number of Cases Enterprise Support Team Response Time Priority Case Escalation
unlimited
unlimited unlimited
X P1<30 min
X P1<1 hr
P1<4 hrs
X
P1<30 min X
Electronic Support Technical Documents
X
X
X
X
X
X
Newsgroups
X
X
X
X
X
X
Electronic Case Management
X
X
X
X
X
X
Electronic Software Distribution
X
X
X
X
X
X
Email Notification
X
X
X
X
X
X
Enhancement Releases
X
X
X
option
option
option
Maintenance Releases
priority
X
X
priority
electronic
electronic
Software Services
Personalized Support
39
Nástroje pro vývoj aplikací a jejich vazba na CASE
Enterprise Extended
Basic
IT_572
Enterprise Developer
Account Management
X
X
Review Meetings
X
X
Alliance Support
option
option
Alliance Dedicated Support
option
option
Privilege Support
option
Developer
Incident
option
40
Nástroje pro vývoj aplikací a jejich vazba na CASE
5.6
IT_572
Poseidon for UML
Program pro vytváření UML diagramů včetně podpory vytváření diagramu tříd z existujícího kódu. Program je založen na open source programu ArgoUML, má však výrazně rozšířené možnosti včetně podpory UML 2.0. Program existuje ve více edicích, lišících se možnostmi využití: • Community Edition ◦ určeno pro studenty a nekomerční využití • Standard Edition ◦ určeno pro analytiky • Professional Edition ◦ určeno pro vývojáře • Enterprise Edition ◦ určeno pro tým vývojářů • Embedded Enterprise Edition ◦ určeno pro vývojáře speciálních systémů Rozdíly jednotlivých edicí jsou uvedeny v tabulce. Tabulka 9: Poseidon for UML – srovnání edicí Feature
Community Edition 4.1
Standard Edition 4.1
Professional Edition 4.1
Embedded Enterprise 4.1
Enterprise Edition 4.1
Simple Install with WebStart
+
UML 2.0 Diagram Interchange
+
+
+
+
+
All 9 Diagram Types
+
+
+
+
+
Forward Engineering Java
+
+
+
+
+
XMI Supported
+
+
+
+
+
Platform Independent
+
+
+
+
+
Export as GIF, JPG, PNG, PS, EPS, SVG
+
+
+
+
+
Printing
+
+
+
+
+
Deep Copy/Cut/Paste
+
+
Export as WMF
+
+
+
+
Reverse Engineering Java
+
+
+
+
Plug-In Support
+
+
+
+
UMLdoc (HTML Export)
+
+
+
+
UMLdoc (Word 2003)
+
+
+
+
+
+
Eclipse IDE Integration
+
Class diagram auto-layout
+
41
Nástroje pro vývoj aplikací a jejich vazba na CASE
Professional Edition 4.1
Embedded Enterprise 4.1
Enterprise Edition 4.1
JAR Import
+
+
+
MDL Import
+
+
+
Changeable Code Templates
+
+
+
C++ Generation
+
+
+
Feature
Community Edition 4.1
Standard Edition 4.1
IT_572
ANSI C Generation
+
C# Code Generation
+
+
CORBA IDL Code Generation
+
+
Delphi Code Generation
+
+
Perl Code Generation
+
+
PHP Code Generation
+
+
SQL DDL Code Generation
+
+
VB.net Code Generation
+
+
Roundtrip Engineering Java
+
+
Export to Ecore
+
+
Concurrent License Option
+
+
+
Synchronous Team Modeling
+
+
Version Control
+
+
Element Locking
+
+
Secure Communication
+
+
42
Nástroje pro vývoj aplikací a jejich vazba na CASE
5.7
IT_572
UMLStudio 7.1
aktuální verze: 7.1 (build 751 – 31. srpen 2005), výrobce: PragSoft
5.7.1
Hlavní vlastnosti
• Podporuje standardní notace jako je UML, Booch a Data flow. Pro modelování lze využít tyto nebo je lze přizpůsobit tak, aby vyhovovali našim potřebám. UMLStudio nenutí uživatele používat předdefinované notace. Umožňuje vytvářet i svoje vlastní notace v řádech minut. • Umožňuje generovat dokumentaci a kód v jazycích C++, Java, COBRA IDL, Ada 95, HTML a RTF. • Umožňuje provádět reversní engineering z jazyků C++, Java, and CORBA IDL • Díky PragScriptu, ve kterém jsou naprogramovány generátory kódu/dokumentace, si může uživatel naprogramovat vlastní generátory kódu, generátory dokumentace, analytické a reportovací utility, atd. • UMLStudio umožňuje definovat vlastní knihovnu symbolů a návrhových vzorů. • V UMLStudiu je možné vytvářet hypertextové odkazy mezi objekty v diagramech a URL adresami nebo libovolnými dokumenty.
5.7.2
Změny oproti verzi 7.0
• Tasks Menu – přidáno nové menu (Tasks). Menu je dynamicky nahráno s PragScripty umístěnými v adresáři Scripts/Task/. Každý takový skript implementuje task. K dispozici jsou tři vzorové skripty, pro ilustraci jak je psát. • Nové možnosti – nová možnost Show Parametrized Class Arguments byla přidáma do Options dialogu. Umožňuje ukázat/skrýt argumenty tříd pro parametrizované třídy. • Vylepšení dávkového módu – je k dispozici nová příkazová řádka (-revModel) pro dávkový režim. • Maxim skript pro reversní engineering – přidán skript pro parsování Maxim kódu • Počítání řádků reversního engineeringu – z reversního engineeringu nyní vystupuje počet řádek kódu pro každý parsovaný soubor, plus celkový počet. • Rozsah generování v dávkovém módu – byl přidán nový příkaz (-scope) pro příkazovou řádku pro kontrolu rozsahu generování kódu/dokumentace. • Skript pro revesní engineering Ada 95 – byl zkompletován skript pro reversní engineering Ada 95. Nyní lze vytvářet UML diagramy z Ada 95 kódu. • Rozšíření Classes Task skriptu – byl přidán nový task script, který umožňuje rozšířit vztahy jedné nebo více tříd. • Podpora pro typy v generování kódu a reversním engineeringu – typy specifikované v Type tab třídy jsou předány C++, IDL a Ada generátorům kódu. Pro reversní engineering, všechny takové definice se musí objevit uvnitř třídy, jinak nejsou parsovány. • Licenční dialog – chování licenčního dialogu a podtrhávání ověření licence bylo vylepšeno pro snazší přepínání mezi Samostatnými a Floating licenčními módy. 43
Nástroje pro vývoj aplikací a jejich vazba na CASE
5.8
IT_572
Visual UML 4.3 Developer Edition
Aktuální verze: 4.31 – (build 564 – 25. říjen 2005), výrobce: Visual Object Modelers
5.8.1
Hlavní vlastnosti
• Intuitivní uživatelské rozhraní (jako Office XP, Office 2003 a Visual Studio.NET). Možnost výběru z několika uživatelských rozhraní. Možnost upravovat menu, toolbary a dokovací okna. • Class Code okno dynamicky ukazuje generovaný kód vybrané třídy a mění ho v závislosti na změnách provedených ve třídě. • Víceúrovňové Undo/Rendo operace pro operace v diagramu. • Obsahuje předdefinované profily pro Robustness modeling (Class & Use Case diagram), Data modelování, modelování webových aplikací, XML modelování, atd. • Exportuje a importuje modely (kromě diagramů) do a z XMI. XMI verze 1.0 & 1.1 (UML 1.3 Metamodel) podporovaný v Rational Rose a non-Rose formátech. • Propojování objektů v diagramu a modelu do jiných diagramů, dokumentů, souborů URL adres, atd. • Stereotypy (obsahuje business object modelování, data modelování, Conalle web application modelovací rozšíření, XML modelování). • Export, import a porovnání částí modelů a diagramů. • XML rozhraní (export, import, porovnání) s DTD. • Publikace modelů a diagramů do HTML s výběrem elementů modelu a jejich vlastností. • Export diagramů do grafických formátů EMF, WMF, BMP, JPEG, TIFF, PCX, GIF, HTML a Windows Clipboard. • VBScript/JScript 5.6 skriptovací stroje. • Datové modelování (definice tabulek a sloupců, komentáře, primární klíče, unikátní a kontrolní omezení, indexy, triggery, vztahy, domény a procedůry). • Generování kódu pro C++, VB, C#, Java, Visual Basic.NET • Reversní engineering pro jazyky VB, C#, Java, Visual Basic.NET • Generování databázových schémat SQL DDL pro SQL Server, Oracle, SQL Anywhere, Visual FoxPro, Access, MySQL a Pervasive SQL. • Reversní engineering databází pomocí ADO spojení a ODBC nebo OLEDB driveru pro Access, SQL Server, SQL Anywhere, Oracle, Visual FoxPro a MySQL • Pracuje jako Add-In pro Visual Basic 6 a Visual Studio.NET 2002 & 2003 and Visual Studio 2005. • Vzorové modely pro následující UML knihy: UML Distilled by Martin Fowler (Second Edition); Developing Web Applications with UML by Jim Conallen; XML Modeling Applications with UML by David Carlson. • Vzorové a podpůrné modely pro XML modelování (XSDs), vzorové modely pro Gang-of-Four (GoF) vzory. 44
Nástroje pro vývoj aplikací a jejich vazba na CASE
6
IT_572
Závěr
Na následujících stránkách jsou v tabulkách přehledy důležitých vlastností jednotlivých nástrojů, kterými jsme se v práci zabývali. Produkty jsou v tabulkách po skupinách, do kterých byly zařazeny v této práci. Při srovnávání produktů jsme použili následující kritéria: • Podporované platformy – na kterých operačních systémech aplikace běží • Podporovane modely – jaké modely aplikace podporuje • Verze UML – jedná-li se o UML, jakou verzi podporuje • Podporované typy diagramů – jaké typy diagramů aplikace zná • Validace modelů – kontroluje aplikace syntaktickou/logickou správnost modelů? • Import/export XMI – jaká je podpora nezávislého formátu pro přenos UML modelů • Další importy/exporty – jaké další exportní formáty aplikace ovládá • Generovaní kódu – do jakých jazyků umí generovat kód z modelu • Reverse-engineering – z jakých jazyků umí zpětně sestavit model? • Integrace do IDE – do jakých vývojových prostředí lze aplikaci integrovat? • Podpora týmové spolupráce – obsahuje aplikace podporu týmového modelování? • Podpora zákazníka – jaká forma podpory je dodávána k aplikaci? • Podpora tvorby dokumentace – podporuje aplikace tvorbu dokumentace z modelu? • Minimální cena – za jakou minimální cenu lze aplikaci pořídit (i omezenou verzi) • Maximální cena – jaká je maximální cena za jednu osobu? • Licenční podmínky – s jakou licencí / obchodním modelem je aplikace šířena • Speciální funkce – má aplikace nějaké neobvyklé funkce? • Možnosti rozšíření – jaké jsou možnosti rozšíření aplikace (pluginy atd.)? Tato kritéria nejsou dokonalá, poskytují však alespoň možnost orientace v aplikacích a jednoduchý nástroj pro jejich základní srovnání. Z výsledků průzkumu lze vyvodit několik závěrů. S vyšší cenou mají aplikace zpravidla více funkcí potřebných pro práci v týmu a lepší integraci do IDE (případně přímo IDE). To souvisí jak s jejich nároky, tak se snahou snížit cenu pro studenty, případně omezit funkcionalitu pro méně výnosné segmenty trhu. Několik vysoce profesionálních nástrojů je dostupných zdarma, například Java Studio Creator, jehož primárním úkolem je přitáhnout vývojáře k platformě Java/Netbeans/JFaces od Sunu, a jeho dalším, komerčním aplikacím. Nejrozšířenějším metamodelem je jednoznačně UML, následované specializovanými modely pro konkrétní účely. Volně šiřitelné open source aplikace v tomto segmentu mají ještě co dohánět, jak na poli funkcí a podpory UML, tak při integraci do větších IDE. Formát XMI, určený pro aplikačně nezávislé uložení UML modelů není příliš rozšířené a aplikací, které jej využívají jako svůj výchozí formát, je minimum. Otázkou je i kvalita interpretace XMI jednotlivými aplikacemi.
45
Nástroje pro vývoj aplikací a jejich vazba na CASE
IT_572
Vývojová prostředí (IDE) Microsoft Visual Studio 2005
Borland C++ Builder 2006
Borland Delphi 2006
Borland JBuilder 2006
Podporované platformy
MS Windows 2000 Professional SP4, MS Windows 2000 Server SP4, MS Windows XP SP2, MS Windows XP Media Center Edition 2002 SP2, MS Windows XP Media Center Edition 2004 SP2, MS Windows XP Media Center Edition 2005, MS Windows XP Tablet PC Edition SP2, MS Windows Server 2003 SP1
MS Windows a MS .NET
MS Windows Server 2003 SP1, MS Windows XP Professional SP2, MS Windows 2000 Professional SP4, MS Windows 2000 Server SP4
MS Windows 2000 SP4, MS Windows XP, MS Windows Server 2003, Solaris UltraSPARC II or higher, Solaris 9 (2.9) and 10, Red Hat Enterprise Linux 3.0, Novel SuSE Enterprise Linux 9
Podporovane modely
Class Designer – nástroj pro modelování tříd (ne UML)
UML, databáze
UML, databáze
UML
Verze UML
Nemá UML
UML 1.5, UML 2.0
UML 1.5, UML 2.0
Nebylo možné zjistit
Podporovane typy diagramů
Class Diagram
Class Diagram, Sequence Diagram, Collaboration Diagram, State Chart, Deployment Diagram, Use Case Diagram, Activity Diagram, Component Diagram, databázové modely (logický i fyzický)
Class Diagram, Sequence Diagram, Collaboration Diagram, State Chart, Deployment Diagram, Use Case Diagram, Activity Diagram, Component Diagram, databázové modely (logický i fyzický)
Class Diagram, Package Diagram
Validace modelů
Ne
Validace UML modelů, podpora OCL 2.0 Validace UML modelů, podpora OCL 2.0 Ne
Import/export XMI
Ne
Podporován export i import (XMI 1.1)
Podporován export i import (XMI 1.1)
Další importy/exporty
Export diagramu jako obrázek do *.bmp, *.jpg, *.gif, *.png, *.tif, *.emf
Import modelů z nástrojů Rational Rose a Rational XDE (*.mdl), tisk modelů, tvorba reportů, export modelů jako obrázek
Import modelů z nástrojů Rational Rose a Rational XDE (*.mdl), tisk modelů, Tisk modelů, export modelů jako obrázek tvorba reportů, export modelů jako obrázek
Generovani kodu – podporované jazyky
Generování kódu do jazyků Visual Basic, Generování kódu do jazyků C++ a C#, Visual C#, Visual J#, Visual C++ generování databázových skriptů
Generování kódu do jazyků Delphi Win32 a Delphi .NET, C++ a C#, generování databázových skriptů
Reverse-engineering – podporované jazyky
Kompletní reverse-engineering pro Kompletní reverse-engineering pro jazyky Visual Basic, Visual C#, Visual J#, jazyky C++ a C#, LiveSource, reverseVisual C++ engineering také pro databáze
Kompletní reverse-engineering pro jazyky Delphi Win32 a Delphi .NET, C++ Kompletní reverse-engineering pro jazyk a C#: True WYMIWYG (what you model Java is what you get), LiveSource, reverseengineering také pro databáze
Vlastnost
Ne
Generování kódu do jazyka Java
46
Nástroje pro vývoj aplikací a jejich vazba na CASE
IT_572
Vývojová prostředí (IDE) Microsoft Visual Studio 2005
Borland C++ Builder 2006
Borland Delphi 2006
Borland JBuilder 2006
Podpora týmové spolupráce
Týmová podpora u edicí Visual Studio 2005 Team Edition
Týmová podpora a verzování pomocí nástroje Borland StarTeam
Od verze Enterprise integrována týmová podpora Borland StarTeam – sdílení modelů, správa verzí, správa požadavků, …
Virtual Peer Programming, podpora Borland StarTeam – sdílení modelů, správa verzí, správa požadavků, …
Podpora zákazníka
MSDN Library, znalostní databáze, diskusní skupiny a fóra, Professional Support, Microsoft Premier Support, Microsoft certifikovaná střediska technické podpory, …
Code Central, Quality Central, znalostní databáze, diskusní skupiny a fóra, Live Chat, …
Code Central, Quality Central, znalostní databáze, diskusní skupiny a fóra, Live Chat, …
Code Central, Quality Central, znalostní databáze, diskusní skupiny a fóra, Live Chat, …
Podpora tvorby dokumentace
Ne
Automatické generování dokumentace do Automatické generování dokumentace do Automatické generování dokumentace do HTML HTML HTML
Minimální cena
Zdarma (Visual Studio 2005 Express Edition)
33 200 Kč (Borland C++ Builder 2006 Professional)
33 200 Kč (Delphi 2006 Professional)
Zdarma (JBuilder 2006 Foundation)
Maximální cena
14 776 € (Visual Studio 2005 Team Suite + MSDN Premium)
75 000 Kč (Borland C++ Builder 2006 Enterprise)
104 700 Kč (Delphi 2006 Architect)
105 000 Kč (JBuilder 2006 Enterprise)
Licenční podmínky
Krabicová licence (FPP), OPEN licence, OV licence
Osobní licence – licence na konkrétní osobu (i ve firmě), lze přesouvat mezi počítači, ale vždy s produktem smí pracovat jen jediný (licencovaný) uživatel
Osobní licence – licence na konkrétní osobu (i ve firmě), lze přesouvat mezi počítači, ale vždy s produktem smí pracovat jen jediný (licencovaný) uživatel
Osobní licence – licence na konkrétní osobu (i ve firmě), lze přesouvat mezi počítači, ale vždy s produktem smí pracovat jen jediný (licencovaný) uživatel
Vlastnost
Generování databázového modelu z UML Generování databázového modelu z UML diagramu tříd, transformace diagramu tříd, transformace logický/fyzický model databáze logický/fyzický model databáze
Speciální funkce Možnosti rozšíření
Možnost rozšíření o další pluginy
Možnost rozšíření o další pluginy
Možnost rozšíření o další pluginy
Možnost rozšíření o další pluginy
47
Nástroje pro vývoj aplikací a jejich vazba na CASE
Vývojová prostředí (IDE) – pokračování
BlueJ 2.1.3
IT_572
VisualAge for Java 3.5 (Enterprise Edition)
Vlastnost Podporované platformy
MS Windows, MacOS a ostatní platformy MS Windows 98/2000/NT 4.0, AS/400 s podporou Javy
Podporovane modely
Minimální část z UML
UML
Podporovane typy diagramů
Class Diagram
Class Diagram
Validace modelů
Ne
Ne
Import/export XMI
Ne
Import i export, hlavně ve spolupráci s Rational Rose
Další importy/exporty
Export dokumentace projektu v javadoc
Generovani kodu – podporované jazyky
Java
Reverse-engineering – podporované jazyky
Ne
Zpět do modelů v Rational Rose
Podpora týmové spolupráce
Ne
Ano, pomocí repository a řízení přístupu
Verze UML
Podpora zákazníka Podpora tvorby dokumentace
Generování dokumentace projektu v javadoc
Minimální cena
Zdarma
Maximální cena
Zdarma
Licenční podmínky
Freeware
Speciální funkce
Objektově orientované vývojové prostředí
$2 999 na jednoho vývojáře
Možnosti rozšíření
48
Nástroje pro vývoj aplikací a jejich vazba na CASE
CASE nástroje umožňující pouze modelování
IT_572
Gaphor
Vlastnost Podporované platformy
Linux/Gnome
Podporovane modely
UML
Verze UML
UML 1.0
Podporovane typy diagramů
Class Diagram, Use Case Diagram, State Chart Diagram, Komponent Diagram
Validace modelů
Ne
Import/export XMI
Export XMI
Další importy/exporty
Export do SVG, PNG
Podpora týmové spolupráce
Ne
Podpora zákazníka
Ne
Podpora tvorby dokumentace
Ne
Minimální cena
Zdarma
Maximální cena
Zdarma
Licenční podmínky
GPL (open source)
Speciální funkce
Ne
Možnosti rozšíření
Podpora skriptování
49
Nástroje pro vývoj aplikací a jejich vazba na CASE
CASE nástroje umožňující generování kódu
IT_572
myEclipse
ArgoUML
Umbrello
UniMod
Podporované platformy
MS Windows, Linux, Mac OS X
Java
Linux/KDE
Java
Podporovane modely
UML, frameworky Struts, Faces
UML
UML
UML, Switch
UML 1.0
UML 1.0
UML 1.0
Vlastnost
Verze UML
Podporovane typy diagramů
Use Case, Class, Collaboration, State, Activity, Deployment, Free, Struts/Faces flow, databázové ER diagramy (pouze reverz)
Class, Use Case, Deployment, Statechart, Activity, Collaboration
class, state, activity,sequence, collaboration, use case, component, deployment, ERD
Class diagram, Statechart, Java Finite State Machine Framework
Validace modelů
Ne
Ano
Ne
Ne
Import/export XMI
Export
Import/export
Nativně
Ne
Další importy/exporty
UMR (uml repository file), GIF, PNG, PS, EPS, SVG, tisk
GIF, PS, PNG
JPG, PNG, SVG, EPS
Ne
Generovani kodu – podporované jazyky
Java
Java
Java, PHP, Javascript, ActionScript, SQL, Ada, Python, Perl, XMLSchema, PHP5
Java
Integrace do IDE
Eclipse
Ne
Ne
Eclipse
Podpora týmové spolupráce
Ne
Ne
Ne
Ne
Podpora zákazníka
Dokumentace, tutoriály, online podpora zdarma
Forum
Forum
Forum
Podpora tvorby dokumentace
Ne
Ne
Ne
Ne
Minimální cena
Neznámá
Zdarma
Zdarma
Zdarma
Maximální cena
Neznámá
Zdarma
Zdarma
Zdarma
Licenční podmínky
Formou ročního pronájmu
Open source
GPL (open source)
LGPL (open source)
Speciální funkce
Vizuální Struts/Faces Designer
Automatická kritika nedostatků modelu
Ne
Realtime dynamická simulace statechart diagramu jako stavového stroje
Možnosti rozšíření
Connectory pro aplikační servery Bejy Tiger, JBoss, Jetty, Jonas, JRun, Oracle, Orion, Resin, Sun Java System, Tomcat, WebLogic and WebSphere
Ne
Ne
Ne
50
Nástroje pro vývoj aplikací a jejich vazba na CASE
CASE nástroje umožňující reverseengineering
IT_572
Enterprise Architect 6.1
Borland Together 2006 for Eclipse
Sybase Power Designer 12
Poseidon for UML
Podporované platformy
MS Windows, Linux
MS Windows, Linux, Mac OS X, Solaris
MS Windows x86
MS Windows 98, 2000, XP, 2003 Server, MacOS X, Linux
Podporovane modely
UML, Custom Diagram (Extended Class), Database Schema a Robustness Diagram
UML, fyzický model DB (Oracle, DB/2, Sybase, MS SQL Server)
UML, Business Process Modeling and market-leading data modeling
UML
Verze UML
UML 2.0
UML 2.0, UML 1.4 with LiveSource
UML 2.0
UML 2.0
Podporovane typy diagramů
Class Diagrams, Object Diagrams, Component Diagrams, Composite Structure Diagram, Deployment Diagrams, Package Diagram, Sequence Diagrams, Communication Diagrams, Class Diagram, Sequence Diagram, Use Interaction Overview Diagrams, Timing Case Diagram, Collaboration Diagram, Diagrams, Activity Diagrams, Use Case Activity Diagram Diagrams, State Machine Diagrams, Analysis Diagram, Custom Diagram (Extended Class), Database Schema, Robustness Diagram, Model XSD, Model WSDL
Class Diagram, Sequence Diagram, Use Case Diagram, Activity Diagram, Component Diagram
Activity Diagram , Class Diagram, Use Case Diagram, Sequence Diagram, State Machine Diagram, Deployment Diagram, Collaboration Diagram, Object Diagram
Validace modelů
Ano
Quality Assurance – audit kódu, metriky (OCL 2.0)
Import/export XMI
XMI 1.0, XMI 1.1 a XMI 1.2
XMI 1.2
Ano
XMI 1.2
Další importy/exporty
Export dokumentace v RTF a HTML, import/export XSD a WSDL
Export do obrázků, diagram layout pro tisk
XML
Tisk, export do obrázků (GIF, JPG, PNG, PS, EPS, SVG), HTML, Import of Rational Rose files (.mdl)
Generovani kodu – podporované jazyky
C++, C#, Delphi, Java, PHP, Python, Action Script, Visual Basic a VB.NET; DB2, InterBase, MS Access, MySQL, Oracle, PostgreSQL, MS SQL Server, Sybase Adaptive Server Anywhere a Firebird
Java, C++
Oracle, IBM DB/2, Microsoft SQL Server, Sybase, MySQL, NCR Teradata Java J2EE, C#, VB.NET, PowerBuilder, XML, C++, Web Services
Java, C++, C#, CORBA IDL, Delphi, Perl, PHP, SQL DDL, VB.Net
Reverse-engineering – podporované jazyky
C++, C#, Delphi, Java, PHP, Python, Action Script, Visual Basic a VB.NET; import DDL přes ODBC
Java
Oracle, Sybase, MySQL, Java, C++, C#
Java
Integrace do IDE
Eclipse, MS Visual Studio .NET při
Eclipse, MS Visual Studio .NET 2003,
Vlastnost
Eclipse
51
Nástroje pro vývoj aplikací a jejich vazba na CASE CASE nástroje umožňující reverseengineering
IT_572
Enterprise Architect 6.1
Borland Together 2006 for Eclipse
Sybase Power Designer 12
Poseidon for UML
použití produktu MDG Link for Eclipse, resp. MDG Link for Visual Studio.NET
Borland JBuilder 2005
Podpora týmové spolupráce
Repository založená na .EAP (EA Project Synchronizace, sdílení diagramů a Files) nebo na databázovém serveru, replikace, XMI import/export, kontrolou modelů mezi projekty s kontrolou verzí, verzí (hlavně SubVersion a CVS), startem elipse integrace package constrol, uživatelské role
Synchronizace
Element locking, serverová podpora, synchronizace
Podpora zákazníka
Email, Consultants and VAR’s, User Code Central, Quality Central, znalostní Forum, On-line Resources, Request a databáze, diskusní skupiny a fóra, Live feature, Sales and General Enquires, FAQ Chat, …
Telephone access to our Technical Support organization, online suport, konzultace
Viewlets – krátké instruktážní filmy popisující znaky programu, e-mail form Support from the Gentleware help desk via email
Podpora tvorby dokumentace
Export do RTF a HTML
HTML
MS Excel, HTML, RTF
HTML, MS Word
Minimální cena
$95 za Desktop edici při nákupu nad 100 licencí. Při nákupu 1–4 licencí to je $135
31 500 Kč (Borland Together 2006 for Eclipse Developer)
$2 995
69 € (Student verze)
Maximální cena
$335 1–4 licence (Corporate edition) – Floating License, nad 100 licencí je to $265
157 300 Kč (Borland Together 2006 for Eclipse Architect)
$7 495
2 990 €
Licenční podmínky
Single-user named licence – normál pro jedno PC / Enterprise licensing – Organizace si nakoupí určitý počet licencí, které jsou spravovány Borland Licence serverem.
Server/Seats – v rámci organizace, počet uživatelů CPU – normální single user
Single User License/Concurrent User License
Speciální funkce
Vytváření end2end business procesů, Query View Transformation (QVT), Object Constraint Language (OCL), Model Driven Architecture (MDA) technology, Rose and XDE Model Import, Pattern definition project – vytváření modelů a předloh v UML 2.0
Customizable GUI, Meta-data management
Automatic Class Diagram layout
StarTeam 2005 Integration Module, The CaliberRM Java klient, BEA WebLogic Workshop
Pluginy od Eclipse, PowerBuilder and Visual Studio
SOL UML Debugger, The AndroMDA, The Requirements Engineering plug-in
Vlastnost
Možnosti rozšíření
Je možno vyvinout vlastní pluginy v Borland Delphi, MS Visual Basic a v MS Visual Studiu .NET
52
Nástroje pro vývoj aplikací a jejich vazba na CASE
CASE nástroje umožňující reverseengineering – pokračování
IT_572
Visual paradigm SDE
Java Studio Creator
UMLStudio 7.1
Visual UML 4.3 developer edition
Podporované platformy
MS Windows, Linux and Mac OS/X
Solaris (x86/Sparc), Windows,Redhat Enterpise Linux, Mac OS X
MS Windows
MS Windows
Podporovane modely
UML, Enterprise JavaBeans
Page Design, SQL, Java Faces page navigation
UML, Booch, Data Flow
UML
Verze UML
UML 2.0
Ne
Vlastnost
UML 1.3, UML 1.4, některé z UML 2.0 Activity, Class, Collaboration, Component, Deployment, Object, Package, Sequence, State (Machine), Use Case, Robustness, Interaction Overview, Data Modeling, Web Application Modeling (Conallen), Business Object Modeling, XML(Carlson), Robustness Modeling
Podporovane typy diagramů
Use Case, Class, Sequence, Communication, State, Activity, Component, Deployment, Object, Package, Composite Structure, Timimg, Interaction Overview
XHTML/CSS/EJB komponenty, SQL query editor, Java Faces page navigation
Class Diagram Use-case Diagram Sequence Diagram Collaboration Diagram State Diagram Activity Diagram (and Swimlanes) Implementation Diagram Customized Diagram (web design)
Validace modelů
Ne
Ano
Ne
Import/export XMI
Import i export XMI
Ne
Ne
XMI versions 1.0 & 1.1 (UML 1.3 Metamodel)
Další importy/exporty
Import Rational Rose Projects, HTML/PDF reporty, tisk diagramů, export diagramů jako obrázek
Export do HTML, RTF
Export do EMF, WMF, BMP, JPEG, TIFF, PCX, GIF, HTML a Windows Clipboard
Generovani kodu – podporované jazyky
Java
Java, XHTML, CSS, JSP, Jfaces, Oracle, IBM DB/2, MSSQL 2003, Sybase ASE, MySQL 5
C++, Java, CORBA IDL, Ada 95, HTML,RTF
C++, VB, C#, Java, Visual Basic.NET
Reverse-engineering – podporované jazyky
Java Source, Java Class, C++ Source, .NET DDL or EXE files, CORBA IDL Source, Ada 9x Source, XML, XML Schema, JDBC, Hibernate, PHP 5.0 Source
Java, XHTML, CSS, JSP, Jfaces, Oracle, IBM DB/2, MSSQL 2003, Sybase ASE, MySQL 5
C++, Java, CORBA IDL
VB, C#, Java, Visual Basic.NET
Integrace do IDE
Visual Studio, Eclipse/WebSphere, Borland JBuilder, NetBeans/Sun ONE, IntelliJ IDEA, Oracle JDeveloper, BEA WebLogic Workshop
Postaveno na NetBeans IDE
Ne
Visual Basic 6, Visual Studio.NET 2002, 2003, 2005
Podpora týmové spolupráce
Porovnávání, slučování, řeení konfliktů, verzování
Verzování přes CVS, VSS
Podpora přes UML Server
53
Nástroje pro vývoj aplikací a jejich vazba na CASE CASE nástroje umožňující reverseengineering – pokračování
IT_572
Visual paradigm SDE
Java Studio Creator
UMLStudio 7.1
Visual UML 4.3 developer edition
Podpora zákazníka
Web live help, email, placená podpora
Bug reporting, comunitní forum, placená pomoc ($100 za incident), komplexní servisní podpora
Email
Podpora tvorby dokumentace
Generování HTML/PDF a ad-hoc dokumentace
JavaDoc
Ano
Minimální cena
Zdarma
Zdarma
$125
$295
Maximální cena
$2 182
Zdarma
$500
$495
Licenční podmínky
Různé edice, možnost floating licencí, placená podpora
Nekomerční licence
Různé edice (komerční, vzdělávací ...)
Dvě edice, Standard a Developer
Speciální funkce
Realtime synchronizace modelu
Visuální návrh Jfaces navigace
Možnost vytvoření vlastní notace i vzhledu symbolů
Možnosti rozšíření
Podpora pluginů
Ne
Vlastnost
54
Nástroje pro vývoj aplikací a jejich vazba na CASE
7
Použité zdroje
[1]
Enterprise Architect 6.1: http://www.sparxsystems.com/bin/EA.chm
[2]
The BlueJ Tutorial verze 1.4 pro BlueJ verzi 1.2.x: http://www.bluej.org/tutorial/tutorial-czech.pdf
[3]
BlueJ: http://www.bluej.org/
[4]
Programming with VisualAge for Java version 3.5: http://www.redbooks.ibm.com/redbooks/pdfs/sg245264.pdf
[5]
Microsoft Visual Studio 2005: http://msdn.microsoft.cz/vstudio/, http://msdn.microsoft.com/vstudio/
[6]
Borland Delphi 2006, Borland JBuilder 2006, Borland C++Builder 2006: http://www.borland.cz/products/ide.html
[7]
Borland Developer Studio 2006 Reviewer’s Guide: http://www.borland.com/resources/en/pdf/white_papers/bds_reviewersguide.pdf
[8]
Borland Together 2006 for Eclipse: http://www.borland.cz/products/together/
[9]
MyEclipse: http://www.myeclipseide.com/
IT_572
[10] Visual Paradigm SDE: http://www.visual-paradigm.com/ [11] ArgoUML: http://argouml.tigris.org/ [12] Gaphor: http://gaphor.sourceforge.net/ [13] Umbrello: http://uml.sourceforge.net/ [14] Java Studio Creator: http://developers.sun.com/prodtech/javatools/jscreator/ [15] UniMod: http://unimod.sourceforge.net/ [16] Sybase PowerDesigner 12: http://www.sybase.com/products/developmentintegration/powerdesigner [17] Poseidon for UML: http://gentleware.com/poseidon_for_uml.0.html [18] UMLStudio: http://www.pragsoft.com/ [19] Visual UML: http://www.visualobject.com/products.htm
55