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 keretrendszer 4.5-s változata, amelynek kurrens technológiái kerülnek ismertetésre (ASP.NET, 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 alatt hálózat nincs, csak az előadás honlapja érhető el.
É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
- Bevezetés (prezentáció)
- Webes alkalmazások és biztonságuk (prezentáció)
- -
- ASP.NET MVC: webfejlesztés MVC architektúrában (prezentáció)
- ASP.NET MVC: objektumrelációs adatkezelés (prezentáció, utazási ügynökség)
- ASP.NET MVC: megjelenítés és tartalomkezelés (prezentáció, utazási ügynökség, képek)
- ASP.NET MVC: adatbevitel és validáció (prezentáció, utazási ügynökség)
- ASP.NET MVC: állapotfenntartás
- ASP.NET MVC: autentikáció és autorizáció (prezentáció, utazási ügynökség)
- Tavaszi szünet
- ASP.NET WebAPI: webszolgáltatások megvalósítása (prezentáció, utazási ügynökség)
- Neumann-Nap
- ASP.NET WebAPI: webszolgáltatások felhasználása
- ASP.NET WebAPI: szolgáltatás alapú rendszerek megvalósítása
- ASP.NET WebAPI: szolgáltatás alapú rendszerek megvalósítása
Gyakorlati tematika
- -
- Bevezetés
- Konzultáció
- Konzultáció
- ASP.NET MVC & Entity Framework (TodoList, Skeleton)
- Konzultáció
- Konzultáció
- Konzultáció
- Konzultáció
- Tavaszi szünet
- ASP.NET WebAPI (TodoList, Skeleton)
- Beadandó bemutatás
- Beadandó bemutatás
- 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: április 18. kedd 23:59
- 2. beadandó elkészítése: május 7. vasárnap 23:59
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 a Subversion verziókezelő rendszeren keresztül történik. A tárolóban a dokumentációt (PDF formátumban), valamint a forráskódot kell elhelyezni (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 tároló URL címe:
http://psztsrv.inf.elte.hu/svn/waf/<Neptun kód>/
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.
SVN hozzáférés
- A tartalom megtekintése autentikációhoz kötött. Hitelesítsd magad.
Feladatok
- ASP.NET webes felhasználói felület
- Követelmények: A weblapot ASP.NET 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 ADO.NET Entity Framework 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).
- 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 WebAPI webszolgáltatás segítségével, 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 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 használható, továbbá a hallgatók felhasználhatják a félév során elkészített beadandóikat. A zárthelyi alatt hálózat nincs, csak a tárgy honlapja érhető el.
Időpontok
- ZH: május 23. kedd, 9:00-12:00, 12:00-15:00, Lovarda
- Pót ZH: június 13. kedd, 12:00-15:00, Lovarda
Feladatok
- 2017. május 23.: Feladatlap, Adatbázis
- 2017. június 13.: Feladatlap, Adatbázis
Irodalomjegyzék
- Giachetta Roberto: Webes alkalmazások fejlesztése, ELTE IK Digitális Könyvtár, 2016
- Regius Kornél: ASP.NET MVC 4+, 2013
- Reiter István: ASP.NET MVC Web API, 2013
- 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
- Jon Galloway: Professional ASP.NET MVC 5, Wrox, 2014
- Mark J. Price: C# 6 and .NET Core 1.0: Modern Cross-Platform Development, Packt Publishing, 2016