Detail předmětu

Úvod do softwarového inženýrství

FIT-IUSAk. rok: 2015/2016

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.

Jazyk výuky

čeština

Počet kreditů

5

Výsledky učení 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. Seznámí se se základy publikování na počítači.

Student se naučí provádět analýzu a návrh softwarových systémů. Naučí se vytvářet projektovou a programovou dokumentaci. Bude rozumět a umět vytvářet základní modely v UML.

Prerekvizity

Předmět je umístěn v zimním 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.

Způsob a kritéria hodnocení

Pro získání zápočtu musí student získat nejméně 10 bodů z projeku. 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

    Osnova přednášek:
    1. Charakteristika softwarového inženýrství, přehled přístupů k vývoji softwaru.
    2. Životní cyklus softwaru, modely životního cyklu.
    3. Analýza a specifikace požadavků, typy požadavků, techniky komunikace a modelování (diagram případů užití).
    4. Strukturovaná analýza a návrh, přehled metodik a modelovacích technik. Diagramy DFD a ERD.
    5. Objektově orientovaná analýza a návrh, přehled metodik a modelovacích technik. Jazyk UML (Unified Modelling Language), diagramy tříd a objektů.
    6. Modelovací prostředky jazyka UML - diagram aktivit, sekvenční diagram, diagram komunikace, stavový diagram. Jazyk OCL.
    7. Komplexní modelování v UML.
    8. Návrhové vzory.
    9. Implementace a testování softwaru.
    10. Agilní metodiky vývoje softwaru.
    11. Provoz a údržba softwaru.
    12. Řízení softwarových projektů.
    13. Zajištění kvality softwaru, ochrana intelektuálního vlastnictví, etický kodex softwarového inženýra.

    Osnova ostatní - projekty, práce:
    1. Model informačního systému (30 bodů)

Učební cíle

Získat přehled v oblasti výstavby rozsáhlých softwarových systémů. Seznámit s procesem tvorby softwaru. Proces tvorby softwarového systému se analyzuje jako integrace vývoje systému, zabezpečení kvality softwaru a managementu softwarového projektu. Seznámit s etapami životního cyklu softwaru. Pozornost se věnuje všem etapám, zejména analýze a specifikaci požadavků a metodám návrhu softwaru. Naučit se používat základní modely UML a osvojit si metodiku modelování v UML.

Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky

Účast na přednáškách v tomto předmětu není kontrolována. Znalosti studujících jsou ověřovány vypracováním projektu a závěrečnou zkouškou. Pro získání bodů ze zkoušky je nutné zkoušku vypracovat tak, aby byla hodnocena nejméně 28 body. V opačném případě bude zkouška hodnocena 0 body.

Základní literatura

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.

Doporučená literatura

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

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

  • Program IT-BC-3 bakalářský

    obor BIT , 1 ročník, zimní semestr, povinný

Typ (způsob) výuky

 

Přednáška

39 hod., nepovinná

Vyučující / Lektor

Osnova

  1. Charakteristika softwarového inženýrství, přehled přístupů k vývoji softwaru.
  2. Životní cyklus softwaru, modely životního cyklu.
  3. Analýza a specifikace požadavků, typy požadavků, techniky komunikace a modelování (diagram případů užití).
  4. Strukturovaná analýza a návrh, přehled metodik a modelovacích technik. Diagramy DFD a ERD.
  5. Objektově orientovaná analýza a návrh, přehled metodik a modelovacích technik. Jazyk UML (Unified Modelling Language), diagramy tříd a objektů.
  6. Modelovací prostředky jazyka UML - diagram aktivit, sekvenční diagram, diagram komunikace, stavový diagram. Jazyk OCL.
  7. Komplexní modelování v UML.
  8. Návrhové vzory.
  9. Implementace a testování softwaru.
  10. Agilní metodiky vývoje softwaru.
  11. Provoz a údržba softwaru.
  12. Řízení softwarových projektů.
  13. Zajištění kvality softwaru, ochrana intelektuálního vlastnictví, etický kodex softwarového inženýra.

Projekt

13 hod., nepovinná

Vyučující / Lektor