Strukturális modellezés Rendszermodellezés 2017.02.15. Budapesti Műszaki és Gazdaságtudományi Egyetem Hibatűrő Rendszerek Kutatócsoport Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék 1
Tudnivalók Gyakorlatra: színes tollak/ceruzák Jegyzet: https://inf.mit.bme.hu/edu/courses/remo/ o Részletes definíciók, példák, szójegyzék o Mobiltelefonon és tableten is olvasható 2
Miről lesz szó? Struktúra modellezés célja, alkalmazásai Dekompozíció Modell elemek leírása gráfokkal Tulajdonságok 3
Célok, alkalmazások Dekompozíció Gráfok Tulajdonságok STATIKUS MODELLALKOTÁS Hogyan modellezzük összetett rendszerek felépítését áttekinthető módon? Pl. Építészet I épület Céges hálózat 4
Definíció: Strukturális modell A strukturális modell statikus. Kiindulópontja egy (rész)rendszer, amelyet a része reláció mentén alkotórészekre bont. Az alkotórészek lehetnek: tovább bontott részrendszerek vagy tovább nem bontott (elemi) komponensek. A strukturális modell a rendszer felépítését (struktúráját) az alkotórészei, azok tulajdonságai és egymással való viszonya alapján reprezentálja. 5
Építészeti modellek BIM (Building Information Model) Épületek modellezése egy közös modellben Nézetek o Gázvezetékek o Szigetelés o Vízvezetékek és csatorna o Villamossági terv o Stb. 6
Gázvezetékek 7
Szigetelés 8
Vízvezeték és csatorna 9
Villamossági terv 10
Strukturális modellezés célja Rendszer részekre bontása o Kisebb egységeket könnyebb megtervezni o Részegységek felhasználása o Általános célú komponensek használata Létező rendszer dokumentálása o Rendszertérkép Adatszerkezet megalkotása o Milyen információt kezelünk? 11
Robotporszívó Hajtómű Vezérlő Porszívó 12
Felépítési és viselkedési modellezés Felépítési (structural) o Statikus o Rész és egész, összetevők o Kapcsolatok, összeköttetések Viselkedési (behavioral) o Dinamikus o Időbeli lefolyás o Állapot, folyamat o Reakciók a külvilágra A robotporszívó főbb részei a vezérlő, a hajtómű, és a porszívó. A hajtómű jobbra parancs hatására átvált kanyarodás üzemmódba A robotporszívóban a szenzorok jeleit fogadva a hajtómű beavatkozik (mikor/hogyan?) Nem fed le mindent, nem válik élesen szét 13
Strukturális modell A rendszer felépítésére vonatkozó tudás o Milyen elemekből áll a rendszer? o Hogyan kapcsolódnak egymáshoz az elemek? o Milyen tulajdonságúak az elemek? 14
Példa: (céges) hálózat Router Internet Firewall Smartphone Switch Server Workstation Wifi Laptop Smartphone Workstation Workstation Printer 15
Példa: (céges) hálózat Van-e egyszeres hibapont a rendszerben? Router Internet Firewall Smartphone Server Túlterhelt a wifi, hány gép van rajta? Switch Workstation Wifi Laptop Elérhető-e az internet? Smartphone Milyen elemekből áll a hálózat? Workstation Workstation Printer 16
Célok, alkalmazások Dekompozíció Gráfok Tulajdonságok STRUKTURÁLIS DEKOMPOZÍCIÓ Milyen tartalmazási viszonyok vannak az egyes részrendszerek között? Pl. Robotporszívó Okmányiroda 17
Definíció: Dekompozíció A strukturális modell statikus. Kiindulópontja egy (rész)rendszer, amelyet a része reláció mentén alkotórészekre bont. A dekompozíció ( faktoring ) egy összetett probléma vagy rendszer kisebb részekre bontása, amelyek könnyebben érthetők, fejleszthetők és karbantarthatók. Hierarchikus dekompozíció: o Többlépcsős rész-egész viszony Része reláció tartalma szerint: o Fizikai dekompozíció: része = térbeli tartalmazás o Logikai dekompozíció: pl. része = funkció 18
Fizikai dekompozíció o Milyen alkatrész? Dekompozíció típusai Logikai dekompozíció funkciók szerint o Mit csinál? Feltérképező és navigáló alrendszer Robotporszívó Tisztító alrendszer Monitorozó alrendszer Mozgásért felelős alrendszer Szenzor alrendszer 19
Definíció: Dekompozíció helyessége Egy dekompozíció helyes, ha a dekompozícióval kapott rendszer minden elemének megfeleltethető az eredeti rendszer valamelyik eleme, és az eredeti rendszer minden eleméhez hozzárendelhető a dekompozícióval kapott rendszer legalább egy eleme. 20
Top-down tervezés Alaplépés: dekompozíció Okmányirodai munkahely Számítástechnikai eszközök PC munkaállomás Kábelezés POS terminál Okmánynyomtató Monitor Egér Billentyűzet Asztali gép Fotófülke Épített környezet Paraván Szék Íróasztal Ügyfélablak Fények Kamera Szék Zárható fiók 21
Alaplépés: kompozíció Közösségi háló Bottom-up tervezés Kiszolgáló infrastruktúra Szerveroldali szoftver Webszerver DB szerver Adatbázis Alkalmazás Statikus tartalomkiszolgáló Hirdetések Felügyelet Webes felület Felületterv (UX) Mobil felület Grafika Dinamika (JS) 22
Top-down és bottom-up Top-down Részrendszer tervezésekor a szerepe már ismert Félidőben még nincsenek működő részek Részek problémái, igényei későn derülnek ki Bottom-up Alrendszer önmagában kipróbálható, tesztelhető Részleges készültségnél is összeépíthető valami Nem látszik előre a rész szerepe az egészben (Nem csak strukturális modellezésben ) Vegyes megközelítés, iteratív fejlesztés Rendszer Alrendszerek Alrendszerek alrendszerei Rendszer Alrendszerek Alrendszerek alrendszerei 23
Célok, alkalmazások Dekompozíció Gráfok Tulajdonságok STRUKTURÁLIS MODELLEK Hogyan viszonyulnak egymáshoz az egyes részrendszerek, komponensek? Pl. Úthálózat Fájlrendszer 24
Gráf reprezentáció Emberi gondolkodásmód: dolgok kapcsolata o dolgok: személyek, repülőterek, területek o kapcsolata: függőség, ismeretség, repülőjárat, része Matematikai formalizmus: gráf o csomópontok o élek o (tulajdonságok) XMind 25
Definíciók az informatikában Az informatikában mindennek több, gyakran egymásnak ellentmondó definíciója van o rendszer =? o modell =? Gyakran ugyanarra a fogalomra több nevével is hivatkozunk o csomópont, csúcs, pont, objektum (node, vertex, object, concept) o él, összeköttetés, kapcsolat (edge, link, arc, connection, relationship) Egyet válasszunk! 26
Budapest kötöttpályás közlekedés Deák Ferenc tér Astoria Blaha Lujza tér Ferenciek tere Kálvin-tér Rákóczi tér M2 M3 Corvin-negyed M4 4-6 Boráros tér 27
Budapest kötöttpályás közlekedés Deák Ferenc tér 2 2 Astoria 1 Blaha Lujza tér M2 M3 M4 4-6 Ferenciek tere 1 Kálvin-tér 1 2 3 2 Rákóczi tér 2 Corvin-negyed Boráros tér legrövidebb út? 28
Szűrés: élcímke szerint (részgráf) Pl. csak a metróhálózatot szeretnénk nézni Deák Ferenc tér Astoria Blaha Lujza tér M2 Ferenciek tere Kálvin-tér Rákóczi tér M3 M4 Corvin-negyed Boráros tér Hova lehet eljutni metróval? 29
Budapest V. kerülete LIPÓTVÁROS BELVÁROS 30
Budapest V. kerülete hierarchikus modell Kossuth Lajos tér LIPÓTVÁROS Deák Ferenc tér Lipótváros V. kerület Belváros BELVÁROS Ferenciek tere Deák Ferenc tér Kossuth Lajos tér Ferenciek tere 31
Egyszerű gráfok Deák Ferenc tér közlekedési hálózat: irányítatlan gráf területek: irányított gráf Ferenciek tere Astoria Kálvin-tér Blaha Lujza tér hogyan alakítható irányítottá? Rákóczi tér Lipótváros V. Kerület Belváros Corvin-negyed Boráros tér 32 Deák Ferenc tér Kossuth Lajos tér Ferenciek tere
Egyszerű gráfok Deák Ferenc tér Astoria Blaha Lujza tér V. Kerület Ferenciek tere Kálvin-tér Rákóczi tér Lipótváros Belváros Corvin-negyed Boráros tér 33 Deák Ferenc tér Kossuth Lajos tér Ferenciek tere
Típusos gráfok Deák Ferenc tér Astoria Blaha Lujza tér V. kerület Ferenciek tere Kálvin-tér Rákóczi tér VIII. kerület Budapest Corvin-negyed IX. kerület Boráros tér 34
Grafikus felhasználó felület Fa struktúra ábrázolása o Gráfként o Bennfoglaló ábrázolás Window Menu Main View Edit Help Display Degrad MC 35 Degrees Radians Grads
Fastruktúra ábrázolása fájlrendszer C: \Dokumentumok \Kepek \logo.png \alaprajz.jpg \szerzodes.pdf \Drivers Mennyi tárhely szabadul fel a Dokumentumok könyvtár törlésével? 36
Fájlrendszer jellemzői Mennyi tárhely szabadul fel a Dokumentumok könyvtár törlésével? Ehhez szükségünk van a fájlok egyes leíróinak pontos ismeretére. Név Típus Méret (kb) Utolsó módosítás Dokumentumok könyvtár 2/2/2016 szerződés.pdf fájl 569 11/9/2015 Képek könyvtár 2/2/2016 logó.png fájl 92 3/6/2015 alaprajz.jpg fájl 1226 2/2/2016 Ezen információk, és a fájlhierarchia együttes ismeretével megválaszolható a kérdés. 37
Célok, alkalmazások Dekompozíció Gráfok Tulajdonságok TULAJDONSÁGOK MODELLEZÉSE Milyen jellemzői vannak az egyes komponenseknek? Pl. Táblázatok Adatbázisok 38
Definíció: Tulajdonság A modell elemeinek tulajdonságait is jellemezhetjük. A tulajdonság egy a modell elemein értelmezett függvény, amelyet a modellelemeken értelmezünk, parciális (lehet kitöltetlen), értékkészlete a tulajdonságok értékeinek halmaza. 39
Táblázatos ábrázolás Táblázat sora = modellelem Táblázat oszlopa = tulajdonság Név Típus Méret (kb) Utolsó módosítás Dokumentumok könyvtár 2016.02.02 szerződés.pdf fájl 569 2015.11.09 Képek könyvtár 2016.02.02 logó.png fájl 92 2015.03.06 alaprajz.jpg fájl 1226 2016.02.02 NULL / NA attribútumok 40
Definíció: Szűrés A szűrés művelet során a modell elemein kiértékelünk egy szűrési feltételt, azt a részmodellt tartjuk meg, amelynek elemei megfelelnek a feltételnek. o Típus = "fájl" o Méret > 1000 kb Név Típus Méret (kb) Utolsó módosítás szerződés.pdf fájl 569 2015.11.09 logó.png fájl 92 2015.03.06 alaprajz.jpg fájl 1226 2016.02.02 Név Típus Méret (kb) Utolsó módosítás alaprajz.jpg fájl 1226 2016.02.02 41
Definíció: Vetítés Vetítés során a modell egyes jellemzőit kiválasztjuk és a többit elhagyjuk Név Típus Méret (kb) Utolsó módosítás Dokumentumok könyvtár 2016.02.02 szerződés.pdf fájl 569 2015.11.09 Képek könyvtár 2016.02.02 logó.png fájl 92 2015.03.06 alaprajz.jpg fájl 1226 2016.02.02 Név Méret (kb) Vetítés: {Név, Méret} Dokumentumok szerződés.pdf 569 Képek logó.png 92 alaprajz.jpg 1226 42
ÖSSZEFOGLALÁS 43
Definíció: Strukturális modell A strukturális modell statikus. Kiindulópontja egy (rész)rendszer, amelyet a része reláció mentén alkotórészekre bont. Az alkotórészek lehetnek: tovább bontott részrendszerek vagy tovább nem bontott (elemi) komponensek. A strukturális modell a rendszer felépítését (struktúráját) az alkotórészei, azok tulajdonságai és egymással való viszonya alapján reprezentálja. 44
Példa: (céges) hálózat Router Internet Firewall Smartphone Switch Server Workstation Wifi Laptop Smartphone Workstation Workstation Printer 45
Definíció: Dekompozíció A strukturális modell statikus. Kiindulópontja egy (rész)rendszer, amelyet a része reláció mentén alkotórészekre bont. A dekompozíció ( faktoring ) egy összetett probléma vagy rendszer kisebb részekre bontása, amelyek könnyebben érthetők, fejleszthetők és karbantarthatók. Hierarchikus dekompozíció: o Többlépcsős rész-egész viszony Része reláció tartalma szerint: o Fizikai dekompozíció: része=térbeli tartalmazás o Logikai dekompozíció: pl. része=funkció 46
Top-down és bottom up Top-down Részrendszer tervezésekor a szerepe már ismert Félidőben még nincsenek működő részek Részek problémái, igényei későn derülnek ki Bottom-up Alrendszer önmagában kipróbálható, tesztelhető Részleges készültségnél is összeépíthető valami Nem látszik előre a rész szerepe az egészben (Nem csak strukturális modellezésben ) Kevert, próbálkozásos (iteratív) Rendszer Alrendszerek Alrendszerek alrendszerei Rendszer Alrendszerek Alrendszerek alrendszerei 47
Típusos gráfok Deák Ferenc tér Astoria Blaha Lujza tér V. kerület Ferenciek tere Kálvin-tér Rákóczi tér VIII. kerület Budapest Corvin-negyed IX. kerület Boráros tér Petőfi híd, Budai hídfő XI. kerület 48
Táblázatos ábrázolás Sor = modellelem Oszlop = jellemző (gráf elemeinek tulajdonsága) Név Típus Méret (KB) Utolsó módosítás Dokumentumok könyvtár 2016.02.02 parciális függvény szerződés.pdf fájl 569 2015.11.09 Képek könyvtár 2016.02.02 logó.png fájl 92 2015.03.06 alaprajz.jpg fájl 1226 2016.02.02 49
Összefoglalás 50