Nástroje pro vývoj aplikací a jejich vazba na CASE
Transkript
Vysoká škola ekonomická v Praze Nástroje pro vývoj aplikací a jejich vazba na CASE Semestrální práce z 4IT450 (CASE – Computer Aided System Engineering) Jiří Kysela Tomáš Petřík Vít Kolář Lubomír Kuběna Anton Kochtcheev Ivana Cenigová Obsah 1. Round-Trip Engineering .......................................................................................................3 1.1. 1.2. 1.3. 1.3.1 1.3.2 1.3.3 1.3.4 Reversní inženýrství (Reverse engineering) .....................................................................4 Transformace modelů a automatické generování kódu (FE) .....................................4 Model Driven Architecture (MDA)...........................................................................................5 Computation Independent Model (CIM) ............................................................. 6 Platform Independent Model (PIM) ..................................................................... 7 Platform Specific Model (PSM) ........................................................................... 8 Transformace modelu PIM do PSM .................................................................... 9 2. Integrace CASE do vývojových prostředí.................................................................. 10 2.1. XMI (XML Metadata Interchange)......................................................................................... 10 2.2. Tvorba dokumentace ................................................................................................................ 11 2.2.1 Generování z modelu ............................................................................................................. 11 2.2.2 Generování ze zdrojového kódu ....................................................................................... 11 2.2.3 Nástroje pro automatickou tvorbu dokumentace.............................................11 2.3. Týmová podpora......................................................................................................................... 12 2.3.1 Sdílené repository........................................................................................................................ 12 2.3.2 Sdílení dokumentů v síti............................................................................................................ 12 3. Vývojová prostředí (IDE)....................................................................................................... 12 3.1. NetBeans IDE.................................................................................................................................... 12 3.1.1 Licence ............................................................................................................................................. 13 3.1.2 Systémové požadavky ............................................................................................................... 13 3.1.3 Nástroj pro podporu UML......................................................................................................... 13 3.1.4 Tvorba dokumentace.................................................................................................................. 13 3.1.5 Další vývoj ....................................................................................................................................... 15 3.1.6 Závěr .................................................................................................................................................. 15 3.2. Eclipse................................................................................................................................................. 15 3.2.1 Architektura Eclipse.................................................................................................................... 16 3.2.1 Novinky v Eclipse v3.3............................................................................................................... 17 3.3. Zend Studio....................................................................................................................................... 19 3.4. JDeveloper......................................................................................................................................... 23 3.4.1 Novinky v JDeveloper 11g........................................................................................................ 23 3.5. .NET ...................................................................................................................................................... 25 3.5.1 Hlavní záměry pro vytvoření .NET Frameworku ............................................................. 25 3.5.2 Historie .NET .................................................................................................................................. 26 3.5.3 .NET 3.5 Framework................................................................................................................ 26 3.5.4 Visual Studio .................................................................................................................................. 27 3.5.4.1 Historie Visual Studia ........................................................................................................ 27 3.5.5 Visual Studio 2008................................................................................................................... 28 3.5.6 Modelování ................................................................................................................................. 31 3.5.6.1 Class designer ........................................................................................................31 3.5.6.2 Application Connection Designer..........................................................................32 3.5.6.3 Logical Datacenter Designer..................................................................................32 3.5.6.4 Deployment Designer .............................................................................................32 3.5.7 Dokumentace............................................................................................................................. 32 3.6. Borland Delphi 2006 ...................................................................................................................... 33 4. CASE nástroje........................................................................................................................ 33 4.1. Select Architect........................................................................................................................... 33 4.1.1 Novinky ve verzi 7.0...................................................................................................34 4.2. Borland Together 2007................................................................................................................. 35 4.2.1 Hlavní rysy ...................................................................................................................................... 36 4.2.2 Systémové požadavky ............................................................................................................... 37 2 4.2.3 Novinky ve verzi 2007................................................................................................................. 38 4.2.4 Všeobecně .................................................................................................................39 4.2.5 Integrace ....................................................................................................................39 4.2.6 Opravené chyby (dle www.borland.com).................................................................39 4.2.7 Ukázka uživatelského rozhraní .............................................................................................. 43 4.3. Visual Paradigm for UML 6.1 SP1............................................................................................ 44 4.3.1 Hlavní rysy ...................................................................................................................................... 44 4.3.2 Novinky ve verzi 6.1 .................................................................................................................... 45 4.3.3 Ukázka uživatelského rozhraní .............................................................................................. 46 4.4 Sparx Systems Enterprise Architect............................................................................. 47 4.4.1 UML 2.1............................................................................................................................................. 48 4.4.2 Datové modelování...................................................................................................................... 48 4.4.3 MDA.................................................................................................................................................... 49 4.4.4 Code Engineering ........................................................................................................................ 49 4.4.5. Podpora IDE .................................................................................................................................. 50 4.4.6 Edice .................................................................................................................................................. 50 4.5 Sybase PowerDesigner ................................................................................................................. 51 4.5.1 Modelovací techniky ................................................................................................................... 51 4.5.2 Podporované platformy............................................................................................................. 51 4.5.3 Enterprise ........................................................................................................................................ 51 4.5.4 Podpora IDE.................................................................................................................................... 52 5. Seznam použitých zdrojů..................................................................................................... 53 1. Round-Trip Engineering Round-Trip engineering (dále jen RTE) je dnes již poměrně známým a akceptovaným pojmem v oblasti vývoje IS. RTE, jak již název napovídá, je opakující se proces, který by měl zajišťovat vazbu mezi vygenerovaným kódem, návrhem a analytickým modelem systému. Jinými slovy stará se o synchronizaci analytických a designových modelů s konkrétní implementací návrhu. Jestliže analytik případně designér provede změnu v modelu (např. v diagramu tříd změní nebo přidá atribut, metodu u některé z tříd), zanese se tato změna automaticky do kódu aplikace a do modelů nižších vývojových vrstev. Této fázi se říká také forward engineering (dále jen FE). Naopak, pokud programátor provede změnu v kódu (např. přidá metodu v některé z již existujících tříd), tak se tato změna projeví v diagramu, o této části se zase hovoří jako o fázi reverse engineeringu (dále jen RE). O udržení RTE procesu se pak stará tzv. synchronizér kódu, který umožňuje synchronizovat programový kód s např. UML modelem, aniž by se musel provádět celý RE nebo FE proces od samého počátku. Synchronizér tedy usnadňuje údržbu, značně šetří čas a umožňuje udržovat konzistenci mezi modelem a vaší aplikací. Proto se dá pohlížet na RTE jako na mnohem komplexnější a složitější proces než jako na pouhý „součet“ RE a FE. Úkolem RE a FE je totiž obvykle pouze samostatná a izolovaná transformace, kdy se spousty informací z cílového artefaktu ignorují a převážně se vytvoří nový artefakt přepsáním jeho staré verze, pokud existuje. Na rozdíl od toho RTE vyžaduje, aby se informace v cílovém artefaktu uchovaly nezměněné, což také poukazuje na to, že záměrem RTE je srovnat modely, spíše než je pouze transformovat v daném směru. 3 Obr. 1. Round-trip Engineering proces 1.1. Reversní inženýrství (Reverse engineering) V dnešní době, kdy aplikace jsou mnohem složitější a komplexnější, se jakákoliv změna např. nová funkcionalita poměrně těžko realizuje bez dobré znalosti systému a absence jakýchkoliv modelů. Proto určitá forma abstrakce za použití vizualizace se jeví jako dobrý pomocník, obzvlášť v případech, kdy se setkáváme s aplikací poprvé. Podle Eliota Chikofskyho a Jamese Crosse [2] je reversní inženýrství proces analyzování systému za účelem identifikování jeho součástí (komponent) a vztahů mezi nimi. Výsledkem této analýzy je reprezentace zkoumané aplikace vytvořená za použití určitého stupně abstrakce. RE je tedy částí údržby a podpory softwaru, která nám pomáhá pochopit systém a následně ulehčit realizaci případných změn. Samotné provedení změn ovšem nespadá do širokého rozsahu činností zpětného inženýrství. RE se zabývá pouze zkoumáním za účelem podrobného popisu a to ve všech fázích životního cyklu softwaru (s tím souvisí zvolená forma abstrakce). RE by měl být chápán jak komplex různých a přitom navzájem se doplňujících aktivit vedoucích ke stejnému cíli, kterým je popsání a následné porozumění dílčích celků na konkrétní úrovni abstrakce. 1.2. Transformace modelů a automatické generování kódu (FE) Na počátku FE procesu stojí analytik, který vytvoří model reality, jenž popisuje z čeho je realita složená. De facto se jedná o model věcné problematiky budoucího systému a finální struktuře kódu odpovídá opravdu jen zhruba. Dalším krokem je transformace analytického modelu do návrhového (designového) modelu. Nastává tedy etapa, kdy se analytický model rozšíří o technologické aspekty budoucí aplikace. Výstupem této etapy by měly být postačující podklady pro finální implementaci. Tento model je už vhodný pro automatické generování kódu. Automatické generování kódu se využívá ve fázi implementace systému. Umožňuje nám vytvořit programový kód, který koresponduje s designovým modelem. Designový model na rozdíl od analytického modelu je závislý na konkrétní technologii, kterou aplikujeme při implementaci. Generátorem kódu se rozumí nějaká 4 aplikace nebo utilita využívající určitého algoritmu (těchto algoritmů existuje celá řada a jsou stále předmětem výzkumu) k převedení modelu do námi vybraného jazyka. Je důležité poznamenat, že vygenerovaný kód není finální a tedy by nepotřeboval další zásah programátora. Generátor totiž vygeneruje pouze skelet (kostru) v konkrétním jazyce, která logicky odpovídá návrhu budoucího systému. Snad pouze u generování skriptů z datových modelů se dá hovořit o finální podobě kódu. 1.3. Model Driven Architecture (MDA) Obr. 2. MDA a jeho možné oblasti využití [3] Modelem řízená architektura (MDA) je specifikace konsorcia OMG [3] založená na pevně stanovených standardech této skupiny. Tento koncept přináší „nový“ přístup v oblasti vývoje a především údržby informačních systémů. Pojmem modelem řízená architektura se rozumí skutečnost, že poskytuje prostředky pro využití modelů k tomu, aby řídily průběh návrhu, porozumění, konstrukce a údržby systému. Hlavní myšlenkou MDA je oddělit business a aplikační logiku od technologické platformy. Tato myšlenka není nikterak nová, potřeba vytvářet analytický a návrhový model tu existuje poměrně dlouho. To, co MDA přináší nového, jsou postupy a způsoby, jak tyto modely správně transformovat. Primárními cíly tohoto přístupu jsou zajištění přenosnosti, interoperability (součinnosti) a znuvupoužitelnosti díky oddělené architektury. MDA poskytuje obecný přístup jak: • Specifikovat systém nezávisle na platformě na které je systém vystavěn • Specifikovat platformy • Vybrat konkrétní platformu • Transformovat systém podle zvolené platformy MDA člení architekturu na čtyři úrovně: • Model nezávislý na počítačovém zpracování (CIM) • Model nezávislý na platformě (PIM) 5 • Model specifický na konkrétní platformě (PSM) • Zdrojový kód aplikace (výsledná implementace) 1.3.1 Computation Independent Model (CIM) Model, též známý jako doménový model1, se zaměřuje výhradně na prostředí a obecné požadavky systému a jeho detailní struktura a konkrétní zpracování jsou v této fázi skryté nebo dosud neurčené. Tento model reflektuje „business“ požadavky zákazníka a pomáhá přesně popsat to, co se od systému očekává. Proto musí být nezávislý na technickém zpracování a popisovat systém čistě věcně a logicky. Předpokládá se, že uživatel těchto modelů je člověk, který není obeznámen s modely nebo konstrukcemi užívaných k vyjádření funkčnosti těch požadavků, které jsou právě specifikované v CIM. Nejčastějšími uživateli tohoto typu modelů jsou „business“ analytici případně sami uživatelé systému. To, že ho mohou vytvářet samotní uživatelé, svědčí o tom, že k tvorbě tohoto modelu není opravdu zapotřebí příliš znalostí o informačních technologiích. Tento druh zobrazení neslouží pouze jako prostředek k pochopení problémů a vymezení problémové oblasti, ale také jako jakýsi sdílený zdroj pojmů (slovník problémové oblasti), které se používají v jiných modelech (úrovních MDA) nebo pro další modelovaní na stejné úrovni. Ve skutečnosti mohou být tyto modely např. procesní modely, use case diagramy případně diagramy činností. Obrázek 1: Ukázka CIM (procesní model) v nástroji Select Architect [5] 1 Model identifikující vztahy mezi všemi hlavními entitami systému a obvykle vyjadřuje jen jejich důležité metody a atributy [4]. 6 1.3.2 Platform Independent Model (PIM) Tento model se zabývá tou částí kompletní specifikace systému, která se nemění podle konkrétního druhu zvolené platformy. PIM totiž zprostředkovává určitou míru nezávislosti konkrétního řešení dané problémové oblasti tak, aby se hodila na různé platformy podobného typu. Popisuje chování (algoritmy) a strukturu aplikace opravdu jen v těch mezích, které zajistí jeho přenositelnost mezi různými technologickými řešeními. Oproti předcházejícímu modelu je doplněn o ty informace (algoritmy, principy, pravidla, omezení…), které jsou nezbytně důležité k řešení dané problémové oblasti prostřednictvím informačních technologií. Ovšem je důležité poznamenat, že tento model přesně nevychází z CIM, nýbrž si z něho obvykle IT analytik vybere pouze to podstatné, co se považuje za smysluplné pro potřeby počítačového zpracování konkrétní problémové oblasti. Transformace z modelu CIM do PIM obvykle neprobíhá automaticky, je to dáno především odlišným charakterem těchto modelů, kde PIM je model struktury, kdežto CIM je spíše procesní model. Některé nástroje ovšem (např. Select Architect [7]) umožňují částečnou transformaci těchto procesních modelů přímo do diagramu tříd. Tento přechod probíhá skrze Use Case2 scénáře, které přiblíží procesní model k objektovému (tato transformace je zachycena na předešlém a následujícím obrázku). Velkou výhodou PIM modelu je jeho znovupoužitelnost a proto může posloužit jako výchozí bod pro různá zadání (tenký, tlustý klient,…). 2 Use Case popisují interakce mezi uživatelem a systémem [5]. 7 Obrázek 2: Ukázka PIM modelu v nástroji Select Architect [5] 1.3.3 Platform Specific Model (PSM) Poslední model (pokud se nebere v úvahu zdrojový kód) specifikace MDA, který je již závislý na cílové platformě, kombinuje PIM s konkrétním technologickým řešením (např. .NET, J2EE, Corba). Tento model věrně odráží strukturu kódu a proto je již dostatečným podkladem pro implementaci, de facto se jedná o vizualizaci kódu na stejné úrovni abstrakce. Vyskytují se v něm objekty, které úzce souvisí se zvoleným technologickým prostředím (např. operace pro přístup k atributům, konstruktory a destruktory tříd,…). Příkladem jsou třídy specifické pro danou platformu, které dovolují komunikovat s balíkem objektů běžně dodávaných s vývojovou platformou. Databázový model (model relační databáze) lze považovat také za PSM. 8 Obrázek 3: Ukázka PSM modelu a vygenerovaného kódu v nástroji Select Architect [5] 1.3.4 Transformace modelu PIM do PSM Jedná se o proces aplikace konkrétních transformačních pravidel na model nezávislý na platformě, jenž vyústí v PSM (vstup a výstup této transformace je zobrazen na dvou předešlých obrázcích). Otázkou je, jaká transformační pravidla mají být použita u konkrétních elementů z PSM. MDA specifikace popisuje hned několik způsobů, jak vytvořit (mapovat) tyto vazby (v čemž spočívá asi jeho největší přínos). Jednou z možností je mapovat přes meta-modely, kdy jednotlivé typy elementů jak v PIM tak v PSM, jsou specifikovány ve dvou odlišných tzv. MOF3 („Meta Object Facility“) meta-modelech. V tomto případě jsou určena jasná mapovací pravidla (algoritmy) určující protějšky ke konkrétním typům v meta-modelu PIM z metamodelu PSM. Dalším přístupem je mapování prostřednictvím tzv. značek. Těmito značkami se označí jednotlivé elementy a tím se určuje, jakým způsobem budou transformovány. Slouží tedy jako identifikátory pro transformační pravidla. Jednoduchým příkladem značky by mohla být „Entita“, která může být aplikována na nějakou třídu nebo jiný objekt z PIM. Při transformaci takto označených objektů pak bude použita jí odpovídající šablona. V reálu se k transformaci používá určitá kombinace obou výše uvedených přístupů. Mapování pomocí meta-modelu totiž v sobě skrývá omezení, které nedovoluje více 3 OMG standard, úzce spojený s UML, který umožňuje meta-data management a definovat modelovací jazyky. 9 instancím jedno typu z PIM přiřadit různé protějšky z PSM. Tato neschopnost, dodatečně přidat potřebné informace, dělá tento způsob silně deterministickým. Proto některé charakteristické typy s PIM musejí být opatřeny značkou za účelem detailnějšího specifikování. Na druhou stranu každá transformace jednotlivých elementů v sobě přepokládá určitá typová omezení, kterých bych se každý návrhář měl držet, aby výsledná transformace měla vůbec nějaký smysl. To znamená, že každý typ elementu v PIM má implicitně definovanou sadu značek, kterými ho lze označit. Výsledkem každé transformace je, jak již bylo uvedeno, platformově specifický model a dále záznam o transformaci. Ten v sobě zahrnuje mapu, která ukazuje jaké druhy transformací byly použity pro konkrétní druhy mapování, což umožňuje provádět transformaci i v opačném směru. Tyto informace v důsledku pomáhají lépe synchronizovat jednotlivé vrstvy na různých úrovních abstrakce a tak dosáhnout lepší konzistence. Souhrnný přehled přínosů a cílů RTE: • Snížení nákladů na údržbu a vývoj IS • Odhálení zásadních chyb už v prvních fázích vývoje • Zvýšení produktivity • Zvýšení kvality IS • Vytváří jasné vazby mezi jednotlivými úrovni vývoje • Automatická synchronizace vazeb v reálném čase Zkoumané vlastnosti CASE nástrojů v oblasti Round-trip engineeringu: • Generování kódu z diagramu tříd (podpora konkrétních jazyků) • Reversní engineering z diagramu tříd • Generování kódu z dynamických modelů (sekvenční, stavový diagram) • Reversní engineering dynamických modelů • Podpora synchronizace jednotlivých vývojových vrstev • Podpora MDA („Model driven architecture“) 2. Integrace CASE do vývojových prostředí 2.1. XMI (XML Metadata Interchange) XMI je formát pro výměnu převážně UML modelů mezi jednotlivými CASE nástroji a vývojovými prostředími i mezi sebou. Specifikace XMI obsahuje XMI Document obsahující data popisující model a XMI Schema , oba typy souborů jsou ve formátu 10 XML, kdy XMI Document by měl mít provázání na XMI Schema pro ověření formální správnosti dat, povinné to ale není. 2.2. Tvorba dokumentace Dokumentace je jednou z nejdůležitějších částí celého projektu a často se na to zapomíná, což ve finále znamená velké problémy. 2.2.1 Generování z modelu Pokud je model správně a dostatečně okomentován, existují nástroje, ať už vestavěné do modelovacích programů nebo specializované, které umějí používat například XMI formát. Po vygenerování získáme dokument nebo soubor dokumentů v požadovaném formátu dostatečně popisující strukturu modelu. 2.2.2 Generování ze zdrojového kódu Téměř pro každý programovací jazyk už má možnost automatického generování dokumentace pomocí speciálně uvozených komentářů s popisem a další strukturou. Většina vývojových prostředí má již generátor zabudovaný nebo ho podporuje jako modul, nebo využívá přímo nástrojů dodávaných s vývojářským frameworkem. * BankAccount.java * * Created on August 11, 2005, 1:19 PM * * To change this template, choose Tools | Options and locate the template under * the Source Creation and Management node. Right-click the template and choose * Open. You can then make changes to the template in the Source Editor. */ Tabulka 1 Ukázka formátování dokumentace v Javadocu 2.2.3 Nástroje pro automatickou tvorbu dokumentace Název Jazyky Platforma Výstupy Cena Java Windows, Mac, *NIX HTML Zdarma phpDocumentor PHP Windows, Mac, *NIX HTML, CHM, PDF, DocBook, XML Zdarma Javadoc 11 CppDoc C, C++ Windows, Linux HTML Zdarma Document! X C, C++, C#, IDL, .NET, Access, PL/SQL Windows HTML, CHM Od $599 DOC++ C, C++, Java, IDL Windows, Linux HTML, LaTeX Zdarma SandCastle .NET Windows HTML, CHM Zdarma HeaderDoc C, C++, Mac, *NIX Java, Delphi, Pascal, PHP, Perl, JavaScript HTML, man pages, XML Zdarma Tabulka 2 Porovnání vybraných generátorů dokumentace 2.3. Týmová podpora 2.3.1 Sdílené repository Sdílené repository jsou vlastně datová úložiště na serveru, do kterého má zároveň možnost přístupu několik lidí, a samozřejmě v něm fungují určitá pravidla a omezení pro přístup, aby nedocházelo k nekonzistenci dat a neoprávněným přístupům. Obvykle tyto systémy obsahují i řízení a správu verzí a i jednoduchou wikipedii nebo její obdobu, která umožňuje velmi dobrý přehled o obsahu, verzích, i o tom, co se s repository děje. Tímto se dá i monitorovat průběh vývoje aplikace, modelu nebo čehokoliv jiného. Záleží také samozřejmě na klientském software, jakým způsobem a jak přehledně je celá problematika řešena. 2.3.2 Sdílení dokumentů v síti Prosté sdílení souborů na discích v síti je levné, málo náročné, ale dost zásadní problém nastává, když je potřeba něco změnit nebo mají na jednom dokumentu pracovat současně dva nebo dokonce více lidí. Neexistuje tu možnost jednoduchého verzování, pokud nebereme v úvahu prosté kopírování a přejmenování a další zásadní nevýhodou je absence metainformací, které v případe použití repository mají obvykle velký vliv, zejména pokud na souborech současně pracuje více lidí. 3. Vývojová prostředí (IDE) 3.1. NetBeans IDE NetBeans je plnohodnotné Open-source vývojové prostředí pro vývoj aplikací napsané v Javě, což jeho osud sice spíše předurčuje jako prostředí výhradně pro vývjoj Java aplikací. Nicméně modularita celého prostředí je navržena tak, že 12 prostřednictvím pluginů je možné používat de facto jakýkoliv programovací jazyk, pokud je pro něj napsaný modul. Modularita kromě možnosti používání mnoha programovacích jazyků umožňuje i práci s moduly, které rozšiřují celkovou funkcionalitu prostředí o další možnosti, které se z velké části dají nazývat CASE nástroje, ať už je to modelování, tvorba dokumentace nebo další prostředky zjednodušující a zrychlující práci programátorů. V současné době je k dispozici verze 6.0. Existuje i vývojová platforma NetBeans Platform, je to modulární a rozšířitelný základ pro vytváření rozsáhlých aplikací. Sami výrobci softwaru si tak mohou vytvořit vlastní vývojový systém na míru i s pomocí dalších vlastních modulů a standardizovat tak proces vývoje ve vlastní firmě 3.1.1 Licence NetBeans se možné používat bezplatně jak pro nekomerční, tak i pro komerční užití. Zdrojový kód je k dispozici pod licencí CDDL (Common Development and Distribution License; http://www.netbeans.org/cddl.html ) a GNU GPL. 3.1.2 Systémové požadavky Díky tomu, že je celý systém napsaný v Javě je dostupný na prakticky jakýkoliv počítač, pro který existuje i Java SDK. Ze stránek http://www.netbeans.org je možné stáhnout přímo verze pro Linux, Windows, Mac OS X a pro Solaris. 3.1.3 Nástroj pro podporu UML NetBeans obsahuje podporu pro UML prostřednictvím zásuvného modulu, který je součástí instalačního balíku, tedy kromě verze pro Mac OS X, kde je možné ji manuálně doinstalovat, protože existují problémy s výkonem u některých verzí Javy (http://wiki.netbeans.org/wiki/view/UMLMacIssues). Modul umožňuje model-driven analýzu, návrh i implementaci. Modul obsahuje podporu pro diagram aktivit, tříd, spolupráce, komponent, nasazeni, sekvenční diagram, diagram stavu a Use Case diagram. V rámci generování kódu je možné kromě prostého vytvoření kódu i sloučení a úpravy stávajícího, přičemž v ve zdrojovém kódu jsou takzvané markery, komentáře sloužíci generátoru kódu vyhodnotit, co má s daným úsekem dělat pokud se něco změnilo, dále existují ještě další volby generátoru, třeba i ve formě konvencí prefixů u jednotlivých metod (get, set,...) nebo možnost volby šablony. Generování modelu ze zdrojového kódu je v současnosti je možné bohužel pouze z java kódu, nicméně vývojový tým má v plánu se tímto zabývat v první fázi minimálně pro jazyk C++. 3.1.4 Tvorba dokumentace NetBeans podporuje tvorbu dokumentace pomocí funkce javadoc z distribuce Java SDK (Software Development Kit) přímo volbou Build -> Generate javadoc for project. Výsledná dokumentace je v HTML formátu. Funkcionalita javadocu je popsaná výše. 13 Obrázek 4 Editace diagramu tříd NetBeans (Windows) Obrázek 5 Editace textu z UML markery (Mac OS X) 14 3.1.5 Další vývoj Vývojový tým UML v NetBeans se chce dále zaměřit na vylepšení grafického návrhu modelů, další vylepšení a optimalizace generovaného kódu, možnost importu a exportu do XMI, dále na revizi UML 2.0 standardu, a také podporu generování kódu pro skriptovací jazyky a C++. 3.1.6 Závěr Vývojové prostředí NetBeans je naprosto plnohodnotné, prozatím ale spíše pouze pro Javu, protože podpora ostatnich jazyků a jejich propojení s funkcemi systému není v současné době na úrovni jiných, dedikovaných, IDE nebo třeba Eclipse. Pro Javu se ale vynikající a výhodou je i možnost customizace NetBeans platform pro vlastní vývojový tým a podmínka využití aplikace bez omezení a drahých licencí. 3.2. Eclipse Eclipse je dnes univerzální, vysoce flexibilní vývojová platforma (tzv. framework) pro různé programovací jazyky (Java, C/C++, PHP, Python, Ruby atd.) s možností využívat široký výběr vývojových a návrhových nástrojů (např. návrh UML, zápis HTML, XML atd.). Jde o multiplatformní software (tedy dostupný pro Linux, Windows, Mac Os…) jež je vyvíjen jako tzv. open-source pod licencí „Eclipse Public License“. Znamená to, že společně s tímto software jsou šířeny i jeho kompletní zdrojové kódy a příjemce licence může tento program volně užívat, upravovat, kopírovat a distribuovat. O tvorbu a další vývoj tohoto produktu se stará konsorcium Eclipse v čele s firmou IBM. Poslední uvolněná verze nese číselné označení 3.3 (a slovní „Europa“) – zajímavostí je, že každá verze je pojmenovaná po měsíci Jupitera a vypuštěna je vždy v červnu. Minulá verze byla uvolněna v červnu 2006 a nesla číselné označení 3.2 (a slovní „Callisto“), uvolnění budoucí verze se pak očekává v červnu roku 2008 a její číselné označení bude 3.4 (a slovní „Ganymede“). Poslední revize současné verze 3.3 proběhla v říjnu roku 2007 a byla uvolněna pod označením 3.3.1.1. 15 Obrázek 6 Editor Eclipse s bublinovou nápovědou 3.2.1 Architektura Eclipse Jak uvádí samotné konsorcium Eclipse na svých webových stránkách, jde o vývojové prostředí „pro všechno a pro nic“. Tento názor je pravdivý v tom, že tuto platformu v podstatě tvoří pouze jádro a služby, tedy základní stavební kámen, avšak díky otevřené architektuře zásuvných modulů (pluginů) lze Eclipse téměř neomezeně rozšiřovat a doslova tak předělat k obrazu svému, což z ní činí velmi vyhledávanou platformu pro vývoj aplikací v rozličných jazycích (Java, C/C++, PHP, Python, Ruby atd.), ale i pro další vývojový a návrhový software (např. CASE nástroje) jež je tak leckdy distribuovaný již jen pouze jako plugin pro Eclipse. Pro příklad uvádím některé z nich: Produkty rodiny IBM Rational, IBM WebSphere, IBM Lotus Adobe Flex Borland JBuilder 2007 Palm OS Development Suite Red Hat Developer Studio Sybase PowerDesigner (distribuovaná jako nativní aplikace pro Windows i jako plugin pro Eclipse) Zend Studio… 16 Původně byla Eclipse určená zejména pro tvorbu aplikací v Javě, a proto také základní distribuce označená „Eclipse SDK“ stále nabízí její silnou podporu prostřednictvím připojených vývojových nástrojů (nazvaných „Java Development Tools“ - JDT) v podobě pluginů. Společně s nimi je ovšem v distribuci SDK standardně zahrnutý i modul „Plugin Development Environment“ (PDE) jež slouží k vytváření nových pluginů a jejich integrování do platformy Eclipse. Nové pluginy se v PDE vytvářejí jako projekty Javy a poté se také kompilují do tříd. O jejich spouštění se stará samotné aplikační jádro platformy Eclipse nazývané „Kernel“ či „Runtime“, grafické rozhraní je pak nazývané „Workbench“ a pracovní plocha „Workspace“. Platforma také nabízí komponentu pro „Concurrent Versions System“ (CVS – umožňuje aby na stejném projektu pracovalo více lidí současně a aby provedené změny byly konzistentní a distribuovány ostatním) jež je označená jako „Team“ a samozřejmě také pro poskytování nápovědy, což je označeno jako „Help“. Obrázek 7 Schéma architektury Eclipse 3.2.1 Novinky v Eclipse v3.3 V následujícím textu si popíšeme významnější vylepšení, které najdeme u současné verze tohoto produktu. Nebudu zde popisovat opravené chyby, ani méně podstatné změny - soustředíme se na ty nové prvky a změny, jež mohou být pro uživatele významné až zásadní. 17 • • Rozšířené Undo / Redo – nyní lze vrátit zpět (event. poté provést znovu) podstatně více provedených operací. Použít lze tak tyto funkce i pro práci s projekty, adresáři, soubory, bookmarky a úlohami – lze u nich vrátit zpět (event. poté provést znovu) operace jako vytváření, mazání, přesun, kopírování či přejmenování. Nové Quick-access dialogové okno – toto nové dialogové okno nabízí možnost rychlého přístupu k prvkům uživatelského rozhraní jako jsou různé příkazy, nastavení preferencí atd. Stačí pouze zadat počáteční písmena hledaného prvku a okno samo filtruje možné výsledky a rovnou je zobrazuje v nabídce. Obrázek 8 Dialogové okno Quick-access • • Portováno pro Windows Vista – poslední verze Eclipse již využívá Windows Vista nativních prvků, jako je kupříkladu nativní double-buffering díky němuž je grafika vykreslována až dvakrát rychleji. Porovnávání v editoru – velice významným pomocníkem je nová funkce pro porovnávání bloků textu či dokonce dvou různých souborů. 18 Obrázek 9 Porovnávání kódu v Eclipse • • • Posunování stránek – pro programátory velmi užitečnou novinkou je možnost posunovat stránky kdykoliv pouze za pomoci stisknutého tlačítka Control + pohybu kolečka myši. Drag and Drop textu a souborů – technologie Drag and Drop byla implementována v plné šíři a tak je nyní možné označený text za pomoci myši přetáhnout uvnitř i vně editoru, přetažením externích souborů (z Windows Exploreru, souborových manažerů apod.) na plochu Eclipse pak dojde k rychlému otevření těchto souborů. Nový spouštěč Eclipse – u verze pro Windows byl přidán nový spouštěč „eclipsec.exe“, který umožňuje spustit Eclipse z konzole s použitím různých přepínačů. 3.3. Zend Studio Zend Studio je integrované vývojové prostředí (IDE) od společnosti „Zend technologies“ určené k programování ve skriptovacím jazyce PHP. Nabízí vše co se od slušného IDE očekává – editor se zvýrazňováním syntaxe pro PHP, HTML, XML, CSS a JavaScript, vyhledávání a nahrazování textu, funkce Undo / Redo, technologii Drag & Drop pro text, vkládání komentářů k řádkům či blokům zdrojových kódů, přímé odkazování na manuál PHP, automatické uzavírání tagů a uvozovek atd. Kromě samotného editoru jsou samozřejmě k dispozici nástroje pro odlaďování a testování, pro organizaci zdrojových kódů, dále nástroje pro analyzování zdrojových kódů či pro vytváření dokumentace. Nutno podotknout, že pořízení tohoto produktu bohužel není zrovna levnou záležitostí – edice „professional“ vyjde totiž minimálně na 250 USD, edice „standard“ pak na 99 USD. Poslední uvolněná verze nese označení 5.5 a je k dispozici jako nativní aplikace pro Windows a operační systém i5/OS od IBM, ale také jako plugin pro již výše popisovanou platformu Eclipse. Je označovaná jako „Neon“ a je založena na pluginech „Eclipse PHP Development Tools“ (PDT) a zatím je k dispozici pouze v Beta verzi. Nabízí se otázka, proč vlastně použít Zend studio jako plugin pro Eclipse, když pro tuto platformu již existují pluginy PDT pro vývoj v jazyce PHP – odpovědět se pokusím výčtem dle mého názoru zásadních vylepšení oproti PDT: • • Multilingvistické Pokročilé formátování zdrojových kódů 19 • • Podpora systému Subversion pro správu a verzování zdrojových kódů, umožňující aby na stejném projektu pracovalo více lidí současně a aby provedené změny byly konzistentní a distribuovány ostatním Rozšířené možnosti ladění a procházení událostí Obrázek 10 Zend Studio rozšířené možnosti ladění • Podpora protokolů FTP, SFTP, SSL 20 Obrázek 11 Zend Studio - podpora přenosových protokolů • • • • WYSIWYG editor HTML Ovladače pro rozhraní JDBC (Java Database Conectivity) Manipulace se soubory a adresáři Náhled JavaScript elementů při návrhu PHP/HTML 21 Obrázek 12 Zend Studio editor 22 3.4. JDeveloper jDeveloper je produktem společnosti Oracle, která jej nabízí po registraci na svých stránkách zdarma ke stažení. Jde o multiplatformní (tedy dostupné pro Windows, Linux, Mac OS) integrované vývojové prostředí (IDE) pro tvorbu webových služeb založených na technologiích Java, XML a SQL. Jde o mnohostranné prostředí, jež podporuje celý vývojový cyklus aplikace (modelování, programování, ladění…). Poslední uvolněná verze nese označení 10.1.3.3, v současné době však je již k dispozici zkušební verze „11g technical preview 3“. Od verze 10g přibyla implementace ADF (Application Development Framework) jež umožňuje jednoduše vytvářet uživatelská rozhraní a spojit komponenty ADF s Flash / HTML… Obrázek 13 jDeveloper auto completion 3.4.1 Novinky v JDeveloper 11g Stejně jako u výše uvedeného produktu Eclipse, budeme v následujícím textu popisovat spíše významnější vylepšení, které najdeme u současné verze tohoto produktu, byť jde zatím pouze o tzv. „Technical Preview“ verzi. Nebudu zde tedy popisovat opravené chyby, ani méně podstatné změny - soustředíme se proto na nové prvky a změny, jež mohou být pro programátory v tomto IDE významné až zásadní. 23 • • • Nová sada JSF (Java Server Faces) komponent podporující koncept AJAX (Asynchronous JavaScript and XML) – slouží pro vývoj interaktivních webových aplikací jež mění obsah svých stránek bez nutnosti jejich znovunačtení. První sada komponent je označena „ADF Faces RC“ a zahrnuje komponenty pro formulářové prvky, navigační prvky, tabulky apod. Druhá sada je nazvaná „ADF Data Visualisation“ a obsahuje komponenty pro tvorbu grafů, kontingenčních tabulek, ukazatelů, Ganttova diagramu apod. Přepracovaný nástroj pro navrhování UML – doznal velkých změn přepsáním na nové grafické rozhraní s vyšším výkonem a lepší rozšiřitelností. Nový integrovaný editor a debugger pro JavaScript – se všemi běžnými vlastnostmi jako zvýrazňování syntaxe apod. ale i velmi progresivními funkcemi jako je sdružování zdrojového kódu (umožňuje programátorovi skrýt části kódu a velmi dlouhé zdrojové kódy tak podstatně zpřehlednit). Obrázek 14 Oracle jDeveloper • • Podpora systému Subversion 1.4.3 pro správu a verzování zdrojových kódů - umožňuje aby na stejném projektu pracovalo více lidí současně a aby provedené změny byly konzistentní a distribuovány ostatním Vylepšené porovnávání XML – je nyní založeno na XML-aware algoritmu oproti dříve používanému algoritmu porovnávání jednotlivých řádků, který nerespektoval skladbu obsahu XML 24 3.5. .NET Platforma .NET vznikla z důvodu zjednodušení práce při programování stále složitějších aplikací. Platforma by měla zpřehlednit zdrojové kódy, dokonce zjednodušit správu SW instalací. Základní myšlenka .NETu je jednoduchá, vybudovat prostředí, které bude obsahovat společné knihovny, datové typy, propojení s DB, podporu bezpečnosti… .NET je platforma, která se skládá z CLR (Common Language Runtime) a knihovny tříd systému .NET Framework. CLR je společným běhovým prostředím pro programy nebo části programů, které mohou být psány v různých jazycích. Je tu však podmínka – programovací jazyk musí vyhovovat podmínkám CLS (Common Language Specifications) Obrázek 15 architektura .NET Frameworku 3.5.1 Hlavní záměry pro vytvoření .NET Frameworku - Windows Lock-In o .NET Framework by měl běžet pouze na platformách Microsoft - Interoperability o .NET Framework poskytuje přístup k programům, které jsou vykonávány mimo .NET. Jde o to, že interakce mezi staršími a novějšími verzemi aplikací je více než očekávána, ne-li požadována. - Common Runtime Engine o Programovací jazyky v .NETu jsou kompilovány do Common Intermediate Language (CIL, také známém pod zkratkou MSIL). CIL je převeden just in time (JIT) kompilací do strojového kódu. Kombinace CIL a JIT je nazývána Common Language Infrastructure (CLI). Implementace CLI je u Microsoftu nazývána jako Common Language Runtime (CLR). - Language Independente 25 o V CTS (Common Type System) specifikaci k .NET FW jsou určeny datové typy, programovací struktury, které jsou podporovány CLR. Díky tomuto je v .NET FW podporováno programování ve více programovacích jazycích. - Base Class Library o BCL je součástí FCL (Framework Class Library). FCL obsahuje všechny funkce, které jsou přístupné všem používaným jazykům o BCL je knihovna základních funkcionalit jako čtení, zápis, propojení s databází nebo zpracování XML dokumentace - Simplified Deployment o .NET Framework má nástroje, které napomáhají tomu, aby při instalaci nebyl narušen běh jiných programů, aby jiné aplikace nebyly ovlivněny. - Security o Ochrana byla navržena tak, aby zaznamenávala možnou poruchovost systému, např. přetečení bufferu. .NET FW poskytuje také ochranu aplikací. - Portability o Znamená přenositelnost mezi platformami. Program, který je napsán v jednom frameworku může běžet i na jiném systému, na kterém je daný FW nainstalován. 3.5.2 Historie .NET - 1999 byla hotova první beta verze - 2001 dokončena platforma .NET 1.0 - 2003 byl dokončen první velký upgrade platforma .NET 1.1 - 2006 platforma .NET 2.0 - 2007 .NET 3.0, 3.5 3.5.3 .NET 3.5 Framework Nová API pro vystavění řízených aplikací - Windows Presentation Foundation (WPF) o grafický subsystém s podporou multimédií a animací - Windows Communication Foundation (WCF) 26 o subsystém pro stavbu servisně orientovaných webových aplikací dle principů SOA - Windows Workflow Foundation (WF) o subsystém pro modelování toků procesů - Windows CardSpace o subsystém pro správu digitálních identit. 3.5.4 Visual Studio Visual Studio je komplexní sada nástrojů pro vývoj a správu celé řady aplikací v prostředí Windows a Microsoft .NET Framework. Stručný přehled verzí tohoto produktu naleznete v práci z předcházejícího semestru. My jsme se v tomto dokumentu zaměřili především na novou verzi produktu Visual Studio 2008. 3.5.4.1 Historie Visual Studia 1997 Visual Studio 97 - Prní pokus Microsoftu o integrovanou sadu vývojářských nástrojů. - Součástí je Visual C++ 5.0 (VC); Visual Basic 5.0 (VB); Visual J++ (VJ)1.1. - Technologie ASP (Active Server Pages) a Visual InterDev. 1998 Visual Studio 6 - Obsahuje všechny jazyky jako předchozí verze - VC 6, VB 6, VJ 6 2002 Visual Studio.Net (2002) - .NET 1.0 Framework - Přibývají nové jazyky C#, Visual Basic, J# a JavaScript 2003 Visual Studio 2003 - .NET 1.1 - Jazyk C++ - V USA nejpopulárnější technologie 2005 Visual Studio 2005 - integrace s MS SQL server (SQL 2005) - C++ mění syntaxi 27 - C#, VB, C++ jsou zevšeobecněny 3.5.5 Visual Studio 2008 Konečná verze Visual Studia 2008 byla puštěna do světa 19.11 2007, s ní byl uvolněn i .NET Framework 3.5. Visual Studio 2008 umožňuje komunikaci i se staršími frameworky 2.0 a 3.0. Novinky v této verzi VS se týkají především webových stránek. VS Multi-Targeting Nová verze VS umožňuje podporovat různé verze frameworku (.NET 2.0, 3.0, 3.5). Starší verze podporovaly vždy jen jeden framework. Obrázek 16 Multi-targeting VS 2008 Web Designer a podpora CSS Obsahuje vylepšený (X)HTML designer a lepší podporu CSS. 28 Obrázek 17 Podpora CSS ASP.NET Ajax a podpora JavaScriptu Vylepšená podpora JavaScriptu. Jedna z hlavních výhod JavaScriptu ve VS 2008 je vylepšená podpora ladění JS. Tím pádem bude tvorba JS a AJAX aplikací výrazně jednodušší. Obrázek 18 Podpora JavaScriptu Vylepšení jazyků a LINQ Tato verze obsahuje vylepšené kompilátory jazyků VB a C#, objevují se zde prvky funkcionálního programování. 29 Další novinkou je LINQ. LINQ je jazyk, který usnadňuje práci s daty a dotazování. Je možné ho propojit s MS SQL, MySQL, XML, XSD až po LDAP (protokol pro ukládání a přístup k datům na adresářovém serveru), webovou galerií nebo internetovým obchodem. Automatic Properties, Object Initializer and Collection Initializers Umožňují snadnější vytváření kolekcí, vlastností a dalších objektů Extension Methods Umožňují rozšířit veřejné rozhraní typů bez přístupu k jejich kódu. Programátor si může vytvořit své vlastní třídy. Obrázek 19 Extention methods Lambda Expressions Lambda Expressions umožňují mít stručnější a funkčnější syntaxy pro psaní anonymních metod. Poskytují způsob jak psát kompaktní funkce, které mohou být použity na pozdější vyhodnocení různých podmínek. Rozšířené anonymní metody známé již z .NET 2.0 Query Syntax Syntaxe pro vytváření dotazů. Využívá operátory jazyka LINQ Anonymous Types Anonymní typ je rys jazyků C# a VB, která znemožňuje vývojářům stručně definovat vnitřní kód CLR typů, bez definování formální deklarace třídy daného typu. 30 Vlastnost známá z funkcionálních jazyků. Lze použít pouze pro lokální proměnné za klíčovým slovem var, typ výrazu je odvozen toho jak je daná proměnná použita. Obrázek : Anonymous Types 3.5.6 Modelování 3.5.6.1 Class designer Class Designer slouží k modelování jednotlivých tříd uvnitř projektu, dědičnosti, struktury a asociací. Nejedná se však přímo o UML jazyk, Class Designer je mu pouze podobný. MS se z důvodu toho, že UML nepodporuje např. události a vlastnosti rozhodl vytvořit vlastní jazyk pro tvorbu diagramů. Velkou předností Class Designeru je obousměrná synchronizace mezi modelem a kódem. Ve verzi 2008 chybí vizuální návrhář tříd pro C++. Pro další informace odkazuji do dokumentu z předchozího semestru. 31 Obrázek 20 Class designer 3.5.6.2 Application Connection Designer Slouží k modelování částí distribuovaných aplikací jako jsou databáze, webová služba nebo tenká, tlustá aplikace. 3.5.6.3 Logical Datacenter Designer Umožňuje modelovat jednotlivé počítače v datovém centru (aplikační server, web server, klientský počítač…). 3.5.6.4 Deployment Designer Spojuje oba předchozí typy (ACD a LDD). 3.5.7 Dokumentace Visual Studio podporuje tvorbu technické dokumentace. XML Documentation umožňuje vývojářům tvorbu technické dokumentace. Ve Visual Basic vkládáme mezi kód poznámky takto '<summary>Vraci vysledek vypocetnich operaci</summary>, pokud programujeme v C# nahradíme označení poznámky ///. Pro získání dokumentace ze zdrojových kódů VB musíme použít opensource aplikaci VB.DOC. V C# zapíšeme do kódu příkaz //compile with: /doc:XMLsample.xml. 32 3.6. Borland Delphi 2006 Vzhledem k tomu, že od minulého semestru se nezměnila verze tohoto vývojového nástroje, odkazujeme na bližší informace na text, který vytvořili naši předchůdci. 4. CASE nástroje 4.1. Select Architect CASE nástroj Select Architect je součástí komplexního balíku Select Solution Factory 7.0 společnsotí Select Business Solutions. Tento balík nástrojů je koncipován pro objektově orientovaný vývoj aplikací ve vícevrstevné architektuře. Vyniká unikátní šíří záběru podpory pro sběr požadavků, procesní modelování, objektově orientované modelování v notaci UML, datové modelování, generování kódu a relačních databázových schémat. Díky automatizaci vývojových činností a důslednému uplatnění principu znovupoužití umožňuje čelit rostoucím nárokům na funkčnost, spolehlivost a délku vývoje informačních systémů. Nasazení Select Solution Factory 7.0 vede k zefektivnění procesu vývoje a údržby aplikací, ke snížení nákladů, ke zvýšení kvality a ke zkrácení reakce na požadavky uživatelů. Podporované modely: • • • • • • • • • • • • Počítačově nezávislý model (CIM) Platformově nezávislý model (PIM) Platformově specifický model (PSM) Relační datový model (Entity Relation-ship Diagram) Diagram hierarchie procesů (Process Hierarchy Diagram) Diagram procesních řetězců (Process Thread Diagrams nebo BPMN) Model typových úloh (Use Case) Diagram objektových sekvencí (Object Sequence Diagram) včetně možnosti animace Diagram tříd (Class Diagram) Stavový diagram (State Transition Diagram) Diagram spolupráce objektů (Object Collaboration Diagram) Diagram aktivit (Activity Diagram) Podporované techniky : • Vývoj prostřednictvím modelem řízené architektury (MDA) transformace analytického modelu do modelu návrhu a vzájemná synchronizace těchto modelů o Synchronizery kódu - synchronizace kódu s modelem pro programovací ja-zyky C++, C#, Java, Visual Basic, PowerBuilder a Delphi o • • Tvorba dokumentace Generovaní a reverzace DB skriptů o Access, DB2, Dbase, FoxPro, Informix, Ingress, Interbase, Oracle, SQL Server a Sybase 33 • Multiuživatelská repository o Vytvářené modely a jednotlivé objekty modelů jsou ukládány do robustní objektové repository, která umožňuje souběžný přístup desítek uživatelů, zajišťuje konzistenci a další pokročilé funkce jako je například víceúrovňové odčinění změn (Undo). Odpadá tím riziko vzniku nekonzistencí nebo potřeby pracného sehrávání a konsolidace modelů. 4.1.1 Novinky ve verzi 7.0 • Zlepšení logického datového modelování o cizích klíčů v logických datových modelech o rozšíření možností pro definici datového typu atributu • Zlepšení grafického vzhledu diagramů o nastavovat 3D stínování symbolů o používat individuální barvy pro každý symbol o měnit barvy symbolů na základě přiřazeného stereotypu • Možnost přizpůsobení vzhledu uživatelského rozhraní dle uživatelských rolí o Select Architect 7.0 poskytuje možnost přizpůsobení uživatelského rozhraní pro různé uživatelské role. Každý uživatel má možnost nastavit svůj vlastní vzhled uživatelského rozhraní tak, aby ideálně odpovídal jeho roli ve vývojovém týmu. • • XML schéma generátor pro libovolné transformace Podpora XMI 2.0 o V nové verzi Select Architect 7.0 je možné importovat a exportovat modely prostřednictvím formátu pro výměnu modelu XMI. Při exportu modelů ze Select Architect 7.0 je možné také definovat, jaké atributy jednotlivých model elementů mají být zahrnuté do výsledného XML. • Nové synchronizéry pro Visual Studio 2005 o Visual Basic Sync, C# Sync 34 Obrázek 21. Ukázka rozhraní Select Atchitect - Class D 4.2. Borland Together 2007 Borland Together 2007 je nástrojem umožňujícím analyzovat, navrhovat a implementovat pružné a udržovatelné softwarové architektury, které mohou být snadno modifikovány, tak jak se mění požadavky. Názorné pochopení důležitých rozhodnutí také umožňuje business a systémovým analytikům, architektům a vývojářům mít přehled, jestli upravují business procesy, vytvářejí nové aplikace nebo extrahují konstrukční informace z existujících systemů. Integrace Togetheru s některým z předních nástrojů pro definici a řízení požadavků (Requirements Definition and Management) umožňuje přímý přístup, opětovné užití a sledovatelnost od a k požadavkům, čímž lze snadno zjistit, zda vývojové týmy plní zákazníkova očekávání. Together je navržen tak, aby splňoval specifické potřeby při modelování pro všechny role ve vývojových týmech umožnujíce jim efektivně spolupracovat při tvorbě velmi kvalitních aplikací v kratším čase. Týmy pracující na nových nebo existujících business procesech, analyzách, návrzích a architekturách těží z rozšířené komunikace a sníženého rizika zpoždění projektu. Modely zobrazují nákres business procesů, aplikací, architektur i datových struktur. Tyto modely jsou základem pro komunikaci v projektových týmech a podporují také kvalitu řešení. Názornost modelů napomáhá vypořádat se s komplexností problémů rozvojem jejich pochopení, komunikace a dokumentace. Tak jak se zvyšuje komplexnost aplikací a business procesů, nabývají na důležitosti dobré modelovací 35 techniky zajišťující správnost, kvalitu a dlouhotrvající udržovatelnost. Optimalizace business procesů, návrh aplikací and generativní techniky jsou zásadní při snižování nákladů IT organizací. Together dává vývojářským týmům možnost vytvářet a znovu používat osvědčené konstrukční vzory pro jednotivá odvětví (industry-standard), čímž zajišťuje vysokou kvalitu aplikací a podporuje využívání uspěšných návrhů. Umožňuje také vytvářet na platformě nezávislé návrhy, které pak díky podpoře velkého spektra programovacích jazyků mohou již architekti transformovat na modely konkrétních platforem. Borland Together 2007 je založen na opensourcové technologii Eclipse Framework a je v souladu se standardy MDA: Unified Modeling Language (UML), XML Metadata Interchange (XMI), Query/Views/Transformations (QVT) a Object Constraint Language (OCL). Borland ovlivňuje Model Driven Architecture (MDA), konkrétně QVT, za přispění průlomové technologie transformace modelů. Tato technologie umožňuje architektům převést jakýkoli typ modelu založeného na Eclipse Modeling Frameworku (EMF) na jiný model (např. CIM na PIM, PIM na PSM, atd.). Značná automatizace a funkce šetřící čas podporují efektivitu práce vývojářských týmů. Klíčové funkce zahrnují automatickou tvorbu dokumentace, opětovné užití softwarových součástí jako jsou vzory a definice komponent a unikátní technologii LiveSource (round-trip technologie), která pomáhá udržovat kód a modely synchronizované v každém okamžiku. 4.2.1 Hlavní rysy Domain-Specific Language (DSL) Toolkit (nově ve verzi 2007) • vizuální modelování doménově-specifických meta modelů • průvodce tvorbou DSL řešení (včetně transformace modelů a generátorů kódu) a BIRT reportů jako prvků Eclipse • UML 2.1 diagramy založené na GMF (Activity, Class, Component, State, Profile) Modelování business procesů • Business Process Modeling Notation (BPMN) včetně kontroly validity • Import/export BPELu (Business Process Execution Language) webových služeb (BPEL4WS) UML modelování • tvorba na jazyku nezávislých UML 1.4 a UML 2.0 diagramů • UML modelování za pomoci LiveSource pro Java™/C++/CORBA IDL • rozdělování a spojování modelů • podpora množství jazyků Datové modelování • logické datové modely využívající UML 2.0 profil • fyzické datové modely využívající ER a IDEF1x diagramy • forward a reversní inženýrství pro přední DBMS (Oracle, DB2, Sybase, MS SQL Server) • transformace logických datových modelů na fyzické Pokročilé modelování a MDA (Model-driven architecture) • podpora Object Constraint Language (OCL) 2.0 včetně zvýraznění syntaxe a validace • QVT(Queries/Views/Transformations) pro transformace z modelu do modelu 36 • transformace model-text s xPand, JET a EMF API • generátory kódu pro Javu, J2EE™, C++, and C# (nově) • konstrukce UML profilů, aplikací a rozmístění jako Eclipse plug-in • vzory návrhů včetně podpory Gang of Four vzorů • rozpoznání vzoru návrhu zdrojového kódu • návrhy šablon kódu a jejich opětovné užití • import a export XMI 2.0 modelu • import Rose a XDE modelů Generování dokumentace • generování dokumentace ve formátu HTML vč. navigačního apletu a diagramy propojené odkazy • tvorba obrázků z diagramů v různých formátech • návrh šablon pro customizovanou dokumentaci, rozvržení diagramů pro tisk, automatické generování dokumentů Zajištění kvality • audity kódu a metriky • audity modelu založené na OCL a metriky Tým • týmová práce: sdílení diagramů a modelů mezi projekty vč. kontroly verzí • StarTeam integrace • generování use case diagramů z požadavků a sledování prvků modelu od/k požadavkům využívajíce CaliberRM a RequisitePro Platforma • Eclipse 3.3 4.2.2 Systémové požadavky Prvek Požadavek Poznámky Hardware CPU Intel® Pentium 4 Doporučeno Intel® Pentium 4 2.8 GHz nebo vyšší 1GHz (nebo kompatibilní) Paměť 1 GB minimum Doporučeno 2 GB. Pevný disk 1 GB Přibližně 450 MB z tohoto prostoru je využito pro dočasné soubory instalace, které jsou posléze smazány. Video Rozlišení Doporučené rozlišení: 1600x1200 1024x768 CD Volitelně Nutná pro instalaci z CD mechanika Software Operační Windows Vista, systém Windows XP Pro SP 2, Red Hat Enterprise Linux 4 update 2, x8632 SUSE Linux 37 IDE Platforma Java Platforma Webový prohlížeč Enterprise Server 10, x8632 Solaris 10 SPARC, GTK Mac OS X 10.4, Universal, Carbon Prozatím staví Pokud není instalován Eclipse, je požadovaná verze na Eclipse 3.3.1 nainstalována automaticky spolu s Togetherem. Sun J2SE 5.0 Požadovaná verze Java Runtime Environment je Update 11 instalována automaticky.. Pro Windows je doporučen Microsoft Internet Explorer Jakýkoli který podporuje framy 6.0 nebo vyšší Tabulka 3 Borland Together - systémové požadavky 4.2.3 Novinky ve verzi 2007 Together 2007 podporuje, jak jsem již zmínil v úvodu, platformě nezávislé Domainspecific languages (DSLs), jež jsou programovacími jazyky navrženými pro specifické úlohy. Tento produkt přichází s novinkou, DSL Toolkitem, který pomáhá organizacím překonat komplexnost UML modelů tak, že umožňuje projektovým týmům vytvářet záznamy, spojené s okruhem jejich působnosti, reprezentující aplikační architektury a business procesy v podniku. Jak říká Richard Gronback, coleader Eclipse Modeling Projectu a hlavní vědec Borlandu, „Together 2007 se zaměřuje na zjednodušení modelování pro uživatele, zejména když přijde řada na UML.“ Nově přidané a rozšířené funkce Togetheru 2007 zahrnují: • • • • podporu .NET s generováním kódu C# – mimo to i generování kódu do Javy a C++, nyní je možné generovat zdrojový kód C# z UML 2 modelů, což podporuje multiplatformní a .NET specifické projekty visual brainstorming notation – umožňuje dodat nápady a přidružené záznamy spolu se všemi podklady, které slouží jako příklad toho, jak implementovat DSL. Vzorový diagram může být použit k vyjádření nápadů, úloh nebo jiných témat týkajících se hlavního námětu nebo nápadu, a protože je postaven na Together DSL Toolkitu, může být přizpůsoben konkrétním podnikovým potřebám Rozšířené prvky Queries/Views/Transformations (QVT) – nové prvky jazyka a přidaní průvodci zjednodušují tvorbu a implementaci transformací reportování Business Intelligence and Reporting Tools (BIRT) – BIRT podporuje rozšířené funkce generování dokumentace ve standardizované podobě Funkcionalita Domain-Specific Language(DSL) zahrnuje: Vytváření a rozmístění vlastních oborově specifických modelovacích jazyků (Domain-Specific Modeling Languages) včetně následujícího: 38 • • • • • uživatelské metamodely uživatelské diagramy transformace modelů Domain model reporty uživatelsky přizpůsobené prvky rozhraní, což dělá DSL interaktivnější Podpora .NET • • • transformace UML modelu tříd na C# DSL inkrementální generování C# zdrojového kódu přizpůsobené C# DSL transformace modelů a šablony generující kód MDA / MDD • • aktualizovaný QVT engine s lepší shodou specifikace nový průvodce transformací BIRT reportování • • začlenění DSL/EMF modelů do relačních reportovacích struktur tvorba návrhu zprávy testovacího kódu DSL modelů 4.2.4 Všeobecně • • • podpora Eclipse 3.3.x platformy možnost instalace na již existující Eclipse shell podpora Windows Vista 4.2.5 Integrace Na rozdíl od Togetheru 2006 R2 Together 2007 neobsahuje propojení se systémy kontroly verzí (StarTeam, ClearCase) a produkty řízení požadavků (CaliberRM, RequisitePro). Tato propojení by měla být Borlandem dodávána zvlášť. 4.2.6 Opravené chyby (dle www.borland.com) Modelování a diagramy • • • • • • • Data modeling: Added support for Oracle 10g as a target (bug 323/trk#27132) UML: Fixed issues with failure of model merge on Interaction diagram when interaction name contains parentheses (bug 339/trk#36881) Fixed: Profiles, properties of enum type: Localized enum literal name is used as property value instead of real name (bug 341/trk#36873) UML: Eliminated exceptions that might appear while reshaping self-transition links on state diagram or self control flow links on activity diagram (bug 349/trk#36851) UML: Fixed problem with changing bending points of links in rectilinear mode on zoomed in/out diagram (bug 367/trk #36667) View management option added to specify whether default (not explicitly set) multiplicity labels are visible on diagrams (bug 368/trk#27255) UML: Fixed issues with creating packages with required stereotype (bug 370/trk#36830, 21728) 39 • • • • • • • • • • Data modeling: Members in Model navigator are sorted by metaclass first now (bug 373/trk #36688) Data modeling: Support Oracle 9i Oracle-Supplied Types: XML types (SYS.XMLType, SYS.URIType, SYS.HTTPURIType, SYS.DBURIType, SYS.XDBURIType), Spatial types (MDSYS.SDO_GEOMETRY), Media types (ORDSYS.ORDAudio, ORDSYS.ORDImage, ORDSYS.ORDImageSignature, ORDSYS.ORDVideo, ORDSYS.ORDDoc) (bug 762) Fixed: NPE is thrown if boolean properties are applied too quickly (bug 837) Added option to not display lock indicator on read-only elements in a diagram. (Bug 887/trk#36299) Fixed: Existing "view_svg_figure_id" property in profiles should be removed when SVG with no figures is selected (bug 989/trk#36909) Fixed: UML20: Correct Realization Link view mapping on Component diagram(bug 1103/trk#36895) Added possibility to specify color for links viewmapping as an RGB value (bug 1104/trk#36904) Fixed: Legacy BPMN conversion failure on inter-diagrams hyperlinks (bug 1108/trk#36906) Fixed problem with modeling functionality initialization caused by incorrect property settings for suspended root. (Bug 1117/trk#36908) Fixed: Referenced projects: Updating references at reopen takes too long (bug 1778) Zdrojové kódy • • • • • • • • • • • • • Restored audit detecting appending to String (bug 250) View option added to show interfaces as circle. Appearance of corresponding implements link also changes when option is on (bug 314/trk#36312) Restored navigation by double clink from association or dependency link to corresponding field in the source code (bug 350/trk #36298) Fixed: Java: Problems with reverse engineering caused by dots used in the source path fixed (bug 351/trk#19369) Fixed: Java UML14, impossible to set transition action expression on State diagram if class in context has unknown ancestors (bug 353/trk#36850) Fixed: Java: Link created by Association as comment template should be recognized as an association (bug 374/trk#36828) Added metris for Abstractness (A), Normalized Distance (RMD), Efferent Coupling (CE, alias for NOED), Afferent Coupling (CA, alias for NCC) (bug 451-454) RFC metric calculations are now correct. Remote calls from constructors are taken into account, while calls to own constructors are not. (Bugs 816/trk#36892 and 817/trk#36902) Fixed: QA metrics, MNOL: Analyze constructors' bodies when searching for if, for, and while branches (bug 888/trk#36905) Fixed: TCC metric should provide valid results (bug 891) Fixed: Java UML20: should be possible to set association client/supplier qualifiers using inspector (bug 1011/trk#36845) Fixed: Code templates: do not insert additional \r separator on snippet creating (bug 1012/trk#36866) Fixed: Code Templates editor: Add button in Variables tab does nothing until Properties Inspector is loaded (bug 1014/trk#36868) 40 • Fixed: Java UML14: Allow choosing classes from java libraries in instantiates chooser of Object (bug 1726/trk#36329) Generování documentace • • • • • • • • • Added possibility to specify expressions referencing images in DocGen templates. Could be helpful for inclusion at appropriate point things like screenshot images (bug 319) Fixed issue with loading Business Process diagrams into frame and navigating to these diagrams from the navigation tree of generated HTML documentation (bug 338/trk#36877) Fixed: genhtml.cmd: -nonavtree option does not work (bug 382/trk #36753) Fixed problem with ignoring part of information about formatting styles while generating RTF documentation (integrated fix earlier appeared in HotFix#3 for Together 2006 R2) (bug 677/trk#35906) Fixed: Template Designer: PASSED_ELEMENT_EXPR for panel control is always saved in legacy format (bug 935/trk#35702) Fixed: metamodel.mm: Add CLASS_DIAGRAM20 to contained_metatypes of PACKAGE (bug 1102/trk#36897) Fixed: Multiframes: Compound hyperlinks do not work if the target frame name != 'diagramFrame' (bug 1109/trk#36894) Command line: provide a way to run GenDoc with 'current package with subpackages' scope (bug 1470/trk#36696) Issues caused corrupted PDF generated in case element name includes '&' character fixed (bug 1612/trk#36917) Import a Export • • • • • • • • • Legacy project import: Fixed several specific issues related association links corruption while importing multiroot TCC projects with options 'create separate roots' and 'copy & convert to design' on bug 158/ (trk#36833, #36834) Fixed: Problem with XMI export failure on processing Property20 with "mod__type" matching existing stereotype, introduced in localized release of Together 2006 R2 fixed (bug 308/trk#36882) Legacy project import: References to links in converted diagrams are now updated properly during conversion so that custom layout of links is preserved (bug 363/trk#23859) Fixed: Export to DDL, MSSQL: Put "go" on its own line when exporting to an SQL script (bug 371/trk #36609) Fixed: Legacy project import: The presence of *.txt files in the roots of legacy TCC/TA1.x projects during an import skips conversion of legacy DF format to new XML-based one. (Bug 378/trk#33718) Fixed: Legacy project import: Dependency links from diagrams are lost (bug 1002/trk#36831) Fixed: Legacy project import: For convert to design, all instances of multivalued custom values should be preserved (bug 1112/trk#36885) Fixed: Legacy project import: C++ project Import: Provide option to add CDT features on Import (bug 1126/trk#34689) Fixed: Legacy project import: Conversion to design fails for hyperlinks to/from Java members whose types cannot be resolved (bug 1386/trk#36795) 41 • • • Fixed: Legacy project import: convert to design: Typelink for attribute not created if type belongs to different root (bug 1411/trk[#36913) Fixed: Legacy project import: The shortcuts to classes on package diagram are lost (bug 1431/trk#21067) Fixed: Legacy project import: Avoid multiple IllegalArgumentException errors on converting message with empty @operation tag (bug 1469/trk#36585) Ostatní • • • • • Added spell checking support for descriptions in Properties view (bug 24/trk#14607) Fixed: When -vm parameters with superfluous non-ASCII characters are specified in a .ini file, these parameters are ignored. (Bug 306/trk#36865) Fixed: Properties: Clipboard shortcut keys Ctrl+X/C/V do not work (bug 381/trk#34158) Fixed: Properties, Description Editor: Text prefixed with '/' not visible in Edit tab (bug 427/trk#36827) Fixed: Properties, Rich Text Editor: Correctly generate HTML tag for font background (bug 428/trk#36853) 42 4.2.7 Ukázka uživatelského rozhraní Obrázek 22 – Together 2007 – Gendoc designer šablon 43 4.3. Visual Paradigm for UML 6.1 SP1 Visual Paradigm for UML je profesionální CASE a UML modelovací nástroj podporující celý proces vývoje softwaru od objektově orientované analýzy až po návrh včetně tvorby dokumentace. Napomáhá tak vytvářet kvalitní aplikace rychleji a s nižšími náklady. Mezi jeho přednosti patří zejména jednoduchost, multiplatformnost a velmi dobrá spolupráce s jinými CASE nástroji a většinou předních IDE. 4.3.1 Hlavní rysy • UML modelování Začleněna podpora UML verze 2.1. S ohledem na uživatelskou přívětivost lze jednoduše lze vytvářet množství různých typů diagramů jako např. class diagram, use case diagram, sekvenční diagram, communication diagram, state machine diagram, activity diagram, component diagram, deployment diagram, package diagram, object diagram, composite structure diagram, timing diagram a další. • Modelování požadavků Zachycení požadavků v SysML Requirement diagramu, Use Case modelování, textové analýzy, CRC a další. • Modelování databází Entity relationship diagram, ORM diagram, reverze existující databáze do ERD, generování databázového schéma (DDL), přizpůsobitelné generování SQL a další • Modelování business procesů Vizualizace, podpora pochopení a zlepšení business procesů pomocí komplexního BPMN nástroje • Podpora týmové spolupráce Souběžné modelování pomocí VP Teamwork Serveru • Součinost Visual Paradigm for UML podporuje import a export pro XMI verze 1.0, 1.2 a 2.1, projektové soubory Rational Rose (.MDL/.CAT) lze importovat také, a to za pomoci Rose Importeru. Pro maximální možnou součinnost s ostatními aplikacemi byl zaveden import/export projektu z/do XML formátu. • Generování a reverze více jak 10 jazyků Visual Paradigm podporuje jak generování kódu, tak i reverzní inženýrství pro Javu, C++, CORBA IDL, PHP, XML Schema, Ada a Python. Mimo to lze generovat kód do C#, VB .NET, Object Definition Language (ODL), Flash ActionScriptu, Delphi, Perlu, Objective-C a Ruby. Reverzní inženýrství také podporuje Java třídy, .NET dll a exe, JDBC a Hibernate mapping soubory. • Podpora synchronizace Java kódu 44 Nezávislé změny na modelu nebo v kódu jsou synchronizovány bez ztráty dat. • Generování dokumentace Podpora formátů PDF, HTML a MS Word 4.3.2 Novinky ve verzi 6.1 • Podpora záložek Záložky jsou pojmenované odkazy na diagram nebo prvek v otevřeném projektu. • Import Telelogic Rhapsody projektových souborů • Operace na příkazové řádce Visual Paradigm v nové verzi umožňuje dávkové zpracování úloh spouštěním příkazů. • Podpora procedur a databázových trigrů • Export revizí z Visual Paradigm Teamwork Serveru, ze Subversion Repository a CVS Repository Revize je jakýsi obraz repozituře v určitý moment. V této verzi lze tyto revize exportovat ze serveru a otevřít je na straně klienta. • Vyhledávatelné volby Visual Paradigm je velmi uživatelsky přizpůsobitelný, má stovky (ne-li tisíce) konfigurovatelných voleb v dialogových oknech aplikace, proto byla zavedena funkce na vyhledávání požadované volby, což urychluje práci a nastavení programu. • Rozšířená využitelnost Sequence Diagramu • Funkce „Jump to“ Pomocí funkce „Jump To“ lze rychle nalézt diagram podle jeho jména, což šetří čas oproti vyhledávání diagramů Diagram navigátorem. • Přidány komponenty strom a tabulka do návrhu uživatelského rozhraní 45 4.3.3 Ukázka uživatelského rozhraní Obrázek 23 – Visual Paradigm – Class diagram 46 Obrázek 24 – Visual Paradigm – Návrh 4.4 Sparx Systems Enterprise Architect Sparx Systems je vývojářská firma z Australie, hlavní výrobek které je Enterprise Architect. Enterprise Architect je modelovací nástroj, který ve své nejnovější verzi 7.0 podporuje Unified Modeling Language (UML) 2.1. Ve srovnání s předchozí verzi 6.5 má tato nová verze i další vylepšení: nový mind mapping profiler, zlepšený interface, vylepšení undo-redo, podpora auditu změn a vylepšený version control, import a export do XML, rozšířena podpora Eclipse a Microsoft Visual Studio 2005, analytické nástroje se schopnosti reverse engineeringu. 47 4.4.1 UML 2.1 Enterprise Architect nejenom podporuje všech 13 UML 2 diagramů, ale nabízí ještě dva diagramy navíc. Jedná se o tyto diagramy: Class, Object, Obrázek 25: Enterprise Architect 7.0 – práce s UML diagramy Composite, Package, Component, Use Case, Communication, Sequence, Interaction Overview, Activity, State, Timing; a dva navíc: Analysis (zjednodušený activity model), Custom (pro požadavky, změny, UI). 4.4.2 Datové modelování Jedno z nejdůležitějších modelování ve sféře vývoje software je právě datové modelování. Modelování datové základy bylo ve verzi 7.0 vylepšeno: přibyla podpora importu přes ODBC procedur, view, triggerů, sekvencí, funkcí atd. pro některé databáze. Kromě podporovaných DBMS již z minulé verze (DB2, InterBase, MS Access, MySQL, Oracle9i, PostgreSQL, MS SQL Server, Sybase Adaptive Server Anywhere a Firebird), datové modelování nyní podporuje rovněž novější Adaptive Server Anywhere, Informix, Ingres a SQL Server 2005. 48 Obrázek 26: Enterprise Architect 7.0 – MDA Transformace pro EJB 4.4.3 MDA Model Driven Architecture, neboli MDA, je přístup k designu softwaru, kdy se nejprve vytváří PIM (Platform Independent Model) a teprve z něj se s použitím PDM (Platform Definition Model) vytváří PSM (Platform Specific Model). Modelování zaujímá hlavní roli v MDA, proto výběr modelovacího nástroje k tomuto použitého musí být opatrný. Právě Enterprise Architect je v tomto případě velmi dobrým kandidátem mj. díky schopnosti synchronizovat více PSM s jediným PIM a vestavěné podpoře transformací pro DDL, C#, Javu, EJB a XSD. 4.4.4 Code Engineering Code engineering v Enterprise Architectu není omezeno pouze forward engineeringem (jako třeba zmíněný MDA), ale taktéž je podporován reverse engineering a round-trip engineering. Kromě věcí, které již byli v předchozí verzi, se nově objevuje podpora round-trip engineering pro objektově orientované C, byl zlepšen reverse engineering C++ a vylepšena podpora importu strojového kódu .Net, čtení javadoc komentářů, práce s referenčními atributy v Delphi, reverse engineering importních příkazu v Pythonu a další. 49 Obrázek 27: Enterprise Architect 7.0 – ukázka Code Engineering 4.4.5. Podpora IDE Podpora IDE je v Enterprise Architectu řešená pomocí speciálních pluginů. Současně jsou nabízeny dva takové pluginy: jeden pro Eclipse a jeden pro Microsoft Visual Studion 2005. Integrace tímto způsobem umožňuje vývojářům využívat schopnosti Enterprise Architectu (například, reverse nebo forward engineering) přímo z IDE. Nicméně každý z těchto pluginů se musí kupovat zvlášť. 4.4.6 Edice Jednou z nejlepších vlastnosti Enterprise Architectu pořad zůstává poměr ceny a kvality. Sparx Systems nabízí 3 různé edice programu: Desktop, Professional a Corporate; s tím, že Corporate edice může být rovněž za větší cenu zakoupená s přenositelnou (Floating) licenci, což je velmi užitečné pro automatizaci udělení licencí uvnitř organizace. Celkové rozdělení cen je pak vidět v následující tabulce (ceny jsou v US dolarech): Počet licencí \ Edice Desktop Professional Corporate Corporate Floating 1 až 4 $135 $199 $239 $335 5 až 19 $120 $189 $219 $299 20 až 100 $110 $179 $199 $285 více než 100 $95 $165 $185 $265 50 4.5 Sybase PowerDesigner PowerDesigner je všestranný CASE nástroj od velké americké firmy Sybase, která je rovněž známá velkým počtem jiných kvalitních produktů, jako například databáze Adaptive Server Enterprise, SQL Anywhere, IQ. Ve srovnání s předchozí verzi 12.0, nová verze 12.5 přináší hlavně hodně vylepšení existující funkcionality, ale v několika případech i nové funkce. 4.5.1 Modelovací techniky Sybase PowerDesigner je všestranný CASE nástroj, který podporuje více modelovacích technik: business modelování – modelování business procesů, kde přibyla podpora pro BPEL 2.0 a data flow diagram; datové modelování – několikaúrovňové konceptuální, logické, fyzické a DWH datové modelování s podporou, například, Javy, XML a webových služeb; objektové modelování – vysoce mezi různými modely v podniku rozšiřitelné modelování na základě UML 1.x a 2.0 – nově podpora package, interaction overview a activity diagramů, díky čemu jsou nyní podporovány všechny UML 2.0 diagramy; XML modelování – speciální techniky pro dokumentování, generování a reverse engineering XML schema a XML DTD struktur, což umožňuje zmapovat použití XML v celé organizaci; enterprise modelování – modelování s pomocí technologie Link and Synch pro management meta-dat a analýzu vlivů uvnitř projektu nebo i celého podniku; a v nové verzi i information liquidity model (ETL, EII a modelování replikace). Obrázek 28: Sybase PowerDesigner 12.5 – vazby 4.5.2 Podporované platformy Rovněž podporuje více platforem: má plnou podporu pro round-trip engineering pro skoro 60 různých RDBMS, nejznámější ze kterých jsou nejnovější Oracle, IBM DB/2, MS SQL Server, Sybase (ASE, SQL Anywhere), MySQL, NCR Teradata a další. Nově přibyla podpora pro Sybase IQ 12.7, IBM DB/2 UDB V2, MS SQL Server 2005 (database mirroring, service broker, generace analytických služeb, reverse engineering kostek). 4.5.3 Enterprise 51 Kromě toho je PowerDesigner velmi dobře uzpůsoben práci ve velkých podnicích, kde na jednom projektů může pracovat hodně lidi ve zcela různých funkcích. Pro tyto případy umožňuje několika lidem pracovat na stejném modelů ve stejný čas, ale také vyhledávat a využívat stejné objekty ve více modelech. Rovněž nabízí Cross-Model Impact Analysis, což umožňuje mapovat vazby mezi modely a zjišťovat vliv změn na celý podnik. Dále je PowerDesigner schopen udržovat a verzovat všechny modely na jednom místě, nabízíObrázek 29: Sybase PowerDesigner 12.5 – bezpečnost na úrovní (role, logování,Enterprise Architecture jednodušší práva pro změny i jenom pro čtení, jak modelů tak i pod-modelů). 4.5.4 Podpora IDE Sybase PowerDesigner 12 již podporoval Eclipse 3.1 (3.2 pouze omezeně) a Microsoft Visual Studio 2005. V nové verzi 12.5 přichází navíc plná podpora Eclipse verze 3.2 a 3.3, přičemž v obou případech je vyžadován JDK 1.5 na rozdíl od Eclipse 3.1, kde stačí JDK 1.4. 52 5. Seznam použitých zdrojů [1] Vít Kolář: „Vazba mezi Case nástroji a vývojovými prostředími (automatické generování kódu, automatický reversní engineering)l“, bak. práce, VŠE, KIT, 2007 [2] Chikofsky, E.J., and Cross II, J.H.: „Reverse engineering and Design Recovery: A Taxonomy“, IEEE Software, pp. 13-17, 1990 [3] OMG: „MDA Guide Version 1.0.1“, el. zdroj: http://www.omg.org/docs/omg/03-06-01.pdf, June 2007 [4] Wikipedia: „Domain Model“, el. zdroj: http://en.wikipedia.org/wiki/Domain_model, December 2007 [5] Jan Lébl: „MDA technologie pro vývoj podnikových IS“, Connect! str. 1012, září 2005 [6] LBMS s.r.o.: „MDA (Model Driven Architecture)“, el. zdroj: http://www.lbms.cz/Reseni/Tema/MDA.htm [7] LBMS s.r.o: „Select Architekt“, el. zdroj: http://www.lbms.cz/Nastroje/Select-Architect/index.html [8] JÁNSKÝ, Vítězslav. Semestrální práce z kurzu vývoj klient/server aplikací [online]. 2004 [cit. 2007-12-20], el. zdroj: <http://nb.vse.cz/~zelenyj/it380/eseje/xjanv15/eclipse.htm>. [9] ZAPLETAL, Lukáš. Eclipse 2 – IDE na všechno [online]. 2002 [cit. 200712-20], el. zdroj: <http://www.root.cz/clanky/eclipse-2-ide-na-vsechno/>. [10] BORŮVKA, Zdeněk. Eclipse vs. IBM – opensource v centru dění [online]. 2007 [cit. 2007-12-20], el. zdroj: <http://www.linuxexpo.cz/files/CZ_LinuxExpo_Rational.pdf>. [11] Eclipse (Vývojové prostředí), el. zdroj: http://cs.wikipedia.org/wiki/Eclipse_%28v%C3%BDvojov%C3%A9_prost% C5%99ed%C3%AD%29 [12] Eclipse.org home, el. zdroj: http://www.eclipse.org [13] KOUBA, Tomáš. JDeveloper - instalace [online]. 2006 [cit. 2007-12-22]. Dostupný na WWW: <http://www.neo.cz/~tomas/java.net/2006/05/jdeveloper-instalace.html>. [14] HOLUBEC, Jiří. Ajax komponenty od Oracle [online]. 2007 [cit. 2007-1222]. Dostupný na WWW: <http://www.java.cz/detail.do?articleId=8145>. [15] KAO, James. Oracle JDeveloper 11g Preview and over 80 AJAXenabled Open Source JSF Components Released, el. zdroj: http://www.infoq.com/news/2007/05/jdeveloper [16] Oracle.com, el. zdroj: http://www.oracle.com 53 [17] Sparx updates Enterprise Architect modelling tool - ZDNet UK, el. zdroj: http://news.zdnet.co.uk/software/0,1000000121,39288460,00.htm [18] Stránky produktu Enterprise Architect (Sparx Systems), el. zdroj: http://www.sparxsystems.com.au/products/ea.html [19] Data Modeling Tools Review, el. zdroj: http://sqljunkies.com/WebLog/outerjoin/archive/2006/11/19/23679.aspx [20] Stránky produktu PowerDesigner (Sybase), el. zdroj: http://www.sybase.com/products/modelingmetadata/powerdesigner [21] Visual Studio 2008 a .NET 3.5 Beta 2, el. zdroj: http://programujte.com/index.php?akce=clanek&cl=2007072701visual-studio-2008-a-net-3-5-beta-2 [22] Platforma .NET, el. zdroj: http://mathonline.fme.vutbr.cz/Platforma-.Net/sc-92-sr-1-a93/default.aspx [23] .NET Framework, el. zdroj: http://en.wikipedia.org/wiki/.NET_Framework#.NET_Framework_1.1 [24] Visual Studio 2008: Vývojářské nekonečno, el. zdroj: http://www.zive.cz/Visual-Studio-2008-Vyvojarske-nekonecno/sr1-a-138579/default.aspx [25] Modelování aplikací nanovo, el. zdroj: http://www.lbms.cz/Reseni/_pdf/0502-C!-JL-Modelovani-aplikacinanovo.pdf [26] Microsoft Česká republika, el. zdroj: http://www.microsoft.com/cs/cz/ [27] NetBeans.org, el. zdroj: http://www.netbeans.org [28] Comparison of documentation generators, el. zdroj: http://en.wikipedia.org/wiki/Comparison_of_documentation_generators 54
Podobné dokumenty
Nástroje pro vývoj aplikací a jejich vazba na CASE
se zejména o přehledný editor zdrojového kódu (barevné odlišení jednotlivých částí
zdrojového kódu) nebo například o nástroj na upozornění a odstraňování chyb ve zdrojovém
kódu aplikace (nápomocné ...
Otevírání černých skříněk
popsány. Pokud by se tak nestalo, nemusela by se IT oddělení
dál tvářit jako černé skříňky, ale postupně by upgradovala
na skříňky Pandořiny.
Proto také v těchto novinách píšeme i o technologiích, ...
Nástroje pro vývoj aplikací v závislosti na platformě a jejich vazba na
účelem většiny CASE nástrojů, ale pomoci vývoji aplikací lze i jinými způsoby, což je předvedeno
zejména v kapitole týkající se Javy. Opět nebudeme uvádět podrobnější popis toho, co CASE vlastně
je...
- DPD_Magazin_etrend_04_2014
bychom asi mohli nazvat proces práce
s daty. Tak jako obchodní řetězce sbírají
údaje o zákaznících a jejich nákupech
prostřednictvím věrnostních karet, tak
e-shopy získávají data při pohybu zákazní...
Topologické operace ve vybraných software a geodatabázích
jsou topologické vztahy podle OGC a možnost využití DE-9IM (rozšířeného 9-ti průsečíkového modelu). Kapitola zahrnuje základní topologické operace AND, MINUS,
OR, XOR. Topologický model uložení Pos...
imtools Documentation
Input: data - CT (nebo MRI) 3D data segmentation - zakladni oblast pro segmentaci, oznacena struktura se
stejnymi rozmery jako “data”,
kde je oznaceni (label) jako: 1 jatra, -1 zajimava tkan (kosti...
1/2015 pdf - Hnutí Pro život ČR
procesu umělého oplodnění. Současná právní úprava je založena na zásadě naprosté
anonymity. V důsledku toho současná právní úprava nebere vůbec ohled na zájmy počatých dětí a umožňuje nekontrolovat...
Anotace a Hibernate
Při implementaci objektově relačního mapování v Javě se používají tyto tři
hlavní způsoby:
1. Použití externího souboru – jedná se obvykle o XML deskriptor obsahující
metadata pro ORM mapování, nas...
Nástroje pro vývoj aplikací a jejich vazba na CASE
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 p...