6. semestar · Izborni · 4 ECTS
Principi, metode i prakse u kontinuiranom razvoju softverskih rješenja
O kolegiju
Suvremeni principi, pristupi, metode i prakse u kontinuiranom razvoju softverskih rješenja, od razlika između pristupa XP, agilnih metoda i DevOps do načela društvenog kodiranja kao kooperativne paradigme razvoja. Obrađuju se cjevovodi za kontinuiranu integraciju i isporuku koji koriste distribuirani sustav za kontrolu verzija, uz tehnologije Docker, Jenkins i Kubernetes, uloga platformi u oblaku te izrada popratne dokumentacije za sve faze razvoja.Ishodi i teme
- Teorijske osnove kontinuiranog razvoja softverskih rješenja
- Usporedba pristupa razvoju softvera: XP, agilne metode, Scrum i DevOps
- Distribuirani sustavi za upravljanje verzijama softvera
- Razvoj softvera pristupom društveno orijentiranog kodiranja
- Strategije rada s granama i rješavanje konflikata
- Povijest u Gitu i izmjena baze (rebasing)
- Učinkovita uporaba zahtjeva za spajanje (pull requests)
- Uloga i primjena jediničnog testiranja uz JUnit
- Načela i primjena infrastrukture kao koda
- Osnove kontinuirane integracije (CI) uz Jenkins i GitHub Actions
- Načela i praktična primjena kontinuirane isporuke (CD)
- Kontejneri za izolirana okruženja: instalacija Dockera i izrada slika
- Integracija kontejnera i alata za automatski razvoj softvera: Docker, Jenkins i Git
- Orkestracija kontejnera sustavom Kubernetes
- Uloga i mogućnosti platformi u oblaku u kontinuiranom razvoju softvera
Izvođenje nastave i provjera znanja
Nastava se izvodi kroz predavanja, vježbe i samostalne zadatke, a na vježbama se uz Git, JUnit, Jenkins, GitHub Actions, Docker i Kubernetes izgrađuju i dokumentiraju cjevovodi kontinuiranog razvoja. Ocjena se formira iz dvaju kolokvija (ukupno do 50 bodova), dvaju samostalnih zadataka (do 30 bodova) i završnog ispita (do 20 bodova).