Objektumorientált szoftvertervezés - Vizsga, 2008.06.03.

A VIK Wikiből
A lap korábbi változatát látod, amilyen Unknown user (vitalap) 2012. október 21., 21:44-kor történt szerkesztése után volt. (Új oldal, tartalma: „{{GlobalTemplate|Infoszak|OotVizsga20080603}} ===OO Vizsga 2008-06-03=== __TOC__ ====1. Hibernate: Mi(k)nek a metódusa createQuery()? (2p)==== * '''session''' -> e…”)
(eltér) ← Régebbi változat | Aktuális változat (eltér) | Újabb változat→ (eltér)

Ez az oldal a korábbi SCH wikiről lett áthozva.

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.


OO Vizsga 2008-06-03

1. Hibernate: Mi(k)nek a metódusa createQuery()? (2p)

  • session -> ez a jó
  • perzisztens kollekció
  • tábla
  • tranzakció

2. Adott az alábbi kód. Mit csinál, mi a következménye, hogy tehető korrekté? (6p)

Object object = db.getRoot("username");
ObjectStore.destroy(object);

A getRoot és a destroy közé kell:

db.setRoot("username", null);

Ezzel a root mögötti objektumot tudjuk törölni.

3. WMC (Weighted Method Class) metrika definíciója. (2p)

  • Egy osztályhoz tartozó metódusok CC-je (metódus bonyolultsága) összesen
  • Egy osztály elkézítésének bonyolultsága ?

4. Egy funkción belül mikor nevezzük a kohéziót procedurálisnak? Miről ismerhető fel könnyen? (2p)

  • instanceof (???)

5. Aktív objektum mintában az ütemező (Scheduler) a Request_Method példány meghívásakor átad egy paramétert. Mi az és mi a feladata?

Valószínűleg ez a Servanthoz lesz a referencia, ami majd futtatni fogja a metódus kódját. Másképp honnan tudja a method_request, hogy melyik servanthoz hívjon be? Ez tűnik logikusnak. forrás

6. Adott egy bináris fa, a fa csúcsaiban vagy Guard vagy Node objektumok, ezeknek közös az ősük, amely vizitálható. Adott a vizitor interfész, illetve két megvalósítása:

  • Visit_Print: ez kiírja a Node-ban tárolt értéket
  • Sequ3: a faelemet meglátogatja a konstruktorában megadott 3 vizitort (mint a diasorban a Sequence, csak ebben 3 van)
  • Visit_InOrder: a Sequ3-ból származik, a fa inorder bejárását végzi el, közben minden Node element végrehajtja a konstruktorában megadott vizitort. Ez nincs készen, ez a c) feladat
  1. Visitor interfészbe a metódusok beírása az UML diagramon (1p)
  2. Az inorder bejáráshoz szükséges egyéb vizitorok megadása az UML-diagramon és konstruktoraikkal, metódusaikkal (4p)
  3. Visit_InOrder konstruktorának megírása a fenti többi vizitor használatával (4p)
  4. A vizitorok létrehozása és meghívása, hogy a fa elemei listázásra kerüljenek (2p)

7. RMI során átadható paraméterek osztályozása és a paraméterátadás módja (felsorolás + 1-1 rövid mondattal jellemzés, 3p)

OotElosztottRendszerek

8. Volt egy XSD séma, ahol az elemen belül volt egy simpletype definiálva, át kellett írni olyanra, hogy kívül legyen (2p)

9. XSD sorrendiséget és gyakoriságot befolyásoló tag-ek (felsorolás + 1-1 rövid mondattal jellemzés, 5p)

Sorrendiséghez:

  • all - tetszőleges sorrendben
  • choice - a listából csak az egyik
  • sequence - pontosan ugyanabban a sorrendben

Gyakoriság:

  • minOccurs maxOccurs attribútumok

10. Milyen hibákat kaphatunk egy XML dokumentum SAX-al való feldolgozása során? (3p)

  • fatal error - a dokumentum nem jól formált (szintaktikai hiba, nincs lezárva tag)
  • error - a dokumentum nem valid (szemantikai hiba, pl nem felel meg a sémának)
  • warning - figyelmeztetés (pl. ha kétszer definiálunk egy típust)

11. Mik a SAX (simple api for XML) jellemzői? (3p)

  • eseményvezérelt
  • soros elérésű
    • alacsony memória-igény
    • nagy sebesség
    • nem lehet előre- és visszaugrani
  • állapotfüggetlen feldolgozás

12. Mik az AWT konténerek felelősségei? (3p)

  • komponensek megtalálása
  • fókusz továbbadása
  • komponensek elhelyezése

13. Milyen tervezési mintákat valósítanak meg (Swing)? (4p)

  • Konténerek és komponensek összekapcsolása
  • Eseménykezelés
  • LayoutManager használata
  • JScrollPane használata

Szerintem inkább ez kell ide:

  • Konténerek + komponensek - Composite pattern
  • Eseménykezelés - Observer pattern
  • LayoutManager - Strategy pattern
  • JScrollPane-nél Decorator pattern
  • JTree-nél Null Object pattern

14. Miért nem ajánlott beágyazott/mobil környezetben a Listener-alapú eseménykezelés? (2p)

  • túlságosan is erőforrásigényes
  • nem engedheti meg egy beágyazott környezet a beragadott objektumokat
  • sokszor dinamikusan jönnek létre és szűnnek meg az objektumok

-- aldaris - 2009.05.27.

-- buc - 2008.06.03.

-- Csádám - 2010.05.31.