FI:PV293 Softwarové architektury - Informace o předmětu
PV293 Softwarové architektury
Fakulta informatikypodzim 2023
- Rozsah
- 0/2/1. 3 kr. (plus ukončení). Ukončení: k.
- Vyučující
- doc. Ing. RNDr. Barbora Bühnová, Ph.D. (přednášející)
Ing. Lukáš Grolig (přednášejí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 seminárních/paralelních skupin
- PV293/01: Út 16:00–17:50 A217, L. Grolig
PV293/02: Út 18:00–19:50 A217, L. Grolig - 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: 57/60, pouze zareg.: 2/60, pouze zareg. s předností (mateřské obory): 2/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ě.
- Statistika zápisu (podzim 2023, nejnovější)
- Permalink: https://is.muni.cz/predmet/fi/podzim2023/PV293