Sadržaj se učitava...
mdi-home Početna mdi-account-multiple Djelatnici mdi-script Studiji mdi-layers Katedre mdi-calendar-clock Raspored sati FOI Nastava search apps mdi-login
Razvoj web aplikacija
Web Application Development
2024/2025
6 ECTSa
Informacijski i poslovni sustavi 1.2 (IPS)
Katedra za teorijske i primijenjene osnove informacijskih znanosti
M1
5. semestar
Osnovne informacijemdi-information-variant Izvođači nastavemdi-account-group Nastavni plan i programmdi-clipboard-text-outline Model praćenjamdi-human-male-board Ispitni rokovimdi-clipboard-check-outline Rasporedmdi-calendar-clock Konzultacijemdi-account-voice
Izvođenje kolegija
Studij Studijski program Semestar Obavezan
Informacijski i poslovni sustavi 1.2 (IPS) Razvoj programskih sustava 5 obavezan
Cilj kolegija
Cilj predmeta je upoznavanje studenata s razvojem složenih web aplikacija. Predmetom se obrađuju moduli cjelovitog rješenja složene web aplikacije. Predmet prati različite oblike realizacije Web projekata tako da se studentima pruža uvid u pojedine tehnološke i programske mogućnosti koje mogu primijeniti u konkretnim situacijama. Posebno se obrađuju moderni pristup razvoju web aplikacija uz primjenu programskih okvira za korisničku i pozadinsku stranu. Studenti tijekom praktičnog dijela predmeta rade vježbe kojima postepeno razvijaju pojedine gradive blokove kasnijih složenih web aplikacija. Automatskim testiranjem korisničke i pozadinske strane želi se približiti koncept integriranog razvoja softvera. Prezentacijom izabranih rješenja zadaća otvara se diskusija tijekom koje studenti mogu izraziti svoje mišljenje o realizaciji pojedinih modula i drugim dogovorenim kriterijima kvalitete, čime se potiče kritičko razmišljanje o tuđem i vlastitom rješenju
Preduvjeti
Norma kolegija
Predavanja
30 sati
Vježbe u praktikumu
30 sati
Nastavnik Uloga na kolegiju Oblik nastave Tjedana Sati Grupa
Kermek Dragutin Nositelj Predavanja 2 2 1
Novak Matija Nositelj Predavanja
Vježbe u praktikumu
13
15
2
2
1
1
Kaniški Matija Suradnik Vježbe u praktikumu 15 2 1
Maček Marija Suradnik Vježbe u praktikumu 15 2 1
Sadržaj predavanja
  • Struktura Web aplikacija (2 + 0 sata)
    Analiza osobina poznatih web aplikacija. Prepoznavanje osnovnih modula (prijavljivanje korisnika, dnevnik rada, košarica, pregledi sa straničenjem, galerija fotografija,...) i njihovih osobina. Analiza modela standardne i jednostranične web aplikacije. Optimizacija za podizanje ranga kod web pretraživača (SEO).
  • CSS okviri za korisnički dio Web aplikacije (1 + 1 sat)
    Analiza dizajna poznatih web aplikacija i njihovog korištenja CSS-a. Analiza osobina poznatih CSS okvira. Prednosti i nedostaci poznatih CSS okvira. Proširenja/predprocesori CSS-a (npr. SaSS, LeSS).
  • Aktivno korisničko sučelje Web stranice (4 + 2 sata)
    Analiza aktivnog/dinamičkog korisničkog sučelja poznatih web aplikacija. Osobine asinkronog dobavljanja podataka putem Ajax-a. Osobine podrške u pregledniku za Ajax. Pozivanje REST servisa. Upravljanje događajima kroz pripadajuće rukovatelje događaja. Vremenom upravljanje akcije (tzv. timer). Realizacija jednostranične web aplikacije.
  • JavaScript programski okviri za korisnički dio Web aplikacije (5 + 5 sata)
    Analiza osobina poznatih JavaScript programskih okvira. Prednosti i nedostaci poznatih JavaScript programskih okvira. Proširenja JavaScript jezika (npr. TypeScript). Realizacija korisničkog dijela dinamičke Web stranice s responzivnim osobinama uz korištenje CSS i JavaScript programskih okvira.
  • Automatsko testiranje korisničkog dijela Web aplikacija (2 + 2 sata)
    Analiza osobina poznatih sustava za automatsko testiranje korisničkog dijela/sučelja web aplikacija. Priprema okruženja za automatsko testiranje pomoću odabranog alata (npr. Selenium). Provođenje automatskog testiranja i analiza rezultata.
  • Upravljanje radom korisnika (4 + 4 sata)
    Osobine spremanja podataka o korisniku lokalno u pregledniku (putem kolačići, eng. cookie i spremišta (eng. Web storage) i na poslužitelju (putem sjednice, eng. session). Modeli autentikacije i autorizacije korisnika. JavaScript API za rad s korisničkim podacima. API za poslužiteljsku stranu rad s korisničkim podacima. Jednostruka i višestruka autentikacija. Sustavi jedinstvene autentikacije. Primjena otvorenih standarda (npr. OAuth, OpenID). Ograničenje pristupa web robotima putem postavki web poslužitelja i prilikom unosa podataka (npr. CAPTCHA, reCAPTCHA).
  • Rad s datotečnim sustavom, datumskim i drugim tipovima podataka (2 + 2 sata)
    Osobine korištenja datotečnog sustava u web aplikacijama s naglaskom na sigurnost i potrebne postavke web poslužitelja. API za poslužiteljsku stranu za rad s datotekama i mapama. Specifičnosti različitih formata datumskih podataka te njihovo pretvaranje u traženi oblik.
  • Programski okviri izabranog programskog jezika za pozadinski dio Web aplikacije (5 + 5 sati)
    Analiza osobina poznatih programskih okvira izabranog programskog jezika. Prednosti i nedostaci poznatih programskih okvira. Realizacija pozadinskog dijela dinamičke Web uz korištenje određenog programskog okvira.
  • Preuzimanje datoteke od korisnika (eng. upload) (1 + 0,5 sata)
    Pretpostavlja za preuzimanje datoteke i sigurnosni aspekti. Postavke web poslužitelja i aplikacije za ograničenje veličine i vrste datoteke koja se preuzima.
  • Povezivanje s drugim sustavima (1 + 1 sat)
    Otvorenost web aplikacija. Komunikacija s drugim ne-Web sustavima npr. slanje email poruke, korištenje LDAP.
  • Dinamičko generiranje ne-HTML sadržaja (1 + 0,5 sata)
    Mogućnosti dinamičkog generiranje grafičkih, PDF i sadržaja drugih vrsta. Programske knjižnice za generiranje tih sadržaja.
  • Arhitektura Web sustava (2 + 2 sata)
    Komponente web sustava, osobine web poslužitelja, aktivno-redundantnih elemenata do usluge u oblaku. Mjerenje opterećenja, analiza dobivenih podataka, podešavanje postavki Web poslužitelja i poboljšanje web aplikacije.
Sadržaj seminara/vježbi
Ishodi učenja kolegija
  • Osmisliti arhitekturu web aplikacije uz odabir prikladnih tehnologija (web poslužitelj, programski jezici i okviri, spremište podataka i sl.) na temelju zadanog opisa.
  • Koristiti CSS okvire za realizaciju klijentskog dijela web aplikacija (eng. front-end).
  • Optimizirati strukturu i rad web aplikacije u cilju podizanja brzine rada, sigurnosti i ranga
  • Izvršiti automatsko testiranje korisničkog sučelja web aplikacije primjenom specijaliziranih alata te dokumentirati rezultate testiranja
  • Izabrati inženjersku metodiku za razvoj web aplikacija
  • Koristiti programske okvire za realizaciju klijentskog dijela web aplikacija (eng. front-end).
  • Koristiti programske okvire za realizaciju pozadinskog dijela web aplikacija (eng. back-end).
  • Izgraditi složenu interaktivnu web aplikaciju pomoću odabranih tehnologija uz korištenje različitih vrsta programskih okvira.
Ishodi učenja programa
  • razumjeti stanje i trendove razvoja suvremenih informacijskih i komunikacijskih tehnologija (ICT), razumjeti njihov utjecaj na pojedinca, organizaciju i društvo te procijeniti njihovu primjenjivost u zadanom kontekstu
  • razumjeti i primijeniti ključne aspekte informacijske tehnologije (programiranje, algoritmi, strukture podataka, baze podataka i znanja
  • razumjeti i primijeniti suvremene tehničke koncepte i prakse u informacijskim tehnologijama (arhitektura računala, operacijski sustavi, mreže računala)
  • razumjeti i primijeniti matematičke metode, modele i tehnike primjerene rješavanju problema iz područja informacijskih i poslovnih sustava
  • razumjeti bitne čimbenike koji utječu na poslovanje organizacije i pojedinaca te primijeniti osnovne metode i koncepte planiranja, upravljanja i obračuna poslovanja
  • analizirati stanje, identificirati prilike i definirati probleme s kojima se susreću organizacije i pojedinci u primjeni ICT, te formulirati rješenja uz primjenu ICT
  • razumjeti osnovna vertikalna područja primjene ICT (industrija, zdravstvo, promet, turizam, država i sl.), te horizontalne aplikacije (uredski sustavi, DSS, CRM, ERP, DMS i sl.)
  • razumjeti i primijeniti suvremene metodološke pristupe razvoja organizacijskih i informacijskih sustava, te oblikovanja organizacije i organizacijske strukture
  • razumjeti suvremene organizacijske koncepte i upravljati organizacijskom kulturom
  • modelirati poslovne procese i podatke u organizacijama i primijeniti modele u razvoju informacijskih i poslovnih sustava
  • razumjeti i primijeniti metode, tehnike razvoja informacijskih i programskih sustava u suvremenim razvojnim okolinama
  • razumjeti i primijeniti procese, metode i tehnologije upravljanja IT uslugama i resursima te podrške i pružanja različitih vrsta usluga vezanih uz ICT
  • razumjeti i primijeniti etička načela, zakonsku regulativu i norme koje se primjenjuju u struci
  • razumjeti osnovna načela i metode upravljanja organizacijom i uspješno raditi u timu
  • uspješno komunicirati s klijentima, korisnicima i kolegama na verbalan i pisani način uz primjenu odgovarajuće terminologije uključujući i sposobnost komunikacije o struci na stranom jeziku
  • pratiti stručnu literaturu na hrvatskom i stranom jeziku, pripremiti i samostalno održati prezentacije na hrvatskom i stranom jeziku stručnoj i općoj publici, te kritičku evaluaciju prezentirane stručne teme
  • razumjeti i primijeniti vještine učenja potrebne za cjeloživotno učenje i nastavak obrazovanja na diplomskom studiju.
  • razumjeti i primijeniti osnovne principe planiranja i razvoja karijere u struci i vlastitih poduzetničkih poduhvata
Osnovna literatura
  • Emmit Scott, SPA Design and Architecture: Understanding Single Page Web Applications, Manning Publications, 2015
  • Benjamin Jakobus, Jason Marah, Mastering Bootstrap 4: Master the latest version of Bootstrap 4 to build highly customized responsive web apps, 2nd Edition, Packt Publishing, 2018.
  • Yakov Fain, Anton Moiseev, Angular Development with Typescript, Manning Publications, 2018.
  • Zhimin Zhan, Mastering Selenium WebDriver 3.0: Boost the performance and reliability of your automated checks by mastering Selenium WebDriver, Packt Publishing, 2018.
  • Roman Zaikin, Cyber and Penetration Tests for Web Applications, Independently published, 2019.
Dopunska literatura
  • The art of SEO, Enge, E., Spencer, S., Stricchiola, J., & Fishkin, R, O'Reilly, 2012
  • Beginning CSS Preprocessors: With SASS, Compass. js and Less. js, Prabhu, A., Apress, 2015
  • Web Services Security, Mark O'Neill, 2003
Slični kolegiji
Redoviti studenti Izvanredni studenti
U kalendaru ispod se nalaze konzultacije predmetnih nastavnika, no za detalje o konzultacijama možete provjeriti na profilu pojedinog predmetnog nastavnika.
2024 © Fakultet organizacije i informatike, Centar za razvoj programskih proizvoda