Развој софтвера

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

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

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

Животни циклус софтверског производа; фазе животног циклуса; значај примене методологија за развој софтвера; историјат развоја методологија; модели развоја софтвера; модели базирани на водопаду; итеративни и инкрементални модели; Бемов спирални модел; модели базирани на прототиповима; агилне методологије (SCRUM, Scaled Agile Framework – SAF, екстремно програмирање, Feature Driven Development – FDD, Dynamic Systems Development Method – DSDM, Kristal, Адаптивни развој софтвера – ASD, Test Driven Development – TDD); аутоматизован развој софтвера; савремени алати за планирање, пројектовање, конструкцију и документовање; алати за подршку тимског рада и праћења напретка софтверског пројекта.

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

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