Objektumelvű programozás
Tantárgy célja: Objektumelvű alkalmazások modellezése és megvalósítása. A modellezéshez
az UML diagramok mellett elő- utófeltételes specifikációt, típus definíciókat,
felsorolós algoritmus mintákat használunk. Az alkalmazásokat C# nyelven
implementáljuk, és teszteljük.
Tantárgyi tematika: A típus fogalma, felhasználói típus megvalósítása C# nyelven
osztállyal. Az objektum és az osztály fogalma. Objektumok példányosítása.
Konstruktor szerepe.
Az UML diagramok bemutatása: használati eset-, objektum-, kommunikációs-, osztály-, szekvencia- és állapotgép diagram.
Gyűjtemények és azok feldolgozása. Felsorolók fogalma, típusa.
Nevezetes felsorolók. Programozási tételek általánosítása felsorolókra. Szürke
doboz tesztelési stratégiák.
Szekvenciális inputfájl felsorolására épülő feladat-megoldások.
Objektumok közötti kapcsolatok (függőség, asszociáció, aggregáció,
kompozíció, származtatás) ábrázolása osztály diagramban, és ennek megvalósítása
C# nyelven.
Feladatok megoldásának objektumelvű modellezése, a modellekben
tervezési mintákat (sablonfüggvény, stratégia, egyke, állapot, látogató, híd,
bejáró, gyártófüggvény, összetétel) használva.
Esemény-vezérelt alkalmazások UML modellezése. Párhuzamosan
tevékenykedő objektumok C# nyelvű megvalósítása. Aszinkron üzenetek és
események kezelése.
Egyetemi jegyzet:
Gregorics T.: Programozás 1. kötet Tervezés. ELTE Eötvös Kiadó,
2013.
Sike S., Varga L.:
Szoftvertechnológia és UML. ELTE Eötvös Kiadó, 2003.
Ajánlott irodalom:
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides:
Programtervezési minták. Addison-Wesley, Kiskapu Kft. 2004.
Andrew Troelsen: A C#2008 és a .NET 3.5. Első kötet. SZAK Kiadó
Kft. 2009
Előfeltétel: Programozás
Óraszám:
ˇ
heti 2 óra tervezős gyakorlat, 2 óra kódolós gyakorlat, amelynek
második órája rendszeresen megtartott konzultációnak számít.
A kurzus teljesítésének feltételei:
ˇ
az
előadásokhoz tartozó kvízek közül legalább 8 darabot legalább 80%-os
eredménnyel kell teljesíteni
ˇ
3
db kis beadandó (adott terv alapján megírt programkód), amelyeket az előírt
határidőre be kell adni
ˇ
1
db nagy beadandó (tervdokumentáció, programkód és tesztelés), amit az előírt
határidőre (plusz legfeljebb 3 hét) be kell mutatni (határidőre bemutatva 5-öst
ér, majd minden hét késéssel eggyel kevesebbet)
ˇ
2
db (0-tól 5-ig értékelt) tervezős zárthelyik eredményének a legalább elégséges
(2) szintet el kell érnie (az egyik zárthelyit lehet javítani)
ˇ
2
db (megfelelt(5)/nem felelt meg(1) minősítésű) kódolós zárthelyi közül a
második megfelelt eredményű kell legyen (az egyik zárthelyit lehet javítani)
Az első tervezős és kódolós
zárthelyikre kb. a 7. héten, a második tervezős és kódolós zárthelyikre a
vizsga időszak első két hetében kerül majd sor. A beadandók és házi feladatok
témáját, határidejét a gyakorlatvezetők határozzák meg.
Gyakorlati
jegy: Amennyiben
megvalósulnak a kurzus teljesítésének feltételei, akkor a (beadandó jegye + tervezős zh-k jegyei + kódolós zh-k
jegyei) / 5 egészre kerekített
értéke.
Plágium: Amennyiben a hallgató bármely beadandója vagy házi feladata nagyfokú hasonlóságot mutat más hallgató munkájával, vagy bármilyen más forrással, úgy az nem teljesítettnek minősül, és az oktató a gyakorlati jegyet megtagadja.