Oblikovanje programske potpore

Opis predmeta

Ovaj predmet daje osnovna znanja i vještine nužne za postizanje kompetencija u programskom inženjerstvu, a posebice razumijevanje, evaluacija i oblikovanje programskih sustava. Generički modeli procesa programskog inženjerstva. Inženjerstvo analize zahtjeva. Koncepti programskih arhitektura i paradigme specifikacije. Modeliranje ulazno/izlaznih i reaktivnih programskih sustava. Modeliranje objektno usmjerenih sustava (UML). Formalna specifikacija i verifikacija željenih obilježja programskih sustava. Ispitivanje programskih sustava. Automatizirani pomoćni postupci i alati u oblikovanju programskih sustava.

Opće kompetencije

Studenti stiču nužna znanja i vještine u konstrukciji programskih sustava. Evaluacija i izbor arhitekture programskih sustava zasnovan na analizi zahtjeva. Evaluacija i izbor alternativnih rješenja arhitekture temeljem ograničenog znanja o domeni primjene i precizne specifikacije. Znanje i vještine u verifikacija željenih obilježja formalnih modela pojedinih arhitektura programskih sustava. Uporaba općenito prihvaćenih alata u oblikovanju programskih sustava.

Ishodi učenja

  1. definirati efikasan postupak oblikovanja programa.
  2. razlikovati strukturirane i nestrukturirane postupke oblikovanja programa.
  3. primijeniti modele procesa programskog inženjerstva.
  4. upotrijebiti postupke specifikacije zahtjeva programskog produkta,
  5. analizirati zahtjeve i izdvojiti najpogodniju arhitekturu programskog produkta.
  6. integrirati model programskog produkta uporabom standardne grafičke i matematičke notacije (UML).
  7. kreirati konačan programski produkt uporabom odabranog jezika i okoline za programiranje.
  8. ocijeniti kvalitetu završenog programskog produkta.

Oblici nastave

Predavanja

Nastava je organizirana kroz dva ciklusa. Prvi ciklus sastoji se od 7 tjedana predavanja i međuispita. Drugi ciklus sastoji se iz 6 tjedna predavanja i završnog ispita.

Provjere znanja

Kratke provjere znanja na predavanjima. Međuispit. Uspješnost završetka projekta. Završni ispit.

Ostali oblici skupnog ili samostalnog učenja

Studenti se raspoređuju u grupe (6 do 8 sudionika) te rade na projektu specifikacije, oblikovanja, realizacije i ispitivanja programskog produkta.

Način ocjenjivanja

Kontinuirana nastava Ispitni rok
Vrsta provjere Prag Udio u ocjeni Prag Udio u ocjeni
Kratke provjere znanja 10 % 9 % 10 % 9 %
Seminar/Projekt 50 % 30 % 50 % 30 %
Međuispit: Pismeni 0 % 25 % 0 %
Završni ispit: Pismeni 30 % 36 %
Ispit: Pismeni 50 % 61 %

Tjedni plan nastave

  1. Administracija predmeta. Uvod u programsko inženjerstvo. Uvod u inženjerstvo zahtjeva programskog produkta.
  2. Procesi i modeli u specifikaciji zahtjeva programskog produkta. Prikaz dokumenta zahtjeva programskog produkta. Upute za koordinaciju grupe studenata na projektu.
  3. Procesi i modeli u programskom inženjerstvu (vodopadni, evolucijski, komponentno usmjeren, RUP). Prikaz alata za oblikovanje UML dijagrama,
  4. Uvod u arhitekturu programskog produkta i stilove arhitekture.
  5. Uvod u objektno usmjereno oblikovanje programske potpore (razredi, objekti, varijable, metode, operacije, odgovornosti, polimorfizam, nasljeđivanje, dinamičko povezivanje, itd.).
  6. Modeliranje programske potpore temeljnim UML dijagramima. Poseban prikaz UML dijagrame razreda.
  7. Prikaz svih relevantnih UML dijagrama (statičkih i dinamičkih) te načina njihove uporabe.
  8. Provjera znanja
  9. Raspodijeljena objektno usmjerena arhitektura (arhitektura klijent-poslužitelj, posrednička arhitektura, uslužno usmjerena arhitektura, arhitektura sustava zasnovanih na komponentama).
  10. Metode ispitivanja programa te prikaz okruženja za oblikovanje i ispitivanje programa.
  11. Formalna verifikacija programske potpore - 1: uvod u propozicijsku i predikatnu logiku.
  12. Formalna verifikacija programske potpore -2: vremenska logika za specifikaciju ponašanja sustava.
  13. Ostale arhitekture programske potpore - 1: arhitektura protoka podataka, arhitektura zasnovana na događajima.
  14. Ostale arhitekture programske potpore - 2: arhitektura repozitorija podataka, slojevita arhitektura, virtualni strojevi, arhitektura programske potpore za upravljanje procesima.
  15. Završni ispit

Studijski programi

Sveučilišni preddiplomski
Obradba informacija (modul)
(5. semestar)
Programsko inženjerstvo i informacijski sustavi (modul)
(5. semestar)
Računalno inženjerstvo (modul)
(5. semestar)
Računarska znanost (modul)
(5. semestar)
Telekomunikacije i informatika (modul)
(5. semestar)

Za upis predmeta treba položiti predmete

Predmet je preduvjet za upis predmeta

Literatura

Timothy C. Lethbridge, Robert Laganiere (2005.), Object-Oriented Software Engineering, McGraw-Hill
Ian Sommerville (2007.), Software engineering, Addison-Wesley
Paul Clements, David Garlan, Paulo Merson (2010.), Documenting Software Architectures, Addison-Wesley

Predavanja

Laboratorijske vježbe

Izvedba

ID 34269
  Zimski semestar
8 ECTS
R1 Engleski jezik
R1 E-učenje
60 Predavanja
0 Auditorne vježbe
60 Laboratorijske vježbe

Ocjenjivanje

86 izvrstan
72 vrlo dobar
60 dobar
50 dovoljan