Detail předmětu
Úvod do softwarového inženýrství
FP-USINAk. rok: 2020/2021
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í
• 30 hodin práce na projektu
• 13 hodin průběžné samostudium
• 35 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, kdy se studenti zapojují do řešení diskutovaných problémů u tabule. Při mimořádné situaci nebude jednoduché cvičení adekvátně nahradit - lze například uvažovat o záznamu democvičení a následných konzultacích.
3) Projekt - řeší studenti samostatně podle zvoleného zadání. Své řešení pak v závěru semestru obhájí před asistentem. Při mimořádné situaci lze zvážit obhajobu prostřednictvím vybraného telekonferenčního systému.
4) 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. Realizace zkoušky bez fyzické přítomnosti studenta naráží na legislativní překážky. Při mimořádné situaci tak lze spíše očekávat posun termínu zkoušky než její realizaci on-line formou.
Způsob a kritéria hodnocení
• Pro získání zápočtu musí student v součtu ze cvičení a projektu získat nejméně 18 bodů. Pokud bude odhaleno plagiátorství nebo nedovolená spolupráce na 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 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 může požádat svého cvičícího o zadání náhradního úkolu, za který může získat stejný počet bodů jako za cvičení, které nahrazuje.
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. 4 body)
3. Analýza a návrh v UML - diagramy tříd a diagramy objektů (7. a 8. týden výuky, max. 4 body)
4. Analýza a návrh v UML - sekvenční diagramy a diagramy komunikace (9. a 11. týden výuky, max. 4 body)
Elearning