Detail předmětu

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

FIT-IUSAk. rok: 2010/2011

Historie využívání výpočetní techniky, pojem informační technologie, softwarové inženýrství, informační společnost. Etapy vývoje systémů s počítači, podrobněji metody a modely životního cyklu softwaru. Úvod do problematiky řízení softwarových projektů. Analýza a specifikace požadavků. Podstata strukturovaného a objektově orientovaného přístupu k vývoji programu. Základní pojmy objektové orientace - objekt, třída, zapouzdření, dědičnost, polymorfismus. Úvod do modelovacích technik objektově orientované analýzy a návrhu (hlavně Use Case model a diagram tříd). Úvod do modelovacích technik strukturované analýzy a návrhu (DFD, ERD). Úvod do verifikace a validace - posuzování, testování. Úvod do problematiky údržby programu. Agilní metody tvorby softwaru, základní principy extrémního programování a prototypování. Historie a přehled programovacích jazyků. Úvod do programového vybavení pro tvorbu dokumentů - textové editory, základy sazby dokumentů (DTP).

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 splnit všechny dále uvedené podmínky:
  • získat nejméně polovinu bodů ze všech projektů,
  • v rámci prvního projektu absolvovat e-learningový kurz, tedy získat alespoň jeden bod z prvního projektu,
  • a získat nejméně osm bodů ze třetího projektu.

Pokud bude odhaleno plagiátorství nebo nedovolená spolupráce na projektech, zápočet nebude udělen a dále bude zváženo zahájení disciplinárního řízení.

Osnovy výuky

  1. Historie využívání výpočetní techniky, pojem informační technologie, softwarová krize, softwarové inženýrství, informační společnost.
  2. Vývoj softwaru, softwarový produkt.
  3. Etapy vývoje softwarových systémů, modely životního cyklu softwaru. Analýza a specifikace požadavků (funkční a nefunkční požadavky, validace požadavků, formální specifikace).
  4. Metody specifikace požadavků, modelovací techniky strukturované a objektově orientované analýzy.
  5. Modelovací techniky strukturovaného návrhu.
  6. Modelovací techniky objektově orientovaného návrhu, Unified Modelling Language (UML).
  7. Vybrané modelovací prostředky UML (diagram případů použití, diagram tříd, stavový diagram, diagram aktivit).
  8. Komplexní modelování pomocí UML.
  9. Úloha validace a verifikace při vývoji softwaru.
  10. Implementace, testování a údržba softwaru (znovupoužitelnost, změny požadavků, verzování, reengineering, počítačová podpora).
  11. Agilní metody vývoje softwaru, extrémní programování a prototypování.
  12. Úvod do problematiky řízení softwarových projektů. 
  13. Posuzování kvality software.

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 studentů jsou ověřovány vypracováním projektů 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ě 30 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

Kočí, R., Křena, B.: Úvod do softwarového inženýrství. Studijní opora, VUT v Brně, 2010.
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.
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.

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

26 hod., nepovinná

Vyučující / Lektor

Osnova

  1. Historie využívání výpočetní techniky, pojem informační technologie, softwarová krize, softwarové inženýrství, informační společnost.
  2. Vývoj softwaru, softwarový produkt.
  3. Etapy vývoje softwarových systémů, modely životního cyklu softwaru. Analýza a specifikace požadavků (funkční a nefunkční požadavky, validace požadavků, formální specifikace).
  4. Metody specifikace požadavků, modelovací techniky strukturované a objektově orientované analýzy.
  5. Modelovací techniky strukturovaného návrhu.
  6. Modelovací techniky objektově orientovaného návrhu, Unified Modelling Language (UML).
  7. Vybrané modelovací prostředky UML (diagram případů použití, diagram tříd, stavový diagram, diagram aktivit).
  8. Komplexní modelování pomocí UML.
  9. Úloha validace a verifikace při vývoji softwaru.
  10. Implementace, testování a údržba softwaru (znovupoužitelnost, změny požadavků, verzování, reengineering, počítačová podpora).
  11. Agilní metody vývoje softwaru, extrémní programování a prototypování.
  12. Úvod do problematiky řízení softwarových projektů. 
  13. Posuzování kvality software.

Projekt

26 hod., nepovinná

Vyučující / Lektor