"Kolegij Napredno programiranje za web osmišljen je da pruža studentima dodatna znanja i vještine potrebne za razvoj najsloženijih web aplikacija, pri čemu je programski jezik Java izabran kao baza na koju se dograđuje cijeli spektar Java tehnologija. "
 
"Uz spomenute elemente, cilj izabranog modela projektnog rada bio je da se uvede dodatna kvaliteta u obrazovanje informatičara putem upoznavanja s mogućim uvjetima rada koji ih čekaju nakon diplomiranja. "

Dragutin Kermek: Iskustva iz razvoja vlastitog alata za obrazovanje na daljinu - FDL
Listopad 2003. / godište III / ISSN 1333-5987
Razvoj složenih programskih sustava oduvijek predstavlja važan pothvat, posebno kada se radi o specifičnom problemskoj domeni kao što je obrazovanje na daljinu i sa studentima kao članovima projektnog tima. U članku se iznose iskustva u primjeni informacijsko komunikacijske tehnologije (ICT) u obrazovanju informatičara, koja su prethodila razvoju vlastitog programskog sustava za učenje na daljinu pod nazivom FDL. Opisane su faze razvoja FDL sustava i prikazana je njegova struktura. Zajedno s opisom implementacije i integracije FDL sustava dane su njegove tehničke osobine, načini komuniciranja članova projektnog tima i oblici naknadnog proširenja projektnog zadatka. Na kraju su dana iskustva u primjeni FDL sustava u obrazovanju na jednom od kolegija koje izvodi autor.

Dragutin  Kermek
Sveučilište u Zagrebu, Fakultet organizacije i informatike
dkermek@foi.hr

Uvod

Informacijsko komunikacijska tehnologija posljednjih 10 godina sve jače ulazi u mnoge segmente rada i života pojedinaca, pri čemu za mnoge od njih Internet predstavlja najvidljiviji dio ICT-a. Tvrtke koje se bave programskom podrškom posebno su zahvaćene promjenama koje dolaze s razvojem ICT-a. Ponovno definirana strategija tih tvrtki treba osigurati njihov prosperitet i zadovoljstvo vlasnika ili dioničara. U sličnoj situaciji nalaze se mnoge tvrtke koje se bave različitim oblicima proizvodnje i pružanja usluga. Konačno dolazi i visokoškolsko obrazovanje kod kojeg je ICT strateški resurs. Visokoškolsko obrazovanje ovdje je postavljeno posljednje u nizu, no mora biti jasno da ono mora biti među prvima koji će reagirati na promjene koje dolaze. Institucionalni oblik tog reagiranja provodi se izmjenama nastavnog plana i programa studija. Preporuka 13 iz Strategije razvitka informacijske i komunikacijske tehnologije Republike Hrvatske govori da "za visokoškolske institucije koje obrazuju studente za profesionalno bavljenje ICT-om treba razraditi prijedloge okvirnih nastavnih planova i programa imajući u vidu potrebe gospodarstva i društva uopće".

Novi izborni kolegiji vezani uz Internet

Prilikom inoviranja nastavnog plana i programa studija "Informacijski sustavi" na Fakultetu organizacije i informatike Sveučilišta u Zagrebu za akademsku godinu 2000./2001. vodila se briga o novim trendovima u razvoju ICT-a i njihovu uključenju u obrazovanje budućih informatičara. Rezultat aktivnosti osuvremenjivanja bili su novi izborni kolegiji, koji su izravno vezani uz Internet, odnosno web (npr. Psihologija Interneta, Elektroničko poslovanje, Programiranje za web i Napredno programiranje za web). Posljednja dva izborna kolegija izvode se u 7. i 8. semestru. Usmjereni su na razvoj programske podrške koja će se koristiti u okružju weba, a iz njihovih naziva već se može zaključiti slijed izvođenja, koji proizlazi iz jake vertikalne veze materije koju obrađuju. Dosadašnja iskustva pokazala su da stečena znanja i vještine kroz oba kolegija daju polaznicima određene prednosti u odnosu na ostale kandidate pri traženju zaposlenja u tvrtkama koje se bave razvojem programske podrške primjenom najnovijih tehnologija,
Kolegij Programiranje za web pruža znanje potrebno za dizajniranje web stranica uz primjenu HTML i JavaScript jezika, izradu dinamičkih web stranica i web aplikacija primjenom izabranog poslužiteljskog programskog jezika (Perl, PHP) uz korištenje baze podataka MySQL. Potrebne vještine razvijaju se korištenjem raznih alata prilikom izrade domaćih zadaća, predviđenog samostalnog i timskog projekta. Samostalni projekt predstavlja jednostavniju klijentsku aplikaciju u kojoj je naglasak na primjeni elemenata kojima će se postići kvalitetan dizajn web stranica prema poznatim smjernicama uz primjenu raznih oblika kontrole unosa podataka. Timski projekt predstavlja složeniju web aplikaciju, čija izrada zahtijeva timski rad svih članova tima. Na temelju opisa projektnog zadatka timovi trebaju razviti vlastito projektno rješenje, kojemu prilažu projektnu dokumentaciju. Svaki tim prolazi sve faze razvoja novog projekta (analiza, dizajn, postavljanje vlastite sheme baze podataka, programiranje, testiranje, isporuka na ciljani poslužitelj), a završava prezentacijom svim kolegama koji su upisali kolegij. U tri godine izvođenja kolegija pokriveno je mnogo različitih projekata (e-biblioteka, e-trgovina, e-aukcija, e-banka, e-oglasnik, e-razglednice, e-referada i sl).
Kolegij Napredno programiranje za web osmišljen je da pruža studentima dodatna znanja i vještine potrebne za razvoj najsloženijih web aplikacija, pri čemu je programski jezik Java izabran kao baza na koju se dograđuje cijeli spektar Java tehnologija. Između ostalih tehnologija tu se obrađuje grafičko korisničko sučelje (applet), korištenje mrežnih resursa na nižoj razini (socket), sigurnosne politike i certifikati, povezivanje na baze podataka (JDBC), elektronička pošta (JavaMail), komponenti razvoj (JavaBeans), distribuirana obrada (CORBA, RMI), servisi imenovanja (JNDI), pa sve do najnovijih kao što su XML, SOAP i web servisi. U odnosu na kolegij Programiranje za web postoje razlike ne samo u sadržaju kolegija nego i u načinu njegova svladavanja. Samostalni projekt ponovno je usmjeren k realizaciji aplikacije s grafičkim korisničkim sučeljem (applet). Za timski dio projekta određeno je da svi polaznici čine jedan projektni tim koji razvija zajednički proizvod na način da svaki pojedinac pokriva jedan dio projektnog zadatka koristeći zajedničku programsku infrastrukturu u obliku aplikacijskog okvira.

Razvoj iskustava u primjeni ICT-a u obrazovanju

Za potpunije razumijevanje izbora timskog projekta potrebno je opisati vlastita iskustva u primjeni ICT-a u obrazovanju, koja su stečena prije nego što se počelo s izvođenjem spomenutih kolegija, kao i uvjete u kojima su oni izvođeni u prvim godinama. Iskustva u primjeni Interneta u obrazovnom procesu stečena su tijekom ranije višegodišnje primjene na drugim kolegijima, pri čemu je Internet bio tretiran kao mjesto pohrane "digitalne bilježnice" virtualnog studenta i/ili "digitalnog udžbenika". Jedan od glavnih problema s pozicije nastavnika bilo je ažuriranje materijala na poslužitelju koje se provodilo ručnom metodom sastavljanja sadržaja u izabranom HTML autorskom alatu, pretvaranju PowerPoint prezentacija u HTML stranice i prenošenju svih materijala na poslužitelj putem FTP klijentskog programa. Sljedeći problemi odnose se na postizanja kontinuiranog rada studenata, velik utrošak vremena za praćenje i dokumentiranje rada studenata (zadaće, projekti, rad), slabu komunikacijsku iskorištenost primjene e-maila i sl. Posljednji problem bio je nedostatak jednostavne komunikacijske podrške (forum i sl.) kojom bi se postigla aktivnija uloga studenata pri traženju rješenja za uočene probleme uz razmjenu ideja između samih studenata, a prema potrebi i s nastavnikom.
S vremenom su primjenjivana kvalitetnija rješenja koja su sadržavala određene osobine programskih sustava za upravljanje sadržajem (Content Management System) s mogućnostima generiranja manjeg dijela sadržaja. Sljedeći korak bilo je zatvaranje sustava primjenom autentikacije korisnika. Tako se krug korisnika ograničio samo na polaznike pojedinih kolegija. Ugrađeni su pregledi korištenja sustava, čime je bilo moguće statistički pratiti kada i što koristi pojedini korisnik sustava. Nije potrebno naglasiti da su za oba kolegija pripremljeni razni sadržaji, u prvom redu PowerPoint prezentacije s predavanja, zadaci s laboratorijskih vježbi, veze na korisne adrese za literaturu i programsku opremu u obliku web stranica.
Svi ti elementi prikazuju okružje koje je postojalo prije i tijekom razmatranja ideje za timski projektni zadatak. Bitno je da je traženo područje koje će biti specifično i novo za studente prema svojim osobinama složeno da zahtijeva timski rad, podložno za primjenu tehnologija koje se obrađuju u sklopu kolegija i, napokon, da predstavlja izazov za sve članove tima (studente i nastavnika). Odlučeno je da se razvija vlastiti programski sustav za upravljanje učenjem na daljinu (LMS - Learning Management System), kojemu je dodijeljen naziv - FDL - FOI Distance Learning. Odluka nije bila sputana spoznajom da postoje razni srodni komercijalni i open-source LMS programski sustavi. Njihov popis s usporedbom nekih od njih može se naći na CARNetovoj referentnoj adresi. Glavni argument izbora bilo je ispunjenje spomenutih zahtjeva te moguća korisna primjena u nastavnom procesu spomenutih i drugih kolegija. Na slici 1 prikazan je opisani razvoj primjene ICT-a u obrazovanju. Analiza osobina spomenutih načina primjene ICT-a sugerira da postoje njihove tri generacije, koje su naglašene na Slici 1:

Slika 1. razvoj primjene ICT-a u obrazovanju

Uz spomenute elemente, cilj izabranog modela projektnog rada bio je da se uvede dodatna kvaliteta u obrazovanje informatičara putem upoznavanja s mogućim uvjetima rada koji ih čekaju nakon diplomiranja. Za studente koji se tek zaposle prirodno je da očekuju postupan put napredovanja unutar tima i tvrtke te da će na početku biti pridruženi projektnom timu unutar kojeg će biti zaduženi za razvoj pojedinog segmenta projektnog zadatka koji im se dodijeli. Postoji i zahtjevniji posao kada se radi o dovršavanju segmenata projektnog rješenja koji su započele razvijati neke druge osobe, koje često više nisu zaposlene u toj tvrtki. Razumijevanje tuđeg programskog "rukopisa" može zahtijevati velik napor i donijeti mnogo frustracija, pogotovo kada ne postoji dogovoreni standard pisanja programskog koda i cjelovita projektna dokumentacija, nego se projekt razvija ad-hoc metodom.

Projektni zadatak FDL

Priprema projektnog zadatka započela je opisom zahtjeva koje on treba ispuniti. Slijedila je analiza zahtjeva na temelju koje su izrađeni dijagrami slučajeva korištenja (use case diagrams), razrađeni scenariji odvijanja aktivnosti (autentikacija, autorizacija, sljedovi rada i sl.) s dijagramima slijeda (sequence diagram) i prijelaza stanja (state-transition diagram), uvedene osnovne klase i razrađeni njihovi odnosi s dijagramom klasa (class diagram), definirana struktura baze podataka s dijagramom veza-objekt (entity-relation diagram) i modelom podataka. Pripremljeni su svi temeljni šifarnici, opisan je standard za pridruživanje naziva stupaca u tablicama baze podataka, dane su upute za razmjenu e-mail poruka u vezi s radom na projektu i upute za pripremu i slanje projektnog rješenja nastavniku. Završni posao u izradi projektne dokumentacije bila je podjela projektnog zadatka na dijelove, odnosno module, koje će razvijati pojedini studenti. Za svaki modul pripremljen je opis poslova koji su njime obuhvaćeni. Slika 2 prikazuje glavne module i njihov smještaj u prostoru projektnog rješenja.

Slika 2. Glavni moduli FDL sustava i njihov smještaj u
prostoru projektnog rješenja

Za realizaciju cijelog projekta planiran je rok od 2 godine pa je odlučeno da se moduli podijele u dvije grupe prema slijedu korištenja i važnosti za cijeli projekt. Određeno je da svaki modul zasebno razvijaju 2-3 studenta, čime bi se osiguralo više različitih rješenja između kojih bi se moglo izabrati najkvalitetnije koje bi svi koristili. Također bi se moglo dopustiti korisnicima sustava da sami određuju svoje favorite, čime bi im se dala mogućnost personalizacije sustava sitne granulacije. Svaki student samostalno je mogao izabrati modul koji će mu biti pridružen, uz jasnu pretpostavku da interes za traženi modul nije prešao dopušten broj studenata.

Rad na projektu

Rad studenata na projektu počeo je s upoznavanjem posebnog aplikacijskog okvira (application framework) za web aplikacije koji predstavlja osnovu cijelog projekta i svih njegovih modula. Jedna od mogućih definicija aplikacijskog okvira kaže da je to "skup kooperirajućih klasa koje povezuju ponovno korišteni dizajn za specifičnu klasu softvera. Okvir pruža arhitekturnu vodilju za podjelu dizajna u apstraktne klase i definira njihove odgovornosti i suradnje. Projektanti prilagođavaju okvir pojedinačnoj aplikaciji tako što uvode potklase postojećim klasama okvira i korištenjem instanci klasa okvira". Korišteni aplikacijski dizajn je i razvijen vlastitim snagama, a temelji se na višerazinskom, dinamičko konfigurabilnom i komponentno baziranom modelu. Detaljniji prikazi mogućnosti aplikacijskog okvira objašnjeni su na primjerima programskog koda za razne oblike korištenja dijelova aplikacijskog okvira.
Projektna dokumentacija prva je bila stavljena na raspolaganje svim članovima projektnog tima kroz web stranice kolegija. Slijedile su upute za instalaciju i konfiguriranje kostura FDL sustava, baze podataka i ostale potrebne programske opreme, dodane su datoteke komprimiranog sadržaja FDL sustava, baze podataka, aplikacijskog poslužitelja Apache Tomcat, JDBC (Java DataBase Connectivity) upravljačkog programa za korištenje MySQL baze podataka iz programskog jezika Java i sl.
Dogovoren je tjedni/dvotjedni ritam neobveznih sastanaka članova projektnog tima na kojima bi se raspravljalo o novostima u razvoju kostura FDL sustava i problemima na koje bi studenti naišli prilikom razvoja svojih modula.
Integracija studentskih rješenja u FDL sustav bila je centralizirana od samog početka rada na projektu, pri čemu je taj posao obavljao nastavnik zajedno s testiranjem modula i njihova utjecaja na cijeli sustav. Prema projektnom planu nove verzije FDL sustava povremeno su objavljivane, obično nakon što bi određeni modul bio završen od svih ili većine studenata kojima je bio pridružen.
Najveći dio modula razvijen je u Java servlet tehnologiji. Posebni moduli zahtijevali su drugačiji pristup razvoju korisničkog sučelja budući da se njihov posao može kvalitetnije realizirati Java applet tehnologijom. Ponajprije su to poslovi punjenja sadržaja lekcija i projektnih zadataka na način da korisnik ne piše, uređuje i oblikuje tekst uz poznavanje HTML jezika nego to obavlja unutar appleta primjenom sličnih akcija kao i kod uobičajenih uređivača tekstova. Za realizaciju tog rješenja razvijen je protokol za komunikaciju appleta i servleta kojim su dohvaćeni podaci iz baze podataka i upisivani u nju. Sljedeći modul sa sličnim potrebama bila je komunikacija između korisnika FDL sustava u obliku privatne i javne brbljaonice (chat). Mehanizam slanja i raspodjele poruka između FDL sustava i svih korisnika u brbljaonici temelji se na tehnologiji pozivanja udaljenih metoda (RMI - Remote Method Invocation).
Plan razvoja FDL sustava predvidio je slobodna mjesta koja bi se popunjavala programskim rješenjima u obliku modula razvijenim za potrebe diplomskih radova. Jedan od tih modula bavi se razmjenom podataka o pitanjima i testovima između dva FDL sustava ili jednog FDL sustava i bilo kojeg drugog sustava koji se pridržava predviđenog protokola razmjene podataka u XML formatu. To je bio jedan od modula zbog kojih je bilo potrebno dograditi model autentikacije korisnika i autorizacije njihova rada koji je postojao u aplikacijskom okviru FDL sustava. Sljedeći modul zadužen je za jednostavnije administriranje korisnika FDL sustava primjenom tehnologije odvuci-i-ispusti (drag-and-drop) unutar appleta.

Korištenje FDL sustava


Slika 3. Korištenje FDL sustava

FDL sustav prvo je uključen u izvođenje nastave na dva spomenuta kolegija u ak. godini 2002./2003. Naknadno su uključeni ostali kolegiji u čijem izvođenju sudjeluje autor. Uza sve to koristi se kao referentno mjesto za razvoj novih verzija FDL sustava. Najopsežnije korištenje FDL sustava provedeno je na kolegiju Programiranje za web. Prvo, svi sadržaji (lekcije, laboratorijske vježbe, opisi projekata) bili su na raspolaganju putem FDL sustava. Studentima je ostavljena sloboda izbora dolaska na predavanja i laboratorijske vježbe, zbog čega se može reći da je približno 35% studenata obavilo nastavne obveze udaljenim učenjem. Drugo, studenti su gotovo svaki tjedan morali dovršiti započetu laboratorijsku vježbu, predati je putem FDL sustava tako da nastavnik može pogledati rješenje, pridružiti mu komentar pa vratiti na doradu ili zaključiti s određenim brojem bodova. U oba slučaja svaki student bio je upoznat s mišljenjem nastavnika o njegovu rješenju. Studenti su bili anketirani o svojim razlozima i navikama korištenja FDL sustava, njegovim dobrim i lošim stranama i sl. Ti podaci koristit će se za poboljšanja u sljedećoj verziji.

Tehnički detalji projektnog rješenja

Dimenzije projekta pokušat će se prikazati putem podataka o pojedinim segmentima njegova rješenja. Baza podataka sadrži 44 tablice između kojih postoje 73 relacije. Aplikacijski okvir realiziran je s 54 klase. Preostali dijelovi implementirani su s 411 klasa, pri čemu treba računati na zalihost od približno 40% zbog istodobnog postojanja više rješenja većine modula.

Članovi projektnog tima

Na kraju potrebno je zahvaliti svim studentima koji su svojim vrijednim radom i korisnim idejama sudjelovali u razvoju FDL sustava (abecedni redoslijed): Zlatko Alvir, Pavao Babić, Marko Baričević, Željko Bubičić, Nikola Čanadi, Saša Drvenica, Miljenko Dubovečak, Zvonimir Hrkač, Josip Jaić, Ivica Kovačić, Bojan Kozar, Dubravko Kukec, Ivan Lovreković, Kristijan Lukačin, Mirko Lulić, Vjekoslav Martinčić, Andreja Migles, Danijel Miletić, Damir Mrazović, Milena Mrđa, Mario Mrljić, Kristijan Novak, Nikola Novaković, Marko Novotny, Marin Odrljin, Dario Pakozdi, Marko Peharda, Ivan Šantek, Tihomir Smuđ, Igor Stipanov, Slaven Stražanac, Dario Strelec, Rajko Zagrajski, Đina Žure.

Zaključak

FDL sustav predstavlja relativno složen programski sustav koji je dovršen u skladu s planiranim rokovima. Za njegov razvoj utrošeno je mnogo vremena, a određeni dio tog vremena utrošen je na razvoj aplikacijskog okvira, koji je trebao biti dovršen prije početka rada na FDL projektu. Postojali su određeni problemi tijekom rada na projektu, pri čemu su neki od njih bili na nastavničkoj strani (kašnjenje u razvoju aplikacijskog okvira, dokumentacija nije dovoljno detaljna u svim područjima i sl.). Vremenski parametri projekta, koji razvija projektni tim u kojem su najbrojniji članovi iz studentske populacije, nisu stabilni budući da svaki student određuje vlastiti ritam rada i slijed polaganja ispita. Određeni problemi nastali su kod studenata koji su imali velik vremenski pomak s početkom rada na vlastitom modulu u odnosu na ostale studente. Rezultat toga bilo je nešto teže početno uključivanje u rad na projektu, što je trebalo nadoknaditi dodatnim naporima i konzultacijama s kolegama studentima i nastavnikom.
Konačno, može se zaključiti da su ispunjena očekivanja u pogledu razvoja sustava u specifičnim uvjetima (nastavnik i studenti izbornog kolegija na četvrtoj godini studija). Analizom studentskih anketa dokazano je da je sustav koristan za studente, a i autor dijeli to mišljenje samo s perspektive nastavnika.

Svi zainteresirani za detaljnije informacije o korištenju FDL sustava mogu me kontaktirati putem e-maila dkermek@foi.hr.

Životopis
 
Diplomirao je na informatičkom smjeru Fakulteta organizacije i informatike u Varaždinu 1986. godine. Magistrirao je 1992. godine na Fakultetu organizacije i informatike u Varaždinu iz područja informacijskih znanosti s temom "Objektno orijentirani pristup izgradnji softvera". Doktorirao je 1999. godine na Fakultetu organizacije i informatike u Varaždinu iz područja informacijskih znanosti s temom "Mjerenje objektno orijentirane programske opreme primjenom metrika uzoraka oblikovanja". Od 1986. godine radio je u Centru za informatiku Fakulteta organizacije i informatike u Varaždinu kao pripravnik na radnom mjestu organizatora programera. Slijedili su poslovi na radnim mjestima projektanta i samostalnog projektanta. Od 1993. godine radi kao asistent u izvođenju nastave na predmetima "Metode programiranja i programski jezici I" i "Metode programiranja i programski jezici II". Nakon toga je asistent na predmetu "Operacijski sustavi". Od akademske godine 2000./2001. vodi izborne kolegije "Programiranje za web" i "Napredno programiranje za web". Godine 2002. izabran je u zvanje docenta u znanstvenom području društvenih znanosti, polje informacijske znanosti, studijske discipline "Operacijski sustavi" i "Programiranje za web". Od 1996. godine obavlja poslove CARNetova koordinatora na Fakultetu organizacije i informatike u Varaždinu.
 
Sveučilište u Zagrebu, Fakultet organizacije i informatike

dkermek@foi.hr

 

Literatura
 
[1]
CARNet Referalni centar za odabir courseware alata. http://www.carnet.hr/referalni/obrazovni/oca.html
 
[2]
Izgradnja aplikacijskog okvira kao temelja budućim programskim sustavima
Autori:Kermek, D., Vrček, N.
Izdavač:CASE 2002.
 
[3]
Elements of Reusable of Object-Oriented Design
Autori:Gamma, E, R. Helm, R. Johnson, J. Vlissides. Design Patterns
Izdavač:Addison-Wesley, Reading, MA
Godina:1995
 
[4]
"Reengineering the University"
Autori:D. Tsischritzis
Izdavač:Communications of the ACM
Godina:1999
 
[5]
Web Style Guide: Basic Design Principles for Creating Web Sites, 2nd Edition
Autori:Lynch, P. J., Horton
Izdavač:Univ Press
Godina:2002







 
  Naslov
 
  Uvod
 
  Novi izborni kolegiji vezani uz Internet
 
  Razvoj iskustava u primjeni ICT-a u obrazovanju
 
  Projektni zadatak FDL
 
  Rad na projektu
 
  Korištenje FDL sustava
 
  Tehnički detalji projektnog rješenja
 
  Članovi projektnog tima
 
  Zaključak
 
 
  Copyright © 2005. Edupoint. Sva prava zadržana.