Objektumorientált szoftvertervezés

Tárgykód:
Tárgyfelelős:
Goldschmidt Balázs
Szak:
Mérnök informatikus
Képzési szint:
BSc
Képzés féléve:
5
Kategória:
Specializáció
Leírás:

Information about the English course can be found on the English page of the subject.

Oktató: Dr. Simon Balázs

Tantárgyi adatlap: BMEVIIIAC00

Tananyag

A tárgy hivatalos weboldala: Moodle

Záróvizsga tételsor

A BSc záróvizga / MSc felvételi felkészüléshez a tárgy anyagai innen letölthetők:
http://devil.iit.bme.hu/~sbalazs/ootervzv/ooterv-zv-hu.zip
(Az URL-t be kell másolni a böngésző címsorába. A böngészők biztonsági okokból nem engednek HTTPS->HTTP irányú linkeket.)

  1. Tervezés a követelmények változására tekintettel, OO tervezési elvek. Az egyes elvekre: Milyen problémát old meg az adott elv? Mi a megoldás lényege? Miért baj, ha megsértjük? Mikor lehet megsérteni?
  2. OO tervezési heurisztikák. Az egyes heurisztikákra: Milyen problémát old meg az adott heurisztika? Mi a megoldás lényege? Miért baj, ha megsértjük? Mikor lehet megsérteni? Hogyan kapcsolódik a refaktorálási mintákhoz és code-smell-ekhez?
  3. Refaktorálás fogalma, szabályai, előnyei és problémái. Milyen refaktorálási minták és code-smell-ek vannak? Hogyan kapcsolódnak egymáshoz? Hogyan kapcsolódnak az OO tervezési heurisztikákhoz?
  4. Clean-code elvek. Az egyes elvekre: Milyen problémát old meg az adott elv? Mi a megoldás lényege? Miért baj, ha megsértjük? Mikor lehet megsérteni?
  5. API tervezési elvek. Az egyes elvekre: Milyen problémát old meg az adott elv? Mi a megoldás lényege? Miért baj, ha megsértjük? Mikor lehet megsérteni?
  6. Elosztott objektumorientáltság. Milyen problémákat vet fel? Milyen megoldási lehetőségek vannak?
  7. Konkurens és párhuzamos minták. Az egyes mintákra: Milyen problémát old meg az adott minta? Mi a megoldás lényege? Hogyan kapcsolódik más mintákhoz?
  8. Immutable objektumorientáltság. Mik a módosíthatóság problémái? Mik a csak olvasható objektumok előnyei és hátrányai? Hogyan kell implementálni egy csak olvasható objektumot leíró osztályt?