Sadržaj se učitava...
mdi-home Početna mdi-account-multiple Djelatnici mdi-script Studiji mdi-layers Katedre mdi-calendar-clock Raspored sati FOI Nastava search apps mdi-login
Programsko inženjerstvo
Software Engineering
2023/2024
7 ECTSa
Informacijski i poslovni sustavi 1.1 (PDS)
Katedra za razvoj informacijskih sustava
RI
6. semestar
Osnovne informacijemdi-information-variant Izvođači nastavemdi-account-group Nastavni plan i programmdi-clipboard-text-outline Model praćenjamdi-human-male-board Ispitni rokovimdi-clipboard-check-outline Rasporedmdi-calendar-clock Konzultacijemdi-account-voice
Izvođenje kolegija
Studij Studijski program Semestar Obavezan
Informacijski i poslovni sustavi 1.1 (PDS) Poslovni sustavi 6 izborni
Informacijski i poslovni sustavi 1.1 (PDS) Informacijski sustavi 6 obavezan
Cilj kolegija
Pružiti detaljni pregled cijelog područja inženjerskog razvoja programskih sustava i naučiti studente metodološkom razvoju programskih proizvoda
Preduvjeti
Norma kolegija
Predavanja
60 sati
Vježbe u praktikumu
30 sati
Nastavnik Uloga na kolegiju Oblik nastave Tjedana Sati Grupa
Stapić Zlatko Nositelj Predavanja 15 1 0
Strahonja Vjeran Nositelj Predavanja 15 1 0
Mijač Marko Suradnik Vježbe u praktikumu 15 2 1
Peras Dijana Suradnik
Masnec Lea Suradnik
Sadržaj predavanja
  • Programsko inženjerstvo kao disciplina (3 sata)
    Osnovne definicije. Znanost i struka. Područje i ciljevi. Povijesni razvoj. Tržište i kriza programa. Istraživanje, razvoj i proizvodnja programskih sustava. Inženjersko projektiranje. Sudionici poduhvata (naručitelj, korisnik, izvoditelj...). Školovanje, certificiranje i udruge. Norme. Profesionalna etika.
  • Metodološka struktura programskog inženjerstva (5 sata)
    Pristupi razvoju programa. Životni i razvojni ciklus programkog sustava. Proces razvoja programskog sustava. Primarne i sekundarne aktivnosti (modeliranje, programiranje, dokumentiranje, testiranje, verifikacija, validacija, upravljanje...). Metode i tehnike programskog inženjerstva. Razvojne i radne okoline. Primjena metodike u organizaciji.
  • Modeli i modeliranje u programskom inženjerstvu (3 sata)
    Modeli i modeliranje. Opće metode i principi modeliranja (npr. dekompozicija, apstrakcija, generalizacija, projekcije/pogledi, izričitost, korištenje formalnih pristupa, itd.). Jezici i dijagramske tehnike modeliranja. Sintaksa i semantika modela. Razvoj organizacijskog, informacijskog i programskog sustava. Analiza vs. dizajn. Analitičko modeliranje (konceptualni i logički modeli). Podatkovni, funkcionalni i objektni pristup analizi i dizajnu. Modeli poslovanja i sustava. Metamodeli i referentni modeli.
  • Strukturni razvoj aplikacija (4 sata)
    Strukturna analiza sustava (funkcionalna dekompozicija, dijagram toka podataka, modeli unutarnje logike procesa (dijagrami akcija, stabla i tabele odlučivanja, dijagrami prijelaza stanja, mini specifikacije, dijagrami tijeka procesa, dijagrami ovisnosti procesa). Modeliranje podataka (model entiteti-veze i pretvorba u relacijski model, relacijska analiza, model životnog ciklusa entiteta). Strukturni dizajn aplikacija (principi dizajna, moduli i strukturne karte, dizajn sučelja, testiranje komponenata i sustava). Pretvorbe i povezivanje modela.
  • Objektno orijentirani razvoj (4 sata)
    Pojam objekta, klasifikacijske i sastavne strukture, učahurivanje i nasljeđivanje, dinamika u objektnom modelu (stanje, događaj, metode posluživanja i poruke), polimorfizam i preklapanje. Prijelaz iz analize u dizajn.
  • Osnove UML-a (15 sati)
    Povijesni razvoj i izvorišta. Mjesto i uloga UML-a u razvojnom ciklusu informacijskog sustava (modeliranje poslovnih procesa vs. razvoj sustava). Superspecifikacija jezika. Modeliranje strukture i ponašanja. Dijagrami strukture (Dijagram klasa; Dijagram objekata; Dijagram komponenata; Složeni strukturni dijagram; Dijagram paketa; Dijagram razmještaja). Dijagrami ponašanja (Dijagram slučajeva korištenja; Dijagram aktivnosti; Dijagram strojeva stanja) Dijagrami međudjelovanja (Dijagram slijeda; Dijagram pregleda međudjelovanja; Dijagram komunikacije; Dijagram vremenskog usklađivanja). OCL
  • Inženjerstvo zahtjeva (6 sata)
    Definicija i područja zahtjeva (funkcija / podaci / performanse, proizvod/projekt, unutarnji/vanjski ...). Osnove specifikacije zahtjeva. Izvori i prikupljanje znanja o predmetu razvoja. Tehničko-tehnološki zahtjevi. Organizacijski zahtjevi (poslovni planovi i ciljevi, poslovni procesi, upravljanje i odlučivanje). Odnos zahtjeva i korisnika (dizajn orijentiran čovjeku). Neugodni problemi (npr. loše strukturirani problemi, problemi s mnogo rješenja, itd.). Integracijski zahtjevi (Commercial-of-the-Shelf, Reusable Objects). Kvaliteta i metrika zahtjeva (mogućnost provjere, nedvosmislenost, dosljednost, ispravnost, sljedivost, postojanje prioriteta, itd.). Validacija i verifikacija zahtjeva. Prototipiranje radi validacije zahtjeva.
  • Metodike razvoja programskih sustava (6 sata)
    Povijesni razvoj i podjela metodika. Fazne i agilne metodike. Rational Unified Process (područje primjene, faze, aktivnosti, specifičnosti, primjena). Ekstremno programiranje (područje primjene, stil, aktivnosti, specifičnosti, primjena).
  • Osnove upravljanja razvojem programskih sustava (5 sati)
    Organizacija razvoja, primjene, održavanja i korištenja programskih sutava. Osnove upravljanja projektima. Upravljanje konfiguracijom, promjenama i izdanjima. Razvoj usmjeren kvaliteti. Osnovni koncepti i norme. Kvaliteta proizvoda i procesa. (ISO 9000,ISO/IEEE Standard 12207...). Metrika procesa i programa
  • Osnove ekonomike programskog inženjerstva (9 sata)
    Vrijednosno orijentirani pristup sustavu (lanac vrijednosti, cijena / kvaliteta / rok, prioriteti, rizici). Ekonomski utjecaj programa. troškovi i koristi tijekom životnog ciklusa programa. Ekonomski modeli (troškovi/koristi; razvoj u surandnji, razvoj/kupnja, ukupna cijena vlasništva).
Sadržaj seminara/vježbi
  • Opis vjezbi i inicijalni test
    Potrebno je korištenjem UML-a projektirati (Visual Paradigm) i razviti stolnu aplikaciju i bazu podataka koja će podržavati odabrani poslovni proces (MS .net i SQL Server 2005). Nakon kolokviranih vježbi na kolegiju Programsko inženjerstvo, studenti će steći znanja i kompetencije: * o radu na projektu razvoja određenog programskog proizvoda. (u svim segmentima razvoja, ulogama koje postoje te simulirati rad u projektnom timu) * o planiranju, organiziranju i upravljanju projektom razvoja SW (projektni planovi, dokumentacija) * o primijeni komunikoloških vještina i vještina pregovaranja s interesnom skupinom na projektu razvoja SW (dogovaranje projekta, ponuda, ugovor) * o načinima analiziranja poslovne domenu te načinima opisivanja i specificiranja korisničkih zahtjeva primjenom UML-a * o modeliranju problemske domene UML dijagramima (skica buduće arhitekture sustava opisana UML dijagramima za opis statika i dinamika) * o načinima primijene znanja iz modeliranja baze podataka kako bi se kreirao model podataka (ERA) i napisala ili generirala skripta BP * u radu u razvojnom okruženju na razvoju SW (VS.NET) te programiranju i radu rad s bazom podataka (spajanje, upis i prikaz podataka)
  • 01-Objektno orijentirani pristup, razvoj programskog sustava kao projekt, Planiranje vlastitog proj
    cdscdscds
  • 02-Modeliranje korisničkih zahtjeva (UseCase Model)
  • 03-Modeliranje UML - dijagrami statike i dinamike
  • 04-Modeliranje UML - dijagram klasa i ERA model
  • 05-Osnove .NET razvojnog okruženja
  • 06-Izrada izbornika, formi, messageBox i errori
  • 07-Kreiranje baze projekta i spajanje s .NET
  • 08-Akcije nad bazom korz forme u .NETu
  • 09-Napredna SQL funkcionalnost - pohranjene procedure - parametar
  • 10-Napredna SQL funkcionalnost -Trigeri i Cursori
  • 11-Realizacija jedne funkdionalnosti opisane Dijagramom Aktivnosti
  • 12-Testiranje SW
  • 13-Izrada izvještaja i produkcija SW
  • 14-Javna obrana projekata
  • 15-Javna obrana projekata
Ishodi učenja kolegija
  • razumjeti organizacijski i poslovni aspekt razvoja programskih sustava i specificirati zahtjeve korisnika koji odražavaju ove aspekte
  • razumjeti metodološku područja programskog inženjerstva te stanje i trendove inženjerskog razvoja programa
  • razumjeti i odabrati model razvojnog ciklusa primjeren problemu
  • razumjeti obrazac procesa i lanac vrijednosti razvoja aplikacija te razumjeti, odabrati i primijeniti različite vrste primarnih i sekundarnih aktivnosti
  • razumjeti suvremene pristupe, obrasce procesa razvoja, norme i cjelovite metodike razvoja informacijskih i programskih sustava i primijeniti jednu faznu i jednu agilnu metodiku
  • razumjeti i primijeniti strukturne i objektno orijentirane metode i tehnike modeliranja aplikacija
  • razumjeti i primijeniti UML kao metodu i jezik modeliranja, uključujući osnovne i napredne koncepte (osim OCL-a)
  • razumjeti mjesto i ulogu razvojnih okolina programskog inženjerstva u razvojnom ciklusu programskog proizvoda te primijeniti jednu razvojnu okolinu koja pokriva faze analize i dizajna
  • razumjeti i primijeniti osnovne metode metrike programa.
  • razumjeti i primijeniti suvremene pristupe, metode i tehnike upravljanja razvojem programskih sustava, projektne organizacije i rada u timu
  • razumjeti i primijeniti teorijske osnove i primijenjene metode ekonomike programskog inženjerstva
  • samostalno i u timu razviti model aplikativnog sustava iz poslovne ili upravne domene, koristeći faznu ili agilnu metodiku te metode, tehnike i pomagala objektno orijentiranog razvoja
Ishodi učenja programa
  • razumjeti stanje i trendove razvoja suvremenih informacijskih i komunikacijskih tehnologija (ICT), razumjeti njihov utjecaj na pojedinca, organizaciju i društvo te procijeniti njihovu primjenjivost u zadanom kontekstu
  • razumjeti i primijeniti ključne aspekte informacijske tehnologije (programiranje, algoritmi, strukture podataka, baze podataka i znanja
  • razumjeti i primijeniti suvremene tehničke koncepte i prakse u informacijskim tehnologijama (arhitektura računala, operacijski sustavi, mreže računala)
  • razumjeti i primijeniti matematičke metode, modele i tehnike primjerene rješavanju problema iz područja informacijskih i poslovnih sustava
  • razumjeti bitne čimbenike koji utječu na poslovanje organizacije i pojedinaca te primijeniti osnovne metode i koncepte planiranja, upravljanja i obračuna poslovanja
  • analizirati stanje, identificirati prilike i definirati probleme s kojima se susreću organizacije i pojedinci u primjeni ICT, te formulirati rješenja uz primjenu ICT
  • razumjeti osnovna vertikalna područja primjene ICT (industrija, zdravstvo, promet, turizam, država i sl.), te horizontalne aplikacije (uredski sustavi, DSS, CRM, ERP, DMS i sl.)
  • razumjeti i primijeniti suvremene metodološke pristupe razvoja organizacijskih i informacijskih sustava, te oblikovanja organizacije i organizacijske strukture
  • razumjeti suvremene organizacijske koncepte i upravljati organizacijskom kulturom
  • modelirati poslovne procese i podatke u organizacijama i primijeniti modele u razvoju informacijskih i poslovnih sustava
  • razumjeti i primijeniti metode, tehnike razvoja informacijskih i programskih sustava u suvremenim razvojnim okolinama
  • razumjeti i primijeniti procese, metode i tehnologije upravljanja IT uslugama i resursima te podrške i pružanja različitih vrsta usluga vezanih uz ICT
  • razumjeti i primijeniti etička načela, zakonsku regulativu i norme koje se primjenjuju u struci
  • razumjeti osnovna načela i metode upravljanja organizacijom i uspješno raditi u timu
  • uspješno komunicirati s klijentima, korisnicima i kolegama na verbalan i pisani način uz primjenu odgovarajuće terminologije uključujući i sposobnost komunikacije o struci na stranom jeziku
  • pratiti stručnu literaturu na hrvatskom i stranom jeziku, pripremiti i samostalno održati prezentacije na hrvatskom i stranom jeziku stručnoj i općoj publici, te kritičku evaluaciju prezentirane stručne teme
  • razumjeti i primijeniti vještine učenja potrebne za cjeloživotno učenje i nastavak obrazovanja na diplomskom studiju
  • razumjeti i primijeniti osnovne principe planiranja i razvoja karijere u struci i vlastitih poduzetničkih poduhvata
  • poznavati ključne aspekte informacijske tehnologije
  • identificirati i razumjeti bitne čimbenike koji utječu na poslovanje organizacije i pojedinaca te primijeniti osnovne metode i koncepte planiranja, upravljanja i obračuna poslovanja
  • prepoznati osnovna vertikalna područja primjene ICT (industrija, zdravstvo, promet, turizam, država i sl.), te horizontalne aplikacije (uredski sustavi, DSS, CRM, ERP, DMS i sl.)
  • razumjeti metode, tehnike razvoja informacijskih i programskih sustava u suvremenim razvojnim okolinama
  • razumjeti procese, metode i tehnologije upravljanja IT uslugama i resursima te podrške i pružanja različitih vrsta usluga vezanih uz ICT
  • identificirati ključne podatke i informacije za donošenje racionalnih poslovnih odluka
  • analizirati i vrednovati rezultat poslovanja, te predložiti unapređenje poslovnog sustava.
  • PROBAnje OPISivanja....
Osnovna literatura
  • Materijali s predavanja dostupni na ELF stranici kolegija
  • Strahonja, V.; Varga, M.; Pavlić, M. Projektiranje informacijskih sustava. HIZ - INA-Info, 1992.
  • Sommerville, I. Software Engineering. 8th edition, Addison-Wesley, 2007.
Dopunska literatura
  • ISO/IEC: 9126 Information technology - Software Product Evaluation - Quality characteristics and guidelines for their use, 1991.
  • OMG: Business Process Definition Meta Model (BPDM), Final submission, December 4, 2006.
  • OMG: Unified Modeling Language (UML): Superstructure. version 2.0. August, 2005.
  • OMG: Meta Object Facility (MOF) Core Specification. v2.0. January 2006.
Slični kolegiji
  • 1. The Oregon Master of Software Engineering (OMSE), http://www.omse.org/curriculum/
  • 2. Computing Curricula -- Software Engineering Volume Final Draft of the Software Engineering Education Knowledge (SEEK), April 30, 2003 Edited by Ann E.K. Sobel CCSE Knowledge Area Chair
Redoviti studenti Izvanredni studenti
U kalendaru ispod se nalaze konzultacije predmetnih nastavnika, no za detalje o konzultacijama možete provjeriti na profilu pojedinog predmetnog nastavnika.
2025 © Fakultet organizacije i informatike, Centar za razvoj programskih proizvoda