Rendszermodellezés

A VIK Wikiből
A lap korábbi változatát látod, amilyen Csia Klaudia Kitti (vitalap | szerkesztései) 2018. április 25., 10:01-kor történt szerkesztése után volt. (→‎Félévvégi jegy)
Rendszermodellezés
Tárgykód
VIMIAA00
Általános infók
Szak
info
Kredit
4
Ajánlott félév
2
Tanszék
MIT
Követelmények
Labor
nincs
KisZH
0
NagyZH
2
Házi feladat
3
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:
    • Két ZH sikeres (összes pontszám 40%-a + a beugrók fele, 5 pont) megírása.
    • Egy házi feladat beadása és megvédése.
    • Gyakorlaton való megjelenés 4/6.
  • Pótlási lehetőségek:
    • Mind a két zh pótolható egyszer a pótlási héten, egy napon (1. zh 8-10, 2. zh 10-12)
    • 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.
  • ZH1: maximum 35 pont.
  • ZH2: maximum 35 pont.
  • Plusz pontokat az alábbi módon lehet szerezni:
    • A ZH-kon szereplő csillagos feladatok megoldásával (melyeket csak akkor értékelnek, ha a ZH legalább 29.5 pontos): 5-5 pont
    • Bemelegítő HF: 0-4 pont
    • Kötelező HF 0-10 pont (pótlási héten is le lehet adni, 0-7 pontért)
    • Legutóbb gyakorlaton is kiadtak egy kisebb szorgalmit: 0-2 pont
    • Gyakorlati részvétel és fakultatív kisZH-k: (0-10 pont)
      • Ha a hallgató legalább 5 gyakorlaton részt vett: 5 legjobb kisZH összege, de mindenképpen legalább 5 (5-10 pont)
      • Ha a hallgató 0-4 gyakorlaton vett részt: 5 legjobb kisZH összege, HA az legalább 5 (0 vagy 5-8 pont)
      • Ez legutóbb nem így volt, a hallgatók közvetlen kapták meg a kisZH-kra a pontokat - függetlenül a gyakorlati részvételek számától.
    • Előadáson véletlenszerűen előfordulhatnak pluszpontért kérdések.

Ponthatárok:

1 0-39
2 40-54
3 55-69
4 70-84
5 85-

Segédanyagok

Házi feladat

A 3. héten kerül kiadásra, beadni elektronikusan kell a 12. héten, majd szóbeli védésen bemutatni. 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. 3 ilyen elem van tiltva:

  • always
  • oncycle
  • Olyan nyíl (állapotátmenet), amire nincs semmi írva (nincs őrfeltétel, mindig lefut).

Ha a modelledben ezeket használod, az oldal nem fogja elfogadni a házidat. Két módon lehet megoldani a hibát:

Szekvenciális programozásra hasonlító (balra), és helyes állapotalapú (jobbra) modellek
  • after 0s használata. Gyorsabb, de ez csak egy kiskapu, nem segíti a tanulást.
  • 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.

1. ZH

2. ZH

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 egynapos 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