Циљ и исход предмета
Овладавање фундаменталним концептима и техникама пројектовања софтверских система у различитим доменима примене. Стечена знања пружају дубље разумевање начина на који функционишу софтверски системи у различитим доменима. Предмет пружа и потребна знања за пројектовање и имплементацију конкретних софтверских система и представља основу за експеримантални истраживачки рад у области рачунарских наука.
Теоријска настава
Софтверске архитектуре. Дизајн софтверских система. Математичка основа спецификације засноване на моделу. Апстракција и модуларност. Слаба повезаност и висока кохезија елемената софтверског система. Фунцкионални захтеви софтверског система. Процес креирања софтверског система. Оцена квалитета софтверског система. Ограничења софтверског система. Сигурност софтверског система. Животни циклус софтверског система. Софтверски систем са великом количином података. Системи засновани на знању. Студије случаја софтверских система у различитим доменима: биолошки системи, финансијски системи, образовни системи, библиотечки системи. Теоретски и формални аспекти софтверског инжењерства. Анализа, тестирање и верификација софтверских система.
Студијски истраживачки рад
Део наставе на предмету се одвија кроз самостални студијски истраживачки рад који обухвата писање рада или имплементације неког конкретног решења из области софтверских система.