Objektumelvű programozás

 

Tantárgy célja bemutatni az objektumelvű programozási paradigma elemzési, tervezési, megvalósítási és tesztelési aspektusait kisebb méretű objektumelvű alkalmazások készítésén keresztül. A modellezéséhez elsősorban UML diagramokat használunk, az alkalmazásokat C# nyelven implementáljuk, és teszteljük.

 

Tantárgyi tematika:

Az objektum fogalma, az objektum típusának leírása és az osztály fogalma. Objektum-orientált programozási nyelv ismérvei. Objektumok példányosítása, konstruktor és gyártó függvények szerepe.

Gyűjtemények és azok feldolgozása. Felsorolók fogalma, típusa. Nevezetes felsorolók. Algoritmus minták általánosítása felsorolókra. Feladatok megoldása felsorolókra fogalmazott algoritmus mintákra történő visszavezetéssel. Algoritmus mintákra épülő programok tesztelése.

Az egyszerűbb objektum-orientált alkalmazások modellezéséhez használt UML diagramok: használati eset diagram, objektum diagram, kommunikációs diagram, osztály diagram, szekvencia diagram, állapotgép diagram.

Objektumok közötti kapcsolatok ábrázolása az osztály diagramban. A függőség, az asszociáció, az aggregáció, a kompozíció, és a származtatás és ezek objektum-orientált nyelven történő megvalósítása.

Esettanulmányok tervezési mintákra (egyke, gyártőfüggvény, sablonfüggvény, stratégia, állapot, látogató, összetétel, híd, bejáró, gyártófüggvény).

Objektumok viselkedésének tervezése állapotgép diagrammok segítségével. Párhuzamosan tevékenykedő objektumok objektum-orientált nyelven történő megvalósítása. Aszinkron üzenetek és események kezelése.

A bemutatott feladatok modelljeinek C# nyelven történő implementálása, tesztelése.

 

Előfeltétel: Programozás

 

Óraszám:

 

A kurzus teljesítésének feltételei:

7.hét: specifikáció (használati esetek, objektum diagram, kommunikációs diagram)

9. hét: modell (részletes osztály diagram tervezési minták nélkül)

11.hét: teljes tervdokumentáció (specifikáció, osztálydiagram tervezési mintákkal, 

              kezdetleges állapotgépdiagram, szekvencia diagram)

13.hét: a teljes megoldást a kódolós gyakorlatvezető által a szorgalmi időszak végén kijelölt időpontban kell bemutatni: az elfogadott munka 5-öst ér, majd minden hét késés után eggyel kevesebbet. Legalább elégséges(2) eredményt el kell érni.

 

Gyakorlati jegy: Amennyiben megvalósulnak a kurzus teljesítésének feltételei, akkor a (tervezős zh-k jegyei + kódolós zh jegye + beadandó jegye) / 4 + 0.1*(szorgalmik száma) összegnek az 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.

 

MI használat: A kurzus házi feladatainak megoldását nem elég beadni, annak részleteit el is kell tudni magyarázni. Éppen ezért, ahogy a másokkal elkészített megoldást sem, úgy az MI által generált megoldást sem fogadjuk el, ha annak bemutatásakor valaki bizonytalan, és a saját munkájának részleteit nem ismeri, nem érti. A géptermi zárthelyiken megpróbáljuk kizárni az MI használatát. Ugyanakkor ez a technológia igénybe vehető a beadandók elkészítésekor: például egy-egy UML diagram megrajzolásához, egy kisebb kódrészlet legenerálásához.