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
2
Bevezető
Modellezés: központi fogalom az informatikában
Modell:o „a valóság egy részletének egyszerűsített képe”
Cél: komplexitás kezelése
3
Modellezés a gyakorlati életben?Pl.: [svéd cég] webes konyhatervezője
4
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!
5
Modellek lehetséges felhasználása
Rendszer
Modell 1
Modell N
…
Dokumentáció
Generálás
Ellenőrzés
Analízis
6
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
7
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
RendszerModell
absztrakció
konkretizáció
Metamodell
típusa
példánya
absztrakciós szintek
meta szintek
9
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
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
E/R diagram nyelve
12
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))
...
13
Példa: több szint használata, adatbázisok
E/R diagram
E/R diagram nyelve
SQL séma
SQL:2008 nyelv
14
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")...
15
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
16
Egyszerű adatmodellezés folyamata
Példány modellek építése, visszacsatolás
Metamodell
Kapcsolatok, tulajdonságok definiálása
Fogalmak összegyűjtése
17
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
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
21
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
22
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)…
23
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
24
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
25
UML elemkészlet (ismétlés)Osztálydiagram alap elemkészlet
Osztály
Asszociáció
Tulajdonság Öröklés
26
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ó
27
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 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
29
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!
30
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 tulajdonságokat 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 tulajdonság
32
DEMO
Eclipse UML2 Tools
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
Objektum
Osztály
UML metamodell
35
Összefoglalás
Modellezés, modellezés, modellezés
Megéri először modellezni
Adatmodellezés, metamodellezés szerepe
36
XML (Extensible Markup Language)
Kibocsátó: Word Wide Web Consortium (W3C)Megalkotók: Sun, Netscape, Microsoft…Verziók: XML 1.0 – 1998, aktuális: XML 1.1 – 2006Cél: strukturált adatok leírása
37
XML (ismétlés) Szabványos adatcsere nyelv
Jólformált XML (well-formed)
38
XML Séma Helyes XML (valid): sémának megfelel Séma nélkül nem ér semmit az XML! Tetszőlegesen sokszor
szerepelhet ez az elem
Attribútum használata kötelező