Detail předmětu
Úvod do softwarového inženýrství
IUS Ak. rok 2023/2024 zimní semestr 5 kreditů
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
Garant předmětu
Koordinátor předmětu
Jazyk výuky
Zakončení
Rozsah
- 39 hod. přednášky
- 8 hod. cvičení
- 10 hod. projekty
Bodové hodnocení
- 60 bodů závěrečná zkouška (písemná část)
- 12 bodů numerická cvičení
- 16 bodů projekty
- 12 bodů domácí úkoly
Zajišťuje ústav
Přednášející
Křena Bohuslav, Ing., Ph.D. (UITS)
Rogalewicz Adam, doc. Mgr., Ph.D. (UITS)
Cvičící
Dacík Tomáš, Ing. (UITS)
Goldmann Tomáš, Ing., Ph.D. (UITS)
Janoušek Vladimír, doc. Ing., Ph.D. (UITS)
Pavela Jiří, Ing. (UITS)
Rogalewicz Adam, doc. Mgr., Ph.D. (UITS)
Rozsíval Michal, Ing. (UITS)
Veigend Petr, Ing., Ph.D. (UITS)
Stránky předmětu
Cíle předmětu
Student získá přehled v oblasti tvorby rozsáhlých softwarových systémů. Student se seznámí zejména s etapami vývoje softwaru a modely životního cyklu softwaru. Porozumí základům metodiky analýzy a specifikace požadavků a návrhu softwarových systémů. Naučí se používat vybrané UML modely.
Proč je předmět vyučován
Tvorba softwaru je složitá inženýrská činnost, která nezřídka končí neúspěchem. Upozornit studenty na problémy, se kterými se budou při tvorbě softwaru potýkat, je proto hlavním poselstvím tohoto předmětu. V předmětu se studenti také naučí základní techniky analýzy a návrhu softwaru a jazyk UML. Důraz je kladen zejména na identifikaci údajů a jejich vzájemných vztahů (prostřednictvím ER diagramů), což je nezbytný předpoklad pro vytvoření funkčního informačního systému.
Požadované prerekvizitní znalosti a dovednosti
Předmět je zařazen do zimního semestru prvního ročníku bakalářského studijního programu. U studentů se proto předpokládají pouze běžné znalosti práce s počítačem na úrovni střední školy.
Literatura studijní
- 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.
- Objektově orientované modelování systémů - učební text : učební text zaměřený na jazyk UML 2.0. VUT v Brně, 2004.
- Arlow, J., Neustadt, I.: UML2 a unifikovaný proces vývoje aplikací. Computer Press, Brno, 2007. ISBN 978-80-251-1503-9.
- Daoust, N. UML Requirements Modeling For Business Analysts. Technics Publications, 2012. 268 p. ISBN 978-1935504245.
- Wiegers, K., Beatty, J. Software Requirements. Microsoft Press, 2013. 637 p. ISBN: 978-0735679658.
- 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.
Literatura referenční
- Beck, K. Extrémní programování. Grada, Praha, 2002. ISBN 80-247-0300-9.
- 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.
Osnova přednášek
- 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.
Osnova numerických cvičení
- Specifikace požadavků v UML - diagramy případů užití, diagramy aktivit a stavové diagramy (3. až 5. 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 (10. a 11. týden výuky, max. 3 body)
Osnova ostatní - projekty, práce
- Individuálně řešená domácí úloha - ER diagram (12 bodů)
- Týmově řešený komplexní model informačního systému (16 bodů)
Průběžná kontrola studia
Účast na přednáškách v tomto předmětu není kontrolována. Přednášková skupina 1BIA má přednášku plánovanou v pondělí, skupina 1BIB a studenti z FP ve čtvrtek. Studenti 2BIA a 2BIB si mohou vybrat, na kterou přednášku budou chodit. Pokud však chce kterýkoliv student přijít nebo i pravidelně chodit na přednášky druhé přednáškové skupiny, může, a to aniž by to komukoliv hlásil.
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. Za čtyři dvouhodinová cvičení může student získat až 12 bodů (3 body za každé cvičení), za individuální domácí úlohu (ER diagram) lze získat až 12 bodů, za týmový projekt s obhajobou lze získat až 16 bodů a za závěrečnou zkoušku až 60 bodů.
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ý cvičícího upozorní) nebo, pokud to již není možné, požádá, aby mu byly body za cvičení přiděleny podle bodů získaných za domácí úlohu (u 1. a 2. cvičení) nebo za projekt (u 3. a 4. cvičení).
Pro získání zápočtu musí student v součtu ze cvičení, domácí úlohy a projektu získat nejméně 18 bodů. Pokud bude odhaleno podvodné chování při účasti na cvičeních, plagiátorství nebo nedovolená spolupráce na domácí úloze nebo projektu, zápočet nebude udělen a dále bude zváženo zahájení disciplinárního řízení.
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.
Podmínky zápočtu
Pro získání zápočtu musí student v součtu ze cvičení, domácí úlohy a projektu získat nejméně 18 bodů. Pokud bude odhaleno podvodné chování při účasti na cvičeních, plagiátorství nebo nedovolená spolupráce na domácí úloze nebo projektu, zápočet nebude udělen a dále bude zváženo zahájení disciplinárního řízení.
Zařazení předmětu ve studijních plánech
- Program BIT, 1. ročník, povinný
- Program BIT (anglicky), 1. ročník, povinný
- Program IT-BC-3, obor BIT, 1. ročník, povinný