Cserép Máté honlapja


Gyorslinkek: tartalom, navigáció.


Oktatás » ELTE » Webes alkalmazások fejlesztése » 2018/2019 ősz


A kurzus vizsgakurzus!

Célkitűzés

A kurzus célja a hallgatók megismertetése a webes, illetve hálózati technológiák programozási lehetőségeivel egy objektumorientált, eseményvezérelt környezetben, valamint betekintés a számítási felhők által nyújtott lehetőségekbe.
A félév célterületei a dinamikus weblapfejlesztés és webszolgáltatások, valamint a felhő-alapú alkalmazások megvalósítása. A félév során alkalmazott platform a .NET Core keretrendszer 2.0-s változata, amelynek kurrens technológiái kerülnek ismertetésre (ASP.NET, MVC, WebAPI, TPL).

Előfeltételek

  • Eseményvezérelt alkalmazások fejlesztése 2. (erős)

Szükséges előismeretek

  • Alapvető webes technológiák (HTML, CSS).
  • Objektumorientált és eseményvezérelt programozás, modellezés (UML).
  • C# programozási nyelvi és .NET keretrendszer alapismeretek.
  • Grafikus felületű alkalmazások (WPF), 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 két 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 használható, továbbá a hallgatók részére elérhető lesz saját beadandóik forráskódja. 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 két beadandó feladatra adott pontszám, valamint a zárthelyire kapott pontszám duplájának átlaga.

Tematika

  1. Webes alkalmazások és biztonságuk (prezentáció)
  2. ASP.NET MVC: webfejlesztés MVC architektúrában (prezentáció)
  3. ASP.NET MVC: objektumrelációs adatkezelés (prezentáció, utazási ügynökség)
  4. ASP.NET MVC: megjelenítés és tartalomkezelés (prezentáció, utazási ügynökség)
  5. ASP.NET MVC: adatbevitel és validáció (prezentáció, utazási ügynökség)
  6. ASP.NET MVC: állapotfenntartás
  7. ASP.NET MVC: autentikáció és autorizáció (prezentáció, utazási ügynökség)
  8. ASP.NET WebAPI: webszolgáltatások megvalósítása (prezentáció)
  9. ASP.NET WebAPI: webszolgáltatások felhasználása
  10. ASP.NET WebAPI: webszolgáltatások tesztelése (prezentáció, utazási ügynökség)

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, a lokális adatokat tartalmazó .vs, 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

Feladatsor

  1. ASP.NET webes felhasználói felület
    • Követelmények: A weblapot ASP.NET Core MVC keretrendszerben kell megvalósítani, kihasználva az általa adott funkcionalitást (állapotkezelés, validáció, authentikáció). Az adatokat adatbázisban kell tárolni, és Entity Framework Core segítségével kell kezelni.
    • Dokumentáció: Tartalmaznia kell a feladat elemzését, felhasználói eseteit (UML felhasználói esetek diagrammal), a rendszer szerkezetének leírását (UML komponensdiagrammal és osztálydiagrammal), az adatbázis felépítését (egyedkapcsolati diagrammal).
  2. WPF adminisztrációs alkalmazás
    • Követelmények: A megvalósításban az előző feladat megoldásából kell kiindulni. Az alkalmazást MVVM architektúrában kell felépíteni, amelynek modellje biztosítja a kapcsolatot a korábban felépített adatbázissal egy ASP.NET Core webszolgáltatás segítségével (MVC keretrendszerben), amelynek funkcionalitását külön 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), az alkalmazások szerkezetének leírását (UML komponensdiagrammal és osztálydiagrammal), az adatbázis felépítését (egyedkapcsolati diagrammal), a webszolgátatás felületének leírását, valamint a tesztesetek listáját.

Zárthelyik

A géptermi zárthelyire évfolyamszinten a félév végén kerül sor, a cél egy webes alkalmazás megvalósítása .NET Core 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 18. kedd, 11:30-14:00, 14:30-17:00, Lovarda
  • Pót ZH: január 15. kedd, 13:00-15:30, Lovarda

Feladatok

Irodalomjegyzék

  • Giachetta Roberto: Webes alkalmazások fejlesztése, ELTE IK Digitális Könyvtár, 2016
  • Andrew Troelsen: Pro C# 7: With .NET and .NET Core, Apress, 2018
  • Adam Freeman: Pro ASP.NET Core MVC 2, Apress, 2017
  • Dirk Strauss: C# 7 and .NET Core Cookbook, Packt Publishing, 2017
  • Adam Freeman: Pro Entity Framework Core 2 for ASP.NET Core MVC, Apress, 2018
  • Ricardo Peres: Entity Framework Core Cookbook, Packt Publishing, 2016

  • 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

Ajánlott weboldalak