Upload
russell-cochran
View
28
Download
2
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
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)
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
3
Absztrakció Modell készítésekor absztrakciót használunk
Student
name : String neptun : String inHostel : Boolean
4
Modellezés a gyakorlati életben?Pl.: [svéd cég] webes konyhatervezője
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!
6
Modellek lehetséges felhasználása
Rendszer
Modell 1
Modell N
…
Dokumentáció
Generálás
Ellenőrzés
Analízis
…
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
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
9
Kapcsolatok az egyes szintek között
RendszerModell
absztrakció
konkretizáció
Metamodell
típusa
példánya
absztrakciós szintek
meta szintek
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
11
Példa: több szint használata, adatbázisok
E/R diagram
12
Példa: több szint használata, adatbázisok
E/R diagram
E/R diagram nyelve
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))
...
14
Példa: több szint használata, adatbázisok
E/R diagram
E/R diagram nyelve
SQL séma
SQL:2008 nyelv
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")...
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
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
18
Példa: IT topológia, rendszerterv
Hogyan írjunk le egy IT rendszert?
Fogalmak: gépek, hálózatok, alkalmazások…
19
Kézi rajz
20
Visio ábra
• Definiált elemek, de• Az információ még mindig strukturálatlan szöveg• Nem lehet ellenőrizni, feldolgozni
21
Visio ábra + adatkötés
• Tulajdonsághalmaz definiálása• Értékek elemhez rendelése• Egységes kezelés
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
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)…
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
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
26
UML elemkészlet (ismétlés)Osztálydiagram alap elemkészlet
Osztály
Asszociáció
Attribútum Öröklés
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ó
28
UML elemkészlet (ismétlés) Jelölések összefoglalása (a specifikációból):
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
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!
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
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
33
UML: absztrakt és konkrét szintaxis
Konkrét Absztrakt
34
UML metaszintek
Forrás: UML Infrastructure specification 2.4.1, p. 20
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
36
Összefoglalás
Modellezés, modellezés, modellezés
Megéri először modellezni
Adatmodellezés, metamodellezés szerepe