You are on page 1of 27

UNIVERZITET U NOVOM SADU

TEHNIČKI FAKULTET „MIHAJLO PUPIN“


ZRENJANIN
ZRENJANIN

UNIVERZITET U NOVOM SADU


TEHNIČKI FAKULTET „MIHAJLO PUPIN“
ZRENJANIN
ZRENJANIN

Aplikacija za evidenciju naučnog fonda fakulteta


Aplication for scientific fund record

DIPLOMSKI RAD

Mentor: Student:
Prof. dr Biljana Radulović Miloš Trošić IT 21/13
Komentor: Smer:
Doc dr. Ljubica Kazi Informacione tehnologije

Zrenjanin, 2017.
Evidencija naučnog fonda fakulteta

SADRŽAJ:
SADRŽAJ:........................................................................................................................1
1. UVOD............................................................................................................................2
2. WEB APLIKACIJE......................................................................................................3
3. POSTOJEĆA REŠENJA..............................................................................................4
3.1. SAP AG..................................................................................................................4
4. KORIŠĆENE TEHNOLOGIJE....................................................................................4
4.1. PHP.........................................................................................................................5
4.2. HTML.....................................................................................................................5
4.3. CSS.........................................................................................................................5
4.4. MySQL...................................................................................................................6
4.5. Notepad++..............................................................................................................6
4.6. XAMPP..................................................................................................................6
5. OPIS POSLA................................................................................................................7
6. SPECIFIKACIJA ZAHTEVA KORISNIKA..............................................................7
7. MODELI........................................................................................................................8
7.1. Model poslovnih procesa........................................................................................8
7.2. Modeli softverskih funkcija – USE CASE Dijagram.............................................9
7.3. Modeli podataka – CDM, PDM.............................................................................9
7.3.1. Conceptual data model...................................................................................10
7.3.2. Physical data model........................................................................................10
8. KORISNIČKO UPUTSTVO......................................................................................12
8.1. Prijava korisnika...................................................................................................12
8.2. Početna stranica ulogovanog profesora................................................................12
8.3. Forme za unos podataka.......................................................................................13
8.4. Stranica za prikaz unetih zahteva.........................................................................14
8.5. Parametarska štampa zahteva...............................................................................15
9. Opis Implementacije....................................................................................................16
9.1. SQL script.............................................................................................................16
10. Ključni delovi koda...................................................................................................18
10.1.Konekcija ka bazi................................................................................................18
10.3. Upis podataka.........................................................................................................22
10.4. Parametarsko štampanje.........................................................................................23
ZAKLJUČAK..................................................................................................................25

1
Evidencija naučnog fonda fakulteta

LITERATURA................................................................................................................26

1. UVOD
Planiranje finansijskih sredstava je veoma važno, jer se time obezbeđuje pravilan
raspored finansija i njihovo praćenje. Ova aplikacija ima za cilj da da na uvid
informacije o utrošenim finansijskim sredstvima zaposlenih. Takođe administrator ima
mogućnost raspodele finansija svakom od zaposlenih. Ova aplikacija se može koristiti u
bilo kom sistemu gde postoji potreba za planiranje i raspodelu finansijskih sredstava,
takodje postoji i mogućnost stampe.
Pomoću ove veb aplikacije, organizacija finansija postaje mnogo lakša, jer se svi podaci
nalaze na jednom mestu u jednoj bazi podataka i može im se pristupiti u bilo kom
trenutku. Sistem rada se sastoji u tome da zaposleni dobijaju finansijska sredstva na
nivou godine, koja koriste za kotizaciju na različitim konferencijama i naučnim
skupovima. Na osnovu toga u aplikaciji se nalazi nekoliko formi. To su forme za unos
zahteva od strane zaposlenog, prikaz unetih zahteva i forme za odobrenje zahteva od
strane katedre i NNV-a. Administrator može videti istoriju svih odobrenih finansiranja
kao i preostala sredstva za zaposlene. U tabelarnom prikazu zahteva i prihvaćenih
finansiranja se može vršiti sortiranje po datumu.

2
Evidencija naučnog fonda fakulteta

2. WEB APLIKACIJE

Web aplikacija predstavlja softver čiji se kod nalazi na web - serveru. Korisnik
pristupa aplikaciji pomoću web pretraživača, najčešće preko interneta ili intraneta.
Nakon čega aplikacija ima za zadatak da prepozna šta je korisniku potrebno i da u
skladu sa zadatim kriterijumima i ovlašćenjima za pristup isporuči odgovarajući
rezultat. Skriptni jezik i sama aplikacija su smešteni na HTTP serveru kojem se pristupa
pomoću URL adrese otkucane u web pretraživaču od strane korisnika. Sa URL-om se
šalje HTTP/HTTPS zahtev preko interneta do servera. Pristigli zahtev se analizira,
zatim sledi provera korisnika i ukoliko je korisnik ovlašćen aktivira se aplikacija.
Rezultat rada web aplikacije može biti HTML web stranica, PHP, CSS, JavaScript,
XML, slika, video, flash ili neki drugi dokument koji web server šalje preko interneta
do kompijutera korisnika. [1]
Prednosti web aplikacija su mnogobrojne, jedna od njih je nezavisnost od uređaja.
Kako postoji prilagodljivi dizajn za ovu vrstu aplikacija one će se prikazivati kako na
bilo kom računaru tako i na tabletima i mobilnim telefonima bez obzira na širinu ekrana
ili operativnog sistema. Druga prednost je ta da se ovakve aplikacije pokreću iz web
pretraživača. Ona se instalira, ažurira i održava na web serveru što daje korisnicima
mogućnost korišćenja bez da se instalira na njihovim ure]ajima, što je pogodno za
kompanije i sisteme sa ogromnim brojem korisnika. Takođe se mogu iznajmljivati po
ceni koja je mnogo niža u odnosu na cenu desktop aplikacije. U ovom slučaju krajnji
korisnik nema pristup izvornom kodu aplikacije, što otežava softversko piratstvo.
HTML5 omogućava jednostavno kreiranje interaktivnog okruženja u okviru
pretraživača (video, audio, vizuelni efekti), uz pristup hardverskim elementima
korisnikovog računara poput web kamere ili mikrofona. Po kvalitetu, web aplikacije su
postale ravnopravne desktop aplikacijama u tolikoj meri da se korisnički interfejs
desktop aplikacija dizajnira u stilu web aplikacija.
Što se tiče mana ovih aplikacija, s obzirom da se pokreću putem interneta ukoliko dođe
do prekida Internet veze, web aplikacija postaje delimično ili u potpunosti
neupotrebljiva. Takođe je u potpunosti zavisna od web servera i kompanije koja je
vlasnik aplikacije (ASP - Application Service Provider), pa u slučaju bankrota
kompanije ili prestanka funkcionisanja određene usluge, krajnji korisnik skoro da nema
nikakva prava. Čak i u slučaju kada se objavi nova verzija aplikacije, korisnicima se
retko ostavlja mogućnost izbora između nove i stare verzije. [2]
Ove aplikacije su stekle veliku popularnost jer su dostupne u bilo koje vreme, sa bilo
kog mesta i na većini elektronskih uređaja koji služe komunikaciji. Osim toga, web
aplikacije nije potrebno nadograđivati na uređajima sa kojih im se pristupa jer im se
pristupa identično kao i ostalim web stranicama. [3]

3
Evidencija naučnog fonda fakulteta

3. POSTOJEĆA REŠENJA

ERP (Enterprise resource planning) je sistem koji se bavi upravljanjem osnovnim


poslovnim procesima kao i resursa. Jedan ERP sistem se sastoji od baze podataka I
odgovarajućeg softvera koji vrši obradu I prikaz podataka. Ovaj sistem prati sve resurse
koji su bitni za preduzeće, takođe vrši I statističke proračune u cilju povećanja
efikasnosti firme. Softver iz ovog sistema takođe predstavlja vezu između različitih
službi kao što je: proizvodnja, administracija, sluzba za upravljanje ljudskim
resursima… Neke od karakteristika je jednog ovakvog sistema su: rad u realnom
vremenu, baza podataka nad kojo mogu da rade sve aplikacije. Jedna od oblasti koja se
upravlja upotrebom softvera su finansijski resursi.Najpoznatije kompanije koje se bave
proizvodnjom ovakvih sistema su: Sap, Oracle [5]

3.1. SAP AG
SAP AG je najveća softverska kompanija i treća po veličini u svetu (posle Microsoft-a i
IBM-a) sa sedištem u Nemačkoj. SAP je najveća kompanija koja nudi ERP rešenja sa
9,4 milijarde dolara prihoda i 60.000 zaposlenih. SAP je osnovan 1972. godine. Glavni
proizvod je MySAP ERP koji pruža kompletan set funkcionalnosti za poslovnu
analitiku,finansije, upravljanje kadrovskim resursima logistiku i korporativne servise.
Drugi bitni proizvodi SAP-a su:

 Advanced Planner and Optimizer (APO),


 Bussiness Information Warehouse (BW),
 Customer Relationship Warehouse (CRM),
 Supply Chain Managment (SCM)
 Exchange Infrastructure (XI)
 Enterprise Portal(EP),

4. KORIŠĆENE TEHNOLOGIJE

Tehnologija koja se koristila za izradu rada jeste programski jezik PHP i opisni jezik
HTML, CSS za stil stranica. Za pisanje koda je korišćen alat Notepad++. Takođe je
korišćen veb server Apache sa DBMS MySQL u okviru paketa XAMPP verzije 3.2.1
koji predstavlja program za kreiranje lokalnog servera. Prikaz stranica aplikacia se vršio
u Google Chrome-u.

4
Evidencija naučnog fonda fakulteta

4.1. PHP
Php (“Hypertext preprocessor” ili “Personal Home Page Tools”) je programski jezik za
kreiranje dinamičkih web stranica i aplikacija. On je skriptni jezik i pomoću njega se
mogu kreirati HTML stranice na serveru pre nego što se pošalju klijentu popunjene
dinamičkim sadržajem. PHP je jedna od najnaprednijih i najkorištenijih skriptnih
tehnologija koje se danas koriste. Svojom sintaksom sličan mnogim drugim jezicima,
čak ima i funkcije kao neki drugi jezici kao što su C ili Perl. PHP podržava baratanje
širokom paletom baza podataka. Podržava sve popularnije baze podataka kao MySQL,
PostgreSQL, dBase, Oracle, ODBC… Ovaj jezik je open-sourse, što znači da je
besplatan za korišćenje i dostupan je svima. Njegov kod se nalazi između znakova: <?
php …. ?> on se može koristiti kao dopuna HTML-u ili sam. [8]

4.2. HTML
HTML (eng. Hyper Text Markup Language) je jezik kojim se opisuje struktura web
stranica pomoću HTML oznaka (eng. tag).  Web stranica se sastoji od raznih elemenata
kao što su: tekst, slike, tablice i slično. HTML oznake u  tekstualnom obliku
određuju položaj i način prikazivanja elemenata neke web strane. Može se reći da je
HTML samo tekst napisan uz poštovanje određene sintakse koju čitač veba (engl. web
browser) može da očita i primeni. [9]
Sruktura HTML dokumenta:
<html>
<head>
<title>……</title>
</head>
<body>
.
.
.
</body>
</html>
Listing koda broj 1: Struktura HTML dokumenta
Svaki HTML dokument ima tri grupe osnovnih tagova bez kojih ne bi radio. To su
oznake za početak i kraj dokumenta <html> i </html>, unutar html tagova se nalazie
zaglevlje, koje počinje i završava se tagovima <head> i </head> i telo, čiji su tagovi
<body> i </body>. Unutar zaglavlja se stavljaju informacije o dokumentu, meta tagovi,
naslovi, pozivi stilova.. Ove informacije korisnik ne vidi, dok se sve ostalo nalazi unutar
bodija, to je ustvari mesto gde se kreira vidljivi deo web stranice.

4.3. CSS
CSS (Cascading Style Sheets) služi za definisanje stilova koji određuju izgled HTML
elemenata (font, boje, pozadine, razmake...). On daje vizuelnu strukturu i opis web
sajtova, web aplikacija kao i aplikacija za mobilne telefone. Njegova ekstenzija je .css i
može se nalaziti u eksternim fajlovima ili jednovno u HTML dokumentu.

5
Evidencija naučnog fonda fakulteta

CSS dozvoljava kreiranje stilova za ceo sajt, što znatno smanjuje vreme i uložen napor
za kreiranje sajta. Ovo konkretno znači da kad je promena napravljena na jednoj
stranici, to utiče na sve ostale stranice. [10]

selektor{
promenljiva: vrednost;
}
Listing koda broj 2: Struktura CSS dokumenta

4.4. MySQL
MySQL je SQL sistem za upravljanje relacionim bazama podataka. Podržava
standardan SQL jezik, i radi na web serveru (back end). Pogodan je i za male i za velike
web aplikacije. Brz je, pouzdan i lak za upotrebu. Besplatan je za preuzimanje i
korišćenje. MySQL je vlasništvo Oracle korporacije. [10] Vrlo je stabilan i ima dobro
dokumentovane module i ekstenzije kao i podršku od brojnih programskih jezika: PHP,
Java , Perl, Python… MySQL baze su relacijskog tipa, koji se pokazao kao najbolji
način skladištenja i pretraživanja velikih količina podataka i u suštini predstavljaju
osnovu svakog informacionog sistema. [11]

4.5. Notepad++
Notepad++ je tekst editor predvidjen prvenstveno kao editor izvornog koda programa,
ali se može koristiti za otvaranje i obradu bilo kojih tekstualnih podataka. Što se tiče
čitanja i pisanja izvornog koda ovaj program je veoma dobar prvenstveno zato što ima
"Code Highlighter" koji podržava dosta programskih jezika. Predvidjen je da radi na
Windows operativnom sistemu. Program je napisan u programskom jeziku C++ i koristi
čist win32 API i STL koji osigurava stabilnost, veću brzinu i manju veličinu programa.
[12]

4.6. XAMPP
Xampp je najpopularnije razvojno okruženje za programski jezik PHP. To je besplatan
alat, veoma lak za instalaciju Apache distribucije koja sadrži MariaDB, PHP, i Perl.
Osim servera Apache, PHP-a i MySQL-a, XAMPP takođe instalira: PEAR (PHP
Extension and Application Repository), biblioteku PHP koda; Perl, veoma popularan
programski jezik; phpMyAdmin, veb interfejs prema MySQL serveru; Server za mail
(za slanje elektronske pošte) i nekoliko korisnih proširenja. [13]

6
Evidencija naučnog fonda fakulteta

5. OPIS POSLA

Poslovni proces počinje tako što se zaposleni registruje i time dobije pristup pregledu
svog računa. Nakon ulogovanja zaposleni dobija mogućnost unošenja zahteva za isplatu
novčanih sredstava u cilju kotizacije na naučnim skupovima ili konferencijama. U tom
trenutku se u bazu upisuje status „NEPRIHVACEN“. Nakon što se uloguje
racunovodstvo dobija na uvid informacije o zahtevu i ima opciju da prihvati ili ne
prihvati zahtev. Ukoliko prihvati sa računa zaposlenog se odbija iznos koji je zahtevao.

6. SPECIFIKACIJA ZAHTEVA KORISNIKA

Aplikacija za evidenciju naučnog fonda treba da olakša zaposlenima uvid u preostala


sredstva kao i dosadašnje transakcije.
Profil računovodstva treba da omogući tabelarni prikaz svih dosadašnjih zahteva
korisnika, kao i filtriranje tabelrnog prikaza po korisnicima i po statusu zahteva u
zavisnosti da li je prihvacen ili ne. Računovodstvo takođe ima opciju štampanja
informacija o zaposlenima i njihovim zahtevima. Računovodstvo upisuje status zahteva
u zavisnosti da li je katedra odobrila finansiranje zaposlenog.
Profil zaposlenog treba da obezbedi zaposlenom tabelarni prikaz svih negovih zahteva,
kao i filtriranje prema iznosu i datumu. Takođe treba da postoji opcija štampanja
zahteva. Zaposelni ima opciju filtriranja svojih zahteva prema status prihvaćenosti.

7
Evidencija naučnog fonda fakulteta

7. MODELI

Pomoću modela se lakše može objasniti rad aplikacija i njenih funkcija. Modeli se
kreiraju pomoću alata Sybase PowerDesigner koji nudi velik broja modela za različite
namene.

7.1. Model poslovnih procesa


Modelovanje poslovnih procesa je aktivnost u kojoj se opisuju (specificiraju) poslovni
procesi nekog preduzeća. Modeli poslovnih procesa omogućavaju da se poslovni
procesi formalno (jasno, precizno i nedvosmisleno) definišu. Modelom se definiše: Ko
su korisnici (spoljni akteri); Šta su ulazi i izlazi procesa; Način odvajanja poslova (tok
izvršavanja); Ko ih obavlja (unutrašnji akter). Model procesa se može koristiti za:
Određivanje uloga i odgovornosti; Analizu usklađenosti kreiranog modela i realnog
sistema; Predviđanje performansi procesa korišćenjem simulacija; Konfiguraciju BPM
sistema[14]
Na Slici broj 3 dat je opšti prikaz toka poslovanja za bilo koji sistem kroz BPM model,
koji je primenjiv i u okviru fakulteta.

Slika broj 3: Model poslovnih procesa za tok evidencije naučnog fonda

8
Evidencija naučnog fonda fakulteta

7.2. Modeli softverskih funkcija – USE CASE Dijagram


USE CASE dijagrami prikazuju ponašanje sistema, njegovih delova ili konkretne klase
na način vidljiv korisniku. Ponašanje sistema opisano je pomoću ciljeva i učesnika
povezanih vezama. Ovi dijagrami opisuju samo poglede na ponašanje sistema sa strane
korsnika a ne i način na koji je neka funkcionalnost izvedena. USE CASE dijagrami
modeluju moguće ponašanje korisnika i kreiraju se u ranim fazama oblikovanja
(najčešće kao prvi dijagram). Na slici broj 4 je su prikazane softverske funkcije za
podršku planiranja radnih aktivnosti. [15]

Slika broj 4: USE CASE dijagram aplikacije

7.3. Modeli podataka – CDM, PDM


Modeli su sredstvo za pojednostavljivanje složenosti problema kroz posmatranje samo
bitnih elemenata za njegovo rešavanje. Model podataka je apstraktni model koji opisuje
kako se podaci mogu efikasno koristiti i predstavljati, i može se gledati na dva načina.
Prvi je teorija modela podataka. To je formalni opis kako se podaci mogu koristiti i
strukturirati. Drugo je instanca modela podataka, tj. kako je primenjena pojedina teorija
modela podataka u svrhu stvaranja prikladne instance za neku aplikaciju. Modeli
podataka formalno definišu elemente podataka i veze među elementima podataka za
domen ili interes. [16]

9
Evidencija naučnog fonda fakulteta

7.3.1. Conceptual data model


Konceptualni model baza podataka daje pogled na skup podataka i na veze koje ih
karakterišu. Ovaj model mora da sagleda sve aspekte realnog sveta koji modelira: on
mora da vodi računa o tome za šta će se baza podataka koristiti i kakva pitanja će
korisnici baze postavljati. U Modelu za ovu aplikaciju postoje dva entiteta sa svojim
atributima koji su povezani vezama. Ove veze imaju svoj naziv i kardinalitet.
Kardinalnost ovih veza je One – Many, tj jedan prema više i znači npr: da jedna može
imati više zahteva (1,many - One)

Slika broj 5: CDM model aplikacije

7.3.2. Physical data model


Fizički model podataka nastaje generisanjem konceptualnog. On sadrži iste podatke,
razlika je u tome što prilikom generisanja prepoznaje veze i dodaje pozajmljene
ključeve/foreign key na mesto na kom je to potrebno. Takođe se ne prikazuju nazivi
veza. U ovom primeru se vidi da su u tabeli angažovanje dodati pozajmljeni ključevi
IdOsobe, IdKategorije i IdTipaAngazovanja.

10
Evidencija naučnog fonda fakulteta

Slika broj 6: PDM model aplikacije

11
Evidencija naučnog fonda fakulteta

8. KORISNIČKO UPUTSTVO

Aplikacija je namenjenja evidentiranju naučnog fonda zaposlenih na fakultetu. Ona se


sastoji od dva profila zaposlenih sa različitim opcijama. Računovodstvo predstavlja
ulogu administrator sa opcija za prihvatanje zahteva zaposlenih. Profesori kao drugi
korisnički profil ima opciju za unošenje zahteva za finansiranje na naučnim skupovima.

8.1. Prijava korisnika


Kada se pokrene aplikacija dobija se stranica prijave. Kao što je već pomenuto postoje
dva korisnička profila. Prilikom prijave potrebno je uneti korisničko ime i šifru u
naznačena polja. Klikom na dugme “Prijavi se” korisnik se uspešno prijavljuje. Za
administratorski profil je potrebno uneti korisničko ime: admin; i šifru: admin; Ukoliko
je to potrebno to se može promeniti u bazi podataka. Što se tiče profila zaposleni
njihovo korisničko ime i šifru određuje administrator.

Slika broj 7: Izgled stranice za prijavu korisnika

8.2. Početna stranica ulogovanog profesora


Nakon što se korisnik uspešno ulogovao odlazi na stranicu welcome, to je početna
stranica i ona sadrži kod oba korisnička profila Ime i prezime osobe koja se ulogovala, a
ispod određene informacije. Kod administratorskog profila je to tabelarni prikaz svih
podataka o zahtevima profesora, takođe se nalazi polje za unos vrednosti za filtriranje
podataka, kao i dugme za običnu i parametarsku štampu. Na profilu zaposlenih postoji
samo dugme koje kada se klikne na njega vodi na stranicu za prikaz angažovanja. Na
administratorskom profilu se sa leve strane nalazi meni sa opcijama, dok zaposleni
nemaju nikakve dodatne opcije. Takođe se nalazi i dugme za odjavu korisnika, koje se
pojavljuje na svakoj sledećoj stranici.

12
Evidencija naučnog fonda fakulteta

8.3. Forme za unos podataka


U bazi podataka postoje dve tabele, to su ZahtevZaIsplatu I Zaposleni. Za svaku od ovih
kategorija postoji forma za unos podatak. Računovodstvo kao administratorski profil osi
što ima mogućnost upisa zahteva za zaposlenog, on takođe ima mogućnost I dodele
vrednosti koloni “Status” u zavisnosti da li je Katedra prihvatila zahtev profesora.
Profesori za razliku od njih imaju mogućnost unosa Namene zahteva, iznos, I roka
isplate.

Slika broj 8: Izgled stranice unos zahteva


Forma za unos podataka sadrzi tri tekstualna polja. Tekstualna polja za unos zahteva su
tipa Text, dok je Iznos tipa number. Na ovoj formi se takođe nalazi i combobox gde
računovodstvo može da dodeli status zahteva profesoru u zavisnosti od odluke Katedre.

13
Evidencija naučnog fonda fakulteta

Slika broj 9: Izgled stranice unos zahteva sa prikazom combobox-a

8.4. Stranica za prikaz unetih zahteva


Na ovoj stranici se nalazi tabelarni prikaz svih unetih zahteva za ulogovanog profesora.
Na svakoj od do sada opisanih stranica se u levom gornjem uglu nalazi podatak o
trenutno ulogovanom korisniku. Sa desne strane se nalazi dugme odjava. U tabelarnom
prikazu zahteva se sa desne strane nalaze dva dodatna dugmeta. Dugme „Izmeni“ služi
za izmenu unetih podataka ukoliko je došlo do greške. Pri izmeni podataka profesoru je
dozvoljena izmena iznosa, namene, roka isplate. Administratorskom profilu je
dozvoljena izmena svih podataka kao i statusa zahteva.

Slika broj 9: Izgled stranice za prikaz unetih zahteva

14
Evidencija naučnog fonda fakulteta

Razlika u prikazu podataka na administratorskom profilu je u tome što se prikazuje i id


zaposlenog koji je povezan sa određenim profesorom.

8.5. Parametarska štampa zahteva


Parametarska štampa predstavlja pretragu i štampanje zahteva po određenom
kriterijumi. Na sledećoj slici se nalazi izgled stranice sa poljem za unos parametara i
štampu.

Slika broj 10: Izgled stranice za unošenje parametara


Nakon unetog id izvršava se kod koji vrši pretragu zahteva po ID-u. Nakon toga na
novoj stranici se prikaže zahtev spreman za štampu.

Slika broj 11: Izgled stranice sa zahtevom pripremnljenog za štampu

15
Evidencija naučnog fonda fakulteta

9. Opis Implementacije

Da bi aplikacija mogla da se instalira na računaru je potrebno instalirati odgovarujuću


verziju XAMPP-a. Nakon instaliranja on u sebi sadrži Apache server, ali pored toga
nalazi i se i mySQL. Pre nego počnemo sa izradom aplikacije potrebno je pustiti SQL
scrip u mySQL. Nakon toga se ceo projekat postavi u root tj. U folder htdocs iz kog se
pokreće ceo projekat.

9.1. SQL script


Da bi kreirali bazu podataka potrebno je iskreirati SQL script. Skript koji je kreiran ima
naziv „naucnifond“. On sadrzi dve tabele koje koje su povezane preko stranog ključa.
Logovanje korisnika se vrši proverom kolone „korisnickoime“ i „sifra“. Ukoliko se
poklapaju uneti podaci sa podaci u tabeli korisnik je ulogovan. U sledećem listingu je
prikazan SQL script.

create database `NAUCNIFOND1` CHARACTER SET utf8 COLLATE


utf8_general_ci;

create table `NAUCNIFOND`.`ZAPOSLENI`


(
IDZAPOSLENI int NOT NULL AUTO_INCREMENT PRIMARY KEY,
IDGRUPE int NOT NULL,
TIPZAPOSLENJA varchar (50) not null,
IME varchar (50) not null,
PREZIME varchar (50) not null,
EMAIL varchar (50) not null,
TELEFON int not null,
KORISNICKOIME varchar(30) not null,
SIFRA varchar(30) not null,

);

16
Evidencija naučnog fonda fakulteta

insert into `NAUCNIFOND`.`ZAPOSLENI`


(IDGRUPE,TIPZAPOSLENJA,IME,PREZIME,EMAIL,TELEFON,KORISNICKOIM
E,SIFRA) values
(1,'Profesor', 'Ivana', 'Berkovic', 'berkovic@tfzr.uns.ac.rs', '381550515',
'Ivana.Berkovic','1');

create table `NAUCNIFOND`.`ZAHTEVZAISPLATU`


(
IDZAHTEVA int NOT NULL AUTO_INCREMENT PRIMARY KEY,
IDZAPOSLENI int NOT NULL,
IZNOS int not null,
NAMENA text not null,
ROKISPLATE date not null,
STATUS text not null
);

insert into `NAUCNIFOND`.`ZAHTEVZAISPLATU`


(IDZAPOSLENI,IZNOS,NAMENA,ROKISPLATE) values
(1,'20000','Odlazak u cilju predstavljanja svojih radova','2016-06-26');

alter table `NAUCNIFOND`.`ZAHTEVZAISPLATU` add constraint FK_PRIPADA


foreign key(IDZAPOSLENI)
references `NAUCNIFOND`.`ZAPOSLENI`(IDZAPOSLENI) on delete restrict on
update cascade;

Listing koda broj 3: SQL script

17
Evidencija naučnog fonda fakulteta

10. Ključni delovi koda

U sledećem tekstu su predstavljeni najvažniji kodovi koji koji služe za evidenciju i


upravljanje finansijama zaposlenog.

10.1.Konekcija ka bazi
Konekcija se vrši preko php stranice Konekcija.php. Kredencijali za bazu koji koristi
Konekcija se nalazi u fajlu kod_parametrikonekcije.php. Na sledecem listingu se nalazi
kod za konekciju ka bazi:

<?php
class Konekcija
{
// atributi
public $UspehKonekcijeNaMYSQL;
public $bazapodataka;
public $UspehKonekcijeNaBazuPodataka;
// konstruktor
//public _construct ()
//{}
public function KonektujSe()
{
require 'kod_parametrikonekcije.php';
$this->bazapodataka=$bazapodataka;
$db_handle = mysql_connect($server, $user_name, $password);
$this->UspehKonekcijeNaMYSQL=$db_handle;

if (!$db_handle) {
die(' Greska: ' . mysql_error());

18
Evidencija naučnog fonda fakulteta

echo "<br/>";
}
else
{
// dodatak da moze da radi sa UTF8
mysql_query('SET NAMES "utf8"',
$db_handle);
}
//KONEKCIJA KA BAZI PODATAKA
$db_selected = mysql_select_db($bazapodataka, $db_handle);
$this->UspehKonekcijeNaBazuPodataka=$db_selected;
if (!$db_selected) {
die (' greska ' . mysql_error());
echo "<br/>";
}
public function ZatvoriKonekciju()
{
mysql_close($this->UspehKonekcijeNaMYSQL);
}}
?>

Listing koda broj 4: Kod za konekciju ka bazi


10.2. Provera prijave

Provera kod ulogovonja korisnika se vrši na stranici prijavaprovera.php. Najvažnija deo


kod ove stranice je sesija. U sesiji su smešteni podaci koji se koriste na nivou projekta a
to su korisnickoimi i sifra. Na svako od stranica za pristup i izmenu podataka se vrši
provera ulogovanog korisnika. Na sledećem listingu je predstavljena dodela vrednosti
ovim poljima.

<?php

session_start();

19
Evidencija naučnog fonda fakulteta

$loginusername=$_POST['korisnickoime'];

$loginpassword=$_POST['sifra'];

require 'delovi/kod_parametrikonekcijeOpstina.php';

$db_handle = mysql_connect($server, $user_name, $password);

if (!$db_handle) {

die('Nije uspostavljena veza sa serverom baze podataka. Greška: ' .


mysql_error());

//echo "<br/>";

else

//echo " Uspesno uspostavljena konekcija ka serveru!";

//echo "<br/>";

//KONEKCIJA KA BAZI PODATAKA

$db_selected = mysql_select_db($bazapodataka, $db_handle);

if (!$db_selected) {

die ('Nije moguce koristiti bazu podataka. Greška: ' . mysql_error());

//echo "<br/>";

else

//echo " Uspesna konekcija ka bazi podataka! ";

//echo "<br/>";

20
Evidencija naučnog fonda fakulteta

if ($db_selected)

// dodatak da moze da radi sa UTF8

mysql_query('SET NAMES "utf8"',$db_handle);

$SQL = "SELECT * FROM `".$bazapodataka."`.`ZAPOSLENI` WHERE


KORISNICKOIME='".$loginusername."' AND SIFRA='".$loginpassword."'";

$result = mysql_query($SQL);

$num_rows = mysql_num_rows($result);

if ($num_rows>0) {

$row=0;
$idzaposleni=mysql_result($result,$row,"IDZAPOSLENI");

$prez=mysql_result($result,$row,"PREZIME");

$ime=mysql_result($result,$row,"IME");

$zaposleni=$prez.' '.$ime;

} else {

$zaposleni='NEPOZNAT KORISNIK';

} // od if db selected

mysql_close($db_handle);

// rad sa sesijama

$_SESSION["prez"] = $prez;

$_SESSION["ime"] = $ime;

$_SESSION["idzaposleni"] = $idzaposleni;

$_SESSION["zaposleni"] = $zaposleni;

// redirekt na drugu stranicu

21
Evidencija naučnog fonda fakulteta

//prosledjivanje preko URL: header ('Location:Welcome.php?


korisnik='.$korisnik);

header ('Location:Welcome.php');

?>

Listing koda broj 4: Kod za proveru pri prijavi korisnika

U narednom listingu se nalaze kredenijali koji sluze Konekciji za indetifikovanje baze u


phpMyAdmin-u.

<?php

$server = "localhost";

$user_name = "root";

$password = "";

$bazapodataka="naucnifond1";

?>

Listing koda broj 5: Kredencijali za bazu podataka

10.3. Upis podataka


Upis podataka u bazu se vrši metodom „zahtevsnimi.php“. Snimanje novih zahteva se
radi metodom POST. Sa njom se prosledjuju parametri sa forme ka php stranici. U
ovom slučaju sam koristio klase za upis podataka. Nako što se sa forme preuzmu podaci
prosleđuju se metodi „UnesiNoviZahtev“. Tek u toj metodi se vrši insert into nad
tabelom.

<?php

session_start();

// kad idemo preko poziva sa URL promenljivom, onda ovako citamo:

//$korisnik=$_GET['korisnik'];

// citanje vrednosti iz sesije

22
Evidencija naučnog fonda fakulteta

$IDZaposlenog=$_SESSION['IdZaposleni'];

if(isset($_POST['btnsnimirad'])){

$Namena=$_POST['Namena'];

$IznosNovca=$_POST['IznosNovca'];

$RokIsplate=$_POST['RokIsplate'];

//$new_date = date('Y-m-d', $timestamp);

$postoji =false

require 'delovi/klase/Konekcija.php';

$novaKonekcija = new Konekcija();

$novaKonekcija->connect();

if ($novaKonekcija->konekcijaDB)

$bazapodataka = $novaKonekcija->nazivbaze;

//echo "naziv baze:".$bazapodataka;

require 'delovi/klase/ZahtevDB.php';

$novizahtevDB = new ZahtevDB($novaKonekcija, $bazapodataka);

//$postoji = $noviZahtevDB->ProveriJedinstvenostZahteva($nazivrada);

//if (!$postoji){

$novizahtevDB>SnimiNoviZahtev($IDZaposlenog,$Namena,$IznosNovca,
$RokIsplate);

Listing koda broj 6: Upis podataka u bazu

10.4. Parametarsko štampanje


Parametarska štampa funkcioniše tako što iz fajla desnoParametarskaStampa.php
metodom get prosleđuje parametar za pretragu. Nakon što prihvati parameter stranica
stampaPodatakaOZahtevu.php smešta vrednost u promenljivu i dalje je koristi
selektovanje konkretnog zahteva.

23
Evidencija naučnog fonda fakulteta

<?php
session_start();
// REALIZACIJA CITANJA SVIH I FILTRIRANIH PODATAKA
//KONEKCIJA KA SERVERU
// koristimo klasu za poziv procedure za konekciju
require "delovi/klase/Konekcija.php";
$objKonekcija = new Konekcija();
$objKonekcija->KonektujSe();
$db_handle = $objKonekcija->UspehKonekcijeNaMYSQL;
$bazapodataka=$objKonekcija->bazapodataka;
$UspehKonekcijeNaBazu=$objKonekcija->UspehKonekcijeNaBazuPodataka;
// NASTAVAK
if ($UspehKonekcijeNaBazu)
{
// dodatak da moze da radi sa UTF8
mysql_query('SET NAMES "utf8"',$db_handle);
// filtrirano
$FilterVrednost=$_GET["ZahtevFilter"];
// pogled sa filterom
$SQL="select * from `".$bazapodataka."`.`ZAHTEVZAISPLATU` WHERE
IDZAHTEVA='".$FilterVrednost."'";
$result = mysql_query($SQL);
$num_rows = mysql_num_rows($result);
}else
{
echo "nema konekcije";
}?>

Listing koda broj 7: Parametarska štampa

24
Evidencija naučnog fonda fakulteta

ZAKLJUČAK

Ova aplikacija je prototipno rešenje i kao takva je spremna za korišćenje. Iako je


osmišljena za evidenciju naučnog fonda fakulteta može se koristiti za upravljanje
finansijama u bilo kom sistemu.
Dalje unapređenje aplikacije bi trebao omogućiti korisnicima slanje mail-a
računovodstvu u cilju bržeg reagovanja na postavljeni zahtev, takođe je moguće proširiti
aplikaciju za vodjenje ceokunih finansija, ne samo za evidenciju naučnog fonda.
Na stranici prikaza angažovanja kod profila zaposlenih postoji forma filtriranja, ali
funkcionalnost nije implementirana, pa bi se u daljem radu to trebalo srediti. Takođe ne
postoji nikakva zaštita podataka, pa bi svaki neovlašćeni korisnik koji zna putanju
mogao pristupiti bilo kojoj stranici i naneti štetu.
Što se tiče podataka, trebala bi se obezbediti opcija uvoza i izvoza putem XML-a, Word
dokumenta, Exsela, jer u svakom sistemu sigurno već postoje gotove evidencije, pa bi
se na ovaj način skratilo vreme unosa i olakšao rad administratoru.
Aplikacija je ispravna i pogodna za korišćenje, ali bi se trebala dopuniti navedenim
opcijama kako bi rad bio mnogo efikasniji.

25
Evidencija naučnog fonda fakulteta

LITERATURA
Korišćeni web sajtovi:
1. http://sr.magma.rs/blog/web-aplikacije/kako-radi-web-aplikacija
2. http://sr.magma.rs/blog/web-aplikacije/prednosti-i-nedostaci-web-aplikacija
3. https://programirajmozajedno.wordpress.com/2015/01/09/kratak-uvod-u-world-
wide-web-i-web-aplikacije/
4. http://jiws.rs/wp-content/uploads/2016/03/HRM-SIMENS1_v2-Compatibility-
Mode.pdf
5. https://beleske.com/sta-je-erp-znacaj-erp-resenja-u-poslovanju-preduzeca/
6. http://www.europos.co.rs/softverska-resenja/softver-za-ljudske-resurse/
7. https://pcpress.rs/ab-soft-hr-moduli/
8. http://php.com.hr/77
9. http://www.oblakznanja.com/2013/04/html-dokument-i-osnove-html-jezika/
10. http://sr.magma.rs/blog/mysql/sta-je-to-mysql
11. http://www.tippingpoint.rs/faq-items/sta-je-to-mysql/
12. http://www.itextreme.org/software/27-notepadplusplus#.WZSkq9FLfIU
13. http://www.mikroknjiga.rs/slike2/86-7991/PHP-i-MySQL_Dod_A.pdf
14. file:///C:/Users/sahsk/AppData/Local/Temp/7.%20Upravljanje%20poslovnim
%20procesima%20(BPM).pdf
15. http://www.vps.ns.ac.rs/Materijal/mat22118.docx
16. http://autopoiesis.foi.hr/wiki.php?name=KM+-
+Tim+12&parent=NULL&page=model%20podataka

26

You might also like