Cserép Máté honlapja


Gyorslinkek: tartalom, navigáció.


Oktatás » ELTE » Webes alkalmazások fejlesztése » 2019/2020 tavasz


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 3.1-es 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) (2008-as és 2017-es tanterv) VAGY
  • Eseményvezérelt alkalmazások (erős) (2018-as tanterv)

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, 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 két beadandó feladatra adott pontszám, valamint a zárthelyire kapott pontszám duplájának átlaga.

Előadás tematika

  1. Bevezetés, .NET Core (prezentáció)
  2. ASP.NET MVC: webfejlesztés MVC architektúrában (prezentáció, utazási ügynökség)
  3. ASP.NET MVC: megjelenítés és tartalomkezelés (prezentáció, utazási ügynökség)
  4. ASP.NET MVC: adatbevitel és validáció (prezentáció, utazási ügynökség)
  5. Rektori szünet
  6. Tavaszi szünet
  7. ASP.NET MVC: állapotfenntartás
  8. ASP.NET MVC: autentikáció és autorizáció (prezentáció, utazási ügynökség)
  9. ASP.NET WebAPI: webszolgáltatások megvalósítása (prezentáció, utazási ügynökség)
  10. ASP.NET WebAPI: webszolgáltatások felhasználása I.
  11. ASP.NET WebAPI: webszolgáltatások felhasználása II.
  12. ASP.NET WebAPI: webszolgáltatások tesztelése (prezentáció, utazási ügynökség)
  13. Web Security: A tartalom megtekintése autentikációhoz kötött. Hitelesítsd magad.
  14. ASP.NET: webszolgáltatások kihelyezése (prezentáció, utazási ügynökség)

Gyakorlati tematika

  1. Követelmények ismertetése
  2. Konzultáció
  3. ASP.NET Core MVC: adatmodell kialakítása, Entity Framework
  4. ASP.NET Core MVC: megjelenítés
  5. Rektori szünet
  6. Tavaszi szünet
  7. ASP.NET Core MVC: adatbevitel és validáció
  8. ASP.NET Core MVC: authentikáció és authorizáció
  9. Beadandó bemutatás / konzultáció
  10. Beadandó bemutatás / konzultáció
  11. ASP.NET Core WebAPI + WPF: megjelenítés
  12. ASP.NET Core WebAPI + WPF: adatbevitel, tesztelés
  13. Beadandó bemutatás / konzultáció
  14. Beadandó bemutatás / konzultáció

A 4. gyakorlati csoport oldala.
péntek 12:00-14:00

Beadandó határidők

  • 1. beadandó: március 27. április 10.
  • 2. beadandó: május 1. május 8.

Kiírt feladat

  • A tartalom megtekintése autentikációhoz kötött. Hitelesítsd magad.

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 é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 20 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 webes alkalmazás megvalósítása .NET Core 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 19. kedd, 13:00-16:00, Lovarda
  • Pót ZH: május 28. csütörtök, 14:00-17:00, Lovarda

Elméleti feladat

  • A assignment.elte.hu beadandókezelő és vizsgáztató webalkalmazásban kerül lebonyolításra. Bejelentkezés után a felső (sötét színű) menüsávban kattints a ceruza ikonra a vizsgáztató felületre történő átváltásra.

Gyakorlati feladat

  • Mindenkinek a részére kiírt feladatot kell megoldani.
    A megoldást ZIP formátumban fel kell tölteni a assignment.elte.hu beadandókezelő rendszerbe. (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 feltöltött ZIP állományba egy README.txt fájlba el kell helyzeni, hogy a beküldött megoldás meddig van készen (hány részfeladat).
  •  
  • Feladatsor letöltése
    A tartalom megtekintése autentikációhoz kötött. Hitelesítsd magad.

Irodalomjegyzék

  • Giachetta Roberto: Webes alkalmazások fejlesztése, ELTE IK Digitális Könyvtár, 2016
  • Mark Price: C# 8.0 and .NET Core 3.0 - Modern Cross-Platform Development, Packt Publishing, 2019
  • 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