+ All Categories
Home > Documents > CASE a IDEpanrepa.org/CASE/CASE_a_IDE.pdf · 2006-01-06 · Úvod Zkoumané vlastnosti CASE...

CASE a IDEpanrepa.org/CASE/CASE_a_IDE.pdf · 2006-01-06 · Úvod Zkoumané vlastnosti CASE...

Date post: 08-Mar-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
33
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
Transcript
Page 1: CASE a IDEpanrepa.org/CASE/CASE_a_IDE.pdf · 2006-01-06 · Úvod Zkoumané vlastnosti CASE nástroj ů Podporované platformy - nejzákladn ější kritérium, je velmi d ůležité

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

Page 2: CASE a IDEpanrepa.org/CASE/CASE_a_IDE.pdf · 2006-01-06 · Úvod Zkoumané vlastnosti CASE nástroj ů Podporované platformy - nejzákladn ější kritérium, je velmi d ůležité

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

Page 3: CASE a IDEpanrepa.org/CASE/CASE_a_IDE.pdf · 2006-01-06 · Úvod Zkoumané vlastnosti CASE nástroj ů Podporované platformy - nejzákladn ější kritérium, je velmi d ůležité

Ú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

Page 4: CASE a IDEpanrepa.org/CASE/CASE_a_IDE.pdf · 2006-01-06 · Úvod Zkoumané vlastnosti CASE nástroj ů Podporované platformy - nejzákladn ější kritérium, je velmi d ůležité

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.

Page 5: CASE a IDEpanrepa.org/CASE/CASE_a_IDE.pdf · 2006-01-06 · Úvod Zkoumané vlastnosti CASE nástroj ů Podporované platformy - nejzákladn ější kritérium, je velmi d ůležité

• Cena - k tomuto kritérium není nutné nic dodávat.

Page 6: CASE a IDEpanrepa.org/CASE/CASE_a_IDE.pdf · 2006-01-06 · Úvod Zkoumané vlastnosti CASE nástroj ů Podporované platformy - nejzákladn ější kritérium, je velmi d ůležité

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 okomentovaných javovských rozhraní (jednoduché řešení pro Java 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).

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

Page 7: CASE a IDEpanrepa.org/CASE/CASE_a_IDE.pdf · 2006-01-06 · Úvod Zkoumané vlastnosti CASE nástroj ů Podporované platformy - nejzákladn ější kritérium, je velmi d ůležité

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

Page 8: CASE a IDEpanrepa.org/CASE/CASE_a_IDE.pdf · 2006-01-06 · Úvod Zkoumané vlastnosti CASE nástroj ů Podporované platformy - nejzákladn ější kritérium, je velmi d ůležité

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.

Page 9: CASE a IDEpanrepa.org/CASE/CASE_a_IDE.pdf · 2006-01-06 · Úvod Zkoumané vlastnosti CASE nástroj ů Podporované platformy - nejzákladn ější kritérium, je velmi d ůležité

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.

Page 10: CASE a IDEpanrepa.org/CASE/CASE_a_IDE.pdf · 2006-01-06 · Úvod Zkoumané vlastnosti CASE nástroj ů Podporované platformy - nejzákladn ější kritérium, je velmi d ůležité

Zdroje

Eclipse - http://www.microsoft.com

Page 11: CASE a IDEpanrepa.org/CASE/CASE_a_IDE.pdf · 2006-01-06 · Úvod Zkoumané vlastnosti CASE nástroj ů Podporované platformy - nejzákladn ější kritérium, je velmi d ůležité

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.

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.

Obr. 1: Grafické rozhraní Visual Paradigm for UML

Page 12: CASE a IDEpanrepa.org/CASE/CASE_a_IDE.pdf · 2006-01-06 · Úvod Zkoumané vlastnosti CASE nástroj ů Podporované platformy - nejzákladn ější kritérium, je velmi d ůležité

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

Page 13: CASE a IDEpanrepa.org/CASE/CASE_a_IDE.pdf · 2006-01-06 · Úvod Zkoumané vlastnosti CASE nástroj ů Podporované platformy - nejzákladn ější kritérium, je velmi d ůležité

verze VPUML

vlastnost

Enterprise Professional Standard Modeller Personal Comunity

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 $99 $59 Zdarma pro nekomerční použití

Tabulka 1: Visual Paradigm for UML verze 5.1

Zdroje

Visual Paradigm - http://www.visual-paradigm.com/

Page 14: CASE a IDEpanrepa.org/CASE/CASE_a_IDE.pdf · 2006-01-06 · Úvod Zkoumané vlastnosti CASE nástroj ů Podporované platformy - nejzákladn ější kritérium, je velmi d ůležité
Page 15: CASE a IDEpanrepa.org/CASE/CASE_a_IDE.pdf · 2006-01-06 · Úvod Zkoumané vlastnosti CASE nástroj ů Podporované platformy - nejzákladn ější kritérium, je velmi d ůlež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.

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.

Obr. 2: Grafické rozhraní Poseidon for UML

Page 16: CASE a IDEpanrepa.org/CASE/CASE_a_IDE.pdf · 2006-01-06 · Úvod Zkoumané vlastnosti CASE nástroj ů Podporované platformy - nejzákladn ější kritérium, je velmi d ůležité

verze Poseidon for

UML

vlastnost

Community Standard Professional Enterprise Embedded

Enterprise

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ů

C++, ANSI C, Java

Integrace s vývojovými

prostředími

Eclipse

Rozšiřitelnost Podpora pluginů

Podpora činnosti v týmu

Klient/server architektura, zamykání částí modelu, kontrola konfliktů, zabezpečená komunikace se serverem (SSH), integrovaný instant messenging

Podpora od

výrobce, komunity, ...

Online dokumentace, e-mailová podpora, diskuzní fórum

Modelování

databází

Generování SQL DDL

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 Zdarma pro nekomerční použití

$249 $875 Na vyžádání $3590

Tabulka 2: Poseidon for UML verze 3.2

Zdroje

Gentleware - http://gentleware.com

Page 17: CASE a IDEpanrepa.org/CASE/CASE_a_IDE.pdf · 2006-01-06 · Úvod Zkoumané vlastnosti CASE nástroj ů Podporované platformy - nejzákladn ější kritérium, je velmi d ůležité

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:

Page 18: CASE a IDEpanrepa.org/CASE/CASE_a_IDE.pdf · 2006-01-06 · Úvod Zkoumané vlastnosti CASE nástroj ů Podporované platformy - nejzákladn ější kritérium, je velmi d ůležité

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

vlastnost Existuje celá řada variant- viz stránky Sybase

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

engineering kódu Java, PowerBuilder, C++, C#, VisualBasic

Page 19: CASE a IDEpanrepa.org/CASE/CASE_a_IDE.pdf · 2006-01-06 · Úvod Zkoumané vlastnosti CASE nástroj ů Podporované platformy - nejzákladn ější kritérium, je velmi d ůležité

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

Modelování databází

Reverse engineering db do ERD, generování db z ERD, synchronizace ERD a class diagramu, podporované databáze- přes 45)

Podpora tvorby

dokumentace Ve formátu HTML a RTF

Tabulka 3: PowerDesigner

Zdroje

Sybase- http://www.sybase.cz

Page 20: CASE a IDEpanrepa.org/CASE/CASE_a_IDE.pdf · 2006-01-06 · Úvod Zkoumané vlastnosti CASE nástroj ů Podporované platformy - nejzákladn ější kritérium, je velmi d ůležité

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

vlastnost Architekt Developer Tester

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

engineering kódu Java, C++, C#, VisualBasic, VB.NET

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,

Page 21: CASE a IDEpanrepa.org/CASE/CASE_a_IDE.pdf · 2006-01-06 · Úvod Zkoumané vlastnosti CASE nástroj ů Podporované platformy - nejzákladn ější kritérium, je velmi d ůležité

Together Edition

komunity, ... telefonická podpora, diskuzní fórum

Modelování databází

Reverse engineering db do ERD, generování db z ERD, 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í

Page 22: CASE a IDEpanrepa.org/CASE/CASE_a_IDE.pdf · 2006-01-06 · Úvod Zkoumané vlastnosti CASE nástroj ů Podporované platformy - nejzákladn ější kritérium, je velmi d ůlež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

Page 23: CASE a IDEpanrepa.org/CASE/CASE_a_IDE.pdf · 2006-01-06 · Úvod Zkoumané vlastnosti CASE nástroj ů Podporované platformy - nejzákladn ější kritérium, je velmi d ůležité

Diagram, Use Cases, Use Case Diagram, Object Sequence Diagram, Class Diagram, Class Browser,

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ší.

Obr. 3: Uživatelské rozhraní Select Component Architect

Page 24: CASE a IDEpanrepa.org/CASE/CASE_a_IDE.pdf · 2006-01-06 · Úvod Zkoumané vlastnosti CASE nástroj ů Podporované platformy - nejzákladn ější kritérium, je velmi d ůležité

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

Page 25: CASE a IDEpanrepa.org/CASE/CASE_a_IDE.pdf · 2006-01-06 · Úvod Zkoumané vlastnosti CASE nástroj ů Podporované platformy - nejzákladn ější kritérium, je velmi d ůležité

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.

Page 26: CASE a IDEpanrepa.org/CASE/CASE_a_IDE.pdf · 2006-01-06 · Úvod Zkoumané vlastnosti CASE nástroj ů Podporované platformy - nejzákladn ější kritérium, je velmi d ůležité

Ř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.

Obr. 4: Rozhraní PROSA UML 2004 Programmer Edition

Page 27: CASE a IDEpanrepa.org/CASE/CASE_a_IDE.pdf · 2006-01-06 · Úvod Zkoumané vlastnosti CASE nástroj ů Podporované platformy - nejzákladn ější kritérium, je velmi d ůležité

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

Page 28: CASE a IDEpanrepa.org/CASE/CASE_a_IDE.pdf · 2006-01-06 · Úvod Zkoumané vlastnosti CASE nástroj ů Podporované platformy - nejzákladn ější kritérium, je velmi d ůležité

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

Page 29: CASE a IDEpanrepa.org/CASE/CASE_a_IDE.pdf · 2006-01-06 · Úvod Zkoumané vlastnosti CASE nástroj ů Podporované platformy - nejzákladn ější kritérium, je velmi d ůležité

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.

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.¨

Obr. 5: Ukázka prostředí programu UMLStudio 7.0

Page 30: CASE a IDEpanrepa.org/CASE/CASE_a_IDE.pdf · 2006-01-06 · Úvod Zkoumané vlastnosti CASE nástroj ů Podporované platformy - nejzákladn ější kritérium, je velmi d ůležité

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

Page 31: CASE a IDEpanrepa.org/CASE/CASE_a_IDE.pdf · 2006-01-06 · Úvod Zkoumané vlastnosti CASE nástroj ů Podporované platformy - nejzákladn ější kritérium, je velmi d ůležité

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é

Page 32: CASE a IDEpanrepa.org/CASE/CASE_a_IDE.pdf · 2006-01-06 · Úvod Zkoumané vlastnosti CASE nástroj ů Podporované platformy - nejzákladn ější kritérium, je velmi d ůležité

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

Page 33: CASE a IDEpanrepa.org/CASE/CASE_a_IDE.pdf · 2006-01-06 · Úvod Zkoumané vlastnosti CASE nástroj ů Podporované platformy - nejzákladn ější kritérium, je velmi d ůležité

Závěr

Matice integrace CASE do IDE

IDE

CASE

Eclipse/ IBM

WebSphere Studio

Application

Developer

MS

Visual Studio

MS

Visual C++

Oracle

JDeveloper

Borland

JBuilder

IntelliJ

IDEA

BEA

Weblogic Workshop

SUN

NetBeans/ Java Studio

Visual Paradigm SDE X X X X X X X

Poseidon for UML X

MagicDraw UML X X X X X

EclipseUML X

JDeveloper X

Select Component

Architect X X

PROSA UML X X

UMLStudio

Visual UML X

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


Recommended