You are on page 1of 40

Факултет инжењерских наука

Универзитета у Крагујевцу

Радмила С. Гиговић

Развој апликације која симулира рад са базом


података компаније за летове у Јава
окружењу

дипломски рад

Крагујевац, 2022.
Факултет инжењерских наука
Универзитета у Крагујевцу

Назив студијског програма: Рачунарска техника и софтверско


инжењерство
Ниво студија: Основне академске студије
Модул:
Предмет: Пројектовање информационих система и база података
Број индекса: 660/2017

Радмила С. Гиговић

Развој апликације која симулира рад са базом


података компаније за летове у Јава
окружењу

дипломски рад

Комисија за преглед и одбрану:


1. др Александар Ђорђевић - ментор
2. ________________________________ Датум одбране:______________
3. ________________________________ Оцена:_____________________

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

Резиме: Задатак овог пројектног рада био је направити симулацију информационог


система компаније за летове уз помоћ базе податка и тиме приказати неке од
најосновнијих операција које су неизоставне при процесу резервције свих авио карата.
Идеја пројекта била је направити систем који би био примењив искључиво запосленима у
компанији, не и екстерним корисницима. Запосленима је омогућено резeрвисање жељене
авио карте, додавање, ажурирање и брисање свих летова као и путника из базе података.
Такође, oвим радом приказано је и понашање система помоћу UML дијаграма.
Реализација пројекта извшена је помоћу програмског језика Јава.

Кључне речи: програмски језик Јава, информациони систем, авио компанија, UML
дијаграми

4
1. Увод

Уз подршку информационих технологија обрада података на традиционалан начин,


писаним путем, скоро је у потпуности замењена савременим софтверским системима.
Управо тај случај догодио се у авио индустрији у којој је рачунар постао круцијална ствар
без које се не могу завршити ни најједноставнији процеси. Користе се за резервисање
карата, планирање летова, заказивање авиона и посаде, контролу летова, детекцију
аномалија на авионима као и за многе друге процесе. Од резервације карата па све до
самог дизајна и производње авиона, рачунари имају огромну улогу и помогли су да авио
компаније буду много ефикасније него раније. Успон персоналних рачунара и интернета
дао је путницима потпуну контролу над резервисањем сопствених летова, онлајн
плаћањем, чекирањем као и штампањем сопствених карата.

Организациона структура традиционалних авио компанија деценијама је функционална.


Такав модел и даље представља добро решење за оне авио компаније које за већину
функција користе екстерне услуге и сами од себе пружају ограничен број могућности
корисницима. Таква структура обично је заступљена код мањих, такозваних lowcost
коппанија. Међутим, све брже развијање информационих технологија носи са собом
сталне иновације, већи фокус на путнике, флексибилније пословне процесе као и брже
одговоре на захтеве путника. Због тога, авио компаније стално усвајају нове
организационе моделе у којима постоје засебне пословне јединице које самостално доносе
одлуке и сносе одговорности за своје пословање управо да би се одржали на тржишту и
изборили се са конкурентним компанијама.

Циљ овог пројектног задатка јесте да се помоћу корисничког интерфејса запосленом у


авио компанији омогући управљање подацима као и манипулисање процесима који се
догађају у једној таквој компанији. За потребе евиденције рада авио компаније, потребно
је креирати софтверски систем који ће омогућити ефикасну и лаку евиденцију летова,
путника, авиона и резервација. Главни корисник овог система је запослени. Да би
запослени могао да врши промене над подацима у систему он првобитно мора бити
пријављен на систем. Пријава се врши уношењем email-а и лозинке који су му додељени
од стране админа. Админ има могућност једино да направи налог новом запосленом, а то
може учинити само уколико поседује приступни код за приступ том делу апликације.

Софтверски систем треба да води евиденцију о путницима који желе да користе услуге
авио компаније тако да обезбеди унос нових путника, измену података о постојећим
путницима, брисање путника из система као и претраживање путника према одређеним
критеријумима. Такође, на исти начин потребно је обезбедити евиденцију актуелних
летова и авиона. Одабиром дестинације као и путника који ће користити услугу авио
компаније запослени има могућност да креира резервацију као и да одштампа карту која
садржи све потребне информације о лету.

5
1.1. Информациони системи

Информациони систем је систем у коме се везе између објеката и везе између система са
околином остварују разменом информација. Развојем информационог система треба
дефинисати што објективнију слику реалног света, његових бивших и садашњих стања,
као подлогу за процену будућег понашања и подлогу за даљи развој и примену
информатичке технологије. [3]
Циљ информационог система је обрада прикупљених података у информације ради
њихове трансформације у пословну намену. Основне функционалности информационог
система су прикупљање, обрада, дистрибуција и архивирање информација. [1]

 Прикупљање података подразумева одговор на питања којим се изворима систем


служи и на који начин се врши припрема и уношење истих;

 Обрада података подразумева обраду података у складу са захтевима корисника.


Путем разних операција ови подаци се трансформишу , сажимају или расчлањују;

 Архивирање информација је неопходна функција како би касније коришћење истих


података било могуће;

 Дистрибуција подразумева могућност достављања свих обрађених података


корисницима;

Слика 1 - Информациони систем у предузећу-трансформација података у информације

6
Развој информационих система изводи се у четири фазе а то су:

 Функционално моделирање- треба да омогући постављање модела односно дефинисање


студије која конципира реинжењеринг пословних процеса;

 Информационо моделирање –треба да омогући дефинисање системске документације,


бољу комуникацију међусобно и са крајњим корисницима, јасна пословна правила и
логичку слику базе података;

 Апликативно моделирање – треба да омогући пројектантима базе података да физички


креирају ефикасну базу података;

 Имплементација – увођење, тестирање и одржавање будућег корисничког интерфејса;

1.2. Компоненте информационих система

Иако коришћење рачунара само по себи не креира конкурентну предност компаније,


информациони систем доприноси њиховом успеху повезивањем пословне стратегије,
информационе технологије и кадрова.

Значајне компоненте информационог система чине хардвер, софтвер, телекомуникације,


базе података, људски ресурси и процедуре (Табела 1).

Табела 1 – Основне компоненте информационог система

Компонента Опис Карактеристике


Хардвер Рачунари Сервери, радне станице, PC,
инфраструктурна опрема
Софтвер Скуп програма Системски софтвер и апликативни
софтвер
Базе података Организовани скупови Једној или више база података се
података приступа посредством апликативног
софтвера
Телекомуникације Локалне и глобалне Мрежну опрему чине модеми, везе,
мреже за електронску пратећа опрема и софтвер
размену информација
Људски ресурси Специјализован и Укључује и крајње кориснике који
обучен кадар професионално користе рачунар
Процедуре Спецификације Корисничка и техничка упутства,
коришћења и приручници
одржавање

7
1.3. Информациони системи у авио компанијама

Северноамеричке авио-компаније заслужне су за настанак компјутерских резервационих и


глобалних дистрибуционих система. Увођењем млазних авиона у путнички саобраћај 1959.
године, настали су компјутерски резервациони системи који су се показали веома
практичним. Њихова појава довела је до тога да су цене снижене, а менаџмент авио
компанија је унапредио пословне операције кроз флексибилан приступ формирања цена и
већу транспарентност.

Овакви системи најпре су инсталирани на продајним местима авиокомпанија а касније су


уведени и у путничке агенције. Компјутерски резервациони системи показали су се веома
практичним тако да су у њих седамдесетих година укључене хотелске и rent-a-car
резервације. На овај начин, путнику су се пружале све информације и комплетна услуга на
једном месту. Како су тада, као и данас, захтеви путника све више расли, дошло је до
обједињења резервационих система у национални систем једне земље који је обједињавао
понуду једне земље.

Информациони и комуникациони системи омогућавају авио компанијама да ефикасно


реагују на све промене као и да прикупе све потребне информације како би се најбоље
одредиле цене летова, колико ће одређени летови бити учестали у зависности од
потражње као и да се испланира посада у авиону

У данашње време, информациони системи авио компанија донели су огромна побољшања


у компанијама, њихово пословање као и пружање услуга потенцијалним путницима јако
се побољшало са развојем ИС-а. Такође, са развојем информационих система у
компанијама развијали су се и одређени сегменти као што је контрола летова која
тренутно ради на предвиђању да ли ђе се догодити неки квар на авиону звог спољашних
фактора, како би се авион на време и безбедно спустио на тло.

Информациони системи у авио компанијама се генерално могу класификовати у четири


групе:

 Airline Management Solutions – обухвата решења која помажу у планирању и


контроли ресурса као што су авиони, чланови посаде и други.;

 Passenger Airline Solutions – обухвата процесе продаје електронских карти,


чекирање;

 Airline Operations Solutions –обухвата операције везане за све аспекте планирања


летова;

 Supplementary Airline Solutions – обухвата решења о одржавању и поправљању


авиона;

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-у.

Swing представља скуп програмских компоненти које пружају могућност креирања


компоненти графичког корисничког интерфејса (eng. Graphical User Interface-GUI). Он је
развијен како би обезбедио софистициранији скуп GUI компоненти у односу на ранији
стандардни комплет алата AWT. За разлику од AWT компоненти, Swing компоненте се не
имплементирају помоћу кода који је специфичан за одређену платформу већ су у потпуно
написане на Јави и стога су независне од платформе на којој се користе. Неке од
компоненти које Swing нуди приказане су на следећој слици.

Слика 2- Swing компоненте за креирање графичког корисничког интерфејса

9
За потребе овог пројектног рада коришћен је софтверски пакет WAMP који служи да
симулира рад интернет сервера који је повезан за базом података, те је тако могуће
тестирати да ли све функционалности које су повезане са базом података раде. У оквиру
WAMP-а коришћен је алат phpMyAdmin који је намењен управљању и адиминистрацији
MySQL-а преко интернета. Такође, phpMyAdmin пружа могућност покретања SQL израза
према бази података. Као база података коришћен је управо MySQL.

JDBC је Јава API (eng. Application Programming Interface) за базе података базиране на
SQL језику. Помоћу класа из овог пакета могу се извршавати SQL наредбе и
манипулисати се резултатима добијеним на основу тих наредби.

Слика 3- Део кода задужен за конекцију са базом података

На претходној слици приказан је део кода задуженог за учитавање JDBC драјвера и


успостављање везе са базом података.

3. Захтеви система
У почетку је потребно одредити захтеве система, шта тачно систем треба да ради, са којим
подацима, и шта треба на крају да производи. Прикупљање захтева од корисника, као
почетна фаза развоја неког софтверског система представља и кључни део саме изградње
софтверског система. Софтверски систем се састоји од атибута и системских операција.
Атрибути описују структуру система, а системске операције описују понашање система и
престављају основне (атомске) функције. [1]

Захтеви представљају својства и услове које систем или шире гледајучи пројекат мора да
задовољи. Захтеви могу бити вазани за функционалност (eng. Functional), поузданост
(eng.iReliability),iперформансеi(eng.iPerformance),пподрживостп(eng.iSupportability)iи
употребљивост (eng. Usability).

10
3.1. Контекстни дијаграм

IDEF0 је графички језик који описује методу функционалне декомпозиције преко скупа
дијаграма. Постоје три врсте његовог приказа а то су : графички , тексутални и речник.
Функционално моделирање омогућује извршење функционалне декомпозиције и дизајна
на свим нивоима.

Контекстни дијаграм је највиши ниво апстракције који се декомпозиционим дијаграмима


преводи у ниже нивое апстракције. [3] Дефинисан је правоугаоником и у том систему и ван
њега теку информације приказане стрелицама. Стрелице на левој страни правоугаоника
представљају улазе који се користе у систему (слика 4).

Слика 4 – Контекстни дијаграм – активности

 У овом систему улази су захтев путника за одређени лет, подаци о путнику, подаци
о запосленом као и критеријуми претраге;

 Стрелице на горњој страни правоугаоника су контроле или услови извођења


активности. У овом систему то су лиценца за рад авио компаније, поступак
резервације као и правилник о наплати карата;

 Стрелице на десној страни правоугаоника дефинишу излазе, тј. резултате извођења


активности. У овом случају то су резервација, извештај о свим извршеним
резервацијама и појединачне штампане карте за путнике;

 Стрелице на доњој страни правоугаоника су механизми, нешто што се користи у


активности али се не мења. У овом систему то су клијенти, запослени, админ и
SUBP. За информациони систем авио компаније активност дијаграма контекста је
названа авио компанија. Шема дијаграма контекста приказана је на следећој слици.

11
Слика 5 – Контекстни дијаграм

Дијаграм контекста за информациони систем авио компаније приказан је на претходној


слици. Приказани су сви улази, излази, механизми и контроле.

3.2. Декомпозициони дијаграм

Дефинисањем декомпозиционог дијарама успостављају се хоризонталне везе између


послова у авио компанији који су истог нивоа, а самим тим се дијаграм контекста преводи
у нижи ниво апстракције. Стрелице у оквиру декомпозиционог дијаграма омогућавају
хоризонтало повезивање дефинисаних послова. Свака подактивност активности „Ис авио
компаније “ ће такође бити даље декомпонована, што је у наставку приказано. [2]

Слика 6 – Први ниво декомпозиције дијаграма контекста

12
Процеси дефинисани првим нивоом декомпозиције дијаграма контекста су регистрација
запослених, пријава, уношење информација о летовима и путницима, претрага летова и
резервација. Процес пријаве запосленог је обавезан да би се систему могло приступити.
Процес регистрације је обавезан у случају да запослени није убачен у базу података.

Слика 7 – Декомпозиција процеса регистрације запосленог

Декомпозиција процеса регистрације запосленог приказана је на слици 7. Администратор


као улаз уноси податке о запосленом као што су име, презиме, идентификциони број а
потом уноси мејл и лозинку генерисане само за тог запосленог који ће му касније бити
додељени зарад могућности пријаве на систем. Да би се направио нови налог за
запосленог, подаци прво морају бити верификовани. Провером да ли се запослени са тим
идентификационим бројем већ налази у бази података подаци се верифијују и админ
може наставити са уношењем података и прављењем новог налога. Сав рад
администратора мора бити по правилима које та авио компанија поштује.

Након што је у базу података унешен макар један запослени, може се прећи на следећи
корак односно пријаву запосленог на систем. Након уношења одговарајућих података од
стране запосленог, мора се проверити валидност управо тих података. Проверава се да ли
креденцијални за пријаву одговарају оним који се налазе у бази података. Уколико се
подаци поклопе, запослени аутоматски добија приступ систему и могућност да
манипулише подацима. На слици 7 приказана је декомпозиција процеса пријаве
запосленог.

13
Слика 8 – Декомпозиција процеса пријаве
Следећи описани процес јесте декомпозиција процеса уношења података. Након дозволе
запосленом да манипулише подацима, он може додавати одређене податке у базу
података. Ти подаци јесу информације о путницима у које спадају име путника, презиме,
адреса становања, број пасоша, број телефона и слично. Након тога, запослени може у
базу додавати све авионе који су у том тренутку доступни да се користе за одређене
летове , као и да креира нове дестинације односно летове.

Нови лет садржи информације о полазном и долазном аеродрому, датуму поласка,


времену полетања и слетања авиона, цени лета као и информације о авиону који ће се
користити за изабрани лет.

Након тога, процес би могао даље да се декомпонује на сличан начин додавањем


смештајних јединица расположивих за дату дестинацију које би садржале информације о
називу хотела или апартмана, које додатне погодности има, који типови соба постоје и
слично.
Такође, запослени би могао да додаје информације о аутомобилима који су доступни за
изнајмљивање током боравка путника у одређеној земљи, колико седишта поседује, која
му је

потрошња и слично. Тај процес декомпозиције приказан је на слици 9.


Слика 9 – Декомпозиција процеса уношења података

Након што би запослени унео податке о путницима, летовима као и смештајним


јединицама и аутомобилима за рентирање прелази се на процес декомпозиције за случај
претрагe летова. У овом случају као улаз имамо све већ унешене податке у базу као и
критеријум претраге. У зависности да ли се врши претрага летова, смештаја или
аутомобила, запослени би у тражено поље унео неки од података за претрагу. Летови се
могу претраживати по месту поласка и жељеном месту доласка, док би се смештај могао
претраживати по расположивости, локацији или цени. У овом случају, у апликацији је
приказан само део задужен за летове, искључујући смештај и аутомобиле.

14
Слика 10– Декомпозиција процеса претрага летова

Након извршене претраге и затим бирања лета, смештаја, аутомобила као и путника који
ће користити те услуге прелази се на процес декомпозиције за случај резервације. У овом
случају, мора се пратити процедура резервације а запослени има улогу да потврди сваку
од изабраних ставки и тако направи резервацију, Као излаз из сустема добијамо коначну
резервацију, листу свих резервација као и пдф карту. Декомпозиција процеса резервација
лета дата је на слици број 11.

Слика 11– Декомпозиција процеса резервација лета

Након добијања резервације за лет и смештај, као и потврде за изнајмљивање аутомобила,


путник добија пдф или одштампану карту са свим иформацијама. То би био крај
декомпозиције ових процеса јер су се успешно добили излази система који су дефинисани
на почетку.

15
3.3. Стабло активности

Активности и подактивности које су хијерархијски вертикално постављене представљају


једно стабло активности. Корен стабла односно највиши чвор садржи полазну активност
која се зове ИС авио компаније, док листови то јест чворови који немају потомке садрже
активности који се једноставно и лако решавају. Решавањем свих подређених активности
из листова решена је и полазна активност.

Слика 12 – Приказ општег облика стабла активност

Надређена активност је родитељ, а подређене активности су деца. Подређене активности


су регистрација запослених, пријава запосленог, уношење доступних летова, авиона и
путника, претрага летова и резервација.

 Прва подактвност је регистрација запослених, која подразумева креирање профила


запосленог уз који му се додељују креденцијали за пријаву помоћу којих ће моћи
да приступи апликацији и започне рад. Ова овлашћења има искључиво
администратор апликације, који би представљао техничку подршку.

 Следећа подактивност јесте пријава запосленог на систем која се врши уношењем


валидних податка у поља за пријаву. Након пријаве запослени добија дозволу за
приступ систему и самим тим дозволу за манипулисање подацима о летовима,
путницима и слично.

 Подактивност уношење доступних летова, авиона и путника подрзумева унос


података у базу од стране запосленог. У разговору са клијентом, запослени уноси
личне податке путника и тако га смешта у базу. Такође, запослени има могућност
да дода, измени или обрише било који податак о путнику, лету и сл.

 Подактивност претрага летова подразумева претраживање жељене дестинације као


и уношење полазног аеродрома (града). Након уношења градова које путник
захтева, запосленом се приказују понуде које су активне и одговарају задатом
критеријуму. Запослени у договору са клијентом бира једну од понуђених
могућности и тако прелази на следећу подактивност.

16
 Следећа подактивност јесте резервација лета. Запослени у том случају мора да
одабере путника и лет који је путник изабрао. Подаци се аутоматски спајају и
сачињавају резервацију са свим потребним информацијама у вези путовања.

Слика 13– Приказ стабла активности

Све активности и подактивности приказане су на слици изнад. Подактивност резервација


садржи информације о резервисаном лету, резервисаном смештају и резервисаном
аутомобилу који ће се користити. Стабло активности представља хијерархију
дефинисаних активности, очишћену од стрелица, и омогућује функционалну
декомпозицију и увид у дубину одвијања веза између активности.

17
4. ЕР дијаграм
Моделовање реалног система започиње са идентификовањем ентитета, и атрибута који их
описују а затим се одређују везе између постојећих ентитета. Везе одређују на који начин
су повезани одређени објекти, а кардиналност релације се представља минималним и
максималним бројем примерака ентитета са којима један примерак неког ентитета може
да буде у вези, између примерака тих ентитета. [5]

4.1. Ентитети

У систему су идентификовани следећи ентитети:

 Лет

Слика 14 – ЕР дијаграм ентитета лет

Ентитет лет поред свог идентификатора садржи ингормације о имену лета, времену
поласка са аеродорма, времену доласка односно слетања, цену, полазни аеродром као и
датум поласка - слика 14.

 Путник

Информације које описују путника јесу име, презиме, број телефона, адреса становања,
број пасоша, пол као и идентификациони број - слика 15.

Слика 15 – ЕР дијаграм ентитета путник

18
 Авион

Слика 16 – ЕР дијаграм ентитета авион

На слици број 16 приказан је ентитет авион са атрибутима име, број седишта и шифра.

 Аутомобил

Слика 17 – ЕР дијаграм ентитета аутомобил

 Смештај

Слика 18 – ЕР дијаграм ентитета смештај

Ентитет аутомобил описан је атрибутима име аутомобила, шифра, годиште као и цена најма по
дану. Опис ентитета смештај дат је атрибутима име смештаја, тип, цена као и идентификациони
број смештаја - слике 17 и 18.

 Запослени

Ентитет запослени описан је атрибутима лозинка, мејл адреса, име, презиме као и
идентификационим бројем. Приказ ентитета запослени дат је на - слици 19.

19
Слика 19– ЕР дијаграм ентитета запослени

На слици број 20 дат је скуп ентитета са по једним аутрибутом - резервација, дестинација, карта и
админ .

Слика 20 – ЕР дијаграми ентитета резервација, дестинација, карта и админ

4.2. Везе
Следи опис веза које међусобно повезују све ентитете модела разматраног система:

1) Веза админ - запослени

Слика 21– ЕР дијаграм који приказује везу админ-запослени

Админ мора да направи бар један налог за запосленог док налог једног запосленог мора
бити направљен од стране само једног админа.

20
2) Веза дестинација - лет

Једна дестинација садржи само један лет док се један лет може садржати у више
дестинација –слика 22.

Слика 22 – ЕР дијаграм који приказује везу дестинација-лет

3) Веза дестинација - авион

Слика 23 – ЕР дијаграм који приказује везу дестинација-авион

Као и за везу дестинација – лет, једна дестинација такође може имати само један авион
који ће обавити лет. Међутим неки од авиона који се налазе у власништву компаније,
односно у бази података у овом случају не морају никад летети, док се неки могу
користити за више летова-дестинација.

4) Веза запослени - дестинација

Слика 24 – ЕР дијаграм који приказује везу запослени – дестинација

21
Запослени мора понудити клијенту макар једну дестинацију, а може му понудити и више.
Одређена дестинација не мора бити понуђена никада а може бити понуђена клијенту и
много пута.

5) Веза путник - дестинација

Слика 25 – ЕР дијаграм који приказује везу путник – дестинација

Путник не мора изабрати ниједну од понуђених дестинација од стране запосленог, а ако


жели може изабрати само једну. Дестинација не мора бити изабрана ни од стране једног
путника, али може бити изабрана и више пута од стране различитих путника.

6) Веза запослени - резервација

Слика 26– ЕР дијаграм који приказује везу запослени – резервација

Запослени не мора формирати ниједну резервацију а може их формирати и више.


Резервација се може формирати од стране само једног запосленог.

22
7) Веза резервација - дестинација

Једна резервација може садржати само једну дестинацију, док се сама дестинација може
резервисати више пута за различите дестинације, али и не мора – слика 27.

Слика 27 – ЕР дијаграм који приказује везу резервација-дестинација

8) Веза резервација - путник

Слика 28 – ЕР дијаграм који приказује везу резервација-путник

Да би резервација постојала она мора садржати податке о путнику и може се креирати за


више путника. За путника (клијента) може и не мора бити формирана резервација.

9) Везе резервација – смештај и резервација-аутомобил

Резервација може садржати по једну смештајну јединицу и аутомобил за изнајмљивање,


али их ни не мора садржати. Смештај и аутомобил не морају бити никад резервисани, али
се могу резервисати и више пута за различите временске периоде.

Слика 29 –Везе резервација-смештај и


резервација-аутомобил

10) Веза резервација – карта

23
Слика 30 – ЕР дијаграм који
приказује везу резервација-карта

Одређена резервација формира само једну карту. Карта се формира или једном или више
пута за различите резервације.

4.3. Комплетан ЕР дијаграм

Слика 31 – Комплетан ЕР дијаграм

ЕР дијаграм са слике представља резултат анализе рада авио компаније. Одређени су сви
ентитети са њиховим атрибутима који их описују као и све везе које повезују те ентитете.
ЕР моделом дефинисани су оквири модела података.

24
5. UML дијаграми

Unified Modeling Language је стандардни графички језик за моделовање објектно-


орјентисаног софтвера, чија је стандардизација започета 1997. године од стране Object
Management Group (OMG) групе. Основни елементи су елементи, релације и дијаграми.
Циљ је да се представи комплетан систем , а не само софтверски део коришћењем
објектно-орјентисаних концепата. Анализа и решавање проблема на овакав начин има
многе предности.
Генерална класификација стандардних дијаграма јесте на

 статичке (дијаграми случајеваакоришћења,акласааиаобјеката)


 динамичке (дијаграмиастања,аактивности, секвенци, сарадње)
 физичке (дијаграм компонентии реализације) [4]

5.1. Дијаграм случајева коришћења

Дијаграм случајева коришћења приказује скуп случајева коришћења и актера. Користи се


да специфира фунцкионалност и понашање неког субјекта. Специфира шта субјекат ради
али не и како. Његови елемтенти су случајеви коришћења, актери, релације и пакети.
Захтеви представљају својства и услове које систем мора да задовољи. Захтеви се код
Лармана (eng. Larman) описују помоћу UML модела случаја коришћења (eng. Use-Case
Model). [2]
Сваки модел случаја коришћења описан је преко актера, сценарија, случаја коришћења и
веза између случаја коришћења и актера. Актер представља спољног корисника система.
Актери овог система јесу запослени, админ и клијент односно корисник. Сценарио
представља једно жељено коришћење система од стране актера и састоји се од акција.

Слика 32 – Дијаграм случајева коришћења

25
Актер админ има могућност да направи налог запосленом, док клијент односно путник
има могућност једино да одабере дестинацију коју жели. Запослени има више могућности,
а неке од њих су унос података о летовима, путницима и авионима, претраге истих,
креирање резервације, логовање на систем и слично. На слици 32 приказан је дијаграм
случајева коришћења за аеродром.

5.2. Дијаграм секвенци


Дијаграм секвенци користи се да специфицира интеракцију са околином, односно
комуникацију на нивоу класе. Вертикална оса представља хронолошки ред, а
хоризонтална интеракцију. Интеракција јесте понашање које обухвата скуп порука које се
размењују између скупа објеката, док је порука спецификација комуникације између
објеката која преноси информацију. Пријем поруке изазива акцију односно извршење
наредбе.

Понашање софтверског система се изводи из модела случајева коришћења. Такође, за


сваки случај коришћења се прави дијаграм секвенци који описује случај коришћења преко
објеката анализе. Системски дијаграм секвенци приказује, за издвојени сценарио случаја
коришћења, догађаје у одређеном редоследу, који успостављају интеракцију између
актера и софтверског система.

Догађај који направи актер је побуда за позив системске операције. То значи да актер не
позива системску операцију непосредно већ то чини преко посредника односно примаоца
догађаја. Позив системске операције указује на итеракцију између актера и система. За
догађај који представља побуду за позив системске операције се често каже да је то
системски догађај.

На следећој слици дат је дијаграм секвенци авио компаније.

26
Слика 33 – Дијаграм секвенци

27
6. Детаљан приказ апликације
Кориснички интерфејс дефинисан је преко скупа екранских форми. Сценарији коришћења
екранских форми директно су повезана са сценаријима случајева коришћења. Прозор који
се први отвара приликом покретања програма приказан је на следећој слици.

Слика 34 – Први прозор

У зависности која је потреба система, може се бирати једна од понуђених опција – админ
и запослени. Кликом на поље админ отвара се прозор за приступ делу система са
админским привилегијама – слика 35. Уколико је унешени код за приступ исправан
корисник ће добити потврду о успешном приступу и аутоматски ће бити преусмерен на
прозор за креирање новог налога запосленом. У зависности да ли је код за приступ тачан
или не, корисник ће добити поруку о одобреном приступу или о неисправном коду, са
могућношћу да покуша поново да се пријави. Искачуће поруке приказане су на слици 36.

Слика 35 – Приступ систему -админ

28
Слика 36 – Случајеви коришћења успешног и неуспешног приступа

Након успешног приступа, админу се отвара прозор за креирање новог налога запосленом
у чија поља треба унети податке као што су име запосленог, презиме, мејл адреса и
лозинка које ће касније користити за приступ систему, као и редни број запосленог. Овај
прозор приказан је на слици 37.

Слика 37– Креирање новог налога


Кликом на дугме креирај у бази података се проверава да ли већ постоји запослени под
унетим редним бројем. Уколико не постоји, подаци о новом запосленом ће успешно бити
унети у базу запослених и админ ће добити поруку о успешном креирању налога - слика
38.

Слика 38– Потврда успешног креирања налога

29
Кликом на дугме запослени са почетне форме, отвара се поље за пријаву запослених авио
компаније. Уколико се подаци за пријаву поклапају са подацима из базе, кликом на дигме
пријава запослени се логује на систем и добија све дозволе за рад.

Слика 39– Пријава запосленог на систем


Уколико корисник не унесе неки од података за пријаву а притисне дугме пријава, на
екрану ће му се приказати порука изнад поља које није попуњено као на слици 40. Такоће,
у зависности од тога да ли је пријава успешна или не, искочиће му једна од порука са
слике 41.

Слика 40– Пријава запосленог на систем- празно поље

30
Слика 41 – Пријава запосленог – случајеви коришћења

Након успешне пријаве запосленог, отвара се главни прозор који је приказан на следећој
слици.

Слика 42– Главни прозор

Са главог прозора запослени може кликом на поље авиони прећи на прозор који садржи
информације о авионима, додавање авиона, измену података о авионима као и брисање
авиона из базе.

Кликом на поље летови запослени бива преусмерен на прозор који се бави летовима
односно дестинацијама. Тада он добија могућност да направи нову дестинацију односно
да дода неки нови лет у базу а затим бирањем лета и бирањем авиона може креирати нову
дестинацију. Такође, запослени том приликом може мењати податке о летовима који су
већ унешени у базу података као и да обрише неки од летова. На овом прозору није
могућа манипулација подацима односно додавање, измена или брисање података о
авионима те да би то извршио запослени се кликом на дугме назад мора вратити на главни
мени, затим поново отворити прозор авиони где те измене може извршити.

Вративши се на главни мени, следећа операција коју запослени може извршити јесте
додавање нових путника у базу података. Овај процес замишљен је као ситуација где
клијент односно потенцијални путник разговара са запосленим и тим путем му даје личне
информације које запослени уноси у базу података.

31
Информације које путник даје запосленом јесу име, презиме, број пасоша, адреса
становања, број телефона и пол док запослени сам уноси идентификациони број
корисника при уношењу његових осталих података у базу. Такође, запослени и у овом
случају има могућност да измени неки од података о путнику ако је погрешно унешен или
ако је у међувремену измењен као и да обрише путника из базе података.

Кликом на поље резервација отвара се форма помоћу које запослени може креирати
коначну резервацију. Коначна резервација добија се у форми карте која садржи све
информације о путнику као и самом лету. Приликом отварања овог прозора запосленом су
приказане две попуњене табеле са свим информацијама о дестинацијама и о путницима. У
разговору са путником, запослени сазнаје која је његова жељена дестинација и прелази на
процес претраге летова који се поклапају са жељеном дестинацијом. Након што унесе
полазни и аеродром жељене дестинације кликом на дугме претражи излистаће се сви
летови који одговарају претрази. Уколико постоји више летова запослени ће приказати
путнику који су датуми расположиви, које цене и слично те ће путник одлучити која му
дестинација одговара. Након одабира дестинације, запослени кликом на дестинацију из
табеле бира дестинацију.

Следећи корак је брза претрага путника по броју пасоша. Постојала је опција одрадити
претрагу путника и по неким другим критеријумима али се број пасоша чинио као
најбоља опција јер је тај број јединствен и сигурно ће се у табели након претраге
приказати само тај један тражени путник. Да се претрага вршила рецимо по имену, у
табели би сигурно постојало више људи са истим именом те би се претрага путника
продужила док се у филтританој табели не нађе жељени путник.
Након одабира путника, запосленом је остало само да унесе број карте за одговарајућу
резервацију и затим да резервише карту. Након тога, може се вратити назад на главну
форму или може преузети карту у пдф формату,

Преузимање карте могуће је кликом на поље отказивање на главној форми или кликом на
дугме штампај карту на форми за резервацију. Кликом на неко од та два поља отвориће се
нова форма у којој запослени има две могућности - отказивање резервације као и
преузимање неке од карата како би је даље проследио путнику. У табели су првобитно
учитане све резервисане карте. Запослени уносом броја карте у поље за претрагу
проналази жељену карту. Након тога, он кликом на жељено дугме може извршити једну
од горе поменутих оперција.

Кликом на поље одјави се запослени се одјављује са система и поново се отвара поље за


пријаву другог запосленог.

На следећим страницама приказан је сваки од прозора понаособ. Кликом на авиони отвара


се прозор у коме запослени има могућност да дода, обрише или измени податке о
авионима који се у тој авио компанији користе при летовима. Након што се заврше све
промене везане за авионе, запослени се кликом на дугме назад враћа на почетни екран на
ком може изабрати шта следеће жели да ради. Прозор авиони приказан је на следећој
слици.

32
Слика 43– Прозор авиони

Кликом на поље путници из менија главног екрана, запосленом се отвара прозор у ком
може манипулисати подацима о путницима. Он има могућност да додаје, мења и брише
податке о путницима.

Слика 44– Прозор путници

33
У зависности од тога која је операција извршена, кликом на одређено дугме за додавање
путника, измену података о путницима или брисање података, запослени добија следеће
повратне поруке:

Слика 45 – Прозор путници – случајеви коришћења

Следећи прозор који ћемо описати јесте прозор летови који је приказан на следећој слици.

Слика 46 – Прозор летови

34
Запослени има могућност да креира нову дестинацију. То може извршити бирањем
жељеног лета и авиона који ће то обавити из табеле у којој су излистани сви летови и
авиони који се већ налазе у бази. Такође, може и сам додати нови лет у базу, уношењем
информација о имену лета, датуму и времену поласка, цени као и бирањем полазног и
долазног аеродрома из падајућег менија. Селектовањем жељеног лета из табеле, он може
ажурирати већ унете податке као и обрисати читав лет из базе.
Кликом на дугме сачувај, информације о дестинацији чувају се у бази податка док се
кликом на дугме назад запослени враћа на почетни екран.

Након што су сви потребни подаци унети у базу податка, запослени може прећи на
наредни корак односно на резервацију лета. Кликом на поље резервација отвара се
следећи прозор.

Слика 47 – Прозор резервација

Да би запослени направио резервацију, треба да одабере путника и дестинацију коју он


жели. Путник усменим путем треба да каже запосленом за шалтером где жели да путује.
Запослени затим у поља за претрагу уноси место одакле ће се путовати и жељену
дестинацију. Кликом на дугме претражи у табели испод приказаће се само летови који се
поклапају са претрагом. На наредним сликама биће приказана табела пре и након
примењене претраге.

35
Слика 48– Прозор резервација пре претраге лета

Слика 49– Прозор резервација након претраге лета

Следећа ставка је бирање путника за ког се резервација креира. Процес претраге путника
по броју пасоша приказан је на наредним сликама.

Слика 50– Прозор резервација пре претраге путника

36
Слика 51– Прозор резервација након претраге путника

Након бирања путника и дестинације аутоматски се попуњавају поља са десне стране


екрана помоћу којих запослени још једном може проверити са путником да ли су сви
унети подаци тачни и да ли му дестинација, цена и датум одговарају – слика 52.

Слика 52– Прозор резервација-попњен

Потребно је да запослени унесе и редни број карте и затим може резервисати карту.
Кликом на дугме штампај карту запослени се преусмерава на нови прозор приказан на
следећој слици.

Слика 53– Прозор отказивање - штампање

37
У поље за претрагу потребно је унети број карте коју путник жели да обрише или да
преузме. Кликом на дугме откажи, изабрана карта ће бити обрисана из базе података што
даље имплицира да је резервација отказана.

Кликом на дугме штампај карту генерише се пдф фајл са најбитнијим информацијама о


резервацији. Електронска карта садржи информације о месту поласка, месту доласка,
цени, датуму поласка, времену полетања и слетања као и број пасоша путника.
Одштампана карта приказана је на слици 54.

Слика 54– Електронска карта

Карта се аутоматски чува у фолдеру generate_pdf у оквиру пројекта. Она се по потреби може
модификовати како би садржала више података о самој карти али је овде приказан пример само
неколико података пренешених у овакав формат.

38
7. Закључак

Рад на имплементацији овог софтверског решења дао ми је прилику да стекнем увид у


предности које пружа овакав приступ у развоју софтверских решења. Израда апликације
која представља информациони систем авио компаније је првобитно подразумевала
упознавање са радом истих. Да би апликација заиста била функционална , односно да не
би била оскудна у функцијама које су неопходне за рад, било је потребно истражити на
интернету које су стварне потребе запослених у авио компанијама. Разумљив и прегледан
кориснички интерфејс јако је битан да би корисници односно запослени несметано могли
да користе апликацију. Омогућен је брз приступ подацима о путницима, летовима,
авионима и резервацијама али и претрага по разним критеријумима.

Иако оваква апликација има доста могућности, данашњи софтверски системи који се
користе у авио компанијама су много опширнији и развијани од стране многих стучњака
те није било места за претерано уношење иновација са моје стране јер су ти системи већ
развијени до најситнијих детаља. Управо ти системи су досегли нивое изузетне контроле
летова, препоручивања дестинација по многим захтевима које један клијент може имати,
контролу пртљага и слично. Међутим овакав пројекат би свакако омогућио уштеду
времена, али и сигурност чувања података.

Оваква апликација подложна је многим изменама и додавању нових функционалности,


као и брисању функционалности које су непотребне или превазиђене. Потребе корисника
мењају се јако брзо, технологија напредује из дана у дан тако да је битно обезбедити
систем који је подложан управо тим променама-што овај систем јесте.

Неки од следећих процеса који би се могли имплементирати директно у апликацију а који


су у овом случају изостављени јесу конторле пртљага, препоручивање повратних летова,
препоручивање рута које су јефтиније, бирање седишта у авиону и слично. Додатака је
безброј јер као што је малопре поменуто, систем је већ развијен на високом нивоу. Такође
систем би се могао проширити са још екстерних корисника – потенцијалних путника- који
би могли сами онлајн да направе резервацију, претраже летове и слично.

Рад на овој апликацији подстакао ме је да истражим више о системима авио компанија,


као и да применим неке функционалности које раније нисам користила – што ће ми у
многоме помоћи у даљем раду.

39
8. Референце

[1] Влајић, С. (2011). Пројектовање софтвера (Скрипта), Катедра за софтверско


инжењерство, Београд
[2] Лазаревић, Б., Марјановић, З., Анчић, Н. & Бабарогић, С. (2003), Базе података,
Београд
[3] Вељовић, А. - Развој информационих система и базе података, Компјутер библиотека
[4] Сарачевић,M. (2011) - Објектно-оријентисано програмирање и модeловање,Нови Пазар
[5] Тешић, М. & Радивојевић, М. (2012)- Информационе технологије, Бања Лука
[6] Влајић, С., Савић, Д., Станојевић, В. (2008)- Пројектовање софтвера-Напредне Јава
технологије, Златни пресек
[7] Бајгорић, Н. (2012). Менаџмент информационих технологија, Сарајево
[8]Његуш, А. (2009). Пословни информациони системи, Београд

40

You might also like