O projektu

Razvoj programske potpore zahtijeva dobro poznavanje tehničkih vještina. Osim znanja kodiranja neophodno je razumijevanje i znanje oblikovanja programske potpore. Isto tako, obzirom na složenost rješavanja praktičnih problema neophodno je imati znanje raznovrsnih programskih alata i sposobnost njihove integracije s vlastito izgrađenim programima. U projektu se za rješavanje problema koriste prethodno stečena znanja kodiranja koja je potrebno aktivno prema potrebi nadopuniti. Ta znanja uključuju različita područja računalne znanosti iz nastavnog plana i programa, a uobičajeno projekt ima grafičko sučelje, bazu podataka, umrežavanje te operacijski sustav. Projekt uključuje korištenje razvojnih alata (npr. sustav za upravljanje inačicama, IDE, CASE…) i razne oblike ponovne uporabe komponenti.

Izrada projekta oponaša izradu jednostavnijeg programskog projekta kakav se inače može susresti u praksi. Pri radu je potrebno primijeniti principe programskog inženjerstva te sustavno, disciplinirano i mjerljivo koristiti računalom podržane odgovarajuće metode projektiranja i razvoja. Zahtijeva se primjena generičkih procesa koji podržavaju inženjerski pristup rješavanju problema. Projekt nameće i savladavanje zahtjeva organizacije, upravljanja, timskog rada te verbalnu i pisanu komunikaciju s kolegama, potencijalnim klijentima i naručiteljima. Rezultati rada na projektu se kontinuirano prate i ocjenjuju. Time se stječe iskustvo za daljnji razvoj znanja u području razvoja programske potpore kao i priprema za praktičan rad u industriji.

Ako primijetite da Vaš tim ne radi dobro što bi moglo negativno utjecati na rezultat projekta (i konačnu ocjenu), te probleme treba rješavati  razgovorom s drugim članovima tima. Ako problematični članovi tima (uključujući i voditelja) odbijaju surađivati, problem treba riješiti što ranije s asistentom. Pritužbe problema timskog rada izražene na kraju semestra biti će zanemarene.


Rokovi i bodovanje na projektu

Razvoj programske potpore zahtijeva dobro poznavanje tehničkih vještina. Osim znanja kodiranja neophodno je razumijevanje i znanje oblikovanja programske potpore. Isto tako, obzirom na složenost rješavanja praktičnih problema neophodno je imati znanje raznovrsnih programskih alata i sposobnost njihove integracije s vlastito izgrađenim programima. U projektu se za rješavanje problema koriste prethodno stečena znanja kodiranja koja je potrebno aktivno prema potrebi nadopuniti. Ta znanja uključuju različita područja računalne znanosti iz nastavnog plana i programa, a uobičajeno projekt ima grafičko sučelje, bazu podataka, umrežavanje te operacijski sustav. Projekt uključuje korištenje razvojnih alata (npr. sustav za upravljanje inačicama, IDE, CASE…) i razne oblike ponovne uporabe komponenti.

Izrada projekta oponaša izradu jednostavnijeg programskog projekta kakav se inače može susresti u praksi. Pri radu je potrebno primijeniti principe programskog inženjerstva te sustavno, disciplinirano i mjerljivo koristiti računalom podržane odgovarajuće metode projektiranja i razvoja. Zahtijeva se primjena generičkih procesa koji podržavaju inženjerski pristup rješavanju problema. Projekt nameće i savladavanje zahtjeva organizacije, upravljanja, timskog rada te verbalnu i pisanu komunikaciju s kolegama, potencijalnim klijentima i naručiteljima. Rezultati rada na projektu se kontinuirano prate i ocjenjuju. Time se stječe iskustvo za daljnji razvoj znanja u području razvoja programske potpore kao i priprema za praktičan rad u industriji.

Ako primijetite da Vaš tim ne radi dobro što bi moglo negativno utjecati na rezultat projekta (i konačnu ocjenu), te probleme treba rješavati  razgovorom s drugim članovima tima. Ako problematični članovi tima (uključujući i voditelja) odbijaju surađivati, problem treba riješiti što ranije s asistentom. Pritužbe problema timskog rada izražene na kraju semestra biti će zanemarene.

Rokovi i bodovanje na projektu

Fokus osnovne aktivnosti rada na projektu (rad na aktivostima može započeti i ranije i preklapati se s drugim aktivnostima)

 

Tjedan

Teme

Napomena

1.

Formiranje grupa, zadavanje projektnog zadatka

 

2.

Analiza zadatka, odabir alata i tehnologija

Uvodna vježba - obavezni termin
Diskusija projektnog zadatka i odabranih tehnologija s asistentom

3.

Razrada specifikacije programske potpore

 

4.

Dokumentiranje zahtjeva 

 

5.

Razrada arhitekture sustava i implementacija generičkih funkcionalnosti

 

6.

Razrada arhitekture sustava i implementacija generičkih funkcionalnosti

 

7.

 

Implementacija generičkih funkcionalnosti

Demonstracija generičke funkcionalnosti - obavezni termin
Demonstracija generičke funkcionalnosti asistentu
8.a,b Međuispit

9.

Predaja (kolokviranje) prvog ciklusa projekta.

10.

Implementacija projekta. 

 

11.

Implementacija projekta.

Demonstracija alfa inačice  - obavezni termin

Demonstracija rada projektne aplikacije asistentu zajedno s diskusijom stanja i planom završetka projekta.

 

Praznici

12.

 

Provođenje ispitivanja implementirane aplikacije.  Dokumentiranje ispitivanja programske potpore.

 

13.

 

Dovršenje implementacije. Dovršetak projektne dokumentacije. Puštanje aplikacije u pogon (deployment)

 

14.

  Predaja (kolokviranje) drugog ciklusa projekta

15.a,b

  Završni ispit

 

Termini i rokovi Opis
Četvrtak, 7. 10. 2021. u 23:59 Rok prijave grupe.
Petak, 15.10.2021 u 23:59 Rok za slanje prijedloga vlastite teme.

Petak, 19.11.2021. u 23:59.

Rok predaje projekta na Gitlab za prvi ciklus.
6. 12. - 10. 12. 2021. Predaja (kolokviranje) prvog ciklusa projekta
20. 12. - 23. 12. 2021. Demonstracija alfa inačice rada projektne aplikacije asistentu zajedno s diskusijom stanja i planom završetka projekta
Petak, 14. 1. 2022. u 23:59. Rok predaje projekta na Gitlab za drugi ciklus (završna verzija)
17. 1. - 21. 1. 2022. Predaja (kolokviranje) drugog ciklusa projekta
Ponedjeljak, 17. 1. 2022. u 23:59 Izrađena prezentacija projekta - obavezna za sve grupe, ali samo odabrane grupe prezentiraju drugima u terminu četvrtak, 20. 1. 2022.

 

Molimo studente da se pridržavaju navedenih rokova, jer će naknadne predaje projekta biti sankcionirane smanjenjem bodova prema ocjeni asistenta.

 

Formula bodovanja projekta:

 

Bodovi na projektu = predaja_ciklusa_1 + predaja_ciklusa_2 + bonus_bodovi_za_prihvaćenu_temu

  • predaja_ciklusa_1 = bodovi_od_voditelja_1 + bodovi_od_asistenta_1
    • bodovi_od_voditelja_1: bodove raspoređuje voditelj grupe na temelju ukupno dodijeljenih bodova grupi, prema zaslugama, max. 6 bodova
    • bodovi_od_asistenta_1: bodove daje asistent studentu izravno na usmenom ispitivanju, max. 6 bodova
  • predaja_ciklusa_2 = bodovi_od_voditelja_2 + bodovi_od_asistenta_2 
    • bodovi_od_voditelja_2: bodove raspoređuje voditelj na temelju ukupno dodijeljenih bodova grupi, prema zaslugama, max. 9 bodova
    • bodovi_od_asistenta_2: bodove daje asistent studentu izravno na usmenom ispitivanju, max. 9 bodova
  • bonus_bodovi_za_prihvaćenu_temu: min. 0 bodova, max. 2*broj_članova_grupe bodova

 

 

Gradivo koje se provjerava na kolokviranju:

1. kolokviranje: Teme: funkcionalni i nefunkcionalni zahtjevi; UML-dijagrami: dijagram obrazaca uporabe, sekvencijski dijagram, dijagram razreda, razumijevanje rada generičkih funkcionalnosti.

2. kolokviranje: Teme: UML-dijagrami:  dijagram stanja, dijagram aktivnosti, komponentni dijagram, dijagram razmještaja; ispitivanje (testiranje) programske potpore. Potrebno je znati i gradivo s 1. kolokviranja. Razumijevanje rada ostvarene programske potpore, uključujući razumijevanje strukture programskih modula, povezanosti komponenata i sintakse programskog jezika u kojem je rađen projekt.

 

Termini laboratorijskih vježbi objavljeni su u studentskoj satnici FER-a.