Célkitűzés
A kurzus célja a korábbi objektumorientált programozási ismeretekre alapozva grafikus felületet (GUI-t) használó, az állapot perzisztálást objektumrelációs adatbázis-kezeléssel megvalósító 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, Entity Framework).
Előfeltételek
- Programozás (erős)
- Eseményvezérelt alkalmazások fejlesztése 1. (ajánlott)
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.
- Relációs adatbázis-kezelési alapok (SQL).
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, egy elméleti beugróból és egy gyakorlati feladatból áll. A gyakorlati rész é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 elméleti beugrójának megírása során semmilyen segédeszköz nem használható, azonban a gyakorlati feladat megoldásához 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ó)
- 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ó)
- WPF alkalmazások architektúrája
(prezentáció)
- Összetett WPF alkalmazások
(prezentáció)
- Entity Framework: objektumrelációs adatkezelés
(prezentáció)
- WPF erőforrások kezelése
(prezentáció)
Gyakorlati tematika
- Bevezetés
- Konzultáció
- Konzultáció
- Konzultáció
- C# programozás, egységtesztelés
- WinForms alkalmazás fejlesztés
- Konzultáció és beadandó bemutatás
- Konzultáció és beadandó bemutatás
- WPF alkalmazás fejlesztés
- Tavaszi szünet
- Konzultáció és beadandó bemutatás
- Május 1.
- Adatbáziskezelés, Entity Framework
- Beadandó bemutatás
Választható feladatok
- A tartalom megtekintése autentikációhoz kötött. Hitelesítsd magad.
Beadandó határidők
- 1. beadandó elkészítése: március 27. szerda, 06:00
- 2. beadandó elkészítése: május 8. szerda, 06:00
- 3. beadandó elkészítése: május 15. szerda, 06:00
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
- WPF grafikus felületű alkalmazás adatbáziskezeléssel
- 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. Az adatokat adatbázisban kell tárolni, és Entity Framework segítségével kell kezelni. 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), az adatbázis felépítését (egyedkapcsolati diagrammal), 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 és két részből áll: egy elméleti beugróból és egy gyakorlati feladatból. A sikertelen (0-1) zárthelyi javítására, pótlásra lesz lehetőség.
- Az elméleti beugrón 15 feleletválasztós kérdésre kell válaszolni 60 perc alatt. Értékelése kétfokozatú (megfelelt, nem felelt meg), a megfelelt értékeléshez legalább 8 helyes válasz megadása szükséges. Az zárthelyi elméleti beugrójának sikeres teljesítése a gyakorlati feladat megkezdésének előfeltétele. Az elméleti beugró megírása során semmilyen segédeszköz nem használható.
- A gyakorlati rész célja egy grafikus felületű, opcionálisan adatbázist is kezelő alkalmazás megvalósítása .NET keretrendszerben. A gyakorlati feladat értékelése hatfokozatú skálán (0-5) történik az adott feladatrészek megoldásának függvényében. A zárthelyi gyakorlati részére rendelkezésre álló tiszta munkaidő 150 perc. A gyakorlati feladat megoldásához mindennemű írásos segédeszköz, továbbá - a kommunikációs szolgáltatásokat kizárva - Internet használható.
Időpontok
- ZH: május 30. csütörtök, 09:00-13:00, 14:00-18:00, Lovarda
- Pót ZH: június 13. csütörtök, 09:00-13:00, Lovarda
Minta feladatsorok
- 2018. december 18.: Feladatlap, pawn.zip
- 2019. január 15.: Feladatlap
- 2018. május 19.: Minta beugró
Feladatok
- 2019. május 30.: Feladatlap
- 2019. június 13.: 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
- Julia Lerman: Programming Entity Framework, O'Reilly Media, 2010