Предмет: Увод у софтверско инжењерство
(12 -
SE0011) Основне информације
Матичне организационе јединице предмета
Програм предмета
Програм се примењује од 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). Предавања; Рачунарске вежбе; Консултације. Континуално праћење употребе система за контролу верзија, система за управљање пројекта, оквира за тестирање и оквира за писање документације кроз пројектни задатак. Одбрана пројекта је усмена. Завршни испит је усмени. Оцена испита се формира на основу успеха са одбране пројектног задатка и завршног усменог испита.
|