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,
opisati problematiko vodenja projekta,
opisati problematiko skupinskega dela,
• razložiti pomen kakovosti in ekonomskih faktorjev pri načrtovanju programske opreme,
• načrtovati, popravljati, testirati in vzdrževati programsko opremo srednje kompleksnosti glede na določen standard,
• napisati in preveriti specifikacije
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
• R. S. Pressman, B. R. Maxim: Software Engineering: A Practitioner's Approach, Eighth Edition, McGraw-Hill Education, New York, 2015.
• I. Sommerville: Software Engineering, Tenth Edition, Pearson Education Limited, Harlow, 2016.
• S. L. Pfleeger, J. M. Atlee: Software Engineering: Theory and Practice, Fourth Edition, Pearson, London, 2009.
• T. Dogša: Verifikacija in validacija programske opreme, Univerza v Mariboru, Tehniška fakulteta, Maribor, 1993.
Pogoji za vključitev v delo oz. za opravljanje študijskih obveznosti
Priporočeno znanje: programiranje v programskem jeziku C ali C++.