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

Időpont és helyszín:

  • Hétfő: 12:15-14:00 IB.026.
  • Páratlan csütörtök: 10:15-12:00 IB.025.

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: tananyag

  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?