| Студијски програм: | Дипломске (мастер) студије електротехнике и рачунарства |
| Група за: | софтверско инжењерство |
| Назив предмета: | Еволуција софтвера |
| Наставник: | Бојић Драган |
| Статус предмета: | изборни |
| Број ЕСПБ: | 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 |