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

IT rendszerek modellezése

Embed Size (px)

DESCRIPTION

Intelligens rendszerfelügyelet (VIMIA370). IT rendszerek modellezése. Micskei Zoltán http://mit.bme.hu/~micskeiz. Bevezető. Modellezés: központi fogalom életben, mérnöki tudományokban, informatikában… Modell: A „valóság” egy részletének egyszerűsített képe Elvárások: - PowerPoint PPT Presentation

Citation preview

Page 1: IT rendszerek modellezése

1Budapesti Műszaki és Gazdaságtudományi EgyetemMéréstechnika és Információs Rendszerek Tanszék

IT rendszerek modellezése

Micskei Zoltánhttp://mit.bme.hu/~micskeiz

Intelligens rendszerfelügyelet (VIMIA370)

Page 2: IT rendszerek modellezése

2

Bevezető

Modellezés: központi fogalomo é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

Page 3: IT rendszerek modellezése

3

Absztrakció Modell készítésekor absztrakciót használunk

Student

name : String neptun : String inHostel : Boolean

Page 4: IT rendszerek modellezése

4

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

Page 5: IT rendszerek modellezése

5

Eddig használt modellezési nyelvek

• automataDigitális technika

• folyamatábra, pszeudo kódAlgoritmus

• E/R diagramAdatbázis

• UML diagramOO program

• ….….

Minden problémához a neki megfelelő nyelv és módszer kiválasztása!

Page 6: IT rendszerek modellezése

6

Modellek lehetséges felhasználása

Rendszer

Modell 1

Modell N

Dokumentáció

Generálás

Ellenőrzés

Analízis

Page 7: IT rendszerek modellezése

7

Példa: modellek felhasználása

Szerver-terem

Fizikai elhelyezkedés

leírása

Logikai hálózati

topológia

Kábelezés, rack elrendezés

IP címek, hálózati beállítások

Szolgáltatások modellje

Alkalmazások telepítése

Page 8: IT rendszerek modellezése

8

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

Page 9: IT rendszerek modellezése

9

Kapcsolatok az egyes szintek között

RendszerModell

absztrakció

konkretizáció

Metamodell

típusa

példánya

absztrakciós szintek

meta szintek

Page 10: IT rendszerek modellezése

10

Több metaszint használata

m3

típusa

példánya

m2

m1

típusa

példánya

Mindegyikre „modellként” hivatkozunk

m2 m1-hez képest metamodell

De m2 m3-hoz képest példány modell

Page 11: IT rendszerek modellezése

11

Példa: több szint használata, adatbázisok

E/R diagram

Page 12: IT rendszerek modellezése

12

Példa: több szint használata, adatbázisok

E/R diagram

E/R diagram nyelve

Page 13: IT rendszerek modellezése

13

Példa: több szint használata, adatbázisok

E/R diagram

E/R diagram nyelve

SQL séma

CREATE TABLE student ( id int NOT NULL, name char(50))

...

Page 14: IT rendszerek modellezése

14

Példa: több szint használata, adatbázisok

E/R diagram

E/R diagram nyelve

SQL séma

SQL:2008 nyelv

Page 15: IT rendszerek modellezése

15

SQL:2008 nyelv

Példa: több szint használata, adatbázisok

E/R diagram

E/R diagram nyelve

SQL séma

Rekordok

(1, "Micskei Zoltán")(2, "Szatmári Zoltán")...

Page 16: IT rendszerek modellezése

16

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

nyelve

E/R diagram SQL séma

Rekordok

Tábla bináris formában

Rekord bináris formában

SQL:2008 nyelv

Page 17: IT rendszerek modellezése

17

Egyszerű adatmodellezés folyamata

Példány modellek építése, visszacsatolás

Modell létrehozása

Kapcsolatok, tulajdonságok definiálása

Fogalmak összegyűjtése

Page 18: IT rendszerek modellezése

18

Példa: IT topológia, rendszerterv

Hogyan írjunk le egy IT rendszert?

Fogalmak: gépek, hálózatok, alkalmazások…

Page 19: IT rendszerek modellezése

19

Kézi rajz

Page 20: IT rendszerek modellezése

20

Visio ábra

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

Page 21: IT rendszerek modellezése

21

Visio ábra + adatkötés

• Tulajdonsághalmaz definiálása• Értékek elemhez rendelése• Egységes kezelés

Page 22: IT rendszerek modellezése

22

DEMO

Tulajdonságok megadása elemekhezo Séma: adott elemtípushoz tartozó tulajdonságok

Tárolt és megjelenített adatok szétválasztásaoMegjelenítési stílusok, különböző nézetek

Külső adatforrás kötéseo Szinkronizáció

Visio + adatkötés

Page 23: IT rendszerek modellezése

23

Szabványos modellezési nyelvek„Egy közös nyelvet beszéljünk”

Definiált:o elemkészlet (absztrakt szintaxis)o ábrázolásmód (konkrét szintaxis)o jelentés (formális szemantika)o további kényszerek (jólformáltsági

szabályok)

Példa: UML (szoftverfejlesztés), SDL (telekom)…

Page 24: IT rendszerek modellezése

24

UML (Unified Modeling Language)Kibocsátó: Object Management GroupMegalkotók: Rational, IBM, Oracle, HP, Unisys…Verziók: UML 1.0 – 1997, aktuális: UML 2.4.1 – 2011 Cél: vizuális modellező nyelv

Page 25: IT rendszerek modellezése

25

Unified Modeling Language (UML) Korábbi OO módszerek egyesítése

o UML 1.x: OO rendszerek modellezéseo 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

Page 26: IT rendszerek modellezése

26

UML elemkészlet (ismétlés)Osztálydiagram alap elemkészlet

Osztály

Asszociáció

Attribútum Öröklés

Page 27: IT rendszerek modellezése

27

UML elemkészlet (ismétlés) Asszociáció

o Navigálhatóságo Multiplicitáso Tartalmazás: Kompozíció / Aggregáció

Példányo InstanceSpecificationo Slot

Interfészo Szerződés (elvárt működés)o Javaslat: metódusokat adjon meg

Absztrakt osztály: nem példányosítható

Page 28: IT rendszerek modellezése

28

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

Page 29: IT rendszerek modellezése

29

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

A tárgyban főleg adatmodellezéssel foglalkozunko Viselkedés leírása kevésbé hangsúlyos most

Az előbbi elemkészlet jobbára elég lesz

Page 30: IT rendszerek modellezése

30

Részletek megjelenítéseAttól függően, mire van szükség, többféle nézet:

Mi tipikusan ezen a szinten mozgunk most!

Page 31: IT rendszerek modellezése

31

Tipikus hibák adatmodellek esetén Elnevezési koncepciók használata:

o PascalCase, camelCase; 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

Page 32: IT rendszerek modellezése

32

DEMO

Eclipse UML2 komponens

UML2 modell létrehozásao absztrakt szintaxis

Osztály diagram rajzolása a modellhez

Tulajdonságok, kapcsolatok, öröklődés

UML osztálydiagram Eclipse-ben

Page 33: IT rendszerek modellezése

33

UML: absztrakt és konkrét szintaxis

Konkrét Absztrakt

Page 34: IT rendszerek modellezése

34

UML metaszintek

Forrás: UML Infrastructure specification 2.4.1, p. 20

Page 35: IT rendszerek modellezése

35

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/s10270-003-0020-3o 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/s10270-005-0079-0o Tudományos cikk modellekről, metamodellekről

Page 36: IT rendszerek modellezése

36

Összefoglalás

Modellezés, modellezés, modellezés

Megéri először modellezni

Adatmodellezés, metamodellezés szerepe