1 Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék IT rendszerek modellezése Micskei Zoltán 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 automata Digitális technika folyamatábra, pszeudo kód Algoritmus E/R diagram Adatbázis UML diagram OO 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 Rendszer Modell absztrakció konkretizáció Metamodell típusa példánya absztrakciós szintek meta szintek
9 Több metaszint használata m3m3 m3m3 típusa példánya m2m2 m2m2 m1m1 m1m1 típusa példánya Mindegyikre „modellként” hivatkozunk m 2 m 1 -hez képest metamodell De m 2 m 3 -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) )... 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")... (1, "Micskei Zoltán") (2, "Szatmári Zoltán")...
15 Példa: több szint használata, adatbázisok E/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 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 Tulajdonsághalmaz definiálása Értékek elemhez rendelése Egységes kezelés
21 DEMO 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ó 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 Group Megalkotók: Rational, IBM, Oracle, HP, Unisys… Verziók: UML 1.0 – 1997, aktuális: UML – 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é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 Osztály Asszociáció Tulajdonság Öröklés
26 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 InstanceSpecification 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) 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 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
31 DEMO Új modell létrehozása o Paletta bekapcsolása Új diagram hozzáadása o Outline nézet / jobb gomb a modellen / Add a diagram Osztályok, attribútumok létrehozása o Tulajdonságok típusa: UMLPrimitiveTypes Példányok: o Nincs külön diagram, használjunk osztálydiagramot o Link: Ne Link elemet, hanem az Instance specification link elemet használjuk Abstrakt szintaxis megnézése UML 2 modellezés Papyrusban
32 DEMO Eclipse UML2 Tools UML2 modell létrehozása o 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étAbsztrakt
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 – 2006 Cé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ő