Preskoči na sadržaj

Kolegij

Komponentno orijentirano programiranje

Obavezni5 ECTS5. semestar

Opis kolegija

Razvojno okruženje i aplikacija s nekoliko klasa. Windows VCL aplikacije. VCL komponente i dijalozi za unos i prikaz podataka. Komunikacija među dijalozima, akcijske liste i lokalizacija korisničkog sučelja. Korištenje INI datoteka i Windows registra za spremanje i učitavanje korisničkih postavki. Korištenje XML i JSON datoteka te razvoj datoteka prilagođenog formata. ADO komponente i ostvarivanje komunikacije s bazom podataka. Izvršavanje upita nad bazom podataka i generiranje izvještaja. Višedretveno programiranje, mehanizmi sinkronizacije i međusobnog zaključavanja. Razvoj klijent-poslužitelj aplikacija baziranih na TCP/IP i UDP protokolima. Razvoj SOAP i REST web servisa i klijent aplikacija. Funkcije matematičkog sažimanja i simetrični kriptografski algoritmi. Korištenje i implementacija asimetričnih kriptografskih algoritama i digitalno potpisivanje sadržaja. Razvoj LIB i DLL biblioteka. Statičko DLL povezivanje, i povezivanje u trenutku poziva. Razvoj VCL komponenti.

Ishodi učenja

  1. analizirati Analizirati razvojno okruženje, biblioteke i programske okvire za razvoj aplikacija s korisničkim grafičkim sučeljem
  2. razviti Razviti aplikaciju s jednostavnim grafičkim korisničkim sučeljem koja sadrži komponente poput gumbi, padajućih lista, potvrdnih okvira, dijaloga itd.
  3. razviti Razviti aplikaciju koja može spremati korisničke postavke (INI/ Windows registry) te obrađivati i razmjenjivati podatke u XML i JSON formatima
  4. razviti Razviti aplikaciju koja je mogućnosti komunicirati s bazom podataka te izvršavati CRUD (CREATE/READ/UPDATE/DELETE) operacije
  5. razviti Razviti aplikaciju koja svoje zadatke može izvršavati korištenjem više procesorskih jezgri i dretvi, uz implementaciju mehanizama sinkronizacije i međusobnog zaključavanja
  6. razviti Razviti aplikaciju koja omogućuje mrežnu klijent-poslužitelj komunikaciju baziranu na TCP/IP i UDP protokolima, te komunikaciju sa SOAP i REST web servisima
  7. razviti Razviti aplikaciju koja omogućuje matematičko sažimanje sadržaja korištenjem hash funkcija te šifriranje i dešifriranje sadržaja korištenjem simetričnih i asimetričnih kriptografskih algoritama
  8. razviti Razviti vlastite LIB i DLL biblioteke i implementirati ih u nove projekte korištenjem statičkog i runtime povezivanja programskog koda

Literatura

Obavezna literatura

  • Željko Kovačević: PPT predavanja na web stranicama kolegija
    Željko Kovačević: Napredne tehnike programiranja u C++ Builderu, Tehničko veleučilište u Zagrebu, 2020.g

Nositelji kolegija 2

Izvođači nastave 3