Detail předmětu

Analýza a návrh informačních systémů

FIT-AISAk. rok: 2021/2022

Softwarové projekty, modely životního cyklu vývoje SW. Modelovací techniky jazyka UML 2.0. Úvod do metodiky Unified process. Fáze zahájení, sběr a specifikace požadavků. Fáze rozpracování, model domény. Návrh architektury, architektonické vzory a rámce. Vzor Model-View-Controller. JEE platforma, SOA. Návrh tříd, principy GRASP. Návrhové vzory. Programování, návrh řízený testem, refaktorizace. Činnosti v dalších iteracích. Projekt zaměřený na analýzu požadavků a návrh.

Jazyk výuky

čeština

Počet kreditů

5

Výsledky učení předmětu

  • Studenti budou znát podstatu, základní metody a techniky používané při vývoji informačních systémů na úrovni, která je dále rozvíjena ve specializovaných předmětech.
  • 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, které poskytuje jazyk 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.

Prerekvizity

  • Znalost základů softwarového inženýrství.
  • Znalost paradigmat a praktické zkušenosti z oblasti objektově-orientovaného programování.

Způsob a kritéria hodnocení

  • Půlsemestrální písemná zkouška - 15 bodů
  • Hodnocený projekt s obhajobou (4 odevzdávané dílčí části) - 34 bodů
  • Závěrečná písemná zkouška - 51 bodů; Pro získání bodů ze zkoušky je nutné zkoušku vypracovat tak, aby byla hodnocena nejméně 20 body. V opačném případě bude zkouška hodnocena 0 body.

Učební cíle

Cílem předmětu je seznámit studenty s 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.

Základní literatura

Arlow, J., Neustadt, I.: UML a unifikovaný proces vývoje aplikací. Computer Press, 2003, 408 s., ISBN: 80-7226-947-X. (CS)
Larman, C.: Applying UML and Patterns. An Introduction to Oject-Oriented Analysis and Design and Iterative Development. 3rd edition. Prentice Hall PTR, Upper Saddle River, USA, 2004, 703 p., ISBN 0-13-148906-2. (EN)
Maciaszek, L.A., Liong, B.L.: Practical Software Engineering. A Case Study Approach. Addison-Wesley, Harlow England, 2005, 864 p., ISBN 0-321-20465-4.  (EN)
Maciaszek, L.A.: Requirement Analysis and System Design, 2 ed. Addison-Wesley, Harlow England, 2005, 504 p., ISBN 0-321-20464-6. (EN)

Doporučená literatura

Andrew Stellman, A., Greene, J.: Learning Agile: Understanding Scrum, XP, Lean, and Kanban. 1st edition. O'Reilly Media, 2014, 420 p., ISBN 978-1449331924. (EN)
Arlow, J., Neustadt, I.: UML and the Unified Process: Practical Object-Oriented Analysis and Design. Addison-Wesley Professional, 2002, 416 p., ISBN 0-201-77060-1. (EN)
Craig Larman, C., Vodde, B.: Large-Scale Scrum: More with LeSS. 1 edition. Addison-Wesley Professional, Harlow, England, 2016, 368 p., ISBN 978-0321985712. (EN)
Martin, R.C., et al.: Clean architecture: a craftsman's guide to software structure and design. Prentice Hall, 2018. ISBN 978-0134494166 (EN)

Zařazení předmětu ve studijních plánech

  • Program IT-MGR-2 magisterský navazující

    obor MBI , 0 ročník, zimní semestr, volitelný
    obor MBS , 0 ročník, zimní semestr, povinně volitelný
    obor MGM , 0 ročník, zimní semestr, volitelný
    obor MIN , 0 ročník, zimní semestr, volitelný
    obor MIS , 2 ročník, zimní semestr, povinný
    obor MMM , 0 ročník, zimní semestr, volitelný
    obor MPV , 0 ročník, zimní semestr, povinně volitelný
    obor MSK , 2 ročník, zimní semestr, povinně volitelný

  • Program MITAI magisterský navazující

    specializace NADE , 0 ročník, zimní semestr, povinný
    specializace NBIO , 0 ročník, zimní semestr, volitelný
    specializace NCPS , 0 ročník, zimní semestr, volitelný
    specializace NEMB , 0 ročník, zimní semestr, volitelný
    specializace NGRI , 0 ročník, zimní semestr, volitelný
    specializace NHPC , 0 ročník, zimní semestr, volitelný
    specializace NIDE , 0 ročník, zimní semestr, volitelný
    specializace NISD , 1 ročník, zimní semestr, povinný
    specializace NMAL , 0 ročník, zimní semestr, volitelný
    specializace NMAT , 0 ročník, zimní semestr, volitelný
    specializace NNET , 0 ročník, zimní semestr, volitelný
    specializace NSEC , 0 ročník, zimní semestr, volitelný
    specializace NSEN , 0 ročník, zimní semestr, povinný
    specializace NSPE , 0 ročník, zimní semestr, volitelný
    specializace NVER , 0 ročník, zimní semestr, volitelný
    specializace NVIZ , 0 ročník, zimní semestr, volitelný
    specializace NISY do 2020/21 , 0 ročník, zimní semestr, volitelný
    specializace NISY , 0 ročník, zimní semestr, volitelný

Typ (způsob) výuky

 

Přednáška

39 hod., nepovinná

Vyučující / Lektor

Osnova

  1. Úvodní informace a softwarové projekty
  2. Jazyky pro modelování software - funkčně/objektově orientovaný návrh a jazyk UML 2, pohledy na architekturu software
  3. Jazyk UML
  4. Novinky v UML a agilní modelování
  5. Unified process a jeho fáze zahájení - analýza požadavků, FURPS+ a modelování případů užití
  6. Fáze rozpracování v Unified process - model domény, systémový diagram sekvence a kontrakty operací
  7. Návrh architektury - vrstvená architektura, závislosti balíků a jejich eliminace, princip oddělení modelu a pohledu
  8. Architektonické vzory - Model-View-Controller (MVC), Presentation-Control-Entity-Mediator-Foundation (PCMEF), Model-View-Presenter (MVP)
  9. Objektově orientovaný návrh - návrh řízený zodpovědnostmi (Responsibility-Driven Design, RDD), návrhové vzory GoF, principy GRASP
  10. Principy objektově orientovaného návrhu - principy SOLID, viditelnost a rozsah použití objektů
  11. Vývoj software - vývoj řízený testem, refaktorizace kódu
  12. Anti-vzory a osvědčené praktiky vývoje software
  13. Praktické příklady, opakování a demonstrace/procvičování analýzy a návrhu software

Projekt

13 hod., povinná

Vyučující / Lektor

Osnova

  • 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.