Miért is szerethető a PowerDesigner (PD)
PowerDesigner (PD) használatának az üzleti folyamatokra
és minőség biztosításra gyakorolt hatása
-Igény, elvárás, követelménykezelés, függőség elemzés magas
szintű biztosítása
-Kockázatelemzés (kockázati tényezők, bekövetkezés esélye,
rögzíthetőek) elemezhetővé válik
- Változáskezelés és változások dokumentáltsága magasabb
szinten valósulhat meg
- A rendszerek és rendszerkapcsolatok megértése és
dokumentálása kiemelkedő
-Testre szabható projektdokumentáció előállítása, központi
tárolása és publikálása (Repository)
- A tervezési és fejlesztési folyamatok hatékonyabb nyomon
követése megvalósulhat
Az alábbi DWH fejlesztési területeken nyújt segítséget a
PD:
·
Specifikációk
készítése
·
Fejlesztések
megvalósítása
·
Adattisztítási
feladatok
·
Adat
karbantartás
·
Új
adatpiac fejlesztése
·
Rendszer
migráció
·
Új
rendszer bevezetése
PD felhasználási területek:
·
Egységes
felületet biztosít a szervezet által kezelt adatok nyilvántartásához
·
Támogatja
új folyamatok kialakítását, valamint a meglévők átalakítását
·
Támogatja
a rendszerfejlesztést
·
Keretet
biztosít a fejlesztői dokumentációk készítéséhez
·
Segíti
a belső kommunikációt, különösen az üzleti és a támogató területek között
·
Segíti
a külső kommunikációt a szervezet és az IT fejlesztők között
PD mint központi projektdokumentáció támogató eszköz
• Teljes projektdokumentáció tárolása központilag – Modellek
– Projekt dokumentumok – Forráskód, SQL szkript – Strukturált formában (mappák)
• Csoportmunka (felhasználói jogosultság kezelés)
• Verzionálás (elemszintű)
DWH területen jól alkalmazható PD funkciók
Fizikai
adatmodell: A logikai modellben történt változtatások automatikusan
átvezethetőek a fizikai adatmodellbe (PDM), ahonnan adatbázis létrehozó és
módosító SQL szkriptek generálhatóak.
Logikai
szintű adatmodellezés: a PowerDesigner a fogalmi (CDM) és logikai modellen
(LDM) keresztül biztosítja a platform-független adatmodellezést. Az E/R, Merise
és Barker jelölésrendszert egyaránt támogatja, lehetőség van öröklési
hierarchiákban történő tervezésre, valamint az ERwin modellek importálására.
Meglévő
rendszerek visszafejtése: a meglévő adatbázisok szerkezetének teljes körű
visszafejtése, az adatbázis struktúrában bekövetkezett változások összevetése a
modellekkel.
Repository:
a vállalati Repository valódi csoportmunkát kínál a felhasználóknak. A
Repositoryban elhelyezett modellek verzionálhatóak. A Repository nem csak a
modellek, hanem bármely projektdokumentum tárolására, verzionálására is
alkalmas.
Helyi modell állomány és központi repozitori kapcsolata a
PD konfigurációban:
Vállalati szintű egységes repozitori támogató funkciói
főleg az alábbiak:
- Csoport
munka: Egy időben többen is dolgozhatnak ugyanazokon a modelleken.
- Metaadat-kezelés:
A Repository segítségével egyetlen helyen tárolhatjuk, kezelhetjük a
Power Designer modelljeink vagy bármely állomány különböző verzióit.
- Hatáselemzés:
A PD eltárolja az egyes modellek közötti összefüggéseket is a
Repositoryban, így a modellek között hatáselemzést végezhetünk.
- Vállalati
fogalomtár (Enterprise Glossary): Bármely modell bármely eleme
összeköthető egy fogalommal, amely előzőleg felvételre került a közös
fogalomtárban. Így biztosítható, hogy a tervezők és fejlesztők az eltérő
adatbázisokban és rendszerekben egységes nyelvet, egységes fogalmakat
használjanak ugyanannak az adatnak vagy elemnek a jelölésére.
- Újrahasznosítás:
A Repository segítségével megoszthatjuk az egyes informatikai rendszerek
felépítését más fejlesztőkkel, tervezőkkel, így elősegíthető a szoftverelemek
újrahasznosítása.
- Biztonságos:
Szerepkörök (felhasználók és csoportok) hozhatóak létre, a felhasználók
hozzáférése így korlátozható modell- és diagram-szinten.
- Nyitott:
A Repository bármely RDBMS-szerverre feltelepíthető, az adatbázisból SQL
utasításokkal saját riportok állíthatóak elő.
Fizikai adatmodell felhasználási területe:
Fizikai adatmodell (PDM) generálható vagy frissíthető a
meglévő logikai adatmodellekből
– Lehetőség: egy logikai modell több fizikai platformra
• Platformfüggő modellezési szint
– a PowerDesigner több mint 60
RDBMS-t ismer
– a választott platformnak megfelelő
fizikai kapcsolatokat épít a táblák között
– Egyéb fizikai paraméterek
megadása (pl. particionálás, szegmenskezelés, lockolási sémák, jogosultsági
szintek)
• SQL szkript-generálás és -visszafejtés – adatbázis
létrehozása és módosítása – SQL állományok és ODBC-n keresztül is •
Jogosultságok modellezése
• multidimenzionális nézet
– Ténytáblák, dimenziótáblák
kezelése
– Cube generálás
– Denormalizáció
• generálás: CDM, UML osztálydiagram, XML modell
Magas szintű változás követés
• Változási igények keletkezése időben:
– Már a tervezési/fejlesztési
fázisba
– Bevezetést követően fellelt
hibák javítása (bugtracking)
– Módosítási igények (akár
évekkel később)
• Hatékony változáskezelés PowerDesignerrel:
– A változások alapján hatás
elemzés
– A változásokat elsőként a
modellekbe is be kell vezetni, utána a kódba (van mód re-engineeringre) –
Verzionálás a Repositoryban
• A változáskövetés a projekt-életciklust követi iteratív
módon
Üzeleti szótárak kialakítása
A PD támogatást nyújt a
csoportmunkához, az üzleti és IT fogalmak egységesítése érdekében vállalati fogalomtár
(Enterprise Glossary) alakítható ki benne.
A Központi repositoryban
elhelyezett modellek és dokumentumok verziózható formában egyszerűen megoszthatóak,
és publikálhatóak egy webes felületen keresztül azok számára is, akik PowerDesigner
telepített eszközzel nem rendelkeznek.
PD három főbb előnye, mely a DWH fejlesztésben is jelentkezik:- Függőségelemzés a meglévő dokumentációk alapján a specifikációs fázisban
- Fejlesztési dokumentáció készítése a tervezés és fejlesztés fázisaiban
- Élesítés utáni dokumentáció frissítése a tényleges éles rendszer alapján
A technikai és üzleti függőségek figyelembevételének, felmérésének és modellben jelzés fontossága:
Ha kitörlünk egy adatbázistábla adott oszlopát, melyet egy másik DWH töltőeljárás
használ, akkor a töltőeljárás működésképtelenné válik, mely megakasztja a napi
DWH töltést technikai függés figyelmen kívül hagyása miatt.
Ennek elhárítása a legtöbb esetben magas prioritású és rendkívüli
ráfordítást igényel.
Az előbbinél sokkal nagyobb probléma azonban, egy üzleti függőség figyelmen
kívül hagyása. Hiszen, ha például üzleti értelemben megváltozik egy mező
tartalma, amelyre függőség épül, akkor a töltőeljárás technikailag még lehet,
hogy lefut. Ebben az esetben azonban előfordulhat, hogy a megváltozott mezőtartalom olyan helyekre kerül betöltésre, ahova üzleti értelemben nem való.
Ez azért veszélyes hiba, mert előfordulhat, hogy a hibát hosszabb ideig senki sem
fedezi fel, a napi töltés üzemszerűen folyik, de megtévesztő adatok kerülnek
betöltésre.
A függőségfelmérést a PowerDesigner ’Lineage and Impact analysis’ funkciójával lehet elvégezni. A felmérés során előfordulhat, hogy csak olyan információ áll rendelkezésünkre, hogy egy tábla, vagy mező mely programon, adatbázis eljáráson (mapping-en) belül töltődik, de maga a forrás tábla, vagy mező információja nem található meg a dokumentációban.
Ilyen állapot jellemzően az olyan nagy bonyolultságú töltő logikák esetében fordulhat elő, melyek értelmezése szoftveres úton nem megoldható.
Ebben az esetben a felmérést a Lineage elemzés, majd ezt követően a kód elemzés mellett, akár egy újabb Lineage elemzéssel, több lépésben lehet elvégezni.
Fejlesztési folyamat és folyamatágak kialakítása
Lépések és szabályok
Az éles PowerDesigner repository-ban létrehoztunk egy DWH Dokumentáció – Master nevű
Branch-et.
Ez a Branch lesz minden Release kiindulási alapja.
Az egyes Release Branch-ek
pedig a Fejlesztési Branch-ek alapjául szolgálnak.
A Master Branch tartalmaz minden adatbázis dokumentációhoz köthető fizikai adatmodellt.
Minden adatbázis séma külön fizikai adatmodellbe került, melynek neve megegyezik a
séma nevével.
Az üzletileg összetartozó
objektumok azonos sémába kerültek.
Minden Release esetén a Master Branch-ből kiindulva klónozással elkészítjük az új Releasehez tartozó Branch-et. A Release Branch nevének tartalmaznia kell a Release számát a
sablonos DHW_ÉÉRMM formátumban, ahol az ÉÉ és MM a release év és hónapját jelentik.
Tervezés megkezdése előtt a PowerDesigner repository-ján belül a Release Branch-ből
kiindulva klónozással elkészítjük az új fejlesztéshez tartozó szálat.
Az új Branch nevének
tartalmaznia kell a fejlesztés azonosító számát. Amíg a fejlesztés azonosító szám nem érhető el, addig a Branch
létrehozójának felhasználó azonosítóját kell hogy a Branch neve tartalmazza.
A későbbiekben, amikor a fejlesztés azonosító szám kiderül, akkor a Branch-et át kell nevezni úgy, hogy aa fejlesztés azonosító szám is bekerüljön
a névbe.
A származtatáskor a Branch jogosultságait úgy kell beállítani, hogy minden a
feladathoz köthető személynek, aki szerkeszteni fogja a modell-t, írás szintű hozzáférése
legyen a Branch-hez.
A klónozás során minden esetben a legfrissebb verzióból indulunk ki, másra nincs is
lehetőség.
Csak abban esetben nem szabadna a legfrissebb állapotból kiindulni, ha egy adott verzió
nem kerülne élesítésre, de ilyen állapot nem lesz, mert csak az élesítésre kerülő verziókat
fogjuk a Master Branch-be visszatölteni.
A leszármaztatott Fejlesztési Branch repository-ból kiindulva Check-Out lépés után kezdjük
a tervezést a saját gépünkön. E Check-Out lépés során a saját fejlesztési Branch-ünk
szerkesztendő adatmodelljeit kell a gépünkre lokálisan lementeni.
Fontos megjegyezni,
hogy mapping-ek esetén egy mapping több adatmodellt (sémát) is érinthet, mivel a
mapping source és target oldali objektuma különböző adatmodellekben is lehet. Erre mindenképpen fel kell készülni.
A napi munkát az adott nap végén a Check-In funkció használatával visszaszinkronizáljuk
a saját leszármaztatott Fejlesztési Branch-be a repository-n belül.
Ezáltal egy szerveren,
biztonságosan kerül tárolásra a munkánk. Továbbá a Check-In naponta történő
használatával elérhetővé válnak a napi szintű változások az adatmodellben.
A Check-In eljárás során a verziók automatikusan commentezésre kerülnek. A
commentben megtalálható a módosító neve, és dátum is. Illetve további megjegyzések
hozzáfűzésére is van lehetőség, mely a tervező munkáját segíti a napi feladatok ellátása
közben.
A Review-k szerepe
Annak érdekében, tovább erősítsük a dokumentáció megfelelő minőségének elkészültét,
módszertanilag javasolt a review elvégzése.
A review során egy csapaton belüli
szakértővel, aki a tervezésben nem vett részt újra át lehet tekinteni a megtervezett
objektumokat, és könnyebben fel lehet fedezni az esetleges javítandó hibákat.
Gyakran
előfordul, hogy egy külső szemlélő könnyebben észrevesz bizonyos javítandókat.
A review
célja, hogy az elkészült végeredmény minél jobb minőségű lehessen.
Közös cél és érdek tehát a teljességre való törekvés.
A tapasztalat azt mutatja, hogy e
tervezéskori részletes kidolgozás és a tervezéskori befektetés a későbbi fejlesztések során
többszörösen megtérül
PowerDesigner Branch migrálása/Integrálása
A tervek elkészülte után a származtatott fejlesztési Branch-et az ’Integrate’ funkcióval
visszatöltjük a Release Branch-be.
Itt rendkívül körültekintően kell eljárni, mivel a folyamtban ez a legfelelősségteljesebb
lépés, hiszen az éles dokumentációba, melyet mindenki más is használ, töltjük vissza a
módosításainkat.
Egy Branch Integráláskor hasonló merge funkcióval találkozunk, mint a Check-In lépések
során. Összehasonlításra kerülnek a két modell objektumai, majd a különbségeket
lehetőség van beszinkronizálni egyik modellből a másikba.
Ennél a lépésnél részletesebb comment-et várunk el az integrálást végző személytől azért,
hogy később könnyebben nyomon lehessen követni a verziók tartalmát.
Párhuzamos fejlesztéseknél (több Branch párhuzamos élete során) a nagyobb felelősség
az Integrálást később végző személyt terheli.
Nézzünk egy elvi példát a több fejlesztési szálas branch -ra
Az ábrán az idősíkot függőlegesen, fentről lefelé ábrázoltuk.
Párhuzamosan láthatóak
egymás mellett az egyes Branch-ek (fejlesztési szálak) élettörténete azonos
időpillanatokban szemlélve.
Zöld nyilakkal jelöltük a Branch leszármaztatások lépéseit.
Kék nyilakkal jelöltük a Branch Integrálások lépéseit.
Az első szálon a Master Branch élettörténete látható, a többi szálon pedig a fejlesztési
szálak tekinthetőek meg. A rajzon látszódnak továbbá, hogy mely lépéseknél történnek
verzióváltozások az idő haladtával.
Vegyük észre, hogy a koncepció szerint a Master Branch verziószámai csakis Branch
Integráláskor változnak. Ennek az az oka, hogy a Master Branch-et közvetlenül soha nem
szerkeszthetjük egy-egy fejlesztés miatt.
A fejlesztést minden esetben csakis a saját
fejlesztési Branch-ben kell elvégezni, majd a végeredményt innen lehet visszaintegrálni a
Master Branch-be.
Az egyes fejlesztési szálak vissza Integrálása nem feltétlenül a leszármaztatás
sorrendjében történik meg. Ez ugye a fejlesztési feladatok hosszától függ, mely a
különböző fejlesztéseknél eltér egymástól.
Jelen példánknál maradva, az 1. fejlesztés kiindulási alapja nem tartalmaz olyan objektum
módosításokat, melyek a 2. fejlesztés során korábban kerültek Integrálásra, mint az 1.
fejlesztés módosításai.
Ilyen esetben hangsúlyosan figyelni kell az Integráláskor arra, hogy
ütközés esetén mely változtatás legyen a végeredmény. Ebben nyújt segítséget az
Integráláskor megkövetelt comment-ezés, mellyel könnyen kideríthető, hogy kivel
szükséges egyeztetni a felmerülő kérdésekről.
Hasznos funkció a modellen állva helyi menüből kért listák megjelenítése
Igény szerint szűrhető rendezhető az információ (például a táblák mezői)
Listából egyből a megjelenítésre tudunk átfúrni egy gomb segítségével
Megjegyzések
Megjegyzés küldése