Szoftverarchitektúrák
A tantárgyleírás hatályossága
| Tantárgy neve (magyarul, angolul) |
Szoftverarchitektúrák
Software Architectures
|
||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Tantárgykód | BMEVIAUMA21 | ||||||||||||
| Tantárgyjelleg | — | ||||||||||||
| Képzési szint | — | ||||||||||||
| Kurzustípusok és óraszámok (heti/féléves) |
|
||||||||||||
| Tanulmányi teljesítmény/értékelés típusa | félévközi érdemjegy | ||||||||||||
| Tantárgy kreditértéke | 5 | ||||||||||||
| Tantárgyfelelős |
DR. Charaf Hassan
beosztás: egyetemi tanár
elérhetőség:
charaf.hassan@vik.bme.hu
|
||||||||||||
| Tantárgyat gondozó oktatási szervezeti egység |
Automatizálási és Alkalmazott Informatikai Tanszék
|
||||||||||||
| Kar | Villamosmérnöki és Informatikai Kar | ||||||||||||
| Tantárgy weboldala | https://www.aut.bme.hu/Course/VIAUMA21 | ||||||||||||
| Tantárgy elsődleges mintatantervi jellege | — | ||||||||||||
| Közvetlen előkövetelmények – Erős előkövetelmény | nincs | ||||||||||||
| Közvetlen előkövetelmények – Gyenge előkövetelmény | nincs | ||||||||||||
| Közvetlen előkövetelmények – Párhuzamos előkövetelmény | nincs | ||||||||||||
| Közvetlen előkövetelmények – Mérföldkő előkövetelmény | nincs | ||||||||||||
| Közvetlen előkövetelmények – Kizáró feltétel | nincs |
Célkitűzés
|
1.
Bevezetés -
Definíciók -
Történelmi áttekintés -
Architektúra alapok Célkitűzés: megismertetni a hallgatókkal a
szoftverarchitektú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. 2.
Szoftverarchitektúra
alapok -
Az architekt szerepe -
A szoftverarchitektúra célja és tervezési
lépései -
Tipikus architektúra hibák 3.
Szoftverarchitekturális
minták -
Motiváció -
Minták csoportosítása: Szolgáltatáshozzáférés
és konfiguráció, eseménykezelés, konkurencia, szinkronizáció -
Első csoport: Wrapper Facade, Component
Configurator, Interceptor, Extension Interface Alapvető architekturá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 bővítése transzparens módon (Interceptor). Az
interfészek egységes kezelése a hatékonyság érdekében (Extenstion Interface).
További minták. 4.
Eseménykezelési
minták -
Reactor -
Proactor -
ACT -
Acceptor-Connector Architekturá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ások létrehozásának különválasztása (Acceptor-Connector). További
minták. 5.
Konkurenciakezelési
minták -
Active Object -
Monitor Object -
Half Sync/Half Async -
Leader-Followers -
Thread Specific Storage Architekturális minták ismertetése és
illusztrálása. Konkurens objektumok (Active Object). Szálbiztos passzív
objektumok (Monitor Object). Az aszinkron és szinkron
szolgáltatásfeldolgozások szétválasztása (Half Sync-Half Async). Nagy
teljesítőképességű többszálú szerverek (Leader/Followers). További minták. 6.
Szinkronizáció
minták, minták összefoglalása -
Scoped Locking -
Stragized Locking -
Thread-Safe Interface -
Double Checked Locking Optimization -
Összefoglaló a minták kapcsolatáról Architekturális minták ismertetése és
illusztrálása. A kontextus lehetőségeinek 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). 7.
Rétegezett
architektúrák, -
Alapvető architekturális minták: MVC,
Document/View, Rétegelés -
Tervezési szemlélet követelményei -
A szoftverrétegek tervezési kérdései A rétegezés szerepe, 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. 8. Esettanulmány Az esettanulmány célja,
hogy szemléltető példán keresztül illusztráljuk a minták használatát és az
előzőekben ismertetett témakörök felhasználása egy konkrét rendszerben. Igyekszünk
meghívott ipari szakembert hívni minden esettanulmány alkalomra. 9. Felhő
architektúrák Architekturális
kihívások a felhő alapú fejlesztések esetén, minőségi kritériumok, A felhő
alapú fejlesztés specifikus, gyakran előforduló tervezési minták ismertetése
pl. Backends for Frontends, Circuit Breaker, Static Content Hosting, stb. 10. Mikroszolgáltatások
architektúra A mikroszolgáltatások
alapú fejlesztések architekturális kihívásai. A használatához kapcsolódó előnyök
és következmények, valamint a teljesítmény, a megbízhatóság és rendelkezésre
állási kérdések. 11. Esettanulmány A felhő alapú
fejlesztést és a mikroszolgáltatásokat szemléltető példa tárgyalása. 12. Az architektúra
dokumentálási kérdései -
Szoftver dokumentáció alapkérdései -
Célok, szereplők, feladatok -
Szoftver architektúrák dokumentálása 13. Architekturális
módszertanok -
Top 4 Enterprise Architecture methodologies (mindig
az aktuális módszerek) pl: -
Zachman Framework -
TOGAF -
Federal Enterprise Architecture -
Gartner Methodology 14. Szoftver
rendszerek teljesítmény és performancia tuningolási kérdései -
Teljesítmény értékelési szempontok -
Teljesítmény modellek -
Tuningolási lehetőségek 15. Integrációs
megoldások 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 integrációs minták. 16. Esettanulmány Módszertanok, teljesítmény tuningolási
kérdések, Integrációs megoldások illusztrálása példán keresztül. 17. Elosztott
rendszerek architekturális kérdései Elosztott rendszerek
elméleti alapjai, elosztott informatikai rendszerek tervezése és fejlesztése,
elosztott rendszerek felépítéséhez szükséges alapszolgáltatások, Komponens és
szolgáltatás alapú fejlesztés architekturális kérdései. 18. Tipikus
elosztott rendszerek architektúrák, Middleware szolgáltatások Middleware
szolgáltatások, gyakran előforduló Elosztott architektúrák összehasonlítása
alkalmazási területeik. Rugalmas IT architektúrák. 19. Elosztott
adatkezelés Elosztott
adatfeldolgozás előnyei, felhasználási módja, az átlátszóság szerepe az
elosztott adatfeldolgozásban. 20. Autonóm
Informatikai rendszerek Autonom Computing Vision
ismertetése, Az autonómia attribútumai, Intelligens hurok definíciója és
szerepe az autonóm rendszerekben. Az előadás végén összegzésre kerülnek a
félév során tanultak. |
Tanulmányi eredmények
Ez a tantárgy a KKK rendeletben meghatározott, következő kompetenciák fejlesztését szolgálja:
Tudás
Nincsenek rögzített tanulási eredmények.
Képességek
Nincsenek rögzített tanulási eredmények.
Attitűd
Nincsenek rögzített tanulási eredmények.
Autonómia és felelősség
Nincsenek rögzített tanulási eredmények.
Oktatási módszertan
Tanulástámogató anyagok
Online források
A tantárgy teljesítéséhez ajánlott előzetes ismeretek
Általános szabályok
Teljesítményértékelési módszerek
Szorgalmi időszakban végzett teljesítményértékelések részletes leírása
Nincs megadva részletes értékelés.
Szorgalmi időszakban végzett teljesítményértékelések részaránya
Nincs megadva részarány.
Vizsgaidőszakban végzett teljesítményértékelések részletes leírása
Nincs megadva részletes értékelés.
Vizsgarészek részaránya
Nincs megadva részarány.
Érdemjegy megállapítása
Nincs megadva érdemjegy határ.
Jelenléti és részvételi követelmények
Nincs megadva jelenléti követelmény.
Javítás, ismétlés és pótlás különös szabályai
Nincs megadva.
Rövid leírás
Nincs megadva.
Részletes leírás
Nincs megadva.
Ajánlott tantárgyak
Nincs megadva.
A tantárgy elvégzéséhez szükséges tanulmányi munka
Nincs megadva munkaidő bontás.
Tantárgykövetelmények hatályossága
Tantervi elhelyezés
Nincsenek rögzített tantervi elhelyezések ehhez a tárgyverzióhoz.