Razvoj primijenjene programske potpore

Opis predmeta

Razrađuju se koncepti programskog inženjerstva i njihova primjena na razvoj programske potpore za krajnjeg korisnika. Obrađuju se elementi inženjerstva zahtjeva, oblikovanje i ugradnja programskih komponenti za različite tipove aplikacija, tehnike programiranja, dokumentiranje, uvođenje i održavanje aplikacija.

Ishodi učenja

  1. Razlikovati i definirati životni ciklus projekta
  2. Reproducirati prikladne tehnike programiranja
  3. Koristiti razvojne alate i pomagala za podršku radu u grupi
  4. Identificirati zahtjeve na programsku potporu
  5. Dizajnirati i kreirati komponente programske potpore
  6. Proizvesti korisničku i programsku dokumentaciju
  7. Analizirati zahtjeve korisnika
  8. Razlikovati ključne koncepte softverske arhitekture

Oblici nastave

Predavanja

popraćena materijalima i prezentacijom stavljenom na web-stranicu predmeta

Samostalni zadaci

dizajn i implementacija programskih rješenja prema prikupljenim zahtjevima

Laboratorij

demonstracija programskih rješenja i alata

Način ocjenjivanja

Kontinuirana nastava Ispitni rok
Vrsta provjere Prag Udio u ocjeni Prag Udio u ocjeni
Domaće zadaće 50 % 60 % 50 % 60 %
Međuispit: Pismeni 0 % 20 % 0 %
Završni ispit: Pismeni 0 % 20 %
Ispit: Pismeni 50 % 40 %

Tjedni plan nastave

  1. Osnove programskog inženjerstva. Životni ciklus razvoja programske potpore. Planiranje projekta.
  2. Vrste zahtjeva i specifikacija zahtjeva. Upravljanje konfiguracijom. Alati za kontrolu verzija softvera. Programska okruženja za automatizaciju pojedinih procesa konstrukcije programa
  3. Aplikacijski okviri. Kratki pregled posebnosti platforme .NET i C#-a.
  4. Načela sigurnog dizajna i sigurnog programiranja. Obrambeno programiranje. Strategije otklanjanja pogrešaka. Konfiguracijske datoteke i praćenje traga rada.
  5. Programski pristup bazi podataka i objektno-relacijsko preslikavanje.
  6. Izrada jednostavne web-aplikacije s podrškom za CRUD (Create, Read, Update, Delete) operacije. Podjela uloga: model. pogled. upravljač. Tablični prikaz podataka s podrškom za sortiranje i straničenje.
  7. Izrada jednostavne web-aplikacije s podrškom za CRUD (Create, Read, Update, Delete) operacije. Obrada događaja i tehnike validacije podataka.
  8. Međuispit
  9. Implementacija tipičnih odnosa i operacija s podacima : filtriranje, sortiranje, straničenje, specijalizacija i generalizacija, primjer zaglavlje-stavke.
  10. Implementacija tipičnih odnosa i operacija s podacima : filtriranje, sortiranje, straničenje, specijalizacija i generalizacija, primjer zaglavlje-stavke.
  11. Refleksija. Testiranje.
  12. Ponovno korištenje softvera. Web-servisi.
  13. Ponovno korištenje softvera. Web-servisi.
  14. Uslojavanje aplikacije. Jednostavno refaktoriranje. Koncept odvajanja upita i naredbi (CQS - Command Query Separation).
  15. Završni ispit

Studijski programi

Sveučilišni preddiplomski
Izborni predmeti (5. semestar)
Izborni predmeti (5. semestar)
[FER2-HR] Programsko inženjerstvo i informacijski sustavi - modul
(5. semestar)

Literatura

(.), Materijali predmeta dostupni na fakultetskom intranetu,
Roger Pressman, Bruce Maxim (2014.), Software Engineering: A Practitioner's Approach, McGraw-Hill Education
Ian Sommerville (2015.), Software Engineering, Pearson
Steve McConnell (2004.), Code Complete, Pearson Education
Stephen Schach (2010.), Object-Oriented and Classical Software Engineering, McGraw-Hill Education
Andrew Troelsen, Phillip Japikse (2021.), Pro C# 9 with .NET 5, Apress
Robert C. Martin (2008.), Clean Code, Pearson Education
Robert C. Martin (2011.), The Clean Coder, Pearson Education

Laboratorijske vježbe

Za studente

Izvedba

ID 229839
  Zimski semestar
5 ECTS
R2 Engleski jezik
R1 E-učenje
45 Predavanja
0 Seminar
0 Auditorne vježbe
6 Laboratorijske vježbe
0 Konstrukcijske vježbe

Ocjenjivanje

85 izvrstan
70 vrlo dobar
60 dobar
50 dovoljan