Nyomtatás

Miskolci Egyetem - Gépészmérnöki és Informatikai Kar

TANTÁRGYI TEMATIKA

Programtervezési minták; Mérnök inf (Nappali+Levelező)

Tantárgy neve:
Programtervezési minták
Tantárgy Neptun kódja:
Nappali: GEIAL517M
Levelező: GEIAL517ML
Tárgyfelelős intézet:
INF - Informatikai Intézet
Tantárgyelem: S
Tárgyfelelős: Sátán Ádám - tanszéki mérnök
Közreműködő oktató(k):
Javasolt félév: 4 Előfeltétel:
Óraszám/hét:
Előadás (nappali): 2
Gyakorlat (nappali): 2
Előadás (levelező): 8
Gyakorlat (levelező): 8
Számonkérés módja: kollokvium
Kreditpont: 4Munkarend: Nappali+Levelező
Tantárgy feladata és célja:

A tantárgy célja megismertetni az objektum orientált szemléletű, tervezési
minták alapú programtervezés elméleti hátterét és gyakorlati alkalmazását. A
megszerzett ismeretek felkészítik a kurzust elvégző hallgatókat összetett
problémákat megoldó szoftver rendszerek tervezésére, a tervezési munka
minőségének és hatékonyságának növelésére.


Tudás: Az informatikai szakmán belül, a specializációtól függően mélyebb elméleti és gyakorlati ismeretekkel rendelkezik az alábbiak közül egy vagy néhány területen: szoftvertervezés, rendszerszimuláció és -modellezés, kommunikációs hálózatok, mobil- és erőforrás-korlátos alkalmazások, számítógépes grafika és képfeldolgozás, kritikus és beágyazott rendszerek, médiainformatika, IT-biztonság, párhuzamos rendszerek, intelligens rendszerek, számításelmélet, adatbázisok.
Képesség: Képes problémamegoldó technikákat használni a szoftver- és alkalmazásfejlesztés során. A specializációjának megfelelő területen elemzési, tervezési és megvalósítási készséggel rendelkezik.
Attitűd: Kezdeményező a problémamegoldásban, képes megalapozott döntéseket hozni, nem tér ki a személyes felelősségvállalás elől.
Autonomia és felelősség: Önállóan tölt be informatikai munkakört, amelyben a teljes folyamatot kezében tartva, szakmailag felelős módon dolgozik.
Tárgy tematikus leírása:

Az objektumorientált tervezés alapelvei, a tervezés során megoldandó problémák. Az aggregálás vagy leszármaztatás dilemmája. Interfész alapú programozás. Az információrejtés alapelvének elemzése gyakorlati szempontból.

A programtervezési minták (design patterns) és fejlesztési keretrendszerek (frameworks) fogalma, célja. Mire használhatók és mire nem a minták? A tervezési minták leírása. A klasszikus tervezési minták csoportosítása. A legfontosabb klasszikus tervezési minták.

Tervezési minták Java vagy C# környezetben.: Builder, Comnposite, Adapter, Factory, Singleton, ProxyFacadse, Iterator, Prototype, Bridge, Flyweight, Chain of responsibility, Command, State

Félévközi számonkérés módja és az aláírás megszerzésének feltétele (Nappali):

Aláríás feltétele a kiadott féléves fejlesztési feladat sikeres teljesítése. A számonkérés a félév végén szóbeli prezentációban. A program demózása szükséges.

Félévközi számonkérés módja és az aláírás megszerzésének feltétele (Levelező):

Aláríás feltétele a kiadott féléves fejlesztési feladat sikeres teljesítése. A számonkérés a félév végén szóbeli prezentációban. A program demózása szükséges.

Gyakorlati jegy / kollokvium teljesítésének módja, értékelése (Nappali):
Gyakorlati jegy / kollokvium teljesítésének módja, értékelése (Levelező):
Kötelező irodalom:

1. Cooper, James W.: C# Design Patterns. Addison-Wesley, 2003.

2. Programtervezési minták: Újrahasznosítható elemek objektumközpontú programokhoz. Kiskapu / Addison Wesley, Budapest, 2004. illetve az eredeti kiadás: Patterns, Design: Elements of Reusable Object-Oriented Software, Addison Wesley, 1995.

3. Elisabeth Freeman, Eric Freeman, Bert Bates, Kathy Sierra, Elisabeth Robson: Head First Design Patterns (2004, ISBN-10: 0596007124)

Ajánlott irodalom:

4. Kent Beck: Implementaion Patterns

5. Robert C. Martin: Clean Code