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

Transkript

Nástroje pro vývoj aplikací a jejich vazba na CASE
IT_572 - Prostředky CASE a jejich využití při tvorbě IS
Nástroje pro vývoj aplikací a jejich vazba na CASE
Pavel Dušánek
Felix Espinoza
Vladimír Jelínek
Aleš Kotek
Obsah
Úvod...........................................................................................................................................................3
Zkoumané vlastnosti CASE nástrojů ....................................................................................................3
IDE (vývojová prostředí) ...........................................................................................................................6
Eclipse ...................................................................................................................................................6
Eclipse EMF.................................................................................................................................. 6
Vztah EMF k UML (Unified Modeling Language).................................................................. 7
Vztah EMF k OMG MOF (Meta Object Facility) .................................................................... 7
Eclipse UML2 ............................................................................................................................... 7
Zdroje ............................................................................................................................................ 7
.NET ......................................................................................................................................................7
Visual Studio................................................................................................................................. 8
Visual Studio Express products ................................................................................................ 8
Visual Studio Standard a Professional Edition ......................................................................... 9
Visual Studio Team System...................................................................................................... 9
Visual Studio Team Foundation Server .................................................................................... 9
Zdroje .......................................................................................................................................... 10
CASE nástroje..........................................................................................................................................11
Visual Paradigm for UML...................................................................................................................11
Zdroje .......................................................................................................................................... 13
Poseidon for UML...............................................................................................................................15
Zdroje .......................................................................................................................................... 16
Power Designer ...................................................................................................................................17
Zdroje .......................................................................................................................................... 19
Together Edition 2006.........................................................................................................................20
Zdroje .......................................................................................................................................... 21
Select Component Architect................................................................................................................21
Zdroje .......................................................................................................................................... 24
PROSA UML 2004 Programmer Edition ...........................................................................................25
Zdroje .......................................................................................................................................... 27
UMLStudio..........................................................................................................................................28
Zdroje .......................................................................................................................................... 30
Visual UML Developer Edition ..........................................................................................................31
Zdroje .......................................................................................................................................... 32
Závěr ........................................................................................................................................................33
Matice integrace CASE do IDE ..........................................................................................................33
Úvod
Zkoumané vlastnosti CASE nástrojů
Podporované platformy - nejzákladnější kritérium, je velmi důležité pod jakým operačním
systémem je daný CASE nástroj schopen pracovat. V úvahu přicházejí většinou Windows XP,
98, 2000, NT nebo operační systémy typu UNIX.
Podporovaná verze UML - notace UML (Unified Modelling Language), se v současné době
stává standardem pro interpretaci objektových metodik. Dnes je UML nejrozšířenější
používanou objektovou notací, na jejíž základech stojí většina nabízených CASE systémů. Za
pár let své existence doznalo UML několik rozšíření a modifikací jako například zavedení OCL
(Object Constraint Language) a prostředků pro business modelování. Zatím poslední verze je
2.0.
Podporované typy digramů - typy diagramů jsou z velké části dány podporou notace UML.
Tato notace obsahuje např. tyto diagramy: diagram případů užití (use case diagram), sekvenční
diagram (sequence diagram), diagram spolupráce (collaboration diagram), diagram tříd (class
diagram), stavový diagram (state transition diagram), diagramy aktivit (activity diagram),
diagram komponent (component diagram), diagram nasazení (deployment diagram). Většina
CASE nástrojů však jde mnohem dále a nabízí ještě k použití např. modely pro datové
modelování, modelování procesů a další.
Podpora a kompatibilita importu/exportu z/do standardního formátu XMI (XML
Metadata Interchange) - XMI je standard OMG, který propojuje modelování s XML. Definuje
cestu jak popsat objekty modelu v XML dokumentech. Struktura XMI dokumentu odpovídá
modelu, elementy mají stejná jména a hierarchii. Jeho primárním úkolem je umožnit snadnou
výměnu metadat modelu. Je mnoho případů, kdy konkrétní CASE umí sice exportovat do XMI,
ale konkurenční nástroj nedokáže z tohoto souboru importovat. Tento formát je ale zatím
jediným způsobem, jak mohou (nebo zatím nemohou) konkurenční CASE nástroje
spolupracovat. Výrobci však nemají příliš velký zájem o tuto spolupráci, proto asi vývoj v této
oblasti nebude patřit k těm nejrychlejším. Do budoucna však považujeme toto kritérium za
důležité, a proto jej nemůžeme vynechat.
•
•
•
Uživatelská přítulnost a použitelnost - uživatelskou přítulností a použitelností se rozumí
uživatelské prostředí, jednoduchost, pochopitelnost, přívětivost nebo i např. zpracováním
dokumentace. Při profesionálním použití se u takovéhoto nástroje tráví mnoho času a více než
důležité zajistit, aby se tento zbytečně neprodlužoval. Cokoliv může usnadnit práci nebo ji
urychlit (byť jen o desetinu sekundy) se v celkovém čase zúročí. Výrazně může ušetřit práci
použití tzv. horkých kláves nebo pokud editor disponuje funkcí UNDO?
Podpora generování a reverse engineeringu kódu programovacích jazyků - reverse
engineering je možnost, jak zahrnout do analýzy či návrhu systému již hotový zdrojový kód.
Ten se procesem reverse engineeringu transformuje do diagramů. Celé diagramy nebo jejich
části lze potom považovat za součást návrhu systému. Takhle lze "vykrádat" již hotové grafické
knihovny či části jiných systémů a šetří se čas. Podpora round-trip engineering kódu ve
vývojových nástrojích znamená, že nástroj je schopen vzájemně synchronizovat vygenerovaný
programový kód a model.
Integrace do vývojových prostředí - je jedním z nejdůležitějších kritérií v posuzování CASE
nástrojů v této práci. Každý, kdo si chce pořídit kvalitní CASE a plně ho uplatnit v praxi při
vývoji softwaru, měl by klást důraz právě na toto kritérium. Před vyslovením otázky na
integraci je nutné si uvědomit, zda od nástroje požadujeme, aby se stal jednou částí
technologické linky vývoje projektu. V tomto případě musí existovat návaznosti na ostatní
nástroje. Ne každý projekt však právě tohle potřebuje. Nejnižším stupněm integrace může být
generování nebo reverse engeneering. Plná integrace je většinou podporovaná až u dražších a
robustnějších nástrojů nebo u velkých „balíků“ na vývoj software.
•
•
•
•
•
•
Rozšiřitelnost - neexistuje CASE, který by vyhověl všem projektům a všem nárokům
uživatelů. Každý projekt vyžaduje určité úpravy nástrojů. Praxe říká, že mnoho projektů nebylo
úspěšně dokončeno, protože vývojové nástroje nebylo možné přizpůsobit potřebám projektu. Je
velice výhodné, když CASE disponuje nějakým jazykem, kterým je jej možné upravovat. Ještě
lépe, když jsou s nástrojem dodávány zdrojové kódy jeho modulů nebo jeho repository užívá
standardní rozhraní (např. OLE2). Potom už není problém vytvořit si například vlastní
generátor. Stačí se podívat, jak je udělán generátor jiný. Teprve však nad dostatečně kvalitní a
otevřenou repository lze provádět customizaci.
Podpora činnosti v týmu, repository - jádro každého CASE spočívá v repository. Ta musí být
dostatečně robustní, aby zvládla velké projekty či mnoho uživatelů najednou (pokud to
vyžaduje váš projekt), musí mít dostatečně rychlou odezvu, musí být přenosná mezi
platformami (jestliže se projekt vyvíjí na více platformách). Některé CASE mají souborově
založenou repository, ale většina databázově. Je důležité, na jaké DB platformě může být
repository založena, popř. zda může být založena na více DB platformách. Činnost týmu může
být podpořena i systémem přístupových práv.
Podpora verzovaní - pokud na projektu pracuje více lidí, je téměř jisté, že budou sdílet
jednotlivé komponenty modulu. Jeli projekt rozsáhlejší, je zřejmé, že jedna komponenta může
být dále rozvíjena více směry (např. kvůli potřebě různých pohledů na realitu). Je proto nutné
komponenty vývoje sdílet a verzovat. Je vhodné, aby verzování bylo jak vertikální, tak
horizontální (tedy aby komponenta např. diagram alfa.1 měl další vertikální verzi alfa.2, ale
také horizontální verzi alfa.1.1). Tak vzniká určitá síť verzí, která umožňuje kvalitnější práci.
Verzování může být zajištěno jak nadstavbovým programem nebo integrovaným systémem.
Podpora od výrobce, komunity uživatelů, ... - bez podpory od výrobce je jen velmi malá
pravděpodobnost, že si tento CASE někdo vybere. Podpora může mít různou formu. Může se
jednat o nejjednodušší formu podpory přes webové stránky výrobce, komunikaci emailem,
telefonem nebo může představovat i složité systémy call center a technické podpory s
garantovaným časem vyřešení problému. Neoficiální formou mohou být nejrůznější komunity
uživatelů na Internetu.
Podpora modelování databází - pokud má CASE nástroj možnost datového modelování,
může také generovat datový model. Generuje jej také pro DB platformu, na které bude postaven
systém, který chceme vyvíjet? Popřípadě, generuje jej do obecného sql jazyka, aby mohl být
vytvořen na různých DB platformách? Dokáže CASE generovat (spolupracovat) přímo s
určitým databázovým systémem např. přes ODBC.
Tvorba dokumentace v CASE nástroji a výstupní podoba - CASE by měl mít možnost
generovat dokumentaci, založenou na určitých pravidlech. Kvalitní CASE mají možnost
dopředu specifikovat, co má být v dokumentaci obsaženo, takže lze vytvářet různou
dokumentaci např. pro manažery a pro testery. Výstupní formou je nejčastěji HTML nebo XML
dokument. Samozřejmý je i výstup do nějakého běžného textového formátu jako např. doc nebo
rtf. Požadavkem na dokumentaci je automatická aktualizace při jakékoliv změně v jednotlivých
modelech.
•
Cena - k tomuto kritérium není nutné nic dodávat.
IDE (vývojová prostředí)
Eclipse
Eclipse je open source komunita, jejíž projekty jsou zaměřeny na poskytování na výrobci neutrální
otevřené vývojové platformy a aplikačních frameworků pro vytváření aplikací. Eclipse Foundation je
nezisková organizace napomáhající tvorbě, vývoji, propagaci a podpoře Eclipse Platform a kultivaci
jak open source komunity tak doplňujících produktů, vlastností a služeb.
Následuje popis Eclipse projektů, které mají přímou vazbu k vývojovým CASE nástrojům.
Eclipse EMF
EMF je framework pro modelování a generování kódu. V rámci Eclipse EMF poskytuje prostředky
pro transformaci modelu do javovských tříd a naopak.
EMF používá pro definici modelu XMI 2.0. Je několik cest jak dostat model do této formy:
•
přímá editace modelu v EMF, který obsahuje jednoduchý stromový editor nebo použít (free)
EclipseUML grafický editor od firmy Omondo1.
•
„ruční“ vytvoření XMI dokumentu za použití XML nebo textového editoru (pro XML guru),
•
export/import XMI dokumentu z modelovacího nástroje (nejjednodušší v případě kdy je takový
nástroj k dispozici),
•
prozkoumáním
programátory),
•
použití XML Schematu k popisu formy serializace modelu (uplatní se zejména při vytváření
aplikace, která musí číst a/nebo zapisovat konkrétní XML formát).
okomentovaných
javovských
rozhraní
(jednoduché
řešení
pro
Java
Když je EMF model vytvořen, může EMF generátor vytvořit odpovídající javovské třídy. Ty mohou
být následně editovány, přidávány metody a proměnné, které se promítnou zpět do modelu.
Nejdůležitější je, že EMF poskytuje základ pro interoperabilitu s dalšími nástroji a aplikacemi
založenými na EMF.
Tři základní části EMF jsou:
•
•
•
EMF – Jádro EMF frameworku obsahuje metamodel (Ecore) pro popis modelů a běhovou
podporu pro modely, zahrnující upozornění na změny modelu, podporu perzistence s XMI
serializací a API pro obecnou manipulaci s EMF objekty.
EMF.Edit – Framework obsahující obecné třídy pro vytváření editorů EMF modelů.
EMF.Codegen – Prostředek schopný generování všeho potřebného, tak aby bylo možno
vytvořit kompletní editor pro EMF model. Obsahuje GUI ve kterém mohou být specifikovány
volby pro generování a mohou být spouštěny generátory.
Jsou podporovány tři základní úrovně generování kódu:
1. Model – poskytuje javovská rozhraní a implementační třídy pro všechny třídy v modelu, plus
2. Adaptéry – generuje implementační třídy, které adaptují třídy modelu pro editaci a zobrazení.
1 http://omondo.com
3. Editor – produkuje strukturovaný editor, který odpovídá doporučovanému stylu pro Eclipse
EMF model editoru a slouží jako počáteční bod pro přizpůsobování.
Všechny generátory podporují regeneraci kódu se zachováním uživatelských modifikací. Generátory
mohou být spouštěny z GUI nebo z příkazové řádky.
Vztah EMF k UML (Unified Modeling Language)
UML je nejpoužívanější standard pro popis objektových systémů. UML vychází z toho, že
komplexní systémy nelze popsat jedním pohledem, ale pouze několika pohledy z různých stran. Proto
obsahuje různé diagramy modelu. EMF ze zabývá pouze jedním aspektem UML, modelováním tříd.
Vztah EMF k OMG MOF (Meta Object Facility)
EMF začal jako implementace MOF specifikace, ale na základě zkušeností s implementací mnoha
nástrojů, které ho používají, se vyvinul do dnešní podoby. Na EMF lze pohlížet jako na vysoce
efektivní javovskou implementaci základní podmnožiny MOF API. Aby nedocházelo ke zmatení je
matamodel v EMF nazýván Ecore.
MOF a Ecore mají mnoho podobných vlastností pro popis tříd, jejich struktury, chování, dědičnosti.
Liší se v oblasti životního cyklu, datových typů a komplexních aspektů asociací.
V MOF 2.0 je vyčleněna podobná podmnožina nazývaná EMOF (Essential MOF). Mezi Ecore a
EMOF jsou malé rozdíly, většinou jen v názvech. EMF může transparentně číst a zapisovat serializace
EMOFu.
Eclipse UML2
Dalším Eclipse projektem, který má úzký vztah k CASE nástrojům je UML2. Jedná se o
implementaci UML2 založenou na EMF. Cíle projektu jsou poskytnutí použitelné implementace UML
2.0 metamodelu podporující vývoj modelovacích nástrojů, společné XMI schema k ulehčení výměny
modelů, testování a validování modelů.
UML2 obsahuje jednoduché rozhraní pomocí kterého lze vytvářet modely v podobě stromové
struktury jednotlivých elementů.
Zdroje
Eclipse - http://eclipse.org
Eclipse EMF - http://http://eclipse.org/emf/
Eclipse UML2 - http://eclipse.org/uml2/
.NET
Technologie .NET je primárně určena pro vývoj aplikací komunikujících v rámci sítě internet. Celé
řešení staví na otevřených formátech, především pak na XML, jež umožňuje universální výměnu dat.
Přestože .NET lidé neustále vnímají jako technologii nerozlučně spjatou s Windows, lze ji
implementovat i nad jinými operačními systémy, a tak se lze setkat i se snahou o implementaci na
linuxových operačních systémech (např. iniciativa MONO). Tuto nezávislost zajišťuje skutečnost, že
aplikace může být psána v různých programovacích jazycích, neboť zdrojový kód je kompilován
nejprve do MSIL, který respektuje uvedené CLS (Common Language Specification). Spuštění probíhá
v režii CLR, který využívá již konkrétní sady instrukcí procesoru a mezikód převádí do nativního
(např. ve Windows do klasického *.exe) To vše probíhá v rámci .NET Frameworku, což je vlastně
obdoba JVM (Java Virtual Machine) a pro lepší představu přikládáme nástin architektury
frameworku.
Z druhého obrázku je pak patrné, že technologie .NET je skutečně připravena k integraci s různými
vývojovými nástroji. Jediným požadavkem je, aby nástroj byl schopen generovat MSIL. Výhody
zmíněného přístupu jsou nesporné, programátoři mohou vyvíjet svou část aplikace v nejvhodnějším
prostředí, přičemž integrace se zbývajícími částmi je zaručena. Vzhledem ke skutečnosti, ze informace
o programu jsou ukládány společně s kompilovaným kódem, odpadá nutnost do databáze registru (platí
pro MS Windows), instalace spočívá v pouhém překopírování.
Visual Studio
Komplexní vývojové prostředí pro tvorbu aplikací pod .NET, jehož oblíbenost prudce roste.
Aktuální edice Visual Studia se oproti předchozí edici značně rozrostla a pokrývá nyní celý životní
cyklus vyvíjených aplikací, navíc si zákazník může vybrat z mnoha variant, jejichž stručnou
charakteristiku dále uvádíme.
Visual Studio Express products
Je řada určena pro začátečníky, kteří by si rádi pro začátek trošku osahali prostředí Visual Studia.
Řada je k dispozici zdarma a nelze se tedy divit, že zdaleka neobsahuje všechny možnosti
plnohodnotného produktu. Uživatel si musí stáhnout verzi uzpůsobenou pouze pro jeden programovací
jazyk (tzn. Visual Basic, C++, C# a J#), už toto představuje značné omezení. Varianty řady Express se
mezi sebou ani neintegrují, tudíž stáhnete-li si např. variantu pro VB a C++, tak neočekávejte, že by
mezi sebou jakkoliv komunikovaly, jde o dva samostatné produkty. Obsahují pouze základní prostředí
Visual Studia pro design aplikací a psaní kódu, nedodávají se k nim žádné rozšiřující nástroje a ani není
možné je propojit s externími aplikacemi pro reporting nebo správu verzí zdrojového kódu.
Visual Studio Standard a Professional Edition
Určené především pro programátory- jednotlivce, samozřejmě již obsahuje podporu všech
programovacích jazyků, nástroje pro návrh databází, nástroje pro tvorbu webových a aplikací,
editování XSD i XSLT, nástroj k vývoj aplikací pro SmatrPhone a Pocket PC, nástroje k tzv.
debuggingu (nalézání a odstraňování chyb). Varianta Professional Edition je navíc obohacena o SQL
Server 2005 Developer Edition a Crystal Reports (ladění kódu na vzdálených stanicích)
Visual Studio Team System
Je zřejmé, že Microsoft se snaží proniknout mezi špičku, proto svou řadu rozšířil o produkt, který je
určen pro vývoj rozsáhlých aplikací. Varianta Team je tvořena třemi integrovanými částmi- VS Team
Architekt, VS Team Developer A VS Team Tester . Každá část pokrývá různé potřeby a disponuje
různými nástroji. Team Architekt je zaměřen na návrh, obsahuje proto nástroje sloužící k modelování,
na webových stránkách Microsoftu jsem bohužel nikde nenašel výčet podporovaných diagramů. Těžko
říct, co se přesně skrývá za pojmem uvedeným v charakteristikách- Visio and UML Modelling.
Velkou výhodou však bezesporu je neustálá konzistence mezi zdrojovým kódem a modelem. Za
zmínku jistě stojí také modelování i na mnohem vyšší úrovni, týkající se distribuovaných aplikací.
Jedná se o myšlenku tzv. System Definition Modelu, což je formální popis zachycující celý systém –
od návrhu jednotlivých bloků aplikace, přes model logického datového centra zahrnující různé
nastavení bezpečnostních zón a firewallů, až po hardwarovou konfiguraci serverů. Druhý model nese
jméno Team Developer a překvapivě je primárně určen programátorům a zabývá se tedy analýzou
kódu (statickou i dynamickou) . Třetí modul Team Tester a jak již název napovídá, slouží
k prověřování správné funkčnosti aplikace.
Visual Studio Team Foundation Server
Tento produkt je komplexním datovým centrem, které v sobě udržuje informace o vyvíjených
projektech a poskytuje všechny funkce, které jsou potřeba při metodickém vývoji softwaru. Data jsou
uložena v relačních databázích na SQL Serveru 2005, přístup k nim pak zajišťují webové služby běžící
na IIS. Díky tomu je možné k Foundation Serveru přistupovat, kromě Visual Studio Team klientů, z
mnoha dalších aplikací a také lze snadno vytvářet vlastní proprietální klienty.
Zdroje
Eclipse - http://www.microsoft.com
CASE nástroje
Visual Paradigm for UML
Jedná se o UML CASE nástroj firmy Visual Paradigm určený pro široké spektrum uživatelů od
softwarových vývojářů po businness analytiky.
Nástroj je multiplatformní díky tomu, že je celý napsán v Javě. Udávané požadavky na systém:
•
procesor minimálně 1 Ghz,
•
paměť minimálně 256MB, doporučeno 1GB,
•
minimálně 400MB místa na disku,
•
operační systém podporovaný Javou.
Obr. 1: Grafické rozhraní Visual Paradigm for UML
Uživatelské prostředí je přehledné, ovládání intuitivní. Zajímavá vlastnost VPUML, která velice
usnadňuje kreslení modelů, je zobrazování všech možných akcí, které může uživatel v dané chvíli
udělat, po najetí myší nad kterýkoli elemet modelu. V diagramech je možné použít vlastní obrázky.
Zajímavá je podpora textové analýzy, která umožňuje přímo v textu označit kandidátské třídy,
aktéry, případy užití a pracovní toky. Ty se pak stávají součástí repository modelu a lze je pak používat
při modelování.
VPUML umožňuje integraci s mnoha vývojovými prostředími* (viz. tabulka). Se všemi prostředími
podporuje round-trip engineering kódu a vlastního modelu. Podporována je několik běžně používaných
programovacích jazyků (viz. tabulka).
Další vlastností VPUML usnadňující vývoj aplikací je schopnost spolupráce s databázemi.
Databáze lze modelovat pomocí ERD digramu, ze kterého je pak možné vygenerovat SQL DDL skript
a nebo vytvořit databázi přímo v databázovém serveru přes JDBC. Podporováno je mnoho
databázových serverů. ERD diagram je možné vytvořit ručně, reverse engineeringem stávající databáze
nebo pomocí objektově relačního mapování (ORM) z class diagramu a tyto dva diagramy pak průběžně
synchronizovat.
Pro podporu týmové spolupráce je nutné dokoupit produkt Visual Paradigm Teamwork Server. Ten
umožňuje sdílení, automatické slučování a verzování modelů.
* Podrobnosti v tabulce
verze VPUML
Enterprise
Professional
Standard
Modeller
Personal
Comunity
vlastnost
Podporované
platformy
Windows, Linux, Mac OS X, Solaris a další platformy na nichž lze provozovat Javu
Verze UML
UML 2.0
Typy diagramů
Class, Use Case, Collaboration, Sequence, State, Activity, Component, Deployment, Timing,
Composite Structure, Package
+ Overview, ERD a ORM diagramy, Business Workflow
Import/ export XMI
Import i export XMI 1.0/1.2
Uživatelské prostředí
Zoom, gesta myší, automatické rozložení diagramů, kopírování diagramů v podobě obrázku do
systémového clipboardu, uživatelsky přizpůsobitelné rozložení objektů uživatelského prostředí,
Generování a reverse
engineering kódu
Java ( kód a třídy), C++, .NET DD
nebo EXE soubory, CORBA IDL, Ada 9x, XML,
XML Schema, JDBC, Hibernate, PHP 5.0
Integrace s
vývojovými
prostředími
Eclipse, IntelliJ IDEA, NetBeans,
Sun ONE, Oracle JDeveloper,
Borland JBuilder, BEA WebLogic
Workshop
Rozšiřitelnost
Zdokumentované API pro tvorbu vlastních pluginů
Podpora činnosti v
týmu
Pomocí produktu Visual Paradigm Teamwork Server ($ 699):
slučování modelů, podpora verzování
Podpora od výrobce,
komunity, ...
Online update, online nápověda a průvodci, integrovaná nápověda, emailová technická podpora,
telefonická podpora, diskuzní fórum
Modelování databází
Reverse engineering db do ERD,
generování db z ERD,
synchronizace ERD a class
diagramu, podporované databáze
(Oracle, DB2, MS SQL, Sybase,
MySQL, HSQLDB,
Cloudscape/Derby, PostgreSQL,
Informix)
Podpora tvorby
dokumentace
Export diagramu do JPG, PNG, SVG a EMF, generování HTML a
PDF dokumentace, propojení dokumentace s modely
Cena
$1399
$699
$299
Tabulka 1: Visual Paradigm for UML verze 5.1
Zdroje
Visual Paradigm - http://www.visual-paradigm.com/
$99
$59
Zdarma pro
nekomerční
použití
Poseidon for UML
Poseidon for UML je produktem německé firmy Gentleware AG, který začal vznikat na základech
open source projektu ArgoUML.
Nástroj je napsaný v Javě a proto funguje všude tam, kde je možné nainstalovat příslušný Java VM.
Obr. 2: Grafické rozhraní Poseidon for UML
Uživatelské prostředí je přehledné a ovládání jednoduché. Při najetí kurzorem myši nad objekty
digramu, zobrazí okolo objektu dostupné akce.
Poseidon for UML se umí integrovat pouze s vývojovými prostředím Eclipse. Z modelu umí
generovat kód pro mnoho programovacích jazyků a dá se snadno rozšířit o další, nicméně reverse
engineering zvládá pouze u Javy.
Týmová spolupráce je možná pouze u Enterprise verze, která funguje na principu klient/server
architektury. Všechny změny provedené jedním klientem jsou v reálném čase rozeslány ostatním
připojeným klientů pracujícím na stejném projektu. Pro ukládání modelů používá asi nejrozšířenější
systém pro správu verzí CVS. Pro připojení k serveru se používá zabezpečený protokol SSH. Pro lepší
spolupráci mezi uživateli je integrován i Instant Messaging klient.
Embedded Enterprise edice Poseidon for UML je navržená speciálně pro tvorbu embedded systémů.
Generuje efektivní Java, ANSI C a C++ kód, tak aby byl použitelný i v 8-bit a 16-bit zařízeních.
verze Poseidon for
UML
Community
Standard
Professional
Enterprise
Embedded
Enterprise
vlastnost
Podporované
platformy
Windows, Linux, Mac OS X, Solaris a další platformy na nichž lze provozovat Javu
Verze UML
UML 2.0
Typy diagramů
Class, Use Case, State, Activity, Collaboration, Sequence, Deployment, Component
Import/ export
XMI
Pro ukládání modelů používá standardně XMI 1.2, navíc možnost importu XMI 1.0/1.1
Uživatelské
prostředí
Lokalizace do několika jazyků,
Generování a
reverse
engineering kódu
Generování Java
kódu
Generování Java
kódu a reverse
engineering Java
kódu
Generování C++, C#, CORBA IDL,
Delphi, Perl, PHP, VB.net kódu +
možnost modifikace šablon pro
generování kódu, reverse engineering
Java kódu a JAR archivů
Eclipse
Integrace s
vývojovými
prostředími
Podpora pluginů
Rozšiřitelnost
Klient/server architektura, zamykání
částí modelu, kontrola konfliktů,
zabezpečená komunikace se serverem
(SSH), integrovaný instant messenging
Podpora činnosti
v týmu
Podpora od
výrobce,
komunity, ...
C++, ANSI C,
Java
Online dokumentace, e-mailová podpora, diskuzní fórum
Generování SQL DDL
Modelování
databází
Podpora tvorby
dokumentace
Export GIF, JPG,
PNG, PS, EPS,
SVG
Export GIF, JPG, PNG, PS, EPS, SVG, WMF; export dokumentace jako HTML
nebo dokument Wordu
Cena
$249
Zdarma pro
nekomerční použití
Tabulka 2: Poseidon for UML verze 3.2
Zdroje
Gentleware - http://gentleware.com
$875
Na vyžádání
$3590
Power Designer
V předchozí části jsem se věnoval vývojovému prostředí- Visual Studio a zmínil jsem skutečnost, že
nová řada pokrývá cely životní cyklus aplikace, tedy i modelování. Neměl jsem sice možnost osobně to
odzkoušet, ale je možné, že se nástroje pro modelování ukáží být nedostatečnými. Potom ke slovu
přichází tzv. CASE nástroje, které se zaměřují právě na modelování, zůstává však nezodpovězena
otázka provázanosti mezi vývojovým prostředím a CASE nástrojem. V dalším se budu stručně
charakterizovat klíčové vlastnosti PowerDesigneru a pokusím se objasnit možnosti integrace
s vývojovými prostředími.
Power Designer podporuje:
•
•
•
•
•
Konceptuální datový model- modelování na nejvyšší úrovní, zachycení logické struktury
pomocí ER diagramu. Konceptuální model lze následně převést na fyzický objektový model,
opačně to funguje také. Obě dvě možnosti jsem vyzkoušel a vše proběhlo v naprostém pořádku
Fyzický datový model- modelování fyzické struktury, v tomto modelu již uvažujeme strukturu a
typ databáze. Lze generovat skripty pro konkrétní databází, PD ve verzi 11 jich podporuje na
45. Fyzicky model lze převést na konceptuální či objektový. Uplatnění nejspíše najde i
Multidimensional diagram pro definici dimenzí a kostek.
Objektový model- objektově orientovaný přístup pro modelování. PD nabízí celou řadu
objektových diagramů (všechny, které jsou definovány v UML). Diagram tříd je opravdu dobře
proveden, meti diagramy lze definovat závislosti, což přispívá ke konzistenci modelů
Procesní model- modelování business procesů, verze 11 umožňuje navíc simulaci
prostřednictvím Simul8 (diskrétní simulace). Sybase také nově
zařadila modelování
v BPEL4WS (Business Process Execution Language for Web Services je jazyk, který poskytuje
prostředky pro formální popis obchodních procesů a protokolů používaných při obchodním
spojení. Za jeho pomoci je možné sestavit integrační model v obecně používaném formátu,
který usnadňuje rozšíření integrace automatizovaných postupů v rámci jednoho podniku nebo
mezi firmami. Obchodní procesy mohou být popsány dvěma způsoby. Samostatné nezávislé
obchodní procesy mohou být popsány jako skutečné chování účastníků během obchodní
transakce.Popisy obchodních protokolů na rozdíl od obchodních procesů musí popisovat
rozhraní procesů. Popis musí specifikovat vzájemně viditelné chování při výměně zpráv mezi
všemi zúčastněnými stranami, aniž by odhaloval jejich interní chování. BPEL4WS může být
použit pro popis v obou případech) Nechybí ani podpora ebXML, což je poměrně nová
iniciativa pro výměnu automatizovaných obchodních zpráv.
XML modelování- formát XML zajišťuje universálnost při výměně informaci. PD podporuje
export do tohoto formátu. Nelze nezmínit podporu XMI formátu, který je výrazným
pomocníkem při integraci s jinými nástroji
Vztah mezi modely nejlépe nastíní přiložený obrázek:
Z mnoha dalších vlastností bych rád podtrhnul velmi podporu při generaci dokumentace ve formátu
HTML či RTF. Samozřejmostí je podpora nejrozšířenějších objektových jazyků - Java, PowerBuilder,
C++, C#, VisualBasic nebo komponentového modelu CORBA (IDL soubory) a jejich reverse
engeneering. Nicméně PD umí vytvořit i datový model z dodaných SQL skriptů, tato vlastnost se mi
velice líbila a v budoucnu ji určitě hodlám využit, pouze bych dodal, že podle jistých zdrojů jsou
některé CASE nástroje o něco schopnější než PD (zachycují i některé vztahy). Důležitou roli hraje
také Repository, PD umí ukládat informace do jakékoliv databáze podporující rozhranní ODBC.
Na začátku jsem podtrhoval význam integrace s vývojovými prostředími, dle oficiálních informací
od firmy Sybase, je PD ve verzi 11 integrovatelný s Visual Studiem ( Eclipse a Power Builderem)
prostřednictvím plug-inu. To se jistě ukáže jako jedna z klíčových vlastností, neboť vývojové teamy
vyžadují synchronizaci mezi kódem a modelem. Jistě, v nižších verzích je možnost nechat vygenerovat
zdrojový kód na základě modelu a ten převést do vývojového prostředí, ale výhoda synchronizace se
ztrácí. Existuje také možnost vzniku chyb, neboť architekt či vývojář může provést změny, ale ty se
automaticky do modelu toho druhého nepromítnou.
PD
Existuje celá řada variant- viz stránky Sybase
vlastnost
Podporované
platformy
Windows
Verze UML
UML 2.0 (verze 11)
Typy diagramů
Diagram tříd,Use case diagram,Sekvenční diagram,Diagram komponent,Diagram aktivit (nově je
zařazen model požadavků, model informačních toků)
Import/ export XMI
Import i export
Uživatelské prostředí Grafické uživatelské prostředí- dobře zpracované
Generování a reverse
Java, PowerBuilder, C++, C#, VisualBasic
engineering kódu
PD
Integrace s
vývojovými
prostředími
Eclipse, Visual Studio, Power
Builder
Rozšiřitelnost
COM API, DDL
Podpora činnosti v
týmu
Správa verzí
Podpora od výrobce,
komunity, ...
Online update, online nápověda a průvodci, integrovaná nápověda, emailová technická podpora,
telefonická podpora, diskuzní fórum
Reverse engineering db do ERD,
generování db z ERD,
Modelování databází synchronizace ERD a class
diagramu, podporované databázepřes 45)
Podpora tvorby
dokumentace
Ve formátu HTML a RTF
Tabulka 3: PowerDesigner
Zdroje
Sybase- http://www.sybase.cz
Together Edition 2006
Při hledání CASE nástrojů integrujících se s Visual Studiem jsem narazil na produkt od firmy
Borland. Po přečtení vlastnosti jsem nabyl dojmu, že určitě stojí za to se sním blíže seznámit. Stejně
jako u předchozího produktu začnu nejdříve krátkým výčtem vlastností
•
Procesní model- podporuje zachycování procesů pomocí BPMN. Dále podporuje BPEL4WS
•
Konceptuální model- velmi přehledně nabízí možnost tvorby modelu databáze jak na
konceptuální úrovni, tak na fyzické.
•
Objektový model- nástroj podporuje diagramy UML a to ve verzi 1.4 i 2.0
•
Fyzický model- z konceptuálního modelu vygeneruje databázi, přičemž podporuje všechny
známe platformy
Jako v případě PowerDesigneru je možné provádět transformaci mezi modely. Za zmínku jistě stojí i
následující vlastnosti. Podpora MDA (modelem řízená architektura) a možnost vyjádření požadavků
pomocí OCL (object constraint language). Velice dobře také funguje import i export do formátu XMI.
Výrobce uvádí také podporu importu z nástrojů Rose a XDE. CASE podporuje generování zdrojového
kódu pro programovací jazyky obsažené v prostředích- Eclipse, Visual Studio a JBuilder . Podporuje
též reverse engeneering (označuje ho jako Live source), kdy ze zdrojového kdy dochází k vygenerování
modelu. Upozorňuji, že to platí pouze pro modely obsažené v definici UML 1.4. Dokumentaci je
možné generovat ve formátu HTML, konkrétní podoba je v rukách uživatele. Jako velké plus bych
označil řadu pravidel, díky nimž je zdrojový kód přehledný a především konzistentní.
A co říci k integraci? Odzkoušel jsem tento produkt na Visual Studiu 2003 Professional Edition a
vyvolal ve mě velmi dobrý dojem. Instalace proběhla bez problému a spolupráce mezi Visua Studiem a
Together Edition byla také výborná. Vyzkoušel jsem i import diagramů z PowerDesigneru, modely se
správně zobrazily.
Together Edition
Architekt
Developer
Tester
vlastnost
Podporované
platformy
Windows, Linux
Verze UML
UML 2.0 (i 1.4)
Typy diagramů
Konkrétní výčet jsem nikde nenaleznul
Import/ export XMI
Import i export
Uživatelské prostředí Velmi přehledné a dobře propracované
Generování a reverse
Java, C++, C#, VisualBasic, VB.NET
engineering kódu
Integrace s
vývojovými
prostředími
Eclipse, Visual Studio, JBuilder
Rozšiřitelnost
API
Podpora činnosti v
týmu
Správa verzí
Podpora od výrobce,
Online update, online nápověda a průvodci, integrovaná nápověda, emailová technická podpora,
Together Edition
komunity, ...
telefonická podpora, diskuzní fórum
Reverse engineering db do ERD,
generování db z ERD,
Modelování databází
synchronizace ERD a class
diagramu
Podpora tvorby
dokumentace
Ve formátu HTML
Tabulka 4: Together Edition
Zdroje
Borland – http://www.borland.cz
Select Component Architect
Select Component Architect tvoří hlavní část vývojového prostředí Select. S tímto vývojovým
prostředím je dodávána komplementární pragmatická metodika LBMS Development Method. Tato
metodika poskytuje konkrétní návod na postup vývoje a následné údržby vícevrstevných aplikací a
využívá principů nejmodernějšího přístupu k vývoji aplikací v podobě Model Driven Architecture
(MDA). Metodika LBMS Development Method v popisu jednotlivých činností specifikuje způsob
využití prostředí Select pro danou činnost, takže pořízení metodiky spolu s prostředím Select významně
zjednodušuje jeho osvojení a využívání v praxi.
Hlavní přínosy sady nástrojů Select lze shrnout do několika bodů.
•
Rychlý vývoj aplikací prostřednictvím pragmatického modelování s využitím šablon kódu a
návrhových vzorů
•
Podpora pro modelování a simulaci firemních procesů zajišťující implementaci funkcionality
shodnou se skutečnými požadavky uživatelů
•
Synchronizace kódu a modelů pro nejrozšířenější vývojové platformy (Java, C#, C++, Visual
Basic) a pro XML
•
Generování databázových schémat a zpětná reverzace zajišťující lepší pochopení stávající
struktury tabulek a pohledů
•
Podpora celého životního cyklu vývoje a údržby aplikací
•
Škálovatelnost od jednouživatelského provozu na přenosném počítači po multiuživatelskou
týmovou práci ve velkých týmech
•
Podpora přímého mapování do momentálně používaných komponentově orientovaných (CBD)
a na služby orientovaných (SOA) technologií
•
Zajištění kvalifikované analýzy dopadů změn prostřednictvím databáze požadavků obsahující
vazby na objekty návrhu
•
Unikátní podpora opakovaného použití
•
Dosažení úspory nákladů prostřednictvím automatizace činností - generování kódu,
databázových schémat a dokumentace
Pro plynulou funkci programového balíku není nutné pořizovat nikterak výkonný počítač. Jako
minimum je uváděno pouze stařičké Pentium 300 Mhz s 64 MB RAM. Co se týče operačního systému,
je uvedena pouze kompatibilita s Microsoft Windows 98 a vyšší. Podporu pro Linuxové operační
systémy jsem bohužel nenalezl. V základní verzi obsahuje Select Component Architect moduly pro
simulaci procesního modelování (Busines Process Simulator), synchronizaci datového modelu a
databáze pro generování i reverzování (DBSync), modul pro tvorbu dokumentace v MS Word a HTML
(Document Generator), modul multiuživatelské repozitovry (Enaber), hlavní modul tvořící jádro
prostředí (Enterprise Modeler), modul pro animaci sekvenčního diagramu (Object Animator), modul
pro převod modelu tříd na datový model a naopak (ORSync), rozhraní na nástroj (TestDirector, který
není součástí SCA) pro řízení testovacího procesu (TestDirector Bridge) a exportní a importní moduly
(XMI, XML/XSD Export/Import). Jako nadstavbu pak lze dokoupit moduly pro transformaci
analytického modelu do modelu návrhu a vzájemnou synchronizaci těchto modelů (Select Solution for
MDA), správy komponent (Select Component Manager), pro kontrolu správnosti a kompletnosti
(Reviewer) a poměrně důležité moduly pro synchronizaci kódu s modelem pro programovací jazyky
C++, C#, Java, Visual Basic.
Posledně jmenované tzv. Synchronizéry jsou nadstavbovým nástrojem tohoto vývojového
prostředí. Umožňující kompletní synchronizaci mezi UML modelem a programovým kódem. Přistupují
do repository UML modelů vytvořených v prostředí Select, které je možno prohlížet a porovnávat s
programovým kódem, nebo lze aktualizovat UML model dle programového kódu či naopak. Konkrétní
generování kódu pak probíhá postupným zpracováním jednotlivých namodelovaných objektů. Takto je
možné se soustředit na konkrétní část modelované reality. Prostředí, do kterých lze generovat konkrétní
programové kódy jsou následující: Java, C++, C#, Visual Basic, Delphi a PowerBuilder. Plná podpora
je udávána rovněž u Visual Studio .NET a vývojového prostředí Eclipse.
Významným pomocníkem k dosažení dobrých výsledků může být i již zmiňovaný modul
Reviewer. Pomocí tohoto modulu je možné téměř automaticky kontrolovat modely vytvořené v Selectu
a to jak z hlediska dodržování standardů tak z hlediska kvality a vzájemné konzistence. Reviewer
nabízí přes 65 uživatelsky nastavitelných kontrol UML návrhu, možnost definování povinných atributů
pro jednotlivé objekty návrhu, možnost kontroly zobrazených informací v jednotlivých typech
diagramů, výpisy chyb/nedostatků sumárně, dle typů, dle analytiků …, nápovědu k odstranění chyb,
odkazy na související Internetové stránky a další. Výsledek kontroly je zobrazen v jazyce HTML.
Jednotlivé chyby jsou nejprve obecně popsány a následně je možné každou chybu podrobně
„rozpitvat“. Lze tak získat např. informace jak danou chybu odstranit nebo kde najít další relevantní
informace, které by mohly být užitečné.
Kromě generování dokumentace umožňuje produkt generovat SQL skripty k databázím, jejich
počet je ale skoupý: Oracle, SQL Server 7, Interbase 4 a do norem SQL 89 a SQL 92. Myslím, že jsou
zde velké možnosti k rozšiřování. Ještě zbývá zadat relace, které chcete mít ve výsledném skriptu a vše
je připraveno. Výsledkem je samozřejmě SQL skript. V případě databázového serveru Interbase
produkt umožňuje vytvořit tabulky přímo na serveru. Podporována jsou tato databázová prostředí:
Access, DB2, Dbase, FoxPro, Informix, Ingress, Interbase, Oracle, SQL Server, Sybase. Součástí
prostředí je modul umožňující synchronizovat relační datový model s příslušnou databází (zmiňované
ORSync a DBSync), přičemž synchronizace zahrnuje tyto objekty: tabulky, atributy, indexy, klíče a
cizí klíče, databázové pohledy (views), integritní omezení, trigery (triggers), umístění tabulek
(tablespace) a uložené procedury (stored procedures).
Select Component Architect jako modelovací nástroj plně umožňuje procesní a datové
modelování. Lze si vybrat z velkého množství modelů: Process Hierarchy Diagram, Process Thread
Diagram, Use Cases, Use Case Diagram, Object Sequence Diagram, Class Diagram, Class Browser,
Obr. 3: Uživatelské rozhraní Select Component Architect
State Transition Diagram, Object Animator. Samozřejmá je podpora standardu UML 1.6 (2.0).
Bohužel jsem neměl to potěšení si tento nástroj osobně vyzkoušet, nicméně většina
zveřejněných testů, recenzí nebo ohlasů jsou veskrze kladného charakteru. Co mě ovšem neupoutalo
(ze zveřejněných obrázků), bylo poměrně chudé a neatraktivní uživatelské rozhraní. Údajně veškeré
objekty, které jsou součástí GUI je možné libovolně poskládat, grafický dojem to ale určitě nezlepší.
Poslední, co je nutné zmínit u tohoto nástroje je jeho cena. Ta se pohybuje v základní verzi
někde kolem 150 000,- Kč. Například na zmiňované synchronizéry si však musí zákazník připlatit.
Mailová a telefonická podpora by měla fungovat bez problémů (nezjištěno).
Podporované OS
Win 98 a vyšší
Verze UML
1.6, 2.0
Typy diagramů
Process Hierarchy Diagram, Process Thread Diagram, Use Cases,
Use Case Diagram, Object Sequence Diagram, Class Diagram,
Class Browser, State Transition Diagram, Object Animator
Export/import
XMI, XML/XSD
Ovládání, UI, dokumentace, ...
Nepřehledné UI, složitější, není česká lokalizace (pouze šablony
dokumentace), nenáročná aplikace na HW
Generování/reverzování kódu
Java, C++, C#, Visual Basic, Delphi a PowerBuilder
Integrace od vývojových prostředí
Eclipse, Visual Studio .NET (přesný výčet nezjištěn)
Podpora týmové spolupráce
souběžný přístup desítek uživatelů
Podpora verzování
nezjištěno
Uživatelská podpora
Většinou telefonická, email
Podpora modelování databází
Ano
Generování dokumentace
HTML, textový dokument .doc
Cena
Základní cca 150 000,- Kč
Tabulka 5: Vlastnosti Select Component Architect
Zdroje
LBMS - http://www.lbms.cz/Nastroje/Select/index.html
PROSA UML 2004 Programmer Edition
Prosa UML je nástroj finské firmy Insoft. Lze si jej pořídit v několika verzích podle toho, k čemu jej
chceme využít. PROSA UML 2004 Modeller Edition je určena pouze pro ty, kteří si vystačí s prostým
modelovacím nástrojem. Reverse Engineering Edition již poskytuje větší možnosti při tvorbě a
synchronizaci modelů se zdrojovými kódy aplikaci nebo při generování SQL skriptů. PROSA UML
2004 Mobile Developer je uzpůsoben na tvorbu aplikací pro mobilní telefony a konečně PROSA UML
2004 Programmer Edition je určen pro softwarové firmy vyvíjející software v jazycích C++, C# nebo
Java.
Systémové nároky na tento nástroj jsou uvedeny pouze stručně: Windows 2000/XP/98. Nároky na
hardware bohužel nikde uvedeny nejsou. Podporovaná verze UML je pouze v1.5. Všechny modely,
které tento standard UML nabízí, jsou ovšem v Prosa UML obsaženy. Use case diagram, Sequence
diagram, Collaboration diagram, Class diagram, Statechart diagram, Activity diagram, Component
diagram, Deployment diagram a Package diagram. Poslední model je určen pro řízení a organizaci
ostatních vytvářených modelů.
Export do formátu XMI, XML nebo XSD není podporován. Je možné, že nová verze tohoto
produktu bude v tomto ohledu lepší. Na stránkách výrobce jsem ovšem prozatím zmínku o nové verzi
(např. 2006) nezaznamenal. Uživatelské rozhraní je standardní jako u všech ostatních CASE nástrojů
tohoto typu. Není nic, co bych mu mohl vyloženě vytknout. Na mne zkrátka všechny CASE nástroje
působí, co se týče UI, stejným dojmem. Velkou nevýhodu ovšem spatřuji v absenci českého
distributora tohoto produktu. To znamená, že veškerá komunikace, ať už jde o uživatelskou podporu
nebo o komunikaci při nákupu, probíhá se zahraničním dodavatelem.
Generování či reverse engineering je podporován kupodivu až od edice Reverse Engineering. Jak
jsem již psal, tento nástroj dokáže generovat do jazyků C++, C# a Java. Do výstupního souboru nebo
přímo do vývojového prostředí vygeneruje hlavičky tříd nebo je zreverzuje do modelu UML.
Synchronizace zdrojového kódu a modelu probíhá v realtime módu. Edice, která podporuje plnou
integraci s vývojovými prostředími a kterou popisuji, má však jednu velkou (pro někoho možná ne)
nevýhodu. Pro každý jazyk (C++, C#, Java) je nutné si zakoupit jinou verzi. Určitě bude možné si
koupit i verzi například pro dva jazyky, ta bude ovšem určitě dražší. Tato nejvyšší edice samozřejmě
využívá veškeré funkcionality svých předchůdců. Vývojová prostředí, se kterými se jednotlivé verze
pro konkrétní programovací jazyky integrují jsou následující: Microsoft Visual C++ Studio pro C++,
Microsoft Visual Studio .NET pro C#, Inprise JBuilder and Sun Microsystems J2ME Wireless Toolkit
pro Javu.
Podpora pro modelování databází není nikterak zvlášť propracovaná a výrobce se tím a příliš netají.
Tento nástroj je primárně určen na vývoj aplikací ať už klasických, webových nebo mobilních. Pro
generování SQL skriptů je určen speciální modul PROSA SQL generator. Ten je však integrován již v
modelovací edici PROSA modeller a využívá UML class diagram. Skripty je možné generovat pro tyto
databázové systémy: DB2, Oracle and SQL Server.
Obr. 4: Rozhraní PROSA UML 2004 Programmer Edition
Řešení práce více uživatelů a sdílení modelů není nijak podrobně vysvětleno, ale tyto možnosti zde
samozřejmě existují. Při tvorbě dokumentace slibuje výrobce pohodlnou a rychlou tvorbu s ještě
rychlejší aktualizací. Dokumentace se totiž tvoří současně s tvorbou konkrétních modelů. O tuto
funkčnost se stará PROSA Concurrent document manager. Pro výstup lze využít formátu .doc nebo
přímo Internetu a jeho HTML.
Uživatelská podpora je uvedena telefonická nebo prostřednictvím emailové hotline. Výrobce nabízí
i tréninkové kurzy UML. Na svých stránkách dokonce uvádí i přesný harmonogram výukového dne.
Na závěr bych chtěl říci, že jde podle mého názoru o produkt vysoké kvality (a tomu odpovídající
ceny), ale pro tuzemské vývojáře bych ho z důvodu absence distributora nedoporučil. Dále musím říci,
že stránky výrobce jsou poměrně dlouhou dobu neaktualizované což u mne výrazně snižuje
důvěryhodnost.
Podporované OS
Win 98 a vyšší
Verze UML
1.5
Typy diagramů
Use case diagram, Sequence diagram,
Collaboration diagram, Class diagram,
Statechart diagram, Activity diagram,
Component diagram, Deployment
diagram a Package diagram.
Export/import
nezjištěno
Ovládání, UI, dokumentace, ...
Standardní, není česká lokalizace ani
český distibutor.
Generování/reverzování kódu
C++, C# a Java
Integrace od vývojových prostředí
Microsoft Visual C++ Studio pro C++,
Microsoft Visual Studio .NET pro C#,
Inprise JBuilder and Sun Microsystems
J2ME Wireless Toolkit pro Javu
Podpora týmové spolupráce
Ano
Podpora verzování
nezjištěno
Uživatelská podpora
Telefonická, email, výukové kurzy
Podpora modelování databází
Ano (Oracle, DB2, SQL Server)
Generování dokumentace
HTML, textový dokument .doc
Cena
Kolem 2000 EUR.
Tabulka 6: Vlastnosti PROSA UML 2004 Programmer Edition
Zdroje
Insoft - http://insoft.fi
UMLStudio
Výrobce: PragSoft
Vybraní uživatelé:
•
Alcatel
•
CCS GmbH
•
GE Capital Bank Denmark
•
Hewlett Packard
•
INTEL
•
Kapsch AG
•
Lexmark Inc.
•
Lufthansa Systems GmbH
•
Siemens AG
•
The Bank of New York
•
University of Bremen
•
University of Cambridge
•
University of Colorado
•
University of Edinburgh
•
a jiní
Nejprve chci představit společnost PragSoft, protože v počítačovém světě nemusí být až tak známá.
Byla založena v roce 1996 s cílem vyvíjet cenově dostupné nástroje většinou podporující objektovou
technologii. Zakladatelé této firmy jsou vývojáři, kteří museli pracovat s nástroji od velkých
softwarových dodavatelů. Tyto nástroje jim přinesly zklamání a frustraci zejména z důvodu vysokých
nákladů, nízké kvality a omezené použitelnosti. Byly přesvědčeni, že tyto nástroje nedosahují tak
vysoké produktivity práce. To je důvod, proč založili svou vlastní firmu a pokusili se s tím něco udělat.
Společnost PragSoft se chlubí tím, že většina peněz z jejího rozpočtu je investována zpět do vývoje
produktů, na rozdíl od velkých softwarových dodovatelů, kde velká část peněz je investována do
marketingu a odbytu. Tato společnost se rovněž staví proti velkým softwarovým balíkům, které zabírají
mnoho místa na pevném disku počítače. Nazývá je „bloatware“ a tvrdí, že tímto nabýváním na
velikosti dochází k jistému odklonu od použitelnosti softwaru. Její produkt UMLStudio, který popisuji
ve svém článku, má velikost přibližně 3,3 MB. Mottem PragSoftu zkrátka je, že na velikosti nezáleží.
Tento nástroj jsem si vybral proto, že je jakýmsi kompromisem mezi drahými nástroji typu
PowerDesigner a open-source nástroji zdarma. Jeho výhoda je, že není pevně svázán s jedinou
neměnnou notací. Každá notace je uložena v souboru – šabloně podobně jako šablony Microsoft
Wordu. Díky tomu lze změnit či rozšířit předdefinovanou UML notaci, uživatel také může definovat
svojí vlastní grafickou notaci. Je to tedy i metamodelovací nástroj. Jeho nevýhoda je, že je jen pro
Windows. Umí generování i reverzování kódu a generování dokumentace. Je možné si rovněž napsat
svůj vlastní skript a naimportovat ho do programu. Tento skript pak může generovat kód v určitém
programovacím jazyce, může generovat dokumentaci, může mít reportovací nebo jinou funkci. Další
vhodnou funkcí je knihovna často používaných symbolů nebo kusů diagramu, kterou si uživatel vytváří
sám. Podpora týmové spolupráce je vyřešena přes freewarovou aplikaci UMLServer, kterou je možné
stáhnout si ze stránek výrobce.
Obr. 5: Ukázka prostředí programu UMLStudio 7.0
Nás nejvíce zajímá, jak tento nástroj podporuje vývoj aplikací. Podporuje generování kódu v C++,
Javě, CORBĚ IDL. Stejně tak dovoluje konvertovat kód programovacího jazyka do nějaké objektové
notace.
UMLStudio vypadá jako robustní nástroj, který si uživatel může přizpůsobit podle svých potřeb.
Uživateli je ponechána velká volnost. Produkt jsem si vyzkoušel a byl jsem mile překvapen jeho
rychlostí. Doporučil bych ho analytikům a vývojářům, kteří požadují po CASE nástroji velkou
flexibilitu a mají již nějaké zkušenosti s používáním tohoto typu počítačových programů. Hlavním
důvodem, proč si lidé pořizují tento nástroj je pravděpodobně editovatelnost mnoha parametrů, notací
počínaje a generováním kódu konče.¨
Podporované OS
Windows
Notace
UML, Booch, možno customizovat
Typy diagramů
Class Diagram
Use-case Diagram
Sequence Diagram
Collaboration Diagram
State Transition Diagram
Activity Diagram
Implementation Diagram
Libovolný typ diagramu
Generování/reverzování kódu
C++, Java, CORBA IDL, možnost
přidání libovolného jazyka
Generování dokumentace
HTML, RTF
Dokumentace
HTML Help
Integrace do vývojových prostředí
nezjištěno
Export/import
ne
Podpora týmové spolupráce
ano, pomocí aplikace UMLServer
Podpora verzování
ano, přes UMLServer
Uživatelská podpora
email
Podpora modelování databází
nutno vytvořit notaci
Cena
500 USD za komeční použití
250 USD za nekomerční použití
125 USD za školní použití
Tabulka 5: Vlastnosti UMLStudio
Zdroje
Pragsoft - http://www.pragsoft.com
Visual UML Developer Edition
Výrobce: Visual Object Modelers
Vybraní uživatelé:
•
AT&T
•
Bank of Montreal
•
BBC
•
Dell Computer Corporation
•
Kodak
•
Northrop Grumman
•
Panasonic
•
Price-Waterhouse Coopers
•
SAAB Avionics
•
Seagate
•
Sony
•
Symantec
•
University of Kentucky
•
University of Texas
•
University of Madrid
•
Wroclaw Technical University
•
a jiní
Společnost Visual Object Modelers byla založena v roce 1998 lidmi pocházejícími z firmy
Evergreen CASE Tools, kteří již měli zkušenosti s vývojem CASE nástrojů. Visual Object Modelers se
chlubí, že si její Visual UML stáhlo přes 100 000 lidí a prodané licence na tento nástroj jdou do tisíců.
Zákazníci jsou firmy všech velikostí zvučných jmen i školy. Visual Object Modelers je partnerem
několika vývojářských společností, včetně Microsoftu, které dělají doplňky k Visual UML nebo
poskytují technologii, která je pak implementována v tomto nástroji.
CASE nástroj Visual UML Developer Edition má stejně jako UMLStudio výhodu v příznivé ceně
oproti konkurenci typu PowerDesigner a nevýhodu naopak v tom, že je jen pro operační systémy
Windows. Zajímavé je, že obsahuje vzory UML modelů a diagramů z různých zdrojů, například z knih
UML Distilled: Applying the Standard Object Modeling Language od Martina Fowlera nebo Building
Web Applications with UML od Jima Conallena. Uživatel může tyto modely převzít nebo kontrolovat
svoje modely se vzorovými. Hůře je na tom podpora týmové spolupráce, která zde zřejmě chybí.
Velikost programu je 50 – 70 MB.
Při vývoji aplikací však Visual UML Developer Edition nabízí více než UMLStudio. Jednak je
velmi dobrý při návrhu databází – podporuje generování a reverzování návrhu databáze, jednak se umí
integrovat se dvěma známými nástroji pro vývoj aplikací – Visual Basic 6 a Visual Studio.NET 2002 –
2005.
Kromě generování a reverzování kódu Visual Basicu, C#, Visual Basicu.NET umí ještě generovat a
reverzovat Javu a generovat jazyk C++. I v tomto ohledu nabízí dost a přitom ještě dovoluje v rozšířené
edici přidat pomocí maker jazyka Visual Basic for Applications další programovací jazyk, ve kterém je
možno generovat kód.
Tento nástroj bych doporučil vyzkoušet vývojářům, kteří potřebují výkonný CASE a chtěli by ušetřit
na jeho pořízení. V případě, že by zjistili, že jim tento nevyhovuje, koupili by si nějaký dražší
konkureční. Podle mého názoru Visual UML Developer Edition nabízí za slušnou cenu, která je
například proti IBM Rational Rose pětinová, mnoho užitečných vlastností. Díky spolupráci
s Microsoftem může být dobrou volbou pro ty, kteří používají vývojové prostředí Visual Studia nebo
Visual Basicu.
Podporované OS
Windows
Notace
UML 1.3, 1.4, většina diagramů z 2.0
Typy diagramů
Class Diagram
Use-case Diagram
Sequence Diagram
Collaboration Diagram
State Transition Diagram
Activity Diagram
Component Diagram
Deployment Diagram
Object Diagram
Package Diagram
Robustness Diagram
Interaction Overview Diagram
Generování/reverzování kódu
Visual Basic, VB.NET, C#, Java,
C++ pouze generování, možnost
přidání dalšího dalšího jazyka
Generování dokumentace
HTML, RTF, XML, PDF
Dokumentace
HTML Help, UML specifikace v PDF
Integrace do vývojových prostředí
Visual Studio.NET, Visual Basic 6
Export/import
XMI, XML/XSD
Podpora týmové spolupráce
nezjištěno
Podpora verzování
nezjištěno
Uživatelská podpora
email
Podpora modelování databází
ano, generování i reverzování databází
Cena
495 USD
Tabulka 6: Vlastnosti Visual UML Developer Edition
Zdroje
Visual Object Modelers - http://www.visualuml.com
Závěr
Matice integrace CASE do IDE
IDE
CASE
Eclipse/ IBM
WebSphere
MS
Studio
Visual
Application Studio
Developer
Visual Paradigm SDE
X
Poseidon for UML
X
MagicDraw UML
X
EclipseUML
X
MS
Visual
C++
X
X
BEA
Weblogic
Workshop
SUN
NetBeans/ Java
Studio
X
X
X
X
X
X
X
X
X
JDeveloper
Select Component
Architect
Oracle
Borland IntelliJ
JDeveloper JBuilder IDEA
X
X
X
PROSA UML
X
UMLStudio
X
Visual UML
PowerDesigner
X
X
Together Edition
X
X
Poznámky
•
V tabulce je více CASE nástrojů než bylo zmíněno v práci
•
Vývojové prostředí Oracle Jdeveloper obsahuje podporu pro modelování v podobě class, use
case, activity a sequence digramů v UML 1.4 notaci

Podobné dokumenty

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

Nástroje pro vývoj aplikací a jejich vazba na CASE 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 tv...

Více

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

IT_572 Přehled nástrojů CASE na tuzemském trhu Charakteristika produktu Oracle Designer představuje integrovaný CASE-nástroj, který podporuje automatizování procesů celého životního cyklu složitých aplikací, včetně analýzy požadavků, detailní a...

Více

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

Nástroje pro vývoj aplikací a jejich vazba na CASE Development Environment). Tyto nástroje jsou velmi nápomocné každému programátorovi, který je využívá. Důležitým faktorem u vývojových prostředí je, že jsou plně orientované na jeden programovací j...

Více

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

Využití CASE ve vývojářské firmě vytvořením předpřipravených komponent aplikace) zpětné vytvoření modelu podle existujícího zdrojového kódu (nebo-li reverzní inženýrství) synchronizace modelu a zdrojového kódu vytváření dokumentac...

Více

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

Nástroje pro vývoj aplikací a jejich vazba na CASE právě specifikované v CIM. Nejčastějšími uživateli tohoto typu modelů jsou „business“ analytici případně sami uživatelé systému. To, že ho mohou vytvářet samotní uživatelé, svědčí o tom, že k tvorb...

Více

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

Nástroje pro vývoj aplikací a jejich vazba na CASE kódu, kompiler, utility k sestavování programu (linker) a debugger. V posledních letech dochází k posunu tohoto paradigmatu, jelikož se z IDE stává zároveň prostředek pro design aplikace samotné a ...

Více

DZ9_2014e

DZ9_2014e kteří s námi několik víkendů vyklízeli, vrtali, řezali a připevňovali. Jsou to pánové Drbohlav a Šalka. Ušetřili nám nemalé finanční prostředky za řemeslnické práce. Zvláště pilné a obětavé byly vš...

Více

Nástroje meta-CASE

Nástroje meta-CASE • definování sémantiky, která se „nad“ UML modelech dosud vyskytovala pouze ve formě přirozeného jazyka UML Profiles se tedy dají chápat jako profily, které se dají aplikovat na jednotlivé UML typy...

Více