Cíle předmětu: 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. Anotace: 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.