PV293 Softwarové architektury

Fakulta informatiky
podzim 2024
Rozsah
0/2/1. 3 kr. (plus ukončení). Ukončení: k.
Vyučováno kontaktně
Vyučující
doc. Ing. RNDr. Barbora Bühnová, Ph.D. (přednášející)
Ing. Lukáš Grolig (přednášející)
Bc. Erik Báča (cvičící)
Filip Kaštovský (cvičící)
Bc. Josef Krušina (cvičící)
Ing. Dominik Lašo (cvičící)
Ing. Marek Mišík (cvičící)
Ing. Petr Šlézar (cvičící)
Garance
doc. Ing. RNDr. Barbora Bühnová, Ph.D.
Katedra počítačových systémů a komunikací – Fakulta informatiky
Dodavatelské pracoviště: Katedra počítačových systémů a komunikací – Fakulta informatiky
Rozvrh
St 25. 9. až St 18. 12. St 18:00–19:50 D2
  • Rozvrh seminárních/paralelních skupin:
PV293/01_CSharp: Po 23. 9. až Po 16. 12. Po 18:00–19:50 A319, D. Lašo
PV293/02_CSharp: Út 24. 9. až Út 17. 12. Út 16:00–17:50 B204, E. Báča
PV293/03_CSharp: Út 24. 9. až Út 19. 11. Út 18:00–19:50 C511, Út 26. 11. až Út 17. 12. Út 18:00–19:50 S209, P. Šlézar
PV293/04_Typescript: Čt 26. 9. až Čt 21. 11. Čt 18:00–19:50 C511, Čt 28. 11. až Čt 19. 12. Čt 18:00–19:50 S209, F. Kaštovský
PV293/05_Typescript: Út 24. 9. až Út 17. 12. Út 18:00–19:50 B204, J. Krušina
PV293/06_Java_Kotlin: Út 24. 9. až Út 17. 12. Út 18:00–19:50 B410, M. Mišík
Předpoklady
Pro úspěšné absolvování předmětu se očekávají základní znalosti softwarového inženýrství, databází a zkušenosti s objektovým a funkcionálním programováním. Studenti by měli být obeznámeni s technologiemi C#, Java, Javascript a frameworkem React.
Omezení zápisu do předmětu
Předmět je nabízen i studentům mimo mateřské obory.
Předmět si smí zapsat nejvýše 60 stud.
Momentální stav registrace a zápisu: zapsáno: 64/60, pouze zareg.: 15/60, pouze zareg. s předností (mateřské obory): 11/60
Mateřské obory/plány
předmět má 21 mateřských oborů, zobrazit
Cíle předmětu
Předmět má za cíl seznámit studenty s procesem návrhu architektury softwarových systémů s porozuměním dopadů architektonických rozhodnutí na výsledný systém, a naučit je využívat Domain Driven Design (DDD). Studenti se seznámí s architektonickými vzory, jejich variacemi a charakteristikami, jako je škálovatelnost, spolehlivost, laditelnost, monitorování, cena provozu a implementační složitost. Pro každý vzor budou studenti schopni formulovat implementační doporučení a identifikovat potenciální problémy. Během kurzu si studenti vyzkouší implementaci jednotlivých architektur a důležitých komponent v konkrétním jazyce (C#, Javascript/Typescript).
Výstupy z učení
Po absolvování předmětu bude student schopen:
- aplikovat principy DDD, návrhu software na základě DDD a jejich dopadů na implementaci
- posoudit výhody a nevýhody konkrétních architektur
- vybrat vhodnou architekturu a přístupy pro daný systém
- stanovit očekávané vlastnosti systému dle zvolené architektury
- orientovat se v agilních přístupech k aplikační architektuře
Osnova
  • - Úvod do architektury rozsáhlých aplikací: architektonický proces, role a úkoly architekta.
  • - Domain Driven Design (DDD):
  • - a. Strategický návrh
  • - b. Taktický návrh
  • - Monolitické architektury:
  • - a. Vrstvená architektura
  • - b. Pipeline architektura
  • - c. Microkernel architektura
  • - d. Plug-in architektura
  • - Servisně orientované architektury:
  • - a. Service-based architektura
  • - b. Mikroslužby
  • - c. Sidecar architektura
  • - d. Service mesh
  • - Event-driven architektury
  • - Serverless architektura
Výukové metody
Výuka je realizována prostřednictvím přednahrávaných videí (nahrazujících přednášku), která pokrývají jednotlivá témata. Cvičení probíhají ve formě skupinových sezení (hromadné cvičení) zaměřených na konkrétní programovací jazyk, kde lektor ukáže implementaci architektury v daném jazyce (skupiny dle jazyka). Studenti si osvojí učivo prostřednictvím interaktivních online cvičení, testů a realizace projektu.
Metody hodnocení
Hodnocení studentů spočívá v průběžném vypracování pěti testů (max. 35 bodů), které zahrnují znalosti z přednášek a cvičení. Dále je hodnocen projekt zaměřený na návrh a implementaci klíčových částí vybraného systému, který se skládá z esejové části (25 bodů) a implementační části (40 bodů). Esej se zaměřuje na úvahy o navrhovaném systému, zatímco implementační část hodnotí provedení důležitých částí systému.
Informace učitele
Předmět předpokládá značný podíl samostatné práce navíc při studování používaných technologií, jejich (anglicky psaných) specifikací a dalších zdrojů. Materiály jsou k dispozici v češtině a angličtině. V rámci závěrečného projektu bude nejprve ohodnocena esej, a následně může student přistoupit k implementaci.
Další komentáře
Studijní materiály
Předmět je vyučován každoročně.
Předmět je zařazen také v obdobích podzim 2023.
  • Statistika zápisu (nejnovější)
  • Permalink: https://is.muni.cz/predmet/fi/podzim2024/PV293