Развој и квалитет системског софтвера

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

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

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

Идеје и технике за пројектовање, развој и модификовање великих софтверских система. Управљање софтверским пројектима са нагласком на процес осигурање квалитета софтвера –модели квалитета, мерење квалитета, процена напора и трошкова. Конвенционалне методе софтверског инжењерства: анализа, пројектовање, софтверска метрика. Објектно-оријентисано софтверско инжењерство. Реинжењеринг. Развој базиран на софтверским компонентама. Различите методологије развоја софтвера са нагласком на агилне методологије, мерење и предвиђање квалитета софтвера (CMMI и TMM модели унапређења). Тестирање системског софтвера - стратегије, врсте техника испитивања (класе). Нивои тестирања према фазама развоја софтвера (у развоју и испоруци). Верификација и валидација као технике тестирања. Скуп техника тестирања софтвера. Алати за развој квалитетног системског софтвера. Тестирање система у стварном времену и безбедносно критично тестирање система (IEEE 1228-94). Одабир и комбиновање техника тестирања.

Студијски истраживачки рад

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