Detail předmětu
Úvod do softwarového inženýrství
FIT-IUSAk. rok: 2021/2022
Pojmy softwarové inženýrství a softwarová krize, historie a cíle sofwarového inženýrství, vlastnosti softwarového produktu. Životní cyklus a etapy vývoje softwaru, charakteristika používaných metodik. Analýza a specifikace požadavků, zachycení požadavků v diagramu případů užití. Princip a modelovací techniky strukturované analýzy a návrhu (DFD, ERD). Základy objektové orientace (objekt, třída, abstrakce, zapouzdření, dědičnost, polymorfismus). Modelovací techniky objektově orientované analýzy a návrhu (diagram tříd, diagram objektů, návrhové vzory). UML v etapách vývoje softwaru (diagramy spolupráce, sekvenční diagramy, diagramy aktivit, stavové diagramy, OCL). Implementace, validace a verifikace programů (funkcionální a strukturální testování). Agilní metodiky pro tvorbu softwaru. Problematika provozu a servisu informačních systémů. Řízení softwarových projektů, normy pro zajištění kvality, ochrana intelektuálního vlastnictví, etický kodex softwarového inženýra.
Pro získání 5 kreditů dle ECTS by měl běžný student věnovat přibližně 125 až 150 hodin svého času. V IUS by tento čas mohl být využit například takto:
- 39 hodin přednášek
- 8 hodin cvičení
- 12 hodin práce na domácí úloze
- 16 hodin práce na týmovém projektu
- 13 hodin průběžné samostudium
- 37 hodin příprava na závěrečnou zkoušku
Jazyk výuky
Počet kreditů
Garant předmětu
Zajišťuje ústav
Výsledky učení předmětu
Student se naučí provádět analýzu a návrh softwarových systémů. Bude rozumět a umět vytvářet základní modely v UML.
Prerekvizity
Způsob a kritéria hodnocení
Učební cíle
Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky
Znalosti studentů jsou ověřovány na cvičeních, vypracováním domácí úlohy, vypracováním a obhajobou projektu a závěrečnou zkouškou.
Body za cvičení jsou přidělovány na základě aktivní účasti. Chyba při řešení příkladu u tabule nebo nesprávná či neúplná odpověď na položenou otázku ke snížení bodového hodnocení cvičení nepovede (cílem cvičení je si látku procvičit, ne tlumit zájem studentů o procvičovanou problematiku hodnocením). Naopak neochota se zapojit do cvičení například řešením příkladu či diskuzí může vést k udělení menšího počtu bodů (nelze očekávat, že za dvě hodiny hraní her na notebooku nějaké body získáte).
Pokud se student nemůže cvičení z vážného důvodu (například pro nemoc) zúčastnit a tento důvod doloží v souladu s Článkem 55 Studijního a zkušebního řádu VUT, může se cvičení se stejným tématem zúčastnit s jinou skupinou (na což dotyčného cvičícího upozorní) nebo, pokud to již není možné, požádá svého cvičícího, aby mu byly body za cvičení přiděleny podle bodů získaných za domácí úlohu (1. a 2. cvičení) nebo za projekt (3. a 4. cvičení).
Pro získání bodů ze zkoušky je nutné zkoušku vypracovat tak, aby byla hodnocena nejméně 30 body. V opačném případě bude zkouška hodnocena 0 body.
Základní literatura
Page-Jones, M. Základy objektově orientovaného návrhu v UML. Grada, Praha, 2001. ISBN 80-247-0210-X.
Paleta, P. Co programátory ve škole neučí aneb Softwarové inženýrství v reálné praxi. Computer press, 2004. ISBN 80-251-0073-1.
Pezze, M., Young, M. Software Testing and Analysis: Process, Principles, and Techniques. John Wiley & Sons, 2007. ISBN 978-0-471-45593-6.
Richta, K., Sochor, J. Softwarové inženýrství I. Vydavatelství ČVUT, Praha 1996 (dotisk 1998). ISBN 80-01-01428-2.
Doporučená literatura
Daoust, N. UML Requirements Modeling For Business Analysts. Technics Publications, 2012. 268 p. ISBN 978-1935504245.
Objektově orientované modelování systémů - učební text : učební text zaměřený na jazyk UML 2.0. VUT v Brně, 2004.
Kočí, R., Křena, B.: Úvod do softwarového inženýrství. Studijní opora, VUT v Brně, 2010.
Křena, B., Kočí, R.: Zadání a vzorová řešení ER diagramů ze zkoušek. Sbírka úloh. VUT v Brně, 2016.
Larman, C. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development. 3rd Edition. 736 p. Pearson, 2004. ISBN: 978-0131489066.
Wiegers, K., Beatty, J. Software Requirements. Microsoft Press, 2013. 637 p. ISBN: 978-0735679658.
Elearning
Zařazení předmětu ve studijních plánech
Typ (způsob) výuky
Přednáška
Vyučující / Lektor
Osnova
- Softwarové inženýrství, základní problémy při vývoji softwaru, vodopádový model životního cyklu softwaru.
- Analýza a specifikace požadavků, typy požadavků, techniky komunikace a modelování (diagram případů užití, diagram aktivit, stavový diagram).
- Strukturovaná analýza a návrh, přehled metodik a modelovacích technik. Diagramy DFD a ERD.
- Objektově orientovaná analýza a návrh, přehled metodik a modelovacích technik. Jazyk UML (Unified Modelling Language), diagramy tříd a objektů.
- Modelovací prostředky jazyka UML - sekvenční diagram, diagram komunikace, jazyk OCL.
- Komplexní modelování v UML.
- Návrhové vzory.
- Implementace a testování softwaru.
- Provoz a údržba softwaru.
- Lineární a iterativní modely životního cyklu softwaru, agilní metodiky vývoje softwaru.
- Zajištění a hodnocení kvality softwaru, metriky a posuzování vlastností softwarového produktu.
- Řízení softwarových projektů.
- Management SW projektů, ochrana intelektuálního vlastnictví, etický kodex softwarového inženýra.
Cvičení odborného základu
Vyučující / Lektor
Osnova
- Specifikace požadavků v UML - diagramy případů užití, diagramy aktivit a stavové diagramy (3. a 4. týden výuky, max. 3 body)
- Datové modelování - ER diagramy (5. až 7. týden výuky, max. 3 body)
- Analýza a návrh v UML - diagramy tříd a diagramy objektů (7. až 9. týden výuky, max. 3 body)
- Analýza a návrh v UML - sekvenční diagramy a diagramy komunikace (9. až 11. týden výuky, max. 3 body)
Projekt
Vyučující / Lektor
Osnova
- Individuálně řešená domácí úloha - ER diagram (12 bodů)
- Týmově řešený komplexní model informačního systému (16 bodů)
Elearning