Predmet: Upravljanje konfiguracijom softvera
(06 -
E2510) Osnovne informacije
Program predmeta
Program se primenjuje od 30.09.2005.. Osposobiti studente za primenu preporučene prakse, metoda, tehnika i alata u domenu upravljanja konfiguracijom softvera (Software Configuration Management – SCM) sa posebnim akcentom na uvođenje i unapređenje SCM procesa. Po okončanju predmeta studenti su osposobljeni da: uvedu SCM preporučenu praksu, metode i alate u proces razvoja softvera, unaprede postojeće SCM procese, analiziraju dostupne alate i identifikuju prednosti i mane, razumeju prednosti i mane različitih sistema za kontrolu verzija, upravljanje promenama, upravljanje izgradnjom i izdanjima, upravljanje alternativnim tokovima razvoja i dr. Studenti, kroz upotrebu savremenih SCM alata i kroz postupak izrade i dokumentovanja SCM procesa i izrade aplikacije za podršku predloženom procesu, stiču široka praktična znanja iz predmetne oblasti. Teorijska nastava: Osnovne definicije i istorijat razvoja discipline upravljanja konfiguracijom (Configuration Management – CM). Tradicionalno shvatanje CM; Identifikacija konfiguracije; Upravljanje promenama; Praćenje statusa; Revizija i verifikacija; Upravljanje konfiguracijom u kontekstu razvoja softvera (Software Configuration Management – SCM).Upravljanje izvornim kodom; Sistemi za upravljanje izvornim kodom(Version Control System – VCS); Arhitekture, prednosti i mane; Društveno kodiranje; Modeli repozitorijuma; Modeli upravljanja konkurentnim izmenama; Modeli upravljanja alternativnim tokovima razvoja. Upravljanje izgradnom; Automatizacija; Alati. Upravljanje promenama; Događaji; Zahtevi za promenama; Praćenje; Sistemi za podršku. Upravljanje izdanjima; Identifikacija; Sledljivost; Automatizacija. Upravljanje uvođenjem; Identifikacija; Autorizacija; Bezbednost; Planiranje. Industrijski okviri i standardi. Modeli zrelosti. Praktična nastava: Alati za poređenje fajlova (patch i diff). Centralizovani sistemi za kontrolu verzija (Subversion). Distribuirani sistemi za kontrolu verzija (Git, Mercurial). Alati za podršku praćenju promena (Trac, ReviewBoard). Alati za automatizovanu izgradnju (Apache Ant + Ivy, Maven). Sistemi za kontinualnu integraciju (Jenkins). Osmišljavanje i dokumentovanje SCM procesa u skladu sa preporučenom praksom. Izrada veb aplikacije za podršku predloženom SCM procesu. Predavanja; Računarske vežbe; Konsultacije. Rešavanje projektnog zadatka kroz rad u okviru projektnih timova. Poslednjih nedelja semestra organizuju se javne prezentacije projektnih zadataka najuspešnijih timova i diskutuju se postignuti rezultati. Odbrana projekta je usmena. Završni ispit je usmeni. Ocena ispita se formira na osnovu uspeha sa odbrane projektnog zadatka i završnog usmenog ispita.
|