Adatvezérelt rendszerek

A tantárgy angol neve: Data-Driven Systems

Adatlap utolsó módosítása: 2023. március 31.

Budapesti Műszaki és Gazdaságtudományi Egyetem
Villamosmérnöki és Informatikai Kar

Mérnök-informatikus Szak, BSc képzés

Szoftverfejlesztés szakirány 

Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
VIAUAC15 5 2/2/0/v 5  
3. A tantárgyfelelős személy és tanszék Dr. Kovács Tibor,
4. A tantárgy előadója

Albert István, mérnöktanár, AUT

Benedek Zoltán, tanársegéd, AUT

Imre Gábor, tanársegéd, AUT

5. A tantárgy az alábbi témakörök ismeretére épít Szoftvertechnikák, Adatbázisok
6. Előtanulmányi rend
Ajánlott:
((Szakirany("AMINszoftfejlAUT", _) VAGY
Szakirany("AMINszoftfejlIIT", _) VAGY
Szakirany("AMINszoftfejlMIT", _) VAGY
Szakirany("AMIrendszfejl", _) VAGY
Szakirany("AMIrendszterv", _) VAGY
Szakirany("AMIszoft", _) VAGY
Szakirany("VIABI-SOFTWE", _) )

VAGY EgyenCsoportTagja("Szoftverfejlesztés MIT") )

ÉS NEM ( TárgyEredmény( "BMEVIAUA369" , "jegy" , _ ) >= 2
VAGY
TárgyEredmény("BMEVIAUA369", "FELVETEL", AktualisFelev()) > 0)

A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.

7. A tantárgy célkitűzése A tárgy célja megismertetni a hallgatókkal az adatvezérelt- és un. „backend” rendszerek fejlesztése során leggyakrabban használt kiszolgáló oldali megoldásokat. A tárgy keretében a hallgatók jártasságot szereznek adatbázisokra épülő rendszerek megvalósításában, elsajátítják az adatrétegben és az üzleti logikai rétegben alkalmazott tipikus módszereket és eljárásokat. A tárgy ismerteti a különböző adatbázis-kezelő rendszerek használatát komplex szoftverrendszerek fejlesztése során, továbbá bemutatja azon eljárásokat és megoldásokat, melyek segítségével modern, adatot kezelő alkalmazásokat (főként azok kiszolgáló oldalát) fejleszthetünk.
8. A tantárgy részletes tematikája

Az előadások tematikája:

Hét

Előadás anyaga

1

Bevezetés, adatvezérelt rendszerek architektúrái (többrétegű architektúra, rétegek szerepe, rétegfüggetlen szolgáltatások).

2

Tranzakciókezelés adatbázis-kezelő rendszerekben, Microsoft SQL Server platform és sajátosságai.

3

Haladó SQL nyelvi elemek és adatbázis szerver oldali programozása (Microsoft SQL Server platform, T-SQL nyelv, tárolt eljárások és triggerek).

4

NoSQL adatbázisok, dokumentum-alapú adatbázisok működése. MongoDB platform, egyszerű lekérdezések MongoDB-ben.

5

Lekérdezések végrehajtása és hatékonysága Microsoft SQL Server platformon. Végrehajtási tervek és lekérdezés-optimalizálás.

6

Adat szótárak, félig strukturált adatok (XML, JSON) tárolása és kezelése

7

Adatelérési réteg, objektum-relációs leképzés, adatelérési rétegben használt tervezési minták (repository).

8

Objektum relációs keretrendszerek .NET környezetben, ADO.NET, Entity Framework és Linq to Entity Framework.

9

Objektum relációs keretrendszerek Java környezetben: JPA, QueryDSL

10

Üzleti logikai réteg megvalósítása Java környezetben: JavaEE, Spring, SpringData

11

Kommunikációs megoldások háttérrendszer és kliensalkalmazás között: SOAP és REST

12

Üzleti logikai réteg megvalósítása .NET környezetben. ASP.NET Core platform alapjai, middleware szolgáltatások, WebAPI készítése.

13

Modern webalkalmazás készítése: minta alkalmazás elkészítése a félév során tanult módszerek áttekintése, demonstrációs céllal.

 

 

A gyakorlatok egy része személyes jelenlétű kontaktóra, másik része otthoni feladatmegoldás. A személyes gyakorlatok tematikája:

Hét

Gyakorlat anyaga

1

Tranzakciók alaptulajdonsági, platform specifikus sajátosságok vizsgálata Microsoft SQL Serveren
2 Microsoft SQL Server adatbázis szerver oldali programozása
3 Bevezetés a Mongodb programozásába: gyűjtemények és egyszerű lekérdezések.
4 Objektum relációs leképzés: JPA, SpringData
5 Objektum relációs leképzés: Entity Framework használata Database First megoldással
6 Többrétegű alkalmazások kiszolgáló oldalának készítése REST API-val (CRUD műveletek)
 

Az otthoni feladatok tematikája:
 

Hét

Otthoni feladatok anyaga

1

Microsoft SQL Server adatbázis szerver oldali programozása
2 XML adatok kezelése adatbázisokban
3ADO.NET adatelérés
4Repository megvalósítás és aggregációk MongoDB-ben
5 Code-first alapú Entity Framework
6ASP.NET WebAPI, nem szabványos (nem CRUD) műveletek megvalósítása
9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium)
A tárgy egyik fő pillére az előadás, amely a szükséges alapismeretek nagy részét átadja. Az előadásokat kiegészíti otthoni, önálló tanagyagfeldolgozás egyes anyagrészekhez írásos jegyzet alapján. Mind az előadáson elhangzottak, mind a jegyzetben található ismeretek részei a tananyagnak.

Az előadásokat személyes és otthoni gyakorlaton történő feladatmegoldás egészíti ki. A személyes gyakorlatok lefedik azon technológiákat, gyakorlati ismereteket, amelyek elméletben az előadásokon ismertetésre kerülnek. Az otthoni feladatmegoldásra épülő gyakorlatok további elmélyülést, részletek megismerését, önálló gondolkodásra épülő ismeretszerzést tesznek lehetővé.

10. Követelmények

A szorgalmi időszakban:

Az ismeretek átfogó és részletes áttekintését a szorgalmi időszak során 1 alkalommal, íratott nagy zárthelyivel mérjük.

A személyes jelenlétet igénylő gyakorlatokon végig jelen kell lenni, és az oktatóval együtt kell dolgozni.

Az otthoni feladatmegoldással elvégezhető gyakorlatokat előre megadott határidőig kell elkészíteni és beadni. A határidőig nem beadott feladatok 0 ponttal számítódnak a vizsgadolgozat pontszámához.

 

A félév végi aláírás feltételei:

a nagy zárthelyi dolgozat eléri az elégséges (2) szintet,

a hallgató a személyes gyakorlatokat rendszeresen látogatta (hiányzása nem haladja meg a TVSz 14.§ (3) szerint megengedett mértéket).


 A vizsgaidőszakban:

írásbeli vizsga.

 

Az osztályzat megállapításának módja: a vizsgadolgozaton szerzett pontszámhoz hozzáadódnak az önálló gyakorlatként elvégzett feladatokra kapott pontok. Ezen összeg alapján a végső jegy: 0-40% elégtelen, 41-55% elégséges, 56-70% közepes, 71-85% jó, 86-100% jeles.

11. Pótlási lehetőségek

A sikertelen zárthelyi a szorgalmi időszakban tartott pótzárthelyi dolgozat legalább elégséges szintű megírásával pótolható.

Személyes jelenlétet igénylő gyakorlatok pótlására a félve során előzetes egyeztetéssel van lehetőség, a félév végén pótlásra nincs lehetőség. Ugyanakkor a teljesített gyakorlatba beszámítjuk az indokolt (pl. orvosilag igazolt) távolmaradást és a tanulmányi szünetek miatt elmaradt alkalmakat is.

Az otthoni gyakorlatfeladatok beadására hosszabb időablak (feladatonként 2 hét) áll lehetőségre, a határidőn túli beadásra nincs lehetőség.

A vizsgák a TVSZ-nek megfelelően pótolhatók.


12. Konzultációs lehetőségek Igény szerint az előadóval és a gyakorlatvezetővel egyeztetve. 
13. Jegyzet, tankönyv, felhasználható irodalom

·                Adatvezérelt rendszerek, elektronikus jegyzet

          Grant Fritchey: SQL Server Execution Plans, Simple Talk Publishing, 2012. Ebook: https://www.red-gate.com/products/dba/sql-monitor/entrypage/execution-plans

          Leonard Lobel and Andrew Brust: Programming Microsoft SQL Server 2012, Microsoft Press, ISBN: 978-0735658226

          Kristina Chodorow: MongoDB: The Definitive Guide: Powerful and Scalable Data Storage, O'Reilly Media, Second Edition. ISBN 978-1449344689.

          Mark J. Price: C# 7 and .NET Core: Modern Cross-Platform Development: Create powerful cross-platform applications using C# 7, .NET Core, and Visual Studio 2017 or Visual Studio Code. Packt Publishing, 2nd Edition. ISBN: 978-1787129559.

          Dino Esposito: Programming ASP.NET Core, Microsoft Press. ISBN 978-1509304417.

          Mark Pollack, Oliver Gierke, Thomas Risberg, Jon Brisbin, Michael Hunger: Spring Data: Modern Data Access for Enterprise Java. O'Reilly Media, 1st Edition. ISBN-13: 978-1449323950.

          Subbu Allamaraju: RESTful Web Services Cookbook: Solutions for Improving Scalability and Simplicity. Yahoo Press, 1st Edition. ISBN: 978-0596801687.
14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
Kontakt óra56
Félévközi készülés órákra20
Felkészülés zárthelyire15
Házi feladat elkészítése15
Kijelölt írásos tananyag elsajátítása4
Vizsgafelkészülés40
Összesen150
15. A tantárgy tematikáját kidolgozta

Név:

Beosztás:

Tanszék, Int.:

Dr. Dudás Ákos

adjunktus

Automatizálási és Alkalmazott Informatikai Tanszék

Kovács Ferenc

tanársegéd

Automatizálási és Alkalmazott Informatikai Tanszék

Benedek Zoltán

tanársegéd

Automatizálási és Alkalmazott Informatikai Tanszék

Imre Gábor

tanársegéd

Automatizálási és Alkalmazott Informatikai Tanszék

Dr. Lengyel László

docens

Automatizálási és Alkalmazott Informatikai Tanszék

IMSc tematika és módszer A tananyag mélyebb megértésére az önálló gyakorlatfeladatok egyes részfázisaihoz kapcsolódó extra részfeladatok, illetve a gyakorlatok opcionális feladatainak megoldásával nyílik lehetőség. Ezek az extra részfeladatok segítenek jobban megérteni az előadáson kevésbé részletezett ismereteket is.
IMSc pontozás

A tárgyból 25 IMSc pont szerezhető az önálló gyakorlatfeladatok során extra feladatok megoldásával. Az IMSc pontok megszerzése a programban nem résztvevő hallgatók számára is biztosított.