Studijski program / studijski programi: INFORMACIONE TEHNOLOGIJE
Vrsta i nivo studija: Osnovne strukovne studije
Naziv predmeta: PRINCIPI SOFTVERSKOG INŽENJERSTVA
Status predmeta: Obavezan
Broj ESPB: 7

Cilj predmeta

Cilj predmeta je upoznavanje sa disciplinom softverskog inženjerstva kroz proces prikupljanja zahteva, dizajna, razvoja, upravljanja i dokumentovanja softvera, primenom tehnologija računarske nauke, tehnika upravljanja projektima, inženjerstva, matematike, dizajna i drugih disciplina. Upoznavanje sa preizvodnjom softverskih rešenja visokog kvaliteta i razmatranje karakteristika koje doprinose kvalitetu. Razumevanje uloge i odgovornosti naručioca, korisnika i učesnika u procesu razvoja softvera.

Ishod predmeta

Studenti će savladati tehnike koje se koriste za prikupljanje zahteva, razumeće značaj faze prikupljanja zahteva, naučiće Software Requirements Specification (SRS) Template prema IEEE standardu, vrste agilnih metoda, Scrum model razvoja, vrste notacija i opisa softverskog dizajna, izgled dijagrama entiteti–veze, izgled dijagrama promene stanja, izgled Džeksonovog strukturnog dijagrama, UML formu za modelovanje (Unified Modeling Language), raspon i životni vek promenljive.

Studenti će naučiti način ispravnog komentarisanja programa, primenu promenljivih radi bolje preglednosti i čitljivosti programa, pravilno imenovanje funkcije, konvencije o imenovanju, vezu testiranja i kvaliteta softvera, inspekciju koda, Black box i White box tehnike testiranja, razlike između korektivnog, adaptivnog i perfektivnog održavanja, koja su tela ovlašćena da izdaju standarde, pojam SC7 kolekcije standarda, standard ISO/IEC 12207, standard ISO/IEC 12207, kvalitet softvera i način njegovog predstavljanja.

Sadržaj predmeta

Teorijska nastava

 

  • Proces uzimanja zahteva
  • Izvori softverskih zahteva
  • Tehnike prikupljanja softverskih zahteva
  • Analiza i klasifikacija zahteva
  • Specifikacija zahteva
  • Merenje zahteva
  • Metodologija razvoja softvera
  • Modeli razvoja
  • Agilne metode
  • SCRUM razvoj
  • Proces softverskog dizajna
  • Softverska struktura i arhitektura
  • Arhitekturalni stilovi (makroarhitektura)
  • Dizajn paterni (mikroarhitektura)
  • Evaluacija i analiza kvaliteta softverskog dizajna
  • Notacija softverskog dizajna
  • Minimiziranje kompleksnosti
  • Predviđanje promena
  • Standardi u konstrukciji
  • Upravljanje konstrukcijom
  • Kodiranje
  • Testiranje konstrukcije
  • Kvalitet konstrukcije
  • Integracija
  • Selekcija kriterijuma testiranja
  • Efikasnost testiranja
  • Nivoi testiranja
  • Test jedinice
  • Integralni test
  • Sistemsko testiranje
  • Ciljevi i tehnike testiranja
  • Test dokumentacija
  • Kategorije održavanja
  • Procena troškova održavanja
  • Aktivnosti održavanja
  • Upravljanje softverskom dokumentacijom

 

Praktična nastava

 

  • Primeri koji prate predavanja
  • Prezentacija savremenih alata softverskog inženjerstva
  • Ilustracija agilnih metoda razvoja kroz praktične primere i projekte iz prakse