„Objektumorientált szoftvertervezés - Vizsga, 2008.06.03.” változatai közötti eltérés

A VIK Wikiből
Ugrás a navigációhoz Ugrás a kereséshez
(Új oldal, tartalma: „{{GlobalTemplate|Infoszak|OotVizsga20080603}} ===OO Vizsga 2008-06-03=== __TOC__ ====1. Hibernate: Mi(k)nek a metódusa createQuery()? (2p)==== * '''session''' -> e…”)
 
a
1. sor: 1. sor:
{{GlobalTemplate|Infoszak|OotVizsga20080603}}
 
 
 
===OO Vizsga 2008-06-03===
 
===OO Vizsga 2008-06-03===
  
 
__TOC__
 
__TOC__
  
====1. Hibernate: Mi(k)nek a metódusa createQuery()? (2p)====
+
====Hibernate: Mi(k)nek a metódusa createQuery()? (2p)====
  
 
* '''session''' -> ez a jó
 
* '''session''' -> ez a jó
12. sor: 10. sor:
 
* tranzakció
 
* tranzakció
  
====2. Adott az alábbi kód. Mit csinál, mi a következménye, hogy tehető korrekté? (6p)====
+
====Adott az alábbi kód. Mit csinál, mi a következménye, hogy tehető korrekté? (6p)====
  
 
<pre>
 
<pre>
26. sor: 24. sor:
 
Ezzel a root mögötti objektumot tudjuk törölni.
 
Ezzel a root mögötti objektumot tudjuk törölni.
  
====3. WMC (Weighted Method Class) metrika definíciója. (2p)====
+
====WMC (Weighted Method Class) metrika definíciója. (2p)====
 
* Egy osztályhoz tartozó metódusok CC-je (metódus bonyolultsága) összesen
 
* Egy osztályhoz tartozó metódusok CC-je (metódus bonyolultsága) összesen
 
* Egy osztály elkézítésének bonyolultsága ?
 
* 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)====
+
 
 +
====Egy funkción belül mikor nevezzük a kohéziót procedurálisnak? Miről ismerhető fel könnyen? (2p)====
 
* instanceof (???)
 
* 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?====
+
 
 +
====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. [https://lists.sch.bme.hu/wws/arc/inftech2009/2009-05/msg00083.html forrás]
 
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. [https://lists.sch.bme.hu/wws/arc/inftech2009/2009-05/msg00083.html 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:====
+
 
 +
====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
 
* 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)
 
* Sequ3: a faelemet meglátogatja a konstruktorában megadott 3 vizitort (mint a diasorban a Sequence, csak ebben 3 van)
43. sor: 44. sor:
 
# A vizitorok létrehozása és meghívása, hogy a fa elemei listázásra kerüljenek (2p)
 
# 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)====
+
====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]]
 
[[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)====
+
====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)====
+
====XSD sorrendiséget és gyakoriságot befolyásoló tag-ek (felsorolás + 1-1 rövid mondattal jellemzés, 5p)====
 
Sorrendiséghez:
 
Sorrendiséghez:
 
* all - tetszőleges sorrendben
 
* all - tetszőleges sorrendben
57. sor: 58. sor:
 
* minOccurs maxOccurs attribútumok
 
* minOccurs maxOccurs attribútumok
  
====10. Milyen hibákat kaphatunk egy XML dokumentum SAX-al való feldolgozása során? (3p)====
+
====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)
 
* 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)
 
* 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)
 
* warning - figyelmeztetés (pl. ha kétszer definiálunk egy típust)
  
====11. Mik a SAX (simple api for XML) jellemzői? (3p)====
+
====Mik a SAX (simple api for XML) jellemzői? (3p)====
 
* eseményvezérelt
 
* eseményvezérelt
 
* soros elérésű
 
* soros elérésű
70. sor: 71. sor:
 
* állapotfüggetlen feldolgozás
 
* állapotfüggetlen feldolgozás
  
====12. Mik az AWT konténerek felelősségei? (3p)====
+
====Mik az AWT konténerek felelősségei? (3p)====
 
* komponensek megtalálása
 
* komponensek megtalálása
 
* fókusz továbbadása
 
* fókusz továbbadása
 
* komponensek elhelyezése
 
* komponensek elhelyezése
  
====13. Milyen tervezési mintákat valósítanak meg (Swing)? (4p)====
+
====Milyen tervezési mintákat valósítanak meg (Swing)? (4p)====
  
 
* Konténerek és komponensek összekapcsolása
 
* Konténerek és komponensek összekapcsolása
89. sor: 90. sor:
 
* JTree-nél Null Object 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)====
+
====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
 
* túlságosan is erőforrásigényes
 
* nem engedheti meg egy beágyazott környezet a beragadott objektumokat
 
* nem engedheti meg egy beágyazott környezet a beragadott objektumokat

A lap 2013. január 3., 17:52-kori változata

OO Vizsga 2008-06-03

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

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

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.

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 ?

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

  • instanceof (???)

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

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)

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

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)

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

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)

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

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

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

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

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.