Спецификација и моделовање софтвера

Циљ и исход предмета

Оспособљаваче студената за писање формалне спецификације софтвера која садржи опис функционалних захтева као и статички и динамички модел софтверског система. Студент је оспособљен за анализу сложених софтверских система, за формирање спецификације захтева софтвера као и коришћење формализама заснованог на UML-у приликом моделовања статичког и динамичког понашања система и софтвера.

Теоријска настава

Основни модел софтверског система. Однос спецификације захтева, спецификације дизајна и имплементације софтверских система. Основи инжењерства захтева, процес, исказивање, анализа, спецификација, верификација и валидација захтева. Израда формалног документа - спецификација захтева. Основи дизајна софтвера, статичко и динамичко моделовање. Основе UML-а, структура, организација и мета-модел. UML дијаграми: дијаграм случајева коришћења, дијаграми класа, дијаграми објеката, дијаграми сарадње, дијаграми секвенце, дијаграми активности, дијаграми стања, дијаграм компоненти. Напредно UML моделовање: интерфејси, пакети и моделовање физичке архитектуре. Архитектонски и дизајн шаблони и њихова примена у моделовању архитектуре софтверских система.

Практична настава

Коришћење јавно доступног софтверског алата базираном на UML-у. Демонстративна вежба крерирања свих UML дијаграма обрађених на теоријској настави за изабрани домен (конкретан софтверски систем) уз дискусију. Обучавање у писању документа спецификације.