Розробка web-орієнтованої інформаційно-довідкової системи автомобільно-пасажирського транспорту
Визначення функціональних вимог до інформаційно-довідкової системи автомобільно-пасажирського транспорту. Вибір інструментів та середовища програмування, його технологічне обґрунтування. Розробка та докладний опис алгоритму роботи, вимоги до інтерфейсу.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 25.04.2016 |
Размер файла | 1,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Розробка web-орієнтованої інформаційно-довідкової системи автомобільно-пасажирського транспорту
Вступ
інтерфейс інформаційний програмування алгоритм
У сучасному світі виникла тенденція щільної взаємодії людини з комп'ютерними технологіями (КТ), які по-перше, стали невід'ємною частиною повсякденного життя людини, та по-друге КТ відчутно поліпшують якість та скорочують час виконання поставлених задач. Теперішній соціум взагалі неможливо представити без участі в нашому житті прогресивних технічних пристроїв, рішень. Виходячи з цього можна впевнено сказати, що розвиток комп'ютерних технологій та комп'ютеризація на підприємствах, компаніях різноманітних напрямів, в науці та у сфері освіти відбувається на достатньому рівні та має великий потенціал розвитку.
Взагалі впровадження новітніх технологій у різноманітні сфери життя людей являється необхідним процесом, що позитивно впливає на таке поняття, як прогрес. Таке впровадження систематизує, автоматизує, впорядковує і покращує роботу користувача та час, що буде затрачено на виконання поставленого завдання. Наприклад, розглянемо можливість використання довідково-інформаційної системи автомобільно-пасажирського транспорту з метою надання необхідних даних користувачу за його запитом. На сучасному рівні даний процес за допомогою інтернет технологій, значно поліпшує обробку інформації та зменшує людські та часові затрати. Існує багато процесів які потребують автоматизації, це такі процеси як економічні розрахунки, облік великих архівів з інформаційними матеріалами, розрахунки навантажень, тиску, напруги та багато ін.
Автомобільний транспорт - найбільший мобільний з усіх існуючих видів транспорту. З його допомогою здійснюється повсякденна транспортний зв'язок між підприємствами, установами та організаціями, та особливу увагу слід зосередити саме на пасажирських перевезеннях.
Наше завдання - створити web-орієнтовану довідково-інформаційну систему автомобільно-пасажирського транспорту, яка систематизує та зробить ефективнішим процес пошуку автомобільного маршруту завказаними користувачем параметрами, швидко та зручно відобразить часові, фінансові витрати, графік перевезення пасажирів.
Майбутнє програмне забезпечення(ПЗ) буде створено на підставі покращення, систематизації, економії часу та певної автоматизації процесу надання довідкової інформації на запити користувача.
1. Дослідження літературних джерел, актуальність та виявлення недоліків
1.1 Аналіз предметної області
Розробка інформаційної системи здійснюватиметься за допомогою можливостей сучасного та перспективного середовища - Internet. Переваги виконання програмних рішень за допомогою internet технологій суттєві. Завдяки глобальному середовищу, що зв'язує комп'ютерні мережі різного рівня, комп'ютери кожен з яких веде обмін інформацією по каналах громадських телекомунікацій на базі протоколів передачі даних відкривається можливість надавати користувачам великий обсяг контенту, послуг та сервісів. Робота користувача в internet мережі здійснюється з графічної оболонки веб браузерів таких, як Google Chrome, Internet Explorer, Opera, Mozilla Firefox, Safari. Майбутня інформаційно - довідкова система характеризуватиметься, як інтернет - портал.
Інтернет-портал - сукупність поєднаних безпосередньо через мережу «Інтернет» апаратних засобів, що включають комп'ютери та машинозчитувані електронні носії інформації із заздалегідь записаною на них інформацією або виконані з можливістю запису та зчитування інформації у вигляді комп'ютерних програм, баз даних і т. п., виконана з можливістю обробки зазначеної інформації та команд користувача системи та надання йому Інтернет-сервісів як результатів обробки зазначеної інформації і команд. Інтернет-портал для користувачів - сайт, що надає користувачеві Інтернету різні інтерактивні сервіси (Інтернет-сервіси), які працюють у рамках єдиного сайту. Також портали працюють як точки доступу до інформації у Інтернеті або сайти, що допомагають користувачам у пошуку потрібної інформації через Інтернет. Такі портали представляють інформацію з різних джерел або тем об'єднаним способом і також називають навігаційними сайтами.
Всі портали виконують функції пошуку, а також, надають Інтернет-сервіси, наприклад: електронна пошта, стрічка новин, дошка оголошень тощо.
Ідея роботи порталу - створення або представлення критичної маси Інтернет-сервісів, якими б можна було залучити до себе таку кількість користувачів-відвідувачів, яка буде постійно поповнюватися та збільшуватися. Існує певна класифікація по спрямованості на користувачів:
Горизонтальний портал (або портал загального характеру) - це портал, що охоплює багато тематик, представляє набір сервісів (які обслуговують, по можливості, всі теми) й орієнтований на максимально широку аудиторію, на максимальне охоплення її інтересів. Найбільш відомі горизонтальні портали (за секторами Інтернету) - Yahoo! (англомовний), Ukr.net, Яндекс (обидва - російськомовні та україномовні). Такі портали, як правило, сполучають у собі різноманітні функції, пропонують різноплановий вміст (контент) і різноманітні сервіси (новин, фінансові, розважальні, ігрові тощо).
Вертикальний портал - це портал вузької тематичної спрямованості, що надає різні сервіси для користувачів мережі по певних інтересах і орієнтований на повне охоплення тематики або галузі діяльності. Якщо тематика вертикального порталу досить цікава, довкола нього може скластися так звана «спільнота» (community) - більш-менш постійна група осіб, що, наприклад, систематично спілкуються між собою в чаті такого порталу.
Система буде спроектована за принципами вертикального порталу. Наша мета створити web - орієнтовану інформаційно - довідкову систему автомобільно - пасажирського транспорту, що є основним видом транспорту для поїздок на короткі та середні відстані.
Міський транспорт призначений для перевезення пасажирів у містах і населених пунктах.
Він включає в себе кілька видів транспорту, а саме: автобус, маршрутне таксі, трамвай, тролейбус, швидкісний трамвай.
Останні три складають групу міського електричного транспорту. Саме цим категоріям транспорту буде приділена вся увага.
Визначення функціональних вимог до інформаційно-довідкової системи автомобільно - пасажирського транспорту
Безпосереднім завданням даного дипломного проекту є розробка web орієнтованої інформаційно - довідкової системи автомобільно - пасажирського транспорту.
На основі проведеного аналізу, та враховуючи критерії проектування інтернет порталу, нами було визначено основні функціональні вимоги, яким повинен відповідати система.
Отже інформаційно - довідкова система повинна мати наступні функціональні можливості:
- навігація по карті міста, перегляд дорожніх - маршрутних вузлів;
- перегляд загальної інформації та можливість перегляду більш докладних відомостей транспортних маршрутів;
- надання інформації про поточне місцезнаходження;
- пошук маршруту прямування від точки А до точки Б за запитом користувача;
- можливість вибору критеріїв пошуку, наприклад за конкретним транспортом, або номером маршруту.
Проектування та розробка web - орієнтованої інформаційно - довідкової системи автомобільно - пасажирського транспорту - є складною задачею, яку виконують фахівці спеціалізованого профілю з поглибленими знаннями у геоінформаційній системі пошуку та оптимізації транспортних маршрутів, а також у сфері бізнес-логіки програмних додатків. Внаслідок вірного проектування та розробки майбутньої системи користувач матиме можливість вільно керувати своїми переміщеннями в автомобільно - пасажирських подорожах, вибирати для себе оптимальний шлях за власними критеріями.
1.2 Аналіз існуючих проектних рішень для реалізації завдань аналогічного призначення
На даному етапі нами було проведено аналіз існуючих проектних рішень, метою яких була розробка системи автомобільно - пасажирських перевезень, з пошуком необхідних користувачу маршрутів та наданням стислої інформації по ним. Існує достатній перелік таких систем, але нами було обрано для аналізу деякі з них: transport.trvlr.club, spb.rusavtobus, easyway.
Transport.trvlr.club - даний сервіс представляє собою довідково - інформаційну систему з інтуїтивно зрозумілим інтерфейсом, мінімальним набором функцій, що можуть задовольнити запити користувача. Графічне відображення на google maps наглядно відтворює шлях слідування від пункту А до пункту В. Даний сервіс являється міжнародним та орієнтований на подорож по країнам Європи не деталізуючи подорож містами та вулицями цих міст.
Spb.rusavtobus - даний сервіс знаходиться на стадії розробки, має частково робочий інтерфейс. Представляє собою довідково - інформаційну систему з інтуїтивно зрозумілим інтерфейсом, який потребує оптимізації та опрацювання, також має мінімальний набір функцій, що можуть задовольнити запити користувача. Графічне відображення на google maps наглядно відтворює шлях слідування від пункту А до пункту В. Сервіс в свою чергу орієнтований на експлуатацію на території Росії, та невеликим переліком міст, наприклад Київ, Донецьк, Одеса, Мінськ, Лондон, Сідней.
Easyway - web - орієнтована система, що представляє собою кросплатформений / кросбраузерний продукт, знаходиться на стадії постійних внесень змін, поправок, оновлень. Представляє собою довідково - інформаційну систему з інтуїтивно зрозумілим інтерфейсом, має достатній набір функцій, що можуть задовольнити запити вибагливого користувача. відкрита для перегляду користувача інформаційна база маршрутів. Графічне відображення на google maps наглядно відтворює шлях слідування від пункту А до пункту В. Сервіс орієнтований переважно на Україну і в меншій мірі на країни СНГ.
Порівняльна характеристика обраних нами для аналізу систем представлена у вигляді таблиці 1.1
Таблиця 1.1. Інформаційно-довідкових систем автомобільно-пасажирського транспорту
Критерії оцінювання |
Системи автомобільно - пасажирського транспорту |
|||
EasyWay |
spb.rusavtobus |
transport.trvlr.club |
||
Масштаб покриття |
Україна, Казахстан, Молдова, Росія, Сербія, Хорватія, Болгарія |
Росія |
Міжнародний |
|
Перелік транспорту |
Автобус, тролейбус, маршрутка, трамвай, швидкісний трамвай |
Автобус, тролейбус, маршрутка, трамвай, метро, електричка |
Автобус |
|
Графічне відображення маршруту |
Google Maps |
Google Maps |
Google Maps |
|
Тип пошуку маршруту |
По заданим координатам на карті, по заданим пунктам |
По заданим координатам на карті, по заданим пунктам |
По заданим координатам на карті, по заданим пунктам |
|
Загальна база маршрутів доступних користувачу для перегляду |
Доступна для перегляду |
Недоступна |
Недоступна |
|
Урахування вартості проїзду |
Врахована можливість розрахунку вартості проїзду |
Врахована можливість розрахунку вартості проїзду |
Врахована можливість розрахунку вартості проїзду |
|
Урахування пересадки |
Врахована можливість здійснення пересадки |
Врахована можливість здійснення пересадки |
Не врахована можливість здійснення пересадки |
|
Платні послуги та функції |
Існують платні послуги |
Без платних послуг |
Без платних послуг |
Таким чином, проаналізувавши аналоги вже існуючих web орієнтованих систем, дійшли висновку, що розробка власної інфомаційно - довідкової системи є актуальною в силу того, що більшість розглянутих програмних рішень в даному розділі дипломного проекту мають як значні переваги, так і певні недоліки, що були зображені у порівняльній таблиці. [2]
Опираючись на вище зазначене слід зауважити, що при розробці власної web - орієнтованої системи нам необхідно опиратись на кросбраузерність, безкоштовну експлуатацію програмного продукту, а також слід достатньо глибоко розглянути критерії, якими буде оперувати користувач створюючи свій запит звертаючись до системи. Цим вона буде вигідно відрізнятися від інших програм. Отже, тема дипломного проекту є актуальною, а розробка власного програмного продукту дасть змогу користувачу комфортно та ефективно використовувати майбутню систему в цілях задоволення запитів користувача до системи автомобільно - пасажирських маршрутів під час різноманітних подорожей.
1.3 Вибір інструментів та середовища програмування
Для нашого проекту буде доцільним проектування системи за допомогою фреймворку. Framework - це проста концептуальна структура, використана для вирішення складної проблемної задачі. У контексті програмування поняття framework - це каркас програмної системи, який може включати допоміжні програми, бібліотеки коду, мова сценаріїв і інше ПЗ, що полегшує розробку і об'єднання різних компонентів великого програмного проекту. Існує великий перелік фреймворків, що доступні програмісту для користування. Слід зазначити, що крім основних принципів які містять в собі всі фреймворки, вони також мають достатньо відмінностей. Пропоную зупинити свою увагу на декількох з них:
- Zend Framework
- Code Igniter
- Yii
- Symfony
Для того, щоб повністю проаналізувати дані фреймворки, необхідно виділити набір важливих критеріїв. Проведений аналіз зображено у таблиці 1.2.
Таблиця 1.2. Порівняння фреймворків
Zend Framework |
Code Igniter |
Symfony |
Yii |
||
Описання |
Академічно грамотний код. Дуже гнучкий. Вимагає доброго знання PHP і ООП. Суха, але досить повна технічна документація. |
Багато вбудованого функціоналу. Все досить тісно інтегровано. Дуже легкий для вивчення. Відмінна документація. Гнучкий. Легко використовувати сторонній код. |
Активно використовує командний рядок. Вивчити дуже непросто, незважаючи на хорошу документацію. |
Простіше у вивченні, ніж Zend і Symfony. Непоганий AR, хороша система view, генератори коду. Досить тісна інтеграція. |
|
Необхідний рівень знань |
PHP5, ООП, шаблони проектування. |
PHP, Основи ООП |
PHP5, ООП, ORM, консоль |
PHP5, ООП. |
|
Передбачувані проекти |
Середні - великі |
Маленькі - великі |
Великі |
Маленькі - великі |
|
PHP5.2 |
Так |
Так |
Ні |
Так |
|
Жорстка структура каталогів |
Ні |
Так |
Так |
Ні |
|
Офіційна підтримка інтернаціоналізації |
Так |
Так |
Так |
Так |
|
Складність встановлення і налаштування |
Висока |
Низька |
Висока |
Середня |
|
Вимагає налаштування |
Багато |
Трохи |
Багато |
Трохи |
|
Повна підтримка ORM |
Ні |
Ні |
Так |
Так |
|
Документація і приклади |
Хороша |
Відмінна |
Відмінна |
Відмінна |
|
Unit-тести для вихідного коду фреймворку |
Так |
Ні |
Так |
Так |
|
Англомовне спільнота |
Так |
Форум, Wiki, туторіали, блоги |
Так |
Так |
|
Російськомовне співтовариство |
Так |
Документація, форум, блоги |
Так |
Документація, форум, блоги |
|
Ліцензія |
New BSD |
Своя |
MIT |
New BSD |
Провівши ретельний аналіз по багатьом критеріям, які являються важливими у процесі розробки програмного продукту, нами було вирішено зупинитись на Zend Framework. Вибір середовища програмування є також важливим питанням, але в контексті даного проекту нами було вирішено використати можливості універсального середовища програмування - NetBeans. Вибір зроблений ґрунтуючись на кроссплатформеність, вільну ліцензію що дозволяє використовувати достатній набір можливостей середовища, а також з точки зору особистого досвіду та вподобань.
1.4 Обробка та можливості Google Maps API
У майбутній інформаційно - довідковій системі для візуального відображення маршруту заплановано використати компонент Google Maps API. Це сучасний метод графічного відображення географічної карти з докладною структурую країн, міст, вулиць, проспектів в нашому випадку з урахуванням транспортної розв'язки, головною відмінністю програмного інтерфейсу є актуальність інформації. З точки зору розробника програмного продукту даний компонент має зрозумілу, розгорнуту інформацію про впровадження даного програмного інтерфейсу на будь який портал. [6] Перед нами відкриваються можливості редагування карти під конкретні потреби, виконувати оформлення за своїм вподобанням. Завантаження карти виконується за рахунок скрипту, що напряму завантажує карту з адреси https://maps.googleapis.com/maps/api/js. Для відображення безпосередньо на сторінці системи, необхідно розробити елемент - контейнер в якому буде здійснюватись відображення карти. Розробник має можливість додатково вказати такі параметри, як початковий масштаб карти, координати карти місця що відображається під час стартового завантаження карти на сторінку web - орієнтованої системи.
2. Розробка та докладний опис алгоритму роботи
2.1 Алгоритм вирішення прикладної задачі
Створена інформаційна система автомобільно - пасажирського громадського транспорту, дозволяє отримати детальну інформацію про зупинки і маршрутах транспорту, побудувати шлях з пересадками між будь-якими пунктами зупинок області будь-яких видів транспорту з урахуванням розкладу руху. Система реалізована у вигляді веб-порталу, доступного для будь-якої людини. розглянемо Use case діаграмуна рисунку 2.1, яка зображує роботу системи та функціональні можливості в цілому. Виявлення прав та можливостей користувача, перелік функцій.
Рисунок 2.1. Можливості роботи інформаційної системи в цілому
Цей сервіс призначений для перегляду списку маршрутів, що проходять через обрану зупинку, і докладних характеристик кожного з них. Після вибору зупинки і натисканні на кнопку «Пошук маршруту» (або натисканні на зупинку-посилання) з'являється панель, що містить основні відомості про зупинення (кількість минаючих маршрутів і види транспорту), таблиця зі списком маршрутів, що проходять через цю зупинку. При виборі будь-якого рядка цієї таблиці на мапі малюється обраний маршрут і з'являється друга таблиця, що містить розклад на зупинці для обраного маршруту (вартість, інтервал руху, час прибуття і відправлення, дні прямування). При виборі рядка в другій таблиці з'являється третя таблиця, що містить інформацію про обраний рейсі - зупинку, час прибуття і відправлення, час руху і пройдену довжину від початкової зупинки.
Зупинки і маршрути в таблицях являють собою посилання, як і в пошуку найкоротшого шляху.
Формування таблиць реалізовано за допомогою технології Microsoft AJAX і веб-сервісів. При натисканні на кнопку «Пошук маршруту» або виборі рядка в таблицях з javascript-коду викликається веб-сервіс, який зчитує необхідну інформацію з бази даних і формує HTML-код, який відображається на сайті.
Пошук маршруту
Вибір маршруту виробляється з списку, що містить перелік маршрутів для обраного виду транспорту. При необхідності можна встановити додаткову фільтрацію за номером маршруту або першими літерами його назви. Можна також вибрати його натисканням на маршрут-посилання в якій-небудь таблиці. Обраний маршрут відразу ж відображається на карті і з'являється панель з інформацією про маршрут (перевізник і вид транспорту) і таблицею, що містить перелік зупинок і їх характеристик (довжина шляху від початкової зупинки, кількість минаючих маршрутів і наявність на зупинці павільйону). При виборі рядка в цій таблиці з'являється друга таблиця - розклад на зупинці для обраного маршруту. При виборі рейсу з'являється таблиця з інформацією про обраний рейсі (зупинка, час прибуття і відправлення, час руху і пройдена довжина від початкової зупинки). [3]
Для побудови найкоротшого шляху потрібно вибрати зупинки зі списку, який з'являється при введенні декількох перших літер назви зупинки, або вибрати їх на карті (зупинок може бути від 2 до 4), вказати види транспорту (можна відразу все), час початку руху, а також можливість пересадок. Знайдений шлях малюється на карті і основні відомості про нього відображаються в таблиці.
Шлях без пересадок може не існувати. Якщо обрано шлях з пересадками - шукається найкоротший (за часом руху) шлях, в якому може бути до 4 пересадок.
На карті використовується технологія Drag-and-Drop, що дозволяє переміщати маркери зупинок. При цьому буде будуватися новий маршрут.
Зупинки і маршрути в таблиці являють собою посилання, при натисканні на які з'являється детальна інформація про розклад маршрутів на даній зупинці або інформація про маршрут.
Розрахунок і побудова найкоротшого шляху реалізовані з використанням технології Microsoft AJAX. Найкоротший шлях будується з використанням системи транспортного планування PTV Vision VISUM. Якість знайдених шляхів хороше, але у цієї системи є недолік - відносно великий час пошуку. При пошуку шляху через 4 зупинки час пошуку може досягати 10 - 15 с. Тому в найближчому майбутньому планується розробка своєї програми пошуку найкоротшого шляху.
Технологія Google Maps API показала хороші результати - на її основі вдалося створити зручний користувальницький діалог з широкими можливостями для пошуку зупиночних пунктів і перегляду знайденого шляху.
Проблемами всіх систем є пошук шляху з декількома пересадками і пошук інтермодального шляху (шляху з декількома видами транспорту). Також всі ці системи мають незручний для користувача діалог.
2.2 Вимоги до інтерфейсу системи
Розробка інтерфейсу - важлива стадія роботи над проектом. Інтерфейс це все те, за допомогою чого користувач взаємодіє з інформаційною системою. Так як з системою працює звичайний середньо статистичний користувач, а число сеансів роботи зазвичай велике, так що особливого значення набуває швидкість і легкість освоєння управлінням інформаційною системою. Тому необхідно забезпечити можливість сконцентруватися на досліджуваному предметі і якомога менше думати про способи спілкування з комп'ютером. Крім того, інтерфейс повинен відображати специфіку досліджуваного середовища, зокрема адекватно відображати і сприймати - графіку, символіку, способи взаємодії.
Хоча в даний час відсутні законодавчо затверджені стандарти на графічний користувальницький інтерфейс, такі стандарти є де-факто. Мова йде в першу чергу про правила використання різних елементів інтерфейсу (елементів управління), таких як смуги прокрутки, кнопки, перемикачі і т.д.
При розробці дизайну необхідно постійно ставити себе на місце користувача і весь час намагатися задовольнити його потреби. У зв'язку з цим, хотілося б сказати кілька слів про таке поняття, як usability:
легкість освоєння;
- відмінність;
- ефективність використання;
- надійність використання;
- задоволення користувача.
Мета розробника - не стільки самовираження, скільки подача оформлюваного предмета. Для web - дизайнера має бути важливо на початку не те представлення системи яке буде зручно йому, а те, як це буде сприйнято з боку споживача / користувача. Отже, робота web - дизайнера повинна базуватися на системі сприйняття того типу людей, на яких вона розрахована. Саме в дизайні стає критично важливою психологія глядача: якщо не сподобалося, не зрозумів - то й не засвоїв матеріал, не зацікавився, не запам'ятав, забув.
Психофізіологічні особливості людини необхідно враховувати при виборі візуальних атрибутів розміщується на екрані інформації, її компонуванні, а також при включенні до складу курсу мультимедійних елементів. [5]
Перше обмеження, про який слід пам'ятати - це можливості короткочасної (оперативної) пам'яті людини. Так, «середня» людина не здатна утримувати в оперативній пам'яті інформацію більш ніж по 5… 9 об'єктів. Це означає, що черговий інформаційний кадр не повинен містити більше 9 різних елементів (малюнків, фрагментів тексту і т.д.).
Інший набір рекомендацій визначається факторами, пов'язаними з право-лівої асиметрією головного мозку людини. Відомо, що ліва і права півкулі по-різному беруть участь у сприйнятті і переробці інформації. Зокрема, при запам'ятовуванні слів провідну роль відіграє ліва півкуля, а при запам'ятовуванні образів більш активно праве. Інформація з правій частині екрана надходить безпосередньо в ліву півкулю, а з лівій частині - в праве (природно, при звичайному зорі користувача). Саме тому текстові повідомлення зазвичай розміщують в правій частині екрана, а зображення - у лівій.
Дуже серйозним питанням, багато в чому визначає якість сприйняття інформації, є раціональне розміщення даних на екрані і облік принципів композиції. Не можна забувати про проблеми психології сприйняття. Будь-яке зображення викликає у людей асоціації, але є предмети, які викликають однакові асоціації, а є - абсолютно різні. Це необхідно враховувати при побудові асоціативних рядів. У завдання дизайнера входить - побудувати твердий асоціативний ряд, який допоможе розкрити тему. Завжди важливо перше враження від сторінки. Користувач, який бажає познайомитися з матеріалом, спочатку повинен «схопити» текст, побіжно просканувавши сторінку, і вибрати найбільш важливі слова і вирази.
Отже, кожна сторінка повинна мати ясну візуальну ієрархію своїх елементів. Навігація на сторінках не повинна викликати сумніву, питань; вона повинна бути очевидною. Фрагменти тексту повинні розташовуватися на екрані так, щоб погляд користувача сам переміщався в потрібному напрямку. Вміст полів повинне не «притискатися» до краю екрану, а розташовуватися біля його горизонтальних або вертикальних осей. Основні рекомендації щодо оформлення веб-сторінки відповідно до вимог юзабіліті:
- Зробити текст на сторінці зручним для побіжного ознайомлення.
Слід дотримуватися лаконічність (на сторінках повинна розміщуватись не більше 50% тексту від аналогічного матеріалу в друкованому виданні). Не слід примушувати відвідувача читати великі абзаци тексту, замість цього краще використовувати невеликі абзаци, підзаголовки і маркіровані списки. Інформацію значного обсягу слід розбивати на кілька сторінок, пов'язаних між собою гіперпосиланнями.
- Дотримуватись нелінійного стилю.
Текст сторінок повинен бути оптимізовано для перегляду в Мережі. Окремі сторінки повинні бути короткими, на них повинні розміщуватися посилання на сторінки з супутньою інформацією.
- Створити зрозумілу візуальну ієрархію на сторінці.
Чим важливіше елемент, тим помітніше він повинен бути на сторінці. Елементи, логічно пов'язані між собою, повинні бути пов'язані і візуально. Назва сторінки має займати в її візуальної ієрархії таке місце, щоб воно «окреслювало» розташований на ній вміст (тобто воно має бути розташоване вгорі сторінки і бути помітним).
- Використати зонування (розбийте сторінку на чітко розділені області).
- Відмовитись від нетрадиційних шрифтів.
Залежність від конкретних шрифтів в Мережі вкрай небезпечна. Якщо розробник використовує гарнітуру, які не встановлену машині користувача, то текст сайту буде відображений невірно. Краще всього не задавати шрифт взагалі, а просто використовувати шрифти, визначені за умовчанням. Це буде працювати завжди. В якості альтернативи, якщо вам дійсно потрібно задати конкретну гарнітуру, визначте список шрифтів: це збільшить імовірність того, що хоча б один із запропонованих шрифтів виявиться на комп'ютері користувача.
- Виділити візуально, підказками все, по чому можна здійснити маніпуляції мишею.
- Розробляти «гумовий» дизайн сторінки, що не залежить від дозволу екрану.
Не слід використовувати фіксовані розміри таблиць, фреймів і інших елементів дизайну сторінки. Замість цього потрібно задавати всі розміри у відсотках від доступного простору.
- Скоротити до мінімуму час завантаження сторінки.
Якщо файл або сторінка завантажується довго, то потрібно допомогти користувачам сайту спрогнозувати час завантаження. Для цього можна вказати розмір файлу (сторінки) поруч з посиланням.
Основна рекомендація щодо оформлення головної веб-сторінки. Дизайн головної (домашньої, початковою) сторінки повинен в деяких деталях відрізнятися від дизайну решти сторінок (наприклад, на головній сторінці зазвичай представлений більш великий логотип компанії чи інформаційної системи її назва).
Проектування інтерфейсу системи автомобільно - пасажирського транспорту
Враховуючи вимоги до інтерфейсу інформаційної системи, що проектується нами було розроблено 5 web - сторінок. Виконано сторінки «Главная», «Схема маршрутов», «Поиск маршрутов», «О нас», «Контакты». Для користувача більш орієнтовані на роботу такі сторінки, як головна та сторінки на яких оброблюються операції з маршрутами. На головній сторінці, що схематично зображена на рисунку 2.2 спроектовано відображення карти завдяки Google maps API та безпосереднє місце знаходження користувача, також на рисунку 2.3 зображено реальний вигляд головної сторінки системи. На всіх сторінках у зоні що називається header присутня навігаційна панель, яка виконує єдину функцію - переміщення користувача по сторінках системи.
Рисунок 2.2. Схематичний ескіз головної сторінки системи
Рисунок 2.3 Реальний вигляд головної сторінки системи
Розглядаючи рисунок 2.4 на якому схематично зображено сторінку «Схема маршрутов» можна відзначити, що по праву сторону від карти знаходится оформлений у вигляді таблиць перелік доступних типів транспортів, маршрутів з наведенням курсору миші відображається контекстне меню з більш детальнішою інформацією. На рисунку 2.5 зображено реальний вигляд сторінки «Схема маршрутов» у системі.
Рисунок 2.4. Схематичний ескіз сторінки «Схема маршрутов» інформаційної системи
Рисунок 2.5. Реальний вигляд сторінки «Схемы маршрутов»
Дивлячись на зображення 2.6, що реалізоване по типу макету сторінки на якому зображено вкладка «Поиск маршрутов» можна відзначити що зверху над картою реалізована панель фільтрування запиту користувача стосовно пошуку маршруту. Є можливість вибору початкового та кінцевого пункту призначення, можливість вибору типу маршруту та транспорту за конкретними уподобаннями користувача. Рисунок 2.7 відображає реальний вигляд сторінки «Поиск маршрутов». Дві останні сторінки реалізовані для суто простого заповнення сервісного контенту відносно системи.
Рисунок 2.6. Схематичний ескіз сторінки «Поиск маршрутов» інформаційної системи
Рисунок 2.7. Реальний вигляд сторінки «Поиск маршрутов»
2.3 Розробка БД
Проектування БД - це впорядкований, формалізований процес створення системи взаємопов'язаних моделей ПЗ, які пов'язують збережені в базі дані з об'єктами ПЗ, описувані цими даними
Проектування починається з аналізу ПЗ і виявлення функціональних та інших вимог до проектованої системи.
Спочатку створюється узагальнене неформализованное опис створюваної БД з використанням природної мови, і т.д.
Решта моделей машинно-орієнтовані, з їх допомогою СУБД дає можливість програмам користувачам здійснювати доступ до даних за їхніми іменами, не піклуючись про їх фізичне розташування.
Реляційна база даних - це сукупність взаємопов'язаних таблиць, кожна з яких містить інформацію про об'єкти певного типу. Рядок таблиці містить дані про один об'єкт, а стовпчики таблиці описують різні характеристики цих об'єктів - атрибутів. Записи таблиці, мають однакову структуру - вони складаються з полів, що зберігають атрибути об'єкта. Кожне поле описує тільки одну характеристику об'єкта і має строго певний тип даних. Усі записи мають одні і ті ж поля, тільки в них відображаються різні інформаційні властивості об'єкта.
У реляційній базі даних кожна таблиця повинна мати первинний ключ - поле або комбінацію полів, які єдиним чином ідентифікують кожен рядок таблиці. Якщо ключ складається з декількох полів, він називається складеним. Ключ повинен бути унікальним і однозначно визначати запис. За значенням ключа можна відшукати єдиний запис. Ключі служать також для впорядкування інформації в БД.
Таблиці реляційної БД повинні відповідати вимогам нормалізації відносин. Нормалізація відносин - це формальний апарат обмежень на формування таблиць, який дозволяє усунути дублювання, забезпечує несуперечність збережених у базі даних, зменшує трудовитрати на ведення бази даних.
Нормалізація таблиць призначена для усунення цих недоліків. Є три нормальні форми відносин.
- Перша нормальна форма. Реляційна таблиця приведена до першої нормальної формі тоді і тільки тоді, коли жодна з її рядків не містить в будь-якому своєму полі більше одного значення і жодна з її ключових полів не порожньо.
- Друга нормальна форма. Реляційна таблиця задана в другій нормальній формі, якщо вона задовольняє вимогам першої нормальної форми і всі її поля, що не входять в первинний ключ, пов'язані повної функціональної залежністю з первинним ключем. Щоб привести таблицю до другої нормальної форми, необхідно визначити функціональну залежність полів. Функціональна залежність полів - це залежність, при крторой в екземплярі інформаційного об'єкта певному значенням ключового реквізиту відповідає тільки одне значення описового реквізиту.
- Третя нормальна форма. Таблиця знаходиться в третій нормальній формі, якщо вона задовольняє вимогам другої нормальної форми, жодна з її неключових полів не залежить функціонально від будь-якого іншого неключових поля.
Над реляційними таблицями можливі наступні операції:
- Об'єднання таблиць з однаковою структурою. Результат-загальна таблиця: спочатку перша, потім друга (конкатенація).
- Перетин таблиць з однаковою структурою. Результат - вибираються ті записи, які знаходяться в обох таблицях.
- Віднімання таблиць з однаковою структурою. Результат - вибираються ті записи, яких немає в віднімаються.
- Вибірка (горизонтальне підмножина). Результат - вибираються записи, що відповідають певним умовам.
- Проекція (вертикальне підмножина). Результат - відношення, що містить частину полів з вихідних таблиць.
- Декартовій твір двох таблиць Записи результуючої таблиці виходять шляхом об'єднання кожного запису першої таблиці з кожним записом іншої таблиці.
Реляційні таблиці можуть бути пов'язані один з одним, отже, дані можуть вилучатись одночасно з декількох таблиць. Таблиці зв'язуються між собою для того, щоб в кінцевому рахунку зменшити обсяг БД. Зв'язок кожної пари таблиць забезпечується при наявності в них однакових стовпців.
Існують наступні типи інформаційних зв'язків:
- один-до-одного;
- один-до-багатьох;
- багато-до-багатьох.
Зв'язок один-до-одного припускає, що одному атрибуту першої таблиці відповідає тільки один атрибут другої таблиці і навпаки.
Зв'язок один-до-багатьох припускає, що одному атрибуту першої таблиці відповідає декілька атрибутів другої таблиці.
Зв'язок багато-до-багатьох припускає, що одному атрибуту першої таблиці відповідає декілька атрибутів другої таблиці і навпаки.
Вибір системи управління базами даних
Бази даних - це спеціально розроблене сховище для різних типів даних. Кожна база даних, має певну модель (реляційна, документно-орієнтована), яка забезпечує зручний доступ до даних. Системи управління базами даних (СУБД) - спеціальні додатки (або бібліотеки) для управління базами даних різних розмірів і форм. СУБД повинна забезпечувати реляційну модель роботи з даними. Сама модель передбачає певний тип зв'язку між сутностями з різних таблиць. Щоб зберігати і працювати з даними, такий тип СУБД повинен мати певну структуру (таблиці). У таблицях кожен стовпець може містити дані різного типу. Кожен запис складається з безлічі атрибутів і має унікальний ключ, що зберігається в тій же таблиці - всі ці дані взаємопов'язані між собою, як описано в реляційної моделі.
Відносини в базах даних можна розглядати як математичне безліч, що містить в собі число атрибутів, які сумарно представляють собою базу даних і інформацію, що зберігається в ній. При створенні структури таблиці кожне поле запису повинне мати заздалегідь описаний тип (наприклад: рядок, цілочисельне значення і т.д.). Всі СУБД мають у своєму складі різні типи даних, які не завжди взаємозамінні. При роботі з СУБД завжди доводиться стикатися з подібними обмеженнями. Розглянемо приведені нижче СУБД:
- SQLite - дуже потужна вбудована система управління
- MySQL - найпопулярніша і поширена СУБД
- PostgreSQL - найбільш просунута СУБД
SQLite - база даних, що легко вбудовується в додатки. Так як ця система базується на файлах, то вона надає досить широкий набір інструментів для роботи з нею, в порівнянні з мережевими СУБД. При роботі з цією СУБД звернення відбуваються безпосередньо до файлів (в ці файлах зберігаються дані) замість портів і сокетів в мережевих СУБД. Саме тому SQLite дуже швидка, а також потужна завдяки технологіям обслуговуючих бібліотек.
Переваги SQLite
- Файлова структура - вся база даних складається з одного файлу, тому її дуже легко переносити на різні машини
- Використовувані стандарти - хоча може здатися, що ця СУБД примітивна, але вона використовує SQL.
- Відмінна при розробці та тестуванні - в процесі розробки додатків часто з'являється необхідність масштабування. SQLite пропонує все що необхідно для цих цілей, тому що складається всього з одного файлу і бібліотеки написаної мовою C.
Недоліки SQLite
- відсутність системи користувачів - більші СУБД включають в свій склад системи управління правами доступу користувачів. Зазвичай застосування цієї функції не так критично, оскільки ця СУБД використовується в невеликих додатках.
- відсутність можливості збільшення продуктивності - знову, виходячи з проектування, досить складно вичавити щось більш продуктивне з цієї СУБД.
MySQL - це найпоширеніша повноцінна серверна СУБД. MySQL дуже функціональна, СУБД що вільно розповсюджується, яка успішно працює з різними сайтами та веб додатками. Навчитися використанню цієї СУБД досить просто, так як на просторах інтернету ви легко знайдете велику кількість інформації.
Незважаючи на те, що в ній не реалізований весь SQL функціонал, MySQL пропонує досить багато інструментів для розробки додатків. Так як це серверна СУБД, додатки для доступу до даних, на відміну від SQLite працюють зі службами MySQL.
Переваги MySQL
- Простота в роботі - встановити MySQL досить просто. Додаткові програми, наприклад GUI, дозволяє досить легко працювати з БД
- Багатий функціонал - MySQL підтримує більшість функціоналу SQL.
- Безпека - велику кількість функцій забезпечують безпеку, які підтримується за замовчуванням
- Масштабованість - MySQL легко працює з великими обсягами даних і легко масштабується
- Швидкість - спрощення деяких стандартів дозволяє MySQL значно збільшити продуктивність.
Недоліки MySQL
- Відомі обмеження - за задумом в MySQL закладені деякі обмеження функціонала, які іноді необхідні в особливо вимогливих додатках.
- Проблеми з надійністю - через деякі способів обробки даних MySQL (зв'язку, транзакції, аудити) іноді поступається іншим СУБД по надійності.
- Повільна розробка - Хоча MySQL технічно відкрите ПЗ, існують скарги на процес розробки. Варто зауважити, що існують інші досить успішні СУБД створені на базі MySQL, наприклад MariaDB.
PostgreSQL є самим професійним з усіх трьох розглянутих нами СУБД. Вона вільно розповсюджується і максимально відповідає стандартам SQL. PostgreSQL або Postgres намагаються повністю застосовувати ANSI / ISO SQL стандарти своєчасно з виходом нових версій.
Від інших СУБД PostgreSQL відрізняється підтримкою затребуваного об'єктно-орієнтованого та / або реляційного підходу до баз даних. Наприклад, повна підтримка надійних транзакцій, тобто атомарность, послідовність, ізоляційність. Завдяки потужним технологіям Postgre дуже продуктивна. Паралельність досягнута не за рахунок блокування операцій читання, а завдяки реалізації управління багатоваріантним паралелізмом (MVCC), що також забезпечує відповідність ACID. PostgreSQL дуже легко розширювати своїми процедурами, які називаються збережені процедури. Ці функції спрощують використання постійно повторюваних операцій.
Хоча PostgreSQL і не може похвалитися великою популярністю у відмінності від MySQL, існує досить велике число додатків полегшують роботу з PostgreSQL, незважаючи на всю потужність функціоналу. Зараз досить легко встановити цю СУБД використовуючи стандартні менеджери пакетів операційних систем.
Переваги PostgreSQL
- Відкрите ПЗ відповідне стандарту SQL - PostgreSQL - безкоштовне ПЗ з відкритим вихідним кодом. Ця СУБД є дуже потужною системою.
- Велике співтовариство - існує досить велика спільнота в якому ви запросто знайдете відповіді на свої питання
- Велика кількість доповнень - незважаючи на величезну кількість вбудованих функцій, існує дуже багато доповнень, що дозволяють розробляти дані для цієї СУБД і керувати ними.
- Розширення - існує можливість розширення функціоналу за рахунок збереження своїх процедур.
- Об'єктність - PostrgreSQL це не тільки реляційна СУБД, але також і об'єктно-орієнтована з підтримкою успадкування та багато іншого
Недоліки PostgreSQL
- Продуктивність - при простих операціях читання PostgreSQL може значно сповільнити сервер і бути повільніше своїх конкурентів, таких як MySQL
- Популярність - за своєю природою, популярністю ця СУБД похвалитися не може, хоча і присутній досить велика спільнота.
- Хостинг - в силу вище перерахованих факторів іноді досить складно знайти хостинг з підтримкою цієї СУБД.
Описання структури БД
На початку етапу проектування структури бази даних нам необхідно визначити головні та допоміжні сутності, тобто об'єкти з якими нам прийдеться працювати, які ідентифікуються у робочому середовищі користувача, та їх зв'язки між собою.
В реляційній моделі баз даних сутності представлені у вигляді таблиць. Сутності одного типу об'єднують у класи сутностей. Екземпляр сутності представляє конкретну сутність та описується значеннями атрибутів даної сутності.
Екземпляри сутностей мають ідентифікатори, тобто атрибути за допомогою яких кожен об'єкт даної сутності відрізняється від усіх інших. Ідентифікатори поділяють на унікальні та не унікальні. Якщо ідентифікатор є унікальним, то його значення буде вказувати на окремий екземпляр даної сутності. Інакше його значення буде вказувати на більшу кількість екземплярів.
Нами було визначено, що на концептуальному рівні дана інформаційна система складаються з таких основних сутностей: транспорт (Transport), коротка допоміжна інформація про одиницю транспортного маршруту (InfoTransport), користувач (User), користувач за типом (UserProjectRole), вулиця (Street) і допоміжні таблиці для маніпулювання даними та запитами користувача NodeBegin, NodeEnd, Cross, StreetCaptionКнига. Структура бази даних зображена на рисунку 2.8.
Рисунок 2.8. Схема бази даних
Детальний перелік сутностей з атрибутами та їх значення.
Таблиця 2.1. Атрибути таблиці «Transport»
Ім'я атрибуту |
Характеристика |
|
IdNomer |
Унікальний номер транспорту |
|
IdRoute |
Номер маршруту |
|
Type |
Тип транспорту |
|
BegAEndl |
Назва початку слідування маршруту та кінця |
|
Price |
Вартість проїзду |
|
Distance |
Тривалість подорожі по маршруту |
|
Interval |
Інтервал слідування екіпажів |
|
Time_W |
Робочий час |
Таблиця 2.2. Атрибути таблиці «InfoTransport»
Ім'я атрибуту |
Характеристика |
|
IdBort |
Номер екіпажу |
|
Direction |
Точка відправлення (А або В) |
|
Delay |
Затримка в дорозі |
Таблиця 2.3. Атрибути таблиці «User»
Ім'я атрибуту |
Характеристика |
|
IdUser |
Унікальний номер користувача |
|
Login |
Логін облікового запису користувача |
|
Password |
Пароль облікового запису користувача |
|
|
Електронна пошта користувача |
|
YLocation |
Місце знаходження користувача при регістрації |
|
Phone |
Номер телефону користувача |
Таблиця 2.4. Атрибути таблиці «Street»
Ім'я атрибуту |
Характеристика |
|
Id |
Унікальний номер вулиці |
|
KeyNodeBeg |
Ключ початку слідування |
|
KeyNodeEnd |
Ключ кінця слідування |
|
KeyStreetCaption |
Ключ назви вулиці |
|
Status |
Тип вулиці |
|
LengthM |
Протяжність вулиці (м) |
Таким чином у даному підпункті ми розглянули структуру бази даних, яка була нами розроблена та було наведено основні відношення між сутностями.
2.4 Програмна реалізація web-рієнтованої інформаційно-довідкової системи
У даному розділі ми розглянемо деякі приклади програмної реалізації web - орієнтованої інформаційної - довідкової системи автомобільно - пасажирського транспорту. Спочатку блок - схему зображену на рисунку 2.9, яка відображає алгоритм процесу пошуку маршруту користувачем.
Рисунок 2.9. Алгоритм функції пошуку маршруту
Описуючи програмну реалізацію інформаційної системи слід зупинитись на деяких моментах розробки. Таких, як наприклад підключення Google Maps API до проекту та розміщення на сторінці.
<script type= «text/javascript»
src= «https://maps.googleapis.com/maps/api/js? key=API_KEY»>
</script>
<script type= «text/javascript»>
function initialize() { // функція ініціалізації карти
var mapOptions = {
center: {lat: -34.397, lng: 150.644}, // початкове місце знаходження при завантаженні карти
zoom: 8
};
var map = new google.maps. Map (document.getElementById ('map-canvas'),
mapOptions);
}
google.maps.event.addDomListener (window, 'load', initialize);
</script>
Опишемо послідовність дій функціонування системи, спочатку необхідно створити таблицю, потім заповнити її у phpMyAdmin, вивести інформацію в XML за допомогою PHP і останній етап створити карту.
Коли створюєте таблицю, перш за все, Ви повинні приділити увагу параметрам lat (широта) і lng (довгота) карти. При поточній роздільної здатності Google Maps нам знадобляться тільки 6 цифр після десяткового знаку. Щоб звести дисковий простір, займане БД до мінімуму, для значень lat (широти) і lng (довготи) рекомендується вибрати тип даних FLOAT з параметром 10,6. Цей тип дозволяє зберігати до 6-ти знаків після коми і до 4-х перед комою, наприклад -123,456789 градуси. Ваша таблиця повинна мати поле id, яке буде первинним ключем для доступу до записів, а також - поле type, в якому буде записаний тип закладу (ресторан або бар).
Наведений код SQL-запиту:
CREATE TABLE `markers` (
`Id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`Name` VARCHAR (60) NOT NULL,
`Address` VARCHAR (80) NOT NULL,
`Lat` FLOAT (10, 6) NOT NULL,
`Lng` FLOAT (10, 6) NOT NULL,
`Type` VARCHAR (30) NOT NULL
) ENGINE = MYISAM;
Наповнення таблиці
Після створення таблиці прийшов час наповнити її інформацією. Дані про 10 закладах Сіетла наведені нижче. У phpMyAdmin Ви можете використовувати опцію ІМПОРТ для того, щоб вставити в таблицю дані, що зберігаються в різних форматах, включаючи і CSV. Додатки MS Excel і Google Spreadsheets підтримують експорт даних в CSV-формат. Так що Ви легко можете передавати дані з цих програм в БД MySQL, використовуючи опції експорту / імпорту.
Розташований код запиту до БД на мові SQL:
INSERT INTO `markers` (` name`, `address`,` lat`, `lng`,` type`) VALUES ('Pan Africa Market', '1521 1st Ave, Seattle, WA', '47.608941 ', ' - 122.340145 ', ' restaurant ');
INSERT INTO `markers` (` name`, `address`,` lat`, `lng`,` type`) VALUES ('Buddha Thai & Bar', '2222 2nd Ave, Seattle, WA', '47.613591 ', ' -122.344394 ', ' bar ');
INSERT INTO `markers` (` name`, `address`,` lat`, `lng`,` type`) VALUES ('The Melting Pot', '14 Mercer St, Seattle, WA ', '47.624562', ' - 122.356442 ', ' restaurant ');
INSERT INTO `markers` (` name`, `address`,` lat`, `lng`,` type`) VALUES ('Ipanema Grill', '1225 1st Ave, Seattle, WA', '47.606366 ', ' -122.337656 ', ' restaurant ');
INSERT INTO `markers` (` name`, `address`,` lat`, `lng`,` type`) VALUES ('Sake House', '2230 1st Ave, Seattle, WA', '47.612825 ', ' -122.34567 ', ' bar ');
INSERT INTO `markers` (` name`, `address`,` lat`, `lng`,` type`) VALUES ('Crab Pot', '1301 Alaskan Way, Seattle, WA', '47.605961 ', ' -122.34036 ', ' restaurant ');
INSERT INTO `markers` (` name`, `address`,` lat`, `lng`,` type`) VALUES ('Mama Mexican Kitchen', '2234 2nd Ave, Seattle, WA', '47.613975 ', ' - 122.345467 ', ' bar ');
INSERT INTO `markers` (` name`, `address`,` lat`, `lng`,` type`) VALUES ('Wingdome', '1416 E Olive Way, Seattle, WA', '47.617215 ', ' -122.326584 ', ' bar ');
INSERT INTO `markers` (` name`, `address`,` lat`, `lng`,` type`) VALUES ('Piroshky Piroshky', '1908 Pike pl, Seattle, WA', '47.610127 ', ' -122.342838 ', ' restaurant ');
Ми повинні прописати власні ім'я користувача, пароль та ім'я БД:
<?
$ Username = «username»;
$ Password = «password»;
$ Database = «username-databaseName»;
?>
Готовий XML-документ.
<? Php
require («phpsqlajax_dbinfo.php»);
// Створення XML-файла і батьківського елементу
$ Doc = domxml_new_doc («1.0»);
$ Node = $ doc-> create_element («markers»);
$ Parnode = $ doc-> append_child ($ node);
// Відкриття з'єднання з MySQL-сервером
$ Connection = mysql_connect (localhost, $ username, $ password);
if (! $ connection) {
die ('Ні з'єднання:'. mysql_error ());
}
// Підключення до конкретної БД
$ Db_selected = mysql_select_db ($ database, $ connection);
if (! $ db_selected) {
die ('Неможливо використовувати БД:'. mysql_error ());
}
// Вибірка всіх записів з таблиці markers
$ Query = «SELECT * FROM markers WHERE 1»
$ Result = mysql_query ($ query);
if (! $ result) {
die ('Невірний запит:'. mysql_error ());
}
header («Content-type: text / xml»);
// Цикл проходу по всіх вибраних запису; створення вузла для кожної
while ($ row =mysql_fetch_assoc ($ result)) {
// Додавання нового вузла в XML
$ Node = $ doc-> create_element («marker»);
$ Newnode = $ parnode-> append_child ($ node);
$ Newnode-> set_attribute («name», $ row ['name']);
$ Newnode-> set_attribute («address», $ row ['address']);
$ Newnode-> set_attribute («lat», $ row ['lat']);
$ Newnode-> set_attribute («lng», $ row ['lng']);
$ Newnode-> set_attribute («type», $ row ['type']);
}
$ Xmlfile = $ doc-> dump_mem ();
echo $ xmlfile;
?>
Використання PHP-функції echo для створення XML-файла
У PHP, для початку, потрібно підключитися до БД і зробити вибір необхідних даних за допомогою запиту виду SELECT * (вибрати всі) до таблиці з ім'ям «markers» і пройтися по всіх результатами цієї вибірки. Потім необхідно вивести батьківський вузол за допомогою функції echo і пройтися за результатами вибірки. При цьому необхідно використовувати написану нами функцію parseToXML. Виконання цього скрипта має закінчитися висновком закриває тега markers.
<? Php
require («phpsqlajax_dbinfo.php»);
function parseToXML ($ htmlStr)
{
$ XmlStr = str_replace ('<', '& lt;', $ htmlStr);
$ XmlStr = str_replace ('>', '& gt;', $ xmlStr);
$ XmlStr = str_replace ('"', '& quot;', $ xmlStr);
$ XmlStr = str_replace («'», ' «, $ xmlStr);
$ XmlStr = str_replace («&», '& amp;', $ xmlStr);
return $ xmlStr;
}
// Відкриваємо з'єднання з MySQL-сервером
$ Connection = mysql_connect (localhost, $ username, $ password);
if (! $ connection) {
die ('Ні з'єднання:'. mysql_error ());
}
// Встановлюємо з'єднання з БД
$ Db_selected = mysql_select_db ($ database, $ connection);
if (! $ db_selected) {
die ('Неможливо використовувати БД:'. mysql_error ());
}
// Вибірка всіх записів з таблиці markers
$ Query = «SELECT * FROM markers WHERE 1»
$ Result = mysql_query ($ query);
if (! $ result) {
die ('Невірний запит:'. mysql_error ());
}
header («Content-type: text / xml»);
// Створення XML-коду, висновок батьківського елементу
echo '<markers>';
// Цикл проходу по всіх вибраних запису; створення вузла для кожної
while ($ row =mysql_fetch_assoc ($ result)) {
// Вивід нового вузла XML
echo '<marker';
echo 'name = «'. parseToXML ($ row ['name']). '» ';
echo 'address = «'. parseToXML ($ row ['address']). '» ';
...Подобные документы
Обґрунтований вибір засобів для проектування автоматизованої інформаційно-довідкової системи. Опис структури технологічного процесу обробки даних для розв’язання задачі. Комп'ютерна реалізація окремих об'єктів системи (таблиці, форми, звіти, запити).
курсовая работа [30,7 K], добавлен 14.05.2011Розроблення та створення автоматизованої інформаційно-довідкової системи обліку проданих квитків на авіарейси. Обробка баз даних СКБД Access. Розробка зручного діалогового інтерфейсу у вигляді меню користувача, яке реалізоване через керуючу форму.
курсовая работа [56,9 K], добавлен 16.04.2011Розробка автоматизованої інформаційно-довідкової системи "Шовкова фея". Область використання системи, визначення функцій, вибір програмних засобів для розв’язання задачі, її комп’ютерна реалізація. Вимоги до ПЗ. Аналіз вихідних даних засобами MS Excel.
презентация [980,4 K], добавлен 09.09.2010Критерії (вимоги) до створення автоматичного робочого місця оператора реєстратури. Обґрунтування вибору середовища програмування та засобів збереження даних. Алгоритм програми. Опис інтерфейсу проекту системи. Програмні модулі та керівництво користувача.
дипломная работа [1017,0 K], добавлен 31.10.2014Медична інформаційно-аналітична система "Емсімед". Аналіз програмних, апаратних засобів. Архітектурне проектування автоматизованої системи обліку медичних інструментів. Опис структурної та логічної схеми. Вибір мови програмування, керівництво користувача.
дипломная работа [2,9 M], добавлен 26.07.2013Аналіз навігаційних технологій у сучасних AVL системах. Структура системи і вимоги до апаратного забезпечення, розробка алгоритмів функціонування окремих програмних модулів. Вибір мови програмування і СУБД. Тестовий варіант програмного забезпечення.
дипломная работа [1,8 M], добавлен 17.12.2015Методи, засоби та алгоритми розв'язування задачі. Розробка інтерфейсу програми для забезпечення діалогу: ком'ютер - користувач при роботі з базою даних довідкової системи навчальних закладів. Програма та її опис, призначення. Логічна структура програми.
курсовая работа [234,8 K], добавлен 14.03.2010Обробка масивів формалізованих записів, їх застосування у базах даних підприємств для пошуку інформації про об’єкт. Вимоги до програмного продукту і документації; його структура і функціональна схема. Посібник користувача, умови виконання програми.
курсовая работа [391,0 K], добавлен 13.10.2012Створення баз даних для автоматизування роботи торгового представника в середовищі програмування Delрhі. Опис вхідної та результуючої інформації, формалізований опис задачі. Розробка технічного та робочого проекту, опис та обґрунтування вибору структури.
курсовая работа [135,8 K], добавлен 11.10.2010Технічний документообіг проектних організацій та характер інформаційних потоків. Вимоги до проектованої системи: до надійності, роботи, розповсюдження програми. Обґрунтування вибору середовища розробки, вибір середовища, вимоги до окремих компонентів.
дипломная работа [166,7 K], добавлен 20.07.2014Розробка програми для моделювання роботи алгоритму Дейкстри мовою C# з використанням об’єктно-орієнтованих принципів програмування. Алгоритм побудови робочого поля. Програмування графічного інтерфейсу користувача. Тестування програмного забезпечення.
курсовая работа [991,4 K], добавлен 06.08.2013Розробка об’єктно-орієнтованої бази даних у складі інформаційно-довідкової системи "Розклад занять коледжу" з метою використання фонду навчальних приміщень коледжу у навчальному процесі. Створення бібліотеки класів "Система тарифікації викладачів".
дипломная работа [484,2 K], добавлен 30.03.2014Розробка інформаційно-пошукової системи путівок турагентства, що дозволяє швидко знаходити дані, створювати і відкривати файли, додавати записи у файл. Побудова блок-схем та запис лістингу програми мовою Pascal у середовищі програмування PascalABC.
курсовая работа [2,6 M], добавлен 27.07.2014Проектування бази даних "Аптека" у Microsoft Access, розробка структури таблиць, ключових полів і схеми даних. Створення запитів різних типів, екранних форм різного виду для введення і перегляду даних. Створення кнопкових форм, що полегшують навігацію.
дипломная работа [3,1 M], добавлен 16.11.2014Проектування інтерфейсу програми. Вимоги до продукту. Вхідні дані на розробку автоматизованої системи. Вибір середовища програмування. Розробка структури бази даних. Функціональна та логічна структура програми. Розробка структури таблиць бази даних.
курсовая работа [43,1 K], добавлен 30.06.2015Область використання автоматизованої інформаційно-довідкової системи, її структура, визначення функцій, вибір програмних та технічних засобів. Порядок створення файлу та таблиць баз даних, міжтабличних зв’язків. форм, запитів. Аналіз даних у СУБД Excel.
практическая работа [672,1 K], добавлен 09.09.2010Дослідження класифікації автоматизованих інформаційних систем. Обґрунтування вибору мови і системи програмування. Програмне забезпечення та опис компонентів середовища. Інтерфейс програмного комплексу. Розрахунок повної собівартості програмного продукту.
дипломная работа [584,1 K], добавлен 26.06.2015Постановка задачi інформаційно-аналітичної системи сiльськогосподарських пiдприємств по вирощуванню сої. Комп'ютерна реалізація автоматизованої системи. Схема даних сої на підприємстві. Ескіз головної кнопкової форми. Макет форми: "Дані про сою".
курсовая работа [1,7 M], добавлен 17.04.2011Призначення менеджеру пристроїв. Обґрунтування вибору мови програмування. Розробка структурної схеми і опис діалогового інтерфейсу програми. Блок-схема програмного додатку, основні функції і алгоритм його роботи. Методики і інструкція його тестування.
курсовая работа [3,4 M], добавлен 17.11.2014Інформаційно-вимірювальні системи й імовірнісний підхід. Просторово-часове трактування реальних умов роботи радіосистем. Управління системою обробки та зондувальним сигналом. Задачі, розв'язувані оптимальним оператором інформаційно-вимірювальної системи.
реферат [121,2 K], добавлен 24.06.2011