Intelligens rendszerfelgyelet VIMIA 370 IT rendszerek modellezse Micskei

  • Slides: 36
Download presentation
Intelligens rendszerfelügyelet (VIMIA 370) IT rendszerek modellezése Micskei Zoltán http: //mit. bme. hu/~micskeiz Budapesti

Intelligens rendszerfelügyelet (VIMIA 370) IT rendszerek modellezése Micskei Zoltán http: //mit. bme. hu/~micskeiz Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék 1

Bevezető § Modellezés: központi fogalom o életben, mérnöki tudományokban, informatikában… § Modell: o A

Bevezető § Modellezés: központi fogalom o életben, mérnöki tudományokban, informatikában… § Modell: o A „valóság” egy részletének egyszerűsített képe § Elvárások: o Leképezés, csökkentés, gyakorlatiasság 2

Absztrakció Modell készítésekor absztrakciót használunk Student name : String neptun : String in. Hostel

Absztrakció Modell készítésekor absztrakciót használunk Student name : String neptun : String in. Hostel : Boolean 3

Modellezés a gyakorlati életben? Pl. : [svéd cég] webes konyhatervezője 4

Modellezés a gyakorlati életben? Pl. : [svéd cég] webes konyhatervezője 4

Eddig használt modellezési nyelvek Digitális technika • automata Algoritmus • folyamatábra, pszeudo kód Adatbázis

Eddig használt modellezési nyelvek Digitális technika • automata Algoritmus • folyamatábra, pszeudo kód Adatbázis • E/R diagram OO program • UML diagram …. • …. Minden problémához a neki megfelelő nyelv és módszer kiválasztása! 5

Modellek lehetséges felhasználása Dokumentáció Modell 1 Generálás Rendszer … Ellenőrzés Analízis Modell N …

Modellek lehetséges felhasználása Dokumentáció Modell 1 Generálás Rendszer … Ellenőrzés Analízis Modell N … 6

Példa: modellek felhasználása Fizikai elhelyezkedés leírása Szerverterem Kábelezés, rack elrendezés Logikai hálózati topológia IP

Példa: modellek felhasználása Fizikai elhelyezkedés leírása Szerverterem Kábelezés, rack elrendezés Logikai hálózati topológia IP címek, hálózati beállítások Alkalmazások telepítése Szolgáltatások modellje 7

Modellezési nyelv § Milyen elemeket használhatunk a modellben? → metamodell (modellezési nyelv modellje) Típusa

Modellezési nyelv § Milyen elemeket használhatunk a modellben? → metamodell (modellezési nyelv modellje) Típusa – példánya kapcsolat • Sablon definiálása • Kényszerek, összefüggések 8

Kapcsolatok az egyes szintek között Metamodell típusa meta szintek példánya konkretizáció Rendszer Modell absztrakciós

Kapcsolatok az egyes szintek között Metamodell típusa meta szintek példánya konkretizáció Rendszer Modell absztrakciós szintek 9

Több metaszint használata m 3 Mindegyikre „modellként” hivatkozunk típusa példánya m 2 m 1

Több metaszint használata m 3 Mindegyikre „modellként” hivatkozunk típusa példánya m 2 m 1 -hez képest metamodell m 2 típusa példánya De m 2 m 3 -hoz képest példány modell m 1 10

Példa: több szint használata, adatbázisok E/R diagram 11

Példa: több szint használata, adatbázisok E/R diagram 11

Példa: több szint használata, adatbázisok E/R diagram nyelve E/R diagram 12

Példa: több szint használata, adatbázisok E/R diagram nyelve E/R diagram 12

Példa: több szint használata, adatbázisok E/R diagram nyelve E/R diagram CREATE TABLE student (

Példa: több szint használata, adatbázisok E/R diagram nyelve E/R diagram CREATE TABLE student ( id int NOT NULL, name char(50) ) SQL séma 13 . . .

Példa: több szint használata, adatbázisok E/R diagram nyelve SQL: 2008 nyelv E/R diagram SQL

Példa: több szint használata, adatbázisok E/R diagram nyelve SQL: 2008 nyelv E/R diagram SQL séma 14

Példa: több szint használata, adatbázisok E/R diagram nyelve SQL: 2008 nyelv E/R diagram SQL

Példa: több szint használata, adatbázisok E/R diagram nyelve SQL: 2008 nyelv E/R diagram SQL séma (1, "Micskei Zoltán") (2, "Szatmári Zoltán"). . . Rekordok 15

Példa: több szint használata, adatbázisok E/R diagram nyelve SQL: 2008 nyelv E/R diagram SQL

Példa: több szint használata, adatbázisok E/R diagram nyelve SQL: 2008 nyelv E/R diagram SQL séma Tábla bináris formában Rekordok Rekord bináris formában 16

Egyszerű adatmodellezés folyamata Fogalmak összegyűjtése Kapcsolatok, tulajdonságok definiálása Modell létrehozása Példány modellek építése, visszacsatolás

Egyszerű adatmodellezés folyamata Fogalmak összegyűjtése Kapcsolatok, tulajdonságok definiálása Modell létrehozása Példány modellek építése, visszacsatolás 17

Példa: IT topológia, rendszerterv § Hogyan írjunk le egy IT rendszert? § Fogalmak: gépek,

Példa: IT topológia, rendszerterv § Hogyan írjunk le egy IT rendszert? § Fogalmak: gépek, hálózatok, alkalmazások… 18

Kézi rajz 19

Kézi rajz 19

Visio ábra • Definiált elemek, de • Az információ még mindig strukturálatlan szöveg •

Visio ábra • Definiált elemek, de • Az információ még mindig strukturálatlan szöveg • Nem lehet ellenőrizni, feldolgozni 20

Visio ábra + adatkötés • Tulajdonsághalmaz definiálása • Értékek elemhez rendelése • Egységes kezelés

Visio ábra + adatkötés • Tulajdonsághalmaz definiálása • Értékek elemhez rendelése • Egységes kezelés 21

DEMO Visio + adatkötés § Tulajdonságok megadása elemekhez o Séma: adott elemtípushoz tartozó tulajdonságok

DEMO Visio + adatkötés § Tulajdonságok megadása elemekhez o Séma: adott elemtípushoz tartozó tulajdonságok § Tárolt és megjelenített adatok szétválasztása o Megjelenítési stílusok, különböző nézetek § Külső adatforrás kötése o Szinkronizáció 22

Szabványos modellezési nyelvek „Egy közös nyelvet beszéljünk” § Definiált: o elemkészlet o ábrázolásmód o

Szabványos modellezési nyelvek „Egy közös nyelvet beszéljünk” § Definiált: o elemkészlet o ábrázolásmód o jelentés o további kényszerek (absztrakt szintaxis) (konkrét szintaxis) (formális szemantika) (jólformáltsági szabályok) § Példa: UML (szoftverfejlesztés), SDL (telekom)… 23

UML (Unified Modeling Language) Kibocsátó: Megalkotók: Verziók: Cél: Object Management Group Rational, IBM, Oracle,

UML (Unified Modeling Language) Kibocsátó: Megalkotók: Verziók: Cél: Object Management Group Rational, IBM, Oracle, HP, Unisys… UML 1. 0 – 1997, aktuális: UML 2. 4. 1 – 2011 vizuális modellező nyelv 24

Unified Modeling Language (UML) § Korábbi OO módszerek egyesítése o UML 1. x: OO

Unified Modeling Language (UML) § Korábbi OO módszerek egyesítése o UML 1. x: OO rendszerek modellezése o UML 2. 0: általános, testreszabható nyelv § Struktúra: o osztály, objektum, komponens, telepítés § Viselkedés: o használati eset, állapotgép, aktivitás, interakció § Diagram ↔ Modell 25

UML elemkészlet (ismétlés) Osztálydiagram alap elemkészlet Asszociáció Attribútum Öröklés Osztály 26

UML elemkészlet (ismétlés) Osztálydiagram alap elemkészlet Asszociáció Attribútum Öröklés Osztály 26

UML elemkészlet (ismétlés) § Asszociáció o Navigálhatóság o Multiplicitás o Tartalmazás: Kompozíció / Aggregáció

UML elemkészlet (ismétlés) § Asszociáció o Navigálhatóság o Multiplicitás o Tartalmazás: Kompozíció / Aggregáció § Példány o Instance. Specification o Slot § Interfész o Szerződés (elvárt működés) o Javaslat: metódusokat adjon meg § Absztrakt osztály: nem példányosítható 27

UML elemkészlet (ismétlés) § Jelölések összefoglalása (a specifikációból): 28

UML elemkészlet (ismétlés) § Jelölések összefoglalása (a specifikációból): 28

UML elemkészlet (ismétlés) § Az eddigiek csak egy apró szelete az UML-nek § A

UML elemkészlet (ismétlés) § Az eddigiek csak egy apró szelete az UML-nek § A tárgyban főleg adatmodellezéssel foglalkozunk o Viselkedés leírása kevésbé hangsúlyos most § Az előbbi elemkészlet jobbára elég lesz 29

Részletek megjelenítése Attól függően, mire van szükség, többféle nézet: Mi tipikusan ezen a szinten

Részletek megjelenítése Attól függően, mire van szükség, többféle nézet: Mi tipikusan ezen a szinten mozgunk most! 30

Tipikus hibák adatmodellek esetén § Elnevezési koncepciók használata: o Pascal. Case, camel. Case; objektum

Tipikus hibák adatmodellek esetén § Elnevezési koncepciók használata: o Pascal. Case, camel. Case; objektum név inkább kis kezdőbetű, ékezet ne legyen benne § Asszociációhoz nem kell attribútumokat felvenni, ez egy implementációs részlet § Különböző példányoknak ne legyen ugyanaz a neve § Példány szinten nem kell jelölni a kompozíciót § Interfészben ne legyen attribútum 31

DEMO UML osztálydiagram Eclipse-ben § Eclipse UML 2 komponens § UML 2 modell létrehozása

DEMO UML osztálydiagram Eclipse-ben § Eclipse UML 2 komponens § UML 2 modell létrehozása o absztrakt szintaxis § Osztály diagram rajzolása a modellhez § Tulajdonságok, kapcsolatok, öröklődés 32

UML: absztrakt és konkrét szintaxis Konkrét Absztrakt 33

UML: absztrakt és konkrét szintaxis Konkrét Absztrakt 33

UML metaszintek Forrás: UML Infrastructure specification 2. 4. 1, p. 20 34

UML metaszintek Forrás: UML Infrastructure specification 2. 4. 1, p. 20 34

További információ § Kirill Fakhroutdinov. UML Diagrams. website, URL: http: //www. uml-diagrams. org/ o

További információ § Kirill Fakhroutdinov. UML Diagrams. website, URL: http: //www. uml-diagrams. org/ o Jó webes összefoglaló az UML-ről, sok példával § J. Ludewig. „Models in software engineering – an introduction”. Software and Systems Modeling 2(1), 2003, pp. 5– 14. DOI: 10. 1007/s 10270 -003 -0020 -3 o Egy olvasmányosabb cikk arról, hogy mi a szerepük a modelleknek szoftver rendszerekben § Jean Bézivin. “On the unification power of models”. Software and Systems Modeling 4(2), 2005, pp. 171– 188. DOI: 10. 1007/s 10270 -005 -0079 -0 o Tudományos cikk modellekről, metamodellekről 35

Összefoglalás § Modellezés, modellezés § Megéri először modellezni § Adatmodellezés, metamodellezés szerepe 36

Összefoglalás § Modellezés, modellezés § Megéri először modellezni § Adatmodellezés, metamodellezés szerepe 36