58481

Розробка програмного забезпечення (ПЗ) для інформаційної підтримки велодоріжок м. Хмельницький

Дипломная

Информатика, кибернетика и программирование

До ПЗ розроблено специфікацію вимог, що описує функціональні та нефункціональні вимоги до нього. На основі цієї специфікації та аналізу предметної області, а також вибраних технологій та засобів розробки, здійснено проектування ПЗ для інформаційної підтримки велодоріжок м. Хмельницький.

Украинкский

2014-06-10

16.04 MB

5 чел.

PAGE  4


АНОТАЦІЯ

Завданням бакалаврської кваліфікаційної роботи є розробка програмного забезпечення (ПЗ) для інформаційної підтримки велодоріжок м. Хмельницький.

В ході виконання завдання проведено аналіз предметної області – здійснено порівняльний аналіз найвідоміших картографічних сервісів, визначено їх переваги та недоліки.

До ПЗ розроблено специфікацію вимог, що описує функціональні та нефункціональні вимоги до нього. На основі цієї специфікації та аналізу предметної області, а також вибраних технологій та засобів розробки, здійснено проектування ПЗ для інформаційної підтримки велодоріжок м. Хмельницький.

Система спроектована за принципом SaaS. У якості сервера виступає будь-який віддалений хостинг який може надати обчислення та збереження даних у базі даних MySQL та виконання скриптів на базі PHP 5.0 та вищої версії. Також у реалізації ПЗ використовуються треті сервіси такі як Google Maps API v3, що мають візуальне відображення у вигляді карти як на клієнті так і здійснюють обчислення на серверній стороні компанії Google.

Для реалізації клієнта використовується технологія HTML5 + CSS3 із використанням принципів responsive design. Для інтерактивної передачі даних між клієнтом і сервером використовується скриптова мова JavaScript. Для спрощення операцій та надання сервісу інтерекативності також широко застосовувалися такі бібліотеки як jQuery Mobile та jQuery UI.

Завдання успішно виконано, і розроблене ПЗ може застосовуватись для інформаційної підтримки велодоріжок м. Хмельницький, для можливості складання маршрутів та обліку пройдених відстаней велосипедистами.

Загальний об’єм роботи 99 сторінок.


ABSTRACT

Qualifications Bachelor task is to develop the software ( software) for information support of bicycle paths Khmelnytsky.

During the analysis of the task domain - the comparative analysis of the most famous cartographic services identified their strengths and weaknesses .

The software requirements specification is developed that describes the functional and non-functional requirements for it . Based on the specification and analysis of the domain and the selected technologies and development tools by designing software promoted bicycle paths Khmelnytsky.

The system is designed on the principle of SaaS. As the server performs any remote hosting that can provide computing and storing data in a MySQL database and executing scripts based on PHP 5.0 and higher versions. Also, the implementation of the software used by others services such as Google Maps API v3, with visual display as a map on the client as well as carry out calculations on the server side of Google.

To implement the client using HTML5 + CSS3 technology using principles of responsive design. For interactive data transfer between client and server using a scripting language JavaScript. To simplify operations and provide service interekatyvnosti also widely used libraries such as jQuery Mobile and jQuery UI.

The task is successfully accomplished and developed software can be used to promoted bicycle paths Khmelnytsky, to enable compilation tracks and recording distance traveled cyclists .

Overall workload 99 pages.


ЗМІСТ

[1]
ВСТУП

[2] РОЗДІЛ 1. АНАЛІЗ НАЙВІДОМІШИХ КАРТОГРАФІЧНИХ СЕРВІСІВ.

[2.1] 1.1. Google Maps.

[2.2] 1.2 Bing Maps

[2.3] 1.3. WikiMapia

[2.4] 1.4. OpenStreetMap

[2.5] 1.5. NASA World Wind

[3] РОЗДІЛ 2. СПЕЦИФІКАЦІЯ ПЗ ДЛЯ ІНФОРМАЦІЙНОЇ ПІДТРИМКИ ВЕЛОДОРІЖОК м. ХМЕЛЬНИЦЬКИЙ ТА ПОСТАНОВКА ЗАДАЧІ РОБОТИ.

[3.1] 2.1. Постановка задачі та вибір структур даних.

[3.2] 2.2. Специфікація ПЗ для інформаційної підтримки велодоріжок.

[3.3] 2.3. Опис обраних технологій.

[4] РОЗДІЛ 3. ПРОЕКТУВАННЯ ПЗ ДЛЯ ІНФОРМАЦІЙНОЇ ПІДТРИМКИ ВЕЛОДОРІЖОК м. ХМЕЛЬНИЦЬКИЙ

[4.1] 3.1. Проектування загальної архітектури ПЗ

[4.2] 3.2. Розробка бази даних.

[5] РОЗДІЛ 4. ПРОГРАМНА РЕАЛІЗАЦІЯ ТА ТЕСТУВАННЯ ПЗ ДЛЯ ІНФОРМАЦІЙНОЇ ПІДТРИМКИ ВЕЛОДОРІЖОК м. ХМЕЛЬНИЦЬКИЙ

[5.1] 4.1. Ввід велосипедних маршрутів

[5.2] 4.2. Редагування велосипедних маршрутів

[5.3] 4.3. Перегляд доступних маршрутів

[5.4] 4.4. Зворотній контакт

[5.5] 4.5 Тестування системи

[6] 5. Розділ з економіки

[7] ВИСНОВКИ.

[8] СПИСОК ЛІТЕРАТУРИ

[9] ДОДАТОК А. UML-діаграми ПЗ для інформаційної підтримки велодоріжок

[10] ДОДАТОК Б. Інструкція користувача ПЗ для інформаційної підтримки вело доріжок м Хмельницький.

[11] ДОДАТОК В. Текст програми


ВСТУП

Розробка ефективних управлінських рішень потребує застосування сучасних інформаційних технологій, що забезпечують повноту, своєчасність інформаційного відображення процесів, можливість їхнього моделювання, аналізу, прогнозування.

У багатьох випадках процедура розробки управлінського рішення передбачає достатньо великий обсяг роботи менеджерів, автоматизація якої дозволяє не тільки істотно скоротити обсяг працезатрат на підготовку рішення, але й одержати більш якісний "вхідний" матеріал для своєчасного і грамотного прийняття управлінського рішення [1].

Застосування сучасних комп'ютерних технологій має незаперечні переваги:

- швидкість виконання роботи;

- її висока якість;

- великий обсяг виконуваної роботи завдяки великому об'єму пам'яті;

- конфіденційність інформації;

- раціональний розподіл функцій між користувачем і комп'ютером. Передумови автоматизації процесів прийняття рішень:

- суттєве збільшення питомої ваги наукоємних галузей;

- інтелектуалізація суспільства за рахунок поліпшення доступу до баз знань;

- поширення "електронної пошти" й інформаційних мереж зв'язку для швидкого обміну інформацією тощо;

- підвищення рівня освіченості суспільства за рахунок персоналізації навчання, розширення системи самоосвіти тощо;

- зміна характеру і змісту праці (посилення творчої складової та збільшення частки висококваліфікованої праці).

Наявність сучасних технологій, прикладних пакетів програмного забезпечення, засобів телекомунікації та офісного обладнання позитивно впливає на якість управлінської роботи. Але слід пам'ятати, що кількість коштів, вкладених в автоматизацію розробки управлінського рішення, не повинна перевищувати можливий доход від упровадження відповідної системи. Тому, при виборі тематики бакалаврської роботи, було вирішено використати безкоштовні програмні технології, які широко розповсюджені та дають можливість користування широкому колу людей, знайомих із цими технологіями. Найпоширенішою системою для складання маршрутів на даний час є Google Maps. Але на сьогоднішній день велодоріжки м. Хмельницький не внесені в цю систему, тому любителі велоспорту не можуть вповні скористатися цією системою.


РОЗДІЛ 1. АНАЛІЗ НАЙВІДОМІШИХ КАРТОГРАФІЧНИХ СЕРВІСІВ.

1.1. Google Maps.

Мапи Google (англ. Google Maps) — набір додатків, побудованих на основі безкоштовного картографічного сервісу і технологій, які надає компанія Google.

Сервіс являє собою карту та супутникові знімки всього світу (а також Місяця і Марса). З сервісом інтегрований бізнес-довідник і карта автомобільних доріг, з пошуком маршрутів, яка охоплює США, Канаду, Японію, Гонконг, Китай, Великобританію, Ірландію (тільки центри міст) і деякі райони Європи [1].

З сервісом також пов'язаніий застосунок Google Earth — окрема програма для Microsoft Windows, а також GNU/Linux, Mac OS. Як і Google Maps, програма Google Earth дозволяє переглядати знімки земної поверхні, змінювати масштаб і будувати маршрути пересування. Її перевагою є тривимірне зображення земної поверхні (з урахуванням рельєфу), можливість спостереження під довільним кутом (а не тільки прямовисно згори), поступове уточнення зображення по мірі завантаження детальніших фотознімків, можливість плавної зміни масштабу.

Присутні 20 рівнів масштабу:

 №    шкала    ~м./пик.   z      знімки  

   масштаба,м

1        20       0,16  19    аерознімки  

2        20       0,31  18  

3        50       0,63  17  LandSat+DigitalGlobe/GeoEye  

4       100       1,25  16  

5       200       2,50  15  

6       500       5,00  14  

7      1000      10,00  13  

8      2000      20,00  12     LandSat  

9      5000      40,00  11  

10     10000      80,00  10  

11     20000     160,00   9  

12     20000     307,69   8  

13     50000     625,00   7  

14    100000   1 250,00   6  

15    200000   2 500,00   5  

16    500000   5 263,16   4  

17   1000000  10 526,32   3  

18   2000000  21 052,63   2  

19   5000000  41 666,67   1  

20  10000000  83 333,33   0

Існує можливість використовувати сервіс для створення своїх продуктів сторонніми компаніями. На сьогоднішній день це безкоштовна служба, але можливість додати рекламу залишена на майбутнє.

Для розробників сайтів зручно буде використати JavaScript для керування функціональністю карт, правда кількість запитів з одного сервера обмежена. Google Static Maps API дозволяє будувати статичні мапи за допомогою спеціальних url'ів. Також існують версії API під різні види мобільних пристроїв[1].

1.2 Bing Maps

Bing Maps (раніше сервіс називався Live Search Maps, Windows Live Maps, Windows Live Local, MSN Virtual Earth) — картографічний сервіс від Microsoft, частина порталу Bing (рис. 1.1).

Спочатку створений в грудні 2005 як Windows Live Local на базі технологій Microsoft MapPoint і TerraServer. У листопаді 2006 додався 3D режим, продукт був перейменований в «Live Search Maps» і інтегрований в портал Live Search. У червні 2009 став називатися Bing Maps, а платформа Virtual Earth отримала назву Bing Maps for Enterprise.

У 2012 році оцінювався comScore як 3-ій за відвідуваністю картографічний портал в США, поступаючись тільки Google Maps і MapQuest. Відзначалося зростання кількості відвідувачів[2].

Рис. 1.1. Bing Maps

1.3. WikiMapia

WikiMapia (ВікіМапія) — відкритий багатомовний вікі-проект, що ґрунтується на поєднанні електронних мап (Google Maps, Google Earth та їм подібних) та Вікі-технологій.

Проект започатковано 24 травня 2006 задля створення онлайн-довідника об'єктів, що зафіксовані на електронній мапі багатьма (в перспективі — всіма) мовами Землі, де будь-який користувач може додавати власні довідкові статті та редагувати наявні (створені раніше іншими користувачами або ним самим).

Автори проекту — Олександр Корякін та Євгеній Савельєв[3].

1.4. OpenStreetMap

OpenStreetMap (OSM; з англ. дослівно «вільна вулична мапа») — це відкритий проект зі створення загальнодоступних мап світу силами спільноти (рис. 1.2). Проект заснований у Великобританії в липні 2004 року Стівом Костом (Steve Coast). У квітні 2006-го OSM зареєстровано як фонд. «Фонд OpenStreetMap — міжнародна некомерційна організація, створена для підтримки розвитку та розповсюдження геопросторових даних, а також надання можливості використання геопросторових даних будь-ким».

Рис. 1.2. OpenStreetMap

На противагу власницьким наборам даних, таким як Google Map Maker, ліцензія OpenStreetMap гарантує вільний доступ до усіх наявних даних.

Геопросторові дані ліцензуються на умовах Open Database License, яка дозволяє їх використання з будь-якою, у т.ч. комерційною метою, за умови зазначення походження даних[4].

Документація, створені на основі геопросторових даних OpenStreetMap мапи, згенеровані тайли поширюються на умовах ліцензії Creative Commons Attribution-ShareAlike 2.0.

Проект охоплює всю поверхню Землі.

OpenStreetMap, по суті, є не мапою у звичному розумінні, а базою геопросторових даних. Вона містить географічні координати окремих точок та інформацію про об'єкти вищого порядку — лінії, що з'єднують точки, зв'язки, які можуть включати точки і лінії, а також атрибути всіх зазначених об'єктів. Тому на основі одних і тих же даних OSM побудовані різноманітні сервіси, що відрізняються як способом відображення, так і функціональністю[4]. А інтерфейс головної сторінки OpenStreetMap слід розглядати лише як приклад використання бази OSM.

Мапи двовимірні, без показу висот над рівнем моря, ізоліній. Хоча також набуває поширення позначення висотних характеристик окремих об'єктів та розвиваються проекти з їх рендерингу.

Дані мап, як всієї Землі, так і окремих її ділянок, можуть бути завантажені як у внутрішньому форматі OSM, так і конвертованими в графічні формати або формати GPS-навігаторів.

Первинною і основною інформацією для OpenStreetMap є «треки», зібрані добровольцями з допомогою пристроїв, обладнаними GPS-приймачами та відвантажені до бази OSM. Саме за треками створюється основна мережа доріг.

Коли мережа доріг певної місцевості створена, для внесення правок достатньо лише знання місцевості: назви вулиць, фізичні характеристики шляхів, обмеження дорожнього руху, номери будівель — все, що відомо.

Для позначення неосновних проїздів та усіх інших об'єктів, де збирання GPS-треків ускладнене особливостями рельєфу чи забудови, можуть бути використані супутникові знімки. На території України найбільше і найякісніше покриття даними дистанційної зйомки, які можуть бути використані без ліцензійних обмежень у роботі над OpenStreetMap, надає Bing, пошуковий сервіс від Microsoft. Варто пам'ятати, що супутникові знімки в силу значної площі покриття не можуть бути точно прив'язані за географічними координатами до конкретної місцевості, тому кожному сеансу правки має передувати їх вирівнювання за наявними треками.

Можуть бути використані власні фотографії та мапи, вільні від ліцензійних обмежень.

Є можливість допомогти в зборі даних, використовуючи такі сервіси як Walking Papers, Field Papers або Android-додатки Keypad-Mapper 3, OsmPad тощо.

Інтерфейс головної сторінки проекту дозволяє додавати у певні місця мапи нотатки, як зареєстрованим, так і анонімним користувачам. Ця інформація може бути використана згодом іншими мапперами в процесі правки даних.

OpenStreetMap підтримує в актуальному стані списки доступних інструментів маршрутизації, автономних і неавтономних. З огляду на відкритість даних, відкриті проекти й компанії можуть вільно завантажувати дані для використання у своїх програмах маршрутизації.

Найпопулярніші:

  •  OsmAnd — застосунок з відкритими джерельними кодами, написаний на Java для платформи Android, працює як навігатор та маршрутизатор.
  •  Traveling Salesman — застосунок з відкритими вихідними кодами, написаний на Java, працює як навігатор й маршрутизатор.
  •  Navit — автомобільна навігаційна система з відкритими джерельними кодами [1] версії для Windows, Linux, MacOS.
  •  CloudMade — прокладка маршрутів по всьому світу в режимі онлайн.
  •  Open Source Routing Machine (OSRM) — швидкий онлайн-маршрутизатор.
  •  GraphHopper — швидка Java-бібліотека з алгоритмом, що забезпечує ефективне використання оперативної пам'яті.

1.5. NASA World Wind

NASA World Wind — повністю тривимірний інтерактивний віртуальний глобус, створений NASA. Використовує супутникові знімки NASA та аерозйомку USGS для побудови тривимірних моделей Землі, Місяця, Марсу, Венери.

NASA World Wind використовує ліцензію з відкритим вихідним кодом. Внаслідок того, що при розробці використано технології (C#, DirectX) , програма працює тільки під управлінням операційних систем Microsoft Windows.

Спочатку в програмі містяться карти з низькою роздільною здатністю. При наближенні деякої даної області на карті, зображення з високою роздільною здатністю викачуються з серверів NASA.

Програма дозволяє вибирати масштаб, напрям і точку зору, видимі шари, проводити пошук по географічних назвах. Можливе відображення назв географічних об'єктів та політичних меж.

NASA World Wind має розширювану архітектуру. Існують застосунки для роботи з GPS, для відображення хмарності, землетрусів, ураганів у наближенні до реального часу та ряд інших застосунків[5].


РОЗДІЛ 2. СПЕЦИФІКАЦІЯ ПЗ ДЛЯ ІНФОРМАЦІЙНОЇ ПІДТРИМКИ ВЕЛОДОРІЖОК м. ХМЕЛЬНИЦЬКИЙ ТА ПОСТАНОВКА ЗАДАЧІ РОБОТИ.

2.1. Постановка задачі та вибір структур даних.

Задачею моєї бакалаврської роботи є проектування, розробка та тестування програмного забезпечення для інформаційної підтримки велодоріжок м. Хмельницький

У ПЗ для інформаційної підтримки велодоріжок м. Хмельницький мають бути наступні функції:

  1.  Ввід велосипедних маршрутів.
  2.  Редагування велосипедних маршрутів (Видалення/Зміна).
  3.  Перегляд усіх наявних велосипедних маршрутів.
  4.  Сортування маршрутів за певними параметрами.
  5.  Зворотній звязок із розробниками.

Для реалізації цих функцій в ПЗ буде передбачено два основні класи користувачів: адміністратор та прості користувачі. Адміністратори – користувачі, що мають змогу вносити зміни у систему а також змінювати її інформативне наповнення. Прості користувачі – користувачі, що можуть переглядати інформацію, фільтрувати та підшуковувати відповідні дані.

Базові інструменти будуть оперувати даними у форматі XML, який описує набір екземплярів елементів (вузли, відрізки та зв'язки).

Елементи, або базові примітиви включають:

  •  Точка, вузол (англ. node) — позначає окрему геопросторову точку, характеризується щонайменше широтою та довготою.
  •  Лінія (англ. way) — впорядкований список від 2 до 2000 точок. Використовується для позначення лінійних (векторних) структур, може бути замкнутою (площина).
  •  Зв'язок (англ. relation) — впорядкований список з точок, ліній, та інколи інших зв'язків. Окремі елементи зв'язків характеризуються певними ролями. Типовим прикладом зв'язку може бути маршрут громадського транспорту, який включає лінії автошляхів та точки зупинок.
  •  Теґ — строго кажучи, не є елементом, а лише певною інформацією, пов'язаною з одним із зазначених вище елементів. Складається з двох текстових полів довільного формату, 'ключ' та 'значення'.

2.2. Специфікація ПЗ для інформаційної підтримки велодоріжок.

1. Вступ

1.1 Призначення, мета 

Система призначена для геолокації велосипедних доріжок та маршрутів міста Хмельницького. Для можливості складання маршрутів та обліку пройдених відстаней велосипедистами

1.2 Продукти-аналоги

Продуктом аналогом є система Google Maps із її частковим функціоналом, який дозволяє складати маршрути по точкам. Проте такого як позначення фактичних велосипедних доріжок або їх пряме редагування не існує.

2. Загальний опис

2.1 Характеристики продукту

Система реалізована на веб-орієнтованих технологіях, що дозволяє будь-якій людині переглянути на карті усі доступні велосипедні маршрути. У свою чергу з точки зору адміністратора система надає можливість вводити велосипедні маршрути та у графічному режимі вводити їхнє розташування на карті міста Хмельницький.

Для простих користувачів система дозволить підбирати маршрути за їхньою довжиною та складністю. Адміністраторам буде наданий функціонал, який дозволить вносити нові маршрути та змінювати старі.

На рис. 2.1 зображена діаграма Use Case, яка відображає основні напрямки використання системи.

Рис. 2.1.UML-діаграма випадків використання системи.

Детальніше розглянемо варіант використання «Додати маршрут»:

  •  Увійти в адміністративну частину
  •  Вибрати пункт управління маршрутами
  •  Натиснути кнопку «додати маршрут»
  •  Ввести відповідними векторами маршрут від точки до точки
  •  Після закінчення вводу натиснути кнопку «Зберегти маршрут»
  •  Система зберігає послідовність масиву точок у БД

Послідовність даної логіки зображена на рис. 2.2. діаграма послідовності.

Рис. 2.2. Діаграма дій для випадку використання «Додати маршрут».

2.2 Класи користувачів та їх характеристики

Два основні класи користувачів, які присутні у системі: адміністратор, прості користувачі. Адміністратори – користувачі, що мають змогу вносити зміни у систему а також змінювати її інформативне наповнення. Прості користувачі – користувачі, що можуть переглядати інформацію, фільтрувати та підшуковувати відповідні дані.

2.3 Середовище функціонування

Середовищем функціонування системи може виступати будь-яка платформа, яка дозволяє встановити веб-переглядач. Веб-переглядачем можуть виступати такі програми як: Internet Explorer, Opera, Firefox, Saffari, Google Chrome. Браузер обов’язково повинен мати опцію використання JavaScript. Оскільки система являється веб-орієнтованою то особливих вимог до операційної системи немає.

На стороні сервера повинен бути встановлений PHP інтерпретатор та Apache для відтворення та передачі скриптів.

3. Характеристики системи

Система геолокації велосипедних доріжок повинна мати наступні функції:

  1.  Ввід велосипедних маршрутів
  2.  Редагування велосипедних маршрутів (Видалення/Зміна)
  3.  Перегляд усіх наявних велосипедних маршрутів
  4.  Сортування маршрутів за певними параметрами
  5.  Зворотній звязок із розробниками

3.1.1. Ввід велосипедних маршрутів;

3.1.1 Опис і пріоритет

Надає можливість адміністратору добавити новий велосипедний маршрут до системи

3.1.2 Послідовності дія/відгук

Увійти в адміністративну систему. Обрати розділ керування маршрутами.

3.1.3 Функціональні вимоги

REQ-1.1: Закритий загальний досвід логіном та паролем;

REQ-1.2: Графічне введення маршруту у систему;

REQ-1.3: Обовязкове обчислення довжини маршруту;

REQ-1.4: Примусове введення рівня складності маршруту;

3.2. 2. Редагування велосипедних маршрутів (Видалення/Зміна);

3.2.1 Опис і пріоритет

Дозволяє змінити уже існуючі велосипедні маршрути

3.2.2 Послідовності дія/відгук

Увійти в адміністративну систему. Обрати розділ керування маршрутами.

REQ-2.1: Можливість вибору маршруту для видалення;

REQ-2.2: Можливість зміни існуючого маршруту (зміна складності, добавляння нових точок до маршруту)

3.3. Перегляд усіх наявних велосипедних маршрутів;

3.3.1 Опис і пріоритет

Функція дозволяє користувачу відкрити повний перелік усіх наявних маршрутів.

3.3.2 Послідовності дія/відгук

Увійти в систему. Відрити сторінку маршрути

REQ-3.1: можливість вибору конкретного маршруту для детального перегляду;

REQ-3.2: можливість масштабування мультимедійної карти;

3.4. Сортування маршрутів за певними параметрами

3.4.1 Опис і пріоритет

Функція надає можливість користувачеві підібрати найбільш зацікавлений для нього напрямок по параметрах довжини та складності.

3.4.2 Послідовності дія/відгук

Вибрати сторінку маршрутів.

REQ-4.1: Можливість сортування по довжині шляху;

REQ-4.2: Можливість сортування по складності шляху;

3.5. Зворотній звязок із розробниками

3.5.1 Опис і пріоритет

Функція надає можливість повідомити розробникам про можливі несправності у системі

3.5.2 Послідовності дія/відгук

Вибрати сторінку «Зворотній зв’язок»

REQ-5.1: Можливість вводу повідомлення;

REQ-5.2: Обов’язковий ввід емейлу для зворотнього зв’язку;

REQ-5.2: Обов’язковий ввід імені користувача, що залишає відгук;

4. Вимоги зовнішніх інтерфейсів 

4.1 Користувацькі інтерфейси

Користувацький інтерфейс повинен бути розроблений згідно шаблонів проектування інтерфейсу та останніх стандартів розробки. Інтерфейс повинен бути зручним та інтуїтивно зрозумілим

4.2 Апаратні інтерфейси

Не регламентуються.

4.3 Програмні інтерфейси

Для з’єднання із базою даних та пересилки інформації між платформою та безпосереднім репозиторієм БД використовується мова запитів SQL.

4.4 Комунікаційні інтерфейси

Комунікація клієнтської частини програми (веб-браузера) та серверної частини відбувається на основі протоколу високого рівня HTTP.

5. Інші нефункційні вимоги

5.1 Вимоги продуктивності

Розпаралеленість системи не повинна впливати на її продуктивність. Системою повинна бути змога користуватися великій кількості людей одночасно.

5.2 Вимоги безпеки

Вхід у адміністративну систему повинен бути захищений паролем та логіном. Серверна частина повинна бути захищена кодом аутентифікації користувачів.

5.3 Атрибути якості програмного продукту

Система повинна мати привабливий візуально інтерфейс користувача та інтуїтивно зрозумілий функціонал.

6. Інші вимоги

Відсутні.

2.3. Опис обраних технологій.

PHP (англ. PHP:Hypertext Preprocessor — PHP:гіпертекстовий препроцесор), попередньо: Personal Home Page Tools — скриптова мова програмування, була створена для генерації HTML-сторінок на стороні веб-серверу. PHP є однією з найпоширеніших мов, що використовуються у сфері веб-розробок (разом із Java, .NET, Perl, Python, Ruby). PHP підтримується переважною більшістю хостинг-провайдерів. Проект за яким був створений PHP — проект з відкритими програмними кодами [8-10].

PHP інтерпретується веб-сервером в HTML-код, який передається на сторону клієнта. На відміну від таких скриптових мов програмування, як JavaScript, користувач не має доступу до PHP-коду, що є перевагою з точки зору безпеки але значно погіршує інтерактивність сторінок. Але ніщо не забороняє використовувати РНР для генерування і JavaScript-кодів які виконаються вже на стороні клієнта.

PHP - мова, яка може бути вбудована безпосередньо в html-код сторінок, які, в свою чергу коректно будуть оброблені PHP -інтерпретатором. Механізм РНР просто починає виконувати код після першої екрануючої послідовності (<?) і продовжує виконання до того моменту, коли він зустріне парну екрануючу послідовність (?>) [10].

Велика різноманітність функцій PHP дають можливість уникнути написання багаторядкових призначених для користувача функцій на C або Pascal.

В PHP вбудовані бібліотеки для роботи з MySQL, PostgreSQL, mSQL, Oracle, dbm, Hyperware, Informix, InterBase, Sybase. через стандарт відкритого інтерфейсу зв'язку з базами даних (Open Database Connectivity Standard — ODBC) можна підключатися до всіх баз даних, до яких існує драйвер.

Мова РНР здаватиметься знайомою програмістам, що працюють в різних областях. Багато конструкцій мови запозичені з С, Perl. Код РНР дуже схожий на той, який зустрічається в типових програмах на С або Pascal. Це помітно знижує початкові зусилля при вивченні РНР. PHP - мова, що поєднує переваги Perl і С і спеціально спрямована на роботу в Інтернеті, мова з універсальним і зрозумілим синтаксисом. І хоча PHP є досить молодою мовою, вона здобула таку популярність серед web-програмістів, що на даний момент є мало не найпопулярнішою мовою для створення web-додатків (скриптів).

Стратегія Open Source, і розповсюдження початкових текстів програм в масах, безсумнівно справили благотворний вплив на багато проектів, в першу чергу - Linux хоч і успіх проекту Apache сильно підкріпив позиції прихильників Open Source. Сказане відноситься і до історії створення РНР, оскільки підтримка користувачів зі всього світу виявилася дуже важливим чинником в розвитку проекту РНР.

Ухвалення стратегії Open Source і безкоштовне розповсюдження початкових текстів РНР надало неоціниму послугу користувачам. Додатково, користувачі РНР по всьому світу є свого роду колективною службою підтримки, і в популярних електронних конференціях можна знайти відповіді навіть на найскладніші питання [8].


РОЗДІЛ 3. ПРОЕКТУВАННЯ ПЗ ДЛЯ ІНФОРМАЦІЙНОЇ ПІДТРИМКИ ВЕЛОДОРІЖОК м. ХМЕЛЬНИЦЬКИЙ

3.1. Проектування загальної архітектури ПЗ

Система спроектована за принципом SaaS (Software as a Service), тобто користувачу надається можливість користуватися програмним за допомогою терміналу доступу в той час, коли самі обчислення та виконання алгоритмів відбуваються на віддаленому компютері (сервері). Реалізація такого підходу можлива завдяки розвитку компютерних мереж та розподілених обчислень.

Програмне забезпечення підтримки вело доріжок побудоване за вищеописаними принципами. У якості терміналу доступу використовується веб-браузер користувача, що робить систему крос платформеною для будь-яких операційних систем чи пристроїв, оскільки веб-переглядач є на усіх пристроях. У якості сервера виступає, будь-який віддалений хостинг який може надати обчислення та збереження даних у базі даних MySQL та виконання скриптів на базі PHP 5.0 та вищої версії. Також у реалізації ПЗ використовуються треті сервіси такі як Google Maps API v3, що мають візуальне відображення у вигляді карти як на клієнті так і здійснюють обчислення на серверній стороні компанії Google.

Для реалізації клієнта використовується технологія HTML5 + CSS3 із використанням принципів responsive design. Тобто візуальний інтерфейс клієнта здатний адаптовуватися до різних розширень екрану та пристроїв, що вимагається предметною областю застосування оскільки сервісом багато користувачів будуть користуватися «на ходу» тобто із мобільних пристроїв. Для інтерактивної передачі даних між клієнтом і сервером використовується скрипкова мова JavaScript – найпопулярніша мова програмування 2014 року за версією GitHub. Для спрощення операцій та надання сервісу інтерекативності також широко застосовувалися такі бібліотеки як jQuery Mobile та jQuery UI.

jQuery Mobile – потужний JavaScript фреймворк, що дозволяє створювати динамічний як візуальний так і обмінний функціонал для мобільних пристроїв.

jQueryUIjavaScript фреймворк створений для адаптації javascript під інтерактивні запити сучасних користувачів.

Використання сторонніх сервісів таких як Google Maps API v3 спрямоване на розвантаження сервера та надання інтерактивності даних уже готовими засобами без винаходження «велосипеда». На рис. 3.1 зображена діаграма компонент, яка демонструє логіку та послідовність взаємодії системи між собою.

Рис. 3.1 UML Діаграма компонент

Користувач відправляє запит на сервер після чого, даний запит обробляється PHP інтерпретатором та Apache і формує відповідь для клієнта. При потребі звернення до БД PHP-скрипти здійснюють це і віддають інформацію у повній мірі.

У випадку необхідності звернення до третіх ресурсів, а саме Google Maps JavaScript відсилає дані до сервера Google та отримує відповідь у вигляді мультимедійної карти та API функцій, що можуть надати ресурсу потрібну інтерактивність та динамічність.

3.2. Розробка бази даних.

Для збереження інформації у системі використовувалася база даних MySQL. Основний тип таблиць MyISAM. MyISAM таблиці зберігаються на диску в трьох файлах в каталозі з іменем, що відповідає імені бази даних. Файли названі згідно з ім'ям таблиці в базі даних. Розширення файлів означають: .FRM — визначення таблиці .MYD (MyData) — файл даних, .MYI (MyIndex) — Індекси таблиці.

Основні недоліки MyISAM: брак транзакційності, блокування на рівні таблиць, і відсутність підтримки стандартів MVCC та ACID. MyISAM, однак,  один із небагатьох механізмів що підтримує повнотекстовий пошук.

Проектована БД, була зведена до третьої нормальної форми, щоб уникнути надлишковостей та повторення даних на рис. 3.2 зображена ER - схема бази даних (візуальне відображення в утиліті PHPMyAdmin)

Рис. 3.2 Діаграма бази даних

У базі даних є п’ять таблиць, що зберігають інформацію. Дві із них зв’язані між собою зв’язком один до багатьох. Кожна таблиця містить в собі елемент первинного ключа та автоінкремент.

Таблиця users – таблиця для зберігання користувачів та паролів входу адміністраторів. Містить наступні поля:

  •  IDпервинний ключ, унікальний ідентифікатор поля
  •  Name- імя користувача для його ідентифікації у реальному житті, не є обовязкове для заповнення
  •  Loginімя користувача для логіну у систему
  •  Passwordпароль користувача, зберігається у закодованому вигляді хешу md5
  •  Reg_dateдата реєстрації користувача у системі наводиться для додаткової інформації

На рис. 3.3 зображена таблиця users.

Рис. 3.3 структура таблиця users

Таблиця contact_us – таблиця із інформацію про людей, що вирішили зв’язатися із розробниками або задати питання адміністрації системи. Містить наступні поля:

  •  IDпервинний ключ, ідентифікатор із властивістю автоінкременту
  •  Whoімя користувача що заповнив форму
  •  Dateдата коли був залишений запис
  •  Note – текст повідмолення, яке користувач залишив у контактній формі, максимальна довжна 4000 символів
  •  Activeполе-перевірка чи була дана відповідь на запит
  •  Emailелектронна адреса користувача для зворотнього звязку

На рис. 3.4 зображена схема таблиці contact_us.

Рис. 3.4 таблиця contact_us

Таблиця streets – допоміжна таблиця із списком усіх вулиць, що є у місті Хмельницькому. Має два поля:

  •  StreetIDунікальний ідентифікатор первинного ключа
  •  StreetName – назва вулиці, поле дозволене для вводу кириличних символів використовується порівняння кодування cp1251_ukrainian_ci.

Таблиця ways – призначення для збереження маршрутів системи. Зв’язана із таблицею path оскільки маршрути у БД зберігаються наступним чином. Кожен маршрут – це набір послідовних координат, які зберігаються у таблиці path, кожна координата належить певному маршруту, оскільки всі координати є посортовані у мірі їх добавляння на карту маршрут не перемішується і не ламається саме, тому візуальні лінії завжди правильно відтворюються. Поля таблиці ways:

  •  ID – первинний ключ, автоінкремент
  •  Complexityскладність маршруту у балах від 1 до 5
  •  Lengthдовжина маршруту (обчислюється системою автоматично на основі введених на карту даних)
  •  Nameназва маршруту, обовязково повинна бути латинецею для правильної передачі даних при асинхронному запиті

На рис. 3.5 зображена схема таблиці ways

Рис. 3.5 Схема таблиці ways

Таблиця path – призначена для збереження послідовних координат вело доріжок має наступні поля:

  •  ID - первинний ключ, для унікальної ідентифікації
  •  X- координата горизонту для точки, що є позначкою на маршруті
  •  Y – координата вертикалі для точки
  •  WayIDполе посилання на таблицю ways, використовується для звязки

 На рис. 3.6 зображена схема таблиці path.

Рис. 3.6 Схема таблиці path


РОЗДІЛ 4. ПРОГРАМНА РЕАЛІЗАЦІЯ ТА ТЕСТУВАННЯ ПЗ ДЛЯ ІНФОРМАЦІЙНОЇ ПІДТРИМКИ ВЕЛОДОРІЖОК м. ХМЕЛЬНИЦЬКИЙ

Програмна система була реалізована використовуючи архітектуру клієнт-сервер із використанням хмаркових технологій. Специфікація вимог описує увесь необхідний функціонал, який повинен був бути розроблений:

  •  Ввід велосипедних маршрутів
  •  Редагування велосипедних маршрутів (Видалення/Зміна)
  •  Перегляд усіх наявних велосипедних маршрутів
  •  Сортування маршрутів за певними параметрами
  •  Зворотній зв’язок із розробниками

4.1. Ввід велосипедних маршрутів

Для вводу велосипедного маршруту потрібно мати права доступу адміністратора. Коли адміністратор зайде  у систему йому потрібно ввести дані у форму логіну рис. 4.1.

Рис. 4.1 Форма входу для адміністратора

Дані про логін повинні бути коректними та зберігатися у таблиці users. В додатку А зображена діаграма варіантів відгуку системи, що описує процес входу адміністратора  в довірену зону.

  1.  Ввести логін
  2.  Ввести пароль
  3.  Здійснити вхід
  4.  На внутрішньому рівні відправка SQL запита на пошук відповідності потрібної комбінації
  5.  Отримання відповіді у випадку успішної відповіді перехід до кроку 7
  6.  Якщо потрібна комбінація не знайдена система видає помилку та користувач переходить до кроку 1
  7.  Вхід у систему

Усі вищеописані дії супроводжуються візуальним відкликом системи, зокрема дані, що можуть бути неправильно введені підсвічуються у тому місці де це могло статися рис. 4.2.

Рис. 4.2 Візуальний відгук системи на помилку

Після успішного входу у систему користувачеві міняється хідер системи, де видно що він залогований рис. 4.3.

Рис. 4.3 Вітання адміністратору

Коли користувач залогінений у системі йому появляється посилання із можливістю формування маршруту.  Для цього користуач повинен відмічати точки по яких повинен проходити маршрут з’єднання між двома точками відбувається автоматично, тому адмін повинен слідкувати за коректним прокладанням маршруту. Система сама вирахоує довжину маршруту чим більше точок додаються, тим більше відповідно стає маршрут (рис. 4.4).

Рис. 4.4 Візуальне ввдення маршруту

Після введення візуального маршруту користувачу потрібно заповнити дані про:

  •  Назву маршруту
  •  Складність маршруту обирається адміністратором із доступних варіантів
  •  Відстань обчислюється автоматично при візуальному введені точок на карту

У випадку, якщо візуальні дані були введено невірно користувач має змогу очистити карту (рис.4.5).

Рис. 4.5 Поля для заповнення 

При натисканні кнопки «зберегти дані» система за допомогою асинхронного запиту відправляє дані на сервер де скрипт приймає їх обробляє відповідним чином та зберігає у базу, даних після чого виводить користувачеві повідмлення про успішне збереження даних. В додатку А зображена схема передачі та збереження даних при формуванні маршруту.

На схемі чітко видно які технології задіяні у збережені даних. Спершу Google Maps API формує візуальние представлення доріжки, потім бібліотека jQuery асинхронним запитом відправляє дані на сервер. PHP скрипт приймає дані перекодовує їх змінюючи кодування utf-8 на windows-1251, що є сумісним для БД і відтворюється в адекватному форматі. Після чого SQL запит записує дані у MySQL, у випадку успішного запиту скприпт повертає повідомлення, яке передається на клієнт де за допомогою JavaScript виводиться alert-повідмлення про успішну вставку даних. рис. 4.6

Рис. 4.6 Повідомлення про успішне збереження даних

4.2. Редагування велосипедних маршрутів

Коли користувач здійснив вхід у систему йому також доступно видаляти існуючі маршрути та створювати нові таким чином можна їх змінювати. Для того, щоб адміністратор міг зробити дані дії йому потрібно зайти на сторінку «Маршрути», вибрати необхідний маршрут із списку та видалити його Варто зазначити, що для зручності та адаптивності користувача інтерфейс вікна не змінюється, просто добавляється додатковий функціонал. Візуальним чином це виражається у додаванні колонки до таблиці із списком маршрутів рис. 4.7.

Рис. 4.7 Список маршрутів

Таким чином адміністратор може видалити будь-який маршрут і створити новий із такою ж назвою  та із зміненими даними, зокрема про напрямок маршруту.  Варто зазначити, що процес видалення маршруту включає у собі декілька транзакцій для повного очищення бази даних. Запити відбуваються у наступній послідовності:

  •  Старт транзакції
  •  Отримання ID ідентифікатора із таблиці ways SELECT `ID` FROM `ways`….
  •  Видалення усіх шляхів із таблиці path DELETE FROM `path` WHERE `WayID`=’$ID’
  •  Видалення запису про маршрут із таблиці ways DELETE FROM `ways` WHERE `ID` = ‘$ID’
  •  Закриття транзакції

Після таких маніпуляцій база даних є повністю очищена від надлишкової інформації, що дозволяє завжди тримати систему працездатною та не пере використовувати ресурси

4.3. Перегляд доступних маршрутів

Для перегляду маршрутів простому користувачеві потрібно просто зайти у систему та обрати сторінку «Маршрути» після чого йому відриється список усіх доступних маршрутів у користувача є можливість сортування даних маршрутів по складності назві чи довжині, таким чином користувач завжди може обрати підходящий маршрут. На рис. 4.8 зображено вигляд сторінки «Маршрути» для користувача.

Рис. 4.8 Вигляд маршрутів для користувача

Для перегляду маршруту користувачу потрібно вибрати необхідний маршрут у таблиці та натиснути на нього після чого відкриється сторінка вибраного маршруту із нанесиними на карту лініями, відповідно здійснювати змін чи маніпуляцій користувач не може рис. 4.9.

Рис. 4.9 Вигляд маршруту для користувача

Користувачу доступні стандартні опції маніпуляцій із картою: збільшення/зменшення, поворот, переміщення. Таким чином користувач може детально переглянути маршрут, а також існує особлива опція 3d перегляду місцевості, у випадку якщо дана місцевість є знятою компанією Google (рис. 4.10)

Рис. 4.10 3d перегляд вулиць

4.4. Зворотній контакт

Система є складною із великою кількістю технічних та мережевих взаємодій, саме тому можливі випадки коли вона може працювати некоректно, особливо якщо врахувати розмаїтість пристроїв на яких може бути запущена. Саме тому створена додаткова опція зв’язку із розробником. Це спеціальна опція, яка дозволяє користувачеві відкрити спеціальну контактну форму для залишення повідомлення розробникам рис. 4.11.

Рис. 4.11 контактна форма

Після коректного заповнення форми повідомлення відправляється на пошту до адміністратора і розробник може вживати заходів, щодо уникнення помилок та їхнього повторення.

4.5 Тестування системи

Система реалізована на базі широкого використання технологій, що базуються на JavaScript. Саме тому перевірку системи варто почати із коректності написання скриптів на даній мові. На рис. 4.12 зображено реакції JavaScript консолі Google Chrome на увесь код, що є у системі.

Рис. 4.12 JavaScript консоль

На рисунку видно що помилок що виникли через використання JavaScript не виявлено, це означає що інтеративність системи буде підтримуватися на більшості сучасних пристроїв.

Інший вид тестування це тестування наванатження та вшикдості загрузки елементів у систему із мережі. На рис. 4.13 зображена часова діаграма об’єктів системи у реальному часі.

Рис. 4.13 діаграма часу

На діаграмі чітко видно, що із усіх запитів, що відправляє система усі приходять послідовно і швидко повертаючи код 200, лише один із ресурсів не дає відповіді, код 404, один із файлів стилів, що помилково підключений до системи та не зберігається на сервері.

Оскільки система розрахована на велику кількість користувачів то її варто перевірити на великих навантаженнях для цього ми використаємо ресурcом pingdom (http://tools.pingdom.com/fpt/#!/NZXyR/) . На рис. 4.14 зображено результат тестування.

Рис. 4.14 тестування ping dom

На рисунку видно, що при великому навантаженні на систему відповідь по сторінках та по сторонніх ресурсах Google Maps, CSS, DNS та інші відбувається без затримок а отже весь ресурс працює стабільно.

Оскільки система часто буде використовуватися на мобільних девайсах то варто переглянути вигляд екрану на пристрої, що має мале розширення для прикладу на рис. 4.15 зображено вигляд системи у горизонтальному положені iPhone.

Рис.  4.15 вигляд проекту на iPhone 4у горизонтальному положені.

Емуляція екрану запущена у режимі Google Chrome на Desctop компютері, але відхилення на реальному пристрої не повинні відрізнятися від емулятора.


5. Розділ з економіки


ВИСНОВКИ.

При розробці бакалаврської кваліфікаційної роботи було спроектовано та розроблено ПЗ для інформаційної підтримки велодоріжок м. Хмельницький. Система призначена для геолокації велосипедних доріжок та маршрутів міста Хмельницького, для можливості складання маршрутів та обліку пройдених відстаней велосипедистами .

Система спроектована за принципом SaaS (Software as a Service), тобто користувачу надається можливість користуватися програмним забезпеченням за допомогою терміналу доступу в той час, коли самі обчислення та виконання алгоритмів відбуваються на віддаленому компютері (сервері). Реалізація такого підходу можлива завдяки розвитку компютерних мереж та розподілених обчислень.

У якості сервера виступає, будь-який віддалений хостинг який може надати обчислення та збереження даних у базі даних MySQL та виконання скриптів на базі PHP 5.0 та вищої версії. Також у реалізації ПЗ використовуються треті сервіси такі як Google Maps API v3, що мають візуальне відображення у вигляді карти як на клієнті так і здійснюють обчислення на серверній стороні компанії Google.

Для реалізації клієнта використовується технологія HTML5 + CSS3 із використанням принципів responsive design. Для інтерактивної передачі даних між клієнтом і сервером використовується скриптова мова JavaScript. Для спрощення операцій та надання сервісу інтерекативності також широко застосовувалися такі бібліотеки як jQuery Mobile та jQuery UI.

Проведено тестування ПЗ на предмет коректності написання скриптів JavaScript, тестування навантаження та швикдості загрузки елементів у систему із мережі. Здійснено тестування на великих навантаженнях за допомогою ресурcу pingdom. Тестування дало хороші результати

Розроблено розділ з економіки.


СПИСОК ЛІТЕРАТУРИ

  1.  Google Maps [Електронний ресурс]: Режим доступу http://uk.wikipedia.org/wiki/Google_Maps
  2.  Facing Fees, Some Sites Are Bypassing Google Maps [Електронний ресурс]: Режим доступу http://www.nytimes.com/2012/03/20/technology/many-sites-chart-a-new-course-as-google-expands-fees.html?pagewanted=all&_r=0
  3.  WikiMapia [Електронний ресурс]: Режим доступу http://uk.wikipedia.org/wiki/WikiMapia
  4.  OpenStreetMap [Електронний ресурс]: Режим доступу http://uk.wikipedia.org/wiki/OpenStreetMap
  5.  NASA World Wind [Електронний ресурс]: Режим доступу http://uk.wikipedia.org/wiki/NASA_World_Wind
  6.  В новых Google Maps для iOS и Android есть скрытая функция сохранения карт [Електронний ресурс]: Режим доступу http://www.computerra.ru/75586/v-novyih-google-maps-dlya-ios-i-android-est-skryitaya-funktsiya-sohraneniya-kart/
  7.  Google Maps 7.0: большой редизайн и потеря функций [Електронний ресурс]: Режим доступу http://chezasite.com/android/google-maps-7-0-bolshoj-redizaj-62076.html
  8.  «PHP and MySQL Web Development (4th Edition)», Luke Welling, Laura Thomson 848 с.
  9.  Скотт Хокинс. Администрирование веб-сервера Apache и руководство по электронной коммерции = Apache Web Server Administration and e-Commerce Handbook. — М.: Вильямс, 2001. — 336 с.
  10.  David Lane, Hugh E. Williams «Веб Database Application with PHP and MYSQL», 2nd Edition. .»– СПб.: БХВ-Петербург, 2005. – 556 с.


ДОДАТОК А. UML-діаграми ПЗ для інформаційної підтримки велодоріжок


Виконав

Пастернак О.В.

Підпис

Діаграма варіантів відгуку системи

Сторінка

Перевірив

Федорчук Є.Н.

Підпис

1   з   2

ІДН         кафедра ПЗ       ПІм-41(з)


Виконав

Пастернак О.В.

Підпис

Схема передачі та збереження даних при формуванні маршруту

Сторінка

Перевірив

Федорчук Є.Н.

Підпис

2   з   2

ІДН         кафедра ПЗ       ПІм-41(з)


ДОДАТОК Б. Інструкція користувача ПЗ для інформаційної підтримки вело доріжок м Хмельницький.

1. Компоненти ПЗ.

Система реалізована на веб-орієнтованих технологіях, що дозволяє будь-якій людині переглянути на карті усі доступні велосипедні маршрути. У свою чергу з точки зору адміністратора система надає можливість вводити велосипедні маршрути та у графічному режимі вводити їхнє розташування на карті міста Хмельницький.

Для простих користувачів система дозволить підбирати маршрути за їхньою довжиною та складністю. Адміністраторам буде наданий функціонал, який дозволить вносити нові маршрути та змінювати старі.

Два основні класи користувачів, які присутні у системі: адміністратор, прості користувачі. Адміністратори – користувачі, що мають змогу вносити зміни у систему а також змінювати її інформативне наповнення. Прості користувачі – користувачі, що можуть переглядати інформацію, фільтрувати та підшуковувати відповідні дані.

2. Встановлення ПЗ.

Середовищем функціонування системи може виступати будь-яка платформа, яка дозволяє встановити веб-переглядач. Веб-переглядачем можуть виступати такі програми як: Internet Explorer, Opera, Firefox, Saffari, Google Chrome. Браузер обов’язково повинен мати опцію використання JavaScript. Оскільки система являється веб-орієнтованою то особливих вимог до операційної системи немає.

На стороні сервера повинен бути встановлений PHP інтерпретатор та Apache для відтворення та передачі скриптів.

3. Базові функції ПЗ.

Для вводу велосипедного маршруту потрібно мати права доступу адміністратора. Коли адміністратор зайде  у систему йому потрібно ввести дані у форму логіну. Дані про логін повинні бути коректними та зберігатися у таблиці users. Усі вищеописані дії супроводжуються візуальним відклком системи, зокрема дані, що можуть бути неправильно введені підсвічуються у тому місці де це могло статися.

Після успішного входу у систему користувачеві міняється хідер системи, де видно що він залогований.

Коли користувач залогінений у системі йому появляється посилання із можливістю формування маршруту. Для цього користуач повинен відмічати точки по яких повинен проходити маршрут з’єднання між двома точками відбувається автоматично, тому адмін повинен слідкувати за коректним прокладанням маршруту. Система сама вираховує довжину маршруту чим більше точок додаються, тим більше відповідно стає маршрут.

Після введення візуального маршруту користувачу потрібно заповнити дані про:

  •  Назву маршруту
  •  Складність маршруту обирається адміністратором із доступних варіантів
  •  Відстань обчислюється автоматично при візуальному введені точок на карту

У випадку, якщо візуальні дані були введено невірно користувач має змогу очистити карту.

При натисканні кнопки «зберегти дані» система за допомогою асинхронного запиту відправляє дані на сервер де скрипт приймає їх обробляє відповідним чином та зберігає у базу даних після чого виводить користувачеві повідмлення про успішне збереження даних.

Коли користувач здійснив вхід у систему йому також доступно видаляти існуючі маршрути та створювати нові таким чином можна їх змінювати. Для того, щоб адміністратор міг зробити дані дії йому потрібно зайти на сторінку «Маршрути», вибрати необхідний маршрут із списку та видалити його Варто зазначити, що для зручності та адаптивності користувача інтерфейс вікна не змінюється, просто добавляється додатковий функціонал. Візуальним чином це виражається у додаванні колонки до таблиці із списком маршрутів.

Для перегляду маршрутів простому користувачеві потрібно просто зайти у систему та обрати сторінку «Маршрути» після чого йому відриється список усіх доступних маршрутів у користувача є можливість сортування даних маршрутів по складності назві чи довжині, таким чином користувач завжди може обрати підходящий маршрут.

Для перегляду маршруту користувачу потрібно вибрати необхідний маршрут у таблиці та натиснути на нього після чого відкриється сторінка вибраного маршруту із нанесиними на карту лініями, відповідно здійснювати змін чи маніпуляцій користувач не може.

Користувачу доступні стандартні опції маніпуляцій із картою: збільшення/зменшення, поворот, переміщення. Таким чином користувач може детально переглянути маршрут, а також існує особлива опція 3d перегляду місцевості, у випадку якщо дана місцевість є знятою компанією Google.

Створена додаткова опція зв’язку із розробником. Це спеціальна опція, яка дозволяє користувачеві відкрити спеціальну контактну форму для залишення повідомлення розробникам.

Після коректного заповнення форми повідомлення відправляється на пошту до адміністратора і розробник може вживати заходів, щодо уникнення помилок та їхнього повторення.


ДОДАТОК В. Текст програми 


 

А также другие работы, которые могут Вас заинтересовать

43317. Гарантированное удаление информации 298.5 KB
  Гарантированное удаление информации зачем это нужно Большинство пользователей персональных компьютеров уверены в том что стандартные функции уничтожения файлов предусмотренные в операционной системе позволяют раз и навсегда избавиться от файлов. Также немаловажным фактором является скорость удаления информации. Например если несмотря на все методы защиты каким-то образом был произведен несанкционированный доступ к секретной информации и выгоднее уничтожить эту самую информацию чем позволить злоумышленнику скачать ее нарушив таким...
43318. Обґрунтування зовнішньоекономічної угоди по експорту поліамідних волокон 241.5 KB
  Загальна характеристика товару Програма підготовки угоди. Аналіз можливостей країни з експорту товару. Характеристика умов експорту товару Визначення країниімпортера товару. Обґрунтування доцільної схеми транспортування та базисних умов поставки товару.
43319. Розкриття основних понять опіки (піклування) та патронату над дітьми 239.5 KB
  Поняття і значення опіки та піклування над дітьми. Історія становлення та розвитку інституту опіки та піклування в Україні. Загальна характеристика інститутів опіки та піклування над дітьм. Встановлення опіки та піклування над дітьми.
43320. Загальна характеристика аналітичних програм на телеканалі „Київ” 76 KB
  Загальна історія аналітичного телебачення Журналістика періоду перебудови Українське телебачення в 19912000 роках Жанрова стуктура телевізійної журналістики Аналітичні програми телеканалу Київ†та їх характеристика: Споживач Час мера з Олександром Колодієм У центрі уваги СТН Тижневик Телепресклуб Столиця Список використаної літератури Загальна історія аналітичного телебачення Перші аналітичні програми з'явилися в Радянському Союзі на початку 60х років. Саме 60ті роки для телебачення стали етапом...
43321. Адміністративно-правові засади управління інформаційною галуззю 176 KB
  Адміністративно правовий статус Інтернетвидань. Це укази Президента України серед яких підписані такі як “Про заходи щодо розвитку національної складової глобальної інформаційної мережі Інтернет та забезпечення широкого доступу до цієї мережі в Україніâ€ “Про додаткові заходи щодо безперешкодної діяльності засобів масової інформації дальшого утвердження свободи слова в Україніâ€ “Про Державний комітет інформаційної політики телебачення та радіомовлення Україн膓Про невідкладні додаткові заходи щодо зміцнення моральності...
43322. Гомосексуальність і гомофобія: естетика versus демонізація 5.32 MB
  Тема гомосексуальніості в Україні є однією з маловивчених і ледве не табуйованих. Помічати явища, що не вписуються в загальноприйняті рамки, а тим більше говорити про них вважається недоречним. Суспільна думка дотепер послуговується стереотипами стосовно людей, що мають потяг до своєї статі, як «нездорових», «неприродних»; це явище асоціюється з психотичними розладами, розпустою, схильністю до злочинів, хворобами. Подібна ситуація не є випадковою, формування негативного образу гомосексуальних і бісексуальних людей має свою довгу історію. На запитання, чи психічна хвороба є внутрішньою властивістю гомосексуального стану, можна відповісти: «Для того, щоб правдиво оцінити це, потрібні майбутні, незалежні від ідеологів дослідження»
43323. Страви з круп 152 KB
  Страви з крупів – найкалорійніші вони містять вітаміни В і РР. Для приготування страв і гарнірів із крупів використовують казани на плитні каструлі різної місткості котломір грохот друшляк сита лопатки кухарські виделки шумівки черпаки та інший посуд і інвентар. Перед варінням каші крупу просіюють перебивають і промивають.
43324. АНАЛІЗ КРЕДИТОСПРОМОЖНОСТІ ПІДПРИЄМСТВА НА ПРИКЛАДІ ВАТ «НІКОПОЛЬСЬКИЙ ЗАВОД ФЕРОСПЛАВІВ» 464.5 KB
  Поняття та суть кредитоспроможності підприємства. АНАЛІЗ КРЕДИТОСПРОМОЖНОСТІ ПІДПРИЄМСТВА НА ПРИКЛАДІ ВАТ НІКОПОЛЬСЬКИЙ ЗАВОД ФЕРОСПЛАВІВ. Аналіз кредитоспроможності підприємства та дослідження шляхів покращення його кредитоспроможності. Діяльність підприємства в системі ринкової економіки неможлива без періодичного використання різноманітних форм залучення кредитів.
43325. Розрахунок фінансового стану підприємства 638 KB
  Акціонерне товариство провело деномінацію акцій шляхом дроблення у співвідношенні 1:6 витрати по операції склали 750 грн. Показник Статутний капітал грн. Номінальна вартість грн. Відбудеться зменшення нерозподіленого прибутку на суму 750 грн.