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