Inženjerstvo i reinženjerstvo organizacija informacijskog doba 1.0 (PDSSIROID)
Katedra za razvoj informacijskih sustava
NN
1. semestar
Osnovne informacijemdi-information-variantIzvođači nastavemdi-account-groupNastavni plan i programmdi-clipboard-text-outlineModel praćenjamdi-human-male-boardIspitni rokovimdi-clipboard-check-outlineRasporedmdi-calendar-clockKonzultacijemdi-account-voice
Analizirati životni ciklus programskog proizvoda. Naučiti temeljne metode modeliranja programskih sustava, prije svega UML paradigmu. Svladati tehniku brzog razvoja aplikacije na osnovu postojećih predložaka uz primjenu generatora aplikacija. Naučiti samostalno izrađivati vlastite predloške na osnovu kojih će se moći brzo generirati aplikacija prema željama korisnika aplikacije.
Paradigme razvoja programskih sustava. Paradigme razvoja programskih sustava. Životni ciklus programskog proizvoda. Odnos razvojnog i životnog ciklusa. Pristupi razvoju programskog sustava i moguće varijacije: vodopadni, spiralni. Kompleksni razvojni ciklusi (paralelni razvoj, povratna veza).
Projekt razvoja programskog sustava. Projekt razvoja programskog sustava. Specifičnosti projekata u programskoj industriji. Veza projekta i razvojnog ciklusa programskog proizvoda. Karakteristične metode planiranja i praćenja projekata u razvoju programskog proizvoda. Troškovi projekta. Projektni timovi i njihove karakteristike: područja specijalizacije, potrebna znanja, preklapanje područja znanja. Virtualni projektni timovi i alati koji podržavaju grupni rad (teamware, groupware).
Analiza zahtjeva na programski sustav – korisnički zahtjevi. Analiza zahtjeva na programski sustav – korisnički zahtjevi. Definicija korisničkih zahtjeva. Poslovni procesi i utjecaj na korisničke zahtjeve. Izvori korisničkih zahtjeva. Organiziranje korisničkih zahtjeva. Tehnike prikupljanja korisničkih zahtjeva: intervjui, upitnici, poslovni dokumenti,...
Analiza zahtjeva na programski sustav – sistemski zahtjevi. Analiza zahtjeva na programski sustav – sistemski zahtjevi. Definicija sistemskih zahtjeva. Vrste sistemskih zahtjeva. Mapiranje korisničkih i sistemskih zahtjeva. Funkcionalni i nefunkcionalni zahtjevi. Prijelazno i dinamičko modeliranje. Organiziranje funkcionalnih zahtjeva.
Modeliranje programskog sustava. Modeliranje programskog sustava. Arhitektura programskog sustava i temeljni gradivni elementi. Dijagramske tehnike i notacije za modeliranje programskog sustava. Objektno orijentirana notacija. Temelji koncepti OO pristupa. Nasljeđivanje, enkapsulacija, polimorfizam. Objektno orijentiran pristup u programskim jezicima i alatima.
Arhitektura programskog sustava. Arhitektura programskog sustava. Slojevi arhitekture programskog sustava i tipične arhitekture. Karakteristične tehnologije po svakom od slojeva. Povezivanje slojeva i integracija programskog sustava. Utjecaj arhitekture na svojstva programskog sustava (otpornost na ispade, kvarove, brzinu).
Alati za potporu razvoju i modeliranju programskog proizvoda. Alati za potporu razvoju i modeliranju programskog proizvoda. Vrste alata za razvoj i modeliranje programskog proizvoda (npr. arhitekturalni, za statičku analizu, za dinamičku procjenu, itd.). Tipične arhitekture alata. Mogućnosti i ograničenja alata, provjera konzistentnosti modela (afinitetna analiza, nasljeđivanje, itd.).
Generiranje programskog koda Generiranje programskog koda. Veza modela i programskog koda. Opcije generiranja. Postupak generiranja. Predlošci. Višejezični razvoj.
Komponente i integracija Komponente i integracija. Komponentna paradigma. Promišljanje ponovne iskoristivosti programskog koda. Vrste programskih komponenata. Tehnologije za razvoj programskih komponenata (CORBA, EJB, COM+). Upravljanje transakcijama komponenata. Integracija komponenti. Tržište programskih komponenti.
Izrada dokumentacije i korisničkih priručnika Izrada dokumentacije i korisničkih priručnika. Pravila dobrog dokumentiranja programskog proizvoda; Stilovi dokumentiranja modula programskog proizvoda; Izrada korisničkih priručnika.
Nadogradnja i održavanje. Nadogradnja i održavanje. Upravljanje inačicama programskih proizvoda. Sustavi za praćenje inčica programskog proizvoda. Parametrizacija programskog proizvoda. Upravljanje konfiguracijom i parametrima.
Sadržaj seminara/vježbi
Ishodi učenja kolegija
Ishodi učenja programa
Osnovna literatura
P Stevens, R Pooley, Using UML - software engineering with objects and components, Addison Wesley, 2000.
Lancaster University, Computing Department, Masters Programme in Advanced Computer Science, Aspect-Oriented Software Development Module, http://www.comp.lancs.ac.uk/postgraduates/mod_aosd.html#syl
The Oregon Master of Software Engineering (OMSE), Software Design Techniques, http://www.omse.org/curriculum/#omse533
University of Texas at Arlington, Department of Information Systems and Management Sciences, Automated software development, http://grad.uta.edu/gradcat/collegeofbusinfosys.html
Redoviti studentiIzvanredni studenti
U kalendaru ispod se nalaze konzultacije predmetnih nastavnika, no za detalje o konzultacijama možete provjeriti na profilu pojedinog predmetnog nastavnika.