Rendszermodellezés

A VIK Wikiből
Rendszermodellezés
Tárgykód
VIMIAA00
Általános infók
Szak
info
Kredit
4
Ajánlott félév
2
Keresztfélév
nincs
Tanszék
MIT
Követelmények
Labor
nincs
KisZH
4 db (opcionális)
NagyZH
1 db
Házi feladat
1 db (+2 szorgalmi)
Vizsga
nincs
Elérhetőségek
Levlista
remo@sch.bme.hu
Ez az új tanterv tárgya, a régiért lásd: Rendszermodellezés_(régi)


A tantárgy tematikusan az informatikai rendszerek tervezési folyamatának modell alapú megközelítését tárgyalja.

Célkitűzése a későbbi tantárgyak által megtanítandó specializált modellezési paradigmák előkészítése, az alapvető modellezési feladatok és eszközök bemutatásával. Egyúttal bemutat néhány olyan fogalmilag tiszta és egyszerűen kezelhető eszközt is, amelyek segítségével a tervezés alapvető aspektusait a hallgatók készség szinten elsajátíthatják és egyszerű, működő alkalmazásokat is tudnak tervezni.

A hallgatók megismerik a magas szintű, grafikus eszközökre épülő, folyamat alapú rendszermodellezés, a helyességbizonyítás, teljesítményanalízis és szolgáltatásbiztonság alapfogalmait és megjelenésüket a modellezésben. A korábbi automataelméleti és rendszertechnikai ismereteikre építve megismerik a szabatos rendszertervezés alapjait. A hallgatók a modellezés munkafolyamatain keresztül elsajátítják az informatikai rendszerek implementációjának egyes munkafogásait. Jártasságot szereznek a szimulációs rendszervizsgálatokban és a mérési adatok vizuális elemzésében.

A tárgy kiemelt didaktikai célja a hallgatók absztrakciós készségének fejlesztése és a későbbi szakmai tárgyak fogalmi és motivációs előkészítése.


Követelmények

Előtanulmányi rend

A szorgalmi időszakban

  • Az aláírás feltételei:
    • ZH: A ZH sikeres megírása. A ZH-n maximum 70 pont érhető el, amiből legalább 28 pontot (40%), valamint az összesen 20 pontot érő beugrókérdésekből 10 pontot kell elérni a sikeres teljesítéshez. (2019-ig a tárgyból 2 ZH volt.)
    • Házi feladat: beadása, legalább 12 pont elérése a 30-ból.
    • Gyakorlat: nincs kötelező jelenlét
  • Pótlási lehetőségek:
    • A ZH pótolható egyszer a pótlási héten.
    • A házi feladat a pótlási hét végéig pótolható, különeljárási díj fejében.

Félévvégi jegy

A jegyet a félév közben szerzett pontok alapján adják. Megszerezhető pontok:

  • HF: maximum 30 pont.
  • ZH: maximum 70 pont. (20 pont beugró + 50 pont feladatok)
  • Plusz pontokat az alábbi módon lehet szerezni:
    • Bemelegítő HF: 0 vagy 4 pont.
    • Szorgalmi HF: 0-10 pont (pótlási héten is le lehet adni, 0-7 pontért)
    • Fakultatív kisZH-k: (0-8 pont)
      • Minden kisZH abból az anyagból van, amely a gyakorlat anyaga. Értsd úgy: a második gyakorlat anyaga az állapot alapú modellezés, és a kisZH anyag is az, ne az első gyakorlat anyagából készülj csak fel! Érdemes készülni a kisZH-kra, 2 egyszerű kérdésből áll, egy kisZH 0-2 pontot ér.
  • Ponthatárok:
Pont Jegy
0 - 39 1
40 - 54 2
55 - 69 3
70 - 84 4
85 - 100 5

Segédanyagok

Előadás (2016)

Gyakorlat (2019)

Házi feladat

  • A 5. héten kerül kiadásra, beadni elektronikusan kell a 12. héten. (Az új házi feladat portál miatt nincsen már szóbeli védés év végén, de a régebbi házikat se fogadják már el. Külön kérésre viszont lehet javítás érdekében szóbelire menni, de arra külön jelentkezni kell.)
  • Egy sakkórát utánozó programot kell elkészíteni, mindenkinek különböző tulajdonságokkal. A házi feladat kiírása, és technikai segédlet elérhető a tárgyhonlapon.
  • Leggyakoribb hiba: olyan állapotátmenet használata, amik nem is valódiak, mert az átmenet nem egy esemény bekövetkezésekor történik meg.
  • Lehetséges, hogy amire mi gondolunk, az egy esemény, de modellezési szempontból másként kell értelmezni ezt a fogalmat. 5 ilyen elem van tiltva:
    • always
    • oncycle
    • Olyan nyíl (állapotátmenet), amire nincs semmi írva (nincs őrfeltétel, mindig lefut).
    • after 0s / after 0ms / every 0s stb. A modell szempontjából ezek is feltétel nélküli átmenetek.
    • [trigger && feltétel] kiváltó esemény, ezeket egy [trigger]-re és egy choice-ra kell szétbontani.
  • Ha a modelledben ezeket használod, az oldal nem fogja elfogadni a házidat. A hiba megoldása:
Szekvenciális programozásra hasonlító (balra), és helyes állapotalapú (jobbra) modellek
  • Meg kell érteni az állapotalapú modellezés alapját. Sokan úgy próbálják felépíteni a modellt, mint egy C nyelvben írt programot, ahol egymás után hajtódnak végre a feladatok, és az állapot egy művelet végrehajtásának felel meg. Ez hibás gondolkozás, mert állapotmodellezésre van szükség, és nem folyamatmodellezésre! Eseményvezérelt felépítés kell. A kép oldalt illusztrálja a kettő közötti különbséget. A hagyományos programozási módszer használatával keletkezik egy olyan állapotátmenet, aminek nincs kiváltó eseménye. Az állapotalapú modellezésnél ilyet ne csináljunk, mert a ChangeSettings nem egy olyan állapot, ami tartósan jellemezné a modellünket, hiszem a whiteMoves = true művelet elvégzése után azonnal bekövetkezik egy újabb állapotváltás, így a ChangeSettings csak egy pillanatig, és nem egy valamekkora időegységig jellemezte a modellt. Ha viszont a műveleteket nem az állapot belsejébe írjuk, hanem egy hurokélre, akkor valójában nem történik állapotváltás (ugyan oda térünk vissza), a művelet mégis végrehajtódik! Többnyire igaz, hogy úgy kell megtervezni a modellt, hogy az élekre kerülnek a változók módosításai, az állapotokra pedig az, ami megjelenik a képernyőn, lásd a képet. Ez természetesen nem mindig van így, de ha eszerint próbálod meg megtervezni a modelled felépítését, kiküszöbölheted az üres élek problémáját.
  • Ha továbbra sem műküdik a programod, és nem érted, hogy mi a gond, látogasd meg a Házi feladat fórum oldalát, hátha már akadt másnak is hasonló problémája.

Kikérdezők

1. ZH

2. ZH

Verseny

  • Félév vége fele a tanszék meg szokott hirdetni egy Rendszermodellezés versenyt (~április 25 körül). Erre érdemes felkészülni, mert ha eléred a versenyen a 60%-ot, az megfelel egy 100%-os 2. ZH-nak, ami sokat tud segíteni, mivel a második ZH-n nagyon nehezen lehetne elérni alapból 100%-ot.

Tippek

  • Érdemes tisztában lenni minden fogalommal, mert utána elég csak a józan paraszti eszet használni. Nem túl bonyolult belőle 4-est 5-öst szerezni, mert rengeteg extra pont jár és a házi sok pontot ér. A ZH-k beugróit ne vedd könnyű péznek. Legtöbben azért bukják el a tárgyat, mert a beugró nem sikerül. Az elméleti részeket jól át kell nézni, bizonytalan esetekben inkább ne írj be semmit, mert hibás válaszért pontot veszíthetsz. A házi egy-kétnapos munka, ha teljesen nulláról kezdik, de ha már foglalkozott a Yakinduval egy kicsit előtte, akkor maximum négy óra.


Bevezetők
1. félév
2. félév
3. félév
4. félév
5. félév
6. félév
7. félév