Professional Documents
Culture Documents
ДИПЛОМСКИ РАД
ТЕМА: ВЕБ АПЛИКАЦИЈА ЗАЛИХЕ КОМПЈУТЕРСКЕ ОПРЕМЕ
Чачак, 2018.
Садржај
1. Увод.........................................................................................................................................................1
1.1 Кориснички захтеви.............................................................................................................................2
2. Опис система...........................................................................................................................................3
2.1 Опис случајева коришћења..................................................................................................................3
2.2 Качење докумената...............................................................................................................................4
2.3 Брисање производа са залиха(стања)..................................................................................................6
2.4 Измена стања........................................................................................................................................9
3. Опис архитектуре апликације..................................................................................................................12
3.1 Дијаграм класа....................................................................................................................................12
3.2 Структура базе....................................................................................................................................13
3.3 Спецификација REST API-ja..............................................................................................................14
4. Опис технологија коришћених у апликацији.........................................................................................18
4.1.HTML...................................................................................................................................................18
4.2.PHP......................................................................................................................................................20
4.3. AJAX(Asynchronous JavaScript and XML)........................................................................................21
4.4.JSON....................................................................................................................................................23
4.5.JavaScript.............................................................................................................................................23
4.6.Jquery...................................................................................................................................................25
5. Корисничко упуство – Опис карактеристичних случајева коришћења преко screenshot-ова
апликације.....................................................................................................................................................26
5.1 Администратор...................................................................................................................................30
6. Приказ репрезентативних делова кода...................................................................................................34
6.1 Конекција са базом.............................................................................................................................34
6.2 Header секција.....................................................................................................................................35
6.3 Регистрација........................................................................................................................................36
6.4 Подаци о графику................................................................................................................................37
6.5 Галерија слика.....................................................................................................................................38
7. Тестирање апликације..............................................................................................................................39
7.1 Обичан корисник................................................................................................................................39
7.2 Регистровани корисници....................................................................................................................41
7.2 Панел за администратора (SuperUser)..............................................................................................44
8. Закључак................................................................................................................................................47
Литература....................................................................................................................................................48
Веб апликација залихе компјутерске опреме
1. Увод
Може се рећи да је појава Интернета довела до револуције у многим сферама људског
деловања, међутим, вероватно највећи утицај интернет је имао у области развоја
глобалног пословног окружења. Информације, њихова доступност и брзина размене
представљају основу успешног пословања савремених предузећа, а интернет у том
контексту представља савршено средство за проналажење и дистрибуцију информација.
Сложене, дистрибуиране веб апликације постале су неопходне за опстанак и развој
савремених предузећа у условима глобалног, међународног тржишта.
У оквиру овог рада биће приказан развој веб апликације коришћењем интернет
технологија. У првом делу рада је приказан опис система, док је централни део поглавља
посвећен технологијама које су коришћене за израду саме апликације.
Други део рада обрађује архитектуру апликације. Будући да су релационе базе података
постале својеврсни стандард у домену перзистенције података, приказан је дијаграм класа
као и структуре коришћене базе података и њених табела.
1
Веб апликација залихе компјутерске опреме
2
Веб апликација залихе компјутерске опреме
2. Опис система
3
Веб апликација залихе компјутерске опреме
Основни сценарио:
4
Веб апликација залихе компјутерске опреме
Алтернативни сценарио:
5
Веб апликација залихе компјутерске опреме
Основни сценарио:
6
Веб апликација залихе компјутерске опреме
Алтернативни сценарио
7
Веб апликација залихе компјутерске опреме
8
Веб апликација залихе компјутерске опреме
Основни сценарио:
9
Веб апликација залихе компјутерске опреме
Алтернативни сценарио:
10
Веб апликација залихе компјутерске опреме
11
Веб апликација залихе компјутерске опреме
12
Веб апликација залихе компјутерске опреме
13
Веб апликација залихе компјутерске опреме
URL api/корисници
14
Веб апликација залихе компјутерске опреме
Пример:
[
{
"userID":"1",
"imePrezime":"Lazar Markovic",
"username":"lazar",
"password":"lazar",
"rola":"1"
},
{
"userID":"2",
"imePrezime":"Obican Korisnik",
"username":"korisnik",
"password":"korisnik",
"rola":"0"
},
{
"userID":"3",
"imePrezime":"test",
"username":"test",
"password":"test",
"rola":"0"
},
{
"userID":"4",
"imePrezime":"testapi",
"username":"api",
"password":"api",
"rola":"0"
},
{
"userID":"5",
"imePrezime":"testAPI2",
"username":"api2",
"password":"api2",
"rola":"0"
},
{
15
Веб апликација залихе компјутерске опреме
"userID":"6",
"imePrezime":"testapi3",
"username":"api3",
"password":"api3",
"rola":"0"
},
{
"userID":"7",
"imePrezime":"proba",
"username":"asdfg",
"password":"7p@?AToZ1BWL6.z",
"rola":"0"
}
]
URL api/стања
Пример:
[
{
"stanjeID":"4",
16
Веб апликација залихе компјутерске опреме
"prodavnicaID":"2",
"proizvodID":"1",
"kolicina":"35",
"vreme":"2018-08-04 10:26:29",
"nazivProdavnice":"WinWIN",
"adresa":"Vojvode Stepe 125",
"naziv":"Laptop Acer Aspire A315 Crni
15.6",Ryzen QC
R5-2500U/4GB/500GB/Radeon Vega 8",
"cena":"49990",
"opis":"Uz Inovativni AMD Ryzen™ 5
2500U Processor i Radeon™ Vega 8
Integrated Graphics Vaše svakodnevne
aktivnosti ćete obavljati sa lakoćom!",
"proizvodjac":"Lenovo",
"kategorijaID":"1",
"nazivKategorije":"A",
"minimalnaKolicina":"10",
"optimalnaKolicina":"50"
},
]
URL api/kategorije
"kategorijaID":"2",
"nazivKategorije":"B",
"minimalnaKolicina":"5",
"optimalnaKolicina":"20"
},
{
"kategorijaID":"3",
"nazivKategorije":"C",
"minimalnaKolicina":"2",
"optimalnaKolicina":"10"
}
]
1. HTML
2. CSS
3. PHP
4. AJAX
5. JSON
6. JavaScript
7. XML
8. JQuery
4.1.HTML
HTML језик је сачињен од обичног текста и тагова. Иако се HTML знакови (tags) често
називају кодом, технички HTML није код јер рачунарски код су инструкције које од
рачунара траже да изврши одређену операцију. Сврха HTML знакова је да се се структура
документа "означи" тако да би корисников агент (user agent), тј. интернет претраживач
могао да препозна структуру документа и исправно је прикаже у прозору интернет
претражевача којег корисник користи.
• DOM или Document Object Model, који означава везу између скрипте и елемента на
страници
Горњи додаци, у пакету са HTML језиком, понекад се називају DHTML или Динамични
HTML.
Сваки HTML документ мора почети тагом <html> и завршити се тагом </html>. HTML
документ садржи уобичајено два различита дела, head и body. Head садржи информације о
документу које се не приказују на екрану. Body садржи све остало што се приказује као
део веб странице.
19
Веб апликација залихе компјутерске опреме
HTML5 уводи многе нове синтаксне промене. Оне укључују нове <video>, <audio> и
<canvas> елементе, као и интеграцију SVG (Scalable Vector Graphics) садржаја (који
замењују коришћење <object> тагова). Ове карактеристике су дизајниране тако да лако
укључују и рукују мултимедијалним и графичким садржајем на веб-у без потребе
укључивања plug-in-ова и API-ја. Други нови елементи, као што су на пример <section>,
<article>, <header> и <nav> су креирани да обогате семантички садржај документа. Са
друге стране, неки елементи и атрибути су уклоњени, као на пример <font> и <center> који
су превазиђени коришћењем много моћнијег CSS-а. [6]
4.2.PHP
PHP је open source језик који се користи за развој server-sidе апликација, као и динамичког
веб садржаја. PHP дозвољава интеракцију са великим бројем релационих база података
као што су MySQL, Oracle, IBM D2, Microsoft SQL Server, PostgreSQL и SQLite. PHP ради
на већини оперативних система данашњице, као што су UNIX, Linux, Windows и Mac OS и
може да интерагује са већином Web сервера.
• компатибилан је са скоро свим серверима који се данас користе (Apace, IIS, итд. )
• клијент (корисник Интернета који користи неки браузер) захтева PHP страницу са
сервера
21
Веб апликација залихе компјутерске опреме
• не шаље његов садржај клијенту, него га извршава као програм помоћу PHP
модула
• излазни текст програма (стандардни излаз) се шаље клијенту као резултат захтева
• клијент препознаје врсту резултата (HTML код, слика, PDF садржај, архива итд.)
AJAX је скраћеница од “Asynchronous JavaScript and XML”. Термин AJAX први пут је
употребљен у фебруару 2005. године, када је Џеси Џејмс Гарет (Jesse James Garret),
дизајнер информационих система и директор компаније Adaptive Path, покушао да нађе
одговарајућу скраћеницу за групу технологија коју је предлагао свом клијенту.
Технологије потребне за постојање AJAX -а су постојале и ранијих година али је главни
разлог за слабију употребу свих техника коришћених у AJAX-у, недостатак подршке од
стране веб читача. Многи су годинама пре ње користиле сличне принципе, попут
Microsoft-овог Remote Scriptinga или веома раширеног DHTML-а. Најбитнија ствар која је
утицала на брз развој AJAX-а јесте тренутак на тржишту у којем су велики играчи
Интернет индустрије желели да тежиште коришћења рачунара пренесу са десктопа на веб
странице, за шта им је била потребна управо технологија.
Веб апликације имају бројне предности у односу на десктоп апликације. Веб апликације
досежу до већег броја људи, лакше се развијају, имплементирају и одржавају.
Највећи недостатак Веб апликација у односу на десктоп апликације је тај што су десктоп
апликације „богатије” у смислу функција и информација које нуде. Међутим, тај
недостатак је у великој мери отклоњен уз помоћ AJAX технологије.
Веб апликације су оне апликације чијом функционалношћу се управља преко веб сервера
и достављају се корисницима преко мреже као што је интернет или интранет. И поред
многоструких предности, класичне веб апликације имају одређене неостатке, када је у
питању интеракција са корисницима:
Пре свега, сваки пут када се учитава нова страница, постоји одређено време када
апликација «стоји». Веома често се приликом малих измена или захтева за деловима
странице, поново учитава цела страница, иако је највећи део нове странице у потпуности
идентичан са претходном.
У синхроном начину рада процеси се изводе секвенцијално. Између два процеса постоји
јаз који је једнак времену извођења другог процеса. Дакле, основни процес комуникације
између клијената и сервера може се описати на следећи начин: клијент шаље захтев ка
серверу, подаци се преносе ка серверу, сервер обрађује податке И затим их враћа клијенту.
Оно што је приметно са слике доле је да постоји временски интервал између прављења
захтева и одговора на исти.
За време тог интервала клијент чека, без могућности да прави нове затеве или настави
своје коришћење веб апликације. Може се закључити да код синхроног преноса података
не постоји могућност за елиминисање чекања зато што се процеси обављају један за
другим, чак и уколико за то нема потребе.[2]
4.4.JSON
23
Веб апликација залихе компјутерске опреме
у меморијском смислу мање захтеван од XML-а, што значи да JSON фајл са одређеним
подацима заузима мање меморијског простора од XML фајла са истим подацима.
• Уређена листа вредности. У већини језика, ово је реализована као низ, вектор,
листа или секвенца.
4.5.JavaScript
Објектно је заснован јер програмер не дефинише само тип података, него и врсту
операција (функција) које се могу примјенити на структуре података. На овај начин,
структура података постаје објекат који укључује и податке и функције. Поред тога,
програмери могу да креирају односе између једног и другог објекта. На пример, објекти
могу да придобију карактеристике од других објеката.
Рани скрипт језици су се често називали batch језици. Ово су неки скрип језици : ASP, JSP,
PHP, Perl, Tcl, Python итд.
Детекција прегледача -Одређује се тип прегледача који се користи при прегледу ваше веб
странице. Зависно од прегледача, може се приказати другачија страница посебно
дизајнирана за тај прегледник.
Контрола прозора -могу се контролисати димензије, мени, дугмад, време приказа итд.
4.6.Jquery
Jquery слоган „write less, do more“ доста говори – са једном линијом Jquery кода можете
позвати функционалности за које би вам требало много више рада и труда, ако би
користили класични JavaScript метод кодирања.
Jquery обухвата многе задатке који захтевају велики број линија JavaScript-а и омотава их
у методе које можете позвати са само једном линијом.
25
Веб апликација залихе компјутерске опреме
• HTML/DOM манипулација
• CSS манипулација
• Ефекти и анимације
• АЈАX
Додатно: Jquery поседује plugin-ovе са којима можете постићи готово сваки захтев који
замислите.
• једноставност употребе
26
Веб апликација залихе компјутерске опреме
Након успешне регистрације корисник иде на картицу „Log in“ где уноси username и
password и пријављује се.
28
Веб апликација залихе компјутерске опреме
29
Веб апликација залихе компјутерске опреме
30
Веб апликација залихе компјутерске опреме
5.1 Администратор
Мени након што се корисник улогује као админ. Омогућена му је измена и брисање
производа на стању као и додавање новог производа
31
Веб апликација залихе компјутерске опреме
32
Веб апликација залихе компјутерске опреме
33
Веб апликација залихе компјутерске опреме
6.3 Регистрација
Слика 27:Регистрација 1
Подаци се добијају спајањем табеле Proizvod и табеле Stanje преко спољног кључа
proizvodID.
37
Веб апликација залихе компјутерске опреме
Код који приказује како вршимо претрагу слика у галерији помоћу Flickr-овог апија.
7. Тестирање апликације
7.1 Обичан корисник
Стартовањем апликације отвара се почетна страна, где корисник има приступ прегледу
производа. Чекирањем категорије производи се сортирају по категорији.
38
Веб апликација залихе компјутерске опреме
Картица Galerija коринику даје могућност, да уносом имена одређеног модела добије
приказ изгледа одређеног производа. Кликом на дугме претражи корисник добија
резултате претраге.
39
Веб апликација залихе компјутерске опреме
40
Веб апликација залихе компјутерске опреме
41
Веб апликација залихе компјутерске опреме
42
Веб апликација залихе компјутерске опреме
43
Веб апликација залихе компјутерске опреме
45
Веб апликација залихе компјутерске опреме
46
Веб апликација залихе компјутерске опреме
8. Закључак
Услед све више корисника присутних на Интернету расте потражња за веб платформама
које ће корисницима омогућити лакши присуп информацијама. Применом веб технологија
омогућен је бржи и једноставнији приступ информацијама, боља комуникација са
корисницима и прикупљање повратних информација од корисника.
Тему овог рада изабрао сам желећи на неки начин да заокружим раније стечена
програмерска знања и искуства, али и у жељи да савладам неке нове технологије. Свакако
је данас највећи изазов свакоме ко се на било који начин бави информационим
технологијама да прати корак њиховог развоја и да се усавршава и усваја нове
технологије. Из тог разлога, изабрао сам технологије које се користе за развој веб
апликација, како би унапредио и проширио знања везана за веб технологије.
47
Веб апликација залихе компјутерске опреме
Литература
[1] Srđan Pantić: Uvod u Java Script, Beograd, 1997.
[2] Vladica Savić: AJAX – Asychronous JavaScript And XML (WEB 2.0 standarda)
[5] Bakardjieva, M:Internet Society. The Internet in Everyday Life, Sage, London, 2005.
48