Program se primenjuje od 29.10.2012..
Osposobiti studente za primenu savremenih metoda, alata i najbolje prakse u procesu razvoja softvera.
Nakon uspešno završenog kursa student je u stanju da: koristi moderne tehnike i alate u razvoju softvera (integrisana okruženja, editore, kompajlere, debagere i dr.), uspešno sarađuje na razvoju softvera u okviru višečlanog tima, koristi alate za kolaboraciju, sisteme za kontrolu verzija i sisteme za praćenje zahteva za promenama, piše jedinične, integracione testove i testove prihvatanja, razume prednosti razvoja softvera upravljanog testiranjem, razume i koristi osnovne metodoške pristupe u razvoju softvera, piše dokumentaciju i koristi alate za pisanje dokumentacije za softver koji razvija.
Teorijski deo: Procesi i metodologije razvoja softvera; tradicionalno shvatanje procesa razvoja softvera; agilne metodologije; iterativne metodologije. Pregled integrisanih okruženja za razvoj; prednosti u odnosu na klasične editore koda; efikasna upotreba integrisanih okruženja; navigacija nad izvornim kodom; definisanje dinamičkih šablona za kodiranje. Tehnike otkrivanja i uklanjanja grešaka; debagovanje. Sistemi za kontrolu verzija (Version Control System – VCS); arhitekture; alati; subversion – upotreba, upravljanje verzijama. Testiranje; razvoj softvera vođen testiranjem (Test-Driven Development - TDD); jedinično testiranje; integraciono testiranje; test prihvatanja; okviri za testiranje na programskom jeziku Python. Razvoj softvera vođen ponašanjem (Behavior-Driven Development - BDD); pisanje scenarija; pisanje testova prihvatanja. Agilne metode i alati za upravljanja projektom; praćenje zahteva za promenama; praćenje zadataka; povezivanje sa promenama izvornog koda. Pisanje dokumentacije; dokumentacija elemenata izvornog koda; tehnička dokumentacija; korisničko uputstvo; alati za pisanje i generisanje dokumentacije. Alati za upravljanje izgradnom i instalacijom. Virtualna okruženja u Python-u.
Praktičan deo: instalacija, podešavanje i upotreba Eclipse integrisanog okruženja; podešavanje šablona za kodiranje u Python-u; debagovanje Python programa. Instalacija, podešavanje i upotreba klijenata za subversion VCS; Subversive. Testiranje Python programa (PyUnit, doctest). Alati za razvoj vođen ponašanjem (Lettuce); pisanje scenarija. Upravljanje zahtevima za promenama (Trac). Pisanje i generisanje dokumentacije (Sphinx). Alati za upravljanje izgradnom i instalacijom (setuptools, distribute, easy_install, pip). Virtualna okruženja u Python-u (virtualenv).
Predavanja; Računarske vežbe; Konsultacije. Kontinualno praćenje upotrebe sistema za kontrolu verzija, sistema za upravljanje projekta, okvira za testiranje i okvira za pisanje dokumentacije kroz projektni zadatak. 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.
Autori | Naziv | Godina | Izdavač | Jezik |
---|
Perišić Branko | Osnovi softverskog inzenjerstva | 2011 | FTN | Srpski jezik |
Younker, J. | Foundations of agile Python development | 2008 | Apress | Engleski |
Murphy, D. | Managing Software Development with Trac and Subversion | 2007 | PacktPub Limited | Engleski |
Predmetna aktivnost | Predispitna | Obavezna | Broj poena |
---|
Odbrana projekta | da | da | 50.00 |
Usmeni deo ispita | ne | da | 50.00 |
| Ime i prezime | Vid nastave |
---|
| | Predavanja |
| | Predavanja |
| | Predavanja |
| | Računarske vežbe |
| | Računarske vežbe |