Програма Інформаційні технології проектування
![]()
|
ПОСТАНОВКА ЗАДАЧІ ТА МЕТОДИ ДОСЛІДЖЕННЯ Мета та задачі дослідження Виконання роботи полягає у створенні онлайн-сервісу туристично-екскурсійної агенції м. Суми. Об’єктом роботи буде процес надання туристично-екскурсійних послуг. Предметом дослідження буде технологія планування та прокладання екскурсійного маршруту на сторінках сервісу. Першочергово при виконанні роботи необхідно дослідити та проаналізувати предметну область, визначити актуальність розробки та виділити її сутності, визначити вимоги та задати межі проекту. Дослідження існуючих програмних продуктів дозволило визначити сильні сторони вже існуючих розробок-аналогів, показало на що варто звернути увагу при розробці власного продукту, щоб створити якісну систему, позбавлену недоліків аналогів. Наступним кроком є визначення вимог до додатку, тобто що необхідно розробити для того, щоб продукт був унікальним та актуальним, а чого необхідно уникати. Візуалізація системи в її стані відбувається за допомогою моделювання. Так визначається структура системи, її поведінка тощо. Однією з найважливіших задач є вибір засобів реалізації продукту, бо вдалий вибір зробить процес виконання поставленої задачі більш ефективним. Створювана інформаційна онлайн-система повинна породжувати у користувача відчуття дружньої атмосфери та бажання відвідати місто Суми. Повинна бути зручною у використанні: наприклад, щоб можна було придбати квитки на автобус чи потяг, забронювати номер у готелі чи місце у хостелі, тощо. Варто створити ресурс цікавим як з краєзнавчого боку, так і комплексно продемонструвати весь міський туристичний потенціал, який має не тільки пам’ятки та музеї, а також організації, що працюють у туристичній сфері або афілійовані з нею. Категорії сайту мають бути фіксовані, проте перелік об’єктів може оновлюватися. Для розроблюваної онлайн- системи буде перевагою впровадження можливості створення власного екскурсійного маршруту з обраних користувачем місць, а також автоматизований збір даних для системи. Зрозумілість, адаптивність - одні з найважливіших вимог до розроблюваного продукту. Отже, метою виконання кваліфікаційної роботи магістра є створення інформаційної онлайн-системи підтримки туристично-екскурсійної агенції м. Суми, яка надасть користувачеві можливість отримувати предметну інформацію та самостійно розробляти екскурсійні маршрути містом. Для досягнення визначеної мети необхідно виконати наступні задачі: створити інструмент замовлення наявних екскурсійних послуг; створити інструмент планування власного екскурсійного маршруту; створити можливість прокладання маршруту на мапі. Вибір засобів реалізації Одним із варіантів створення сучасних сайтів є розробка засобами HTML, CSS, PHP та JavaScript з використанням реляційної бази даних MySQL [18]. Мова розмітки HTML слугує для того, щоб розмітити текст, описати його структуру використовуючи теги, тобто форматує текст логічно. Таблиці стилів CSS формують тексти фізично, тобто задають представлення Web-сторінки - шрифт,колір тексту, його розмір тощо. Для того, щоб сторінки виглядали більш динамічно, при розробці використовують мову JavaScript. Популярність цієї мови пов’язана з її широкими можливостями по взаємодії з елементами веб-сторінки без її перезавантаження [18]. Використання JavaScript дозволяє працювати з формами, зображеннями, визначати дату та час, управляти вмістом документу та відслідковувати події. Щоб автоматизувати роботу з сайтом при розробці використовують мову PHP, яка являє собою скрипт-мову, що вбудовується в HTML, яка інтерпретується та виконується на сервері. Використовуючи цю мову можна обробляти дані з форм, генерувати нові сторінки, крім цього в PHP включена підтримка багатьох баз даних. Для ефективного зберігання, пошуку, сортування та вибірки інформації для розробки було використано MySQL - швидку та потужну систему управління реляційними базами даних. Щоб реалізувати перевірену архітектуру системи, яка зрештою покращує дизайн та значно полегшує читання, обслуговування та модульне тестування коду, при розробці використовують PHP-фреймворки. Фреймворк дозволяє спростити розробку шляхом автоматизації переліку шаблонів, також він додає структуру до коду, тим самим спонукаючи розробника писати краще, такий код більш читабельний і зручніший для обслуговування. Загалом використання фреймворків значно спрощує програмування, оскільки він об’єднує складні операції у прості оператори. Для розробки інформаційної онлайн-системи був обраний PHP фреймворк загального призначення з відкритим кодом - Laravel. Його використання дозволить спростити вирішення основних завдань, таких як аутентифікація, маршрутизація, сесії, кешування, архітектура програми, робота з базою даних тощо [19]. Фреймворк має вбудований збирач скриптів та css, вбудований шаблонізатор Blade та гнучке формування Route. Laravel дуже швидко розвивається. Постійно виходять нові версії, які виправляють помилки та недоробки попередніх, швидко підвищуючи ефективність фреймворку [20]. Карти - це наочний і потужний засіб для управління просторовою інформацією, який повинен бути простим і доступним для будь-якого бізнесу, не вимагаючи величезних вкладень в інфраструктуру, програмне забезпечення та навчання персоналу. API Google Карти є безкоштовним програмованим картографічним сервісом, який надається компанією Google, саме він буде застосований при прокладанні маршруту екскурсій [25]. Сервіс має свої відмінні переваги, а саме: Простота. Користувач лише має вказати своє місцезнаходження та дані, які потрібно зобразити на карті. Доступний функціонал [21]. API Google Maps є досить потужною платформою, яка кожного дня вдосконалюється та стає все більш популярною. Правильне використання всіх функцій сервісу дозволяє зробити будь-яку подорож більш комфортною, а пошук необхідних адрес та об’єктів стане більш ефективним і швидким. Щоб розробити сторінки інформаційної системи адаптивними та зекономити час розробки був використаний Bootstrap - відкритий та безкоштовний HTML, CSS та JS фреймворк. Фреймворк Bootstrap - це набір набір CSS та JavaScript файлів. Щоб використовувати ці файли їх необхідно просто підключити до сторінки. Після цього стають доступними інструменти фреймворку: колонкова система (сітка Bootstrap), класи і компоненти [22]. ПРОЕКТУВАННЯ ІНФОРМАЦІЙНОЇ ОНЛАЙН-СИСТЕМИ ПІДТРИМКИ СЕРВІСІВ ТУРИСТИЧНО-ЕКСКУРСІЙНОЇ АГЕНЦІЇ М. СУМИ Структурно-функціональне моделювання Функціональне моделювання є процесом моделювання функцій, які виконують інформаційна система шляхом створення описового структурованого графічного зображення, що показує що, як і ким робиться в рамках функціонування об’єкта і об’єктів, що пов’язують ці функції, з урахуванням наявної інформації. Функціональне моделювання необхідне для точної специфікації всіх функцій, які виконуються в рамках процесу більш високого рівня ієрархії. Така модель дозволяє визначити розподіл ресурсів, завдяки чому можна оцінити ефективність їх використання [12]. Графічний стандарт IDEF0 є частиною методології структурного аналізу та проектування. IDEF0 називають методологією графічного опису систем і процесів діяльності організації як безлічі взаємозалежних функцій [13]. Моделювання інформаційної онлайн-системи підтримки сервісів туристично- екскурсійної агенції м. Суми в IDEF0 представлене на рис. 2.1. ![]() Рисунок 2.1 - IDEF0 процесу підтримки сервісів За допомогою прямокутника (функціонального блоку), який є центральним елементом моделі IDEF0, відображається функція. Всі вони відображаються однаково та обов’язково мають містити 4 ключові потоки, які жорстко закріплені за сторонами функціонального блоку: ліворуч - входи або ресурси для виконання функції; праворуч - виходи чи результати виконання функції; зверху - управляючі впливу, які визначають, як і скільки необхідно зробити результатів; знизу - механізми, які відбивають, хто і з допомогою чого має виконати роботу [13]. Дані про культурні пам’ятки м. Суми використовуються і перетворюються роботою для отримання результату. Дані авторизації користувача потрібні щоб отримати повноцінний функціонал системи. Стрілка управління містить вимоги до підтримки сервісів екскурсійно-туристичної агенції, що керують діями роботи. Використовуючи онлайн-сервіс, апаратне забезпечення, а також бази даних та електронні карти виконується підтримка вибору маршруту. У результаті буде отримана інформація про місто та його пам’ятки, замовлена туристична екскурсія або створений власний маршрут. Для того, щоб розбити існуючу систему на підсистеми, виконується її функціональна декомпозиція. Декомпозиція процесу підтримки сервісів туристично- екскурсійної агенції м. Суми представлена на рис. 2.2. Вимоги до ![]() Апаратне забезпечення Рисунок 2.2 - Декомпозиція IDEFO-діаграми онлайн-системи Ця діаграма містить наступні блоки: перегляд інформації про місто та його визначні пам’ятки; авторизація; створення власної екскурсії; вибір із вже створених екскурсійних маршрутів. Кожна діяльність потребує наявності онлайн-системи, апаратного забезпечення, бази даних. Відомості про визначні пам’ятки м. Суми є вхідними даними до діяльності «Перегляд інформації про місто та його визначні пам’ятки». Дані авторизації користувача використовуються для «авторизації». Для «Створення власної екскурсії» необхідно виконати авторизацію та обрати пам’ятки для створення власної екскурсії. «Вибір із вже створених екскурсійних маршрутів» означає необхідність авторизації та надає можливість замовлення туристичної екскурсії. Моделювання варіантів використання інформаційної онлайн-системи підтримки сервісів туристично-екскурсійної агенції м. Суми Щоб простити спілкування та взаємодію учасників проекту, скоротити час на пояснення та засвоєння інформації, полегшити документування використовують мову графічного опису UML (Unified Modeling Language). UML є графічною нотацією, за допомогою якої можна описати та змоделювати процеси, які протікають в ході розробки. Її мета - визначати, візуалізувати, проектувати та документувати програмні системи.[14]. Діаграми варіантів використання використовують при визначенні сценаріїв користувача. Вони дають можливість не лише не пропустити жодного існуючого сценарію, але також позначити взаємодію різних користувачів із системою та виявити сценарії, які є включенням та розширенням існуючих. Таким чином на виході отримується повна картина сценаріїв і не пропускається жодної необхідної функції системи. Діаграма варіантів використання складається з акторів, елементів зв’язку з системою зовні, а також самих варіантів використання та їх зв’язків між іншими частинами діаграми. Діаграма варіантів використання онлайн-системи в UML представлена на рисунку 2.3. ![]() Рисунок 2.3 - Діаграма варіантів використання онлайн-системи База даних та електронні карти є елементами зовнішнього зв’язку в діаграмі. База даних містить інформацію про місто та його визначні пам’ятки, дані користувачів, а також існуючі екскурсійні маршрути. Карти використовуються для створення індивідуальної екскурсії. Варіант використання ознайомлення з інфомацією про місто та його визначні пам’ятки дозволяє користувачеві ознайомитися з інформацією про місто, його пам’ятки тощо. Варіант використання авторизація дозволяє користувачеві працювати із сервісом в залежності від наданих прав доступу. Варіант використання замовлення туристичної екскурсії передбачає авторизованому користувачеві замовлення вже готової екскурсії на сторінках онлайн- сервісу. Варіант використання індивідуальна туристична екскурсія дає можливість авторизованому користувачеві створити власну екскурсію обраними пам’ятками. Варіант використання додавання інформації означає додавання даних про визначні пам’ятки, місто, тощо. Варіант використання оновлення інформації означає оновлення даних про визначні пам’ятки, місто, тощо.. Варіант використання видалення інформації означає видалення існуючих даних про визначні пам’ятки або даних про користувачів. Варіант використання обробка інформації означає обробку замовлення туристичнох екскурсій користувачами. Проектування моделі бази даних Базою даних називається організована структура, яка призначена для зберігання, зміни та обробки взаємопов’язаної інформації, переважно великих обсягів, вона є одним з важливих компонентів будь якого додатку чи інформаційної системи [15]. За допомогою використання бази даних можна виконувати експлуатацію додатку, виконувати його підтримку, модифікувати тощо. Для того, щоб створити візуальне уявлення про всю інформаційну систему або її частину виконують моделювання даних. Метою моделювання є ілюстрація типів даних, які використовуються та зберігаються в системі, відносини між цими типами даних, способи групування та організації даних, їх формати та атрибути [16]. Моделі даних створюють забезпечення розробника концептуальною схемою бази даних. При їх створені задіяний метод семантичного моделювання, інструментом якого слугує використання діаграм сутність-зв’язок. Під час їх створення використовують графічне зображення сутностей предметної області, їх властивостей (атрибутів), і взаємозв’язків між сутностями [17]. Ретельне проектування бази даних є надзвичайно важливим для бездоганної роботи сервісу, оскільки воно дозволяє зрозуміти логіку роботи додатку та за допомогою яких дій може бути досягнутий результат. Створена модель дає можливість концептуально визначити набори даних, які були використані [24]. Інформаційна онлайн-система слугує для підтримки сервісів туристично- екскурсійної агенції м. Суми. Вона містить інформацію про місто, визначні пам’ятки, а також наявні екскурсійні маршрути. Використовуючи онлайн-систему користувачі можуть отримати дані про місто, переглядати інформацію про визначні пам’ятки міста, а також мають можливість замовити туристичну екскурсію на сторінках сервісу або створити власний маршрут. В процесі проектування бази даних було виділено наступні сутності: категорії (categories); всі визначні пам’ятки (places); зображення (images); користувачі (users); обрані пам’ятки (place_user); пам’ятки у екскурсійному маршруті (place_route); екскурсійний маршрут користувача (route_user); всі маршрути (routes); готові екскурсії (excursion); замовлені екскурсії користувачем(ехсшьіоп_ user); На рисунку 2.4 приведене представлення моделі бази даних додатку з атрибутами сутностей та зв’язками між таблицями. ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() place_route Kj_piace_route (PK) kJ_piace_user (PFK) id_users (PFK) kl_places (PFK) id_categories (PFK) phce_user id_place_user (PK) id_users (PFK) id_places (PFK) id_categories (PFK) excursion_user route_user id_rautes (PK) title id_place_roiite (PFK) id_place_user (PFK) id_users (PFK) id jlaces (PFK) id_categories (PFK) id_route_user (PFK) id_users (PFK) I- id_roirte_user(PK) kJ_users (PFK) |