Модели и методе софтверског инжењерства

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

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

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

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

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

Анализа студија случаја коришћењем различитих модела и језика спецификације софтвера који су обрађени у оквиру теоретске наставе. Илустрација различитих приступа моделирању софтвера на примерима познатих софтвера. Вежба анлализе модела софтвера – анализа коректности, комплетности, конзистенције, могућности праћења, анализе интеракције (контроле тока). Писање различитих модела за различите аспекте софтверског система – структурни модел, модел података, модел понашања. Дискусија о методама софтверског инжењерства обрађених у оквиру теоријске наставе и приказ студија случаја примене различитих метода у развоју софтвера.

2979-modeli-i-metode-softverskog-inzenjerstva