Detail předmětu
Úvod do softwarového inženýrství
FP-USINAk. 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 USIN 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
Prerekvizity
Plánované vzdělávací činnosti a výukové metody
2) Cvičení - předpokládá se prezenční účast studentů na cvičeních, kde se studenti zapojují do řešení diskutovaných problémů u tabule. Pokud se student nemůže cvičení zúčastnit, může shlédnout záznam democvičení z loňského roku a prostudovat další poskytnuté studijní materiály (např. vzorové řešení ER diagramů).
3) Domácí úloha - každý student samostatně vypracuje pro vybrané zadání ER diagram.
4) Týmový projekt - studenti v týmech s 4-5 členy vytváří komplexní model informačního systému v UML podle zvoleného zadání. Své řešení pak v závěru semestru obhájí před asistentem.
5) Zkouška - je písemná a zahrnuje veškeré probrané učivo, včetně ověření schopnosti studentů své znalosti kreativním způsobem aplikovat.
Způsob a kritéria hodnocení
• Pro získání zápočtu musí student v součtu ze cvičení, domácí úlohy a z projektu získat nejméně 18 bodů.
• Pokud bude odhaleno 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í.
Osnovy výuky
2. Analýza a specifikace požadavků, typy požadavků, techniky komunikace a modelování (diagram případů užití, diagram aktivit, stavový diagram).
3. Strukturovaná analýza a návrh, přehled metodik a modelovacích technik. Diagramy DFD a ERD.
4. Objektově orientovaná analýza a návrh, přehled metodik a modelovacích technik. Jazyk UML (Unified Modelling Language), diagramy tříd a objektů.
5. Modelovací prostředky jazyka UML - sekvenční diagram, diagram komunikace, jazyk OCL.
6. Komplexní modelování v UML.
7. Návrhové vzory.
8. Implementace a testování softwaru.
9. Provoz a údržba softwaru.
10. Lineární a iterativní modely životního cyklu softwaru, agilní metodiky vývoje softwaru.
11. Zajištění a hodnocení kvality softwaru, metriky a posuzování vlastností softwarového produktu.
12. Řízení softwarových projektů.
13. Management SW projektů, ochrana intelektuálního vlastnictví, etický kodex softwarového inženýra.
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, a vypracováním a obhajobou týmového 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í).
Základní literatura
Page-Jones, M.: Základy objektově orientovaného návrhu v UML. Grada, 2001. ISBN 80-247-0210-X. (CS)
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. (CS)
Pezze, M., Young, M. Software Testing and Analysis: Process, Principles, and Techniques. John Wiley & Sons, 2007. ISBN 978-0-471-45593-6. (EN)
Richta, K., Sochor, J.: Softwarové inženýrství I. Vydavatelství ČVUT, Praha 1996 (dotisk 1998). ISBN: 80-01-01428-2. (CS)
Doporučená literatura
Kočí, R., Křena, B.: Úvod do softwarového inženýrství. Studijní opora, Vysoké učení technické v Brně, 2010. (CS)
Křena, B., Kočí, R.: Zadání a vzorová řešení ER diagramů ze zkoušek. Sbírka úloh. VUT v Brně, 2016. (CS)
Objektově orientované modelování systémů - učební text : učební text zaměřený na jazyk UML 2.0. Vysoké učení technické v Brně, 2004. (CS)
Elearning
Zařazení předmětu ve studijních plánech
- Program BAK-MIn bakalářský 1 ročník, zimní semestr, povinný
Typ (způsob) výuky
Přednáška
Vyučující / Lektor
Osnova
2. Analýza a specifikace požadavků, typy požadavků, techniky komunikace a modelování (diagram případů užití, diagram aktivit, stavový diagram).
3. Strukturovaná analýza a návrh, přehled metodik a modelovacích technik. Diagramy DFD a ERD.
4. Objektově orientovaná analýza a návrh, přehled metodik a modelovacích technik. Jazyk UML (Unified Modelling Language), diagramy tříd a objektů.
5. Modelovací prostředky jazyka UML - sekvenční diagram, diagram komunikace, jazyk OCL.
6. Komplexní modelování v UML.
7. Návrhové vzory.
8. Implementace a testování softwaru.
9. Provoz a údržba softwaru.
10. Lineární a iterativní modely životního cyklu softwaru, agilní metodiky vývoje softwaru.
11. Zajištění a hodnocení kvality softwaru, metriky a posuzování vlastností softwarového produktu.
12. Řízení softwarových projektů.
13. Management SW projektů, ochrana intelektuálního vlastnictví, etický kodex softwarového inženýra.
Cvičení
Vyučující / Lektor
Osnova
2. Datové modelování - ER diagramy (5. a 6. týden výuky, max. 3 body)
3. Analýza a návrh v UML - diagramy tříd a diagramy objektů (7. a 8. týden výuky, max. 3 body)
4. Analýza a návrh v UML - sekvenční diagramy a diagramy komunikace (9. a 10. týden výuky, max. 3 body)
*. Individuálně řešená domácí úloha - ER diagram (max. 12 bodů)
*. Týmově řešený komplexní model informačního systému (max. 16 bodů)
Elearning