Програм се примењује од 29.10.2012..
Оспособити студенте за примену савремених метода, алата и најбоље праксе у процесу развоја софтвера.
Након успешно завршеног курса студент је у стању да: користи модерне технике и алате у развоју софтвера (интегрисана окружења, едиторе, компајлере, дебагере и др.), успешно сарађује на развоју софтвера у оквиру вишечланог тима, користи алате за колаборацију, системе за контролу верзија и системе за праћење захтева за променама, пише јединичне, интеграционе тестове и тестове прихватања, разуме предности развоја софтвера управљаног тестирањем, разуме и користи основне методошке приступе у развоју софтвера, пише документацију и користи алате за писање документације за софтвер који развија.
Теоријски део: Процеси и методологије развоја софтвера; традиционално схватање процеса развоја софтвера; агилне методологије; итеративне методологије. Преглед интегрисаних окружења за развој; предности у односу на класичне едиторе кода; ефикасна употреба интегрисаних окружења; навигација над изворним кодом; дефинисање динамичких шаблона за кодирање. Технике откривања и уклањања грешака; дебаговање. Системи за контролу верзија (Version Control System – VCS); архитектуре; алати; субверсион – употреба, управљање верзијама. Тестирање; развој софтвера вођен тестирањем (Test-Driven Development - TDD); јединично тестирање; интеграционо тестирање; тест прихватања; оквири за тестирање на програмском језику Python. Развој софтвера вођен понашањем (Behavior-Driven Development - BDD); писање сценарија; писање тестова прихватања. Агилне методе и алати за управљања пројектом; праћење захтева за променама; праћење задатака; повезивање са променама изворног кода. Писање документације; документација елемената изворног кода; техничка документација; корисничко упутство; алати за писање и генерисање документације. Алати за управљање изградном и инсталацијом. Виртуална окружења у Python-у.
Практичан део: инсталација, подешавање и употреба Eclipse интегрисаног окружења; подешавање шаблона за кодирање у Python-у; дебаговање Python програма. Инсталација, подешавање и употреба клијената за subversion VCS; Subversive. Тестирање Пyтхон програма (PyUnit, doctest). Алати за развој вођен понашањем (Lettuce); писање сценарија. Управљање захтевима за променама (Trac). Писање и генерисање документације (Sphinx). Алати за управљање изградном и инсталацијом (setuptools, distribute, easy_install, pip). Виртуална окружења у Python-у (virtualenv).
Предавања; Рачунарске вежбе; Консултације. Континуално праћење употребе система за контролу верзија, система за управљање пројекта, оквира за тестирање и оквира за писање документације кроз пројектни задатак. Одбрана пројекта је усмена. Завршни испит је усмени. Оцена испита се формира на основу успеха са одбране пројектног задатка и завршног усменог испита.
Аутори | Назив | Година | Издавач | Језик |
---|
Перишић Бранко | Основи софтверског инзењерства | 2011 | ФТН | Српски језик |
Younker, J. | Foundations of agile Python development | 2008 | Apress | Енглески |
Murphy, D. | Managing Software Development with Trac and Subversion | 2007 | PacktPub Limited | Енглески |
Предметна активност | Предиспитна | Обавезна | Број поена |
---|
Одбрана пројекта | да | да | 50.00 |
Усмени део испита | не | да | 50.00 |
| Име и презиме | Вид наставе |
---|
| | Предавања |
| | Предавања |
| | Предавања |
| | Рачунарске вежбе |
| | Рачунарске вежбе |