Predmet: Uvod u softversko inženjerstvo (12 - SE0011)


Osnovne informacije

KategorijaNaučno-stručni
Naučna oblast
MultidisciplinarnaNe
ESPB5
Matične organizacione jedinice predmeta

Trenutno nema podataka o matičnim organizacionim jedinicama predmeta!
Program predmeta

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.
AutoriNazivGodinaIzdavačJezik
Perišić BrankoOsnovi softverskog inzenjerstva2011FTNSrpski jezik
Younker, J.Foundations of agile Python development2008ApressEngleski
Murphy, D.Managing Software Development with Trac and Subversion2007PacktPub LimitedEngleski
Predmetna aktivnostPredispitnaObaveznaBroj poena
Odbrana projektadada50.00
Usmeni deo ispitaneda50.00
Ime i prezimeVid nastave
Nedostaje slika

Perišić dr Branko
Redovni profesor

Predavanja
Nedostaje slika

Dejanović dr Igor
Redovni profesor

Predavanja
Nedostaje slika

Milosavljević dr Gordana
Redovni profesor

Predavanja
Nedostaje slika

Bjeljac Petar

Računarske vežbe
Nedostaje slika

Venus Danijel

Računarske vežbe