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
2022/2023
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 3
Peras Dijana Suradnik
Tomaš Boris 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
izvanredni rok
Datum: 29.11.2024.
Vrijeme: 16:00
Opis: Na Fakultetu
izvanredni rok
Datum: 28.04.2025.
Vrijeme: 16:00
Opis: Na Fakultetu
U kalendaru ispod se nalaze konzultacije predmetnih nastavnika, no za detalje o konzultacijama možete provjeriti na profilu pojedinog predmetnog nastavnika.
2024 © Fakultet organizacije i informatike, Centar za razvoj programskih proizvoda