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


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

КатегоријаТеоријско-методолошки
Научна областПримењене рачунарске науке и информатика
МултидисциплинарнаНе
ЕСПБ6
Матичне организационе јединице предмета

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

Програм се примењује од 29.10.2012..

Оспособити студенте за примену савремених метода, алата и најбоље праксе у процесу инжењерског развоја софтвера. Омогућити јасну диференцијацију између програмирања и софтверског инжењерства и улоге модела животног циклуса софтвера у процесу инжењерства софтверских производа. Оспособити студенте за избор модела животног циклуса софтвера који најбоље одговара природи домена проблема и карактеристикама програмских производа. Подићи ниво свести о улози захтева, њихове спецификације (модела захтева) и описа интеракције корисника са развијаним софтверским производом (функционални модел) на архитектуру и принципе развоја интерактивних програмских производа.
Након успешно завршеног курса студент је у стању да: користи модерне технике и алате у развоју софтвера (интегрисана окружења, едиторе, компајлере, дебагере и др.), успешно сарађује на развоју софтвера у оквиру вишечланог тима, користи алате за колаборацију, системе за контролу верзија и системе за праћење захтева за променама, пише јединичне, интеграционе тестове и тестове прихватања, разуме предности развоја софтвера управљаног тестирањем, разуме и користи основне методошке приступе у развоју софтвера, пише документацију и користи алате за писање документације за софтвер који развија.
Теоријски део: Процеси и методологије развоја софтвера; Модели животног циклуса софтвера; Упоредна анализа традиционалног схватања процеса развоја софтвера и агилне методологије. Инжењерство софтвера као професија. Преломне тачке у историји развоја дисциплине софтверског инжењерства. Корпус знања у софтверском инжењерству (SWEBOK - Software Engineering Body of Knowledge). Етички кодекс инжењерства софтвера (Software Engineering Code of Etics).Софтверски производ и процес његове израде. Преглед интегрисаних окружења за развој; предности у односу на класичне едиторе кода; ефикасна употреба интегрисаних окружења; навигација над изворним кодом; дефинисање динамичких шаблона за кодирање. Технике откривања и уклањања грешака; дебаговање. Системи за контролу верзија (Version Control System – VCS); архитектуре; алати; subversion – употреба, управљање верзијама. Основни појмови тестирање; развој софтвера вођен тестирањем; јединично тестирање; интеграционо тестирање; тест прихватања. Развој софтвера вођен понашањем; писање сценарија; писање тестова прихватања. Писање документације; документација елемената изворног кода; техничка документација; корисничко упутство; алати за писање и генерисање документације. Алати за управљање изградном и инсталацијом. Практичан део: инсталација, подешавање и употреба Eclipse интегрисаног окружења; подешавање шаблона за кодирања елемената изворног кода; техничка документација; корисничко упутство; алати за писање и генерисање документације. Алати за управљање изградном и инсталацијом. Виртуална окружења у Java-у. Практичан део: инсталација, подешавање и употреба Eclipse интегрисаног окружења; подешавање шаблона за кодирање у Java-у; дебаговање Java програма. Инсталација, подешавање и употреба клијената за subversion VCS; Subversive. Тестирање Јава програма (JUnit, doctest).
Предавања; Рачунарске вежбе; Консултације. Пројекат. Континуално праћење употребе система за контролу верзија, система за управљање пројекта, оквира за тестирање и оквира за писање документације кроз пројектни задатак. У склопу предмета студенти подељени у тимове од по два члана (парови) реализују пројекат интерактивне апликације која омогучава визуализацију и разумевање структура података и основних операција над структурама података (алгоритми). Методолошки приступ заснива се на изради документа визије модела захтева и функционалног модела развијаног софтверског производа. Спецификацијом вођен развој омогућава каснију верификацију и валидацију програмског производа у односу на његову спецификацију.
АуториНазивГодинаИздавачЈезик
Перишић, Б.Основи софтверског инжењерства2016Факултет техничких наука, Нови СадСрпски језик
Bourque, P., Dupuis; R., Abran, A., Moore, J. W.Guide to the Software Engineering Body of Knowledge2005Sams PublishingЕнглески
Pfleeger, S.L.Software Engineering : Theory and Practice2001Prentice-Hall, New YorkЕнглески
Robert C. MartinClean Code A Handbook of Agile Software Craftmanship2009Prentica HallЕнглески
Pierre Bourque, Richard E. (Dick) FairleyGuide to the Software Engineering Body of Knowledge Version 3.0 SWEBOK V.3.02014IEEE Computer SocietyЕнглески
James W. MooreThe Road Map to Software Engineering: A Standards-Based Guide2006Wiley-IEEE Computer Society PressЕнглески
Pressman, R. S., Maxim, B. R.Software Engineering: A Practitioners Approach (8th edition)2014McGraw-HillЕнглески
Предметна активностПредиспитнаОбавезнаБрој поена
Праћење активности при реализацији пројекатадада10.00
Предметни пројекатдада30.00
Писмени део испита - комбиновани задаци и теоријанеда50.00
Одбрана пројектадада10.00
Име и презимеВид наставе
Недостаје слика

Ковачевић др Александар
Редовни професор

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

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

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

Радаковић Данијел
Асистент

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

Шаренац Балша
Асистент

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

Јанковић Ева
Асистент

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

Дорић Лука
Асистент

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

Ковачевић Тамара
Асистент

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

Прокић Симона
Асистент

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