Циљ и исход предмета
Оспособљаваче студената за писање формалне спецификације софтвера која садржи опис функционалних захтева као и статички и динамички модел софтверског система. Студент је оспособљен за анализу сложених софтверских система, за формирање спецификације захтева софтвера као и коришћење формализама заснованог на UML-u приликом моделовања статичког и динамичког понашања система и софтвера.
Теоријска настава
Основни модел софтверског система. Однос спецификације захтева, спецификације дизајна и имплементације софтверских система. Основи инжењерства захтева, процес, исказивање, анализа, спецификација, верификација и валидација захтева. Израда формалног документа – спецификација захтева. Основи дизајна софтвера, статичко и динамичко моделовање. Основе UML-a, структура, организација и мета-модел. UML дијаграми: дијаграм случајева коришћења, дијаграми класа, дијаграми објеката, дијаграми сарадње, дијаграми секвенце, дијаграми активности, дијаграми стања, дијаграм компоненти. Напредно UML моделовање: интерфејси, пакети и моделовање физичке архитектуре. Архитектонски и дизајн шаблони и њихова примена у моделовању архитектуре софтверских система.
Практична настава
Коришћење јавно доступног софтверског алата базираном на UML-u. Демонстративна вежба крерирања свих UML дијаграма обрађених на теоријској настави за изабрани домен (конкретан софтверски систем) уз дискусију. Обучавање у писању документа спецификације.