58481
Розробка програмного забезпечення (ПЗ) для інформаційної підтримки велодоріжок м. Хмельницький
Дипломная
Информатика, кибернетика и программирование
До ПЗ розроблено специфікацію вимог, що описує функціональні та нефункціональні вимоги до нього. На основі цієї специфікації та аналізу предметної області, а також вибраних технологій та засобів розробки, здійснено проектування ПЗ для інформаційної підтримки велодоріжок м. Хмельницький.
Украинкский
2014-06-10
16.04 MB
6 чел.
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. Але на сьогоднішній день велодоріжки м. Хмельницький не внесені в цю систему, тому любителі велоспорту не можуть вповні скористатися цією системою.
Мапи 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].
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
WikiMapia (ВікіМапія) відкритий багатомовний вікі-проект, що ґрунтується на поєднанні електронних мап (Google Maps, Google Earth та їм подібних) та Вікі-технологій.
Проект започатковано 24 травня 2006 задля створення онлайн-довідника об'єктів, що зафіксовані на електронній мапі багатьма (в перспективі всіма) мовами Землі, де будь-який користувач може додавати власні довідкові статті та редагувати наявні (створені раніше іншими користувачами або ним самим).
Автори проекту Олександр Корякін та Євгеній Савельєв[3].
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 підтримує в актуальному стані списки доступних інструментів маршрутизації, автономних і неавтономних. З огляду на відкритість даних, відкриті проекти й компанії можуть вільно завантажувати дані для використання у своїх програмах маршрутизації.
Найпопулярніші:
NASA World Wind повністю тривимірний інтерактивний віртуальний глобус, створений NASA. Використовує супутникові знімки NASA та аерозйомку USGS для побудови тривимірних моделей Землі, Місяця, Марсу, Венери.
NASA World Wind використовує ліцензію з відкритим вихідним кодом. Внаслідок того, що при розробці використано технології (C#, DirectX) , програма працює тільки під управлінням операційних систем Microsoft Windows.
Спочатку в програмі містяться карти з низькою роздільною здатністю. При наближенні деякої даної області на карті, зображення з високою роздільною здатністю викачуються з серверів NASA.
Програма дозволяє вибирати масштаб, напрям і точку зору, видимі шари, проводити пошук по географічних назвах. Можливе відображення назв географічних об'єктів та політичних меж.
NASA World Wind має розширювану архітектуру. Існують застосунки для роботи з GPS, для відображення хмарності, землетрусів, ураганів у наближенні до реального часу та ряд інших застосунків[5].
Задачею моєї бакалаврської роботи є проектування, розробка та тестування програмного забезпечення для інформаційної підтримки велодоріжок м. Хмельницький
У ПЗ для інформаційної підтримки велодоріжок м. Хмельницький мають бути наступні функції:
Для реалізації цих функцій в ПЗ буде передбачено два основні класи користувачів: адміністратор та прості користувачі. Адміністратори користувачі, що мають змогу вносити зміни у систему а також змінювати її інформативне наповнення. Прості користувачі користувачі, що можуть переглядати інформацію, фільтрувати та підшуковувати відповідні дані.
Базові інструменти будуть оперувати даними у форматі XML, який описує набір екземплярів елементів (вузли, відрізки та зв'язки).
Елементи, або базові примітиви включають:
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. Характеристики системи
Система геолокації велосипедних доріжок повинна мати наступні функції:
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. Інші вимоги
Відсутні.
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].
Система спроектована за принципом 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 фреймворк, що дозволяє створювати динамічний як візуальний так і обмінний функціонал для мобільних пристроїв.
jQueryUI javaScript фреймворк створений для адаптації javascript під інтерактивні запити сучасних користувачів.
Використання сторонніх сервісів таких як Google Maps API v3 спрямоване на розвантаження сервера та надання інтерактивності даних уже готовими засобами без винаходження «велосипеда». На рис. 3.1 зображена діаграма компонент, яка демонструє логіку та послідовність взаємодії системи між собою.
Рис. 3.1 UML Діаграма компонент
Користувач відправляє запит на сервер після чого, даний запит обробляється PHP інтерпретатором та Apache і формує відповідь для клієнта. При потребі звернення до БД PHP-скрипти здійснюють це і віддають інформацію у повній мірі.
У випадку необхідності звернення до третіх ресурсів, а саме Google Maps JavaScript відсилає дані до сервера Google та отримує відповідь у вигляді мультимедійної карти та API функцій, що можуть надати ресурсу потрібну інтерактивність та динамічність.
Для збереження інформації у системі використовувалася база даних MySQL. Основний тип таблиць MyISAM. MyISAM таблиці зберігаються на диску в трьох файлах в каталозі з іменем, що відповідає імені бази даних. Файли названі згідно з ім'ям таблиці в базі даних. Розширення файлів означають: .FRM визначення таблиці .MYD (MyData) файл даних, .MYI (MyIndex) Індекси таблиці.
Основні недоліки MyISAM: брак транзакційності, блокування на рівні таблиць, і відсутність підтримки стандартів MVCC та ACID. MyISAM, однак, один із небагатьох механізмів що підтримує повнотекстовий пошук.
Проектована БД, була зведена до третьої нормальної форми, щоб уникнути надлишковостей та повторення даних на рис. 3.2 зображена ER - схема бази даних (візуальне відображення в утиліті PHPMyAdmin)
Рис. 3.2 Діаграма бази даних
У базі даних є пять таблиць, що зберігають інформацію. Дві із них звязані між собою звязком один до багатьох. Кожна таблиця містить в собі елемент первинного ключа та автоінкремент.
Таблиця users таблиця для зберігання користувачів та паролів входу адміністраторів. Містить наступні поля:
На рис. 3.3 зображена таблиця users.
Рис. 3.3 структура таблиця users
Таблиця contact_us таблиця із інформацію про людей, що вирішили звязатися із розробниками або задати питання адміністрації системи. Містить наступні поля:
На рис. 3.4 зображена схема таблиці contact_us.
Рис. 3.4 таблиця contact_us
Таблиця streets допоміжна таблиця із списком усіх вулиць, що є у місті Хмельницькому. Має два поля:
Таблиця ways призначення для збереження маршрутів системи. Звязана із таблицею path оскільки маршрути у БД зберігаються наступним чином. Кожен маршрут це набір послідовних координат, які зберігаються у таблиці path, кожна координата належить певному маршруту, оскільки всі координати є посортовані у мірі їх добавляння на карту маршрут не перемішується і не ламається саме, тому візуальні лінії завжди правильно відтворюються. Поля таблиці ways:
На рис. 3.5 зображена схема таблиці ways
Рис. 3.5 Схема таблиці ways
Таблиця path призначена для збереження послідовних координат вело доріжок має наступні поля:
На рис. 3.6 зображена схема таблиці path.
Рис. 3.6 Схема таблиці path
Програмна система була реалізована використовуючи архітектуру клієнт-сервер із використанням хмаркових технологій. Специфікація вимог описує увесь необхідний функціонал, який повинен був бути розроблений:
Для вводу велосипедного маршруту потрібно мати права доступу адміністратора. Коли адміністратор зайде у систему йому потрібно ввести дані у форму логіну рис. 4.1.
Рис. 4.1 Форма входу для адміністратора
Дані про логін повинні бути коректними та зберігатися у таблиці users. В додатку А зображена діаграма варіантів відгуку системи, що описує процес входу адміністратора в довірену зону.
Усі вищеописані дії супроводжуються візуальним відкликом системи, зокрема дані, що можуть бути неправильно введені підсвічуються у тому місці де це могло статися рис. 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.7.
Рис. 4.7 Список маршрутів
Таким чином адміністратор може видалити будь-який маршрут і створити новий із такою ж назвою та із зміненими даними, зокрема про напрямок маршруту. Варто зазначити, що процес видалення маршруту включає у собі декілька транзакцій для повного очищення бази даних. Запити відбуваються у наступній послідовності:
Після таких маніпуляцій база даних є повністю очищена від надлишкової інформації, що дозволяє завжди тримати систему працездатною та не пере використовувати ресурси
Для перегляду маршрутів простому користувачеві потрібно просто зайти у систему та обрати сторінку «Маршрути» після чого йому відриється список усіх доступних маршрутів у користувача є можливість сортування даних маршрутів по складності назві чи довжині, таким чином користувач завжди може обрати підходящий маршрут. На рис. 4.8 зображено вигляд сторінки «Маршрути» для користувача.
Рис. 4.8 Вигляд маршрутів для користувача
Для перегляду маршруту користувачу потрібно вибрати необхідний маршрут у таблиці та натиснути на нього після чого відкриється сторінка вибраного маршруту із нанесиними на карту лініями, відповідно здійснювати змін чи маніпуляцій користувач не може рис. 4.9.
Рис. 4.9 Вигляд маршруту для користувача
Користувачу доступні стандартні опції маніпуляцій із картою: збільшення/зменшення, поворот, переміщення. Таким чином користувач може детально переглянути маршрут, а також існує особлива опція 3d перегляду місцевості, у випадку якщо дана місцевість є знятою компанією Google (рис. 4.10)
Рис. 4.10 3d перегляд вулиць
Система є складною із великою кількістю технічних та мережевих взаємодій, саме тому можливі випадки коли вона може працювати некоректно, особливо якщо врахувати розмаїтість пристроїв на яких може бути запущена. Саме тому створена додаткова опція звязку із розробником. Це спеціальна опція, яка дозволяє користувачеві відкрити спеціальну контактну форму для залишення повідомлення розробникам рис. 4.11.
Рис. 4.11 контактна форма
Після коректного заповнення форми повідомлення відправляється на пошту до адміністратора і розробник може вживати заходів, щодо уникнення помилок та їхнього повторення.
Система реалізована на базі широкого використання технологій, що базуються на 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 компютері, але відхилення на реальному пристрої не повинні відрізнятися від емулятора.
При розробці бакалаврської кваліфікаційної роботи було спроектовано та розроблено ПЗ для інформаційної підтримки велодоріжок м. Хмельницький. Система призначена для геолокації велосипедних доріжок та маршрутів міста Хмельницького, для можливості складання маршрутів та обліку пройдених відстаней велосипедистами .
Система спроектована за принципом 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 з 2 |
||
ІДН кафедра ПЗ ПІм-41(з) |
|
|||||
Виконав |
Пастернак О.В. |
Підпис |
Схема передачі та збереження даних при формуванні маршруту |
Сторінка |
|
Перевірив |
Федорчук Є.Н. |
Підпис |
2 з 2 |
||
ІДН кафедра ПЗ ПІм-41(з) |
1. Компоненти ПЗ.
Система реалізована на веб-орієнтованих технологіях, що дозволяє будь-якій людині переглянути на карті усі доступні велосипедні маршрути. У свою чергу з точки зору адміністратора система надає можливість вводити велосипедні маршрути та у графічному режимі вводити їхнє розташування на карті міста Хмельницький.
Для простих користувачів система дозволить підбирати маршрути за їхньою довжиною та складністю. Адміністраторам буде наданий функціонал, який дозволить вносити нові маршрути та змінювати старі.
Два основні класи користувачів, які присутні у системі: адміністратор, прості користувачі. Адміністратори користувачі, що мають змогу вносити зміни у систему а також змінювати її інформативне наповнення. Прості користувачі користувачі, що можуть переглядати інформацію, фільтрувати та підшуковувати відповідні дані.
2. Встановлення ПЗ.
Середовищем функціонування системи може виступати будь-яка платформа, яка дозволяє встановити веб-переглядач. Веб-переглядачем можуть виступати такі програми як: Internet Explorer, Opera, Firefox, Saffari, Google Chrome. Браузер обовязково повинен мати опцію використання JavaScript. Оскільки система являється веб-орієнтованою то особливих вимог до операційної системи немає.
На стороні сервера повинен бути встановлений PHP інтерпретатор та Apache для відтворення та передачі скриптів.
3. Базові функції ПЗ.
Для вводу велосипедного маршруту потрібно мати права доступу адміністратора. Коли адміністратор зайде у систему йому потрібно ввести дані у форму логіну. Дані про логін повинні бути коректними та зберігатися у таблиці users. Усі вищеописані дії супроводжуються візуальним відклком системи, зокрема дані, що можуть бути неправильно введені підсвічуються у тому місці де це могло статися.
Після успішного входу у систему користувачеві міняється хідер системи, де видно що він залогований.
Коли користувач залогінений у системі йому появляється посилання із можливістю формування маршруту. Для цього користуач повинен відмічати точки по яких повинен проходити маршрут зєднання між двома точками відбувається автоматично, тому адмін повинен слідкувати за коректним прокладанням маршруту. Система сама вираховує довжину маршруту чим більше точок додаються, тим більше відповідно стає маршрут.
Після введення візуального маршруту користувачу потрібно заповнити дані про:
У випадку, якщо візуальні дані були введено невірно користувач має змогу очистити карту.
При натисканні кнопки «зберегти дані» система за допомогою асинхронного запиту відправляє дані на сервер де скрипт приймає їх обробляє відповідним чином та зберігає у базу даних після чого виводить користувачеві повідмлення про успішне збереження даних.
Коли користувач здійснив вхід у систему йому також доступно видаляти існуючі маршрути та створювати нові таким чином можна їх змінювати. Для того, щоб адміністратор міг зробити дані дії йому потрібно зайти на сторінку «Маршрути», вибрати необхідний маршрут із списку та видалити його Варто зазначити, що для зручності та адаптивності користувача інтерфейс вікна не змінюється, просто добавляється додатковий функціонал. Візуальним чином це виражається у додаванні колонки до таблиці із списком маршрутів.
Для перегляду маршрутів простому користувачеві потрібно просто зайти у систему та обрати сторінку «Маршрути» після чого йому відриється список усіх доступних маршрутів у користувача є можливість сортування даних маршрутів по складності назві чи довжині, таким чином користувач завжди може обрати підходящий маршрут.
Для перегляду маршруту користувачу потрібно вибрати необхідний маршрут у таблиці та натиснути на нього після чого відкриється сторінка вибраного маршруту із нанесиними на карту лініями, відповідно здійснювати змін чи маніпуляцій користувач не може.
Користувачу доступні стандартні опції маніпуляцій із картою: збільшення/зменшення, поворот, переміщення. Таким чином користувач може детально переглянути маршрут, а також існує особлива опція 3d перегляду місцевості, у випадку якщо дана місцевість є знятою компанією Google.
Створена додаткова опція звязку із розробником. Це спеціальна опція, яка дозволяє користувачеві відкрити спеціальну контактну форму для залишення повідомлення розробникам.
Після коректного заповнення форми повідомлення відправляється на пошту до адміністратора і розробник може вживати заходів, щодо уникнення помилок та їхнього повторення.
А также другие работы, которые могут Вас заинтересовать | |||
52660. | Відомий дослідник генетики- Грегор Мендель | 26 KB | |
У 1843 році Мендель був прийнятий в августинський монастир святого Томаша в Альтбрюнні. Несподіванкою не тому що Мендель зробив доповідь адже звичайно було відоме що роботу з гібридизації гороху він веде уже багато років а через те що було в доповіді сказано. Чи випадково Мендель зайнявся проблемою гібридизації Що це було: ще одне хоббі дилетанта розвага типу збирання марок. | |||