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



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

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

UML: Unified Modeling Language

CASE nástroje. Jaroslav Žáček

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

Analýza a Návrh. Analýza

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

7 Jazyk UML (Unified Modeling Language)

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

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

7 Jazyk UML (Unified Modeling Language)

O projektu Nasazení OpenOffice.org v praxi

MBI - technologická realizace modelu

CASE. Jaroslav Žáček

UML. Unified Modeling Language. Součásti UML

Unifikovaný modelovací jazyk UML

Vysoká škola ekonomická v Praze

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

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

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

Novinky ve Visual Studio Tomáš Kroupa

Sísyfos Systém evidence činností

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

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

Návrh softwarových systémů - architektura softwarových systémů

Nástroje pro tvorbu wireframes

PŘÍLOHA C Požadavky na Dokumentaci

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

TECHNIKY A CASE NÁSTROJE VÝVOJE IS

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

Statistica, kdo je kdo?

Microsoft Office 2003 Souhrnný technický dokument white paper

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

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

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

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

Obsah. Zpracoval:

Architektura softwarových systémů

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

Stěhování aplikací. Michal Tomek, Sales Manager

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

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

Windows a real-time. Windows Embedded

VirtualBox desktopová virtualizace. Zdeněk Merta

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

Formy komunikace s knihovnami

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

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

Databázové systémy. Doc.Ing.Miloš Koch,CSc.

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Úvod 9

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

Matematika v programovacích

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

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

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

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

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

CASE nástroje pro jazyk UML

ArcGIS for Server. V oblasti správy, vizualizace a zpracování prostorových dat nabízí ArcGIS for Server tyto možnosti:

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

Komponentový návrh SW

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

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

Úvod. Klíčové vlastnosti. Jednoduchá obsluha

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

Procesní dokumentace Process Management. Pavel Čejka

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

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

Bc. David Gešvindr MSP MCSA MCTS MCITP MCPD

SRSW4IT Inventarizační SW. Prezentace aplikace. Vedoucí DP: ing. Lukáš Macura Autor: Bc. Petr Mrůzek

IS pro podporu BOZP na FIT ČVUT

Metodika analýzy. Příloha č. 1

3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda

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

HelpDesk. Co je HelpDesk? Komu je aplikace určena? Co vám přinese?

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

InterSystems Caché Post-Relational Database

Návrh softwarových systémů - architektura softwarových systémů

Architektury Informačních systémů. Jaroslav Žáček

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

O Apache Derby detailněji. Hynek Mlnařík

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

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

EMBARCADERO TECHNOLOGIES. Jak na BYOD chytře? Možnosti zapojování různých mobilních zařízení do podnikových informačních systémů.

Olga Rudikova 2. ročník APIN

Využití CASE ve vývojářské firmě CASE study + trendy a obecné závěry

Modelování procesů (2) Procesní řízení 1

O projektu OpenOffice.org a IBM OS/2 OS/2 a Open Source

PRVNÍ ELASTICKÝ INFORMAČNÍ SYSTÉM : QI

Tomáš Kantůrek. IT Evangelist, Microsoft

Business Intelligence

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

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

Microsoft SharePoint Portal Server Zvýšená týmová produktivita a úspora času při správě dokumentů ve společnosti Makro Cash & Carry ČR

TISKOVÁ ZPRÁVA ČESKÉHO LOKALIZAČNÍHO TÝMU OPENOFFICE.ORG ČESKÝ LOKALIZAČNÍ TÝM OZNAMUJE DOKONČENÍ ČESKÉ VERZE NOVÉ VLASTNOSTI. 7.

Příprava dat v softwaru Statistica

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

Transkript:

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 Omondo 1. 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

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 vlastnost Podporované platformy Enterprise Professional Standard Modeller Personal Comunity 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í Generování a reverse engineering kódu Integrace s vývojovými prostředími Rozšiřitelnost Podpora činnosti v týmu Podpora od výrobce, komunity,... 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í, Java ( kód a třídy), C++,.NET DD nebo EXE soubory, CORBA IDL, Ada 9x, XML, XML Schema, JDBC, Hibernate, PHP 5.0 Eclipse, IntelliJ IDEA, NetBeans, Sun ONE, Oracle JDeveloper, Borland JBuilder, BEA WebLogic Workshop Zdokumentované API pro tvorbu vlastních pluginů Pomocí produktu Visual Paradigm Teamwork Server ($ 699): slučování modelů, podpora verzování 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í Podpora tvorby dokumentace 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) 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/

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 Verze UML UML 2.0 Typy diagramů Import/ export XMI Uživatelské prostředí Generování a reverse engineering kódu Integrace s vývojovými prostředími Rozšiřitelnost Podpora činnosti v týmu Podpora od výrobce, komunity,... Modelování databází Podpora tvorby dokumentace Cena Windows, Linux, Mac OS X, Solaris a další platformy na nichž lze provozovat Javu Class, Use Case, State, Activity, Collaboration, Sequence, Deployment, Component Pro ukládání modelů používá standardně XMI 1.2, navíc možnost importu XMI 1.0/1.1 Lokalizace do několika jazyků, Generování Java kódu Generování Java kódu a reverse engineering Java kódu Podpora pluginů 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 Online dokumentace, e-mailová podpora, diskuzní fórum Export GIF, JPG, PNG, PS, EPS, SVG Zdarma pro nekomerční použití Tabulka 2: Poseidon for UML verze 3.2 Generování SQL DDL C++, ANSI C, Java Klient/server architektura, zamykání částí modelu, kontrola konfliktů, zabezpečená komunikace se serverem (SSH), integrovaný instant messenging Export GIF, JPG, PNG, PS, EPS, SVG, WMF; export dokumentace jako HTML nebo dokument Wordu $249 $875 Na vyžádání $3590 Zdroje Gentleware - http://gentleware.com

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 vlastnost Podporované platformy Windows Verze UML UML 2.0 (verze 11) Typy diagramů Import/ export XMI Existuje celá řada variant- viz stránky Sybase 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 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

PD Integrace s vývojovými prostředími Rozšiřitelnost Podpora činnosti v týmu Podpora od výrobce, komunity,... Eclipse, Visual Studio, Power Builder COM API, DDL Správa verzí 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á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 vlastnost Podporované platformy Windows, Linux Verze UML UML 2.0 (i 1.4) Typy diagramů Import/ export XMI Architekt Developer Tester Konkrétní výčet jsem nikde nenaleznul Import i export Uživatelské prostředí Velmi přehledné a dobře propracované Generování a reverse engineering kódu Integrace s vývojovými prostředími Rozšiřitelnost Podpora činnosti v týmu Podpora od výrobce, Java, C++, C#, VisualBasic, VB.NET Eclipse, Visual Studio, JBuilder API Správa verzí Online update, online nápověda a průvodci, integrovaná nápověda, emailová technická podpora,