Софтверско инжењерство

Софтверски производ и софтверско инжењерство. Софтверски процес, методе и алати. Модели софтверских процеса. Модел водопада. Модел еволуционог развоја. Модел формалног развоја. Модел за поновну употребу. Управљање софтверским пројектом. Особине софтверског пројекта. Планирање и праћење пројекта. Захтеви и спецификације. Документи који описују захтеве. Проблеми код спецификација. Моделовање система. Модел тока података. Модели ентитета, веза и атрибута. Модел промене стања. Објектни модели. Моделовање употребом CASE алата. Употреба прототипова. Прототип корисничког интерфејса. Формална спецификација. Формална спецификација интерфејса. Формална спецификација понашања. Дизајн и имплементација. Декомпозиција већих делова система у мање. Модели система који се користе у дизајну. Утицај дизајна на квалитет софтвера. CASE алати за дизајн и имплементацију. Софтверске архитектуре. Архитектуре дистрибуираних система. Клијент сервер и архитектуре са дистрибуираним објектима. Дизајн употребом објектног приступа. Дизајн корисничког интерфејса. Интеракција корисника и система. Приказивање информација. Софтвер за поновну употребу. Развој заснован на компонентама. Фамилије апликација. Дизајн шаблони (patterns). Верификација и валидација. Однос верификације, валидације и дебаговања. Статичка верификација. Инспекција програма. Аутоматска статичка анализа. Формална верификација. Тестирање софтвера. Врсте и фазе тестирања. Тестирање делова. Интегрално тестирање. Одржавање и еволуција. Динамика и цена одржавања софтвера. Управљање конфигурацијом. Израда плана. Управљање изменама система. Управљање верзијама. Софтверско реинжењерство.

Рачунарски факултет Рачунарски факултет 011-33-48-079