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

Transkript

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

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

Více

Otevírání černých skříněk

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

Více

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

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

Více

- DPD_Magazin_etrend_04_2014

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

Více

Topologické operace ve vybraných software a geodatabázích

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

Více

imtools Documentation

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

Více

1/2015 pdf - Hnutí Pro život ČR

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

Více

Anotace a Hibernate

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

Více

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

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

Více