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ó    

    Szoftverarchitektúrák

    A tantárgy angol neve: Software Architectures

    Adatlap utolsó módosítása: 2008. szeptember 19.

    Budapesti Műszaki és Gazdaságtudományi Egyetem
    Villamosmérnöki és Informatikai Kar
    Mérnök informatikus szak
    MSc képzés

    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VIAUM105 1 3/0/0/f 4  
    3. A tantárgyfelelős személy és tanszék Dr. Charaf Hassan, Automatizálási és Alkalmazott Informatikai Tanszék
    4. A tantárgy előadója
    Név: Beosztás: Tanszék, Intézet:
    Dr. Charaf Hassanegyetemi docens AAIT
    Dr. Levendovszky Tihaméradjunktus AAIT

     

    5. A tantárgy az alábbi témakörök ismeretére épít Programozási alapok, Szoftvertechnológia, Szofgtvertechnikák
    6. Előtanulmányi rend
    Kötelező:
    NEM ( TárgyEredmény( "BMEVIAUMA06" , "jegy" , _ ) >= 2
    VAGY
    TárgyEredmény("BMEVIAUMA06", "FELVETEL", AktualisFelev()) > 0)

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

    A kötelező előtanulmányi rendek grafikus formában itt láthatók.

    7. A tantárgy célkitűzése A tantárgy áttekinti az alkalmazások, kutatások és fejlesztések élvonalába tartozó szoftverarchitektúrákat és tárgyalja ezen architektúrák szerepét, jelentőségét az információs rendszerek fejlesztésében. A tantárgy kitekintést nyújt a jövő elosztott és nagy megbízhatóságú rendszerarchitektúráira és technológiáira. A korábban megismert objektumorientált, komponensalapú és szolgáltatásalapú architektúrákat szintézis formájában foglaljuk össze. A tantárgy kihangsúlyozza a szisztematikus szoftver-újrafelhasználhatóságot és a szoftverarchitektúrák területén folyó kutatási tevékenységek tükrében elemzi a lazán csatolt rendszerek kialakításának problémakörét, valamint az architekturális minták jelentőségét. A tantárgy egyik célkitűzése a fentiekhez kapcsolódó ismeretek rendszerezése és átadása a hallgatóságnak.

     

    A nagyvállalati (enterprise) rendszerek fejlesztési gyakorlatában a többrétegű objektumorientált platformok (pl. Java, .NET) dominálnak. A gyakorlat bizonyítja, hogy ezek az eszközök és technológiák képesek hatékonyan támogatni alkalmazások fejlesztését, azonban a megfelelő architekturális ismeretek hiányában az implementáció során számos nehézség merül fel. A hibák és sikertelen fejlesztések törvényszerűen fakadnak abból, hogy a szoftverfejlesztők nem rendelkeznek kellően mély és széleskörű architekturális ismeretekkel. Ebben a tekintetben a tantárgy másik célkitűzése a hallgatók felkészítése nagyvállalati (enterprise) rendszerek professzionális fejlesztési feladatainak ellátására.

     

    8. A tantárgy részletes tematikája ·         Bevezetés a szoftver architektúrák világában (3 óra elmélet/előadás):

     

    Célkitűzés: megismertetni a hallgatókkal a szoftver architektúrák tulajdonságait, jelentőségét és a megvalósított szoftverrendszerekre való hatását  

     

    Alapfogalmak. Tervezési és architekturális minták. Skálázhatóság, elosztottság, rendszerjellemzők.

     

    ·         Alapfeladatok a rendszerarchitektúrával kapcsolatban (6 óra elmélet/előadás):

     

    Célkitűzés: A tematikához kapcsolódó tárgyi ismeretek megszerzése

     

    Rétegezés szerepe és a réteghatárok definiálása. Többrétegű architektúrák. Szakterület logika (domain logic) kategorizálása. Webes megjelenítés. Relációs adatbázisok kezelése. Konkurenciakezelés. Elosztási stratégiák. Teljesítmény és egyéb jellemzők.

     

    ·         Szoláltatás hozzáférési és konfigurációs minták (4 óra elmélet/előadás):

     

    Célkitűzés: Alapvető architektúrális minták ismertetése és illusztrálása

     

    Objektumorientált csomagolás (Wrapper Facade). Szolgáltatások konfigurálása (Component configurator). Szolgáltatás-keretrendszerek átlátszó bővítése (Interceptor). Több interfész egységes összefogása a hatékonyság érdekében (Extenstion Interface). Egyéb minták.

     

    ·         Eseménykezelési  minták (4 óra elmélet/előadás):

     

     Célkitűzés: Architektúrális minták ismertetése és illusztrálása

     

    Szolgáltatáskérések szétosztása (Reactor). Aszinkron műveletek feldolgozása (Proactor). Aszinkron válaszok kezelése (Asynchronous Completion Token). Szolgáltatásinicializáció különválasztása (Acceptor-Connector). Egyéb minták.

     

    ·         Szinkronizációs minták (4 óra elmélet/előadás):

     

    Célkitűzés: Architektúrális minták ismertetése és illusztrálása

     

    A hatókör felhasználása automatikus erőforrás-kezelésre(Scoped Locking). Parametrizált szinkronizálási mechanizmusok (Strategized Locking). Komponensen belüli szinkronizáció (Thread-Safe Interface). Megosztott erőforrások többszálú hozzáférése (Double-Checked Locking Optimazation).

     

    ·         Konkurencia kezelési  minták (4 óra elmélet/előadás):

     

    Célkitűzés: Architektúrális minták ismertetése és illusztrálása

     

    Konkurens objektumok (Active Object). Szálbiztos passzív objektumok (Monitor Object). Aszinkron és szinkron szolgáltatásfeldolgozás szétválasztása (Half Sync-Half Async). Nagy teljesítőképességű többszálú szerverek (Leader/Followers). Egyéb minták.

     

    ·         Integrációs megoldások  6 óra elmélet/előadás):

     

    Célkitűzés: Integrációs megoldások ismertetése és illusztrálása

     

    Rendszerintegrációs típusok. Üzenetalapú rendszerek. Rendszermenedzsment kérdések. Integrációs minták. Egyéb minták.

     

    ·         Esettanulmányok (8 óra elmélet/előadás+gyakorlat):

     

    Célkitűzés: Esettanulmányok formájában kívánjuk illusztrálni a félév során tanult anyagot.

     

    9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium) Előadás
    10. Követelmények

    a.              A szorgalmi időszakban: egy zárthelyi és egy házi feladat

    b.             A vizsgaidőszakban:       -

    c.              Elővizsga:                       -

     

    Az aláírás megszerzésének feltétele a zárthelyi és a házi feladat elfogadható (legalább elégséges szintű) megoldása.

     

    11. Pótlási lehetőségek A zárthelyihez a TVSZ előírásai szerint mind a szorgalmi, mind a pótlási időszakban 1-1 pótlási lehetőséget biztosítunk.
    12. Konzultációs lehetőségek Az előadóval előre egyeztetett időpontban
    13. Jegyzet, tankönyv, felhasználható irodalom [1]  Szoftverarchitektúrák, elektronikus jegyzet. AAIT Alkalmazott Informatika Csoport. [2]  Patterns of Enterprise Application Architecture. Martin Fowler et al. [3]  Pattern-Oriented Software Architecture, Patterns for Concurrent and Networked Objects, Wiley press, vol.1 ,2.

    [4]  Addison Wesley - Enterprise Integration Patterns - Designing, Building And Deploying Messaging Solutions (Fowler) – 2003.

    14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
    Kontakt óra39
    Félévközi készülés órákra0
    Felkészülés zárthelyire26
    Házi feladat elkészítése45
    Kijelölt írásos tananyag elsajátítása10
    Vizsgafelkészülés0
    Összesen120
    15. A tantárgy tematikáját kidolgozta
    Név: Beosztás: Tanszék, Intézet:
    Dr. Charaf Hassanegyetemi docens AAIT
    Dr. Levendovszky Tihaméradjunktus AAIT
    Benedek ZoltántanársegédAAIT