Made with OpenOffice.org 1 ANALYSIS PATTERNS MARTIN FOWLER ANALYSIS PATTERNS Általános ismertető és Accountability Patterns ELTE, 2010. 11. 25. Herczeg.

Slides:



Advertisements
Hasonló előadás
Összetett kísérleti tervek és kiértékelésük:
Advertisements

Tamás Kincső, OSZK, Analitikus Feldolgozó Osztály, osztályvezető A részdokumentumok szolgáltatása az ELDORADO-ban ELDORADO konferencia a partnerkönyvtárakkal.

Kamarai prezentáció sablon
„Esélyteremtés és értékalakulás” Konferencia Megyeháza Kaposvár, 2009
Készítette: Boros Erzsi
Weblap szerkesztés HTML oldal felépítése Nyitó tag Záró tag Nyitó tag Záró tag oldalfej tözs.
Erőállóképesség mérése Találjanak teszteket az irodalomban
4 négyzetes kérdés Készen vagy? B A
MATEMATIKA Év eleji felmérés 3. évfolyam
Összetett kísérleti tervek és kiértékelésük
Humánkineziológia szak
Mellár János 5. óra Március 12. v
1Objektumorientált elemzés és tervezés – Dinamikus modellezés Gyurkó György Objektumorientált elemzés és tervezés Dinamikus modellezés.
Műveletek logaritmussal
Koordináta transzformációk
Utófeszített vasbeton lemez statikai számítása Részletes számítás
A tételek eljuttatása az iskolákba
OBJEKTUMORIENTÁLT PROGRAM
Szoftverfejlesztés és szolgáltatás kiszervezés Folyamatjavítási mérföldkövek a világon és Magyaroszágon Bevezető gondolatok Dr. Biró Miklós.
Vizuális modellezés Uml és osztálydiagram UML eszközök
Elektronikai Áramkörök Tervezése és Megvalósítása
Elektronikai Áramkörök Tervezése és Megvalósítása
Elektronikai Áramkörök Tervezése és Megvalósítása
Ember László XUBUNTU Linux (ami majdnem UBUNTU) Ötödik nekifutás 192 MB RAM és 3 GB HDD erőforrásokkal.
Védőgázas hegesztések
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
Szerkezeti elemek teherbírásvizsgálata összetett terhelés esetén:
6. Előadás Merevítő rendszerek típusok, szerepük a tervezésben
Darupályák tervezésének alapjai
NOVÁK TAMÁS Nemzetközi Gazdaságtan
DRAGON BALL GT dbzgtlink féle változat! Illesztett, ráégetett, sárga felirattal! Japan és Angol Navigáláshoz használd a bal oldali léptető elemeket ! Verzio.
Objektum Vezérelt Szoftverek Analízise Ferenc Rudolf és Beszédes Árpád Szegedi Tudományegyetem FrontEndART.
Lineáris egyenletrendszerek (Az evolúciótól a megoldáshalmaz szerkezetéig) dr. Szalkai István Pannon Egyetem, Veszprém /' /
Objektumok. Az objektum információt tárol, és kérésre feladatokat hajt végre. Az objektum adatok (attribútumok) és metódusok (operációk,műveletek) összessége,
Vámossy Zoltán 2004 (H. Niemann: Pattern Analysis and Understanding, Springer, 1990) DIP + CV Bevezető II.
1Objektumorientált elemzés és tervezés - Alapfogalmak Gyurkó György Objektumorientált elemzés és tervezés Alapfogalmak.
Objektumorientált tervezés és programozás II. 3. előadás
Matematikai alapok és valószínűségszámítás
szakmérnök hallgatók számára
2. A KVANTUMMECHANIKA AXIÓMÁI 1. Erwin Schrödinger: Quantisierung als Eigenwertproblem (1926) 2.
Exponenciális egyenletek
Kerékpártároló átadás
Logikai szita Izsó Tímea 9.B.
2007. május 22. Debrecen Digitalizálás és elektronikus hozzáférés 1 DEA: a Debreceni Egyetem elektronikus Archívuma Karácsony Gyöngyi DE Egyetemi és Nemzeti.
VARIÁCIÓK ISMÉTLÉS NÉLKÜLI ESET DEFINÍCIÓ
A pneumatika alapjai A pneumatikában alkalmazott építőelemek és működésük vezérlő elemek (szelepek)
© 2005 The Gallup Organization T HE G ALLUP O RGANIZATION Országos Kreditmonitoring vizsgálat az oktatók körében - ábrasor
Csurik Magda Országos Tisztifőorvosi Hivatal
A klinikai transzfúziós tevékenység Ápolás szakmai ellenőrzése
2006. május 15P2P hálózatok 1 Fóliák a vizsgára: 1. előadás  Bevezető: 11-16, 21,  Usenet: előadás:  Bevezető: 3-8  Napster: 
2006. Peer-to-Peer (P2P) hálózatok Távközlési és Médiainformatikai Tanszék.
QualcoDuna interkalibráció Talaj- és levegövizsgálati körmérések évi értékelése (2007.) Dr. Biliczkiné Gaál Piroska VITUKI Kht. Minőségbiztosítási és Ellenőrzési.
Objektumvezérelt rendszerek tervezése 4.óra – Composite, Decorator © Fülöp Lajos.
1. Melyik jármű haladhat tovább elsőként az ábrán látható forgalmi helyzetben? a) A "V" jelű villamos. b) Az "M" jelű munkagép. c) Az "R" jelű rendőrségi.
Virtuális Méréstechnika Sub-VI és grafikonok 1 Makan Gergely, Vadai Gergely v
Mérés és adatgyűjtés laboratóriumi gyakorlat - levelező Sub-VI és grafikonok 1 Mingesz Róbert V
Objektumvezérelt rendszerek tervezése
Adamkó Attila UML2 Adamkó Attila
1 TANULÁSI TÍPUS TESZT.
Gyurkó György. Az állapotmodellezés célja Általánosságban ugyanaz, mint a többi dinamikus modellezési technikáé: Jobban megismerni a problémát. Finomítani.
A KÖVETKEZŐKBEN SZÁMOZOTT KÉRDÉSEKET VAGY KÉPEKET LÁT SZÁMOZOTT KÉPLETEKKEL. ÍRJA A SZÁMOZOTT KÉRDÉSRE ADOTT VÁLASZT, VAGY A SZÁMOZOTT KÉPLET NEVÉT A VÁLASZÍV.
előadások, konzultációk
Gyurkó György. Az OO programozás és tervezés története 1960-as évek: SIMULA (véletlen folyamatokat szimuláló programok írása) az OO nyelvek őse 1970-es.
1Objektumorientált elemzés és tervezés – Dinamikus modellezés Gyurkó György Objektumorientált elemzés és tervezés Dinamikus modellezés.
1 Objektum orientált programozás Az objektumok és az osztályok – példányosodás Nagy Szilvia.
A szoftver mint komplex rendszer: objektumorientált megközelítés.
Szemantikai adatmodellek
Előadás másolata:

Made with OpenOffice.org 1 ANALYSIS PATTERNS MARTIN FOWLER ANALYSIS PATTERNS Általános ismertető és Accountability Patterns ELTE, Herczeg István

Made with OpenOffice.org 2 ANALYSIS PATTERNS Mi az a 'ANALYSIS PATTERN' ? Mi az a minta? MF minta (pattern) definíciója: A minta egy ötlet amely hasznos egy gyakorlati kontextusban és valószínűleg hasznos lesz másnak is. Miről szól a könyv: A rendszer analízisben fellelhető mintákról szól. Mintákról, melyek az üzleti folyamatok struktúráját tükrözik és nem annyira azok szoftver implementációját.

Made with OpenOffice.org 3 ANALYSIS PATTERNS Néhány érdekesség MF nem hallgatóknak ajánlja a könyvet. A nagyok is áldásukat adták a könyvhöz: Ralph Johnson, Erich Gamma (két GoF) Sommás kijelentések: Modelling Principle Például: A minták kezdőpontok, nem célok.

Made with OpenOffice.org 4 ANALYSIS PATTERNS Fogalmi modellek (1) TERVEZÉS (Design) és ELEMZÉS (Analysis) OO alapelv: a szoftver struktúrája tükrözi a probléma struktúráját. Az alapelv eredményeként a tervezés és elemzés szándékosan nagyon hasonló eredményt ad. Ez félrevezetheti az embereket, azt gondolva hogy a tervezés és az elemzés ugyanaz!

Made with OpenOffice.org 5 ANALYSIS PATTERNS Fogalmi modellek (2) Miről szól az elemzés?   Megérteni a problémát   Megérteni a használati eseteket   A probléma modellezése, egyszerűsítése   A modell megalkotása Modelling Principle: A modellek nem jók, nem rosszak; kevésbé vagy jobban használhatók.

Made with OpenOffice.org 6 ANALYSIS PATTERNS Fogalmi modellek (3) Miről szól a tervezés ? (wikipedia) A rendszer   architektúrájának   komponenseinek   moduljainak   interfészeinek   adatainak meghatározása, melyek kielégítik a specifikált követelményeket.

Made with OpenOffice.org 7 ANALYSIS PATTERNS Fogalmi modellek (4) Akkor mi is az a fogalmi modell? Conceptual modell – human artifact Mentális modellek, melyek segítenek megérteni és egyszerűsíteni egy problémát. Nem elég leírni a problémát, meg kell érteni. (snooker példa) Cél az egyszerűsítés. Lehetne egy modelling principle: Ne adj olyan flexibilitást, mely valószínűleg nem lesz felhasználva.

Made with OpenOffice.org 8 ANALYSIS PATTERNS Fogalmi modellek (5) A fogalmi modellek kifejezésének eszközei:   Programozási nyelvek előny: egyszerű verifikálhatóság hátrány: gyakran a nyelv korlátoz a terv kifejezésében   Tervezés / elemzés eszközei előny: a tervezésre koncentrálhatunk, a rajzok kifejezők, domain expert bevonása “essential”

Made with OpenOffice.org 9 ANALYSIS PATTERNS Fogalmi modellek (6) Az elemzés célja, hogy technológia független legyen. Ideálisan a fogalmi modellek teljesen függetlenek a technológiától. Modelling Principle: A fogalmi modellek az interfészekhez kapcsolódnak (típus), nem az implementációkhoz (osztályok). OO elv: interfész – implementáció szeparálása Azonban a gyakorlatban nehéz pontos határt vonni a kettő között.

Made with OpenOffice.org 10 ANALYSIS PATTERNS Minták (1) Nehéz egységes minta definíciót találni. A minták nem csak objektum-orientáltak lehetnek. David Hay (Modell Patterns: Conventions of Thought, 1996) adatmodell mintákról ír, relációs adatmodellt alkalmazva.

Made with OpenOffice.org 11 ANALYSIS PATTERNS Minták (2) Hogyan tárgyaljuk, hogyan írjuk le a mintákat ? Erre sincs egységes formátum. MF négy dolgot tart fontosnak, ezekkel írja le:   kontextus – ahol a minta hasznos   probléma - amire a minta kell   kényszerek – formálják a megoldást   megoldás – feloldja a kényszereket Ezek adják majd az elemzési minták definícióját.

Made with OpenOffice.org 12 ANALYSIS PATTERNS Minták (3) “A minta egy ötlet amely hasznos egy gyakorlati kontextusban és valószínűleg hasznos lesz másnak is.” Mit jelent részeiben MF minta definíciója: ötlet ötlet: a minta lehet bármi, pl. együttműködő objektumok csoportja gyakorlati kontextus: gyakorlati kontextus: a minta kifejlesztése valós projektek gyakorlati tapasztalatai alapján történt

Made with OpenOffice.org 13 ANALYSIS PATTERNS Minták (4) MF hogyan tárgyalja a mintákat? Minden minta gyakorlati esetből jön. Nem használ egységes struktúrát, ('heading' pl. probléma, cél, diagram, példa) amit mások használnak (mint GoF). Minden mintát az eredeti projektből “származtatva” szövegesen, ábrákkal, példákkal mutat be. A lehető legkevesebb absztrakciót alkalmaz. Katalógus szerű könyv.

Made with OpenOffice.org 14 ANALYSIS PATTERNS Minták (5) Milyen haszon származik a minták használatából? Triviális válasz: újra felhasználhatóság. Sajnos ez 'üzleti' szinten még nem látszik. (1996) Hogyan érhető el ez a cél? Common frameworks. MF vallja, hogy az üzleti framework-ök inkább absztrakt fogalmi folyamatok mentén szerveződnek majd. (vertikális osztály könyvtárak) A minták javaslatok, nem receptek.

Made with OpenOffice.org 15 ANALYSIS PATTERNS Minták (6) A minták azok a dolgok amiről a fejlesztők úgy gondolják hogy hasznosak lesznek egy másik kontextusban is. MF könyve még arról is szól: Supporting Patterns – támogató minták Hogyan valósulnak meg az elemzési minták. Mintánál megjegyzi, milyen projektből származik. Minden mintára ad kézzelfogható példát.

Made with OpenOffice.org 16 ANALYSIS PATTERNS Fogalmi modellek és BPR Üzleti modellezés – process engineering – BPR Egy jó elemzőnek tudnia kell: a meglévő folyamatok automatizálása nem elég, a számítógépek által lehetővé válik a dolgokat másképp csinálni. MF modellei (mintái) inkább az üzleti folyamatokról szólnak, mint a szoftver tervezésről.

Made with OpenOffice.org 17 ANALYSIS PATTERNS Jelölések (1)

Made with OpenOffice.org 18 ANALYSIS PATTERNS Jelölések (2) Kérdés: Milyen az összefüggés az objektumok és a típusok között? Az objektumnak egy vagy több típusa lehet? (single, multiple classification) Fogalmilag kifejezőbb, ha az objektumnak több típusa lehet. A OO nyelvek inkább az egy típust támogatják. MF a fogalmi megközelítést szereti több típussal illusztrálni.

Made with OpenOffice.org 19 ANALYSIS PATTERNS Jelölések (2) Kérdés: Az objektum meg tudja-e változtatni saját típusát? A dinamikus klasszifikáció megengedi egy objektumnak, hogy megváltoztassa a típusát, míg a sztatikus nem. Az OO nyelvek a sztatikus klasszfikációt támogatják. MF a (fogalmi) dinamikus klasszifikációt szereti. “Megvilágítja a finom különbséget fogalmi és implementációs modell között”

Made with OpenOffice.org 20 ANALYSIS PATTERNS Jelölések (4)

Made with OpenOffice.org 21 ANALYSIS PATTERNS Jelölések (5)

Made with OpenOffice.org 22 ANALYSIS PATTERNS Gondoljunk egy kicsit az UML-re. Milyen jelölés felelhet meg az említett jelöléseknek? Interfészekkel dolgozunk, ami az osztályhoz hasonló, csak nincs implementáció. CLASS diagram, asszociáció:

Made with OpenOffice.org 23 ANALYSIS PATTERNS Típus öröklődés specializációval Polimorfizmus:   Statikus típus – deklaráció során   Dinamikus típus – végrehajtáskor Példa a dinamikus típusra: ha egy superclass példányának adjuk értékül a subclass egy példányát. Dinamikus összekapcsolás: a dinamikus típusnak megfelelő kiszámítási szabály hozzárendelése a taghoz a végrehajtás pillanatában.

Made with OpenOffice.org 24 ANALYSIS PATTERNS Általánosítás és specializáció (ugye még emlékszünk …) A modellalkotásban nem pontosan azonos a típusosztály esetén említett öröklődéssel. Általánosabb fogalom – klasszifikációs megközelítés. Lényege: először létrehozunk egy általános tulajdonságokkal bíró osztályt, melynek tulajdonságait átvéve származtatjuk a speciálisabb tulajdonságokkal rendelkező osztályt. Származtatás - “is kind of” reláció. Többszörös öröklődés is megengedhető.

Made with OpenOffice.org 25 ANALYSIS PATTERNS Accountability csoportba tartozó minták (1) Party Személy vagy szervezet szupertípusa Organization Hierarchies Egyszerű szervezet Organization Structure Komplex szervezet Accountability Party és az Organization Sturcture kombinációja

Made with OpenOffice.org 26 ANALYSIS PATTERNS Accountability csoportba tartozó minták (2) Accountability Knowledge Level Komplex felelősségek ábrázolása Party Type Generalization Party általánosítása Hierarchic Accountability Szigorú hierarchiába tartozó felek közötti kapcsolat

Made with OpenOffice.org 27 ANALYSIS PATTERNS Accountability csoportba tartozó minták (3) Operating scope Mint a felelősségi szerződés záradékai Post Összegyűjtött felelősségek Projekt A felelősségi modell az UK National Health Service Cosmos projektjében lett kifejlesztve.

Made with OpenOffice.org 28 ANALYSIS PATTERNS PARTY (1) – egy jó példa Elsőre ilyen modellt alkotnánk:

Made with OpenOffice.org 29 ANALYSIS PATTERNS Party (2) – jó megoldás

Made with OpenOffice.org 30 ANALYSIS PATTERNS Organizational Hierarchies (1) Egy lehetséges megoldás Probléma: nem felxibilis a terv. Ha a szervezet struktúrája változik, akkor meg kell változtatni az altípusokat és a szabályokat.

Made with OpenOffice.org 31 ANALYSIS PATTERNS Organizational Hierarchies (2) Jó megoldás:

Made with OpenOffice.org 32 ANALYSIS PATTERNS Organizational Hierarchies (3) A szervezet struktúráját belső szabályai határozzák meg:

Made with OpenOffice.org 33 ANALYSIS PATTERNS Organizational Structure (1)

Made with OpenOffice.org 34 ANALYSIS PATTERNS Organizational Structure (2)

Made with OpenOffice.org 35 ANALYSIS PATTERNS Tanulság Modelling Principle: Tervezz olyan modellt, hogy a leggyakoribb módosítások a modellen a legkevesebb típust módosítsák.

Made with OpenOffice.org 36 ANALYSIS PATTERNS Accountability (1)

Made with OpenOffice.org 37 ANALYSIS PATTERNS Tanulság Modelling Principle: Ha definiálsz attribútumokat (feature) egy típushoz, melynek van szupertípusa, fontold meg vajon az attribútum szupertípusba való elhelyezése értelmes-e.

Made with OpenOffice.org 38 ANALYSIS PATTERNS Accountability Knowledge Level (1)

Made with OpenOffice.org 39 ANALYSIS PATTERNS Tanulság Modelling Principle: Explicit módon válaszd szét a modelled ismeretek és tevékenységek szintjére.

Made with OpenOffice.org 40 ANALYSIS PATTERNS Party Type Generalization (1)

Made with OpenOffice.org 41 ANALYSIS PATTERNS Hierarchic Accountability (1)

Made with OpenOffice.org 42 ANALYSIS PATTERNS Hierarchic Accountability (2)

Made with OpenOffice.org 43 ANALYSIS PATTERNS Hierarchic Accountability (3)

Made with OpenOffice.org 44 ANALYSIS PATTERNS Operating Scopes

Made with OpenOffice.org 45 ANALYSIS PATTERNS Post

Made with OpenOffice.org 46 ANALYSIS PATTERNS THE END. Köszönöm a figyelmet!