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

Komentáře

Transkript

Nástroje pro vývoj aplikací a jejich vazba na CASE
Semestrální práce
-
Nástroje pro vývoj aplikací a jejich vazba na CASE
vypracovali: Langmaier Petr
Převrátil Martin
Knap Pavel
Hofman Lukáš
Bičík Petr
předmět:
datum:
4IT450
květen 2007
Obsah
1
2
Úvod ................................................................................................................................... 4
Vývojová prostředí (IDE), možnosti a míra integrace CASE nástrojů .............................. 5
2.1
Eclipse ........................................................................................................................ 6
2.1.1
Architektura Eclipse........................................................................................... 7
2.1.2
Projekty Eclipse.................................................................................................. 7
2.1.3
Členové Eclipse.................................................................................................. 8
2.1.4
Poslední verze Eclipse 3.2.2............................................................................... 8
2.1.5
Výhody Eclipse ................................................................................................ 10
2.2
MyEclipse................................................................................................................. 11
2.2.1
Podpora CASE nástrojů pro vývoj na platformě JAVA .................................. 11
2.2.2
Výběr databázové platformy ............................................................................ 12
2.3
JDeveloper 10g......................................................................................................... 13
2.3.1
Úvod ................................................................................................................. 13
2.3.2
Závěr................................................................................................................. 14
2.3.3
Ukázka uživatelského rozhraní ........................................................................ 15
2.3.4
Další produkty podporující JAVU ................................................................... 16
2.4
Borland Delphi 2006 ................................................................................................ 17
2.4.1
Obecné informace ............................................................................................ 17
2.4.2
Přehled jednotlivých edicí................................................................................ 17
2.4.3
Vazba na CASE................................................................................................ 18
2.4.4
Co je nového ve verzi 2006? ............................................................................ 19
2.4.5
Resume ............................................................................................................. 21
2.5
PowerBuilder Enterprise 10.5. ................................................................................. 22
2.5.1
Nové funkčnosti verze 10.5.............................................................................. 23
2.5.2
Závěr................................................................................................................. 24
2.6
Visual Studio 2005 ................................................................................................... 25
2.6.2
Web Matrix ...................................................................................................... 30
2.6.3
Další nástroje.................................................................................................... 30
2.6.4
Visual Studio 2005 Class Designer.................................................................. 30
2.6.5
Co je to platforma .NET................................................................................... 31
3
CASE nástroje, způsob podpory vývoje aplikací, návaznost na IDE .............................. 34
3.1
Borland Together 2006............................................................................................. 35
3.1.1
Úvod ................................................................................................................. 35
3.1.2
Together Architect............................................................................................ 36
3.1.3
Together Designer ............................................................................................ 36
3.1.4
Together Developer.......................................................................................... 37
3.1.5
Tvorba metrik a auditů: .................................................................................... 38
3.1.6
Návrh vzorů...................................................................................................... 40
3.1.7
Generování dokumentace................................................................................. 41
3.1.8
Podpora Eclipse a Microsoft Visual Studio ..................................................... 41
3.1.9
Resume ............................................................................................................. 42
3.2
Visual Paradigm for UML 6.0.................................................................................. 43
3.2.1
Úvod ................................................................................................................. 43
3.2.2
Vlastnosti.......................................................................................................... 43
3.2.3
Resume ............................................................................................................. 44
3.3
Microsoft Visio 2007 ............................................................................................... 45
3.4
MagicDraw UML 12.1 ............................................................................................. 47
2/61
4
5
6
7
3.5
Power Designer 12.1 ................................................................................................ 49
3.5.1
Power Designer podporuje ............................................................................... 49
3.5.2
Generování, reverse a synchronizace kódu ...................................................... 52
3.5.3
Novinky v aktuální verzi 12.1 .......................................................................... 53
3.6
Select Architect 7.0 .................................................................................................. 54
3.6.1
Select Architekt nabízí ..................................................................................... 54
3.6.2
Generování, reverse a synchronizace kódu ...................................................... 56
3.6.3
Novinky v aktuální verzi 7.0 ............................................................................ 56
3.7
ArgoUML 0.2 5.1..................................................................................................... 57
3.7.1
ArgoUML nabízí .............................................................................................. 57
3.7.2
Generování, reverse a synchronizace kódu ...................................................... 58
Závěr................................................................................................................................. 59
Seznam obrázků ............................................................................................................... 60
Seznam tabulek ................................................................................................................ 60
Zdroje ............................................................................................................................... 61
3/61
1 Úvod
Snahou této práce je nastínit vybrané vývojové prostředí a říci jejich vazbu na CASE.
Dále navazujeme na práce, které byly vytvořeny v předchozích semestrech, a rozšiřujeme je o
doposud nezmíněná fakta. Práce je rozdělena na dvě logické části, a to na vývojová prostředí
a na CASE nástroje. V obou těchto částech jsme zkoumali vlastnosti jednotlivých nástrojů a
jejich možnou vazbu na druhý nástroj z výše zmíněných.
U CASE nástrojů jsme především zjišťovali možnosti vazeb na vývojová prostředí
(IDE) a možnosti využití při vývoji SW aplikací, podporované programovací jazyky pro
generování kódu včetně generování skriptů pro databázové aplikace, dále zda daný nástroj
podporuje reverse-engineering a round-trip engineering. Dále jsme se zaměřili na podporu
modelovacích diagramů včetně podpory notace UML, dále na cenu produktu a v neposlední
řadě na možný import/export modelů (formáty XMI a další). Dalším cílem je analýza míry
integrace CASE nástrojů do vývojového prostředí. Za tímto účelem budeme zkoumat do jaké
skupiny patří. Jsou definovány následující tři skupiny. První jsou nástroje s podporou
modelovaní bez návaznosti na programovací kód. Druhou skupinu tvoří nástroje s podporou
generování programovacího kódu nebo databázových skriptů. A poslední třetí skupinu tvoří
nástroje s podporou reverse a round trip engineeringu. (vysvětlení k použitým pojmům v naší
práci lze nalézt v předchozí práci: Válek O. et al.: Nástroje pro vývoj aplikací a jejich vazba
na CASE, květen 2006).
U vývojových prostředí jsme se poté zaměřili na nalezení CASE prvků integrovaných
uvnitř jednotlivých vývojových nástrojů a dále na jejich možnou vazbu na externí CASE
nástroje.
Dalším cílem naší práce je zjistit kam v budoucnu bude směřovat vývoj Case prvků
ve vývojových prostředích a CASE nástrojů. Naší hypotézou je, že bude přibývat CASE
prvků v klasických vývojových prostředích.
¨
4/61
2 Vývojová prostředí (IDE), možnosti a míra integrace
CASE nástrojů
5/61
2.1
Eclipse
Jedná se o open source vývojové prostředí. O jeho spuštění se zasloužila společnost
IBM. A o jeho další spravování se stará Eclipse Foundation. Pro většinu uživatelů je známo
jako vývojové prostředí IDE cože je znamená Integrated Development Environment. To je
software, který slouží k usnadnění práce programátorů. Prvotně je toto prostředí určené
k programování v Javě.
V případě využití plug-inů je možné rozšířit na další programovací jazyky jako C++
nebo PHP. Tyto pluginy dále umožňují rozšířit toto prostředí o např. návrh UML, zápis
HTML či XML. Bez těchto pluginů má Eclipse pouze základní prostředky pro vývoj Javy.
Patří sem kompilátor, debugger a další. Z důvodů rozšíření samotného vývojového prostředí
vznikly takzvané subprojekty, které představují plugin, které je možné nainstalovat do Elipse,
nebo ho s ním již stáhnout. V Eclipse je více jak 60 otevřených projektů a ty můžeme rozdělit
do 7 hlavních skupin a to:
•
Enterprise Development - vývoj J2EE1
•
Embedded a Device Development - vývoj J2ME2
•
Rich Client Platform - vývoj nad takzvanou RCP platforma
•
Rich Internet Applications - jedná se o webové aplikace, které mají znaky a funkce
běžných stolních aplikací
•
Application Frameworks - rámce pro vývoj nástrojů postavených nad Eclipse
•
Application Lifecycle Management (ALM) – jedná se o technologii, která poskytuje
plnou součinnost, včetně sdíleného vlastnictví podnikových procesů a transformace
dat z oblasti do oblasti
•
Service Oriented Architecture (SOA)
1
Jedná se o součást platformy Java, která slouží při vývoji a provozu podnikových aplikací a informačních
systémů.
2
„Umožňuje vytvářet a spouštět programy určené pro zařízení s malým výkonem, jako je mobilní telefon, …“
6/61
2.1.1 Architektura Eclipse
Základem pro Eclipse je RCP (Rich Client Platform). Tvoří ho následující komponenty:
•
•
•
•
•
Hlavní platforma – startuje Eclipse a spouští pluginy
OSGI – standardní svazující rámec
SWT (Standard Widget Toolkit) – jedná se o základní stavební prvky pro grafické
uživatelské rozhraní
JFace – vyrovnávací paměť, manipulace s textem, textové editory
Eclipse Workbench - pohledy, vydavatelé, výhledy, průvodci
2.1.2 Projekty Eclipse
Eclipse se skládá z mnoha odlišných projektů. My se podíváme pouze na některé
z nich,
celkový
výčet
těchto
projektů
je
ke
shlédnutí
na
adrese:
http://www.eclipse.org/projects/.
•
Business Intelligence and Reporting Tools Project (BIRT) – jedná se o open source
zpravodajský systém pro webové aplikace, hlavně zaměřené na Java EE3.
•
Device Software Development Platform (DSDP) – Je to otevřený projekt
softwarového vývoje, založený na spolupráci a zaměřený na poskytování rozsáhlé, na
standardech založené základny zaměřený na širokou platformu požadavků u
softwarového vývoje při použití platformy Eclipse
•
The Eclipse Project – Samo o sobě obsahuje platformu Eclipse, Eclipse Rich Client
Platform (RCP) a Java Development Tools (JDT).
•
Eclipse Modeling Framework (EMF) – modelový rámec a příslušenství na
generování kódu pro stavební nástroje a ostatní aplikace založené na strukturovaném
datovém modelování, ze specifikací popsaných v XMI.
•
SOA Tools Platform Project (STP) – je projekt který slouží k rozšíření nástrojů pro
dizajn, konfigurace, kompletování, rozmísťování, řídící software navrženého pro
SOA4.
•
Test and Performance Tools Platform (TPTP) – poskytuje platformu, která
poskytuje software vyvíjený pro tvorbu testů a výkonných nástrojů jako ladící
programy, programy pro zajišťující srovnávací testy.
3
Je součást platformy Java určena pro vývoj a provoz podnikových aplikací a informačních systémů
SOA (services oriented architecture) - základní myšlenkou SOA je, že zákazník nekupuje monolitický
informační celek, ale jednotlivé komponenty, které nejvíce odpovídají jeho potřebám
4
7/61
•
Web Tools Platform project (WTP) – jedná se o rozšíření platformy Eclipse o
nástroje rozvíjející Java EE webové aplikace. Je složený z editoru pro HTML,
JavaScript, CSS, JSP, SQL, XML, DTD, XSD a WSDL, grafický editor pro XSD a
WSDL, Java EE navigátor, webové služby Wizard a Explorer, WS-I testovací
nástroje, nástroje pro plánování testování.
2.1.3 Členové Eclipse
Mezi členy, které patří do skupiny Eclipse můžeme zařadit velké množství
vývojářských firem, které patří mezi strategické vývojáře a spotřebitele z pohledu Eclipse.
Mezi nejznámější vývojáře můžeme zařadit: Borland, IBM, Sybase, Oracle a mezi
společnosti, které nejvíce využívají technologie Elipse patří SAP či HP.
2.1.4 Poslední verze Eclipse 3.2.2
Nejnovější verzi tohoto programu lze stáhnout zdarma na následující adrese:
http://www.eclipse.org/downloads/. Jedná se o velikost okolo 130 MB. Pokud chceme daný
produkt spustit, nemusíme ho instalovat, ale pouze nám stačí rozbalit daný soubor.
Dále si ukážeme jak vypadá prostředí Eclipse 3.2.2
Obrázek 1: Eclipse - nabídka Help
8/61
Obrázek 2: Eclipse - javovský pohled ve Windows XP
Obrázek 3: Eclipse - BIRT pro Windows XP
9/61
Obrázek 4: Eclipse - BPEL editor pro Window XP
2.1.5 Výhody Eclipse
•
•
•
•
•
•
•
•
•
•
Toto prostředí je zdarma dostupné i pro komerční účely
Kladené nároky na hardware nejsou příliš velké
Velikost poslední verze pouze 130 MB, funguje bez instalace, pouze s rozbalením,
případné rozšíření se dají dále stáhnout.
Funguje pod Windows, Linux, Unix, Sun Solaris, Mac OSX
Jelikož je Elipse velmi rozšířen, je možné za využití fóra získat dobré informace na
svůj dotaz.
Technická podpora takřka bleskově reaguje na bug reporty (ze zkušenosti do jednoho
dne).
Eclipse je primárně určen pro programování v Jave (J2ME, J2SE i J2EE). Ale existují
Pluginy na rozšíření funkčnosti. Rozšíření je možné na C++, PHP, Cobol, AspectJ,
Atlas Transformation Language, JDT
Podporuje teamovou práci. (CVS...)
Výborný debug. (Vidíte všechny dostupné proměnné dané třídy a jejich hodnoty)
Case nástroje – možnost rozšíření o další CASE nástroje formou plug-inu. Můžeme
zmínit například: Argo UML, MagicDraw UML 11.6, Sybase PowerDesigner,
MyEclipse UML 5.1, Altova UModel 2006, Borland Together Edition for Eclipse 6.2,
Tailor, Visual Paradigm for UML
10/61
2.2
MyEclipse
Jedná se o komerční Javovské vývojové prostředí. MyEclipse byl vytvořen společností
Genuite, LLC. První vydání se datuje k roku 2003 a jednalo se o nástavbu nad platformu
Eclipse. Pro více funkcí využívá webové nástroje platformy WTP. Nástroje MyEclipse lze
například srovnávat s IBM Rational Software Toolkit. MyEclipse není na rozdíl od Eclipse
zdarma a je vydáván ve dvou verzích a to Standardní (30$/rok) a Profesionální (50$/rok).
•
Jedná se o javovské prostředí J2EE, které umožňuje navrhovat WEB či zápis XML,
HTML, UML a tvorbu databází.
•
Podpora RAD, POJOs, Web 2.0/AJAX, a RCP, JSF, Struts, JSP
•
Funguje pod Windows, Linux, Apple OSX platformě, MAC OSX
•
Obsahuje také pluginy jako v Eclipse
2.2.1 Podpora CASE nástrojů pro vývoj na platformě JAVA
Java se řadí mezi nejvíce používané programovací jazyky na světě. Je snadno
přenositelný a proto se používá pro různé systémy jako například: čipové karty, zabudované
zařízení, aplikace pro desktopové zařízení, které jako celek nazýváme „platforma Java“.
Vycházíme ze syntax jazyku C a C++, ale oproti němu je start programů v Javě pomalejší.
Další vlastnosti Javy:
•
•
•
•
•
•
•
•
•
Generační správa paměti – dochází k rozdělení na více částí a v každé je používán
jiný algoritmus
Bezpečný – dokáže chránit počítač v síťovém prostředí před napadáním nepřátelským
kódem čí jiným ohrožením.
Přenositelný – Jazyk je nezávislý také na vlastnostech základních datových typů.
Přenositelnost je možná pouze v rámci jedné platformy Java.
Výkonný - přestože se jedná o jazyk interpretovaný, není ztráta výkonu významná,
neboť překladače pracují v režimu „real time“ a do strojového kódu se překládá jen
ten kód, který je opravdu zapotřebí.
Víceúlohový – podporuje zpracování vícevláknových aplikací, paralelní zpracovaní
Elegantní – Jednoduchá práce s programem či snadná čitelnost.
Zapouzdřenost – zapouzdření proměnných v třídě, navenek volání pouze přes SET a
GET.
Dědičnost – potomek dědí metody private a public + proměnné své rodičovské třídy,
dědění jenom z jedné třídy.
Polymorfismus – potomek třídy zdědí metodu a tu může pozměnit/přepsat
11/61
2.2.2 Výběr databázové platformy
Pro výběr vhodné platformy se musíme podívat na určité faktory:
•
•
•
•
•
•
•
Rozsah dat
Způsob manipulace s daty
Jednoduchá evidence
Zda se jedná o středně či rozsáhlý systém
Cena
Operační systém
Možnost integrace, kompatibilita se standardy
Dále se také musíme zaměřit na přání zákazníků. Pro Oracle Databáze hovoří tato fakta:
•
•
•
•
•
Podpora standardů, hlavně SQL (SQL:1999 - Oracle 9i, SQL:2003 - Oracle 10g).
Podpora operačních systémů (Windows, Linux, komerční UNIXy) a hardwarových
konfigurací (jednoprocesorové stroje až highend SMP prostředí).
Podpora unicode a národních specifik (např. třídění a porovnávání).
Rozsah škálovatelnosti.
Funkčnost pro db aplikace. Oracle Database podporuje OLTP i DWH aplikace.
12/61
2.3
JDeveloper 10g
2.3.1 Úvod
Jedná se o technologii, která je vyvíjena společností Oracle na základě otevřených
standardů. slouží pro tvorbu aplikací (J2EE) a webových služeb. Poskytuje integrované
vývojové prostředí pro Javu, XML a SQL, analýzu obchodních informací, modelování UML
a webové služby J2EE. Základ je postaven na čtyřech vrstvách (více viz Bernard B.. et al.:
Nástroje pro vývoj aplikací a jejich vazba na CASE)
Nejprve si ukážeme jak se JDeveloper 10g vyvíjel od roku 2004, kdy vyšla jeho první
verze až po poslední, která byla vydána v roce 2007. Malé g v tomto případě znamená GRID,
což můžeme přeložit jako síť.
Verze
Vydání
JDeveloper 10g 9.0.5.2
JDeveloper 10g 10.1.2
JDeveloper 10g 10.1.2.1
JDeveloper 10g 10.1.3.0.2
JDeveloper 10g 10.1.3.0.3
JDeveloper 10g 10.1.3.0.2
JDeveloper 10g 10.1.3.0.4
JDeveloper 10g 10.1.3.1
JDeveloper 10g 10.1.3.2
Komentář
březen 04 Má přidaný ADF rámec pro lepší "plug and play" se
standardně založenými daty produkční vrstvy podle nového
visuálního editoru JSP a UIX.
Podpora release pro verzi 9.0.5.2 s malým rozšířením v
některé ADF Business Components (návrh časového
panelu)
březen 05 Podpora release pro verzi 10.1.2
leden 05 Ukázka rozšíření IDE a J2EE
Plné "Studio" release zahrnuje novou provozní ADF a
září 05
návrh časové funkčnosti
leden 05 Ukázka rozšíření IDE a J2EE
leden 06 První produkce release Jdeveloper/ADF 10.1.3
říjen 06 Podpora release Jdeveloper/ADF 10.1.3 se zlepšením JEE
5.0 podporuje a zlepšuje SOA/BPEL nástroje
leden 07 Podpora release Jdeveloper/ADF 10.1.3.1 s novými rysy
vysvětlujícími založení JSF - opatřený vstupním rozvojem
užívaným Oracle WebCenter.
leden 05
Tabulka 1: JDeveloper 10g - historie [http://radio.weblogs.com]
Dále si představíme poslední verzi z ledna 2007. Řekneme si, čím je tato verze nová.
Jedná se o velmi oblíbenou technologii od Oracle, která obsahuje určité vlastnosti produktu
jako: ADF, SOA, J2EE, UML, Databáze, Java, XML. Dále zahrnuje JDK 5.0.5 a je
podporován Windows XP, 2003 a 2000, Linux, Macintosh.
Blíže vysvětlené vlastnosti:
•
ADF - Oracle Application Development Framework umožňuje vývojářům vytvářet
kvalitní uživatelská rozhraní. Možnost spojit na stejné úrovni komponenty ADF s
technologií Flash, kódem HTML a dalšími funkčně bohatými prvky ale nabídne
zákazníkům našeho infrastrukturního softwaru i aplikací ještě podstatně kvalitnější
uživatelské prostředí.
13/61
•
J2EE - Java Platform, Enterprise Edition (neboli Java EE, dříve označovaná jako
Java 2 Enterprise Edition nebo J2EE) je součást platformy Java určená pro vývoj a
provoz podnikových aplikací a informačních systémů.
•
SOA - Service Oriented Architecture. Základní myšlenkou SOA je, že zákazník
nekupuje monolitický informační celek, ale jednotlivé komponenty, které nejvíce
odpovídají jeho potřebám.
•
UML (Unified Modeling Language) - představuje sjednocení notací Booche,
Rumbaugha a objektových notací mnoha dalších metodologů. Při sjednocování notací
použitých těmito objektově-orientovanými metodami poskytuje UML základ pro de
facto standard v oblasti objektově orientovaných analýz a návrhů založených na
zkušenostech odborníků.
•
Java - objektově orientovaný programovací jazyk.
Verze 10.1.3.2 rozšiřuje možnosti vývoje SOA z předešlé verze o funkce Oracle
WEbCenter. Oracle WebCenter Suite kombinuje na standardech vysvětlující vývoj
JavaServer Faces (JSF), flexibilitu a sílu portálů a skupinu integrovaných WEB 2.0 služeb pro
podporu produktivity pro koncové uživatele. Oracle WebCenter Suite poskytuje služby a
nástroje obsah, upravitelné komponenty, Web 2.0 obsah, spolupráci a komunikační služby
přímo do vašich Java Server aplikaci. Tyto funkce WebCenter jsou přídavkem k velké
skupině nových funkcí/vlastností, které byly představeny v Oracle JDeveloper 10.1.3.0 and
10.1.3.1.0. Pro více informaci o WebCenter navštivte stránku WebCenter na OTN.
•
Oracle WebCenter - je integrovaný systém nástrojů konstruovaných pro vytváření
dynamických, vysoce produktivních uživatelských pracovních prostředí, které
využívají výhod SOA a umožňují společnosti přinášet kompletní souvislosti o jejich
každodenních úkolů.
•
JSF - JavaServer Faces technologie byla vyvinuta společností Sun Microsystems,
Inc.. Je součástí Java 5 Enterprise Edition. Hlavní myšlenkou je možnost čištějšího
vývoje profesionálních Web aplikací. Vývojáři definují uživatelský interface pomocí
speciálních XML tagů, kterým jsou předávána data k zobrazení / editaci ze
standardních Java beanů. Takto je rozdělena Web aplikace čistě na uživatelské
rozhraní (GUI) a aplikační logiku (business logic).
2.3.2 Závěr
Jedná se tedy o prostředí s velmi širokým okruhem činností souvisejících s vývojem
aplikace jak na databázové, tak i v Javě na střední vrstvě. Ten vedle vlastního
programátorského editoru obsahuje i řady průvodců zrychlujících vývoj a zjednodušujících
například tvorbu webových služeb. Obsahuje také podporu pro ladění a širokou škálu
modelovacích nástrojů. V současné době jsou k dispozici i rozšíření JDeveloperu umožňující
vývoj v PHP či podporující open-source frameworky typu Struts, Mable nebo JUnit.
JDeveloper podporuje také vývoj databázových objektů v databázi Oracle.
14/61
2.3.3 Ukázka uživatelského rozhraní
Obrázek 5: JDeveloper 10g - GUI
Tuto verzi lze stáhnout z na stránkách společnosti Oracle na následující adrese:
http://www.oracle.com/technology/software/products/jdev/htdocs/soft10132.html
Jedná se o volně stažitelnou verzi a její spuštění je velmi jednoduché a rychlé. Velikost je 508
MB.
Obrázek 6: JDeveloper - ukázka diagramu s definovány toky a vztahy mezi objekty
[http://www.oracle.com]
15/61
Postup práce a možností je velmi pěkné popsán ve výukovém materiálu poskytovaných
společností Oracle nebo na instruktážním videu, které je opět volně stažitelné na následující
adrese:
http://www.oracle.com/technology/products/jdev/viewlets/1013/jdev_overview_xp_viewlet_s
wf.html.
2.3.4 Další produkty podporující JAVU
•
•
•
•
•
•
•
•
Eclipse (IBM)
JDeveloper (Oracle)
JBuilder (Borland)
Together - case (Borland)
Rational Rose - case (Rational)
Poseidon – case
Star UML – case
…
16/61
2.4
Borland Delphi 2006
2.4.1 Obecné informace
Jedná se o RAD vývojové prostředí v jazyce delphi (na bázi .NETu, nebo Win32), které je
součástí Borland Developer Studia obsahující i vývojová prostředí založená na jiných
programovacích jazycích. Marketing Delphi je tvořen třemi verzemi:
•
•
•
Professional
Enterprise
Architekt
Jádrem tohoto nástroje je technologický rámec ECO (Enterprise Core Objects). Jedná
se o prostředek pro rychlejší tvorbu kvalitnějšího SW založený na znuvupoužitelnosti
základních podnikových objektů. Dále je v nástroji k dispozici knihovna vizuálních
komponent (VCL) a pro naše porovnání je důležitá především sada nástrojů pro modelování
aplikací.
2.4.2 Přehled jednotlivých edicí
• Delphi 2006 Professional
◦ určena pro samostatné vývojové pracovníky, nezávislé dodavatele software a
menší organizace tvořící aplikace pro PC a web s konektivitou na lokální
databáze
◦ obsahuje vybrané funkce ECO, které poskytují běžné služby pro aplikace na PC,
jakými jsou např. objektově-relační mapování a transparentní lokální persistence
objektů XML
• Delphi 2006 Enterprise
◦ určena pro malé až střední organizace a vyspělé samostatné vývojové
pracovníky, kteří vyvíjejí software podnikatelsky kritické povahy s požadavky
na vysokou výkonnost databázových serverů
◦ obsahuje klíčové funkce ECO III, které vývojovým pracovníkům umožňují
rychlý vývoj podnikových intranetových webových aplikací s objektově-relačním
mapováním a transparentní databázovou perzistencí
• Delphi 2006 Architect
◦ určena pro odborné podnikové vývojové pracovníky, kteří se potřebují rychle
přizpůsobit měnícím se podnikatelským pravidlům a zvládat důmyslné aplikace,
které jsou synchronizované s vícenásobnými databázovými schématy
◦ obsahuje vyspělý rámec ECO III, který vývojovým pracovníkům umožňuje
rychle nasazovat škálovatelné externí webové aplikace komunikující s okolím a
se spustitelnými stavovými diagramy, objektově-relačním mapováním a
transparentní perzistencí
(Zdroj: Válek O. et al.: Nástroje pro vývoj aplikací a jejich vazba na CASE, květen 2006)
17/61
Obrázek 7: Borland Delphi ’06 - vývojové prostředí
2.4.3 Vazba na CASE
Prostředí Delphi obsahuje ve všech verzích UML designér, možnost automatického či
manuálního generování kódu. Ve verzi Architekt je k dispozici import modelů z CASE
nástroje Rational Rose (formát .mdl). V této zmiňované verzi je také k dispozici jazykově
nezávislé modelování objektů ve verzi 2.0. UML. Nástroj podporuje i generování kódu
z vymodelovaných objektů, generování databázových skriptů a podporuje i plný
reverse-engineering. S tímto souvisí i funkce IntelliReplace, zajišťující konzistenci modelu
tím, že při změně názvu jakékoliv entity promítne tuto změnu do celého modelu. Velmi
užitečnou vlastností je i generování výsledné dokumentace na ve formátu HTML (pro verze
Architekt a Enterprise). Delphi 2006 dále podporuje jazyk OCL, který slouží k definování
omezení v UML modelech a umožňuje následnou kontrolu a validaci modelů. UML modely
vytvořené v Delphi 2006 jsou snadno přenositelné díky výměnného formátu XMI.
18/61
Obrázek 8: Borland Delphi ’06, zobrazen Object Repository
2.4.4 Co je nového ve verzi 2006?
V nové verzi se oproti předchozí (ver. 2005) událo několik změn. Ty nám mohou pomoci
při určení, jakým směrem se může potenciálně tento nástroj vydat. Zda se bude soustředit
spíše na podporu rychlého vývoje aplikací v agilních technikách, či v sobě bude časem
implementovat CASE prvky (kterých má již dnes poměrně dost) a směřovat tak ke
komplexnímu vývojovému nástroji.
•
Vylepšené modelování – tzv. Live Source (Umožňuje současný pohled na zdrojový
kód, jeho přímou změnu a zároveň umožňující designovou
změnu na straně diagramu s okamžitou změnou kódu –
tzv. Fresh View)
Obrázek 9: Borland Delphi ’06 - Live Source
19/61
•
Rozšíření UML diagramů –
pro modelování je nyní k dispozici 8 těchto
diagramů plně integrovaných do vývojového
prostředí
Obrázek 10: Borland Delphi ’06 – nabídka UML diagramů
•
Vylepšené ECO III – podpora stavových diagramů pro automatické modelování
chování aplikace a generování výsledného kódu, procesy (např.
business procesy) se tak stávají méně časově náročné a jejich
vytváření je automatizováno
Obrázek 11: Borland Delphi ’06, ukázka generování kódu ze stavových diagramů
20/61
Obrázek 12: Borland Delphi ’05 – zobrazen je model tříd
2.4.5 Resume
Závěrem lze říci, že Borland Delphi je silný nástroj pro tvorbu aplikací, který již v tuto
dobu má hodně znaků CASE nástroje. Slučuje tedy výhody obou těchto typů nástrojů. Další
jeho předností je možnost spolupráce s CASE nástroji (viz Vazba na CASE, kap. 2) .
Z inovativních prvků nové verze lze vyčíst v budoucnu rozšiřování podpory CASE prvků.
21/61
2.5
PowerBuilder Enterprise 10.5.
(dále jen PB)
Tento nástroj je určený pro rychlý vývoj SW pod OS Windows. A to především
klientských aplikaci pod Windows, C/S aplikací a v neposlední řadě pro vývoj webových
stránek. Každá aplikace přitom musí být založena v tzv. targetu, které se pak mohou spojovat
pod jedno pracovní místo (Workspace). Původně byl vyvíjen společností Powersoft, kterou
pozdějí koupila společnost Sybase Inc. Základem pro programování aplikací je objektově
orientovaná jazyk PowerScript, využívající všechny možnosti OOP.
Obrázek 13: PowerDesigner 10.5 – zobrazeno je uživatelské rozhraní
Pokud bychom PB porovnávali s CASE nástroji, tak bychom zjistili že v zásadě
podporuje jen několik málo činností pro takto označovaná vývojová prostředí. Moderní CASE
nástroj by měl podporovat objektové modelování. V případě PB je velkou výhodou
DataWindow a PFC (PowerBuilder Foundation Class), které obsahuje znovupoužitelné PB
objekty a služby, které mohou zrychlit vývoj aplikace. Tato knihovna obsahuje objekty
testované Sybase a tisícovkami uživatelů, navíc obsahuje jejich dokumentaci. PFC se poprvé
objevilo s verzí 5.0. Světově se jedná o nejúspěšnější framework5 pro C/S aplikace.
5
Sada součásti aplikace s typizovanou funkcionalitou, která je společná všem vyvíjeným aplikacím.
22/61
Práci s DB podporuje PD jednoduchou právě funkcionalitou - DataWindow.
Zjednodušuje přístup, manipulaci a prezentaci dat (viz. Obr.2). Samozřejmostí je konektivita
s různými DB systémy využívajíce rozhraní ODBC. Na základě tohoto lze v PD velmi lehce
pracovat s databázemi, což je jeho velkou výhodou. Většina času vývoje aplikace je věnována
právě datové vrstvě, která je navíc velmi náročná na vývoj. Tímto způsobem lze tedy ušetřit
čas. Velkou výhodou PB je dále to, že se jedná o aplikaci pro vývoj SW s programovacím
jazykem 4. generace. Pod tím si lze představit, že programátor se více věnuje logice
(vlastního řešení) business aplikace, než např. ošetřování chyb při čtení ze vstupu.
2.5.1 Nové funkčnosti verze 10.5
•
•
•
Podpora Oracle 10g
Rozšíření funkcionality DataWindow
Zlepšení uživatelského rozhraní
Obrázek 14: PowerDesigner – stromová prezentace dat v DataWindow
23/61
2.5.2 Závěr
Nová verze nepřináší žádné nové CASE funkcionality. PB tedy sází na svoje dvě
excelentní komponenty, kterými jsou zmiňovaný DataWindow a PFC. PB není klasickým
CASE nástrojem, podporuje ale import zdrojového kódu vygenerovaného v jiné CASE
aplikaci. Podpora technologií CASE se od verze 8.0 popisované v práci kolegů nerozšířila,
pro vazbu na ostatní CASE nástroje použiji tedy jejich práci. Nadále je možné očekávat, že
PB nebude podporovat ve velké míře CASE možnosti a bude se soustředit na vývoj svého
robustního jádra, které tvoří výše rozebírané dvě funkcionality. Síla PB je tedy právě v těchto
2 možnostech urychlení vývoje aplikace. Nová verze (11) je plánována na první čtvrtletí roku
2007.
Orientační cena nástroje:
707$ (POWERBUILDER V7.0 IDE CBT 10U)
24/61
2.6
Visual Studio 2005
Visual Studio je balík softwarových produktů,
nástrojů a technologií od firmy Microsoft pro tvorbu nejen
.NET aplikací využívajících prostředí produktové řady MS
Windows. Visual Studio obsahuje vývojové prostředí pro
jazyky Visual C, Visual C++ a Visual Basic, v .NETové
formě pak Visual Basic .NET, Visual C#, Visual J# a
Visual C++.
Visual Studio existuje v několika variantách:
Nejproduktivnější sada s integrací nástrojů podpory
týmové práce a kompletního životního cyklu tvorby
softwarových řešení má obecné jméno "Visual Studio
2005 Team System".
Pro jednotlivce jsou připravena
Visual Studia Standard a
Professional.
Řada "Visual Studio Express"
je speciálně navržena pro
začátečníky, amatéry a ostatní,
kteří
se
chtějí
naučit
programovat ve Windows nebo
tvořit
interaktivní
webové
aplikace pro Internet. Produkty
jsou zdarma ke stažení.
2.6.1.1 Visual Studio 2005 Team System
Visual Studio 2005 Team Suite - Visual Studio 2005 Team Suite je
nejproduktivnější, integrovaný balík nástrojů pro vývoj všech typů programů
obsahující všechny dostupné technologie pro podporu životního cyklu sw.
aplikací. Naleznete zde produkty od projektového návrhu, architektury, přes
vývoj až po testování včetně veškeré potřebné infrastruktury.
Visual Studio 2005 Team Edition for Database Professionals - Team Edition for Database
Professionals poskytuje nástroje pro správu změn a zdrojových kódů, testování i nasazování
databázových řešení založených na SQL Serveru. Aktivně zapojuje čistě databázového
specialistu do vývojového teamu.
25/61
Visual Studio 2005 Team Edition for Software Architects - Team Edition for Software
Architects poskytuje nástroje pro visuálni design service-oriented řešeních a jejich validaci
vzhledem k aplikačnímu prostředí a infrastruktuře v které budou nasazovány.
Visual Studio 2005 Team Edition for Software Developers - Team Edition for Software
Developers nabízí pokročilé vývojové nástroje, které posouvají kvalitu vývojářské práce v
teamech a vyšší úroveň bez nutnosti nadbytečných úkonů vyžadovaných od vývojářů.
Visual Studio 2005 Team Edition for Software Testers - Team Edition for Software
Testers představuje balík nástrojů integrovaných do prostředí Visual Studia, které pomáhají
tvořit bezchybné aplikace, testovat je a sdílet výsledky s celým teamem i koncovým
uživatelem.
Visual Studio 2005 Team Foundation Server - Serverový produkt pro spolupráci zajišťující
co nejúčinnější komunikaci uvnitř celého IT týmu a snadnou správu a sledování vývoje a
stavu projektů. Kombinuje správu zdrojů, veškerých metadat a vazeb, reportingové a
portálové služby do jednoho homogenního řešení s otevřeným API.
Visual Studio 2005 Team Test Load Agent - Je dodatečný testovací nástroj pro testery
umožňuje simulovat výrazně vyšší množství uživatelů (než VS Tester Edice) s větší přesností
výkonem a stabilitu webových aplikací a serverů.
Obrázek 15: Visual Studio ’05 Team Suite – Přehled produktů a vlastností
26/61
2.6.1.2 Visual Studio 2005 Standard
Visual Studio Standard Edition je vstupní branou do profesionálních vývojářských
nástrojů a je silným a výkonným prostředím pro vývoj vícevrstvých aplikací zaměřených na
data za pomoci webových služeb a webových aplikací, integrující v sobě všechny .NET
jazyky: Visual Basic, C#, C++ a J#.. Nechybí možnost rozšíření vývojového prostředí pomocí
nejrůznějších plug-inů nebo vývoj pro mobilní zařízení.
2.6.1.3 Visual Studio 2005 Professional
Visual Studio 2005 Professional je plně vybavený systém pro vývoj webových
aplikací (ASP.NET 2.0), webových XML služeb, desktopových aplikací (Windows Forms) i
aplikací pro mobilní zařízení. Oceníte zejména programování a ladění vícevrstvých
serverových aplikací zcela uvnitř vývojového prostředí Visual Studia, plnou podporu všech
typů deploymentu (Click Once, tvorba MSI instalačních balíčků, nejvyšší plnohodnotnou
verzi SQL Serveru 2005 v podobě produktu SQL Server 2005 Developer Edition a vytváření
tiskových sestav.
2.6.1.4 Visual Studio 2005 Express Edition
Visual Basic 2005 Express Edition - klade důraz na produktivitu, je ideální pro první
programy v novém Visual Studiu nebo pro příležitostné programátory ve Windows a zejména
pro všechny, kdo znají Visual Basic v kterékoliv jeho podobě.
Visual C# 2005 Express Edition - přináší jedinečnou kombinaci výkonu a produktivity pro
studenty, nadšence a fandy programování v tomto velmi příjemném jazyce založeném na
"céčku".
Visual Web Developer 2005 Express Edition - tato poněkud speciální edice v sobě zahrnuje
podporu hnedle tří programovacích jazyků (Visual Basic, C#, J#) a slouží, jak již z názvu
vyplývá, k vytváření webových projektů určených pro Internet nebo intranety za použití
ASP.NET 2.0
Visual C++ 2005 Express Edition - jeho zvládnutí sice zabere delší čas než u ostatních
produktů Express, ale zase oproti nim nabízí vyšší výkon a přesnější kontrolu.
Visual J# 2005 Express Edition - tato implementace jazyka Java je vhodným nástrojem pro
kohokoliv, kdo už má zkušenosti s Javou, nebo pro studenty používající Javu ve škole.
SQL Server 2005 Express Edition - vlastně nemá s Visual Studiem jako takovým moc
společného, nicméně velmi šikovně doplňuje celou edici Express nástrojů o databázový
server, který je nejen výkonný, ale také se snadno používá. Bývá součástí plné instalace
Express nástrojů.
27/61
Feature
Express Products
Visual Studio
Standard Edition
Visual Studio
Professional
Edition
Visual Studio Tools
For Office
Visual Studio Team
System
IntelliSense
Yes
Yes
Yes
Yes
Yes
Code editor
Yes
Yes
Yes
Yes
Yes
Code snippets
Yes
Yes
Yes
Yes
Yes
Programming
languages included
VB, VC#, VC++, and
VJ# are single
language. Visual Web
Developer includes
VC# and VB
All
All
VB and VC#
All
Office development
support*
No
No
No
Support for Excel
2003, Word 2003,
InfoPath 2003 and
Outlook 2003
Support for Excel
2003, Word 2003,
InfoPath 2003 and
Outlook 2003
User experience
Simplified menu
options and defaults
Simplified menu
options and
defaults
Full
Full
Full
Windows Forms
designer
VB, VC#, VC++, VJ#
Yes
Yes
Yes
Yes
Web Forms
designer
Visual Web
Developer
Yes
Yes
Yes
Yes
Mobile Device
Support*
No
Yes
Yes
No
Yes
Database design
tools (create/modify
tables and stored
procedures)
Local
Local and remote
Local and remote
Local and remote
Local and remote
Data Access
Designers
VB, VC#, VC++,
VJ#:local, Visual
Web Developer: local
and remote
Local and remote
Local and remote
Local and remote
Local and remote
Documentation
10mb "Getting
Started"; Starter Kits
targed at first-time
programmers; 200mb
optional MSDN
Express
MSDN
MSDN
MSDN
MSDN
Class Designer /
Object Test Bench*
No
Yes
Yes
Yes
Yes
XML Editor
Support
XML Only
XML Only
Full XML/XSLT
Full XML/XSLT
Full XML/XSLT
Deployment Tools
ClickOnce
Yes
Yes
Yes
Yes
Extensibility
Use 3rd party controls
and content. No
Macros, Add-ins or
Packages
Write, record, run
macros, Write and
consume Add-ins,
Install Packages
(partner products)
Write, record, run
macros, Write and
consume Add-ins,
Install Packages
(partner products)
Write, record, run
macros, Write and
consume Add-ins,
Install Packages
(partner products)
Write, record, run
macros, Write and
consume Add-ins,
Install Packages
(partner products)
Reporting
Visual Web
Developer: SQL
Server Reporting
Services Add-in
SQL Server
Reporting
Services
SQL Server
Reporting Services /
Crystal Reports
SQL Server Reporting
Services
SQL Server
Reporting Services /
Crystal Reports
Source Code
Control
No
MSSCCIcompatible
(Visual
MSSCCIcompatible (Visual
SourceSafe sold
MSSCCI-compatible
(Visual SourceSafe
sold separately)
MSSCCI-compatible
(includes Visual
SourceSafe, Visual
28/61
SourceSafe sold
separately)
separately)
Studio Team
Foundation Server
sold separately)
Debugging
Local
Local
Local / remote
Local
Local / remote
64-bit Compiler
Support (Itanium)
No
No
No
No
Yes
64-bit Compiler
Support (x64)
No
Yes
Yes
No
Yes
Server explorer
“Servers” Node
No
No
All
All
All
SQL Server 2005
Integration
No
No
Yes
Yes
Yes
Code Profiling
No
No
No
No
Yes
Static Analysis
No
No
No
No
Yes
Unit Testing*
No
No
No
No
Yes
Code Coverage
No
No
No
No
Yes
Project
Management
No
No
No
No
Yes
Test Case
Management
No
No
No
No
Yes
Offline Database
Project
No
No
No
No
Yes
Data Generation
No
No
No
No
Yes
Database
Refactoring
No
No
No
No
Yes
Database Schema
and Data Compare
No
No
No
No
Yes
Database
Deployment Tools
No
No
No
No
Yes
Size
80mb (Express + SQL
Express + .NET
Framework Redist)
Multiple CDs
Multiple CDs
Multiple CDs
Multiple CDs
Additional Tools
Included
SQL Server 2005
Express Edition
SQL Server 2005
Express Edition
SQL Server 2005
Developer Edition
SQL Server 2005
Developer Edition;
Microsoft Office
Access 2003
Developer Extensions;
Access 2003 Runtime
license
SQL Server 2005
Developer Edition
(included with client
products only)
Express Products
Visual Studio
Standard Edition
Feature
Visual Studio
Visual Studio Tools
Professional Edition For Office
Tabulka 2: Srovnání všech edicí Visual Studia
29/61
Visual Studio Team
System
2.6.2 Web Matrix
Vývojový nástroj od firmy Microsoft pro tvorbu webových služeb ASP.NET, který je
poskytován zdarma. Web Matrix pracuje "dvoucestným" způsobem. Návrh lze provádět
pomocí umisťování prvků myší a následným zadáváním parametrů v okně vlastností nebo
přímým zápisem kódu stránky, a oba postupy se zpětně dynamicky ovlivňují. Podporované
programovací jazyky jsou Visual Basic.NET, J# a C#. Nedílnou součástí aplikace je také
prohlížeč tříd .NET Frameworku, takže bez potíží můžete využívat potenciál platformy
ASP.NET.
2.6.3 Další nástroje
Do této kategorie patří další vývojové nástroje, které
podporují některý z .NET jazyků zmiňovaný výše a
umějí spolupracovat s třídami .NET frameworku a
podporují platformu .NET. Informace dostanete
v manuálu k danému produktu. Je potřeba zajistit
spolupráci na takové úrovni, jako ukazuje tento
obrázek pro Visual Studio. Umět tedy také převést
aplikaci do IL, srozumitelné pro CLR. Např.:
Delphi, C++Builder, Borland C#Builder a další.
2.6.4 Visual Studio 2005 Class Designer
Visual Studio Class Designer je plně-funkční, vizuální návrhářské prostředí pro CLR
(Common Language Runtime). Visual Studio 2005 má od edice Standard tento nástroj
zabudovaný v sobě. Model vytvořený v tomto nástroji sice není přímo UML Class Diagram,
nicméně notace je dosti podobná.
Visual Studio Class Designer umožňuje vizualizovat strukturu tříd a dalších typů, a
skrz tyto vizuální reprezentace generuje jejich zdrojový kód. Tohoto nástroje lze využít k
návrhu tříd a následnému vygenerování programového kódu v jednom z dostupných jazyků
(Visual Basic, Visual C#, Visual J#, Visual C++), podporován je také kompletní
reverseengineering. Tento synchronní vztah mezi návrhářem a kódem usnadňuje vytvoření a
konfigurování komplexního CLR vizuálně.
Class Designer obsahuje vlastnosti specificky navržené k tomu, aby pomohly
přebudovat kód, stejně jako dovolí snadno přejmenovat identifikátory nebo zrušit metody
apod. Lze automaticky generovat třídy a struktury, a implementovat rozhraní automatickým
generováním vazeb.
Class Designer také slouží jako komunikační nástroj, který umožňuje snadno
komunikovat s kolegy o daném kódu. Class diagramy mohou být tištěny nebo uloženy jako
obrázky.Tento nástroj je velmi snadno ovladatelný a díky tomu, že jde o interní součást
Visual Studia 2005, je provázanost modelu s kódem perfektní. Nevýhodou Class Designeru je
fakt, že vzniklý diagram tříd není přenositelný do jiného nástroje, neboť je možné ho
exportovat pouze v podobě obrázku.
30/61
Obrázek 16: Visual Studio ’05 – class diagram
2.6.5 Co je to platforma .NET
Microsoft® .NET je „sada softwarových technologií společnosti Microsoft pro
propojování světa informací, lidí, systémů a zařízení“. Umožňuje poměrně snadný vývoj a
integraci software prostřednictvím webových XML služeb: malých samostatných aplikací stavebních bloků, které mohou být propojeny mezi sebou a také s většími aplikacemi.
Na obrázku jsou patrné možnosti propojení webových XML služeb včetně definic.
Z hlediska naší práce je zde však nejzajímavější vazba na vývojové nástroje, o kterých bude
v další části této kapitoly řeč.
31/61
Jádrem technologie .NET je jakási nadstavba nad operačním systémem, která byla
pojmenována .NET Framework. Je to vlastně balík knihoven, jehož jednotné prostředí
nabízí své objektové třídy vyšším programovacím jazykům, aby jej využily k práci při
řešení konkrétních úloh nezávisle na použitém programovacím jazyce.
Vztah .NET Frameworku k okolí bude asi nejlépe patrný z následujícího
schématu:
.NET Frameworku je jedno, jaký programovací jazyk ovládáme, protože pro všechny
jazyky odpovídající specifikaci .NET nabízí stejné rozhraní a stejné objektové třídy se
stejnými metodami a vlastnostmi. Microsoft oficiálně podporuje „své“ jazyky C#, managed
C++, Visual Basic .NET, J# a JScript, ale existuje i mnoho dalších jazyků třetích stran, např.
Cobol, Pascal, Fortran apod. (celkově jich je něco kolem 30). Programátoři v .NET jazycích
tak komunikují se stejnou hierarchickou úrovní výsledné aplikace, mají možnost používat
stejné datové typy atd. Pokud zvládnou dobře základní syntaxi jednoho z programovacích
jazyků, je pak celé umění programování .NET aplikací založeno na co nejlepší znalosti balíku
.NET Frameworku. Bude-li jej dobře ovládat, bez problémů změní programovací jazyk za
jiný, jen pochopením jeho syntaxe. Objektové rozhraní základních knihoven, které k
programování vyšších aplikací využívá, zůstává stejný.
32/61
Jaké objekty, třídy a funkcionalitu .NET Framework obsahuje, ukazuje tento obrázek:
Zcela dole, těsně nad operačním systémem je položena vrstva nazvaná Common
Language Runtime (CLR). Ta se stará o vykonávání aplikací napsaných pro platformu .NET a
lze ji přirovnat k Java Virtual Machine. .NET aplikace (exe) nebo třída objektů (dll) se ve
vývojovém nástroji ukládá do řízeného kódu (řídí ho CLR) - tzv. Intermediate language (IL).
Je to jazyk podobný assembleru, avšak hardwarově nezávislý. Jeho výhodou je pak snadná
použitelnost takové aplikace nejen na počítačích, ale třeba i na PDA s operačním systémem
Windows.
Prostřední vrstva .NET Frameworku obsahuje základní třídy objektů pro přístup k
datům v databázích, souborech i XML a třídy pro práci s důležitými entitami vázanými na
operační systém, jako například práce s procesy a vlákny. V aplikacích se třídy z této vrstvy
využívají převážně v tzv. logické vrstvě aplikace.
Nejvyšší vrstvu .NET frameworku pak představují třídy zaměřené na prezentaci údajů
z aplikace uživatelům. Využívají se hlavně v prezentačních vrstvách aplikací. Jsou zde třídy
pro ovládací prvky Windows formulářů i webových formulářů, Windows servisy a třídy pro
webové služby i pro tvorbu grafických výstupů.
Tříd objektů je přímo v .NET framework velké množství a další si vytváří
programátoři na celém světě sami.
V současnosti je .NET framework verze 3.0
33/61
3 CASE nástroje, způsob podpory vývoje aplikací,
návaznost na IDE
34/61
3.1 Borland Together 2006
3.1.1 Úvod
Borland Together (je součástí Borland Developer Studia 2006) nabízí komplexní
podporu podnikovým analytikům, návrhářům, architektům a vývojovým pracovníkům.
Přináší podporu frameworku ECO III 6, který významně přispívá k automatizaci vývoje
podnikových aplikací. Automatizuje řadu manuálních kroků zahrnutých v MDA (modelem
řízená architektura) přístupu k vývoji aplikací s podporou pro UML(the Unified Modeling
Language), OCL (the Object Constraint Language)7 a XMI (XML metadata interchange).
Podpora jazyka UML je na úrovni verze UML 1.4 a UML 2.0. Právě OCL nabízí možnost
vyjádření požadavku pomocí OCL. ECO III přináší zlepšení XMI importovacích
a exportovacích schopností. ECO III obsahuje přídavné nástroje, které umožňují vytvářet
aplikace založené na stávajících databázích a dokonce vytvářet aplikace napříč různorodých
databází.
Borland Together umožňuje provádět transformaci mezi modely (stejně jako
PowerDesigner). Jedná se o modely procesní (zachycování procesu pomocí BPMN a dále
podporuje BPEL4WS), konceptuální, objektový a fyzický. Nabízí tvorbu následujících
diagramů: Class diagram, Collaboration diagram, Use Case diagram, Activity diagram,
Statechart diagram, Deployment diagram, Component diagram, Sequence diagram. Mezi další
významné funkce patří podpora reversního inženýrství. Výrobce uvádí také podporu importu
z nástroje Rational Rose, ten je prováděn nástrojem MDL Wizard. Nabízí generování
zdrojového kódu pro programovací jazyky obsažené v prostredích Eclipse, Visual Studio
a JBuilder. Mezi podporované platformy OS patří Microsoft Windows, Linux a Solaris.
Specifikace:
Borland Together je dodáván ve třech specifikacích, jednotlivé specifikace jsou
upraveny pro specializované role ve vývojových týmech. Snahou je poskytnout konkrétním
skupinám vývojářů funkce které potřebují a zároveň je nezatěžovat funkcemi, které nevyužijí.
6
ECO (Enterprise Core Objects) je na standardech založený framework (softwarová struktura, slouží jako podpora při vývoji
a organizaci jiných softwarových projektů, může obsahovat podpůrné programy, knihovny nebo sadu doporučení ověřených
postupů a navrhovaných vzorů, cílem frameworku je převzetí pro danou oblast typických problémů a tím usnadnění vývoje)
pro vývoj podnikových aplikací.
7
OCL je jazyk pro specifikaci vstupních a výstupních podmínek, invariantů v jednotlivých diagramech
35/61
3.1.2 Together Architect
Borland Together Architect je komplexní, multijazykové modelovací řešení pro
softwarové architekty, kteří navrhují, vyvíjejí a komunikují o podnikových aplikačních
architekturách, zatímco pracují s investory napříč vývojovými a podnikatelskými
organizacemi. Jedná se o platformu pro vizuální modelování navržená pro podporu architektů,
vývojových pracovníků, návrhářů UML, analytiků podnikatelských procesů a pracovníků
modelujících data, která pomáhá urychlit dodávání vysoce kvalitních softwarových aplikací.
Pomocí definic webových služeb (BPEL4WS) vytváří modely v notaci UML 2.0 a modely
obchodních procesů (BPMN), aby bylo možné generovat jazyk pro realizaci podnikatelských
procesů. Zvyšuje produktivitu a kvalitu automatickými revizemi návrhů a kódů s audity
a metrikami na úrovni modelu a kódu. Mezi vlastnostmi nové architektury MDA najdete i
podporu normy Query View Transformation (QVT), kterou definovala skupina OMG. Ta je
používána pro transformace typu model-model a podporu pro OCL 2.0 se syntaktickým
zvýrazněním, ověřováním správnosti a smyslu kódů.
3.1.3 Together Designer
Borland Together Designer je modelovací řešení v jazyce UML® nezávislé na
platformě a určené pro podnikové analytiky a ostatní pracovníky, kteří pracuji v prostředích, v
nichž vizuální modely mohou optimalizovat definice požadavků a komunikace o softwarové
architektuře a kódech. Představuje platformu pro vizuální modelování navrženou tak, aby
podporovala návrháře UML, analytiky podnikatelských procesů a pracovníky modelující data.
Pomocí definic webových služeb (BPEL4WS) vytváří modely v notaci UML 2.0 a modely
podnikatelských procesů (BPMN), aby bylo možné generovat jazyk pro realizaci
podnikatelských procesů. Audity a metriky, které zlepšují komplexnost a produktivitu, jsou
nyní k dispozici na úrovni modelů a definovány v Object Constraint Language (OCL) 2.0. To
umožňuje plnou úpravu dle přání zákazníka a snadné vytváření nových auditů a/nebo metrik.
Díky plně přizpůsobitelnému vytváření dokumentace založeném na šablonách, které mohou
sestavit obsah ze všech typů modelů a požadavků, lze zlepšit vzájemnou komunikaci.
Together Designer nabízí sestavu modelovacích schopností určených analytikům pro
jednoznačné definování softwarových požadavků i pro snadné a efektivní generování kódu,
který bude zaručeně splňovat zavedená kritéria. Architekti a vývojoví pracovníci mohou
využívat modely UML typu use-case, aktivity i ostatní modely vytvořené v Together
Designer k navrhování a vytváření aplikací, které přesně odrážejí dané požadavky.
Together Designer 2006 for Eclipse
Together Designer 2005, for Microsoft® Visual Studio® .NET 2003
Together Designer 2005, for JBuilder® 2005
36/61
3.1.4 Together Developer
Borland Together Developer poskytuje kódově centrické modelovací řešení pro
pracovníky vyvíjející software, které díky používání diagramů UML pro danou třídu a pořadí
výrazně snižuje složitost aplikací.
Borland Together Developer 2006 pro Eclipse je integrovaná vývojová platforma
navržená tak, aby urychlovala analýzu, návrh a vývoj složitých podnikatelských aplikací.
Využíváním vícenásobných platforem včetně Eclipse 3.1 - s dokonalejší podporou UML,
návrhových vzorů, Java 5, a dokumentace založené na šablonách - pomáhá Together
Developer týmům urychlit vývoj kvalitních, přizpůsobitelných softwarových systémů.
Technologie Borland LiveSource automaticky synchronizuje softwarové artefakty. Audity a
metriky dramaticky zlepšují prostředí Eclipse tím, že zkracují čas vynaložený na kontroly a
snižují náklady na přepracování stávající kódové báze.
Technologie Together LiveSource převádí modely na kód aplikace, který vždy
odpovídá aktuálnímu modelu. Vývojovým pracovníkům to pomáhá sledovat aktuálně přidané
či pozměněné kódy a dokonce převést stávající zdrojový kód zpět do tvaru modelu aplikace v
notaci UML.
Together Developer 2006 for Eclipse
Developer 2005, for Microsoft Visual Studio .NET 2003
Together Developer 2005, for JBuilder 2005
Na závěr této podkapitoly uvádím tabulku, která přehledně ukazuje jednotlivé odlišnosti
specifikací Borland Together.
37/61
Tabulka 3: Borland Together – přehled funkcionality jednotlivých specifikací
3.1.5 Tvorba metrik a auditů
Borland Together je víc než jednoduchý modelovací nástroj. Umožňuje analyzovat již
existující projekty, tvorbu metrik a auditů, které můžete použít k odhalení potencionálních
problémů.
Například následující obrázek ukazuje Borlandem Together generovaný Kiviat Chart,
ten zobrazuje kruh nejlepších dovedností. Body, které leží uvnitř vnitřního kruhu jsou
považované za přijatelné a ty vně označené oblasti vyžadují pozornost. Konkrétně zobrazený
diagram ukazuje hloubku dědičné hierarchie (DOIH) objevující se mimo uživatelsky
definovaný vnitřní kruh.
38/61
Obrázek 17: Borland Together – Kiviat chart
Obrázek 18: Borland Together - QA Metrics dialog box
39/61
3.1.6 Návrh vzorů
Borland Together nabízí vysokou úroveň pro návrh vzorů. BDS 2006 totiž přichází s
velkým množstvím standardizovaných vzorů pro odvětví (industry-standard patterns)8. Kromě
zabudovaných vzorů si můžete vytvářet a ukládat vlastní vzory. Obě kategorie vzorů mohou
být zpřístupněny pomocí Pattern Organizer (Organizér vzorů).
Obrázek 19: Borland Together – organizér vzorů
8
Jedná se o vzory definované v knize “Design Patterns: Elements of
Reusable Object-Oriented Software “(1995, Addison-Wesley Professional Computing Series)
by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides (známé jako The Gang of Four neboli GoF)
40/61
3.1.7 Generování dokumentace
Jednou z hlavních výhod integrace Borland Together je automatické generování
dokumentace. Dokumentace je generována ve formátu HTML, což dovoluje její snadné
prohlížení v okně internetového prohlížeče.
Obrázek 20: Borland Together – ukázka automaticky vygenerované dokumentace
3.1.8 Podpora Eclipse a Microsoft Visual Studio
Borland Together podporuje systémové prostředí Eclipse 3.2 a Microsoft Visual
Studio 2005. Následující tabulka uvádí podrobné specifika.
41/61
Tabulka 4: Borland Together – podpora IDE prostředí
3.1.9 Resume
Z předchozích informací vyplývá, že Borland Together 2006 představuje velice
komplexní CASE nástroj. Jeho značnou výhodou je podpora velké škály platforem (jak OS,
vývojových prostředí tak i databází), podpora reversního inženýrství a další. Zvolená cena
65 000 Kč (specifikace Developer, ver. pro Eclipse, licence 1 uživ.)9 se mi jeví jako
odpovídající ve srovnání s konkurencí. Budoucí trend vidím ve snaze pokrýt široký rozsah
platforem a integraci Borland Together s produkty Borland RDM (Requirements Definition
and Management), které slouží pro business analýzu a zachycení požadavků. Což umožní
plné řízení životního cyklu aplikací.
9
http://www.superwarehouse.com/Borland_software/b/41/c/1857
42/61
3.2
Visual Paradigm for UML 6.0
3.2.1 Úvod
Visual Paradigm for UML v6.0 (dále jen VPU) je multiplatformní nástroj pro
vytváření modelů na základě UML a velmi výkonný CASE nástroj. Staví na uživatelsky
přátelských vizualizačních nástrojích ošetřujících mimo-jiné i databázovou stránku vývoje
SW. VPU tedy velmi usnadňuje a zrychluje vývoj aplikací.
3.2.2 Vlastnosti
•
•
•
•
součinnost s ostatními nástroji
generování kódu s podporou několika programovacích jazyků
modelování business procesů
…
Mezi jeho největší přednosti patří možnost komunikace s ostatními CASE nástroji a
předními vývojovými prostředími, a to pomocí formátů XMI, XML, .mdl a .cat (poslední dva
jsou Rational Rose formáty). Podporuje modelovací jazyk UML ve verzi 2.1 se 17-ti typy
diagramů. S VPU lze z modelů generovat kód do 11-ti programovacích jazyků s možností
reverse engineeringu. Synchronizace, tedy round-trip engineering je možná jen pro jazyk
JAVA. VPU nabízí i nástroje pro modelování Business procesů (Data flow & Business
process diagramy). Podpora vývojových týmů je ve VPU upravena rámcovou C-S aplikací,
která ošetřuje přístup k projektovým materiálům, sledování jeho změn a verzování.
Samozřejmostí je i automatické generování dokumentace do různých formátů, překvapením je
však možnost automatické vytváření reportů o projektu.
43/61
Obrázek 21: VPU – zobrazen je diagram umístění
3.2.3 Resume
VPU je potenciální nástroj doplňující klasická IDE prostředí. Pokud vezmeme v úvahu
jeho nespornou výhodu, a to konektivitu s těmito nástroji, pak by určitě neměl tento nástroj ve
vývojových týmech chybět.
Cena: 908 US $ (Visual Paradigm for UML 6.0 verze Professional, 1U floating licence)
44/61
3.3
Microsoft Visio 2007
Aplikace Office Visio 2007 usnadňuje odborníkům z oblasti IT a dalších odvětví
vizualizovat, analyzovat a komunikovat komplexní informace, systémy a procesy. Pomocí
profesionálně zpracovaných diagramů aplikace Office Visio 2007 lze vylepšit porozumění
systémům a procesům, začít se orientovat v komplexních informacích a tyto znalosti využít k
přijímání lepších rozhodnutí týkajících se vašeho podniku. Pomocí aplikace Office Visio 2007
lze vizuálně dokumentovat, navrhovat a plně porozumět stavu obchodních procesů a systémů
pomocí celé řady diagramů, například vývojových diagramů obchodních procesů, síťových
diagramů, diagramů pracovních postupů, databázových modelů a softwarových schémat.
Diagramy budou užitečnější, pokud je propojíte s podkladovými daty, čímž získáte úplnější
pohled.
Aplikaci Office Visio 2007 lze rozšířit pomocí programování nebo integrací do jiných
aplikací tak, aby vyhovovala situacím specifickým pro dané odvětví nebo splňovala jedinečné
požadavky organizace. Můžete vyvinout vlastní řešení a obrazce nebo použít prvky od
poskytovatelů řešení aplikace Visio.
Vlastní nastavení a rozšíření aplikace Office Visio 2007 pomocí programování
umožňují tyto funkce:
• Každé vlastní řešení lze vizuálně znázornit pomocí diagramů díky šablonám v
kategorii Software a databáze aplikace Office Visio 2007 - například jazyk UML
(Unified Modeling Language) nebo tok dat a diagramy uživatelského rozhraní
systému Microsoft Windows.
• Sada SDK aplikace Office Visio 2007 usnadní novým i stávajícím vývojářům aplikace
Visio vytváření programů pomocí aplikace Visio 2007. Sada SDK zahrnuje celou řadu
ukázek, nástrojů a dokumentace pro zjednodušení a zrychlení vývoje vlastních
aplikací. Sada SDK poskytuje sadu opakovaně použitelných funkcí, tříd a procedur
pro nejběžnější úkoly vývoje v aplikaci Office Visio 2007 a zahrnuje podporu mnoha
různých vývojových jazyků, včetně jazyků Microsoft Visual Basic, Visual Basic
.NET, Microsoft Visual C# .NET a Microsoft Visual C++.
• Pomocí aplikace Office Visio 2007 a nástroje Visio Drawing Control můžete vytvářet
vlastní řešení pro připojení dat, která usnadňují připojení a zobrazení dat v libovolném
kontextu. Pomocí nástroje Visio Drawing Control mohou vývojáři vkládat a
programovat prostředí výkresů aplikace Office Visio 2007 do vlastních aplikací. Tento
nástroj otevírá nové možnosti pro integraci řešení, neboť usnadňuje zahrnutí
výkonných funkcí aplikace Office Visio 2007 do libovolné inteligentní klientské
aplikace. Vzhledem k tomu, že nástroj Visio Drawing Control lze integrovat do
uživatelského rozhraní hostitelské aplikace, mohou vývojáři využívat funkce kreslení
aplikace Office Visio 2007 jako nedílnou součást své aplikace a nemusí podobné
funkce vyvíjet sami.
45/61
Obrázek 22: Microsoft Visio ’07 – business process diagram
46/61
3.4
MagicDraw UML 12.1
MagicDraw UML je méně známy CASE nástroj, avšak podporuje veliké množství
funkcí. Ve verzi 12.1 jsou dostupné technologie UML 2, UML 1.4, SysML 1.0, OCL, Java 2,
CORBA IDL, EJB 2.0, C#, CIL (MSIL), C++, JDBC (Oracle 8i/9i, MS SQL Server
2000/6.5/7.0, DB2 7.2, Sybase 12.5, Pointbase 4.4, MySQL 4.1.x,PostgreSQL 7.2, Pervasive
SQL), XMI 2.1, čímž jsou uspokojivě pokryty nejčastější technologie pro vývoj
distribuovaných aplikací (chybí snad jen podpora COM/DCOM/COM+).
Mezi velmi zajímavé vlastnosti patří podpora návrhových vzorů (design patterns), což
jsou pojmenované a dobře popsané osvědčené postupy řešení modelových situací (např. jak
mít v aplikaci pouze jedinou instanci dané třídy, jak v aplikaci udělat Undo/Redo, jak napsat
aplikaci rozšiřitelně apod.). MagicDraw UML podporuje jak obecné návrhové vzory (např.
singleton, observer atd.) tak vzory specifické (např. pro Javu nebo pro vytváření JUnit testů).
MagicDraw UML je sám napsán v Javě a možná právě proto se hodí nejlépe pro vývoj
systému, založeném na této platformě, i přesto má MagicDraw jednu unikátní vlastnost pro
platformu .NET – umí UML model vytvořit dokonce ze spustitelného EXE souboru, což je
naprostý vrchol modelovacího reverzního inženýringu, i když to není věc, která by se užívala
příliš často.
Jinak jsou možnosti MagicDraw dost podobné např. PowerDesigneru a generování
.NET kódu (případně jeho reverzní inženýring) se v tomto produktu chová očekávaným
způsobem.
Součásti nabídky je i MagicDraw RConverter, který umí převádět diagramy z CASE
od firmy Rational Rose ve formatu *.mdl do MagicDraw formátu *.xmi.
MagicDraw UML existuje ve verzi Community, Personal, Standard, Professional a
Enterprise. Tabulka s odlišnostmi jednotlivých edicí je na stránce:
http://www.magicdraw.com/main.php?ts=navig&NMSESSID=af70f95b638be8b6e778f90bd7
a67ae4&cmd_show=1&menu=feature_list&NMSESSID=af70f95b638be8b6e778f90bd7a67a
e4
47/61
Obrázek 23: MagicDraw UML - diagram
48/61
3.5
Power Designer 12.1
PowerDesigner a jeho aktuální verze 12.1 ze srpna 2006 je CASE nástroj který
komplexně pokrývá aspekty rozvoje podniku. Obsahuje nástroje pro obchodně orientovanou
procesní analýzu, která umožní identifikovat klíčová místa a funkce podniku jako takového a
nabízí také plně integrované prostředí pro datovou a objektovou analýzu informačních
systémů. Plně podporuje zavedené přístupy a metodologie Unified Modeling Language
(UML) nebo dvouúrovňový návrh databáze - konceptuální model a fyzický datový model.
PowerDesigner umožňuje v rámci jediného prostředí identifikovat důležité obchodní
aktivity podniku a zachytit jejich odraz v aplikacích a databázích pomocí datových a
objektových modelů. Lze zde navrhnout efektivnější fungování podniku v modelu
podnikových procesů a předat takto specifikované zadání do IT oddělení k vytvoření
informačních systémů podporujících tyto nové procesy v podniku. Při návrhu požadovaných
aplikací může datový analytik tak vytvářet entity v datovém modelu a sledovat jejich závislost
na objektech a třídách v navrhované aplikaci získaných z objektového modelu systému.
Hladká spolupráce při návrhu datové a aplikační stránky systému v rámci jediného CASE
nástroje s jednotným uživatelským prostředím se pak odrazí v rychlém a bezproblémovém
vývoji.
3.5.1
Power Designer podporuje
•
Konceptuální datový model - datové modelování na konceptuální úrovní, zachycuje
logické struktury, vazby, kardinalitu a závislosti. Jednotlivé entity mají definované
atributy, primární klíče a datové typy. Konceptuální model lze následně převést na
fyzický objektový model dle specifikací konkrétní databáze. Konceptuální model je
možné získat i zpět z již dříve vygenerovaného fyzického datového modelu, který je
možné získat i SQL kódu.
•
Fyzický datový model – tento model navazuje na konceptuální datový model, jedná
se o model fyzické struktury, v tomto modelu již uvažujeme strukturu a typ databáze.
Z tohoto modelu již můžeme generovat skripty pro konkrétní databázi. PD podporuje
včetně round-trip engineeringu téměř 60 databázových systémů. Zpětně můžeme
model převést na konceptuální či objektový.
•
BPM modely – pro modelování business procesů PD nabízí 3 modely pro podrobné
zachycení a popis, process service diagram zachycuje závislosti mezi modelovanými
službami.
49/61
Process hierarchy diagram
Process service diagram
Business process diagram
PD dále umožňuje provázání BPM modelů s konceptuálním a fyzickým datový
modelem, PD nabízí funkci import / export pro linkování, simulaci prostřednictvím Simul8
(diskrétní simulace), podpora a reverse jazyka BPEL4WS (Business Process Execution
Language for Web Services) jazyk, který poskytuje prostředky pro formální popis obchodních
procesů. A dále generování a reverse ebXML Business Process Specification Schema (BPSS)
XML souborů pro výměnu automatizovaných obchodních zpráv.
•
Objektový model - PD nabízí celou řadu objektových diagramů (všechny, které jsou
definovány v UML) jako diagram tříd, STD, Use case diagram, diagram aktivit a
další. Podrobný souhrn zobrazuje přiložená tabulka.
50/61
Diagram Group
Icon Diagram
Use Case Diagrams
Use case diagram
Structural Diagrams
Class diagram
Composite structure diagram
Object diagram
Dynamic Diagrams
Collaboration diagram
Sequence diagram
Statechart diagram
Activity diagram
Implementation Diagrams
Component diagram
Deployment diagram
Tabulka 5: PowerDesigner – souhrn dostupných diagramů
•
XML Model (XSM) - modelování struktury XML souborů pomocí DTD - Document
Type Definition file nebo XML schémat - XML Schema Definition file (.XSD).
51/61
•
Requirements Model (RQM) - slouží pro vytváření dokumentu specifikací a
požadavků činností, které mají být splněny během vývoje a jejich linkování, propojení
s vytvořenými modely.
•
Information Liquidity Model (ILM) - model znovupoužití objektů ze zdrojové
databáze do jedné či více nových databází s použitím speciálního enginu.
•
generování, reverse a plný round trip engineering, generování a dokumentace
•
podpora multi-uživatelské týmové práce, pokročilá repository
•
import a export ve formátu XMI, podpora Rose modelů
3.5.2 Generování, reverse a synchronizace kódu
PD nabízí generování kódu, reverse a plný round trip engineering do jazyků Java
J2EE, C#, VB.NET, PowerBuilder, C++, Web Services, CORBA (IDL soubory) a dále XML.
Integrace s vývojovým prostředím a synchronizace kódu je umožněna pomocí pluginů, PD
podporuje Eclipse, PowerBuilder a Visual Studio. Dále jak již bylo zmíněno PD podporuje
generování skriptů včetně round-trip engineeringu téměř 60 databázových systémů včetně
nejnovější verzí Oracle, IBM DB/2, Microsoft SQL Server, Sybase, MySQL, NCR Teradata.
Dále PD podporuje import a export do Rose modelů a import a export ve formátu XMI.
Důležitou roli hraje také Repository, PD umí ukládat informace do jakékoliv databáze
podporující rozhranní ODBC.
52/61
Pro vývoj je na stránkách Sybase dodávána kompletní metodika vývoje IS. Na
metodice se podílel autorský kolektiv, formovaný na půdě Katedry informačních technologií
Vysoké školy ekonomické v Praze.
3.5.3 Novinky v aktuální verzi 12.1
o plug-in umožnující integraci s Visual Studiem 2005
o podpora jazyků C# 2.0, Visual Basic 2005
o XSM Mapping Editor
53/61
3.6
Select Architect 7.0
Select Architect je základním nástrojem vývojového prostředí Select, které je určeno
pro objektově orientovaný vývoj aplikací ve vícevrstevné architektuře. Podporuje procesní
modelování, 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 uplatnění principu znovupoužití umožňuje Select
čelit rostoucím nárokům na funkčnost, spolehlivost a délku vývoje informačních systémů.
S vývojovým prostředím Select je dodávána komplementární pragmatická metodika
LBMS Development Method, která je v českém jazyce. Metodika LBMS Development
Method v popisu jednotlivých činností specifikuje způsob využití prostředí Select pro danou
činnost, takže pořízení metodiky spolu s prostředím Select významně zjednodušuje jeho
osvojení a využívání v praxi. Tato metodika poskytuje konkrétní návod na postup vývoje a
následné údržby vícevrstevných aplikací. Využívá principů přístupu k vývoji aplikací v
podobě Model Driven Architecture (MDA). Model Driven Architecture (MDA). Klíčovými
modely použitými v metodice jsou:
•
Počítačově nezávislý model (CIM) je modelem vlastního fungování organizace a
znázorňuje jednotlivé firemní procesy. Vytvářejí jej buď sami uživatelé, nebo analytici
firemních procesů. Slouží vývojářům a IT analytikům k pochopení činností uživatele a
zpětně i uživatelům ke kont-role správnosti návrhu aplikace. Zároveň umožní
vývojářům analyzovat dopady změn v činnostech uživatele.
•
Platformově nezávislý model (PIM) vytvářejí IT analytici. Model řeší koncepční
otázky konkrétní problémové oblasti na obecné úrovni. Neobsahuje informace spojené
s konkrétní technologií a je zhruba třikrát jednodušší než model, který tyto informace
obsahuje. Díky tomu se v něm analytici, kteří nemají detailní technologické znalosti,
snadno orientují a mohou definovat změny v IT řešení na koncepční úrovni.
Platformově nezávislý model je v metodice vytvářen ve dvou fázích - nejprve je
definován hrubý model na úrovni služeb a teprve poté je přírůstkově doplněna detailní
specifikace každé služby. Toto členění umožňuje velmi záhy identifikovat oblasti
opakovaného použití služeb nebo komponent.
•
Platformově specifický model (PSM) vytvářený návrháři řeší daný problém na
konkrétní platformě a je podkladem pro vlastní implementaci. Má stejnou strukturu
jako kód aplikace a je v podstatě vizualizací kódu. Je neocenitelným prostředkem pro
orientaci v kódu - jak dopředně jako zadání pro jeho tvorbu, tak zpětně jako forma
dokumentace.
3.6.1 Select Architekt nabízí
•
BPM modely - podpora pro modelování a simulaci firemních procesů - Process
Thread Diagram a Process Hierarchy Diagram, aternativně lze pro modelování řetězců
využít notaci diagramů firemních procesů (Business Process Modelling Notation BPMN).
54/61
•
Objektové modely - objektového modelování s využitím šablon kódu a návrhových
vzorů, v nabídce modelů je Class diagram ve kterém se shromažďují všechny
informace o objektech, je odvozen z diagramů objektových sekvencí a slouží jako
výchozí bod pro návrh systému. Pomocí diagramu objektových sekvencí (Object
Sequence Diagram) jsou mapovány věcné požadavky na sekvence zpráv mezi objekty
systému, jež tvoří jádro navrhovaného systému. Pro objekty s komplikovaným
životním cyklem je možné vytvořit i stavový diagram.
Obrázek 24: Select Architect 7.0 – sekvenční diagram
•
Databázové modely - datové modely, generování databázových schémat a zpětná
reverzace, Select podporuje tvorbu logického a fyzického datového modelu ve formě
relačního modelu (Entity Relationship neboli ERA diagramu). Vývojové prostředí
umožňuje provést převod a namapování objektového modelu do relačního modelu.
Mapování je možné provádět opakovaně a obousměrně. Výsledkem převodu je
relační model, který lze použít pro vytvoření struktury databáze. Model umožňuje
zachytit tabulky, atributy, indexy, klíče a cizí klíče, databázové pohledy (views),
integritní omezení, trigery (triggers), tablespaces a uložené procedury (stored
procedures). Všechny tyto artefakty jsou předmětem synchronizace mezi modelem a
zvolenou databází. Na následujícím obrázku je znázorněn.
•
•
podpora pro multi-uživatelskou týmovou práci ve velkých týmech
podpora přímého mapování do momentálně používaných komponentově
orientovaných (CBD) a na služby orientovaných (SOA) technologií
zajištění kvalifikované analýzy dopadů změn prostřednictvím databáze požadavků
obsahující vazby na objekty návrhu
podpora opakovaného použití
generování kódu, databázových schémat a dokumentace
synchronizaci kódu a modelů pro nejrozšířenější vývojové platformy
•
•
•
•
55/61
3.6.2 Generování, reverse a synchronizace kódu
Jak již bylo zmíněno Select Architekt nabízí synchronizaci kódu a modelů pro
nejrozšířenější vývojové platformy a dále ve formátu XML. Synchronizery jsou dodávány
jako volitelné moduly k vývojovému prostředí Select pro prostředí Java, C++, C#, Visual
Basic, Delphi a PowerBuilder. Synchronizery jsou nadstavbové nástroje vývojového prostředí
a umožňující kompletní synchronizaci mezi UML modelem a programovým kódem.
Přistupují do repository UML modelů vytvořených v prostředí Select, které je možno
prohlížet a porovnávat s programovým kódem, nebo lze aktualizovat UML model dle
programového kódu či naopak.
Select Architekt dále nabízí generování databázových schémat a zpětná reverzace
zajišťující integraci stávajících struktur tabulek a pohledů umožňující synchronizovat relační
datový model s příslušnou databází, přičemž synchronizace zahrnuje tyto objekty: tabulky,
atributy, indexy, klíče a cizí klíče, databázové pohledy (views), integritní omezení, trigery
(triggers), umístění tabulek (tablespaces) a uložené procedury (stored procedures).
Podporována jsou databázová prostředí Access, DB2, Dbase, FoxPro, Informix, Ingress,
Interbase, Oracle, SQL Server a Sybase.
3.6.3 Novinky v aktuální verzi 7.0
o
Průvodce pro vytváření modelů - slouží uživatelům k zvýšení produktivity při
vytváření nových diagramů, ke sběru konzistentních informací během vytváření
diagramů a lepší orientaci a použitelnost pro nové uživatele.
o
Zlepšení logického datového modelování - vytváření cizích klíčů v logických
datových modelech, rozšíření možností pro definici datového typu atributu.
56/61
3.7
ArgoUML 0.25.1
Dalším programovým balíkem, který je možné použít pro práci s jazykem UML je
balík nazvaný ArgoUML. ArgoUML je distribuováno pomocí BSD licence což je licence,
která umožňuje volné šíření licencovaného obsahu, přičemž vyžaduje pouze uvedení autora a
informace o licenci, spolu s upozorněním na zřeknutí se odpovědnosti za dílo.
3.7.1 ArgoUML nabízí
•
Plná podpora diagramů UML 1.4 – podporováno je 9 modelů:
o Class diagram
o Statechart diagram
o Activity diagram
o Use Case diagram
o Collaboration diagram
o Deployment diagram (obsahuje Object a Component diagram)
o Sequence diagram
Obrázek 25: ArgoUML – uživatelské rozhraní
57/61
•
přenositelnost na různé operační systémy a výpočetní platformy s Javou 1.4+ ( Argo
UML je kompletně naprogramováno v Javě )
•
import a export ve formátu XMI ( import UML1.4 ve formátu XMI 1.1 & 1.2, export
v XMI 1.2.)
•
generování kódu pro jazyky Java, C++, C#, PHP4 a PHP5
•
reverse engineering pro Javu se základními prvky synchronizace
•
lokalizace do 9 národních jazyků (čeština podporována není)
•
exportování modelů do grafických souborů typu GIF, PNG, PostScript, Encapsulated
PS, PGML a SVG.
3.7.2 Generování, reverse a synchronizace kódu
Jak již bylo zmíněno ArgoUML nabízí generování kódu pro jazyky Java, C++, C#,
PHP4 a PHP5, reverse engineering je dostupný pouze pro Javu se základními prvky
synchronizace. Mezi nevýhody lze řadit malý počet podporovaných programovacích jazyků
pro generování kódu, podpora pouze Javy pro reverse engeeniering. Absence podpory
multiuživatelského prostředí. Absence podpory modelování datových modelů a generování
kódu pro databázové systémy. Absence integrace do IDE. Celková jednoduchost.
Na domovských stránkách ArgoUML můžeme nalézt statistiky počtů stažení verze
AroUML 0.22 po jednotlivých měsících, sloupec ZIP vyjadřuje počet stažení softwaru
za jeden měsíc, Manpdf počet stažení dokumentace Manidx počet otevření první stránky
dokumentace.
zip
September
2006
October
2006
November
2006
December
2006
Januari
2007
Februari
2007
tar.gz
appb
Total
DLs
Manpdf Manidx
3721
326
97
4144
413
1216
9739
854
240
10833
955
2532
10311
932
237
11480
936
2636
7300
830
220
8350
795
2070
9654
1300
381
11335
1111
2991
4490
646
184
5320
425
1664
Tabulka 6: ArgoUML – statistiky stažení
58/61
4 Závěr
Na základě naší analýzy nástrojů pro vývoj SW jsme naši hypotézu potvrdili.
Podstatná část nových verzí IDE přichází s novými CASE prvky nebo alespoň s rozšířením
funkcionalit stávajících prvků. Z toho lze usuzovat budoucí trend rozšiřování nezávislosti na
CASE nástrojích.
Na druhé straně klasické CASE nástroje na to reagují lepší provázaností s vývojovými
nástroji (různé pluginy) a výraznějším zlepšováním funkcionalit oproti těm integrovaným
v IDE prostředích. Zároveň jsme u velkých CASE nástrojů zjistili tendenci k nezávislosti na
programové platformě a snahu podporovat modelování business procesů. Dle provedené
analýzy patří zkoumané CASE produkty podle míry integrace do vývojového prostředí do
druhé nebo třetí skupiny. Podpora vygenerování kódu z CASE nástroje následná editace v
IDE, který podporuje daný programovací jazyk, je již téměř standardem. Pro produkty
spadající do třetí kategorie se dá pozorovat rozšiřující se podporu oboustranné synchronizace
pro více jazyků.
59/61
5 Seznam obrázků
Obrázek 1: Eclipse - nabídka Help............................................................................................. 8
Obrázek 2: Eclipse - javovský pohled ve Windows XP............................................................. 9
Obrázek 3: Eclipse - BIRT pro Windows XP ............................................................................ 9
Obrázek 4: Eclipse - BPEL editor pro Window XP................................................................. 10
Obrázek 5: JDeveloper 10g - GUI............................................................................................ 15
Obrázek 6: JDeveloper - ukázka diagramu s definovány toky a vztahy mezi objekty ............ 15
Obrázek 7: Borland Delphi ’06 - vývojové prostředí............................................................... 18
Obrázek 8: Borland Delphi ’06, zobrazen Object Repository ................................................. 19
Obrázek 9: Borland Delphi ’06 - Live Source ......................................................................... 19
Obrázek 10: Borland Delphi ’06 – nabídka UML diagramů ................................................... 20
Obrázek 11: Borland Delphi ’06, ukázka generování kódu ze stavových diagramů ............... 20
Obrázek 12: Borland Delphi ’05 – zobrazen je model tříd ...................................................... 21
Obrázek 13: PowerDesigner 10.5 – zobrazeno je uživatelské rozhraní ................................... 22
Obrázek 14: PowerDesigner – stromová prezentace dat v DataWindow ................................ 23
Obrázek 15: Visual Studio ’05 Team Suite – Přehled produktů a vlastností........................... 26
Obrázek 16: Visual Studio ’05 – class diagram ....................................................................... 31
Obrázek 17: Borland Together – Kiviat chart .......................................................................... 39
Obrázek 18: Borland Together - QA Metrics dialog box......................................................... 39
Obrázek 19: Borland Together – organizér vzorů.................................................................... 40
Obrázek 20: Borland Together – ukázka automaticky vygenerované dokumentace ............... 41
Obrázek 21: VPU – zobrazen je diagram umístění .................................................................. 44
Obrázek 22: Microsoft Visio ’07 – business process diagram................................................. 46
Obrázek 23: MagicDraw UML - diagram................................................................................ 48
Obrázek 24: Select Architect 7.0 – sekvenční diagram ........................................................... 55
Obrázek 25: ArgoUML – uživatelské rozhraní........................................................................ 57
6 Seznam tabulek
Tabulka 1: JDeveloper 10g - historie [http://radio.weblogs.com] ........................................... 13
Tabulka 2: Srovnání všech edicí Visual Studia........................................................................ 29
Tabulka 3: Borland Together – přehled funkcionality jednotlivých specifikací...................... 38
Tabulka 4: Borland Together – podpora IDE prostředí ........................................................... 42
Tabulka 5: PowerDesigner – souhrn dostupných diagramů..................................................... 51
Tabulka 6: ArgoUML – statistiky stažení ................................................................................ 58
60/61
7 Zdroje
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
http://www.borland.cz
http://www.ibm.com/developerworks/db2/library/techarticle/dm-0601swart2/
http://www.borland.com/resources/en/pdf/products/delphi/bds2006_feature_matrix.pd
f
http://dn.codegear.com/article/33411
http://www.borland.cz/products/together/index.html
http://www.borland.com/resources/en/pdf/products/together/together_datasheet.pdf
http://www.borland.com/resources/en/pdf/white_papers/bds_reviewersguide.pdf
http://www.sybase.cz/
http://infocenter.sybase.com/help/index.jsp
http://www.lbms.cz/Nastroje/Select-Architect/index.html
http://argouml.tigris.org/
http://www.magicdraw.com
http://www.visual-paradigm.com/
http://www.techno-kitten.com/
http:// www.pfcguide.com/
http:// www.sybase.com
http://www.eclipse.org
http://blog.zvestov.cz/item/6
http://en.wikipedia.org/wiki/Eclipse_(software)
http://www.eclipse.org/downloads/
http://www.eclipse.org/screenshots/
http://www.myeclipseide.com/
http://en.wikipedia.org/wiki/MyEclipse
http://en.wikipedia.org
http://www.oracle.com
Stránky firmy Microsoft
Produktové manuály
61/61

Podobné dokumenty

Diplomová práce Systém pro usnadnění správy SW a řízený výběr

Diplomová práce Systém pro usnadnění správy SW a řízený výběr V současnosti není neobvyklé, že mezi aplikací a HW jsou kromě operačního systému i další vrstvy, jako například emulátory, virtuální prostředí a stroje. Některé programy lze v nezměněné podobě spo...

Více

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

Nástroje pro vývoj aplikací a jejich vazba na CASE Semestrální práce na předmět IT_572

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 vývoji aplikací, a to zejména tvorbou různých modelů a UML diagramů. Tvorba modelů je hlavním účelem většiny CASE nástrojů, ale pomoci vývoji aplikací lze i jinými způsoby, což je předvedeno zejmén...

Více

celý časopis

celý časopis Eset přichází s kompletní sadou pro zabezpečení počítače. Veřejná beta 1a nového produktu Eset Smart Security se objevila v dubnu ke stažení a čeká na reakce uživatelů. Je určena pro Windows XP, Wi...

Více

Integrační nástroje a jejich vazba k CASE a modelování vůbec

Integrační nástroje a jejich vazba k CASE a modelování vůbec 6.1 Funkce Biz Talk Serveru 2009:..........................................................33 7 Sybase..................................................................................................

Více

WinCC 1. část - snímky Soubor

WinCC 1. část - snímky Soubor Přístup na data bez WinCC

Více

oracle fusion middleware forum

oracle fusion middleware forum Dovolujeme si Vás pozvat na pravidelnou odbornou konferenci Oracle Fusion Middleware Forum, která bude zaměřena na návrh IT řešení, založených na konceptu Servisně Orientované Architektury (SOA), i...

Více

Přehled CASE na trhu

Přehled CASE na trhu Cena ....................................................................................................................................................... 92 Uživatelské rozhraní ...................

Více