Rendszermodellezés kiskérdések, 2009.

A VIK Wikiből
Ugrás a navigációhoz Ugrás a kereséshez

Ez az oldal a korábbi SCH wiki-ről lett áthozva. Az eredeti változata itt érhető el.

Ha úgy érzed, hogy bármilyen formázási vagy tartalmi probléma van vele, akkor kérlek javíts rajta egy rövid szerkesztéssel.

Ha nem tudod, hogyan indulj el, olvasd el a migrálási útmutatót


Az alábbi kiskérdések minták a 2008. őszi, 2009. tavaszi és őszi számonkérésekből (vizsga, ZH).

Tartalomjegyzék

1. Mi az absztrakció, mint művelet ellentéte? Mutasson rá egy példát!

Absztrakció: részletek eltakarása / Dekompozíció: részekre bontás. (Forrás: 1. oldal: http://www.dcs.vein.hu/~simon/oktatas/ST/GJ/szoftver5.OOD.pdf) az órán és a tárgyban a "finomítás" szót használjuk.

2. Milyen mérőszámok nyerhetőek ki a felhasználói viselkedést leíró gráfból? (informatikai és üzleti)

  • Dinamikus CBMG ill. CBMS alapján különböző mérőszámokat határozhatunk meg:
    • Hits/sec: az oldalról letöltött objektumok száma (képek, bannerek is)
    • Page View/Day: adott oldalt hányszor nézték meg
    • Click-throughs: hányan néztek meg egy adott hirdetést
    • Unique Visitors: hány különböző látogató volt egy adott időszakban
  • További mérőszámok (felhasználói modell és egyéb statisztikák alapján):
    • Revenue Throughput: az oldal által elért átlagos bevétel Potential Loss Throughput: mennyibe kerül a szolgáltatás kiesése egy adott időszakban
    • Visit Ratio: átlagosan hányszor vesznek igénybe egy adott szolgáltatást (egy session alatt)
    • Buy to Visit Ratio: átlagosan hányszor vásárolnak egy session alatt (tényleges eladási tanzakció)
    • Average Session Length: egy session átlagosan hány szolgáltatást vesz igénybe (nem időt mér)
    • mindezen mérőszámok változása, ha a bemenő paraméterek megváltoznak (pl. egyes átmenetek valószínűségei)

3. Adjon meg két UML diagramot, amelyek közül az egyik a másik metamodellje!

"A diagramokon és a modelleken kívül az UML rendelkezik még ún. metamodellel is. A metamodell a modell modellje. Az UML metamodellje az UML modellek nyelvét és szerkezetét írja le. Az UML modellek számos különböző elemből tevődnek össze, és a metamodell határozza meg ezeknek az elemeknek a tulajdonságait, azt, hogy milyen módon kapcsolódhatnak és hogy mit jelent egy ilyen kapcsolat. A legtöbb mőszaki nyelv, pl. az SQL is rendelkezik metamodellel." (Forrás: http://www.gamf.hu/portal/files/szft_2_lev.pdf: ) Az előadásokban összesen csak ennyit találtam: Osztálydiagram elemei: ... OO modell metamodellje... (32. o., UML áttekintő.pdf)

Ez egy igen jó ábra ehhez a feladathoz (thx eL Geri):


Ezen a helyen volt linkelve a uml_metalayers.PNG nevű kép a régi wiki ezen oldaláról. (Kérlek hozd át ezt a képet ide, különben idővel el fog tűnni a régi wikivel együtt)


4. Mit értünk modellellenőrzés alatt?

Adott egy (nem determinisztikus) viselkedésmodell (diszkrét állapotátmenetek), és adottak formális követelmények

  • Deadlock mentesség
  • Biztonsági kritériumok
  • Vezérelhetőség

Ilyenkor megnézzük, hogy a modell kielégíti-e a követelményeket? Ennek módja, hogy a következőket leellenőrizzük: Modell validálása

  • Valóban jól modelleztük a rendszert?
  • Azt modelleztük, amit akartunk?
  • Szimuláció
  • Ellenőrző kritériumok igazolása

Modell verifikációja

  • Az eredeti rendszer követelményei alapján
  • Ez a cél, a validálás csak feltétel

(by ElGeri)

5. Adjon meg legalább két különböző jellemzőt, amely egy UML osztálydiagram asszociációján fel lehet tüntetve!

  • Multiplicitás
  • Navigálhatóság
  • Szerepnév

6. Milyen elemkészlete van az UML aktivitás diagramoknak?

Innen: http://www.agilemodeling.com/artifacts/activityDiagram.htm - Vastagítva a fontosabbak (ezeket használtuk általában)

  • Initial node - Kezdőpont
  • Activity Final Node - Végpont
  • Activity - Aktivitás...
  • Flow/Edge - Él...
    • Data Flow Edge - Adatfolyam-él (szaggatott)
    • Control Flow Edge - Vezérlő el (normál)
  • Fork - Párhuzamosítás, függőleges vonal
  • Join - Párhuzamos tokenek bevárása, függőleges vonal
  • Condition - Feltétel, pl. [véralkohol szint>0.02]
  • Decision - Elágazás (gyémánt)
  • Merge - Egyesítés, több oldalról kapja az ívet (gyémánt)
  • Partition - Partíció, pl. IT dept., Sales dept. (bekeretezett részek az ábrán)
  • Sub-activity indicator - Ez az activity ki van fejtve máshol
  • Note - Megjegyzés (standard UML)

7. Milyen tipikus vezérlési hibákat ismer üzleti folyamatokban? Mutassa be ezeket egyegy példán!

  • Decision – Merge / Fork – Join párok összekeverése:
    • Fork – Merge: nincs szinkronizáció
    • Decision – Join: holtpont
  • Ciklusok esetén, ha nincs a ciklusból kivezető él: livelock
  • Többszörös összeköttetés: Nehezen átlátható, ha nem különböztetjük meg az adat és a vezérlés áramlást
  • Kilépés különböző ágakból ("megkerüljük" a decision utáni merge-t):
    • Döntésnél holtpontot okozhat
    • Párhuzamosításnál megengedett
  • Események kezelése: Eseményfeldolgozó logika vezérlésként lekódolva (többszörös start). Helytelen, mert az összes Start elem egyszerre aktív!
  • Terminálás: Párhuzamos ágak helyett az egész folyamat leáll.
  • Rossz interfész definíció! Nemdeterminizmus / deadlock

(by eL Geri)

Ezekeről van egy halom kép a megfelelő diasorban.

8. Milyen főbb elemtípusokat ismer a BPMN szabvány?

  • Esemény (kör/gyűrű)
    • Állapotváltozás
    • Ok-hatás
    • Eseménytípusok: Start, Intermediate, End
  • Tevékenység (gömbölyített téglalap)
    • Atomi/összetett
    • Taszk/alfolyamat
  • Átjáró (rombusz)
    • Szekvencia
    • konvergencia/divergencia
  • Szekvencia (nyíl)
    • Tevékenységek sorrendje a folyamatban (nincs vezérlési folyamat a BPMN-ben)
  • Üzenet (szaggatott nyíl)
    • Két független folyamat részvevő közötti információcsere
  • Asszociáció (pontozott nyíl)
    • Adat, szöveg stb. hozzárendelés

9. Milyen főbb elemekből áll egy adatfolyamháló? Hogyan írhatjuk le a háló állapotát?

  • Csomópontok
    • In: Bemenő csatornák halmaza
    • On: Kimenő csatornák halmaza
    • Sn: csomópont állapotok halmaza
    • sn0: Csomópont kezdőállapota
    • Mn: Tokenek halmaza
    • Rn: Tüzelések halmaza
      • sn, sn': Tüzelés előzzi és utáni állapotok
      • Xin: Bemenő (token) leképezés
      • Xout: Kimenő (token) leképezés
      • pi: Tüzelési prioritás
  • Csatornák
    • Bemenő
    • Kimenő
    • Belső
  • Állapotok

(A Csomópontok kifejtése nem biztos hogy kell...)

Az állapotot leírhatjuk a csomópontok aktuális állapotának valamint a csatornálon lévő tokenek megadásával (szvsz...).

10. Milyen modellfinomítási lépések lehetségesek adatfolyam hálókban?

  • Értelmezési tartomány finomítás
    • Token halmaz finomítás
    • Állapothalmaz finomítás
  • Struktúra finomítás
    • Csomópont helyettesítése adatfolyamhálóval

11. Mi a klasszikus rendszerelméleti automata-modell?

Ezen a helyen volt linkelve a klasszautomata.PNG nevű kép a régi wiki ezen oldaláról. (Kérlek hozd át ezt a képet ide, különben idővel el fog tűnni a régi wikivel együtt)


12. Hogyan lehet megadni a rendszer erőforrásigényét a funkciók statikus erőforrásigénye alapján? Miért „csal” ez az egyszerű képlet?

[math] E[terhelés_{R}]=\sum_{|F|}(gyakoriság_{F}*E[terhelés_{F,R}]) [/math]

Azért csal, mert nem additív a terhelés (nincs beleszámítva a taszkváltás, cache frissítés…) és lehetnek kiugró erőforrásigények.

13. Teljesítménymodellezésnél mit nevezünk nyílt és mit zárt modellnek? Hogyan határozható meg a szűk keresztmetszet ezekben?

  • Nyílt modell: Nincs explicit korlát a rendszerben lévő kérések számára. Ekkor: [math] \lambda_{max}\lt =\frac{1}{D_{max}} [/math]
  • Zárt modell: Van explicit korlát a rendszerben lévő kérések számára ([math] N [/math], pl. WWW szerver szálak max száma konfigurációból korlátozott). Ekkor: [math] X_{0}(N)\lt =min(\frac{1}{D_{max}},\frac{N}{D_{total}}) [/math]

ahol:

  • [math] D_{max} [/math] : Maximális szolgáltatásigény
  • [math] D_{total} [/math] : Összes szolgáltatásigény
  • [math] \lambda_{max} [/math] : Maximális érkezési ráta

14. Mit mond ki a Little törvény (magyarázattal)?

[math] N=X*R [/math]

ahol:

  • N: Rendszerben lévő kérések átlagos száma
  • X: Áteresztőképesség
  • R: Átlagos rendszerben töltött idő

Ez nekünk azért jó, mert nem kell foglalkoznunk a különböző (pl. érkezésre, rendszerben töltött időre vonatkozó) valószínűségi eloszlásokkal.

15. Mit értünk az alatt, hogy egy valószínűségi eloszlás „heavy tailed”? Hogyan kapcsolódik ez Zipf törvényéhez?

Informálisan: Az eloszlás ritka értékei sem hanyagolhatók el. Valamivel pontosabban: az eloszlás lassabban tart valamelyik aszimptotájába, mint az exponenciális eloszlás (Wikipedia). A Zipf eloszlás heavy-tailed.

16. Mit mérhetünk a TPC-App benchmark segítségével? Milyen főbb részekből áll a TPC mérési konfiguráció?

(Jó kérdés, hogy mégis melyik TPC konfigra gondol...)

Benchmark, 28., 30. dia:

  • Remote Business Emulator
  • System Under Test (az egész hálózatba szervezve)
    • Üzleti funkciók, üzleti logika megvalósítása (application server)
      • Konnektorok külső szolgáltatókhoz
    • Adatbázis ((ACID) DBMS+Storage)

(TPC-W) Benchmark, 23. dia:

  • Remote Browser Emulators
  • Payment Gateway
  • Switch ("internet")

*System Under Test

    • Web szerverek
    • Web cache-ek
    • Image server-ek
    • DB szerver
    • Switch ("intranet")

Metrikák (TPC-W-re, Benchmark 25.):

  • Web Interactions Per Second
  • Webszerver teljesítmény
    • CPU
    • HTTP bytes/s
  • Adatbázisszerver teljesítmény
    • CPU
    • Disk I/O
    • bytes/sec áteresztőkésség?

17. Mit jelent a konfidencia intervallum fogalma?

Az az intervallum, amelybe egy paraméter értéke várhatóan beleesik.

"Instead of estimating the parameter by a single value, an interval likely to include the parameter is given. Thus, confidence intervals are used to indicate the reliability of an estimate. How likely the interval is to contain the parameter is determined by the confidence level or confidence coefficient. Increasing the desired confidence level will widen the confidence interval." (Wikipedia)

"Keressük az alapsokaság ismeretlen de konkrét paraméterét méréssel, adott megbízhatósággal"

[math]P(|X-\mu|\lt =\Delta)=1-\alpha[/math]

"az alapsokaság várható értéke a minták átlagai környezetében lesz jórészt...pl. 100 mintaátlagból számolt konfidencia intervallum közül csak 5 nem tartalmazza az alapsokaság várható értékét"

18. Mit értünk „burstiness faktor” alatt? Miért lényeges ez a jellemző?

"Burstiness factor: A zsúfolt időszeletek aránya", azaz:

[math] b=\frac{\sum\{0, ha \lambda_i\lt =\lambda; 1, ha \lambda_i\gt \lambda\}}{n} [/math]

19. Milyen matematikai módszert alkalmazna egy Web portál látogatottságának becslésére, ha adottak az előzőhetek terhelési adatai, és tudjuk, hogy a portál felhasználóinak száma gyorsuló ütemben növekszik? Mi ennek a módszernek a lényege?

Exponenciális regresszió (ld. Terheléselőrejelzés jegyzet, 34. dia), [math]Y_t=a*e^{bt}[/math]

20. Mit jelent a megbízhatóság (reliability) és a rendelkezésreállás (availability)? Mi a kettőközt a különbség?

Reliability: "Folytonosan hibamentes szolgáltatás", formálisan: [math] r(t)=P\{\forall t'\lt t:s(t')\in U\} [/math] (annak valószínűsége, hogy a rendszer egy adott időpillanatig nem hibásodik meg) (0-hoz konvergál)

Availability: "Bármikor kész szolgátlatás", formálisan: [math] a(t)=P\{s(t) \in U \} [/math] (annak valószínűsége, hogy egy adott pillanatban működik a rendszer). Ez a készenléti tényezőhöz konvergál (ld. 21.)

21. Mi a rendelkezésre állás kapcsolata az MUT, MDT metrikákkal?

Készenléti tényező: [math] K=lim_{t\to\infty}a(t)=\frac{MUT}{MUT+MDT} [/math]

22. Mi a különbség BPEL folyamatokban a „fault handler” és „compensation handler” között?

(Ennél jobbat nem találtam...)

Fault handling:

  • Hiba típusokra, változókra definiálható
  • Akkor hívódik meg, ha a fellépő hiba illeszkedik
  • Mint Java-ban az exception handling
  • Alulról felfele hívódik meg (scope-hierarchia)

Compensation handling:

  • Tranzakció meghiúsul?
  • Erőforrás zárolás?
  • Kompenzáció
  • Rekurzívan, fordított sorrendben
  • Változó értékek megtartása


23. Milyen főbb céljai vannak az üzleti esemény szintűmonitorozásnak? Adjon példát rá, milyen eseményeket lenne érdemes monitorozni, ha a ZH javítás folyamatát szeretnénk ellenőrizni (feltéve, hogy a zh megírása és javítása is elektronikusan történik).

Futásidőbeli információk gyűjtése, az előírások teljesítésének ellenőrzése, a teljesítmény valós környezetben vizsgálható, biztonsági ellenőrzés.

Az üzleti tevékenység monitorozásának célja valós idejű információk nyújtása az aktuális státuszokról és a különböző műveletek, folyamatok és tranzakciók eredményeiről. A legfőbb előnye, hogy egy vállalat jobban megalapozott üzleti döntéseket hozhat, gyorsítja a problémás területek megtalálását, és új helyzetekben teljes mértékben kihasználják a kínálkozó lehetőségeket.

(eL Geri)

24. Mik a konfigurációmenedzsment főőbb feladatai? Milyen szabványt használhat adatreprezentációra?

A konfigurációmenedzsment adatokat szolgáltat az aktuális konfigurációs részletekről, illetve nyilvántartja a konfiguráció változásait. Kezeli a hálózati- és rendszereszközök konfigurációit.

A készletnyilvántartás és topológia szolgáltatás, melynek feladata a hardver- és szoftverkészlet kezelése, és a rendszer konfigurációs térképének karbantartása. A megfelelő készletnyilvántartás érdekében célszerű az adatokat menedzsment információs bázis (MIB) segítségével tárolni.

A pontos készletnyilvántartáshoz szükséges a változások illetve változtatások megfelelő nyilvántartása. Továbbá a használhatóság érdekében szükséges a megfelelő elnevezés és címnek használata, azaz a névtér menedzsment.

Kábelezési rendszer nyilvántartása és menedzselése. A funkció megvalósítására úgynevezett CMS (cable management system) termékek használhatók.

(eL Geri)

The purpose of configuration management: „to maintain and provide accurate information about configuration items (CIs) and their relationships in a logical model.” CI-s are „primarily […] hardware, software, and related documentation. However, it may also include RFCs, service level agreements, procedures, […]”


-- Swacsa - 2009.12.14.

-- VPB - 2010.01.11.