Предмет: Увод у софтверско инжењерство (12 - SE0011)


Основне информације

КатегоријаНаучно-стручни
Научна област
МултидисциплинарнаНе
ЕСПБ5
Матичне организационе јединице предмета

Тренутно нема података о матичним организационим јединицама предмета!
Програм предмета

Програм се примењује од 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 development2008ApressЕнглески
Murphy, D.Managing Software Development with Trac and Subversion2007PacktPub LimitedЕнглески
Предметна активностПредиспитнаОбавезнаБрој поена
Одбрана пројектадада50.00
Усмени део испитанеда50.00
Име и презимеВид наставе
Недостаје слика

Перишић др Бранко
Редовни професор

Предавања
Недостаје слика

Дејановић др Игор
Редовни професор

Предавања
Недостаје слика

Милосављевић др Гордана
Редовни професор

Предавања
Недостаје слика

Бјељац Петар

Рачунарске вежбе
Недостаје слика

Венус Данијел

Рачунарске вежбе