Professional Documents
Culture Documents
Универзитета у Крагујевцу
Радмила С. Гиговић
дипломски рад
Крагујевац, 2022.
Факултет инжењерских наука
Универзитета у Крагујевцу
Радмила С. Гиговић
дипломски рад
2
Садржај
1. Увод.........................................................................................................................................5
1.1. Информациони системи.................................................................................................6
1.2. Компоненте информационих система..........................................................................7
2. Програмско окружење.........................................................................................................9
3. Захтеви система..................................................................................................................10
3.1. Контекстни дијаграм.....................................................................................................11
3.2. Декомпозициони дијаграм...........................................................................................12
3.3. Стабло активности........................................................................................................16
4. ЕР дијаграм.........................................................................................................................18
4.1. Ентитети.........................................................................................................................18
4.2. Везе.................................................................................................................................20
4.3. Комплетан ЕР дијаграм................................................................................................24
5. UML дијаграми..................................................................................................................25
5.1. Дијаграм случајева коришћења...................................................................................25
5.2. Дијаграм секвенци........................................................................................................26
6. Детаљан приказ апликације............................................................................................28
7. Закључак..............................................................................................................................39
8. Референце.............................................................................................................................40
3
Summary: The main task of this project was to make a simulation of the flight company
information system and to enable some of the fundamental operations which are necessary
during the airline tickets reservation process. The idea of the project was to create a system that
would be applicable only to employees of the company, not to external users. Employees are
enabled to book a flight for the desired destination, adding, updating and deleting all information
about flights as well as passengers from the database. This project also shows the behavior of the
system using UML diagrams and it is implemented using the Java programming language.
Key words: Java programming language, information system, flight company, UML diagrams
Кључне речи: програмски језик Јава, информациони систем, авио компанија, UML
дијаграми
4
1. Увод
Софтверски систем треба да води евиденцију о путницима који желе да користе услуге
авио компаније тако да обезбеди унос нових путника, измену података о постојећим
путницима, брисање путника из система као и претраживање путника према одређеним
критеријумима. Такође, на исти начин потребно је обезбедити евиденцију актуелних
летова и авиона. Одабиром дестинације као и путника који ће користити услугу авио
компаније запослени има могућност да креира резервацију као и да одштампа карту која
садржи све потребне информације о лету.
5
1.1. Информациони системи
Информациони систем је систем у коме се везе између објеката и везе између система са
околином остварују разменом информација. Развојем информационог система треба
дефинисати што објективнију слику реалног света, његових бивших и садашњих стања,
као подлогу за процену будућег понашања и подлогу за даљи развој и примену
информатичке технологије. [3]
Циљ информационог система је обрада прикупљених података у информације ради
њихове трансформације у пословну намену. Основне функционалности информационог
система су прикупљање, обрада, дистрибуција и архивирање информација. [1]
6
Развој информационих система изводи се у четири фазе а то су:
7
1.3. Информациони системи у авио компанијама
8
2. Програмско окружење
За израду овог задатка коришћен је програмски језик Јава и интегрисано развојно
окружење Eclipse. Eclipse платформа се може користити за развој богатих клијентских
апликација, интегрисаних развојних окружења и других алата. Платформа може бити
употребљена као интегрисано развојно окружење за било који програмски језик за који
постоји расположив plug-in.Управо програмско окружење Eclipse коришћено је за израду
графичког корисничког интерфејса уз помоћ WindowBuilder–a и Swing-а.
Eclipse имплементира графичке контролне елементе Јава алата који се зове стандардни
комплет алата за виџете SWT (eng. Standard Widget Toolkit) , док већина Јава апликација
користи стандардни пакет алата AWT (eng. Abstract Window Toolkit) или Swing. Eclipse-ов
кориснички интерфејс такође користи слој графичког корисничког интерфејса који се зове
JFace, који поједностављује конструкцију апликација заснованих на SWT-у.
9
За потребе овог пројектног рада коришћен је софтверски пакет WAMP који служи да
симулира рад интернет сервера који је повезан за базом података, те је тако могуће
тестирати да ли све функционалности које су повезане са базом података раде. У оквиру
WAMP-а коришћен је алат phpMyAdmin који је намењен управљању и адиминистрацији
MySQL-а преко интернета. Такође, phpMyAdmin пружа могућност покретања SQL израза
према бази података. Као база података коришћен је управо MySQL.
JDBC је Јава API (eng. Application Programming Interface) за базе података базиране на
SQL језику. Помоћу класа из овог пакета могу се извршавати SQL наредбе и
манипулисати се резултатима добијеним на основу тих наредби.
3. Захтеви система
У почетку је потребно одредити захтеве система, шта тачно систем треба да ради, са којим
подацима, и шта треба на крају да производи. Прикупљање захтева од корисника, као
почетна фаза развоја неког софтверског система представља и кључни део саме изградње
софтверског система. Софтверски систем се састоји од атибута и системских операција.
Атрибути описују структуру система, а системске операције описују понашање система и
престављају основне (атомске) функције. [1]
Захтеви представљају својства и услове које систем или шире гледајучи пројекат мора да
задовољи. Захтеви могу бити вазани за функционалност (eng. Functional), поузданост
(eng.iReliability),iперформансеi(eng.iPerformance),пподрживостп(eng.iSupportability)iи
употребљивост (eng. Usability).
10
3.1. Контекстни дијаграм
IDEF0 је графички језик који описује методу функционалне декомпозиције преко скупа
дијаграма. Постоје три врсте његовог приказа а то су : графички , тексутални и речник.
Функционално моделирање омогућује извршење функционалне декомпозиције и дизајна
на свим нивоима.
У овом систему улази су захтев путника за одређени лет, подаци о путнику, подаци
о запосленом као и критеријуми претраге;
11
Слика 5 – Контекстни дијаграм
12
Процеси дефинисани првим нивоом декомпозиције дијаграма контекста су регистрација
запослених, пријава, уношење информација о летовима и путницима, претрага летова и
резервација. Процес пријаве запосленог је обавезан да би се систему могло приступити.
Процес регистрације је обавезан у случају да запослени није убачен у базу података.
Након што је у базу података унешен макар један запослени, може се прећи на следећи
корак односно пријаву запосленог на систем. Након уношења одговарајућих података од
стране запосленог, мора се проверити валидност управо тих података. Проверава се да ли
креденцијални за пријаву одговарају оним који се налазе у бази података. Уколико се
подаци поклопе, запослени аутоматски добија приступ систему и могућност да
манипулише подацима. На слици 7 приказана је декомпозиција процеса пријаве
запосленог.
13
Слика 8 – Декомпозиција процеса пријаве
Следећи описани процес јесте декомпозиција процеса уношења података. Након дозволе
запосленом да манипулише подацима, он може додавати одређене податке у базу
података. Ти подаци јесу информације о путницима у које спадају име путника, презиме,
адреса становања, број пасоша, број телефона и слично. Након тога, запослени може у
базу додавати све авионе који су у том тренутку доступни да се користе за одређене
летове , као и да креира нове дестинације односно летове.
14
Слика 10– Декомпозиција процеса претрага летова
Након извршене претраге и затим бирања лета, смештаја, аутомобила као и путника који
ће користити те услуге прелази се на процес декомпозиције за случај резервације. У овом
случају, мора се пратити процедура резервације а запослени има улогу да потврди сваку
од изабраних ставки и тако направи резервацију, Као излаз из сустема добијамо коначну
резервацију, листу свих резервација као и пдф карту. Декомпозиција процеса резервација
лета дата је на слици број 11.
15
3.3. Стабло активности
16
Следећа подактивност јесте резервација лета. Запослени у том случају мора да
одабере путника и лет који је путник изабрао. Подаци се аутоматски спајају и
сачињавају резервацију са свим потребним информацијама у вези путовања.
17
4. ЕР дијаграм
Моделовање реалног система започиње са идентификовањем ентитета, и атрибута који их
описују а затим се одређују везе између постојећих ентитета. Везе одређују на који начин
су повезани одређени објекти, а кардиналност релације се представља минималним и
максималним бројем примерака ентитета са којима један примерак неког ентитета може
да буде у вези, између примерака тих ентитета. [5]
4.1. Ентитети
Лет
Ентитет лет поред свог идентификатора садржи ингормације о имену лета, времену
поласка са аеродорма, времену доласка односно слетања, цену, полазни аеродром као и
датум поласка - слика 14.
Путник
Информације које описују путника јесу име, презиме, број телефона, адреса становања,
број пасоша, пол као и идентификациони број - слика 15.
18
Авион
На слици број 16 приказан је ентитет авион са атрибутима име, број седишта и шифра.
Аутомобил
Смештај
Ентитет аутомобил описан је атрибутима име аутомобила, шифра, годиште као и цена најма по
дану. Опис ентитета смештај дат је атрибутима име смештаја, тип, цена као и идентификациони
број смештаја - слике 17 и 18.
Запослени
Ентитет запослени описан је атрибутима лозинка, мејл адреса, име, презиме као и
идентификационим бројем. Приказ ентитета запослени дат је на - слици 19.
19
Слика 19– ЕР дијаграм ентитета запослени
На слици број 20 дат је скуп ентитета са по једним аутрибутом - резервација, дестинација, карта и
админ .
4.2. Везе
Следи опис веза које међусобно повезују све ентитете модела разматраног система:
Админ мора да направи бар један налог за запосленог док налог једног запосленог мора
бити направљен од стране само једног админа.
20
2) Веза дестинација - лет
Једна дестинација садржи само један лет док се један лет може садржати у више
дестинација –слика 22.
Као и за везу дестинација – лет, једна дестинација такође може имати само један авион
који ће обавити лет. Међутим неки од авиона који се налазе у власништву компаније,
односно у бази података у овом случају не морају никад летети, док се неки могу
користити за више летова-дестинација.
21
Запослени мора понудити клијенту макар једну дестинацију, а може му понудити и више.
Одређена дестинација не мора бити понуђена никада а може бити понуђена клијенту и
много пута.
22
7) Веза резервација - дестинација
Једна резервација може садржати само једну дестинацију, док се сама дестинација може
резервисати више пута за различите дестинације, али и не мора – слика 27.
23
Слика 30 – ЕР дијаграм који
приказује везу резервација-карта
Одређена резервација формира само једну карту. Карта се формира или једном или више
пута за различите резервације.
ЕР дијаграм са слике представља резултат анализе рада авио компаније. Одређени су сви
ентитети са њиховим атрибутима који их описују као и све везе које повезују те ентитете.
ЕР моделом дефинисани су оквири модела података.
24
5. UML дијаграми
25
Актер админ има могућност да направи налог запосленом, док клијент односно путник
има могућност једино да одабере дестинацију коју жели. Запослени има више могућности,
а неке од њих су унос података о летовима, путницима и авионима, претраге истих,
креирање резервације, логовање на систем и слично. На слици 32 приказан је дијаграм
случајева коришћења за аеродром.
Догађај који направи актер је побуда за позив системске операције. То значи да актер не
позива системску операцију непосредно већ то чини преко посредника односно примаоца
догађаја. Позив системске операције указује на итеракцију између актера и система. За
догађај који представља побуду за позив системске операције се често каже да је то
системски догађај.
26
Слика 33 – Дијаграм секвенци
27
6. Детаљан приказ апликације
Кориснички интерфејс дефинисан је преко скупа екранских форми. Сценарији коришћења
екранских форми директно су повезана са сценаријима случајева коришћења. Прозор који
се први отвара приликом покретања програма приказан је на следећој слици.
У зависности која је потреба система, може се бирати једна од понуђених опција – админ
и запослени. Кликом на поље админ отвара се прозор за приступ делу система са
админским привилегијама – слика 35. Уколико је унешени код за приступ исправан
корисник ће добити потврду о успешном приступу и аутоматски ће бити преусмерен на
прозор за креирање новог налога запосленом. У зависности да ли је код за приступ тачан
или не, корисник ће добити поруку о одобреном приступу или о неисправном коду, са
могућношћу да покуша поново да се пријави. Искачуће поруке приказане су на слици 36.
28
Слика 36 – Случајеви коришћења успешног и неуспешног приступа
Након успешног приступа, админу се отвара прозор за креирање новог налога запосленом
у чија поља треба унети податке као што су име запосленог, презиме, мејл адреса и
лозинка које ће касније користити за приступ систему, као и редни број запосленог. Овај
прозор приказан је на слици 37.
29
Кликом на дугме запослени са почетне форме, отвара се поље за пријаву запослених авио
компаније. Уколико се подаци за пријаву поклапају са подацима из базе, кликом на дигме
пријава запослени се логује на систем и добија све дозволе за рад.
30
Слика 41 – Пријава запосленог – случајеви коришћења
Након успешне пријаве запосленог, отвара се главни прозор који је приказан на следећој
слици.
Са главог прозора запослени може кликом на поље авиони прећи на прозор који садржи
информације о авионима, додавање авиона, измену података о авионима као и брисање
авиона из базе.
Кликом на поље летови запослени бива преусмерен на прозор који се бави летовима
односно дестинацијама. Тада он добија могућност да направи нову дестинацију односно
да дода неки нови лет у базу а затим бирањем лета и бирањем авиона може креирати нову
дестинацију. Такође, запослени том приликом може мењати податке о летовима који су
већ унешени у базу података као и да обрише неки од летова. На овом прозору није
могућа манипулација подацима односно додавање, измена или брисање података о
авионима те да би то извршио запослени се кликом на дугме назад мора вратити на главни
мени, затим поново отворити прозор авиони где те измене може извршити.
Вративши се на главни мени, следећа операција коју запослени може извршити јесте
додавање нових путника у базу података. Овај процес замишљен је као ситуација где
клијент односно потенцијални путник разговара са запосленим и тим путем му даје личне
информације које запослени уноси у базу података.
31
Информације које путник даје запосленом јесу име, презиме, број пасоша, адреса
становања, број телефона и пол док запослени сам уноси идентификациони број
корисника при уношењу његових осталих података у базу. Такође, запослени и у овом
случају има могућност да измени неки од података о путнику ако је погрешно унешен или
ако је у међувремену измењен као и да обрише путника из базе података.
Кликом на поље резервација отвара се форма помоћу које запослени може креирати
коначну резервацију. Коначна резервација добија се у форми карте која садржи све
информације о путнику као и самом лету. Приликом отварања овог прозора запосленом су
приказане две попуњене табеле са свим информацијама о дестинацијама и о путницима. У
разговору са путником, запослени сазнаје која је његова жељена дестинација и прелази на
процес претраге летова који се поклапају са жељеном дестинацијом. Након што унесе
полазни и аеродром жељене дестинације кликом на дугме претражи излистаће се сви
летови који одговарају претрази. Уколико постоји више летова запослени ће приказати
путнику који су датуми расположиви, које цене и слично те ће путник одлучити која му
дестинација одговара. Након одабира дестинације, запослени кликом на дестинацију из
табеле бира дестинацију.
Следећи корак је брза претрага путника по броју пасоша. Постојала је опција одрадити
претрагу путника и по неким другим критеријумима али се број пасоша чинио као
најбоља опција јер је тај број јединствен и сигурно ће се у табели након претраге
приказати само тај један тражени путник. Да се претрага вршила рецимо по имену, у
табели би сигурно постојало више људи са истим именом те би се претрага путника
продужила док се у филтританој табели не нађе жељени путник.
Након одабира путника, запосленом је остало само да унесе број карте за одговарајућу
резервацију и затим да резервише карту. Након тога, може се вратити назад на главну
форму или може преузети карту у пдф формату,
Преузимање карте могуће је кликом на поље отказивање на главној форми или кликом на
дугме штампај карту на форми за резервацију. Кликом на неко од та два поља отвориће се
нова форма у којој запослени има две могућности - отказивање резервације као и
преузимање неке од карата како би је даље проследио путнику. У табели су првобитно
учитане све резервисане карте. Запослени уносом броја карте у поље за претрагу
проналази жељену карту. Након тога, он кликом на жељено дугме може извршити једну
од горе поменутих оперција.
32
Слика 43– Прозор авиони
Кликом на поље путници из менија главног екрана, запосленом се отвара прозор у ком
може манипулисати подацима о путницима. Он има могућност да додаје, мења и брише
податке о путницима.
33
У зависности од тога која је операција извршена, кликом на одређено дугме за додавање
путника, измену података о путницима или брисање података, запослени добија следеће
повратне поруке:
Следећи прозор који ћемо описати јесте прозор летови који је приказан на следећој слици.
34
Запослени има могућност да креира нову дестинацију. То може извршити бирањем
жељеног лета и авиона који ће то обавити из табеле у којој су излистани сви летови и
авиони који се већ налазе у бази. Такође, може и сам додати нови лет у базу, уношењем
информација о имену лета, датуму и времену поласка, цени као и бирањем полазног и
долазног аеродрома из падајућег менија. Селектовањем жељеног лета из табеле, он може
ажурирати већ унете податке као и обрисати читав лет из базе.
Кликом на дугме сачувај, информације о дестинацији чувају се у бази податка док се
кликом на дугме назад запослени враћа на почетни екран.
Након што су сви потребни подаци унети у базу податка, запослени може прећи на
наредни корак односно на резервацију лета. Кликом на поље резервација отвара се
следећи прозор.
35
Слика 48– Прозор резервација пре претраге лета
Следећа ставка је бирање путника за ког се резервација креира. Процес претраге путника
по броју пасоша приказан је на наредним сликама.
36
Слика 51– Прозор резервација након претраге путника
Потребно је да запослени унесе и редни број карте и затим може резервисати карту.
Кликом на дугме штампај карту запослени се преусмерава на нови прозор приказан на
следећој слици.
37
У поље за претрагу потребно је унети број карте коју путник жели да обрише или да
преузме. Кликом на дугме откажи, изабрана карта ће бити обрисана из базе података што
даље имплицира да је резервација отказана.
Карта се аутоматски чува у фолдеру generate_pdf у оквиру пројекта. Она се по потреби може
модификовати како би садржала више података о самој карти али је овде приказан пример само
неколико података пренешених у овакав формат.
38
7. Закључак
Иако оваква апликација има доста могућности, данашњи софтверски системи који се
користе у авио компанијама су много опширнији и развијани од стране многих стучњака
те није било места за претерано уношење иновација са моје стране јер су ти системи већ
развијени до најситнијих детаља. Управо ти системи су досегли нивое изузетне контроле
летова, препоручивања дестинација по многим захтевима које један клијент може имати,
контролу пртљага и слично. Међутим овакав пројекат би свакако омогућио уштеду
времена, али и сигурност чувања података.
39
8. Референце
40