Softversko inženjerstvo (92956)
Važne obavijesti
- Ovdje će se pojavljivati sve važne obavijesti.
- Popis tema i zaduženja za domaće zadaće nalazi se u rubrici "Zadaće, kolokviji ...".
Mole se studenti koji nemaju zaduženje da se jave nastavniku mailom i navedu koju temu bi željeli zadužiti.
Osnovni podaci o kolegiju
- Predaje se na drugoj godini diplomskog studija Računarstvo i matematika.
Upisuju ga studenti koji slijede stariju verziju nastavnog plana i programa,
dakle upisali su taj diplomski studij u akademskoj godini 2024/2025 ili prije.
- Predaje se jedan semestar (zimski).
- Satnica: 2 sata predavanja i 1 sat vježbi tjedno.
- ECTS bodovi: 5.
Ciljevi kolegija
- Stjecanje temeljnih znanja o softverskom inženjerstvu.
- Upoznavanje s barem jednom konkretnom metodom razvoja softvera.
- Stjecanje vještine rada s barem jednim alatom za modeliranje softvera.
Svrha kolegija
- Ovaj kolegij je potreban je zato da bi studentu na kraju studija omogućio sintezu,
sistematizaciju i produbljivanje znanja koje je on već stekao u prethodnim računarskim kolegijima.
- Drugim riječima, kolegij je koristan zato što on prethodna znanja povezuje u cjelinu,
te stvara globalnu sliku o cjelokupnom procesu razvoja softvera i pozivu softverskog inženjera.
Sadržaj predavanja
- Uvod. Osnovni pojmovi vezani uz softversko inženjerstvo. Modeli za softverski proces.
Klasične i agilne metode razvoja softvera. Upravljanje softverskim projektom.
- Utvrđivanje zahtjeva. Općenito o utvrđivanju zahtjeva. Otkrivanje zahtjeva. Modeliranje sustava.
- Oblikovanje i implementacija. Općenito o oblikovanju i implementaciji. Oblikovanje arhitekture.
Objektni pristup oblikovanju. Oblikovanje distribuiranih sustava. Oblikovanje i implementacija uklopljenih sustava.
- Verifikacija i validacija. Općenito o verifikaciji i validaciji. Statička verifikacija. Testiranje softvera.
- Održavanje i evolucija. Općenito o održavanju i evoluciji. Upravljanje konfiguracijom (programskim kodom).
Baštinjeni softver i njegovo mijenjanje.
- Ponovna upotreba. Općenito o ponovnoj upotrebi. Neki tradicionalni oblici ponovne upotrebe.
Razvoj softvera zasnovan na komponentama.
- Novi trendovi u softverskom inženjerstvu. Softver u oblaku. Web servisi i mikro-servisi. DevOps.
Sadržaj vježbi
- Objektno modeliranje pomoću grafičkog jezika UML i metode UP.
- Rad s alatom za modeliranje Visual Paradigm for UML.
Literatura
- J.Arlow, I.Neustadt: UML 2 and the Unified Process, 2nd Edition. Addison-Wesley, Upper Saddle River, NJ, 2006.
- G. Booch, J. Rumbaugh, I. Jacobson: The Unified Modeling Language User Guide, 2nd Edition. Addison-Wesley, Upper Saddle River, NJ, 2005.
- E.J. Braude, M.E. Bernstein: Software Engineering – Modern Approaches, 2nd Edition. Waveland Press, Long Grove IL, 2016.
- I. Jacobson et al: The Essentials of Modern Software Engineering. ACM Books – Morgan and Claypool Publishers, San Rafael CA, 2019.
- S. Chacon, B. Straub: Pro Git, 2nd Edition. Apress, New York NY, 2014.
- S.L. Pfleeger, J.M. Atlee: Software Engineering - Theory and Practice, 4th Edition. Prentice Hall, Englewood Cliffs NJ, 2013.
- R.S. Pressman, B.R. Maxim: Software Engineering - A Pract-itioner's Approach, 8th Edition. McGraw-Hill, New York, 2019.
- S.R. Schach: Object-Oriented and Classical Software Engineering, 8-th Edition. McGraw-Hill, New York, 2010.
- R. Sethi: Software Engineering - Basic Principles and Best Practices. Cambridge University Press, Cambridge UK, 2023.
- I. Sommerville: Software Engineering, 10th Edition. Pearson Education Inc, Boston MA, 2016.
- I. Sommerville: Engineering Software Products: An Introduction to Modern Software Engineering. Pearson Education Inc, Boston MA, 2020.
- R. Stephens: Beginning Software Engineering, 2nd Edition. John Wiley and Sons, Indianapolis IN, USA, 2023.
- F. Tsui, O. Karam, B. Bernal: Essentials of Software Engineering, 5th Edition. Jones & Bartlett Publishers, Sudbury MA, 2022.
- H. Van Vliet: Software Engineering - Principles and Practice, 3rd Edition. John Wiley and Sons, Chichester UK, 2008.
- T. Winters, T. Manshreck, H. Wright: Software Engineering at Google - Lessons Learned from Programming Over Time. O,Reilly Media,
Sebastopol CA, USA, 2020.
Obveze studenata, pravila ocjenjivanja
- Obveze su: sudjelovanje u nastavi, izrada domaćih zadaća,
te polaganje kolokvija i ispita.
- Pravila ocjenjivanja detaljno su opisana u sljedećem dokumentu
(pdf) .
- Planirani termini za sve provjere znanja nalaze se u sljedećem dokumentu
(pdf) .
Nastavni materijali
- Udžbenik: R. Manger, "Softversko inženjerstvo",
Element, Zagreb, 2016, može se nabaviti kod izdavača
Element d.o.o.
- Prezentacije uz predavanja: Poglavlje 1
(pdf) ,
Poglavlje 2
(pdf) ,
Poglevlje 3
(pdf) ,
Poglavlje 4
(pdf) .
- Prezentacije uz predavanja:
Poglavlje 5
(pdf) ,
Poglavlje 6
(pdf) ,
Poglavlje 7
(pdf) .
Zadaće, kolokviji, ispiti, rezultati
- Ovdje će se pojaviti navedeni sadržaji kad za to bude vrijeme.
- Popis tema i zaduženja za domaće zadaće
(pdf) .
Nastavnici u akademskoj godini 2025/2026
- Predavanja: Robert Manger.
- Vježbe: Robert Manger.
Raspored sati u akademskoj godini 2025/2026
- Predavanja i vježbe: ponedjeljkom 9-12 h, dvorana A002.
- Konzultacije: ponedjeljkom 12-14 h, soba 232.