Nástroje pro vývoj aplikací a jejich vazba na CASE. 1 Úvod... 6 2 Vývojová prostředí (IDE)... 7. 3 CASE nástroje umožňující pouze modelování...



Podobné dokumenty
UML a jeho použití v procesu vývoje. Jaroslav Žáček jaroslav.zacek@osu.cz

UML: Unified Modeling Language

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

Novinky ve Visual Studio Tomáš Kroupa

7 Jazyk UML (Unified Modeling Language)

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

7 Jazyk UML (Unified Modeling Language)

Tabulka základních vlastností nástroje C++Builder dle edice

UML. Unified Modeling Language. Součásti UML

Využití modelovacích nástrojů ve vývojářské firmě

CASE nástroje. Jaroslav Žáček

Nástroje pro tvorbu wireframes

Nástroje pro vývoj aplikací v závislosti na platformě a jejich vazba na CASE

Úvod. Únor Fakulta informačních technologií VUT. Radek Kočí Seminář Java Úvod 1/ 23

Unifikovaný modelovací jazyk UML

Využití CASE nástrojů ve vývojářské firmě

Nové vývojové nástroje i5/os Rational Developer for System i V7.1

UML - opakování I N G. M A R T I N M O L H A N E C, C S C. Y 1 3 A N W

Obsah. Zpracoval:

Modelem řízený vývoj. SWI 1 Jan Kryštof

TÉMATICKÝ OKRUH Softwarové inženýrství

CASE nástroje pro jazyk UML

SQL Server Data Tools (SSDT) RNDr. David Gešvindr MVP: Azure MCSE: Data Platform MCSD: Windows Store

Komponentový návrh SW

PHP framework Nette. Kapitola Úvod. 1.2 Architektura Nette

CASE. Jaroslav Žáček

Vývoj informačních systémů. Přehled témat a úkolů

Převod 4GL aplikací do webového prostředí. Ing. Jan Musil, IBM ČR Community of Practice for

Vývoj informačních systémů. Přehled témat a úkolů

MBI - technologická realizace modelu

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320

Semináˇr Java X J2EE Semináˇr Java X p.1/23

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek

Business Intelligence

Compatibility List. GORDIC spol. s r. o. Verze

O projektu Nasazení OpenOffice.org v praxi

Nástroje pro vývoj aplikací a jejich vazba na CASE

Obsah. 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody

1. Úvod do Ajaxu 11. Jak Ajax funguje? 13

Úvod. Leden Fakulta informačních technologií VUT. Radek Kočí Seminář Java Úvod 1/ 22

Požadavky pro výběrová řízení TerraBus ESB/G2x

Techniky a CASE nástroje vývoje IS přednáškový blok 3

Nové jazykové brány do Caché. Daniel Kutáč

Vysoká škola ekonomická v Praze

Úvod. Petr Aubrecht (CA) Martin Ptáček (Wincor Nixdorf) Je 10 typů lidí: ti, kteří znají binární kód, a ti, kteří ne.

Použití CASE ve vývojářské firmě

Softwarové komponenty a Internet

Procesní dokumentace Process Management. Pavel Čejka

Matematika v programovacích

Analýza a Návrh. Analýza

1. Webový server, instalace PHP a MySQL 13

X36SIN: Softwarové inženýrství. Životní cyklus a plánování

Modelování procesů s využitím MS Visio.

TECHNIKY A CASE NÁSTROJE VÝVOJE IS

Nástroje pro vývoj aplikací v závislosti na platformě a jejich vazba na CASE

Seznámení s prostředím dot.net Framework

Základy analýzy. autor. Jan Novotný února 2007

Proces vývoje HRIS Vema (Human Resources Information System) Jaroslav Šmarda

InterSystems Caché Post-Relational Database

Přehled nástrojů CASE na tuzemském trhu v prvním pololetí roku 2006

Připravil: Ing. Vít Ondroušek, Ph.D. Technologie.Net Framework

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

Elektronická podpora výuky předmětu Komprese dat

Telelogic Focal Point využití pro řízení a optimalizaci projektového portfolia Verze 1.0

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

VYUŽITÍ REGIONÁLNÍCH FUNKCÍ A WWW ROZHRANÍ V INTEGROVANÉM KNIHOVNÍM SYSTÉMU KPWINSQL

SharePoint 2010 produktové portfolio a licencování

ADMINISTRACE POČÍTAČOVÝCH SÍTÍ. OPC Server

VYUŽITÍ MDA PRO INTEGROVANÝ VÝVOJOVÝ NÁSTROJ QI BUILDER

Informační systémy 2008/2009. Radim Farana. Obsah. Nástroje business modelování. Business modelling, základní nástroje a metody business modelování.

Přehled CASE nástrojů na tuzemském trhu

Olga Rudikova 2. ročník APIN

Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb:

Principy UML. Clear View Training 2005 v2.2 1

Wonderware Historian 10.0

Statistica, kdo je kdo?

TÉMATICKÝ OKRUH Softwarové inženýrství

4IT450 CASE - Computer Aided Systems Engineering

Communist Party of Nepal (Unified Marxist-Leninist) Unified Modeling Language University of Massachusetts Lowell User-mode Linux.

Semestrální práce CASE. aplikací a jejich vazba na CASE. Luboš Harášek;Filip Kroupa;Barbora Matoušková;Petr Pravlovský

Project management. Příprava projektu Zahájení High level plánování. Vykonávání Detailní plánování Vykonávání Řízení a monitorování

Microsoft Office 2003 Souhrnný technický dokument white paper

Vysoká Škola Ekonomická - Fakulta informatiky a statistiky. 4IT450 CASE Computer aided systems engineering

Programovací jazyky Přehled a vývoj

Možnosti propojení Lotus Notes/Domino a jiných systémů. Ondřej Fuxa Your System spol. s r.o.

Tvorba podnikových aplikací v jazyce JAVA. Josef Pavlíček KII PEF CZU

Návrh IS - UML. Jaroslav Žáček

INSTALACE PRODUKTU ONTOPIA KNOWLEDGE SUITE

Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace

Plug-in pro správu požadavků a sledování postupu vývoje

IS pro podporu BOZP na FIT ČVUT

Tieto přináší nové příležitosti v IT.

Návrh IS - UML. Jaroslav Žáček

Wonderware Information Server 4.0 Co je nového

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o.

Transkript:

Nástroje pro vývoj aplikací a jejich vazba na CASE Semestrální práce na předmět Vypracovali: Ondřej Válek David Páter Roman Svoboda David Markalous Tomáš Pobuda Datum: Květen 2006

Obsah 1 Úvod... 6 2 Vývojová prostředí (IDE)... 7 2.1 Microsoft Visual Studio 2005... 7 2.1.1 Obecné informace... 7 2.1.2 Přehled edicí... 7 2.1.3 Visual Studio 2005 a CASE nástroje... 8 2.2 Borland C++ Builder 2006... 10 2.2.1 ECO III... 10 2.2.2 Borland Together... 11 2.3 Borland Delphi 2006... 12 2.3.1 Obecné informace... 12 2.3.2 Přehled edicí... 13 2.3.3 Borland Delphi 2006 a CASE nástroje... 14 2.4 Borland JBuilder 2006... 16 2.4.1 Obecné informace... 16 2.4.2 Přehled edicí... 16 2.4.3 Borland JBuilder 2006 a CASE nástroje... 17 2.5 BlueJ... 18 2.6 VisualAge for Java 3.5... 20 3 CASE nástroje umožňující pouze modelování... 21 3.1 Gaphor... 21 4 CASE nástroje umožňující generování kódu... 22 4.1 MyEclipse... 22 4.2 Umbrello... 24 4.3 ArgoUML... 25 4.4 UniMod... 26 5 CASE nástroje umožňující reverse-engineering... 27 5.1 Visual Paradigm SDE... 27 5.2 Java Studio Creator... 29 5.3 Enterprise Architect 6.1... 30 5.3.1 Role v projektu... 30 5.3.2 UML... 30 5.3.3 MDA... 31 5.3.4 Datové modelování... 31 5.3.5 XMI... 32 5.3.6 Integrace do IDE a Code Engineering... 32 5.3.7 Týmová podpora... 32 5.3.8 Tvorba dokumentace... 32 5.3.9 Rozdíly mezi edicemi... 33 5.4 Borland Together 2006 for Eclipse... 34 2

5.4.1 Borland Together 2006 přehled edicí... 34 5.5 Sybase PowerDesigner 12... 36 5.6 Poseidon for UML... 41 5.7 UMLStudio 7.1... 43 5.7.1 Hlavní vlastnosti... 43 5.7.2 Změny oproti verzi 7.0... 43 5.8 Visual UML 4.3 Developer Edition... 44 5.8.1 Hlavní vlastnosti... 44 6 Závěr... 45 7 Použité zdroje... 55 3

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

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

1 Ú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

2 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

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

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

2.2 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

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

2.3 Borland Delphi 2006 2.3.1 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

2.3.2 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

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

Obrázek 5: Výběr UML diagramů v Delphi 2006 Obrázek 6: Class Diagram v Delphi 2006 15

2.4 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

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

2.5 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

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

2.6 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

3 CASE nástroje umožňující pouze modelování 3.1 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

4 CASE nástroje umožňující generování kódu 4.1 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

Obrázek 10: MyEclipse Struts 23

4.2 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

4.3 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

4.4 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

5 CASE nástroje umožňující reverse-engineering 5.1 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

Obrázek 15: Visual Paradigma SDE Activity Diagram 28

5.2 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

5.3 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

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

5.3.5 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

5.3.9 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

5.4 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

Tabulka 5: Borland Together 2006 srovnání edicí 35

5.5 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

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

Tabulka 6: PowerDesigner 12 srovnání edicí 38

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 Support Coverage Normal Business Hours X X X 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 Number of Cases unlimited unlimited unlimited unlimited unlimited single or pack Enterprise Support Team X X Response Time P1<30 min P1<1 hr P1<4 hrs P1<30 min P1<4 hrs P1<4 hrs Priority Case Escalation X X Electronic Support Technical Documents X X X X X X Newsgroups X X X X X X Electronic Case Management Electronic Software Distribution X X X X X X X X X X X X Email Notification X X X X X X Software Services Enhancement Releases X X X option option option Maintenance Releases priority X X priority electronic electronic Personalized Support 39

Enterprise Extended Basic Enterprise Developer Developer Incident Account Management X X Review Meetings X X Alliance Support option option Alliance Dedicated Support option option Privilege Support option option 40

5.6 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

Feature Community Edition 4.1 Standard Edition 4.1 Professional Edition 4.1 Embedded Enterprise 4.1 Enterprise Edition 4.1 JAR Import + + + MDL Import + + + Changeable Code Templates + + + C++ Generation + + + 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

5.7 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

5.8 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

6 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

Vývojová prostředí (IDE) Vlastnost 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ý) 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) Ne Class Diagram, Package Diagram Další importy/exporty Generovani kodu podporované jazyky Reverse-engineering podporované jazyky Export diagramu jako obrázek do *.bmp, *.jpg, *.gif, *.png, *.tif, *.emf Generování kódu do jazyků Visual Basic, Visual C#, Visual J#, Visual C++ Kompletní reverse-engineering pro jazyky Visual Basic, Visual C#, Visual J#, Visual C++ Import modelů z nástrojů Rational Rose a Rational XDE (*.mdl), tisk modelů, tvorba reportů, export modelů jako obrázek Generování kódu do jazyků C++ a C#, generování databázových skriptů Kompletní reverse-engineering pro jazyky C++ a C#, LiveSource, reverseengineering také pro databáze Import modelů z nástrojů Rational Rose a Rational XDE (*.mdl), tisk modelů, tvorba reportů, export modelů jako obrázek Generování kódu do jazyků Delphi Win32 a Delphi.NET, C++ a C#, generování databázových skriptů Kompletní reverse-engineering pro jazyky Delphi Win32 a Delphi.NET, C++ a C#: True WYMIWYG (what you model is what you get), LiveSource, reverseengineering také pro databáze Tisk modelů, export modelů jako obrázek Generování kódu do jazyka Java Kompletní reverse-engineering pro jazyk Java 46

Vývojová prostředí (IDE) Vlastnost Microsoft Visual Studio 2005 Borland C++ Builder 2006 Borland Delphi 2006 Borland JBuilder 2006 Podpora týmové spolupráce Podpora zákazníka Podpora tvorby dokumentace Minimální cena Maximální cena Licenční podmínky Speciální funkce Týmová podpora u edicí Visual Studio 2005 Team Edition MSDN Library, znalostní databáze, diskusní skupiny a fóra, Professional Support, Microsoft Premier Support, Microsoft certifikovaná střediska technické podpory, Ne Zdarma (Visual Studio 2005 Express Edition) 14 776 (Visual Studio 2005 Team Suite + MSDN Premium) Krabicová licence (FPP), OPEN licence, OV licence Týmová podpora a verzování pomocí nástroje Borland StarTeam Code Central, Quality Central, znalostní databáze, diskusní skupiny a fóra, Live Chat, Automatické generování dokumentace do HTML 33 200 Kč (Borland C++ Builder 2006 Professional) 75 000 Kč (Borland C++ Builder 2006 Enterprise) 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 Generování databázového modelu z UML diagramu tříd, transformace logický/fyzický model databáze Od verze Enterprise integrována týmová podpora Borland StarTeam sdílení modelů, správa verzí, správa požadavků, Code Central, Quality Central, znalostní databáze, diskusní skupiny a fóra, Live Chat, Automatické generování dokumentace do HTML Virtual Peer Programming, podpora Borland StarTeam sdílení modelů, správa verzí, správa požadavků, Code Central, Quality Central, znalostní databáze, diskusní skupiny a fóra, Live Chat, Automatické generování dokumentace do HTML 33 200 Kč (Delphi 2006 Professional) Zdarma (JBuilder 2006 Foundation) 104 700 Kč (Delphi 2006 Architect) 105 000 Kč (JBuilder 2006 Enterprise) 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 Generování databázového modelu z UML diagramu tříd, transformace logický/fyzický model databáze 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 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