Professional Documents
Culture Documents
Milos Trosic
Milos Trosic
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
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:
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.
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.
8
Evidencija naučnog fonda fakulteta
9
Evidencija naučnog fonda fakulteta
10
Evidencija naučnog fonda fakulteta
11
Evidencija naučnog fonda fakulteta
8. KORISNIČKO UPUTSTVO
12
Evidencija naučnog fonda fakulteta
13
Evidencija naučnog fonda fakulteta
14
Evidencija naučnog fonda fakulteta
15
Evidencija naučnog fonda fakulteta
9. Opis Implementacije
);
16
Evidencija naučnog fonda fakulteta
17
Evidencija naučnog fonda fakulteta
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);
}}
?>
<?php
session_start();
19
Evidencija naučnog fonda fakulteta
$loginusername=$_POST['korisnickoime'];
$loginpassword=$_POST['sifra'];
require 'delovi/kod_parametrikonekcijeOpstina.php';
if (!$db_handle) {
//echo "<br/>";
else
//echo "<br/>";
if (!$db_selected) {
//echo "<br/>";
else
//echo "<br/>";
20
Evidencija naučnog fonda fakulteta
if ($db_selected)
$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;
21
Evidencija naučnog fonda fakulteta
header ('Location:Welcome.php');
?>
<?php
$server = "localhost";
$user_name = "root";
$password = "";
$bazapodataka="naucnifond1";
?>
<?php
session_start();
//$korisnik=$_GET['korisnik'];
22
Evidencija naučnog fonda fakulteta
$IDZaposlenog=$_SESSION['IdZaposleni'];
if(isset($_POST['btnsnimirad'])){
$Namena=$_POST['Namena'];
$IznosNovca=$_POST['IznosNovca'];
$RokIsplate=$_POST['RokIsplate'];
$postoji =false
require 'delovi/klase/Konekcija.php';
$novaKonekcija->connect();
if ($novaKonekcija->konekcijaDB)
$bazapodataka = $novaKonekcija->nazivbaze;
require 'delovi/klase/ZahtevDB.php';
//$postoji = $noviZahtevDB->ProveriJedinstvenostZahteva($nazivrada);
//if (!$postoji){
$novizahtevDB>SnimiNoviZahtev($IDZaposlenog,$Namena,$IznosNovca,
$RokIsplate);
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";
}?>
24
Evidencija naučnog fonda fakulteta
ZAKLJUČAK
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