ZS 2009 ! "# $% & '# '
-1-
Úvod............................................................................................................................................4 1 Oracle Designer.......................................................................................................................5 Skupina modelovania systémových požiadaviek(Modelling System Requirements) ............9 Procesný model(Process Modeler).....................................................................................9 Diagram hierarchie funkcií(Function Hierarchy Diagrammer)..........................................9 Dátový model(Entity Relationship Diagrammer).............................................................10 Dátový model(Entity Relationship Diagrammer).............................................................11 Skupina generovanie predbežného obsahu(Transform preliminary design) ........................11 Design aplikácie (Application Design Transformer).........................................................11 Design databáze (Database Design Transformer).............................................................12 Skupina Design a generovanie cieľového kódu(Design and Generate) ................................13 Design editor.....................................................................................................................13 DDL generátor(DDL generator)........................................................................................14 Reverzné inžinierstvo(Reverse engineer DB utility).........................................................14 Skupina utilít.........................................................................................................................14 Správu repository(Repository Object Navigator)..............................................................14 Správa závislostí(Dependency manager) ..........................................................................16 Maticové diagramy(Matrix Diagrammer).........................................................................16 Reporty o repository(Repository reports) ........................................................................17 Správa repository(Repository administration utility) .......................................................17 Novinky vo verzii Oracle Designer 10g.................................................................................17 2 Sybase Inc...............................................................................................................................18 PowerDesigner.......................................................................................................................18 ...................................................................................................................................................21 PowerDesigner 15..................................................................................................................22
-2-
Hlavní funkce a výhody nové verze:.....................................................................................23 Databáze................................................................................................................................24 Typy licencí ..........................................................................................................................24 3 Toad Data Modeler................................................................................................................26 Základní informace..............................................................................................................26 ER Diagramy........................................................................................................................26 Generování SQL kódu.........................................................................................................28 ..............................................................................................................................................29 Reverzní inženýrství..............................................................................................................29 ..............................................................................................................................................31 Tvorba dokumentace..............................................................................................................31 Verifikace.............................................................................................................................32 Customizace.........................................................................................................................33 Alter skripty.........................................................................................................................33 Novinky ve verzi 3.4............................................................................................................33 Stažení softwaru ..................................................................................................................33 Systémové požadavky...........................................................................................................34 Licence.................................................................................................................................34 Případová studie – reverzní inženýrství....................................................................................34 Závěr..........................................................................................................................................41 Zdroje........................................................................................................................................43 Seznam Obrázků...................................................................................................................44 Přílohy.......................................................................................................................................44
-3-
Tato práce se zabývá CASE (Computer Aided Systems Engineering) nástroji, které lze využít při návrhu a tvorbě databází. CASE nástroje mají široké využití v oblasti návrhu a modelování. Vytváření databází je jedna z aplikačních oblastí, kde je lze využít. V současné době mají nejširší uplatnění relační databáze. Data v relačních databázích jsou strukturována do relačních tabulek. Metody a nástroje pro přístup k datům v databázi zajišťuje systém řízení báze dat (SŘBD). Tento systém představuje aplikaci, která zapouzdřuje práci s daty a poskytuje rozhraní pro externí aplikace, které mohou přistupovat k datům. SŘBD zabezpečuje vkládání dat do databáze, vyhledávání dat, přístup více uživatelů současně k datům a relační propojenost dat. Databáze je základní součást téměř všech systémů. SŘBD k zajištění práce s daty využívají jazyky vyšší úrovně, a to zejména jazyky pro manipulaci s daty a definici dat. Zároveň zajišťují potřebnou úroveň zabezpečení dat. Autentizují uživatele, jejich skupiny a autorizují jednotlivé uživatelské transakce podle přidělených práv. Data jsou strukturována v databázi v podobě datových prvků, které jsou nositeli hodnoty. Dále databáze obsahuje informace o relačním provázání datových prvků a integritním omezení, což jsou definované podmínky, které musí splňovat uložené datové prvky. V současné době jsou trendem centralizované databáze. Tedy uložení dat z více systémů na jednom místě. Lépe se pak zabezpečuje správa databáze a také je efektivněji řešitelné zálohování a obnova databáze v případě hardwarových a softwarových selhání. Zároveň nejrozšířenější jsou transakční databáze. Transakcí se rozumí jedna, nebo více činností s daty, a každá transakce má označený svůj konec. V jazyku SQL se používá příkaz commit, kterým je ukončena databázová transakce. Transakční zpracování zajišťuje provedení všech operací v jedné transakci, nebo žádné. Není možné provést pouze jednu operaci v transakci. Pokud dojde k přerušení činnosti v rámci jedné transakce, která není korektně ukončena, dojde k rollbacku a všechny provedené změny v rámci této jedné neukončené transakce jsou vráceny zpět, do původní podoby. V této práci se autoři zabývají praktickým popisem tří významných CASE nástrojů, které umožňují návrh databáze ve všech jeho úrovní, se všemi praktickými aspekty. První úrovní je konceptuální zobrazení databáze. Na této úrovni jsou data zachycena s vysokou
-4-
úrovní abstrakce, zobrazeny jsou jednotlivé datové entity jako modely objektů reálného světa a vztahy mezi nimi. Druhou úrovní je logický model. Datové entity jsou modelovány jako konkrétní struktury logického modelu a vztahy mezi nimi jsou přesně kvantifikovány. Třetí úroveň modelu představuje fyzická podoba modelu, která je již implementační a v závislosti na technickém prostředí generuje konkrétní SQL skripty, který vytvoří samotnou databázi.
! Oracle Designer je softvér spoločnosti Oracle Corp. je súčasťou poslednej verzie balíku produktov, ktorý má názov Oracle Developer Suite 10g. Všetky informácie si Oracle Designer ukladá do databáze Oracle, takže je nutné mať túto databázu nainštalovanú. Čo sa týka vlastných modelov a analýzy, tento nástroj sa zameriava na štruktúrovaný návrh informačného systému. Hlavnou úlohou tohto nástroja je rýchly a flexibilný vývoj aplikácie založenej na relačnej databáze. Hlavným využitie Oracle Designeru je u webových a klient/server aplikácií na založených na práve ich databáze. [4,5]
Obrázok č. 1 - Štruktúra databáze Oracle
Oracle Designer je CASE nástroj pracujúci nad centrálnym depozitárom (Oracle Repository), schopný modelovať a automaticky generovať: •
dátové štruktúry pre databázy Oracle, IBM, MS-SQL, ODBC,
•
aplikácie pre Oracle Forms a Reports Developer,
•
HTML aplikácií pre Oracle Internet aplikačný server. Okrem priameho modelovania aplikácií dovoľuje využiť existujúce Oracle Forms resp.
Reports Developer moduly a metódou spätného inžinieringu ich preniesť do Oracle Repository, upraviť získaný model a vygenerovať nové, modifikované aplikácie. Aplikačná logika (klientska aj serverová časť) môže byť zapísaná v jazykoch PL/SQL alebo Java. Oracle Designer navyše poskytuje možnosť uloženia súborov a adresárov operačného systému priamo
-5-
do Oracle Repository, obsahuje modul analýzy závislostí jednotlivých aplikačných komponentov a nástroje pre správu verzií a konfiguračný manažment. [3,5] Oracle Designer rozdeľuje projekt na štyri časti. Na modelovanie požiadavkou na systém(Modelling System Requirement), generovanie predbežného designu(Transform Prelimary Designs), designu a generovanie cieľového kódu(Design and Generating) a utilít. V časti modelovanie(Modelling System Requirements) požiadavkou sú spracované základné modely štruktúrnej analýzy(ERD, DFD a procesný model). Výber časti a konkrétneho nástroja sa prevádza na jednej prehľadnej obrazovke, kde sú zobrazené odkazy na všetky ponúkané nástroje. V predbežnom designe je možno vytvárať tabuľky, triggery, atď., podľa návrhu vytvoreného v modelovaní požiadavkou. [4] V designe(Transform Prelimary Designs) sa pomocou Design Editoru prevádzajú úpravy práve vytváranej databáze a jej prvkov. Nakoniec dôjde ku generovaniu cieľového kódu(Design and Generating). Designer Editor zahrňuje Oracle Forms Generator(nástroj pre tvorbu Oracle Forms) a Oracle Reports Generator(nástroj na tvorbu Oracle Reports). Oracle Designer ponúka možnosť vytvorenia DDL(Data Definition Language) súborov, vytvorenie aplikácie priamo na databáze Oracle alebo pomocou ODBC na iných databázach(napr. Microsoft Access, SQL Server, DB2, Sybase, ANSI SQL).O všetky prvky(prvky návrhu v Modeler-i, nie objekty v zmysle objektovej metodológie) sa stará Repository. Tá sa tiež stará o verzie projektu, jednotlivé verzie môžu byť porovnávané a zlučované. [3,4]
-6-
Obrázok č. 2 - Moduly Oracle Designer [1]
-7-
Obrázok č. 3 - Modelovanie procesov [2]
-8-
"# $ %$& '"() ! $ *+#$ , &$(), •
Tvorba procesného diagramu(viaceré úrovne)
•
Podporuje metódu Business Proces Reengineering
•
Znázorňujú sa nasledujúce prvky:
organizačné jednotky(priradené k tzv. Swim Lanes indikujúcich miesto vykonávania aktivity)
sklady
kroky procesov(typy: Data Entry, Decision Point, Report, Proces Step)
toky(môžu prelínať Swim Lanes) [1]
!$-# "(.# / !$$, Využitie pri rozklade business procesov. Pre zobrazenie dekompozície funkcií sa využíva stromová štruktúra. Jednotlivé prvky databáze sú prehľadne zobrazené v strome. [3] • Umožňuje zostrojovať hierarchické diagramy funkcií • Fukcie sú priamo spojené s udalosťami, ktoré spôsobujú ich spustenie • Hierarchia funkcií zobrazuje rozpad funkcie, nezobrazuje poradie alebo odovzdanie riadenia • Môže byť usporiadaný: horizontálne, vertikálne alebo hybridne • Mal by obsahovať len informačné činnosti [1] • Funkcie(kroky procesov z Proces Modeller-u) môžu byť:
koreňové
Spoločné(obsiahnuté vo viacerých hierarchiách alebo viackrát v tej istej hierarchii -9-
elementárne(vykonané v jednej transakcii)
• Umožňuje napojenie funkčného a dátového modelu – pre jednotlivé
funkcie sa
priraďujú entity z ERD(Entity Relationship Diagrammer), s ktorými funkcie pracujú [1]
&$( * !$$, • Pri zadávaní nového diagramu toku dát sú na výber procesné kroky definované v procesnom modele [4] • Umožňuje tvorbu diagramov dátových/informačných tokov podľa notácie Gane & Sarsona • Obsahuje tieto prvky:
Funkcie:
rámcové(frame) – tvoria základ DFD
lokálne(local) – vo vnútri rámcových
spoločné(common) – mimo rámcových
Dátové toky
Sklady
Externé entity
• DFD je možné vytvoriť na rôznych úrovniach detailnosti • Zdieľa prvky s Process Modeler a Function Hierarchy Diagrammer – rovnaké funkcie a rovnaké toky • Domodelujú sa externé jednotky a ich väzby so systémom [1]
Spoločnosť Oracle odporúča vytvárať DFD len ak je potrebné modelovať detaily dátových tokov. [1]
-10-
&$( * !$$, Okrem bežných relácií sú k dispozície rekurzívne vzťahy(entita sa odkazuje sama na seba), ktoré slúžia napríklad k ukladaniu stromových štruktúr. Ak slúži dátové modelovanie k navrhnutiu dátového skladu, je možné definovať, ktorá tabuľka bude faktová a ktoré tabuľky dimenzionálne. [3] • Umožňuje vytvárať entitno-relačné diagramy • ERD obsahuje:
entity(názov entity, identifikátor, atribúty(povinné, voliteľné))
relácie(kardinalita(1:M, M:N), voliteľnosť(povinné, voliteľné)
• Je možné vytvoriť aj tzv. Arcs, oblúk, ktorý znamená, že ak je viac relácií k jednej entitev tom istom čase, tak platí iba jedna [1]
"# ! ' % #(0 -$$ ! , ! " ( ! 0 -$, Vytvára definíciu modulov pre obrazovky, výstupy a menu. Design aplikácie vychádza z diagramu dátových tokov. Moduly je potom možné implementovať ako Oracle Forms, Oracle Reports alebo Web PL/SQL(aplikácie pre webovské prostredie používajúce Oracle Internet Appliction Server). [2] • Slúži na generovanie kandidátnych modulov(candidate modules) nového SP z funkčného modelu, ktorý bol vytvorený modulmi PM, FHD a DFD • Vygenerované kandidátne moduly, ak budú prijaté, môžu byť implementované ako formuláre(forms), zostavy(reports) a utility(utilities) • Transformuje na základe entity usage definovanej vo FHD [1]
-11-
! ( ! 0 -$, Vytvára schémy databáze(tabuľky, stĺpce, indexy, atď.) • Slúži na transformáciu konceptuálneho modelu dát vytvoreného v module ERD na logický model bázy dát [1] • Vykonávajú sa nasledovné kroky:
spustenie DDT
nastavenie volieb: možnosť výberu objektov, ktoré budú zahrnuté do LMD
definovanie tabuliek: entity z ERD sa transformujú do tabuliek LMD s dodržaním pravidiel ako v metodológii MERISE
definovanie stĺpcov: atribúty z ERD sa využívajú na odvodenie stĺpcov LMD
definovanie integrity: primárne kľúče, cudzie kľúče a kontrola modelu
spustenie DDT utility: generovanie tabuliek logického modelu(primárne kľúče majú implicitne vytvorené indexy Oracle serverom, pre cudzie kľúče sa generujú) [3]
• Transformácia ERD na LMD
•
entita > tabuľka
relácia 1:N > cudzí kľúč
relácia M:N > relačná tabuľka so zloženým PK [1]
-12-
"# ! ! 1%"2#( ! 3 , ! Navigátor DE obsahuje 4 záložky:
$ • Prvotne obsahuje zoznam tabuliek vygenerovaných modelom DDT • Umožňuje tvorbu Server Model Diagram – prvkami diagramu sú grafické reprezentácie tabuliek(primárny kľúč, stĺpec, nenulový stĺpec) a relácií medzi nimi • Slúži na dotvorenie LMD(doplnenie relačných tabuliek) a na generovanie fyzického modelu [3]
)# • Prvotne obsahuje zoznam modulov vygenerovaných modulom ADT a upravený v RON • Umožňuje tvorbu Module Diagram – samostatný diagram pre každý modul • Pre modul umožňuje tvorbu a modifikáciu
Detailed Usage Table – detailné využitie tabuliek modulom
Detailed Column Usage – detailné využitie stĺpcov modulom
• Umožňuje nadefinovanie a špecifikáciu okien(strán)generovaných formulárov, počet zobrazovaných záznamov na formulári [1]
4$ • Umožňuje nastaviť prístupové práva a tvorbu Oracle a iných databáz
# • Umožňuje tvorbu distribuovaných databáz
-13-
5! (
5! ,
• Slúži na generovanie fyzického modelu v BD • Postup generovania:
kontrola objekov BD(kontroluje sa úplnosť a správnosť objektov, Design Quality Check Report)
vytvorenie názvu DB(napr. v RON)
spustenie generátora – Generate DB from Server Model
prihlásenie na server a výber objektov na generovanie
štart generátora
execute DDL
vypísanie výsledkov do dialógového okna [1]
* % ' (* ! 4 #, •
predstavuje proces, ktorý sa nazýva Design Recovery
•
Proces sa vykonáva v dvoch krokoch:
Revere Engineer DB Utility: slúži na výber objektov z DB a ich prenos do repository ako informácií o elementoch DB
Table to Entity Retrofil Utility: slúži na výber tabuliek, ktoré sa konvertujú na E-R model [1]
"# #
#(* 6!, • Nástroj na správu metabázu dát(reposiktory) -14-
• Umožňuje vytvárať a editovať všetky prvky repository, t.j. aplikačné systémy, objekty a typy objektov, elementy a typy elementov, asociácie a typy asociácií a ich vlastnosti • Sprístupňuje aj iné nástroje(Repository Reports, Matrix Diagramer, Dependency Manager, PM, ERD, FHD, DFD, DE, SQL, *Plus, Explorer) a utility(DDT, ADT, Table to Entity Retrofit ai.) [1] Obrazovka RON obsahuje: • Aplikačné okno • Okno hierarchie objektov
Zobrazuje prvky aplikácie v stromovej štruktúre
Objekty sú označené veľkými písmenami
Typy objektov sú označené veľkými a malými písmenami
• Okno vlastností: Zobrazuje vlastnosti vybraného prvku stromovej štruktúry
Vlastnosti možno sledovať a editovať
• Iné funkcie [1] Použitie RON na spresnenie a doplnenie repository • Pre dátový model [2]:
Kompletná definícia entít a atribútov
Základná a úplná definícia
Uloženie definície elementov
Vymazanie elementov
Definícia jednoznačného identifikátora
• Pre funkčný model [1]: -15-
Detailné definície funkcií a poznámky
Definície udalostí
Definície použitia funkcií a atribútov
Špecifikácie vstupných zostáv
Špecifikácie funkcie na elementárnu alebo atomickú
Špecifikácie frekvenecie, s ktorou sa funkcia používa za jednotku času
Definícia typov udalostí: časové, vyvolané zmenou, systémové
Ako funkcie používajú entity
použitie organizačných jednotiek
( $ !, •
Nástroj umožňujúci manažovanie a úpravu závislostí medzi jednotlivými prvkami repository
)%!$()7 !$$, •
Umožňuje modelovanie väzieb, čo je potrebné na udržanie konzistencie a zaistenie úplnosti informácií v repository pri vytváraní ERD, FHD a DFD
•
Predstavuje nástroj na modelovanie krížnych referencií medzi elementárnymi repository
•
Vo všeobecnosti umožňuje tvorbu matíc, do ktorých sa vyberú elementy z repozitory do riadkov, stĺpcov a ich vzájomné väzby do priesečníkov
•
Zabezpečuje aj manipuláciu s krížovo referenčnými elementmi a vytváranie, prezeranie a aktualizáciu iných elementov v repository [1]
-16-
*(*, •
Nástroj na tvorbu zostáv z existujúcich prvkov repository usporiadaných do jednotlivých kategórií
•
Zostava sa tvorí v prednastavenom internetovom prehliadači, kde je možná tlač [1]
(* $ #, •
Nástroj na administráciu repository
•
Používa správca repository(repository owner) na tvorbu novej repository(workarea) a na vykonávanie všetkých funkcií spomenutých v časti Administrácia repository [3]
•
Každý AS má svojho vlastníka(owner)
•
Používa vlastník repository, ktorý má na RAU práva, na definovanie použivateľských účtov pre repository a zároveň účty spravuje, určuje, či ide o repository manager alebo repository user(prideľuje prístupové práva – skupinové, individuálne: admin, select, insert, update, delete, share) [1]
6 " ! 8! Nedošlo k žiadnej zmene vo funkcionalite, spoločnosť orientuje ďalší vývoj na zlepšovanie súčasného riešenia. Pravidelne vydáva záplaty, ktorými ošetruje vzniknuté chyby. [5]
-17-
9 : ; Jedna z největších světových společností v oblasti softwarové infrastruktury, aplikačního software a IT služeb, která se zaměřuje výhradně na správu a přenos informací z datových center do míst jejich využití. Systémy společnosti Sybase využívají přední světové společnosti v oblastech obchodu, financí, státní správy, zdravotnictví i obrany [7]. Společnost Sybase Inc. v České republice zastupuje Sybase Software, s. r. o. V ČR jsou významnými zákazníky společnosti: ČSOB Pojišťovna, Česká pošta, Česká správa letišť (provozuje na platformě Sybase své klíčové informační systémy od odbavovacího systému přes letištní informační systém, internetový portál až po řešení datového skladu), Škoda Auto, Středisko cenných papírů.
< ! CASE nástroj, který umožňuje vytvářet schémata na různých úrovních podrobnosti. Obsahuje nástroje pro procesní analýzu podniku. Jednotlivé modely spolu navzájem spolupracují a jsou vytvořeny v jednom centrálním úložišti. Z konceptuální úrovně se následně vytváří fyzický model databáze. Podpora jazyků Java J2EE, C#, C++, Corba IDL, PowerBuilder®, Visual Basic .Net, XML, Microsoft .Net zajistí kterémukoliv podniku možnost vyvíjet nové či stávající softwarové služby, komponenty a aplikace dle svých aktuálních potřeb. Plně podporuje relační databáze cca 60 typů databází včetně NCR Teradata. PowerDesigner je určen pro: • Obchodní modelování, • Datové modelování, • Objektové modelování, • XML modelování.
-18-
Dříve byly modelovací nástroje zaměřeny výhradně na datové modelování, dnes je modelování podnikových procesů a používání jazyka UML pro tento obor nutností.
Obrázek č. 4 - Power Designer - Diagram tříd Podpora vývoje pro platformu .NET v PowerDesigneru je na velmi dobré úrovni. Diagram tříd umí bez problémů převést na zdrojový kód v jazycích C#, C++ a Visual Basic .NET a na rozdíl od Visia poskytuje mnoho možností pro generování kódu tak, aby bylo možností .NET jazyků využito co nejlépe – např. není problém pracovat s výše zmiňovanými vlastnostmi. PowerDesigner zcela korektně jednu vlastnost v .NET jazyku překládá na (všechny 4 dohromady) • privátní atribut třídy • veřejný atribut třídy se stereotypem <
> • metoda set_Vlastnost(value) : void se stereotypem <<Setter>> • metoda get_Vlastnost() : value se stereotypem <> Důležitou a často vyzdvihovanou vlastností .NET Frameworku je snadná práce s webovými službami. Také PowerDesigner podporuje automatické generování webové služby – umí vygenerovat její WSDL popis, zdrojový kód asmx souboru a proxy objekt.
-19-
V průběhu generování může PowerDesigner také automaticky vytvořit projekt pro Visual Studio .NET (buďto pro verzi 2002 nebo 2003, formáty projektů nejsou zcela kompatibilní). Dále nabízí automatickou kompilaci zdrojových souborů, takže výstupem modelu bude dokonce spustitelný EXE soubor. V průběhu generování je sledována syntaktická a základní sémantická správnost modelu a generování je ukončeno buďto hláškou o úspěchu, varováním nebo chybou, který generování souborů stornuje.
()*'!+& ,-
V nabídce je také Reverse Engineering ze zdrojových souborů, který na rozdíl od Visia vygenerované třídy rovnou umístí na kreslicí plátno. Pro práci např. s jazykem C# existuje mnoho nastavení, např. jak má PowerDesigner pojmenovávat getters a setters metody, jaké znaky má povolovat v identifikátorech apod. Pěkné rovněž je, že např. v dialogu vlastností třídy je rovnou náhled toho, jaký programový kód bude generován. [7] Celkově se PowerDesigner ukázal jako dobrý CASE nástroj pro podporu vývoje nad platformou .NET.
4%
5%
9% 37% 7%
5%
33% Finance
Telco
Partners
Public
Industry
()*'!+./0-1 234 5-6$789
-20-
Healthcare
Utility
Obrázek č. 7 Pozice PowerDesigneru v oblasti datového modelování dle Gartner Group [8]
-21-
Obrázek č. 9 Zachmanův model, zdroj: http://www.zachmanframeworkassociates.com/Standards/protected/framework-graphic-3
/ -# "& %> • Technologie Link and Synch – PowerDesigner 15 automaticky a zachycuje průniky mezi všemi vrstvami architektury podniku, což umožňuje uživatelům ze všech skupin přehledně vizualizovat a účinně zavádět rychlé, spolehlivé a předvídatelné změny. • Nový model podnikové architektury – Uživatelé mohou formálně zaznamenávat veškerá metadata týkající se analýzy podnikové architektury. • Nový diagram analýzy dopadů – Snadná vizualizace kaskádového dopadu změn, řízení času i nákladů souvisejících se změnou. • Editor podnikové architektury – PowerDesigner 15 poskytuje jak standardní metodickou šablonu modelů (metodika FEAF) tak možnost vytvoření vlastní šablony.
-23-
• Nový webový prohlížeč úložiště modelů (Repository Web Viewer) – V nové verzi je možné sdílet modely podnikové architektury mezi všechny zainteresované pracovníky bez ohledu na jejich softwarové vybavení. Možnost zobrazení metadat pro větší počet uživatelů. • Nový import z Visio – Dává možnost využít obchodních metadat pro začlenění do kompletní podnikové architektury. [9]
Podporu databází zajišťuje DBMS, jde o možnost generování databáze na základě jejího fyzického modelu. Power Designer mimo jiné podporuje ANSI SQL, AS/400, DB2, Informix, Interbase, Access, MySQL a Postgre (pro uživatele Linuxu), MS SQL Server, Oracle a samozřejmě Sybase. [10] Je v podstatě jedno, kterým směrem se začne datový model vytvářet, tedy zda od obecného ke konkrétnímu (odshora dolů) či naopak od databáze směrem nahoru k obchodním procesům. V praxi totiž již nějaké řešení může existovat a je zapotřebí vytvořit pro ně odpovídající modely. Po reversu z již vzniklé databáze se vytvoří fyzický model, který obsahuje tabulky, relace, uložené procedury a další. Z fyzického modelu konkrétní databáze je následně možné vytvořit konceptuální model či model objektů. Z konceptuálního modelu je možné jít opět výše (k objektovému) případně zpět k fyzickému pro zvolenou databázi. PowerDesigner při tvorbě bohužel nepřepíše uložené procedury, triggery, jen defaultní hodnoty sloupců. Po zvolení jazyka, který má následně generovat kód se z konceptuálního modelu musí přejít do modelu tříd. Poté dochází k vzájemné synchronizaci mezi objektovým a datovým modelem, čímž je udržována konzistence mezi datovou a aplikační vrstvou. [11]
0 DataArchitect - datové modelování Developer - objektové modelování Studio - datové + objektové + modelování business procesů Enterprise - repository – práce v týmu
-24-
Standalone x Floating - pevná licence na konkrétní PC x plovoucí licence Information Liquidity model - modelování ETL procesů a datových toků XML model - modelování dat ve struktuře XML [8]
-25-
?0 ) Českou firmu Charonware s.r.o., která vyvíjela software CASE STUDIO 2, koupila v roce 2006 americká společnost Quest software [13]. Tato společnost působí na mezinárodním trhu od roku 1987 se zaměřením na ERP a JAVA EE na Windows platformě. Na webových stránkách Charonware sice není implicitně uvedeno, zda pokračuje vývoj CASE STUDIO 2 , vzhledem k odsunutí všech odkazů a sekcí týkající se tohoto softwaru na druhé místo lze očekávat, že firma se bude soustředit na hlavní produkt mateřské společnosti a to Toad Data Modeler.
@ " -$ Na rozdíl od ostatních CASE nástrojů, Toad Data Modeler (dále jen TDM) se podle vyjádření výrobce zaměřuje především na tvorbu databází. Koncept vychází ze software CASE STUDIO 2. Současná verze programu je 3.4. Beta verze dalšího vydání je rovněž k dispozici.
* !$ Jako základní funkcionalitu uvádí výrobce práci s ER diagramy. Software umožňuje práci s fyzickým i logickým modelem .
Fyzický model ERD podporuje tyto databázové systémy [14]: • • • • • • •
DB2 MS Access MS SQL Server MySQL Oracle PostgreSQL Sybase ASE
-26-
Obrázek č. 10 - Základní ER model
Logický model podporuje tyto specifikace: • • •
Dědičnost Konverze logického modelu do specifického db. systému Uživatel má možnost nastavit datový typ konverze.
-27-
Obrázek č. 11 - Logický model
3 A5"2# TOAD má implementovanou funkci generování velice detailního SQL (DDL) skriptu. Dává možnost vygenerovat pouze vybrané části modelu (domény,tabulky,primární klíče, alternativní klíče,indexy,referenční integritu,triggery, procedury, pohledy,role,uživatelská práva ), využít verifikaci apod. Umožňuje generovat rovněž nepodporované typy referenční integrity pomocí triggerů. V závislosti na vybrané databázi lze vybrat i další prvky.
-28-
Obrázek č. 12 - Generování SQL kódu
* ' & Software TDM na rozdíl od CASE STUDIO má mnohem lepší podporu zpětného vytvoření modelu z existující databáze.
-29-
Obrázek č. 13 - Průvodce reverzním inženýrstvím S databází se lze spojit mnoha způsoby (nativní spojení, ODBC atd.)
-30-
Obrázek č. 14 - Průvodce reverzním inženýrstvím
0"#$ Dokumentace vytvořeného projektu může být automaticky exportována do HTML nebo RTF.
-31-
Obrázek č. 15 - Vygenerovaný HTML report
B-" Software umožňuje automatickou kontrolu modelů a vypsání všech možných errorů, varování a tipů.
-32-
Obrázek č. 16 - Verifikace modelu
#$ Nástroj má v sobě zabudovány i mechanizmy na úpravu samotného rozhraní. Lze přidávat menu, formuláře, přednastavená schéma apod.
" Konverze a úpravy modelu pro konkrétní databázové rozhraní
6 "?;C Zatím poslední verze 3.4 přinesla několik zásadních vylepšení. Především rozšířila podporované databáze a s nativním spojením umožňuje spojit se i s nepodporovanou databází. To se týká i importu z SQL skriptů. Další novinkou je generování XML reportů s XSLT schématy. Přibyla ještě customizace formulářů a funkce undo/redo
' -<# Na webu jsou k dispozici ke stažení dvě verze programu - Trial a free.
-33-
Free verzi je možné používat až do 20.ledna 2010 a má následující omezení: •
Ukládání modelu, Náhled, Tisk, Export do grafického souboru, Alter Report, Report do PDF s vodoznaky, XSL Transformation Report, SQL/DDL generování skriptů a Reverse Engineering - všechny tyto funkce jsou dostupné pouze pro modely do velikosti 25 entit.
•
Alter Script Generation – tuto funkci free verze vůbec neobsahuje
%$%'"
Obrázek - http://www.casestudio.com/enu/requirements.aspx
5 TDM lze zakoupit přímo z eshopu výrobce. Jedna licence stojí 435 EUR, přičemž three-pack, tedy 3 licence stojí 1089 EUR. Enterprise či jiné hromadné licence firma QUEST zřejmě nenabízí.
#D ' & K demonstrování funkčnosti programu v praxi, jsem si vybral proces reverzního inženýrství. K testu jsem použil MS Access databázi „Opravna aut“, kterou jsem používal
-34-
v předmětu IT_360 Databáze na VŠE na bakalářském stupni. Takto vypadá databáze v relačním modelu v accessu
Obrázek č. 18 - ER model v MS Access
Jedná se tedy o komplikovanější strukturu, proto se podíváme jak si TOAD modeller sní poradí.Zapneme tedy průvodce pro reverzní inženýrství a zvolíme prostředí MS Access
Obrázek č. 19 - Průvodce V dalším kroku si můžeme vybrat typ spojení (ODBC, Nativní, ADO..). Protože se jedna o „offline“ databázi v souboru, vybereme ADO.
-35-
Po té vybereme konkrétní soubor a typ migrátoru vestavěného v TOAD. Zde nám opět nabízí pouze jeden. Posledním krokem je zaškrtnutí které entit/ tabulek chceme převést, zde dáme všechny.
Obrázek č. 20 - Výběr entit
-36-
Obrázek č. 21 - Finální obrazovka
-37-
Nyní se můžeme podívat na převedenou databázi:
Obrázek č. 22 - ER diagram v TOAD
Obrázek č. 23 - ER diagram v TOAD
Jak je vidět, všechny vlastnosti entit jsou stejné a zůstali i zachovány relace mezi tabulkami, takže jsme dostali správný ER diagram existující databáze.
-38-
Původní databáze obsahovala i SQL dotazy. Které TOAD modeler rovněž převzal. Když se nyní podíváme například na definici tabulky „Zařazení zaměstnance“, uvidíme i zdrojový kód.
Obrázek č. 24 - Generovaný kód pro .NET
Jak je vidět, ten je psán pro prostředí .NET . Zkusíme ho nyní zkonvertovat pro ORALCE. Po spuštění convert průvodce, si pouze vybereme cílové prostředí a během několika sekund je model zkonvertován. Podívejme se na definici tabulky „Zařazení zaměstnance“ nyní:
-39-
Obrázek č. 25 - Konvertovaný kód pro Oracle
Takže během pár vteřin jsme vlastně „přemigrovali“ databázi z jednoho prostředí do druhého. To byla jen malá ukázka základních funkcionalit programu TOAD. Velmi mne překvapil svou rychlostí a intuitivním ovládáním.
-40-
@ E Autoři ve své práci představili tři významné CASE nástroje, které lze využít při návrhu a vytváření databází. Prvním představovaným nástrojem byl Oracle Designer, druhým PowerDesigner a třetím nástroj Toad Data Modeler. PowerDesigner je znám jako nástroj s širokým spektrem použitelnosti. Zahrnuje komplexní možnosti modelování veškerých objektů, procesů a datových toků se všemi aspekty podnikového businessu. Oracle designer vyvíjí společnost, která dominuje kvalitou technického řešení v dodavatelské oblasti databázových systémů. Ač se tento software profiluje jako komplexní nástroj pro tvorbu celých informačních systémů, jeho těžiště spočívá v databázové oblasti. Poslední z popisovaných nástrojů Toad Data Modeler je specializovaný přímo na návrh databází. V přehledné tabulce v příloze se nachází srovnání všech tří nástrojů. Základním požadavkem na databázi od firemních zákazníků je dostatečná robustnost řešení, která zajistí maximální možnou míru použitelnosti i v podmínkách velkého nárůstu objemu dat (vysoká škálovatelnost). Druhým základním požadavkem je požadavek bezpečnosti. Data musí být zajištěna takovým způsobem, s takovou úrovní zabezpečení, která jednoznačně garantuje možnost okamžitého obnovení dat ze zálohy v původní struktuře. A co nejkratší interval obnovení ostrého provozu po havárii. Oblast specializovaných CASE nástrojů speciálně určených pro návrh databází se v nejbližší budoucnosti nebude s největší pravděpodobností intezivně rozvíjet. Autoři práce pro toto tvrzení identifikovali tři hlavní důvody. Prvním důvodem je jednoznačný trend univerzálnosti modelovacích nástrojů. Poptávka na trhu je zejména po řešeních, která obsahují vše v jednom. Která integrují jednotlivé funkce a nástroje specializovaných modelovacích nástrojů, tak aby umožnily jejich široké použití.
-41-
Druhý důvod představuje omezená množina relevantních požadavků podniků na databázová řešení. Jak bylo zmíněno výše, tak podnikoví zákazníci požadují zejména totální garanci bezpečnosti a zálohy dat a robustnosti řešení. Výrobci a poskytovatelé CASE řešení nemají dostatečný prostor pro inovaci svých produktů, zejména v oblasti funcionality. Novou funkcionalitu nemá smysl vyvíjet, když požadavky na databázové systémy se již několik let nemění. Třetím důvodem je omezený počet možných zákazníků. Uplatnění standardního CASE nástroje je v podstatě nezávislé na velikosti firmy, a i malé firmy mohou velmi efektivně využívat CASE nástrojů. pokud chtějí provádět optimalizaci podnikových procesů, optimalizaci podnikové struktury, či komplexní reingeneering. Tyto činnosti si mohou zajistit vlastními zdroji a CASE nástroje mohou představovat velký přínos pro tuto oblast aplikace. Zatímco kompletní návrh databáze, zejména s klíčovým ohledem na požadovanou úroveň bezpečnosti, si firmy nezajišťují vlastními zdroji, ale svěřují tento úkol do rukou profesionálů na databázovém trhu.
-42-
@ 1. Prednášky Ekonomickej univerzity v BA, Fakulta hospodárskej informatiky: http://www.fhi.sk/files/katedry/kai/SAPPA/Prednasky3_2009.pdf 2. Rydval Slávek, Kreslítka pro krycím jménem CASE, http://www.rydval.cz/phprs/view.php?cisloclanku=2005123135 3. Beneš Michal, Diplomová práce Přehled OO metodik a notací http://objekty.vse.cz/Objekty/MetodikyANotace-NastrojePrehled 4. Programovanie.sk,Oracle Internet platforma pre e-biznis http://programovanie.pc.sk/databazy/clanok.php?ID=276 5. Oracle.com, Oracle Designer 10g Release 2 http://www.oracle.com/technology/products/designer/index.html 6. Borek Bernard, Jan Filip, Lucie Růtová, Jana Smítková. Podpora CASE nástrojů pro vývoj. BorBer.com. [Online] 31. srpen 2006. [Citace: 23. listopad 2009.] http://www.borber.com/files/IT_572-CASE-nastroje.doc 7. Radecký, Alexandr. CIO Business world. Sybase PowerDesigner 15. [Online] 11. říjen 2008. [Citace: 19. listopad 2009.] http://businessworld.cz/produkty-a-sluzby/sybasepowerdesigner-15-1574 8. Profil firmy Sybase. Sybase Software, s.r.o. [Online] 2009. [Citace: 19. listopad 2009.] http://www.sybase.cz/index.php?option=com_content&view=article&id=18&mid=8 9. Stanislav Dvořák, Pavel Sýkora. Obchodní prezentace PowerDesigner. Praha, Česká republika/Praha : autor neznámý, 19. březen 2009. 10. Rydval, Slávek. Sybase Power Designer 9.0. NaWebka. [Online] 3. srpen 2005 . [Citace: 23. listopad 2009.] http://www.rydval.cz/phprs/view.php?cisloclanku=2005123150
-43-
11. Pavlíček, Luboš. Přehled některých programů pro modelování. Objetky. [Online] 3. únor 2008. [Citace: 23. listopad 2009.] http://objekty.vse.cz/Objekty/MetodikyANotaceNastrojePrehled 12. Skřivánek, František. Sybase PowerDesigner 15. Databázový svět. [Online] 13. říjen 2008. [Citace: 10. prosinec 2009.] http://www.dbsvet.cz/view.php?cisloclanku=2008101301 13. TDM - Statement of Future Direction http://www.casestudio.com/enu/tdm_statement_of_direction.aspx 14. Oficiální stránky produktu TOAD dostupné z url http://www.casestudio.com/enu/products.aspx 15. Semestrální práce k předmětu CASE Nástroje - „Nástroje pro vývoj aplikací a jejich vazba na CASE“, Autoři: Borek Bernard, Jan Filip, Lucie Růtová, Jana Smítková
$ "
1. Zachmanův model 2. Obchodní prezentace PowerDesigner, 19.3.2009 3. Tabulka srovnávací popisované CASE nástroje.
-44-