Cilji in kompetence
Cilj tega predmeta je, da bi študent razumel celotni razvojni ciklus programske opreme in znal uporabiti osnovne tehnike in metode v okviru sistematičnega skupinskega razvoja.
Vsebina
• Uvod: modeliranje razvojnega ciklusa, koncept kakovosti, vloga standardov.
• Planiranje in vodenje projekta: analiza izvedljivosti, planiranje, vodenje projekta, študij primera, delo na projektu.
• Opisovanje zahtev: vrste in značilnosti zahtev, preverjanje zahtev, načini opisovanja, študij primera, delo na projektu.
• Načrtovanje sistema: načrtovanje arhitekture sistema, arhitekturni stili.
• Implementacija: načela in metode načrtovanja, kodiranje, načrtovanje uporabniškega vmesnika, študij primera, delo na projektu.
• Verifikacija programske opreme: osnovne definicije, opisovanje testnih primerov, osnovne testne strategije, testirna orodja, pisanje testnega poročila, formalna verifikacija, študij primera, delo na projektu.
• Vzdrževanje programske opreme: pisanje uporabniškega priročnika, problematika vzdrževanja, študij primera, delo na projektu.
Metode poučevanja in učenja
• predavanja, seminarske vaje, računalniške vaje.
Predvideni študijski rezultati - znanje in razumevanje
• napisati plan za majhen projekt in opisati zahteve
• napisati in preveriti specifikacije
• načrtovati, popravljati, testirati in vzdrževati programsko opremo srednje kompleksnosti glede na določen standard
• razložiti pomen kakovosti in ekonomskih faktorjev pri načrtovanju programske opreme
• opisati problematiko skupinskega dela
• opisati problematiko vodenja projekta
Predvideni študijski rezultati - Prenosljive/ključne spretnosti in drugi atributi
• Spretnosti komuniciranja: pisno izražanje pri pisanju projektne dokumentacije, komuniciranje s sodelavci na projektu.
• Uporaba informacijske tehnologije: uporaba programskih orodij za razvoj programske opreme.
Temeljni literatura in viri
• Pfleeger, S. L., & Atlee, J. M. (2010). Software engineering: theory and practice (4th ed., [international ed.], p. 782). Pearson.
• Sommerville, I. (2016). Software engineering (10th ed., p. 810). Pearson Education.
• Dogša, T. (1993). Verifikacija in validacija programske opreme: V & V (1. izd., p. 269). Tehniška fakulteta, Elektrotehnika, računalništvo in informatika.
Pogoji za vključitev v delo oz. za opravljanje študijskih obveznosti
Priporočeno znanje: programiranje v programskem jeziku C ali C++.