Cserép Máté honlapja


Gyorslinkek: tartalom, navigáció.


Oktatás » ELTE » Eseményvezérelt alkalmazások fejl. 2 » 2018/2019 tavasz


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

  1. Bevezetés (prezentáció)
  2. A .NET platform és a C# programozási nyelv (prezentáció)
  3. Windows Forms alapismeretek, eseményvezérlés (prezentáció)
  4. Windows Forms dinamikus felhasználói felület, elemi grafika (prezentáció)
  5. Windows Forms alkalmazások architektúrája és tesztelése (prezentáció)
  6. Windows Forms alkalmazások párhuzamosítása (prezentáció)
  7. Windows Presentation Foundation (WPF) alapismeretek (prezentáció)
  8. WPF alkalmazások architektúrája (prezentáció)
  9. Összetett WPF alkalmazások (prezentáció)
  10. Entity Framework: objektumrelációs adatkezelés (prezentáció)
  11. WPF erőforrások kezelése (prezentáció)
A 8. gyakorlati csoport oldala.

Gyakorlati tematika

  1. Bevezetés
  2. Konzultáció
  3. Konzultáció
  4. Konzultáció
  5. C# programozás, egységtesztelés
  6. WinForms alkalmazás fejlesztés
  7. Konzultáció és beadandó bemutatás
  8. Konzultáció és beadandó bemutatás
  9. WPF alkalmazás fejlesztés
  10. Tavaszi szünet
  11. Konzultáció és beadandó bemutatás
  12. Május 1.
  13. Adatbáziskezelés, Entity Framework
  14. 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

  1. 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
  2. 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
  3. 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

Feladatok

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

Ajánlott weboldalak