Студијски програм: | Дипломске (мастер) студије електротехнике и рачунарства |
Група за: | софтверско инжењерство |
Назив предмета: | Еволуција софтвера |
Наставник: | Бојић Драган |
Статус предмета: | изборни |
Број ЕСПБ: | 6 |
Услов: | |
Циљ предмета | Побољшавањем техника пројектовања и/или променама у пословним циљевима и процесима посла, постоји јака потреба да постојећи софтверски системи еволуирају задржавајући свој континуитет употребе. Таква еволуција захтева различите методе и технике. |
Исход предмета | Критички оценити тренутне основе за еволуцију софтвера. Усвојити технике реинжењерства за миграцију и апстракцију софтвера Стећи практична искуства у коришћењу алата |
Садржај предмета | |
Теоријска настава | Еволуција у оквиру животних циклуса развоја, Леманови закони еволуције, Управљачки аспекти еволуције софтвера, Рефакторисање, Аспектно оријентисана еволуција софтвера, Теоријa трансформације и њена имплементација |
Практична настава | Аудиторне вежбе које илуструју поједине концепте и технике обрађене на предавањима. Практичан пројекат који студент самостално израђује. |
Литература | |
1) | Grubb, Takang, Software Maintenance Concepts and Practice, World Scientific, 2003. |
2) | Martin Fowler. Refactoring: Improving the design of existing programs. Addison-Wesley, 1999. |
3) | Fowler, Patterns of Enterprise Application Architecure, Addison-Wesley 2003. |
4) | Ambler, Sadalage, Refactoring Databases: Evolutionary Database Design, Addison-Wesley, 2006. |
5) | Laddad, AspectJ in Action, Manning, 2003. |
Оцена знања (максимални број поена 100) | |
Предиспитне обавезе | Број поена |
Практичан пројекат | 50 |
Завршни испит | Број поена |
Усмени испит | 50 |