FÉLÉVES FELADAT KÖVETELMÉNYEK

Hasonló dokumentumok
Szoftvertechnolo gia 7. gyakorlat

WCF, Entity Framework, ASP.NET, WPF 1. WCF service-t (adatbázissal Entity Framework) 2. ASP.NET kliens 3. WPF kliens

Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer

Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer

Eseményvezérelt alkalmazások fejlesztése II 12. előadás. Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto

Adatintegritás ellenőrzés Felhasználói dokumentáció verzió 2.0 Budapest, 2008.

Webes alkalmazások fejlesztése

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Enterprise JavaBeans 1.4 platform (EJB 2.0)

C#---Access adatbáziskezelési gyakorlat

OOP és UML Áttekintés

Enterprise JavaBeans. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Az Enterprise JavaBeans

KÖTELEZŐ PROGRAM, SZÁMONKÉRÉSEK. Részletek

A Java EE 5 plattform

MVC. Model View Controller

Eseményvezérelt és objektumorientált programozás

ADATBÁZISOK, 2018 ősz

ADATBÁZISOK, 2017 ősz

QBE Édes Otthon lakásbiztosítás tarifáló webservice. Fejlesztői dokumentáció 1.0.2

VBA makrók aláírása Office 2007 esetén

Használati alapú és modell alapú tesztelés kombinálása szolgáltatásorientált architektúrák teszteléséhez az ipari gyakorlatban

Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve. Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba

Adatbázis kezelő szoftverek biztonsága. Vasi Sándor G-3S

Diákhitel igénylés folyamata

Változáskezelés Verzió Dátum Változás Pont Cím Oldal Kiadás: Verzió: 2.0. Oldalszám: 2 / 8

A Feldspar fordító, illetve Feldspar programok tesztelése


Utolsó módosítás:

Adatbányászat és Perszonalizáció architektúra

Webes alkalmazások fejlesztése 3. előadás. Objektumrelációs adatkezelés (ASP.NET)

Bevezetés a Python programozási nyelvbe

1. beadandó feladat dokumentáció

Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve. Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba

MŰSZAKI TESZTTERVEZÉSI TECHNIKÁK STRUKTÚRA ALAPÚ, VAGY FEHÉRDOBOZ TECHNIKÁK TAPASZTALAT ALAPÚ TECHNIKÁK

Partner. kezelési útmutató

PwC EKAER Tool felhasználói leírás május

Entity Framework + LINQ oktatási segédlet

Bár a szoftverleltárt elsősorban magamnak készítettem, de ha már itt van, miért is ne használhatná más is.

Adatbázis-kezelés alapjai 1. Ea: Infó Mátrix. Lehet, nem lehet

Univerzális munkafolyamat szimulátor

Az alábbiakban a portál felépítéséről, illetve az egyes lekérdező funkciókról kaphat részletes információkat.

Szemléletmód váltás a banki BI projekteken

Nyílt forráskódú irodai programkomponensek vállalati környezetbe való integrációjának vizsgálata és implementációja

Adónaptár. A cégenkénti adónaptár a menükezelő Egyéb Cégenkénti adónaptár menüpontjából indítható.

Szoftvertechnolo gia gyakorlat

Az Oracle Fusion szakértői szemmel

Webes alkalmazások fejlesztése 7. előadás. Autentikáció és autorizáció (ASP.NET Core) Cserép Máté

Alkalmazások fejlesztése A D O K U M E N T Á C I Ó F E L É P Í T É S E

MS ACCESS 2010 ADATBÁZIS-KEZELÉS ELMÉLET SZE INFORMATIKAI KÉPZÉS 1

FELHASZNÁLÓI DOKUMENTÁCIÓ ÜZEMBEHELYEZÉSI KÉZIKÖNYV

Adatbázis, adatbázis-kezelő

Adabáziselérés ODBC-n keresztül utasításokkal C#-ban

HASZNÁLATI ÚTMUTATÓ DOLGOZÓK IMPORTÁLÁSA KULCS BÉR PROGRAMBA AZ ONLINE MUNKAIDŐ NYILVÁNTARTÓ RENDSZERBŐL. Budapest, november 08.

Webtárhely létrehozása a helyen. Lépések Teendő 1. Böngészőbe beírni: 2. Jobb oldalon regisztrálni (tárhelyigénylés).

Saját Subversion tároló üzemeltetése i. Saját Subversion tároló üzemeltetése

API tervezése mobil környezetbe. gyakorlat

Országos Területrendezési Terv térképi mel ékleteinek WMS szolgáltatással történő elérése, Quantum GIS program alkalmazásával Útmutató 2010.

ANDROID ALKALMAZÁS FEJLESZTÉS

Egy családfaszerkesztő alkalmazás leírása

Egyetemi könyvtári nyilvántartó rendszer

Webes alkalmazások fejlesztése. Bevezetés az ASP.NET MVC 5 keretrendszerbe

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010

Interfészek. PPT 2007/2008 tavasz.

Iványi László ARM programozás. Szabó Béla 1. Óra Verziókövetés

Adatbázis alapú rendszerek

JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése

Felhasználói kézikönyv - Android kliens

GDi Esri Magyarország Felhasználói Konferencia Timár Gábor: Konkurens adatfeldolgozás ArcGIS rendszerben

Megfelelés a PSD2 szabályozásnak, RTS ajánlásokkal Electra openapi

Érdemes minden egyes kurzushirdetés után a meghirdetett kurzusra lekérni a hibalistát.

Információs technológiák 2. Gy: CSS, JS alapok

DRUPAL 7. újdonságai. Hojtsy Gábor Drupal Hétvége, Budapest november 14. Angela Byron fóliái alapján

Egyetemi könyvtári nyilvántartó rendszer

Tájékoztató. Használható segédeszköz: -

ETR Hallgatói webes alkalmazás

Miért ASP.NET? Egyszerű webes alkalmazás fejlesztése. Történet ASP ASP.NET. Működés. Készítette: Simon Nándor

GPRS Remote. GPRS alapú android applikáció távvezérléshez. Kezelési útmutató

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

01. gyakorlat - Projektalapítás

Summer of LabVIEW The Sunny Side of System Design

Oszkar.com Android alkalmazás v1.2

NEPTUN MOBIL ALKALMAZÁS FELHASZNÁLÓI SEGÉDLET

Entity Framework alapú adatbáziselérés

Osztálytervezés és implementációs ajánlások

Adatbázis alapú rendszerek (2015 tavaszi félév) Előadás

Az importálás folyamata Felhasználói dokumentáció verzió 2.1.

Web-fejlesztés NGM_IN002_1

Osztálytervezés és implementációs ajánlások

Eseményvezérelt alkalmazások fejlesztése II 10. előadás. Objektumrelációs adatkezelés (Entity Framework) Cserép Máté

Adatmodellezés. 1. Fogalmi modell

Tájékoztató. Használható segédeszköz: -

Felhasználói kézikönyv

Archivált tanulmányi adatok importálása. Felhasználói dokumentáció verzió 2.0.

Okos gyógyszeres doboz Projektfeladat specifikáció

NAV online számla regisztráció SAP rendszerhez

Webes alkalmazások fejlesztése 3. előadás. Objektumrelációs adatkezelés (Entity Framework) Cserép Máté

Bevezetés a QGIS program használatába Összeálította dr. Siki Zoltán

Mercedes XENTRY Portal Pro interfész

Tanúsítványkérelem készítése, tanúsítvány telepítése Lotus Domino szerveren

Átírás:

FÉLÉVES FELADAT KÖVETELMÉNYEK A hallgatóknak egyedül egy saját ötleten alapuló beadandó feladatot kell megvalósítaniuk. Az elkészült program a tanult rétegzési elvek szerint legyen felépítve, a program kódjában pedig kötelesek használni a technológiákat, amit a programozási részen megismertek. Beadandó feladatot mindenkinek készítenie kell, azoknak is, akik a tárgy egyik felét már teljesítették. A pontos határidőket gyakorlatvezetők hirdetik ki. A program valamilyen (minimum három, egymással kapcsolatban álló táblából álló) adatbázis kezelésén keresztül valósítson meg tetszőleges üzleti funkciókat. A projekt elkészítése során a következő követelményeknek kell megfelelni: DoxyGen segítségével generált HTML/CHM/PDF formátumú fejlesztői dokumentáció A kód legyen FXCop/StyleCop-helyes, az oenik.ruleset rulesetet kell használni Adatbázis használata + Entity Framework az eléréshez LINQ használata Unit tesztekkel ellátott kód (tipikusan az üzleti logika osztályaira) Rétegezett architektúra (a felhasználói felülettől leválasztott műveletvégző és adatbázis-kezelő DLL-ekkel, tehát tipikusan minimum 4 projekt: Console App + Business Logic + Entities + Tests) Egy felhasználós, egyetlen (master) branch-et használó GIT repository A projekthez szükséges a bitbucket.org weboldalon egy GIT repositoryt készíteni, az alábbi elnevezési konvenciót követve: OENIK_PROG3_ÉV_FÉLÉV_NEPTUN, ahol az ÉV a félév kezdetekor az évszám; a FÉLÉV pedig 1 = tavaszi félév, 2 = őszi félév. A projekt repohoz admin jogú hozzáférést kell adni az oe_nik_prog nevű bitbucket felhasználónak (ezt a felhasználót mindegyik SZT2 oktató el tudja érni). A prog_tools.pdf dokumentumban található egy rövid leírás a félév során használandó eszközökről, mint például a Git, Doxygen, StyleCop, stb... Felhasználandó segédanyagok: - oenik.ruleset - prog_tools.pdf - hivatalos követelményrendszer dokumentum

FÉLÉVES FELADAT SPECIFIKÁCIÓ A hallgatóknak egyedül egy saját ötleten alapuló beadandó feladatot kell megvalósítaniuk. Az elkészült program kódjában pedig kötelesek használni a technológiákat, amit a programozási részen megismertek. Beadandó feladatot mindenkinek készítenie kell, azoknak is, akik a tárgy egyik felét már teljesítették. Szükséges a projektfeladathoz egy adatbázist elkészíteni. Az adatbázisban lennie kell minimum 3 táblának, amik idegen kulcsokkal egymásra hivatkoznak. Mindegyik táblában kell minimum 5 nem-kulcs mező. Kapcsolótábla használata esetén a kapcsolótábla nem számít bele a 3 kötelező táblába. A feladat: ezen 3 táblának teljes körű kezelése (lista + hozzáadás + módosítás + törlés), és ezen kívül néhány (minimum 3) olyan funkció megírása, amik az egyszerű listázáson túlmutatnak, és a megoldáshoz több tábla összecsatolása és/vagy csoportosítás szükséges. Ezen kívül, legyen lehetőségünk egy Java végponttól adatot lekérni, és azt megjeleníteni. Például: autómárkák (id, név, országnév, url, alapítás éve, éves forgalom) + modellek (id, márka_id, név, megjelenés napja, motortérfogat, lóerő, alapár) + extrák (id, kategórianév, név, ár, szín, többször_használható_e) + modellextrakapcsoló (id, modell_id, extra_id). Példa funkciólista: - Márkák listázása / hozzáadása / módosítása / törlése - Modellek listázása / hozzáadása / módosítása / törlése - Extrák listázása / hozzáadása / módosítása / törlése - Modell-extra összerendelések listázása / hozzáadása / törlése - Legyen lehetőségünk kiírni minden autóhoz az autó TELJES árát is: alapár + a rajta lévő extrák összára - Legyen lehetőségünk kiírni márkánként az autók átlagos alapárát - Legyen lehetőségünk kiírni az extrák kategórianeveként csoportosítva azt, hogy melyik kategória hányszor van autókhoz kapcsolva - Legyen lehetőségünk egy Java webes végponttól árajánlatokat kérni: GET-ben adjuk át a Java végpontnak az autó teljes nevét és teljes árát; a Java servlet generáljon véletlenszerűen 5 árat a teljes ár körül, és azokat adja vissza valamilyen XML/JSON formában (5 darab autónév + vásárló neve + javasolt ár hármas, valahogy kódolva). Az autós példa használata engedélyezett, de nem kötelező. Nyugodtan találjunk ki valamilyen hasonlóan egyszerű, de izgalmasabb témájú struktúrát (az adatbázisok féléves feladattal azonos struktúra használata is engedélyezett). Más téma használata esetén azonos funkciók implementálása elvárt (mindegyik táblához lista/hozzáadás/módosítás/törlés és minimum 3, a listázáson túlmutató extra feladat, valamint a JAVA végpont használata). A későbbiekben a projekt menetrendje található. Ahol a CRUD rövidítés szerepel, az a Create,Read,Update,Delete funkciókra, vagyis az alap író/olvasó funkciókra utal.

Dátum Megnevezés Eddigre kész... Október 15. Féléves feladat kezdete Bitbucket regisztráció, VS config, SourceTree install. Név és téma kitalálása VS Solution-kompatibilis név kitalálása (pl. CarShop) (Ez a projektnevekben legyen használva. A solution neve KÖTELEZŐEN legyen azonos a git repo nevével, OENIK_PROG3_ÉV_FÉLÉV_NEPTUN) November 2. 1. iteráció vége Projektstruktúra létrehozása a git repository-n belül - CarShop.Data - Class Library - CarShop.Repository - Class Library - CarShop.Repository.Tests - Class Library - CarShop.Logic - Class Library - CarShop.Logic.Tests - Class Library - - Console App - Java/Netbeans projekt külön könyvtárban NuGet/Projektek beállítása - Mindegyik projekthez StyleCop és Code Analysis - *.Test-hez nunit3 (v3), nunit3testadapter, Moq CarShop.Data - Service-based database, feltöltve adattal - Figyeljünk rá, hogy most kivételesen az MDF/LDF állomány is legyen a git repository része - ADO.NET Entity data model, sql-first - A létrehozó SQL állomány is legyen ennek a projektnek a része - A Data projekt App.config file-jából a connection stringet másoljuk át ide, mert csak ez az App.config fog betöltődni - Valamilyen egyszerű menü vezérelje - Jelenleg csak Ez még nincs kész üzenet bármely menüelemet kiválasztva - Kötelező menülemek/funkciók: - mindegyik entity listázása, bármelyik egyszerű hozzáadása, törlése, módosítása ( teljes CRUD ) - legyen olyan adatlekérés is, ami több táblát/entitást használ fel, és közben valamilyen feltételeket/csoportosítást használ ( minimum 3 nem-crud metódus ) - A JAVA végponttól a jövőben adatot lekérő menüelem is legyen ( Java/web interakció ) November 23. 2. iteráció vége CarShop.Repository - A CRUD műveleteket kiszervezzük egy külön IRepository interfészbe - Opcionális: IRepository<T>, és ehhez kapcsolódó entity-specifikus leszármazottak - Repository implementáció a CRUD műveletekhez CarShop.Logic - ILogic interfész létrehozása, amiben definiáljuk az

üzleti logikai (BL) műveletek listáját (ez az összes CRUD és nem-crud művelet, amit majd a Console App el tud érni) - Jelenleg legyen kész az összes CRUD művelet, ami belül Repository metódust hív meg - A nem-crud műveleteket hagyjuk üresen CarShop.Logic.Tests - CRUD műveletek tesztelése mockolt repository-val - A CRUD műveletek legyenek elérhetőek Rétegzési szabályok: - A Console App csak logic műveletet hív, a Logic a CRUD műveleteket továbbítja a Repo felé, és a Repo hívja a DbContext metódusokat. - A Logic és a Console App NEM HASZNÁLHAT dbcontext metódusokat, ez egyedül a Repository-nak engedélyezett - Minden réteg CSAK az alatta lévő réteggel kommunikálhat (esetleges felfele kommunikáció: eseményekkel - jelenleg nem szükséges) - Az Entity típusok jelenleg mindegyik rétegben használhatóak (ez nem a legjobb, de ebben a féléveben még elfogadható) CarShop.JavaWeb - Legyen kész a végpont, ami véletlen adatot generál a kapott paraméterek alapján - Böngészőből elérhető (javasolt: postman tesztek) December 7. Féléves feladat vége CarShop.Logic - nem-crud műveletek implementálása - A lekérdezések nem használhatják a DbContext metódusait, csak a repository adatlekérő metódusait - A repository-tól visszakapott IQueryable adatokat fűzi tovább bonyolultabb lekérdezéssé CarShop.Logic.Tests - Nem-CRUD műveletek tesztelése mockolt repository-val - A nem-crud műveletek is legyenek elérhetőek a menün keresztül - Legyen olyan menüpont, ami a Java végpontot használja fel (az adatlekérés refactorálható a Logic rétegbe is akár), és megjeleníti a kapott eredményt