Célkitűzés
A kurzus célja a korábbi objektumorientált programozási ismeretekre alapozva grafikus felületet (GUI-t) használó, eseményvezérelt alkalmazások fejlesztése.
A kurzus az általános ismeretek (módszerek, architektúrák) mellett egy átfogó képet ad a platform lehetőségeiről, és betekintést nyújt számos technológiájába (Windows Forms, Windows Presentation Foundation, Xamarin).
Előfeltételek
- Objektumelvű alkalmazások fejlesztése (erős)
Szükséges előismeretek
- Objektumorientált programozás és tervezés (UML), háromrétegű szoftver architektúrák.
- Grafikus felületű alkalmazások felépítése és működése, eseményvezérlés.
Számonkérés
A hallgatók a tárgyból a félév során három beadandó feladatot, valamint egy géptermi zárthelyit kell teljesíteniük.
A beadandók dokumentációból, valamint programból állnak, utóbbi csak a megfelelő dokumentáció bemutatásával értékelhető. A beadandók ötfokozatú skálán értékelhetőek. Csak a kitűzött feladatot megoldó, önállóan megvalósított, hibátlanul működő, letesztelt program fogadható el. A kiírásban megadott időpontig beadott, és utólag elfogadott beadandó értékelése 5-ös. Minden hét csúszás egy jegy levonást eredményez.
A géptermi zárthelyire évfolyamszinten a félév végén kerül sor. A zárthelyik értékelése hatfokozatú skálán (0-5) történik az adott feladatrészek megoldásának függvényében. A sikertelen (0-1) zárthelyi javítására, pótlásra lesz lehetőség. A zárthelyi megírása során mindennemű írásos segédeszköz, továbbá - a kommunikációs szolgáltatásokat kizárva - Internet használható.
Értékelés
A hallgatók a tárgyból aláírást, valamint gyakorlati jegyet szerezhetnek.
Az aláírás előfeltétele a géptermi zárthelyi eredményes (legalább 2 pontos) teljesítése, valamint minden beadandó legalább elégséges (2) szintre történő beadása és elfogadtatása. Amennyiben a hallgató nem tudja megvédeni valamely beadandóját, vagy megállapíthatóan nem önálló munkát adott be, akkor a gyakorlati jegy megtagadásra kerül.
A gyakorlati jegy a három beadandó feladatra adott pontszám, valamint a zárthelyire kapott pontszám duplájának átlaga.
Előadás tematika
- Bevezetés (prezentáció)
- A .NET platform és a C# programozási nyelv (prezentáció)
- Tanítási szünet (UNESCO Egyetemi Sport Nemzetközi Napja)
- Windows Forms alapismeretek, eseményvezérlés
(prezentáció)
- Windows Forms dinamikus felhasználói felület, elemi grafika
(prezentáció)
- Windows Forms alkalmazások architektúrája és tesztelése
(prezentáció)
- Windows Forms alkalmazások párhuzamosítása
(prezentáció)
- Windows Presentation Foundation (WPF) alapismeretek
(prezentáció)
- Őszi szünet
- WPF alkalmazások architektúrája
(prezentáció)
- Összetett WPF alkalmazások
(prezentáció)
- WPF erőforrások kezelése
(prezentáció)
- Xamarin alapismeretek I.
(prezentáció)
- Xamarin alapismeretek II.
- Platformspecifikus Xamarin alkalmazások
(prezentáció)
Beadandók
A beadandók dokumentációból, valamint programból állnak, utóbbi csak a megfelelő dokumentáció bemutatásával értékelhető. Csak funkcionálisan teljes, a feladatnak megfelelő, önállóan megvalósított, személyesen bemutatott program fogadható el.
Dokumentáció követelményei
A dokumentációnak jól áttekinthetőnek, megfelelően formázottnak kell lennie, tartalmaznia kell a fejlesztő adatait, a feladatleírást, valamint az egyes feladatcsoportokban megszabott tartalmat.
A dokumentáció ne tartalmazzon kódrészleteket, illetve képernyőképeket. A megjelenő diagramokat megfelelő szerkesztőeszköz segítségével kell előállítani.
A dokumentációt elektronikusan, PDF formátumban kell leadni.
Program követelményei
Csak a funkcionálisan működő, felhasználó barát (könnyen használható, szép, öndokumentáló), kódolását tekintve átlátható, tetszetős megoldásokat tartalmazó programot fogadunk el. A feladat kitűzése csak a funkcionális követelményeket tartalmazza.
A megvalósításban a fejlesztőkörnyezet által biztosított valamennyi nyelvi elem és lehetőség használható, a kódolási stílusnak meg kell felelnie az előadáson és gyakorlaton látottaknak. A programnak hibatűrőnek (hiba esetén ne omoljon össze), valamint bolondbiztosnak kell lennie (kezelje a hibás bevitt adatokat), és kezelnie kell a feladatnak megfelelő bemeneteket. A program működése során legyen informatív (idegen felhasználónak is látnia kell, hogy mit tesz a program).
Leadás és bemutatás
A beadandókat egyrészt elektronikusan kell leadni, másrészt személyesen kell bemutatni.
Az elektronikus leadás egységesen a http://assignment.elte.hu/ beadandókezelő rendszeren keresztül történik. A weboldalra a dokumentációt (PDF formátumban), valamint a forráskódot kell feltölteni ZIP formátumban csomagolva. (A lefordított programot tartalmazó bin, obj, a NuGet függőségeket tartalmazó packages, valamint bármilyen, a fordításhoz szükségtelen könyvtárat nem kell beküldeni).
A személyes bemutatás a beadandó védése, amely során válaszolni a feltett kérdésekre, esetlegesen el kell végezni a kért módosításokat.
Értékelés
A beadandók ötfokozatú skálán értékelhetőek. A kiírásban megadott időpontig beadott és elfogadott beadandó értékelése 5-ös.
A hallgatónak lehetősége van elhalasztani a beadást a kiírt időponthoz képest maximum 3 héttel. Minden hét csúszás egy jegy levonást eredményez. Amennyiben a hallgató bármely beadandójával ezt túllépi, nem jogosult gyakorlati jegyre.
Amennyiben a hallgató a bemutatáskor nem tudja megvédeni a beadandóját, vagy bármely beadandója nagyfokú hasonlóságot mutat más hallgató beadandójával, vagy bármilyen más forrással, úgy az nem teljesítettnek minősül, és a gyakorlati jegy megtagadásra kerül.
Feladatok
- Windows Forms grafikus felületű alkalmazás
- Követelmények: A megvalósításnak felhasználóbarátnak, és könnyen kezelhetőnek kell lennie. A szerkezetében törekednie kell az objektumorientált szemlélet megtartására. A programot háromrétegű (modell/nézet/perzisztencia) architektúrában kell felépíteni. A modell funkcionalitását egységtesztek segítségével kell ellenőrizni.
- Dokumentáció: Tartalmaznia kell a feladat elemzését, felhasználói eseteit (UML felhasználói esetek diagrammal), a program szerkezetének leírását (UML osztálydiagrammal), valamint a tesztesetek ismertetését.
- Feladatsor, Mintadokumentáció, Mintaprogram
- WPF grafikus felületű alkalmazás
- Követelmények: A megvalósításnak felhasználóbarátnak, és könnyen kezelhetőnek kell lennie. A szerkezetében törekednie kell az objektumorientált szemlélet megtartására. A programot MVVM architektúrában kell felépíteni. A modell funkcionalitását egységtesztek segítségével kell ellenőrizni.
- Dokumentáció: Tartalmaznia kell a feladat elemzését, felhasználói eseteit (UML felhasználói esetek diagrammal), a program szerkezetének leírását (UML osztálydiagrammal), valamint a tesztesetek ismertetését.
- Feladatsor, Mintadokumentáció, Mintaprogram
- Xamarin alkalmazás
- Követelmények: A megvalósításnak felhasználóbarátnak, és könnyen kezelhetőnek kell lennie. A szerkezetében törekednie kell az objektumorientált szemlélet megtartására. A programot MVVM architektúrában kell felépíteni. A modell funkcionalitását egységtesztek segítségével kell ellenőrizni. A megvalósítást csak egy választott platformra kell elkészíteni.
- Dokumentáció: Tartalmaznia kell a feladat elemzését, felhasználói eseteit (UML felhasználói esetek diagrammal), a program szerkezetének leírását (UML osztálydiagrammal), valamint a tesztesetek ismertetését.
- Feladatsor, Mintadokumentáció, Mintaprogram
Zárthelyik
A géptermi zárthelyire évfolyamszinten a félév végén kerül sor, a cél egy grafikus felületű alkalmazás megvalósítása .NET keretrendszerben. A zárthelyik értékelése hatfokozatú skálán (0-5) történik az adott feladatrészek megoldásának függvényében. A sikertelen (0-1) zárthelyi javítására, pótlásra lesz lehetőség.
A zárthelyi megírása során mindennemű írásos segédeszköz, továbbá - a kommunikációs szolgáltatásokat kizárva - Internet használható.
Időpontok
- ZH: december 21. csütörtök, 9:00-13:00, 13:00-17:00, Lovarda
- Pót ZH: január 18. csütörtök, 9:00-13:00, Lovarda
Feladatok
- 2017. december 21.: Feladatlap
- 2018. január 18.: Feladatlap
Irodalomjegyzék
- Giachetta Roberto: Eseményvezérelt alkalmazások fejlesztése II., ELTE IK Digitális Könyvtár, 2014
- Reiter István: C# programozás lépésről lépésre, Jedlik, 2012
- Andrew Troelsen: C# 6.0 and the .NET 4.6 Framework, Apress, 2015
- Alex Mackey: Introducing .NET 4.5 (Expert's Voice in .NET), Apress, 2012
- Jeff Martin: Visual Studio 2015 Cookbook, Packt Publishing, 2016
- Charles Petzold: Creating Mobile Apps with Xamarin.Forms, Microsoft Press, 2015
- Ed Sneider: Mastering Xamarin.Forms, Packt Publishing, 2016