NÁSTROJE PRO VÝVOJ APLIKACÍ A JEJICH VAZBA NA CASE



Podobné dokumenty
Nástroje a frameworky pro automatizovaný vývoj. Jaroslav Žáček jaroslav.zacek@osu.cz

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

Správa a sledování SOA systémů v Oracle SOA Suite

4IT450 CASE - Computer Aided Systems Engineering

Název nástroje Hodnocená verze nástroje 4.0 Společnost (vlastník nástroje) WWW

CASE nástroje. Jaroslav Žáček

Statistica, kdo je kdo?

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

Komputerizace problémových domén

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

Strategické řízení IS Strategické řízení Základní pojmy

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

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

SharePoint 2010 produktové portfolio a licencování

Sem vložte zadání Vaší práce.

PV207. Business Process Management

Integrace podnikových Open Source aplikací v praxi. RNDr. Petr Novák, Open Source Conference Praha, 19. duben 2011

CASE. Jaroslav Žáček

Analýza dat na PC I.

MATLAB a Simulink R2015b

Kapitola 1: Co je Microsoft Access? 27 Kapitola 2: Mnoho tváří aplikace Microsoft Access 41 Kapitola 3: Návrh databázové aplikace 75

ROZVOJ ICT A PDA ZAŘÍZENÍ THE DEVELOPMENT OF ICT AND PDA DEVICES Jiří Vaněk


Co by měl umět dobrý vývojář. Petr Adámek Home Credit International a.s.

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

Technologie Java. Jaroslav Žáček

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

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

instaluj Naučte se víc...

USI Projekt klíčenka"

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

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

MATURITNÍ PRÁCE dokumentace

Kentico CMS. Hledáte rychlý, snadný a efektivní způsob jak si vytvořit firemní web? Dál už hledat nemusíte. Snadné použití pro marketéry

Tieto přináší nové příležitosti v IT.

Novinky ve Visual Studio Tomáš Kroupa

Vysoká Škola Ekonomická - Fakulta informatiky a statistiky. 4IT450 CASE Computer aided systems engineering

Software je ve světě IT vše, co není Hardware. Do softwaru patří aplikace, program, proces, algoritmus, ale i data (text, obrázky), operační systém

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

Informační systém pro veterinární stanici

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

Platformy / technologie. Jaroslav Žáček jaroslav.zacek@osu.cz

Microsoft Office 2003 Souhrnný technický dokument white paper

Předmětem části B) veřejné zakázky je dodávku existujícího licencovaného softwaru dle této technické specifikace.

O aplikaci Parallels Desktop 7 for Mac

Vývoj informačních systémů. Architektura, návrh Vzory: Doménová logika

Vysoká škola ekonomická v Praze

Analýza publikačního systému. KÚ Zlínského kraje

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

Vývoj informačních systémů. Architektura, návrh Vzory: Doménová logika

Obsah. Kapitola 1 Stažení a instalace Kapitola 2 Orientace v programu a základní nastavení Úvod... 9

O projektu Nasazení OpenOffice.org v praxi

UML: Unified Modeling Language

IBM Connections pro firmy s Lotus Notes/Domino. Petr Kunc

Modelování webových služeb v UML

ArcGIS Desktop 10. Nástroje pro správu, editaci a analýzu prostorových dat

POUŽITÍ CASE VE VÝVOJÁŘSKÉ FIRMĚ. Zpracovali: Houžvička Jakub Kalina Tomáš Klimko Jozef Kvapil Hynek

Technický profil. Základní technologií, na které je produkt MicroStation GeoGraphics vytvořen, je technologie mapových

Kapitola 1: Co je Delphi 19. Překlad projektu 23

Obsah. Seznámení s prostředím Excelu. Poděkování 25 O přiloženém CD 26 Co je na CD 26 Použití CD 26 Systémové požadavky 26 Podpora 27

UKÁZKOVÉ PŘÍKLADY VYUŽITÍ VIRTUÁLNÍCH GLÓBŮ NEJEN V GEOVĚDÁCH

MBI - technologická realizace modelu

Metadata. RNDr. Ondřej Zýka

- 1 - Smlouva o dílo. uzavřená podle 536 a násl. obchodního zákoníku v účinném znění

RETAIL PROCESS TRACKER VIZUALIZACE OBCHODNÍCH PROCESŮ VAŠEHO INFORMAČNÍHO SYSTÉMU

Návrh optimalizace informačního systému

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

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

Procesní dokumentace Process Management. Pavel Čejka

Workshop Exact Software CEE

Software pro personalizaci karet

ENOVIA SmarTeam: snadné a rychlé zavedení a osvojení PLM systému

Konfigurace pracovní stanice pro ISOP-Centrum verze

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

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

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

manažerského řízení HW a SW požadavky pro sw ATTIS

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

Přehled systému Microsoft SQL Server. Komu je kniha určena Struktura knihy Nejvhodnější výchozí bod pro čtení knihy Konvence a struktura knihy

ADVANTA group.cz Strana 1 ze 40. Popis řešení Řízení IT projektů. group.cz

Zakázka Vnitřní integrace úřadu v rámci PROJEKTU Rozvoj služeb egovernmentu ve správním obvodu ORP Rosice

software Ruční měřicí přístroje Zobrazovače / Regulátory Loggery / EASYBus GDUSB FastView EASYControl net EASYBus Configurator GSOFT 3050 GSOFT 40k

Metadata. MI-DSP 2013/14 RNDr. Ondřej Zýka,

Obchodní podmínky technické podpory programu ESRI Developer Network (EDN)

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

PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHO KATEDRA INFORMATIKY BAKALÁŘSKÁ PRÁCE. Vytváření a evidence smluv Petr Čulík

Globální architektura ROS

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

TECHNICKÉ PODMÍNKY. Článek 2. Podmínky pro službu MojeBanka, MojeBanka Business, MojePlatba,Expresní linka Plus a TF OnLine

SQL Server Data Tools (SSDT) RNDr. David Gešvindr MVP: Azure MCSE: Data Platform MCSD: Windows Store

ArcGIS Server 10. Řešení pro sdílení geodat

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

SW ATTIS nástroje. HW a SW požadavky pro sw ATTIS. manažerského řízení. Verze manuálu: 3.5 Datum:

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

Transkript:

VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE NÁSTROJE PRO VÝVOJ APLIKACÍ A JEJICH VAZBA NA CASE Zuzana Kabuďová, Matej Paluš, Martin Uřídil, Richard Nagrant, Miroslav Králik, Pavel Krofika 30. prosince 2011

1. Úvodem Informační a komunikační technologie prodělávají v současnosti nebývalý rozvoj a ovlivňují kaţdodenní ţivot jednotlivců, podniků, států, mezinárodních institucí a tím pádem vlastně celého lidstva. Jejich úloha v dnešním globalizujícím světě je nezastupitelná, svět nikdy nebyl tolik propojen, vzdálenosti tolik redukovány a aktivity jedněch tolik propojené s aktivitami druhých, byť od sebe oddělených polovinou planety. Cílem této práce ovšem není nahlíţet na ICT jako na globální výzvu, ale jít přesně na opačný konec, nebo spíše na začátek celé problematiky, tedy podívat se na vlastní tvorbu a vývoj aplikací. Vědomi si toho, ţe navazujeme na práci kolegů z předchozích ročníků, se pokusíme teoreticky vymezit toto téma (úskalím této oblasti je právě to, ţe naše práce nepřinese pro čtenáře asi tolik nového), podívat se na vývoj a situaci na trhu, nastínit moţné trendy, a zejména blíţe analyzovat vybrané CASE a IDE nástroje a ukázat na jejich vzájemné vazby a moţnosti plynoucí z jejich propojení (zde naopak naše práce můţe oscilovat na zcela opačném konci stupnice přínosnosti). Konkrétně tedy druhá a třetí kapitola vysvětluje, co to jsou nástroje CASE a integrovaná vývojová prostředí a ukazuje jejich obecné charakteristiky a dělení. Ve čtvrté kapitole se věnujeme popisu konkrétních nástrojů CASE a integrovaným prostředím, jeţ se nám pro účely této práce zdály relevantní. V páté kapitole se pak podíváme na moţnosti vzájemného propojení obou skupin nástrojů. Šestá kapitola je krátkým zamyšlením nad tím, zda je výhodnější separátní vyuţití CASE a IDE, nebo jejich integrace v jeden produkt, a v poslední sedmé kapitole se snaţíme identifikovat směr budoucího vývoje v této oblasti. Právě poslední tři zmíněné kapitoly povaţujeme za klíčovou a nejpřínosnější část naší práce. Naším hlavním cílem je tedy ukázat vazby mezi oběma skupinami nástrojů, poukázat na výhody a nevýhody separátního či integrovaného řešení a pokusit se odpovědět na otázku, kam bude směřovat budoucí vývoj. 1

2. Charakteristika CASE Jak jiţ bylo řečeno, ţijeme v době, ve které všechno musí jít rychle, s tím jak roste poptávka po nových výrobcích, které mají nahradit ty jiţ zastaralé, je nezbytné, aby tyto nové výrobky byly vyvíjeny stejně akcelerujícím tempem. Stejně tak jako je většina výrobních procesů podporována informačními technologiemi (computer aided), tak i návrh samotného software je v souladu s tímto systémem realizován pomocí počítačového návrhu (Crow, 2011). A jeho vývoj by měl pokud moţno být rychlý a správný. Čímţ se dostáváme ke stěţejnímu bodu naší práce, čili Computer Aided Software Engineeringu (zkráceně CASE) termínu, který autor Meecham (Meecham, 2000) definuje jako is the use of a computer-assisted method to organize and control the development of software, especially on large, complex projects involving many software components and people. Using CASE allows designers, code writers, testers, planners, and managers to share a common view of where a project stands at each stage of development. Čili volně přeloţeno do češtiny - jako pouţití počítačem podporovaných metod vedoucí k organizaci a kontrole vývoje software, zejména velkých, komplexních projektů, které zahrnují mnoţství softwarových komponent a lidí. Pouţití nástrojů CASE umoţňuje, aby inţenýři, programátoři, testeři, plánovači i manaţeři mohli sdílet společný pohled na projekt v celé jeho komplexnosti a v kaţdém stádiu jeho vývoje. CASE můţeme také definovat jako usměrněný a strukturovaný přístup k vývoji software i celých informačních systémů. Nástroje CASE podstatně redukují, či eliminují řadu problémů s designem a vývojem, které se vyskytují u středně velkých aţ velkých softwarových projektů a umoţňují vývojářům zaměřit se více na systémovou architekturu, neţ na vlastní implementaci (Lo, 2006). Nástrojů CASE můţeme najít velké mnoţství a to jak pro strukturální, tak pro objektově orientované modelování, některé jsou jiţ integrovány do moderních vývojových prostředí. Jako většina věcí v ICT světě, ani CASE nejsou samospásné. Aby jejich pouţívání přinášelo maximální efekty, musí být navázány na metodiku pouţívanou ve firmě, protoţe stále je nutné mít na paměti, ţe se jedná pouze o jednu částečku zapadající do mozaiky vývoje, kde je nezbytné také řízení projektu, zavedení a plnění metodiky, vyuţití odborníků na jednotlivé oblasti (analytik, návrhář, programátor, tester), pouţití a vyhodnocení metrik apod. (Procházka, 2004). 2

3. Charakteristika nástrojů pro vývoj aplikací Nejčastější definicí (Scriptol, 2011) integrovaného vývojového prostředí se kterou se setkáváme je, ţe se jedná o nástroje, které pomáhají programátorům při vývoji softwaru. Slouţí k přehlednému a snadnému vytváření aplikací. Můţeme se setkat i s tím, ţe se jedná o soubor nástrojů, které podporují vývoj aplikací, kteráţto definice, jako by a priori nepředpokládala, ţe vývojové prostředí je jednolitý produkt, ale integrace několika nástrojů v jeden. Jak uvidíme v dalších kapitolách, dnešní vývoj nese známky právě této vlastnosti. Cílem těchto nástrojů je zvýšit produktivitu programátorů například tím, ţe minimalizují čas jinak nezbytný na přepínání mezi jednotlivými činnostmi, které jsou součástí ţivotního cyklu vývoje softwaru (editace, kompilace, testování, verzování, dokumentace, debugging ), nebo šetří čas potřebný k naučení se práce s různými nástroji, které jsou potřeba v jednotlivých etapách ţivotního cyklu. IDE obvykle obsahují (Scriptol, 2011): Grafické uţivatelské prostředí (které umoţňuje zejména vybírat soubory, definovat volby, či spouštět operace) Editor zdrojového kódu Kompilátor Upozorňování na chyby Podporu automaticky se opakujících úloh Podporu dokumentace a řízení projektu a další Hlouběji se problematice IDE věnují práce předchozích týmů, jmenovitě například práce nesoucí stejný název ZS 2009/2010 (JAKOUBEK a kol., 2009) či LS 2009/2010 (AXMANN a kol., 2010). 3

4. Představení vybraných produktů Zde uvádíme konkrétní produkty, které jsme si vybrali a na kterých budeme demonstrovat výhody propojení a návaznosti. 4.1. Nástroje CASE 4.1.1. Enterprise Architect 9.2 Jedná se o produkt společnosti Sparx Systems, který nabízí moţnosti týmového celopodnikového modelování, designu a řízení, zaloţený na platformě UML 2.4.1 a standardech k tomu vztaţených. V principu pokrývá celý ţivotní cyklus vývoje systému, od zadání poţadavku přes analýzu současného stavu, návrh modelů, testování a údrţbu, vše s vyuţitím diagramů UML. Také umoţňuje tvorbu přehledné dokumentace. V dnešní době počet uţivatelů tohoto produktu přesahuje číslo 250 000. Důvody, proč jsme vybrali právě tento produkt, jsou především následující: Intuitivnost Nízká cena Počet uţivatelů Přehledné uţivatelské reference Podpora MDA transformace Reverzní inţenýrství z mnoha populárních DBMS systémů (Oracle 9i,10g, SQL Server, MySQL, Access apod.) Správa verzí 4

Obr. 4-1Uţivatelské rozhraní aplikace Enterprise Architect Jak uvádí výrobce produktu (Sparx Systems Pty Ltd, 2011), Enterprise Architect poskytuje nespočet vlastností, z nichţ poskytujeme hlavní výčet: Podpora všech 14 diagramů chování a struktury ve verzi UML 2.3 EA podporuje celý ţivotní cyklus modelování a vývoje pro: Obchodní a IT systémy Softwarové a systémové inţenýrství Zabudovaný vývoj v reálném čase Rychlost, stabilita a výkon: Rychlé nahrávaní velkých modelů Vysoce výkonný repositář modelů při práci v týmech Podpora MDA transformace: Transformace jednoduchých modelů do komplexních cílů Moţné vyuţití šablon, které lze jednoduše upravit Vestavěná transformace pro různé DDL, dále pak jazyky C#, Java, EJB, XSD Rozsáhlá a flexibilní dokumentace: WYSIWYG šablony pro generování dokumentů Podpora šablon pro všechny elementy EA a jejích vlastnosti Flexibilní moţnosti výstupů s filtry a kritérii výběru Vysoká kompatibilita s dokumenty ve formátu Word 5

Moţnost výstupu i v podobě HTML, který pak lze přímo publikovat na webu Moţné ukládaní modelů přímo do PDF Datové modelováni: Reverzní inţenýrství z mnoha populárních DBMS systémů (Oracle 9i,10g, SQL Server, MySQL, Access apod.) Modelování tabulek, sloupců, primárních či cizích klíčů, referenční integrity apod. Generování SQL skriptů pro vytvoření cílové datové struktury Moţnost sdílet EAP soubory různými způsoby Podpora několika různých DBMS repositářů jako Oracle i9, Oracle 10g, SQL Server, MySQL Podpora správy verzí: Integrace Subversion Úrovňové verzování balíčků Všechny verzované balíčky uloţené v standardním XML formátu pro rychlou přenositelnost a jednoduchou manipulaci Reverzní inţenýrství kompilovaných souborů z Javy a.net Podpora importu.jar souborů Podpora XML schémat: Zabudovaný profil XSD pro zjednodušení vývoje XML schémat pomocí UML Generování XML schémat přímo z UML modelu Transformace jednoduchých modelů do XSD pomocí MDA transformace, následné generování XSD souborů Import/export modelů v XML formátu Podpora XML 1.0, 1.1, 1.2 a 2.1 Export kompletních EA modelů do XML Správa poţadavků: Podpora agregace, kompozice, vkládání a jiných komplexních vztahů mezi poţadavky Hierarchie pro detailní zobrazení propojení mezi elementy Plná podpora trasování pomocí hierarchických a maticových zobrazení Uţivatelské zabezpečení: 6

Zabudovaná uţivatelská bezpečnost Podpora skupin uţivatelů Velké mnoţství oprávnění Podpora testování: Unit testy Integrační testy Systémové testy Akceptační testy Testy různých scénářů Generováni výsledků v RTF formátu Podpora pro projektový management: Alokace úloh pomocí Ganttova diagramu Projektový kalendář zdrojů Plánování úloh Ceny verzí Enterprise Architect dle (Sparx Systems Pty Ltd, 2011): a) Edice EA Desktop Professional Corporate Mnoţství Cena Mnoţství Cena Mnoţství Cena 1-4 $135 1-4 $199 1-4 $239 5-19 $120 5-19 $189 5-19 $219 20-100 $110 20-100 $179 20-100 $199 101+ $95 101+ $165 101+ $185 Tabulka 1 ceník edic Enterprise Architect *Licenční klíč platí 12 měsíců od koupě produktu. b) Edice vylepšení a balíčky Business Softw. Engineering Systémové inţenýrství Ultimate Mnoţství Cena Mnoţství Cena Mnoţství Cena 1-4 $599 1-4 $599 1-4 $699 5-19 $539 5-19 $539 5-19 $629 7

20-100 $479 20-100 $479 20-100 $559 101+ $419 101+ $419 101+ $489 Tabulka 2 Ceník edic vylepšení a balíčků 4.1.2. Power Designer Power Designer je produktem společnosti Sybase Inc. Nabízí sadu modelů a nástrojů pro návrh a tvorbu informačních systémů. Modelů, které je v něm moţné vytvářet, existuje celá řada, návrh však není podpořen ţádnou konkrétní metodikou. Podporuje jak strukturované, tak objektové modelování. Power Designer jedinečně kombinuje několik standardních modelovacích technik (UML, Business Process Modelling a datové modelování) spolu s podporou vývojových prostředí jako je.net, WorkSpace, PowerBuilder, Java či Eclipse. Spolupracuje s více neţ 60 různými RDBMS (Relational Database Management Systems). Samotný program má široké vyuţití v komerční sféře a proto není volně dostupný ke staţení. Všeobecné přínosy Power Designeru jsou hlavně ve zvýšení produktivity prostřednictvím součinnosti byznysu a IT, zajištění otevřené podpory pro heterogenní prostředí jakéhokoliv typu, podpora standardů a regulací nebo také schopnost dokumentovat stávající systémy a tím i celou architekturu. Na trhu je uţ od září roku 2011 verze s číslem 16. Tak jako v kaţdé verzi, tak i nyní přinesla firma Sybase do tohoto nástroje několik novinek: Propracovaný interface (automaticky skrývané lišty, rozbalovací sekce, pouţití záloţek, plně konfigurovatelné nabídky, toolbary a další) Vylepšený repositář (enterprise glossary, enterprise library, Role-Based Interface Customization, atd.) Vylepšená editace a zobrazování symbolů 8

Automatické propojení prvků Podpora moderního prostředí (Windows 64bit, Eclipse 3.6, MS Office 2010 & Visio 2010) Rozšířená podpora o nové RDBMS Přidání rychlého quick search vyhledávání a Impact analysis přímo z menu portálu Klíčové vlastnosti Power Designeru spočívají hlavně ve schopnosti udělat a zakreslit jakýkoliv model. Tento nástroj obsahuje čtyři základní typy modelovacích technik: Konceptuální datový model (CDM - Conceptual Data Model) pro modelování logické struktury databáze. CDM je moţné automaticky převést (konvertovat) na PDM nebo OOM (zkratky viz dále). Fyzický datový model (PDM - Physical Data Model) pro modelování fyzické struktury databáze (uvaţuje se struktura dat a typ databáze). PDM lze konvertovat na CDM nebo OOM. Na základě PDM je moţné generovat databázi. Objektový model (OOM - Object Oriented Model) objektově orientovaný přístup pro modelování. Následně je moţné generovat kód ve zvolném jazyce. OOM lze konvertovat na CDM nebo PDM. Procesní model (BPM - Business Process Model) pro modelování business procesů v organizaci. Do jednoho modelu je moţné vytvářet jak strukturu organizace, tak i vlákna procesů. Procesy je moţné mapovat na organizační jednotky. Přejdeme však z teorie na praktickou ukázku, jak vlastně Power Designer funguje. Byznys svět se pořád mění a schopnost rychle odpovědět na tyto změny (tj. změny na trhu, v směrnicích nebo v technologiích) dělá hlavní rozdíl mezi úspěchem a selháním. Modelování přináší hodnotu do dnešního byznysu podniku tím, ţe umoţňuje vizualizaci, dokumentování a porozumění dopadu konkrétní změny ještě předtím neţ tato změna nastane. Jediné co je třeba udělat, je vytvořit model jednoduchého datového prostředí a vyvinout scénář. Stává se ale velmi zřídka, ţe firma můţe naimplementovat pouze nejjednodušší řešení a spokojit se s ním. Power Designer se proto skládá ze špičkové datové architektury, informační architektury a podnikové architektury. Všechny 3 architektury spolu souvisí a tvoří jeden celek. Můţeme si to představit jako následující model. Všechny domy ve městě jsou data a cesty, které spojují tyto domy, představují datovou architekturu. Kdyţ přejdeme o úroveň výš, dostaneme se k hlavním cestám, které spojují jednotlivé méně významné cesty. Toto si můţeme představit jako informační architekturu. Poslední úrovní nad informační 9

architekturou je podniková architektura. Ta se dá představit jako letiště, sousedící města nebo kopce, které dotvářejí celý model reality. Vraťme se ale zpět k datové architektuře. Power Designer je leader datového modelování od roku 2004, protoţe napomáhá analýze, manipulaci a pochopení metadat. Obr. 4-2Datová architektura Power Designeru Jak ukazuje obrázek výše, byznys poţadavky jsou přímo spojené s datovou, byznys, aplikační a technickou architekturou. Mezi modely datové architektury patří konceptuální, logický a fyzický model kombinovaný se specializovaným modelem datových skladů a pohybem dat. Power Designer nabízí i podporu pro více jak 60 relačních databázových systémů. V informační architektuře nabízí tento CASE nástroj modelově řízený přístup. To následně vede k větší informovanosti při sloţitých rozhodovacích procesech a zajišťuje větší agilnost v byznysu. 10

Obr. 4-3Modelově řízený přístup k informační architektuře Prostřednictvím řízení metadat, dává Power Designer schopnost přiblíţit, nebo oddálit celý datový model najednou. Hned jakmile uţivatel vidí, odkud data přichází, kdo je vlastní a kde se ukládají, můţe tato data řídit mnohem lépe a zajistit tak jejich větší přesnost a spolehlivost. Na této vrstvě architektury pomáhá Power Designer sniţovat rizika a náklady spojené se změnou. Na závěr této podkapitoly se dostáváme k podnikové architektuře. Je to kombinace strategie, lidí, procesů, dat a technologií, které tvoří celý podnik. Podniková architektura je umění a věda zároveň, jeţ slouţí k zachycení a definování byznysu, modelováním optimálních výsledků. Samozřejmě, ţe na zachycení základních věcí postačuje i Excel nebo papírové nálepky, ale ve snaze zaznamenat rozsáhlejší model reality není Excel nejlepší volbou. Integrace výsledků modelování je jednou z nejdůleţitějších vlastností, kterou by měl splňovat nástroj pro modelování podnikové architektury. Power Designer vyuţívá společné sdílené úloţiště a napomáhá tak k integraci jednotlivých výsledků (Sybase, 2011). 4.1.3. Nástroje Visual Paradigm Společnost Visual Paradigm je jednou z vedoucích firem v oblasti nástrojů pro vývoj a podporu software. Její hlavní činností je tvorba, prodej a následná podpora balíku nástrojů CASE, který společnostem usnadňuje proces tvorby software, zvyšuje kvalitu výsledku a maximalizuje ROI. Tolik o sobě tvrdí výrobce sám. A můţeme říci, ţe realita tuto skutečnost skutečně potvrzuje. Balík nástrojů CASE od tohoto výrobce tvoří kompletní mix produktů, který pokrývá potřeby většiny dnešních firem. Jedná se o tyto oblasti: Softwarový návrh Integrace Nasazení 11

Podpora agilního a týmového vývoje Návrh databází Modelování business procesů Tyto oblasti jsou pokryty produkty, dohromady tvořící balík nástrojů, který společnost nazývá Visual Paradigm suite. Celý ţivotní cyklus aplikace (software) podpořený jednotlivými produkty z tohoto balíku můţeme vidět na následujícím obrázku. Z toho je dobře patrné, jak do tohoto sloţitého procesu postupně vstupují různé role pracovníků a vyuţívají výstupy z nástrojů Visual Paradigm nebo jim naopak vstupy poskytují a na jejich základě vytvářejí modely. Obr. 4-4Portfolio produktů Visual Paradigm 12

Visual paradigm for UML Jedná se o zřejmě nejvyuţívanější nástroj od této společnosti, coţ je pravděpodobně dáno tím, ţe v sobě zahrnuje jednak 13 diagramů standardu UML (jmenovitě: class, use case, sequence, communication, state machine, activity, component, deployment, package, object, composite structure, timing a interaction diagram), zároveň k jeho oblíbenosti přispívá i přítomnost funkčnosti pro sběr poţadavků, modelování business procesů dle standardu BPMN 2.0 a také datové modelování. Pro datové modelování jsou podporovány ER diagramy a ORM (object relational mapping) diagramy, které slouţí pro modelování vazeb mezi třídami z objektově orientovaného světa a entitami ze světa databází. Tento nástroj je určen jak pro analytiky, tak i pro vývojové týmy. Kromě vyjmenovaných klíčových funkcí integruje i jiné praktické vlastnosti jako je moţnost sdílení kódu (s podporou několika různých prostředí), automatické generování koster kódu, tvorbu dokumentace či konzistenční matice. Tvůrci tohoto komplexního nástroje nezapomněli ani na podporu dnes rozvíjejícího se oboru a tím je Enterprise Architecture. Tato specializace dnes bývá rozvíjena ve formě různých metodik a frameworků, z nichţ nejznámější je pravděpodobně Togaf. Ten bohuţel v nástroji VP for UML není implementován, nalezneme zde ale jiný relativně známý rámec Zachman Framework. Database Visual architect Je pravděpodobně druhým nejpouţívanějším nástrojem od společnosti Visual Paradigm. Jeho hlavní doménou pouţití jsou databáze, tedy jejich návrh, tvorba a údrţba. To vše včetně podpory dnes populárního přístupu objektově-relačního mapování. Zároveň i tento produkt bohatě podporuje týmovou spolupráci a automatické generování dokumentace. Business Process Visual Architect Tento nástroj se specializuje na doménu modelování business procesů a aktivitu s tím spojenou. Především je potřeba zmínit moţnost generování popisu business procesů ve vykonatelném jazyce BPEL. Velkým přínosem tohoto produktu je také jeho poskytnutí prostředků pro správu tzv. Business glossary. Právě řízení, správa a definice pojmů je v oblasti návrhu velkých softwarových systémů a systémů podporujících sloţitější podnikání klíčovou záleţitostí. Agilian Cílem nástroje Agilian je podpora agilního přístupu k vývoji software, a to jak při vývoji samotném, tak také při jeho testování. Právě odlišné způsoby testování k agilním přístupům patří. Visual paradigm SDE 13

Posledním, avšak v souvislosti s tématem naší práce nejdůleţitějším produktem této společnosti, je Visual paradigm SDE (Smart Development Environment). Právě tento produkt totiţ umoţňuje plně propojit a vyuţít kvalit CASE s integrovaným vývojovým prostředím. Nejedná se o samostatný produkt, ale o sadu doplňků pro nejrozšířenější vývojová prostředí. Konkrétně jsou podporována tato prostředí: Visual Studio Eclipse NetBeans IntelliJ IDEA SDE prostřednictvím doplňků rozšiřuje funkčnost vývojových nástrojů o funkce CASE jako je sběr poţadavků, systémová analýza a databázový návrh. Zároveň jsou doplňky plně integrovány s vývojovými prostředími, a proto umoţňují automatické generování kódu na základě návrhu modelů a automatické generování dokumentace. Vzhledem k tomu, jak tento nástroj vytváří vazbu mezi IDE a CASE, se k němu vrátíme v 5. kapitole a na příkladech si ukáţeme jeho vyuţití. Nakonec je třeba poznamenat, ţe tato společnost si velmi dobře uvědomuje dnešní potřeby klientů a snaţí se drţet krok s nejnovějšími trendy ve všech oblastech. O tom svědčí souběţná podpora jak agilního vývoje, tak i návrhu Entreprise Architecture. Přestoţe v některých oblastech nejsou implementovány všechny dnes dostupné technologie a rámce (např. jiţ zmiňovaný Framework Togaf nebo v případě objektově relačního mapování je podporován pouze Framework Hibernate) tak výrobce své klienty nijak neomezuje. Současně jsou podporovány jazyky Java i C# nebo v oblasti sdílení kódu jsou podporovány technologie CVS, Subversion a další. 4.1.4. Astah (Change Vision, 2011) Astah, který většina zná pod názvem JUDE, je UML modelovací nástroj vytvořený Japonskou společností Change Vision. Je distribuovaný ve třech různých edicích, které nabízí různě obšírnou funkčnost a vlastnosti, viz níţe. O kvalitách tohoto softwaru by nemělo být pochyb, neboť mezi jeho uţivatele patří mnoho významných společností, jako je např.: Amazon, Cisco, Google, GE Healthcare, Nyse, Verizon, Oracle, HP a mnoho dalších. Systémové požadavky Podpora Windows, Mac a Linux a následujícími konfiguracemi: Windows 14

o Windows XP, Vista a 7 (Vista 64bit a XP 64bit verze nejsou podporovány) o Procesor s kapacitou minimálně 1GHz, 512 RAM (doporučená je alespoň 1GB) o 400MB diskového prostoru o JAVA 6 (Aktualizace 16) nebo starší Mac o Mac OS x 10.6.2 nebo starší o Procesor Intel o 1GB RAM (2GB jsou doporučovány) o 400MB diskového prostoru o JRE 1.6.0_20 nebo starší Linux o Ubuntu 10.10, Maverick Meerkat nebo CentOS 5.5 (Debian GNU, Linux 5.0.6, Fedora 13 nejsou podporovány) o Oracle JDK 6 (aktualizace 22) nebo starší o GNOME prostředí Produkty Astah Community Astah UML Astah Professional Verze Astah Community je jedním z nejlepších free add-on nástrojů pro UML modelování, který je moţné pouţít ihned po stáhnutí softwaru. Vyznačuje se rychlým a jednoduchým návrhem UML diagramů. Je charakteristická především následujícími funkcemi: Podpora UML 2. x 15

o Class diagramy o UseCase diagramy o Sekvenční diagramy o Aktivity diagramy o Stavové diagramy o Kolaborační diagramy o Diagramy komponent o Deployment diagramy o Kompoziční struktury o Objektové a balíkové diagramy Okamţitě navrhuje vlastnosti modelům Automatické zarovnání aktérů, Use Cases a Classes Exportovaní diagramů do PNG a JPG Moţnost tisku Různé pluginy Lokalizace GUI Úpravy zarovnaní a velkosti Verze Astah UML je rozšíření verze Astah Community a seznam funkcí a vlastností doplňuje o nesledující: Moţnost modelování a návrhu myšlenkových map JAVA/C#/C++ modelování a moţnost exportu a importu kódu Získávání a editování modelů pouţitím API Konverze UML modelů do myšlenkových map a opačně Vyhledávaní v diagramech Skoky ke konkrétním diagramům ze stromové struktury Hyperlinky 16

Funkce Najdi/Nahraď Kopírovaní a vkládaní do dokumentů Microsoft Office Moţnost přizpůsobit ikony stereotypů Podpora týmového vývoje (uzamykání souborů a spájení) Různé tiskové moţnosti a náhled Exportování do JPEG, PNG, EMF, SVG souborů, RTF dokumentů, HTML a CSV Astah Professional rozšiřuje funkčnost verze Community a UML následovně: Podpora ER diagramů Flowchart diagramy CRUD diagramy DFD diagramy Tabulky a diagramy poţadavek Konverze UML modelů do myšlenkových map, ER a DFD modelů a opačně Sledovatelnost map Podporu vývoje rozšiřuje o moţnost porovnání modelových/diagramových projektů a referenční řízení modelů Vstupy/Výstupy rozšiřuje o moţnost SQL exportu, XMI Funkce DRE (Database Reverse Engineering) Moţnost tvorby reportů tzv. Entity Definition A mnohem více (user friendly ovládání drag-and-drop apod.) 17

Obr. 4-5Ukázky produktů Astah 4.2. Nástroje pro vývoj aplikací 4.2.1. Eclipse Projekt Eclipse vznikl původně v roce 2001, kdy byl vytvořen společností IBM s podporou konsorcia softwarových společností. Letos v listopadu tak probíhají oslavy 10 let existence tohoto projektu (Eclipse Foundation, 2011). Eclipse je opensource vývojová platforma pod licencí EPL (Eclipse Public License), která je primárně určena pro programování v jazyce Java. Tato platforma je tvořena vývojovým prostředím, neboli IDE a řadou pluginů, jimiţ se dá následně rozšiřovat. To je 18

největší výhodou tohoto software, a také jedním z důvodů, proč Eclipse patří mezi nejoblíbenější nástroje svého druhu. Základní verze Eclipse obsahuje pouze důleţité nástroje pro vytváření Java kódu, jako jsou kompilátor, debugger apod. Na stránkách Eclipse lze stáhnout buď základní verzi, jen se všemi důleţitými komponentami nebo i balíčky jiţ připravené pro pouţití s jinými programovacími jazyky, jako jsou např.: Eclipse IDE for C/C++ Developers EclipseIDE for PHP Developers Eclipse IDE for Java Script Developers Vyuţití dalších jazyků je zpřístupněno přes instalaci jednotlivých pluginů Všechny instalace Eclipse lze provozovat na různých operačních systémech, a to: Windows Linux Mac OS X Kaţdým rokem v červnu je vydáván nový release" Eclipse, ve kterém je obsaţena samotná platforma spolu s dalšími Eclipse projekty. Jednotlivé releasy byly vydávány takto (Eclipse Foundation, 2011): Release Verze platformy Rok Juno 4.2 2012 Indigo 3.7 2011 Helios 3.6 2010 Galileo 3.5 2009 Ganymede 3.4 2008 Europa 3.3 2007 Callisto 3.2 2006 Eclipse 3.1 3.1 2005 Eclipse 3.0 3.0 2004 Jak je jiţ zmíněno dříve, největší výhoda Eclipse je právě ve vyuţívání pluginů. Mezi ty hlavní patří zejména ty pro práci s jinými programovacími jazyky, tedy např. Ada, C, C++, Cobol, Perl, PHP, Python apod. Dále lze základní verzi rozšířit o další pluginy. Na oficiálních stránkách Eclipse lze na pomocí Marketplace stahovat doplňky ze zhruba padesáti kategorií, mezi ty nejzajímavější patří (Eclipse Foundation, 2011): Application management Application Server Build and Deploy BI, reporting and charting Code management Collaboration Database Documentation 19

Editor Graphics J2EE DevelopmentPlatform Logging Mobile and DeviceDevelopment Modeling Tools RichClientsApplications SCM Search SOA Development Source CodeAnalyzer Systems Development Team Development Testing Tools UI UML Web Web Services XML a další 20

Obr. 4-6 Ukázka uţivatelského rozhraní Eclipse 4.2.2. Visual Studio Toto vývojové prostředí bývá označováno za nejkvalitnější integrované vývojové prostředí vůbec a společnost Microsoft se jeho vývoji usilovně věnuje. V základní konfiguraci prostředí podporuje tvorbu programů v jazycích platformy.net (tedy C#, Visual Basic, Visual C++, Visual F# a JScript), databázový jazyk T-SQL, dále mnoho dalších jazyků z rodiny XML a jiné. Kromě této nemalé mnoţiny je moţné pomocí doplňků doinstalovat do prostředí i podporu různých jiných jazyků jako jsou např. PHP, či Python. Toto integrované prostředí pokrývá celý ţivotní cyklus vývoje software, a to buď přímo svou vlastní funkčností, nebo prostřednictvím spolupracujících nástrojů jako jsou Team Foundation Server pro podporu spolupráce nebo např. Visual Studio Test, coţ je aplikace pro podporu testování software. Visual Studio sice umoţňuje vytvářet základní diagramy tříd, to je ale v základní konfiguraci jediná vlastnost z oblasti CASE a slouţí spíše pro lepší vizualizaci struktury dané třídy neţ k usnadnění návrhu aplikací (viz následující obrázek). Obecně tedy můţeme říci, ţe společnost Microsoft do oblasti nástrojů CASE vůbec nezasahuje (jednoduchý editor Visio nepočítáme), ale spíše otevírá cestu pro pouţití doplňků třetích stran. Klasickým případem jsou integrované doplňky od společnosti Visual Paradigm, viz 4.1.3. 21

Obr. 4-7Uţivatelské rozhraní Visual Studia 2010 Hlavní funkčností produktu Visual Studio je tedy editace a kompilace zdrojových kódů a ladění programů, coţ umí opravdu výborně. Určitě stojí za to zmínit podporu inteligentního automatického doplňování výrazů, automatická oprava chyb nebo refactoring kódu. Také krokování vytvořených programů při jejich ladění nabízí mnoho moţností. Na úrovní samotné implementace nabízí Visual Studio takovýchto uţitečných vývojářských vlastností nespočet. Vzhledem k zaměření této práce se však podíváme na to, jaké moţnosti existují, pokud chceme výstupy z CASE přenášet do tohoto IDE, a do jaké míry taková spolupráce funguje. Právě na tuto problematiku se zaměříme v 5. kapitole. 4.2.3. Oracle JDevelopper Oracle JDevelopper, jak jiţ samotný název napovídá, je nástroj společnosti Oracle, která se snaţí koncipovat svůj produkt vlastní cestou a soustřeďuje se hlavně na zájmy této společnosti. Orientuje se hlavně nabudování servisně orientovaných aplikací, pouţívajících nejnovější standardy pro Javu, XML, SQL a webové sluţby. Poskytuje kompletní podporu pro celý ţivotní cyklus vývoje aplikace s integrovanými funkcemi pro modelování, programování, debugging, testování, profilování a vývoj aplikací. Má velkou podporu pro ADF (Application Development prezentační vrstvu. Framework), JSF (Java Server Faces), TopLink a Jeho silnou stránkou je kontextové napovídání a automatické doplňování. Po stlačení klávesové kombinace specifické pro nápovědu, se zobrazí ihned okno s potřebnými 22

informacemi se stránkou, případně dialogem, se kterým momentálně pracujeme. Tato kontextová nápověda je mnohem lépe zpracovaná neţ u ostatních IDE. Další významným propracovaným nástrojem je zabudovaný profiler, který dokáţe měřit spotřebu paměti nebo výkon aplikace. Jednou z nevýhod je slabá podpora pluginů třetích stran, coţ ho značně limituje (v porovnání s vývojovými prostředími jako jsou např. NetBeans nebo Eclipse). K dispozici má vizuální nástroj pro tvorbu diagramů s funkcí drag-and-drop s vestavěným průvodcem pro tvorbu BPEL procesů. Tento průvodce pomáhá vytvářet partnerské vazby pro sluţby adapterů, odkazující na externí systémy jako např. SOAP, webové sluţby, JMS, souborový systém, FTP servery, nebo databáze. Oracle JDeveloper dokáţe taky generovat testovací případy pro BPEL procesy. UML Modelování a MDA Oracle JDeveloper poskytuje vestavěné UML modelovací nástroje pro analýzu a návrh aplikací. Zahrnuje nástroje pro návrh Class, User Case, Activity a Sequence diagramů. Tyto nezávislé nástroje (tzv. PMI) jsou pouţívané pro konceptuální modelování a dokumentaci aplikace. Dokáţe transformovat konceptuální Class diagram do Java tříd a také opačně. A aby toho nebylo málo, sekvenční diagramy mohou být generovány v rámci procesu tzv. debuggingu kódu. 23

Obr. 4-8Ukázka modelovacího nástroje JDevelopper Je zaměřen hlavně na vývoj Java, SQL, XML a webových sluţeb, určených jednak pro začínající vývojáře, tak i pro zkušené programátory, kteří hledají skvělý nástroj pro budování SOA aplikací, viz (Shmeltzer, 2008). 4.2.4. PSpad PSPad je volně šiřitelný textový editor a hlavně editor zdrojových kódů, který ale zatím běţí jen na platformě Microsoft Windows. Za zmínku stojí fakt, ţe tento nástroj vyvinul český programátor Jan Fiala v roku 2001 a od té doby je program neustále vylepšován a zdokonalován podle přání uţivatelů. Vývojovým prostředím PSPadu je Delphi. 24

Obr. 4-9Uţivatelské rozhraní PSPad PSPad editor umí upravovat texty mnoha programovacích jazyků. Umoţňuje taky správu projektů a manipulace a víc soubory prostřednictvím rozhraní MDI (Multiple dokument interface). Aktuálně je volně staţitelná verze 4.5.6 11.11.2011, do které je přidána poměrně velká spousta novinek. Mezi ty nejdůleţitější se řadí: Moţnost zálohovat a obnovit konfiguraci PSPadu Modifikovaná funkce pro detekci změn souborů Přidání uţivatelského zvýrazňovače pro DART FoxPro a REX nový průzkumníci kódu Interaktivní šablony kódů Přidané tagy pro HTML5 Přidaná FTP podpora pro z/vm Zálohování souborů do zadaného adresáře rozlišuje i disk A mnoho dalších vylepšení Proč se ale přeorientovat na PSPad? Zadarmo totiţ poskytuje mnoho uţitečných a hlavně jednoduchých věcí, které pak dohromady dělají z PSPadu mocný freeware program. 25

Ať uţ jde o práci s projekty, nebo s více dokumenty současně, přes záznam makra, porovnávaní textů, vyuţívaní šablon aţ po automatické opravy nebo zvýraznění syntaxe s automatickým nastavením podle typu dokumentu. Samozřejmostí je i inteligentní interní náhled HTML stránek pomoci IE a Mozilly. Samotná integrace do systému Windows je velmi jednoduchá a lokalizace do jednotlivých jazyků se neustále zvyšuje. V konečném důsledku PSPad rozhodně nenahradí běţný IDE pro programování, ale dokáţe výrazně ulehčit psaní jednotlivých kódů. PSPad je opravdu komplexní editor snad všech moţných textových souborů a zdrojových kódů. Velmi dobře se uplatní při psaní kódu a to hlavně díky svým nástrojům jako zvýrazňování syntaxe kódu a přehlednému prostředí. Obrovským plusem je kompletně české prostředí, včetně kontroly pravopisu. PSPad je jednoduše více, neţ jen Poznámkový blok, který mnozí uţivatelé vyuţívají v operačním systému Windows. 26

5. Moţnosti provázání vybraných nástrojů 5.1. Vstupy pro Eclipse Jak je zmíněno jiţ v kapitole o Eclipse, největší výhodou tohoto nástroje je vyuţívání pluginů. Tímto způsobem je řešeno i provázání s dalšími nástroji, v našem případě s nástroji CASE. Pokud bychom poţadovali integraci Eclipse IDE s nástroji CASE, které jsou popsány jiţ dříve v této práci, narazíme na jeden hlavní problém, a to, ţe většina těchto řešení jiţ není dostupná zdarma. To je však pro naše účely celkem závaţnou překáţkou, zaměříme se proto na volně dostupné pluginy. V současné době je na stránkách Eclipse k dispozici více neţ 50 pluginů souvisejících s UML a dalších více neţ 100 modelovacích nástrojů, my se však zaměříme na ty nejoblíbenější: UMLet UML Tool for Fast UML Diagrams (The UMLet Team, 2011) o o o o o Vyuţívání textových vstupů namísto pop-up dialogů Elementy mohou být vyuţity jako šablony Tvorba vlastních UML elementů Úprava elementů i zdrojovým kódem Export diagramů (pdf, eps, jpg, gif a další) Bonita Open Solution (Valdes, 2011) o o o o apod. o Intuitivní BPM (Business Process Management) řešení Vytváření procesně zaloţených aplikací User-friendly Studio pro procesní modelování a vývoj aplikací Moţnost propojení s běţně pouţívanými databázemi, ERP, CRM, ECM Simulace procesů, generování dokumentace, reporty, dashboardy euml2 free edition (Yang, 2011) o o CVS, týmová spolupráce Navrţený pro velké projekty mnohonásobnost a customizace pohledů o Synchronizace zdrojového kódu s modelem o Podpora UML 2.1 a OMG XMI o Podpora JDK 1.4 a 1.5 UML Lab (Geiger, 2011) 27

o Technika zaloţená na šablonách zpětná a Round-trip technika (propojení zdrojového kódu a modelu) o o o o o o Class diagram editor UML 2.3 s Xpand/Xtend integrací Java šablony s best practices a návrhovými vzory PHP šablony s podporou MySQL, Zend, CakePHP Validace kódu zaloţená na modelu XMI import/export Export diagramů (png, svg) 5.2. Vstupy pro Visual studio O některých moţnostech, jak provázat dané nástroj CASE s tímto IDE jsme se jiţ zmiňovali v kapitole věnující se samotným CASE nástrojům. Nyní si podrobněji představíme různé moţnosti provázání mezi CASE a IDE a výhody, které z nich plynou. Budeme se zabývat moţnostmi, které budou rozděleny do následujících kategorií: Studiu. a) Doplňky pro Visual Studio integrující CASE funkčnost. b) Standardizované výstupy z CASE, které je moţné načítat ve Visual c) Reverzní inţenýrství za pomocí CASE 5.2.1. Doplňky pro Visual Studio Tato moţnost propojení s nástroji CASE je asi tou nejelegantnější a nejefektivnější. Je tomu tak právě proto, ţe vývojáři nemusí opouštět prostředí Visual Studia, na které jsou zvyklí, ale pouze si k němu přidají určitou funkčnost navíc. Doplňky vytváří transparentní rozhraní mezi CASE a IDE. Jako první příklad takového propojení bychom určitě uvedli doplněk od společnosti Visual Paradigm, který jsme jiţ zmiňovali. Pro úplnost uvedeme celý název tohoto doplňku, který je Visual Paradigm SDE for Visual Studio. Zkratka SDE zastupuje Streamlined Design and Development Environment, coţ přesně vystihuje skutečné přínosy tohoto produktu. Tento nástroj integruje funkčnost všech produktů Visual Paradigm (viz 4.1.3) přímo IDE a zároveň udrţuje konzistenci mezi zdrojovým kódem a navrţeným modelem. Měli jsme moţnost si ho vyzkoušet při návrhu class diagramu, kde byla dobře viditelná spolupráce obou nástrojů. Ukázku můţete vidět na následujícím obrázku: 28

Obr. 5-1Provázání produktu Visual Paradigm s Visual Studiem Pro ty, kteří pracují s nástroji společnosti Visual Paradigm je tato moţnost propojení velmi výhodná. Jako další uvedeme příklad propojení s CASE Enterprise Architect od společnosti Sparx Systems. Tato společnost volí podobnou strategii a nabízí ke standardní verzi CASE nástroje doplněk pro Visual Studio, který jeho integraci zajišťuje. Produkt se nazývá Visual Studio MDG Integration a běţně dostupný jak na stránkách společnosti, tak i prostřednictvím galerie doplňků přímo ve Visual Studiu. Doplněk MDG Integration vkládá do IDE v podstatě veškerou funkčnost, která je dostupná v plné verzi Enterprise Architect. Je moţné zde procházet EA projekt, který obsahuje všechny analytické modely, poskytuje moţnost z modelů přímo generovat kód v podobě jednoho z jazyků.net frameworku. Pomocí technologií XML je moţné z popisků modelů a generovat dokumentaci v jednom z rozšířených webových formátů. 5.2.2. Načítání výstupů CASE nástrojů Tato kategorie vazby mezi CASE a IDE se převáţně týká pouze omezené mnoţiny pouţití. Tou je databázový návrh a tvorba databáze. Mediátorem mezi nástrojem CASE a prostředím IDE se pak stává vygenerovaný SQL skript, který je moţné v programu buď 29

zastavět do jednotlivých volání, nebo (coţ je častější případ) se volá v rámci fázi nasazování a testování software. Ani tento přístup, ale nemusí pouze manuální v tom smyslu, ţe návrhář databáze vytvoří (upraví) model databáze, poté vygeneruje SQL skript, který odesílá vývojářům a ti ho ručně zpracují. Často se aplikují více automatizované postupy, a to takové, ţe designér databáze vygeneruje na základě změn v databázi pouze změnový skript, který je provázán s vývojovým projektem. Vývojový projekt si automaticky při sestavení tento skript bere a aplikuje ho na databázi a provádí dle něj případné změny v kódu. 5.3. Reverzní inţenýrství s vyuţitím CASE Reverzní inţenýrství je jednou z dalších domén, kde nástroje CASE nalézají dobré uplatnění. Tato oblast pouţití CASE je obecně méně známá, ale pokud se nad problematikou zamyslíme hlouběji, zjistíme, ţe se jedná o stejný proces jako je návrh a vývoj software, akorát v opačném sledu činností. Co to vlastně reverzní inţenýrství je? Jak uvádí autor Eldad Eilam (Eilam, 2005), reverzní inţenýrství je proces získávání poznatků o čemkoliv, co vytvořil člověk. Princip tohoto procesu je stejný jako proces vědeckého zkoumání, s tím rozdílem, ţe zkoumaným objektem je něco, co člověk jiţ vyrobil. Přestoţe byly tyto praktiky vyuţívány dlouho před existencí počítačů, tak teprve s jejich příchodem získal tento termín větší význam. Cílem softwarového reverzního inţenýrství je zkoumat softwarové programy a získávat z nich znalosti o pouţitých algoritmech a principech fungování. Vezmeme-li v úvahu, ţe často bývá zkoumán právě software cizích stran, ze kterého aktéři reverzního inţenýrství chtějí získat znalosti, tak je zřejmé, ţe těmto praktikám chtějí výrobci zabránit. Základní a implicitní ochranou většiny distribuovaného software je kompilace do knihoven, která zahrnuje přeloţení do jiného kódu neţ je programovací jazyk, přejmenování proměnných a rozvinutí instrukcí. Takový výsledek je pak pro člověka téměř nečitelný, natoţ pak pochopitelný. Proto se na zkompilovaný kód pouţívá mnoţství nástrojů, pomocí kterých se algoritmy a datové struktury rozkrývají a vizualizují. A jedním z hlavních nástrojů jsou právě CASE. V oblasti informačních technologií narazíme kromě softwarového reverzního inţenýrství na mnoho dalších aplikací, jako je zkoumání komunikačních protokolů, rozšifrování kódovaných médií a další. V souvislosti s tématem naší práce se však jako na druhou oblast pouţití zaměříme na reverzí inţenýrství v databázových systémech. 5.3.1. Softwarové reverzní inženýrství Jak jsme jiţ zmínili na začátku této kapitoly pro zkoumání softwarových programů je CASE nástroj nezbytnou pomůckou. V tomto procesu rozebírání hotového software umí některé specializované CASE nástroje zobrazit diagramy tříd a hierarchie volání mezi nimi v podobě různých sekvenčních diagramů. Taková informace je pro poznání fungování systémů sice hodnotná, mnoho těchto nástrojů jde ale ještě dále a umoţňuje import do 30

integrovaných vývojových prostředí, kde se z modelů znovu vytváří kód v programovacím jazyce. Přestoţe Visual Studio nepatří do mnoţiny těchto specializovaných nástrojů při pouţití některých doplňků je na zkoumání knihoven platformy.net pouţitelné. Reverzním inţenýrstvím v tomto případě máme na mysli především přehlednou vizualizaci tříd objektů a jejich vazeb na základě jejich zdrojových kódů. Tato funkčnost je obsaţena jiţ v základní instalaci Visual Studia, bez jakýchkoliv doplňků. Abychom vyexportované modely mohli prohlíţet, je nutná instalace aplikace Visio. Avšak i pokud instalaci produktu Visio nevlastníme je moţné exporty provádět a soubory pak odeslat například kolegům, kteří je ve Visiu otevřou. Vyexportovaný soubor má podobu UML class diagramu projektu Visio, kde je moţné UML také upravovat a následně zpět importovat do Visual Studia. Jak jsme si ale mohli vyzkoušet, tato moţnost rozhodně není příliš komfortní. 5.3.2. Reverzní inženýrství databází To, ţe se nástroje CASE vyuţívají i pro získávání znalostí o databázových systémech dokazuje článek autorů Masoud a kol. (Masoud, 2005), který pojednává o CASE navrţeném na akademické půdě a slouţícím přímo těmto účelům. Vyuţití nástrojů CASE v této oblasti je stejné jako u aplikačního software (viz 5.3.1), slouţí tedy především k vizualizaci informací skrytých ve zkoumané databázi. Většinou nás zajímají struktury uloţených entit a vztahy mezi nimi. Jak uvádí autor Masoud: tento proces se snaţí z databázových souborů vytvářet konceptuální a logická schémata. Tyto postupy se pak často aplikují například na zastaralý software, ke kterému neexistuje dostatečná dokumentace. 31

6. Jsou výhodnější prostředí integrující CASE a IDE nebo standardizované výstupy a oddělené nástroje? V naší práci jsme rozebrali jednotlivé nástroje, jak CASE, tak i IDE. Nejprve se tyto systémy dělily do dvou skupin software. Jedena byla pro modeláře (architekty) a ta druhá pro programátory. Architekt byl člověk, který musel vidět konkrétní produkt ze všech moţných dimenzí, aby předešel zbytečným problémům a přinesl hodnotu produktu pro zákazníka. Programátor byl uţ jen člověk, který tyto vize proměnil na realitu. Co se týče nejnovějších trendů, všechny nové verze IDE nabízejí moţnost tvorby modelů tříd, pomocí vestavěných funkcí nebo alespoň umoţňují doinstalovat nejrůznější pluginy. To o hodně ulehčuje práci pro programátora, který nemusí tyto třídy vytvářet ručně, ale generuje je sám software. Z naší osobní zkušenosti je velká výhoda v tom, kdyţ můţeme mít objektový model vytištěný. Snadněji se pak vytváří objekty, jejich metody a také se ulehčí odkazování na tyto objekty (nebo metody jiných tříd). Na modelu pak můţeme vidět jednoznačné vazby mezi třídami. Takţe podle našeho názoru je jednoznačně lepší mít IDE prostředí s integrovaným nástrojem CASE. Na trhu se objevují IDE s integrovaným nástrojem CASE. Z našeho pohledu tato integrovaná prostředí nemají ţádné nevýhody, protoţe je tak dodávána část úplně jiného software, přizpůsobená tomu dotyčnému IDE. 32

7. Očekávané trendy V této kapitole se zaměříme na směry vývoje, kterým se IDE spolu s nástroji CASE ubírají a pravděpodobně i nadále ubírat budou. Hlavní směry vývoje nejprve vyjmenujeme, dále budeme vycházet z cizích zdrojů i z poznatků popsaných u jednotlivých nástrojů v předchozích kapitolách. Hlavními směry vývoje a zároveň poţadavky na tyto nástroje jsou následující: Integrace CASE s IDE prostřednictvím zásuvných modulů Vyuţití samostatných CASE jako generátoru kódu Modulární IDE Nástroje poskytované jako sluţba 7.1. Nástroje poskytované jako sluţba Integrace s IDE pomocí pluginů Toto téma na konkrétním příkladu Visual Studia a Eclipse podrobněji rozebírá kapitola 5. Jedná se tedy o hlavní současný trend u desktop aplikací, které vyţadují instalaci. Výrobci nástrojů CASE si uvědomují, ţe je potřeba tyto pluginy vytvářet, aby se udrţeli na trhu. Zajímavé je, ţe zde můţeme vidět analogický jev, jako tomu bylo před pár lety u webových prohlíţečů. Ve chvíli, kdy webový prohlíţeč přestal slouţit pouze k prohlíţení textů a obrázků, začali výrobci multimediálních přehrávačů (Adobe, Microsoft, RealTime player) vytvářet doplňky, aby do prohlíţečů tuto funkčnost dodali. I na poli IDE slouţí nyní vývojová prostředí jako pomyslná základna, do které třetí strany prostřednictvím pluginů dodávají svou funkčnost. 7.2. Vyuţití samostatných CASE Přestoţe se předchozí řešení pomocí zásuvných modulů zdá být velice elegantní, existuje několik argumentů, proč paralelně přetrvávají i samostatné nástroje CASE. Je nesporné, ţe tyto nástroje se musí v některých ohledech spíše přizpůsobovat standardům IDE (které zase vychází ze standardů programovacích jazyků) a ne naopak. I přesto ale logicky nechtějí ti výrobci, kteří se věnují spíše problematice CASE (jako je např. Visual Paradigm), ustupovat z trhu a přenechávat větší díl výrobcům IDE a u samostatných aplikací upravují moţnosti exportu modelů, tak aby nástroje byly stále pouţitelné s rozšířenými IDE. Zároveň přidávají stále sofistikovanější generátory kódu, které na základě vytvořených modelů generují kód pro cílový jazyk/platformu. Tento přístup můţeme vidět jako druhou alternativu k tomu, jak integrovat CASE s IDE aniţ by samostatné produkty CASE ztrácely na důleţitosti a stávaly se pouhým pluginem. 7.3. Modulární IDE 33

Pokud jsme nyní problematiku integrace CASE s IDE popisovali ze strany výrobců CASE, je potřeba se podívat i na druhou stranu barikády, jak se musí výrobci IDE přizpůsobovat a jak budou pravděpodobně do budoucna postupovat. Hlavním trendem je vytvářet IDE jako silně modulární aplikaci, ke které lze moduly dynamicky přidávat i odebírat dle preferencí uţivatele. Tato strategie velmi dobře funguje a společnost Microsoft například ve Visual Studiu implicitně nabízí funkci pro přidávání online dostupných modulů. Důleţité ale je, ţe tyto moduly nemusí pocházet pouze od společnosti Microsoft, ale můţe je vydávat jakákoliv třetí strana. Do nabídky online modulů je pak vytvořený modul zařazen, pokud projde schvalovacím procesem společnosti Microsoft. 7.4. Nástroje poskytované jako sluţba V této části kapitoly bychom rádi navázali na zmínky z práce let minulých. Je jimi způsob distribuce software formou sluţby. Je tomu také proto, ţe zavedení této technologie je na druhém místě ţebříčku strategických technologií roku 2009 dle průzkumu společnosti Gartner (Pettey, 2008). Technologie SaaS se dostala do povědomí v minulých letech. Pro pouţití software distribuovaného touto technologií je zapotřebí internetový prohlíţeč a aktivní internetové připojení (někdy se můţe vyskytovat tenký klient). Jedním z produktů z řady case nástrojů je Gliffy (Gliffy, 2012), který je dostupný jako samostatný celek nebo jako plugin do software pro sledování chyb v Jira. Tento software je dostupný ve standardní verzi za 5 dolarů za uţivatele na měsíc a 10 dolarů za profesionální verzi. 34

8. Závěrem Nástroje CASE a integrovaná vývojová prostředí mají, jak bylo jiţ několikrát zmíněno na různých místech této práce, usnadnit a urychlit vývojáři práci a minimalizovat chyby, které se mohou vyskytnout právě proto, ţe není počítač, ale člověk. Cílem naší práce bylo popsat, co vlastně tyto dvě kategorie jsou, demonstrovat jejich obecné vlastnosti na konkrétních produktech, a najít mezi nimi společné vazby, jejich vlastní realizaci, jejich výhody i úskalí, a nastínit, jakým směrem by se nástroje CASE a IDE mohly do budoucnosti ubírat. Čili v první kapitole jsme popsali obecné charakteristiky CASE i integrovaných prostředí. Další část se soustředila na popis a charakteristiku konkrétních produktů, které nám připadali pro naše účely relevantní, za připomenutí stojí jistě nástroj Visual Paradigm, který by podle nás (i pro potřeby katedry informačních technologií) mohl představovat velký potenciál do budoucna, protoţe pěkně kombinuje to nejlepší z obou typů nástrojů. To, jakým způsobem tyto nástroje mohou být provázány, jsme ukázali na příkladu vstupů pro Eclipse, Visual studio, Oracle JDevelopper a PSpad. U Eclipse je to cestou pluginů, v případě Visual studia prostřednictvím doplňků (např. Visual Paradigm SDE for Visual Studio, nebo Visual Studio MDG Integration), které integrují funkce nástrojů CASE nebo díky moţnosti standardizovaných výstupů, které se ve Visual studiu dají načíst. Kromě této části práce za největší přínos povaţujeme část věnovanou úvahám o vhodnosti separátního řešení obou skupin nástrojů v porovnání s jejich propojením a samozřejmě část nastiňující budoucí trendy v této oblasti. Na základě vlastních zkušeností a poznatků, jsme dospěli k závěru, ţe jednoznačně pro všechny zainteresované a hlavně pracovníky na projektu (jehoţ výsledkem má být nějaký software) je určitě nejlepší mít IDE a CASE integrovaný v jeden celek. Čili, co se týče budoucího směřování této oblasti nástrojů CASE a integrovaných vývojových prostředí, můţeme shrnout, ţe CASE jako samostatné nástroje ustupují a lze předpokládat, ţe budou integrovat do IDE buď jako zásuvné moduly, nebo jako zcela samostatné aplikace spojující funkčnost obou dvou skupin. My jsme se zaměřili na budoucí trendy v oblasti integrace CASE s IDE prostřednictvím zásuvných modulů, vyuţití samostatných CASE jako generátoru kódu, modulární IDE a nástrojů poskytovaných jako sluţba, čili prostřednictvím cloudu (coţ je trend, který sleduje i jiný aplikační software). Úskalím, na které tato práce naráţí, je mnoţství produktů na trhu a kritéria, podle kterých je lze povaţovat za relevantní a pro práci přínosné. Stejně tak je těţké předpovědět, jakým konkrétním směrem se celá oblast bude ubírat, proto zde stále existuje dost prostoru pro budoucí pokračovatele, kteří se tomuto tématu budou věnovat. 35