Adatvezérelt rendszerek

A tantárgy angol neve: Data-driven Systems

Adatlap utolsó módosítása: 2024. január 17.

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
VIAUAC01 5 2/1/0/v 4  
3. A tantárgyfelelős személy és tanszék Hideg Attila,
A tantárgy tanszéki weboldala https://www.aut.bme.hu/Course/VIAUAC01
4. A tantárgy előadója

Név:

Beosztás:

Tanszék, Int.:

Albert István

mérnöktanár

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

5. A tantárgy az alábbi témakörök ismeretére épít C# és SQL ismeret szükséges
6. Előtanulmányi rend
Kötelező:
((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.

A kötelező előtanulmányi rend az adott szak honlapján és képzési programjában található.

Ajánlott:
Ajánlott tárgy: Szoftvertechnikák, Adatbázisok

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.

A tantárgy elvégzése során a hallgatók megismerkednek az iparban használatos és legelterjedtebb relációs adatbázisok (MS SQL Server) és NoSQL adatbázisok (MongoDB) működésével, hatékony lekérdezések összeállításával és optimalizálásával, tranzakciók, zárolások, izolációs szintek jelentőségével és használatával, adatbázisok szerver oldali programozási lehetőségeivel (tárolt eljárások, triggerek). Bemutatásra kerül az adathozzáférés során használt különböző osztálykönyvtárak (pl.: ADO.NET) szerepe és felépítése, valamint az iparban használatos ORM keretrendszerek (pl.: JPA, Entity Framework). A tárgy ismerteti a kiszolgáló oldali objektumok sorosításával kapcsolatos szabványokat (XML, JSON), valamint a szabványos kiszolgáló oldali interfészek kialakítására használt protokollokat (Web Service, REST) és szoftver környezeteket (ASP.NET Core WebAPI).
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

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).

5

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

6

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.

7

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

8

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

9

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

10

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

11

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

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

Ü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.

14

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.

 

Számítógéptermi gyakorlatokon az aktuális előadások anyagára épülő feladatok kerülnek megoldásra:

Hét

Gyakorlat anyaga

1

Tranzakciók alaptulajdonsági, platform specifikus sajátosságok vizsgálata Microsoft SQL Serveren
2 Haladó SQL nyelvi elemek és 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
6 Többrétegű alkalmazások kiszolgáló oldalának készítése REST API-val
7
 Többrétegű alkalmazások kiszolgáló oldalának készítése REST API-val
9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium)

Előadás és ahhoz kapcsolódó gyakorlat. Az előadásokhoz kapcsolódhat előre kiadott, otthon feldolgozandó anyag is.

 

10. Követelmények

A szorgalmi időszakban:

  1. Az ismeretek átfogó és részletes áttekintését a szorgalmi időszak során 1 alkalommal, íratott nagy zárthelyivel mérjük, valamint
  2. A gyakorlást a gyakorlatokon elvégzett feladatok biztosítják. A gyakorlati foglalkozásokra időben kell érkezni, végig jelen kell lenni, és az oktatóval együtt kell dolgozni.

A szorgalmi időszak során több szorgalmi házi feladat kerül meghirdetésre. A házi feladatok a tananyag teljes, mély megértését segítik, azonban megoldásuk opcionális. A házi feladatok megadott határidőig történő leadásával pluszpont szerezhető, amely a félév végi jegybe számítódik bele.

 

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

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

o    a hallgató a gyakorlatokat rendszeresen látogatta (hiányzása nem haladja meg a TVSz szerint megengedett mértéket)

 

 A vizsgaidőszakban:

írásbeli vizsga.

 

Az osztályzat megállapításának módja: a vizsgán szerzett pontszámhoz hozzáadódnak a félév közben megszerzett pluszpontok. Ezen összeg alapján a végső jegy: 0-40p elégtelen, 41-55p elégséges, 56-70p közepes, 71-85p jó, 86-100p 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ó.

Gyakorlatok pótlására 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 opcionális házi feladatok pótlására 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

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

·         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 óra40
Készülés előadásokra6
Házi feladat elkészítése
20
Készülés zárthelyire12
Önálló tananyag-feldolgozás10
Vizsgafelkészülés32
Összesen120
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 a házi feladat 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 20 IMSc pont szerezhető. A házi feladatban extra feladat megoldásával, avagy komplexebb technológia, módszer alkalmazásával szerezhetőek meg a pontok.

Az IMSc pontok megszerzése a programban nem résztvevő hallgatók számára is biztosított.