Image for
Naslovnica

Napredne programske paradigme

  • Predavanje 15
  • Vježbe 30
  • Samostalni rad 105
Ukupno 150

Naziv predmeta

Napredne programske paradigme

Oznaka predmeta

21-02-541

Semestar

2

ECTS

5

Nastavnici i suradnici

Sadržaj i cilj

Ovaj modul upoznaje studente s osnovama testiranja programskih proizvoda i primjene naprednih programskih paradigmi.

Ovaj je modul namijenjen studentima koji žele naučiti napredne paradigme u objektno orijentiranom programiranju. Vještine stečene ovim modulom značajno će doprinijeti razvoju studenta kao profesionalca u odgovarajućim područjima.

Studenti će naučiti:
• Kako testirati i poboljšati softverska rješenja, što je korisna vještina za njihove buduće izazove kao softverskih arhitekata.
• Kako dizajnirati koncepte ispitivanja programskih rješenja.
• Kako poboljšati programska rješenja smanjenjem dijeljenog koda, primjenom aspektno orijentiranog pristupa i primjenom programskih metrika.

Modul se predaje na programskim jezicima Java i C
. Provjera znanja modula temelji se na pojedinačnim studentskim projektima. U tim projektima studenti moraju stvoriti softversko rješenje prema zadanim specifikacijama.

Literatura

Obvezna literatura:
1. Kaner, C., Bach, J. and Pettichord, B. (2008) Lessons learned in software testing. Hoboken: John Wiley and Sons.
2. Martin, R.C. (2009) Clean code: a handbook of agile software craftsmanship. London: Pearson Education.

Preporučena literatura:
1. McLaughlin, B., Pollice, G. and West, D. (2006) Head First Object-Oriented Analysis and Design: A Brain Friendly Guide to OOAandD. Sebastopol: O'Reilly Media, Inc.

Dodatna literatura:
1. Mancuso, S. (2014) The software craftsman: Professionalism, Pragmatism, Pride. London: Pearson Education.

Minimalni ishodi učenja

  • Opisati temeljne koncepte testiranja programskih rješenja.
  • Usporediti vrste testiranja programskog rješenja.
  • Dizajnirati slučajeve i koristiti programske alate za jedinično testiranje programskih rješenja.
  • Planirati testiranje prihvatljivosti programskih sustava i i njihovo usklađivanje s relevantnim normama.
  • Analizirati programsko rješenje u svrhu detekcije dijeljenog koda.
  • Predložiti i implementirati aspektno orijentirani pristup organizaciji dijeljenog koda.
  • Implementirati strategiju upravljanja izvornim kodom.
  • Analizirati i refaktorirati programsko rješenje prema principima pisanja čistog koda.
  • Implementirati metrike nad programskim rješenjem.

Željeni ishodi učenja

  • Opisati napredne koncepte testiranja programskih rješenja.
  • Predložiti i implementirati barem dvije vrste testiranja programskih rješenja.
  • Dizajnirati slučajeve na arhitekturalno različitim dijelovima aplikacije i koristiti programske alate za jedinično testiranje programskih rješenja.
  • Ponuditi rješenje kako smanjiti utrošeno vrijeme i alociranu memoriju za izvršavanje zadanog programskog rješenja na temelju rezultata dobivenih korištenjem programskog alata.
  • Unaprijediti programsko rješenje kako bi se smanjilo pojavljivanje dijeljenog koda.
  • Implementirati barem dva različita aspekta kako bi se unaprijedila organizacija programskih rješenja.
  • Koristiti barem dvije grane u strategiji upravljanja izvornim kodom.
  • Refaktorirati programsko rješenje u skladu sa SOLID principima.
  • Implementirati vlastitu metriku nad programskim rješenjem.
Preuzmi vodič za studente
Podijeli: Facebook Twitter