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.