Když jsem pro SWN 9/2000 psal
velkou recenzi CASE nástrojů, byl zde zastoupen i Power Designer, v té době ve verzi 6.1.5, určen ryze pro datové modelování. Od té doby bylo napsáno tolik řádků programového kódu, že stojí za představení devátá verze tohoto nástroje.
V současné podobě je Power Designer (dále již jen PD) plnohodnotný
nástroj umožňující modelovat v podstatě všem pracovníkům ve velkých
i malých společnostech. Pro obchodní manažery jsou dostupné modely
obchodních procesů (obchodně orientovaná procesní analýza), pro analytiky
objektové analýzy pomocí notace UML, pro databázové analytiky zase datové
modelování a mnoho dalšího. Na své si přijdou i vývojáři, IT
manažeři či dokumentaristé. Pojďme se tedy podívat na PD podrobněji.
Okno aplikace je rozděleno do několika částí. Základem je samozřejmě
modelovací plocha, pracovní místo (Workspace) pro práci s namodelovanými
objekty a paletka s kontextově závislými prvky, které lze v danou situaci
položit na modelovací plochu (a tím vlastně vytvořit daný objekt). Na
začátku vaší práce je nutné určit, jaký diagram vlastně chcete tvořit.
K dispozici je model obchodního procesu, konceptuální datový model,
Multi-Model Report, objektově orientovaný model a konečně fyzický
datový model.
Ačkoliv by se zdálo, že začátek práce spočívá v naprosté obecnosti
a tomu odpovídajícímu modelu, nemusí to být pravda. Je v podstatě jedno,
kterým směrem začnete, 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 (nebudu se rozepisovat, nakolik je to správný postup).
Při testování PD jsem vzal jednu ze svých databází na Microsoft SQL
Serveru 2000 a provedl reverse engineering. Nemusíte ale použít zrovna
uvedený databázový server — na výběr máte v podstatě všechny známé
a používané databáze včetně např. MySQL. Také verze těchto databází,
ze kterých lze získat informace, odpovídají současnému stavu: Oracle 9i,
Interbase 6, MS SQL 2000 a další. Pokud přeci jenom nenajdete tu svou, je
k dispozici reverse z ODBC zdroje. Modely již naštěstí nelze vytvářet
pro dnes již na seriózní práci nepoužitelné souborové „databáze“
Paradox či dBase (Access bohužel stále zůstává). Ale zpět k naší
konkrétní databázi. Po reversu vznikl fyzický model, který obsahoval
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. Samozřejmě je možné takto přejít např. z MS SQL na Oracle,
ale nedoporučuji to. Nikdo (a ani PD) za vás nepřepíše uložené procedury,
triggry nebo třeba jen defaultní hodnoty sloupců. Tohle samozřejmě není
chyba PD, ale problém přechodu z jednoho systému na druhý.

Z konceptuálního modelu jsem přešel do modelu tříd. Pro tento je
potřeba zvolit jazyk, pro který se bude následně generovat zdrojový kód.
Kromě nudné Javy či zaběhnutého C++ je k dispozici XML (DTD, schéma
případně BizTalk) či aktuálně C# nebo Visual Basic.NET a další (škoda,
že chybí Delphi). Je samozřejmé, že 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. Objektovým modelem se vlastně dostáváme na
vrchol možných diagramů. Na CD jsem
umístil obrázky všech tři uvedených modelů.

PD však neumí z objektových modelů pouze diagram tříd ale i další
důležité typy. Jsou jimi případy užití (use case), diagram sekvencí,
komponent a aktivit. U datového modelování je kromě běžného modelování
možnost tvořit i hvězdicové a vločkové schémata pro datové sklady a
následný data mining. Z dalších používaných jsem však nenašel data
flow diagramy (DFD). Po dotazu na české zastoupení společnosti Sybase jsem
se dozvěděl, že DFD jsou nahrazeny obecnějším modelem obchodních
procesů. Pokud ale máte např. model ve vezi 6.x, pak není nic ztraceno. Po
otevření tohoto modelu se externí entity převedou na začátky reps. konce
toků, datová uložiště na zdroje apod. (některé atributy však přesto
nepodporuje; každopádně ve verzi 9.5 již bude za DFD plnohodnotná
náhrada).
Důležitým krokem kromě tvorby vlastních modelů je vytvoření
dokumentace. Jakkoliv je kreslené schéma lepší než psaný text,
vysvětlení např. vazeb mezi tabulkami je často žádoucí. PD obsahuje
poměrně mocný nástroj pro tvorbu hypertextové dokumentace. Nejenom že
můžete zvolit co vše ve výsledku bude, ale označujete, v jakém pořadí
se bude dokumentace k danému objektu generovat. Navíc lze určovat
hierarchickou strukturu témat, takže získáte informace přesně v takovém
pořadí, v jakém si přejete. Pokud si navíc šéf přeje jiné, lze
vytvořená schémata ukládat pro konkrétní situace. Výsledný dokument je
ve formátu HTML či RTF, osobně bych se přikláněl ještě k formátu XML,
čímž by byl v podstatě dosažitelný libovolný další formát. Vizuální
dojem z vygenerované dokumentace se oproti dříve testované verzi výrazně
zlepšil, přesto je stále co vylepšovat.
Co se mi hodně líbí, je možnost nechat si v případě datových modelů
vygenerovat testovací data pro dané databázové schéma. Není totiž
(téměř) nic nudnějšího než neustále zadávat pár testovacích hodnot.
Pomocí PD si určíte, které tabulky plnit, kolik řádků vložit a pak již
stačí spustit výsledný soubor.
Pokud si myslíte, že potřebujete modelovat schéma pro jinou databázi,
pak přidání nové do seznamu je velmi jednoduché. Jednotlivá nastavení
jsou totiž uložena v XML souboru, takže není problém rozšiřovat či
upravovat.
Na začátku jsem zmínil předloňskou recenzi, nebude tedy na škodu
podívat se, jak se produkt zlepšil v oblastech, které jsem mu vytýkal.
Aplikaci již nečiní problémy spustit se pod uživatelem s menšími právy
(power user) než má administrátor. Změny k lepšímu doznalo vykreslování
objektů, které dříve neustále problikávalo, vykreslovalo se chybně či
velmi pomalu. Sice stále dochází k občasnému vykreslení mimo danou
oblast, ale už to nedělá žádné velké problémy. Produkt celkově působí
velmi vyzrále.
Protože nebylo možno popsat vše (např. vývoj v týmu), na CD naleznete
kromě již zmíněných věcí i dokument, který by vám měl podrobněji
přiblížit jednotlivé vlastnosti produktu. Přesto lze napsat, že s Power
Designerem se mi pracovalo o mnoho lépe než s verzí 6.1.5. Dnes již mohu
s klidným svědomím produkt doporučit všem firmám, které chtějí
dodržovat postupy platné pro všechny úrovně životního cyklu softwarového
projektu. Získají velmi výkonného pomocníka, který v případě
správného využití umožní vytvářet opravdu velké systémy.
Plusy, mínusy, závěr
Plusy
- Aktuální vůči databázím a programovacím jazykům
- Generování dokumentace
- Generování testovacích dat
Mínusy
- Chybí data flow diagramy
- Dokumentace pouze do HTML a RTF
Závěr
- Kvalitní CASE nástroj pro obchodní, objektové a datové
modelování.
Kontakt
Tento článek byl napsán pro časopis Softwarové noviny 9/2002.
Upozornění: tento text neprošel redakční úpravou, takže je
tak, jak byl napsán včetně případných chyb. Žádná část tohoto
článku nesmí být použita bez předchozího souhlasu autora.
Seznam mých dalších článků je v tomto přehledu.