Budapest University of Technology and Economics, Faculty of Electrical Engineering and Informatics

    Belépés
    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

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