• Šifra predmeta:63256
  • Kreditne točke:6
  • Semester: poletni
  • Vsebina

Predavanja:

Uvod v programsko inženirstvo

  • Profesionalno programsko inženirstvo, izdelki, specifikacija, lastnosti kakosti programske opreme, etika programskega inženirstva,
  • Projektno vodenje, upravljanje s tveganji,
  • Načrtovanje projekta, določanje cene programske opreme, časovno načrtovanje projekta, tehnike ocenjevanja (COCOMO II),
  • Procesi izdelave programske opreme, procesni modeli, preverjanje in vrednotenje, obvladovanje sprememb, izboljšanje procesa izdelave (CMM),

Agilni razvoj in zajem zahtev

  • Agilni razvoj programske opreme, agilne metode, tehnike agilne razvoja (XP), agilno vodenje projektov (Scrum),
  • Zajem zahtev, funkcionalne in nefunkcionalne zahteve, pridobivanje zahtev, specifikacija zahtev, vrednotenje zahtev, spremembe zahtev,

Načrtovanje programske opreme

  • Načrtovanje sistema, načrt konteksta, načrt sodelovanja, strukturni načrt, načrt vedenja,  MDE in MDA,
  • Objektno usmerjeno načrtovanje z UML, implementacijski vidiki, odprtokodni razvoj, licenčni modeli,
  • Načrtovalski vzorci kreiranja in strukturni načrtovalski vzorci,
  • Vedenjski načrtovalski vzorci, načrtovalska načela, anti-vzorci, slaba koda,
  • Zasnova arhitekture, Krutchen 4+1, logični pogled, procesni pogled, razvojni pogled, fizični pogled, scenariji, arhitekturni vzorci (MVC, večplastna arhitektura, repozitorij, odjemalec/strežnik, cev in filter, EDA),

Implementacija in napredni vidiki razvoja programske opreme

  • Preverjanje in vrednotenje, razvojno testiranje (testiranje enot, testiranje komponent), TDD, testiranje sistema, uporabniško testiranje, CI/CD,
  • Evolucija programske opreme, podedovani sistemi, vzdrževanje, varnostno inženirstvo, ravni varnosti, varna zasnova sistema,

Decentralizirane aplikacije

  • Podatkovni prostori (Gaia-X, IDS, MyData), referenčni modeli, SSI, DID, VC, digitalni agent, digitalna denarnica, trikotnik zaupanja, eIDAS

Vaje:

Skupinsko delo na projektih, ki so čim bolj podobni realnim. Projekte lahko predlagajo študenti sami, potrditi pa jih morata nosilec predmeta in asistent. Lahko pa problem definira nosilec predmeta v sodelovanju z ustreznim naročnikom. Velikost skupin je omejena na štiri študente, študenti pa lahko sami izbirajo, s kom bodo delali. Vsaka skupina mora določiti vodjo projekta in ostale vloge, za katere meni, da so potrebne za realizacijo projekta. Študente spodbujamo, da delajo na projektu tudi izven ur, ki so po urniku predvidene za izvedbo predmeta. Za spremljanje dela na projektih definiramo mejnike (kontrolne točke), na katerih študenti pokažejo, kaj so že naredili, in dobijo nasvete za nadaljnje delo.

  • Študijski programi
  • Porazdelitev ur na semester
45
ur
predavanj
20
ur
laboratorijskih vaj
10
ur
seminarskih vaj
  • Izvajalci
Nosilec predmeta
Prostor:R2.49 - Kabinet
Asistent
Prostor:R2.30 - Laboratorij LTPO
Asistent
Prostor:R2.58 - Kabinet