Detail předmětu
Analýza a návrh informačních systémů
AIS Ak. rok 2022/2023 zimní semestr 5 kreditů
Softwarové projekty, modely životního cyklu vývoje SW. Modelovací techniky jazyka UML 2. Agilní modelování a agilní vývoj. Úvod do metodiky Unified process. Fáze zahájení, sběr a specifikace požadavků. Fáze rozpracování, model domény a systémové operace. Návrh architektury, architektonické vzory a rámce. Zodpovědnosti objektů a návrh tříd, principy GRASP. Návrhové vzory. Agilní metodiky vývoje, návrh řízený testem, refaktorizace. Činnosti v dalších iteracích. Projekt zaměřený na analýzu požadavků a návrh.
Garant předmětu
Koordinátor předmětu
Jazyk výuky
Zakončení
Rozsah
- 39 hod. přednášky
- 13 hod. projekty
Bodové hodnocení
- 51 bodů závěrečná zkouška (písemná část)
- 15 bodů půlsemestrální test (písemná část)
- 34 bodů projekty
Zajišťuje ústav
Přednášející
Cvičící
Stránky předmětu
- Pro řešení projektu je možno využít modelovací nástroj Visual Paradigm s aktivačními klíči licence Standard Edition. Visual Paradigm udělil Vysokému učení technickému v Brně nástroje pro UML, BPMN, agilní mapování příběhů a pro DFD pro výukové účely v rámci Academic Partner Program.
Získané dovednosti, znalosti a kompetence z předmětu
- Studenti budou znát vybrané objektově orientované a agilní metody a techniky používané při vývoji informačních systémů na pokročilé úrovni.
- Budou schopni vytvářet vhodné modely při analýze a návrhu informačních systémů a to zejména využitím objektově-orientovaného přístupu a modelovacích technik s využitím jazyka UML.
- Studenti se naučí formou projektu analyzovat problém a navrhovat jeho řešení. Naučí se obhajovat jak dílčí tak konečné výsledky projektu.
Cíle předmětu
Cílem předmětu je seznámit studenty s objektově orientovanými a agilními metodami a prostředky používanými při vývoji informačních systémů a naučit je tyto metody a prostředky používat.
Proč je předmět vyučován
Analýza požadavků na budoucí či měněný software a jeho následný návrh představují důležité předpoklady pro efektivní implementaci software a jeho úspěšné nasazení, provoz a údržbu, ať už e jedná o vývoj informačních systémů, mobilních aplikací nebo "embedded" software pro jednoúčelová zařízení. Správný objektový návrh, znalost UML či agilních přístupů, moderních technologií pro implementaci či usnadnění vývoje (správa kódu, CI/CD, atp.), jsou užitečné pro každého vývojáře/programátora, návrháře, analytika, či systémového architekta.
Požadované prerekvizitní znalosti a dovednosti
- Znalost základů softwarového inženýrství.
- Znalost paradigmat a praktické zkušenosti z oblasti objektově-orientovaného programování.
Literatura referenční
- Arlow, J., Neustadt, I.: UML a unifikovaný proces vývoje aplikací. Computer Press, 2003, 408 s., ISBN: 80-7226-947-X.
Osnova přednášek
- Úvodní informace a softwarové projekty
- Jazyky pro modelování software - funkčně/objektově orientovaný návrh a jazyk UML 2, pohledy na architekturu software
- Jazyk UML
- Novinky v UML a agilní modelování
- Unified process a jeho fáze zahájení - analýza požadavků, FURPS+ a modelování případů užití
- Fáze rozpracování v Unified process - model domény, systémový diagram sekvence a kontrakty operací
- Návrh architektury - vrstvená architektura, závislosti balíků a jejich eliminace, princip oddělení modelu a pohledu
- Architektonické vzory - Model-View-Controller (MVC), Presentation-Control-Entity-Mediator-Foundation (PCMEF), Model-View-Presenter (MVP)
- Objektově orientovaný návrh - návrh řízený zodpovědnostmi (Responsibility-Driven Design, RDD), návrhové vzory GoF, principy GRASP
- Principy objektově orientovaného návrhu - principy SOLID, viditelnost a rozsah použití objektů
- Vývoj software - vývoj řízený testem, refaktorizace kódu
- Anti-vzory a osvědčené praktiky vývoje software
- Praktické příklady, opakování a demonstrace/procvičování analýzy a návrhu software
Osnova ostatní - projekty, práce
- Neformální specifikace základních požadavků na část informačního systému, která je předmětem řešení projektu.
- Dokumentace analýzy požadavků a návrhu vybrané části aplikace vytvořená v jazyce UML.
Průběžná kontrola studia
- Půlsemestrální zkouška, u které neexistuje náhradní, či opravný termín.
- Řešení projektu v průběhu semestru a jeho odevzdání ve stanovených termínech.
Kontrolovaná výuka
- Půlsemestrální písemná zkouška, neexistuje náhradní/opravný termín, omluvené neúčasti řeší zástupce garanta.
- Vypracování a odevzdání výsledků projektu v předepsaných termínech, omluvené neúčasti řeší cvičící.
- Závěrečná zkouška, kde je pro získání bodů ze zkoušky nutné zkoušku vypracovat tak, aby byla hodnocena nejméně 20 body (v opačném případě bude zkouška hodnocena 0 body). Omluvenou neúčast řeší zástupce garanta.
Podmínky zápočtu
Udělení zápočtu je podmíněno odevzdáním výsledků projektu a jejich obhajobou v předepsaných termínech a ziskem minimálně 24 bodů za bodované aktivity v průběhu semestru.
Zařazení předmětu ve studijních plánech
- Program IT-MGR-2, obor MBI, MGM, MIN, MMM, libovolný ročník, volitelný
- Program IT-MGR-2, obor MBS, libovolný ročník, povinně volitelný skupina S
- Program IT-MGR-2, obor MIS, 2. ročník, povinný
- Program IT-MGR-2, obor MPV, libovolný ročník, povinně volitelný skupina D
- Program IT-MGR-2, obor MSK, 2. ročník, povinně volitelný skupina M
- Program MITAI, obor NADE, NSEN, libovolný ročník, povinný
- Program MITAI, obor NBIO, NCPS, NEMB, NEMB do 2021/22, NGRI, NHPC, NIDE, NISY, NISY do 2020/21, NMAL, NMAT, NNET, NSEC, NSPE, NVER, NVIZ, libovolný ročník, volitelný
- Program MITAI, obor NISD, 1. ročník, povinný