Please use this identifier to cite or link to this item:
https://er.chdtu.edu.ua/handle/ChSTU/9146| Title: | Програмне забезпечення автоматизованої системи для визначення компетентності водія автобуса. Модуль обмежувач швидкості |
| Authors: | Півень, Олександр Борисович Подиряко, Анатолій Сергійович |
| Issue Date: | 17-Jun-2023 |
| Abstract: | АНОТАЦІЯ
Бакалаврська кваліфікаційна робота на тему: "Програмне забезпечення
автоматизованої системи для визначення компетентності водія автобуса. Модуль обмежувача швидкості..
Ця робота фокусується на процесі визначення компетентності водія автобуса і має на меті поліпшити міський транспорт. Головна увага зосереджена
на розробці програмного забезпечення, яке дозволяє ефективно визначати рівень компетентності водіїв. Для досягнення цієї мети використовується мова програмування Kotlin для створення програмного забезпечення для андроїд-телефонів.
У результаті роботи було розроблено програмне забезпечення
автоматизованої системи для визначення компетентності водія автобуса,
включаючи модуль обмежувача швидкості. Використання мови програмування
Kotlin сприяло створенню цих рішень.
Застосування розробленого програмного забезпечення має практичне
значення, оскільки дозволить визначити рівень компетентності водія, що значно
покращить ситуацію на дорогах України. Розроблена система ураховує недоліки
існуючих програмних аналогів і є зручною у використанні. Отримані результати
готові до використання в системах визначення компетентності водія . ANNOTATION Bachelor's thesis on the topic: "Software of an automated system for deteпnining the competence of а bus driver. Speed liшiter module". This work focuses on the process of determining the competence of а bus driver and aims to improve urban transport. The main focus is оп the development of software that allows you to effectively determine the level of coшpetence of drivers. То achieve this goal, the Kotlin programming language is used to create software for Android phones. As а result of the work, the software of the automated system for determining the competence of the bus driver was developed, including the speed limiter module. The use of the Kotlin programming language contributed to the creation of these solutions. Application of the developed software is of practical importance, as it will allow to determine the level of competence of the driver, which will significantly improve the situation on the roads of Ukraine. The developed system takes into account the shortcomings of existing software analogues and is convenient to use. The obtained results are ready for use in systems for determining driver competence. |
| URI: | https://er.chdtu.edu.ua/handle/ChSTU/9146 |
| Appears in Collections: | 121 Інженерія програмного забезпечення (Інженерія програмного забезпечення) |
Files in This Item:
| File | Description | Size | Format | |
|---|---|---|---|---|
| Кваліфікаційна робота бакалавра Подиряко Анатолій Сергійович.pdf Restricted Access | 10.86 MB | Adobe PDF | View/Open Request a copy |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.
Extracted text
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ
Факультет інформаційних технологій і систем
Кафедра програмного забезпечення автоматизованих систем
ПОЯСНЮВАЛЬНА ЗАПИСКА
до кваліфікаційної роботи
бакалавра
на тему: «Програмне забезпечення автоматизованої системи для
визначення компетентності водія автобуса. Модуль
обмежувач швидкості»
Виконав: студент 4 курсу, групи ПЗ-1904
спеціальності
121 «Інженерія програмного забезпечення»
(шифр і назва напряму підготовки)
Студент Подиряко А.С
(прізвище та ініціали)
Керівник Півень О.Б.
(прізвище та ініціали)
Рецензент
(прізвище та ініціали)
Черкаси 2023
Черкаський державний технологічний університет
повне найменування вищого навчального закладу
Факультет інформаційних технологій і систем
Кафедра програмного забезпечення автоматизованих систем
Освітній рівень бакалавр
Спеціальність 121 «Інженерія програмного забезпечення»
Освітня програма Інженерія програмного забезпечення
ЗАТВЕРДЖУЮ
Зав. кафедри ПЗАС, професор
Голуб_С.В__________________
«___» _____________ 2023 року
З А В Д А Н Н Я
НА КВАЛІФІКАЦІЙНУ РОБОТУ СТУДЕНТУ
Подиряко Анатолій Сергійович
(прізвище, ім’я, по батькові)
1. Тему проекту (роботи) «Програмне забезпечення автоматизованої системи для визначення
компетентності водія автобуса. Модуль обмежувач швидкості» ____
Керівник проекту (роботи) Півень Олександр Борисович к.ф.-м.н. доцент
(прізвище, ім’я , по батькові, науковий ступінь, вчене звання)
Затверджені наказом Черкаського державного технологічного університету від « 24 » лютого 2023
року №43/04
2. Строк подання студентом проекту (роботи) 08.06.2023
3. Вхідні дані до проекту (роботи) стандарти програмного забезпечення; процеси управління; вимоги
до проекту; календарне планування проекту; управління ризиками проекту; управління
ресурсами
4. Зміст розрахунково-пояснювальної записки (перелік питань, які потрібно розробити) Вступ;
Існуючі методи та засоби вирішення поставлених завдань; Впровадження результатів досліджень у
практику; Проектування програмного забезпечення інформаційних систем; Розробка та тестування
програмного забезпечення; Висновки; Список використаних джерел;
Додатки.
5. Перелік графічного матеріалу (з точним зазначенням обов’язкових робіт проекту)
Слайд 1, Слайд 2, Слайд 4, Слайд 5, Слайд 6, Слайд 7, Слайд 8, Слайд 9, Слайд 10, Слайд 11. Слайд
12. Слайд 13. Слайд 14. Слайд 15. Слайд 16.
6. Консультанти розділів роботи
Прізвище, ініціали та Підпис, дата
Розділ
посади консультанта Завдання видав Завдання прийняв
1
2
І сріо1111к
J�щ/НІІІІІJІ ІІJЩііІІЯО ДО DІІКОШШІІЯ
(мімт)
Ка11с11дарш1іі плаu
( пр1зnище, шщ1али)
№ J Ja оа етапі о ш111усююї магістерської Строк виконання етапів .....
1/п роботи проекту (роботи) Примітка
Поста11оnка задаL1і
І 05.12.2022 Виконано
Підготовка завда
2 ння 13.12.2022 Виконано
3 ПогоджешLЯ завдання 16.12.2022 Виконано
4 Затnсрдже11ня завдання ]9.02.2023 Виконано
Ос11ов11а стадія Виконано
І Підбір матеріалjв 27.02.2023 Виконано
2 Аналіз шляхів рішення поставленої задачі 04.03.2023 Викона.но
з Розрахунок основних параметрів роботи 10.03.2023 Виконано
Вибір кінцевого варіанту проектного 17.03.2023
рішення ВИ1<ощщ0
5 Оформлення первісної редакції роботи 25.03.2023 Виконано
Заключна стадія Вико11а�1о
Узгодження прийнятих проектних рішень з 10.05.2023
керівником Виховано
І -
Оформлення пояснювальної записки 19.05.2023
2 роботи n кінцевій редакції Виконано
з Попередній захист роботи 22.05.2023 Виконано
4 Затвердження роботи 29.05.2023 ВиконаJJо
Рецензування роботи 01.06.2023 Виконано
з.з
Захист роботи 08.06.2023
З.З
ПОДИРЯКО А.С
Студент
(nідПІІС) (прізвище їd ініціа1111)
ШВЕНЬО.Б.
Керівник проекту (прізвище та ініціал11)
АНОТАЦІЯ
Бакалаврська кваліфікаційна робота на тему: "Програмне забезпечення
автоматизованої системи для визначення компетентності водія автобуса. Модуль
обмежувач швидкості•• .
Ця а робота фокусується на процесі визначення компетентносп вод~я
автобуса і має на меті поліпшити міський транспорт. Головна увага зосереджена
на розробці проrрамного забезпечення, яке дозволяє ефективно визначати рівень
компетенції водіїв. Для досягнення цієї мети, використовується мова
проrрамування Kotlin для створення проrрамного забезпечення для андроїд
телефонів.
У результат~ роботи було розроблено програмне забезпечення
автоматизованої системи для визначення компетентності водія автобуса,
включаючи модуль обмежувача швидкості. Використання мови програмування
Kotlin сприяло створенню цих рішень.
Застосування розробленого програмного забезпечення має практичне
значення, оскільки дозволить визначити рівень компетентності водія, що значно
покращить ситуацію на дорогах України. Розроблена система ураховує недоліки
існуючих програмних аналогів і є зручною у використанні. Отримані результати
готові до використання в системах визначення компетентності водія .
ANNOTATION
Bachelor's thesis on the topic: "Software of an automated system for deteпnining
the competence of а bus driver. Speed liшiter module".
This work focuses on the process of determining the competence of а bus driver
and aims to improve urban transport. The main focus is оп the development of software
that allows you to effectively determine the level of coшpetence of drivers. То achieve
this goal, the Kotlin programming language is used to create software for Android
phones.
As а result of the work, the software of the automated system for determining
the competence of the bus driver was developed, including the speed limiter module.
The use of the Kotlin programming language contributed to the creation of these
solutions.
Application of the developed software is of practical importance, as it will allow
to determine the level of competence of the driver, which will significantly improve
the situation on the roads of Ukraine. The developed system takes into account the
shortcomings of existing software analogues and is convenient to use. The obtained
results are ready for use in systems for determining driver competence.
ЗМІСТ
ПЕРЕЛІК СКОРОЧЕНЬ ТА УМОВНИХ ПОЗІ·ІАЧЕНЬ ...................... ......... .5
BC1'Yll ................................................................................................ .......................... 6
l ІСНУІОЧІ МЕТОДИ ТА ЗАСОБИ РОЗВ'ЯЗАННЯ ПОСТАВЛЕНИХ
ЗАВДАНЬ ...................................................................................................................... 9
l. 1 Опис існуючих методів на з.асобів використаних при розробці ........ 9
1.2 Аналіз існуючих аналогів програми .................................................... 13
Висновки до розділу 1. ........................... .................................................................. 16
2 ПРОЕКТУВАННЯ ПРО ГР АМН ОГО ЗАБЕЗПЕЧЕНJ-ІЯ СИСТЕМИ ............... 17
2. l Моделювання предметної області ....................................................... 17
2.1 . .lПредметна область моделювання. Модель предметної області.
Словник предметної області ......................................................... 17
2.1.2 Елементи моделювання предметної області ............................. 18
2.1.3 Робоча область моделювання ...................................................... 19
2.2 Формування та аналіз вимог ................................................................ 20
2.2.1 Формуван.ня вимог до програмного забезпечення. Первинні 1
детальні вимоги. Вимоги замовника і розробника.
Функціональні та нефункціональні вимоги ............................... 20
2.2.2 ФорІ\-rування вимог за допомогою діаграми прецедентів ......... 24
-? ·3 П роекту·в ання лоп.ч но1·· структури програмного комплексу ............. _? 6
2.3. 1 Діаграми класів ..................................................................... ..... ... 26
2.3.2 Діаграми пакетів ................................... .................................. ..... . 28
2.4 Архітектурне проектування ................................. ............................. .... 29
2.4. 1 Діаграма компонентів ................................................................ .. 29
2.4.2 Розгортання програмної системи на апаратних засобах.
Діаграма розгортання ................................. ................................... 30
2. 5 Моделювання поведінки системи ....................................................... 32
2.5. lДіаграма діяльності ....................................................................... 32
2.5 .2Діаграма послідовності ................................................................. 3 3
2.5.ЗДіаграма комунікації ..................................................................... 35
2.5.4Діаграма скінченного автомату ................................................... 36
Висновки до 2 розділу ............................................................................................... З 8
З РОЗРОБКА ТА TECTYBAiffiЯ ПРО ГР АМН ОГО ЗАБЕЗПЕЧЕННЯ ............. 39
3. 1 Розробка програмного коІ\mлексу ....................................................... 39
З .1.1 Обrрунтування вибору засобів реалізації .................................. 3 9
3 .1.2 Опис структурно~.. (ф ункцю. нально1" ) схеми................. ............... 4?_
3 .1.3 Опис логічної схеми системи ..................................................... .44
3. 1.4 Розробка бази даних ..................................................................... 46
З .1.5 Розробка інтерфейсу користувача ...................................... ....... .4 7
ЧДТУ. 231922.008 ПЗ
Зм J І11ст № докум. Підп. Дата
Розроб. Под1~ряко л.с ;JJ;i,f:_ Програмне забезпечення автоматюованої Лнт І Лнст І Лнстіо
~--.:..--11-....;.;...:.....--,-....,~ f?r+--t с11стеми дr1Я в11значеu:ня компетентності
ГІсреоір110 llioeнi. О . Б. С/1//1-А.. І І І І
водія автобуса. Модуль обмежувач ФІТІС, кафедра ПЗАС,
швидкості .
Н. контр. Піое111,О.Б. Ш//А (Пояс11юоаль110 записка) ПЗ-1904
Затоерд. Голуб С.В. , · ../Мл v
3 .1.6 Опис розробки програмних І<омпонентш .................................. 50
3.2 Тестування системи ............................................................................... 53
3.2.1 Модульне тестування ................................................................... 53
3.2.2 Інтеграційне тестування .............................................................. 54
3.2.З Системне тестування .................................................................... 55
3.2.4 Приймальне тестування ............................................................... 56
Висновки до З розділу ........................................................................... 57
Висновки .............................................................................................................. 58
Список використаних джерел ............................................................................ 59
додатки .................................................................................................................................................. . ................................... 60
1111.:r
ЧДТУ. 231922.008 ПЗ
Зм. JІ11ст № документn Підшtс Дnтn
ЧДТУ.23 1 922.008 ПЗ
ПЕРЕЛІК СКОРОЧ\ПН, ТЛ УМОВІ·ІJіІХ ІlОЗІ-ІЛ'-ІЕНІ"
SQL Stп1ctш·cd qtie1·y lnлg\loge - 1'1ювn стру1стурооf1ш1х зtнrитів
БД бt\ЗQ до.н \\Х
Гб 1'ігnб~1іtт1 1<рnтнn однннцл внм1ру 1<іJ11,,1<ості і 11формації, що
дорівнює l 024 ме1~обайтом
JSP технологія, що дозвоняє оеб-розро61-1и1<ам ди11ам1ч110
rен.ер)1unтн I-lTt\1IL, XML то інші оеб-сторі11ки
ПЗ програ1'нt.е забез11ечення
пп nрогрnмннй продукт
СУБД снстема управління базами даних
тз техючне за\3дш-1ю1
Sp1·iпg універсальний фреймворк з шдкритим вихщним кодом для
J а,,а-платформи
5
ЧДТУ . 23 І 922.008 І JЗ
ПСТУГІ
А1стуаJ11.11іст1. тсм11.
Робота 11реJ,стnоле1ш С'1 ·у;tс11том crrc11iam111ocтi 12 1
11porpnм11oro зnбсзпсчс111н1" . Цей програм11ий nrюrty1<·1· стпорсний ;1ля но;,їfн і
зnrалом , 011роводжс1-111л 11ро,~рам1101·0 забезг1с1 1с11ш1 аnтомати~ювано'f е,истсми нля
оиз11аченш1 1<омпсте11т11ості водія аотобуса 'і модулем обмежуш.tча 11лнщ.кості
мас значний потенціал для підвищсн ш1 бсз11еки 11а дорогах, 1мс11шсння
сnожиоання палива та ПОІ<ращс11ш1 мо11ітори11rу ліяm_,ності 1юлїіn.
З огляду на зростаючу кіJН>І<ісп) дорожньо--трансноJУrних нриrод,
пов'язаних з неправильною пооедінr<ою водіїв, розробка проrрамного
забезпечення автоматизованої системи для визначення комне-rен'rності водія
автобуса з модулем обмежувача швид1<ості є актуальним і важливим завданням .
Застосування такої системи може виявитись ефективним кроком у напрямку
підвищення безпеки на дорогах.
Однією з основних причин дорожньо-транспортних пригод є
перевищення швидкості. Водїі, які не дотримуються встановлених обмежень
швидкості, створюють серйозні загрози для себе, пасажирів та інших учасників
дорожнього руху. Використання модуля обмежувача швидкості в автобусах
дозволяє ефективно контролювати і обмежувати швидкість автомобілів,
попереджаючи потенційно небезпечні ситуації.
Розроблене програмне забезпечення має багатофункдіональн і
можливості, які сприяють визначенню компетентності водіїв та забезпечують
безпеку на дорогах. Воно може аналізувати та реєструвати швидкість автобуса,
враховувати місцезнаходження, дорожні умови та інші фактори, що впливають
на безпеку руху.
Така система дозволяє забезпечити постійний мон1торинг діяльності
водія, виявляти порушення швидкjсних режимів і надавати відповідн і сигнали
або сповіщення.
Розробка програмного забезпечення автоматизованої сисїеми для
визначення компетентності водія автобуса з модулем обмежувача швидкості
6
ЧДТУ . 23 1922 .008 ПЗ
U ІСJІІО'ІНС О себе РJІ/\ CJ(JJO){IIH X ТСХ ІІОJІОrі 1111и х ста11ів .
ПО 'Н\ТІ<О ІНІМ СТОЩ)М С ІІf)ОСІ<'rу 110 1111я СИС'І'СМИ , /{С враховуються вимоги ДО
Gсз 11tж 11 та фу111<uістот,11ості . )tстат~11и й а11011і з потреб дорожнього руху та
ННМО\' щодо 0Gмсжс111ш /111)/,t)tl{OCTi /10/I OMUГ.lC оиз 11а 1rити параметри , що
11ідш11 ·оют1, І<ОІІ 'ІlЮJІ ІО .
Нnсту 11111-1м спн1ом с розроб ,ш само, ·о модуля обмежувача швидкості . Ue
онма~·ас 11ро rромува1111я спсніат,11оrо ш, горитму, який отримує дані про
швид1< і ст1, аотобуса і при 11еобхідності забезпечу<:: зниження швидкості до
бс:шсч11оrо ріо11я . Та1<ож потрібно забезпечити взаємодію з іншими системами
аотобуса, я1< і можут,, передавати дані нро швидкіст,, та інші параметри .
Після розро61<И модуля обмежувача швидкості виконується тестування
системи для перевірки їі працездатності та відповідності встановленим
ста1•щартам . Здійснюються різноманітні сценарії тестування, які дозволяють
переконатися в правильному функціонуванні системи та їі взаємодії з іншими
системами автобуса.
Крім того, розробле1-1е програмне забезпечення може бути інтегровано з
системами GPS та системами безпеки автобуса. Система GPS дозволяє
визначати місцезнаходження автобуса і сприяє точному контролю швидкості в
різних ділянках дороги.
Метою роботи є розробка програмного забезпечення автоматизованої
системи для визначення компетентності водія автобуса. Для досягнення
поставленої мети необхідно вирішити наступні завдання:
створити архітектуру модулю обмежувача швидкості;
розробити самий модуль;
протестувати програмний модуль.
Об'єктом розробки даної кваліфікаційної роботи бакалавра є процес
визначення компетентності водія автобуса. Процес визначення компетентності
водія автобуса має свої особливості, зокрема, потребує наявності великої
кількості тестових завдань, за допомогою яких водій зможе визна1.1ити свій
рівень знань. З метою поліпшення міського транспорту, основна увага у даній
7
ЧДТУ.231922.008 ПЗ
роботі спрямовується нn розроб1<у nporpnмнoro забезпс~1е111н1 , що дозволить
ефективно визначати рівень компетентності водіїв .
У даній роботі методи розробк11 01<лючають о себе ви1<ористаню1 мови
програмування Kotlin для створення програмного забезпечення для аидроїд
телефонів.
Опис отр11ма11их результатів. В даній роботі було розроблено
програмне забезпечення автоматизованої системи для визна1.1ен 11я
компетентності водія автобуса, модуль обмежувач швидкості, з використанням
мови програмування Kotlin.
Практичне з11ачсн11я отриманих результатів, Застосування
розробленого програмного забезпечення дозволить визначити рівень
компетентності водія, що значно покращить ситуацію на дорогах України.
Розроблена система буде враховувати всі недоліки існуючих програмних
аналогів а також буде зручною у використанні. Отримані результати готові до
використання в системах визначення компетентності водія .
8
ЧДТУ . 23 І 922.008 ПЗ
1 ІСНУІОЧІ МЕТОДИ ТА ЗАСОБИ РОЗО'ЯЗАІІІІЯ ПОСТАВЛЕНИХ
ЗАНДАІІІ>
1.1 О1111с іс11уюч11х мстодін 111, :щсобіn в 111со 1н1стn 1111 х np11 розробці
В11з11очс1111я nнмо , · ло системи тн аналіз с пер11 1им етапом стооре1111я ІС , 11а
якому ВІ\МОГИ Зt\MODl\\11((1 УТО'І ІІ ІОІОТІ,СЯ, узгоджуються, формолізуют,)ся та
документуються. Факт11чно на цьому етапі дасться оідnовідь на запита 1111я : "Для
чо1-о призначена і що має робити інформаційна система?"
Мстою с перетоорення загальних , розпливчастих знань про nихщ11у
предметну область (вимог замооника) у точн і визначення та специфікації для
розробників, а також генерація функціонального опису системи . На цьому етапі
визначаються та специфікуються :
зовнішні та внутрішні умови роботи системи ;
- функціональна структура системи ;
розподіл функцій між людиною та системою, інтерфейси;
вимоги до технічних, інформаційних та програмних компонентів
системи,
вимоги до якості та безпеки ;
склад технічної та користувальницької документації.
Розробка перерахованих вище специфікацій при створеню ІС,
призначеної для автоматизації управлінських процесів, у загальному випадку
проходить чотири стадії. Перша стадія анал1зу - структурний анал,з
підприємства - починається з дослідження того, як організовано систему
управління підприємством, з обстеження функціональної та інформаційної
структури системи управління, визначення існуючих та можливих споживачів
інформації. За результатами обстеження аналітик на першій стадії будує
узагальнену логічну модель вихідної предметної галузі, що відображає їі
функціональну структуру, особливості основної діяльності та інформаційний
простір, в якому ця діяльність здійснюється. На цьому матеріалі аналітик будує
функціональну модель "Як є " [З ] .
Друга стадія роботи, до якої обов'язково залучаються зацікавлені
9
ЧДТУ. 23 1922.008 ПЗ
11рснсто01 1 1-1 1<и замоони1ш , а зn потреби і незалежні е1<сперти, полягає в анnлізі
мо/\СJІі "Я~< є\ nю,вле1111і її 11сдолі1<іо та nузь1<их місць, nиз11nчення шляхів
)'J\ОСt<о11олс11нл c11 cтcl\,tJ,1 упрnолі1111я на основі виділених критеріїв л1<ості .
'І'рстя стnдія nналізу, що містить елементи прое1<'rуоа1111я , - стооре11ш1
11дос1<0 11 оленої узсн'о.ль11е1-10ї логічної моделі, що відображnє реорганізовану
11рсдмстну обнnсть або їі частину, я1<а підлягає автоматизації - модель "Яt< має
Gутн"
Закі нчується процес (четверта стадія) розробкою "Карти автоматизації" ,
що с модеЛІ> реорган ізованої предметної області, на якій обов'язково позначені
"кордони автоматизацї~•11 (7).
У більшості випадків модель "Як є11 покращується системним аналітиком
за раху11ок усунення очевидних невідповідностей та вузьких місць, а отриманий
таким чином варіант моделі розглядається надалі як попередня модель "Як має
бути", яка згодом доповнюється відповідно до стратегії розвитку підприємства.
На стадії аналізу вимог до проектованої системи та вводяться:
класи користувачів та відповідні діаграми бізнес-транзакцій ;
моделі (діаграми) процесів прикладної діяльності та відповідні
переліки функціональних завдань ІВ;
класи об'єктів предметної області та відповідні д1аrрами "сутність
зв.'язок", що відображають інформаційну модель цієї предметної
області;
- тополог1я розташування підрозділів та користувачш, ЩО
обслуговуються даною ІС;
параметри захисту даних, інформації та самої системи.
Основним документом, що відображає результати робіт першого етапу
створення ІС, є технічне завдання на проект (розробку), що містить, 1<рім
верерахованих вище визначень і специфікацій, також відомості про черговість
створення системи, відомості про виділені ресурси, директивні терміни
проведення окремих етапів роботи, організаційні процедури 1 заходи щодо
11р1-1ймання етапів, захисту проектної інформації тощо.
10
ЧДТУ. 23 1922.008 ПЗ
Наступнні1 стn11 - 11 росжту11011ш1. у рсnш,11и х умооох прос1<Туоа11нл - це
пошук, МОДСJ1ІОШ\ІІІІ Л способу розробю, , fІІ<ИЙ :JtV ~O IIOJll,IIЛC оимоги
функttіОІІ С\Л І>ІІОСТі С1ІС'('С!\·111 :J !\COUf\MИ 11(\Я ОІІИХ ТСХ ІІОJІО І' І /,1 З урохуuо 1111лм заданих
почоткоонх умоо та обмежень . Прос 1<туво1111л і11форма ціt,і11и х систем заожли
ПО'ІІІ\-ШЄТЬСS1 з І)t\ЗІ\ (ІЧСІ\ІІЯ МСТІ! прое,пу [2] . Ос11 0 011е ЗО В)ЩІІШІ будь-ЛІ(ОГО
успішного проекту поллrас о тому, щоб на момент зnпус1<у системи то nротнгом
усього часу її експлуатації можна було зnбсзпсчитн:
необхідну функціональність системи та ступінь адаптації до умов їі
функціонування, що змінюються ;
необх ідну пропускну здатність системи та мінімальний час реа1<ц11
системи на запит;
безвідмовну роботу системи у потрібному режим~ , готовність та
доступність системи для обробки запитів користувачів;
простоту експлуатації та супроводу системи;
необхідну безпеку даних та права доступу користувачів.
Продуктивність та надійність є головними факторами, що визначають
ефективність системи . Хороше проектне рішення є основою
високопродуктивної системи.
Проектування інформаційних систем охоплює три основні сфери:
проектування структур даних, які будуть реалізовані у базі даних;
проектування програм, екранних форм, звітів, якj забезпечуватимуть
виконання запитів до даних;
проектування конкретного середовища чи технології, а саме: топології
мереж~, конфігурації апаратних засобів, використовуваної
архітектури, паралельної обробки, розподіленої обробки даних тощо.
На основі результатів системного аналізу на стадії попереднього проекту
розробляються:
проект програмно-апаратної реалізації, проект користувальницьких
інтерфейсів та технології роботи користувачів у системі ;
архітектура розподіленої системи та специфікації телекомунікаційної
l l
ЧДТУ.23 1922 .008 ПЗ
мережі ;
моделі (діаграми) nотокіо дnних ;
функціональні бло1<-схсми при 1<лnд1юrо Т(\ систем1- 101·0 r1porpaмнoro
забезпечення (ос,0 1111і оідпооіюю J(O 11рийтпих моделей
ссрсдоnищn ІС та профіліо спнщnртів).
Стадія попереднього прое1стуо01 11-1л може псредбочати лрототипува11ш1
фраrl\·\ентів, вюю1иоих з точ1<и зору 1сористуо11чn для ncpeuipю-r відповідності.
вимоrаІ\•1 на ранній фаз і розро61<и [ l О].
На стадії детального nрое1пувnню1 [РОЗробляються:
комплекси функціональних програм ІВ та nрое1<т реалізації
середовища ІВ ;
структури даних, засоби ведення бази даних;
мережеві адреси, протоколи телекомуиікацій та інші компоненти
середов1-LЩа обміну іиформацією, що включаються до складу
проектованої ІС ;
- правила розмежування доступу користувачів та засоби їх реалізації.
Стадія реалізації ІС передбачає розробку та тестування компонентів та
комплексне тестування системи.
Стадія експлуатації та супроводу передбачає контроль функціонування
ІС, внесення необхідних змін до інформаційної бази у процесі поточної роботи
та модернізацію функцій ІС силами прикладних фахjвців за допомогою
інструментальних засобів, вбудованих у систему .
Етапи розробки, тестування, впровадження , експлуатації та супроводу ІВ
об'єднуються терміном - реалізація. Реалізація ІС є надзвичайно складним
багатоаспектним процесом, який здійснюється на базі сукупностей (профілів)
гармонізованих міжнародних стандартів , специфікацій та угод. Така практика є
запорукою того, що створювана інформаційна система буде реалізована як
"відкрита система". Іншими словами така ІС буде масштабована, мобільна,
переносима, мати дружні інтерфейси і т.д [17].
Життєвий цикл ІС формується відповідно до принципу низхщного
12
ЧДТУ.23 1 922.008 ПЗ
проектування 1, ЛІ< прношю , І\ШЄ с11ірш1ь110- ітсрrщій11иі,1 харtштер. Реалізовані
етаnн, nоч111ш10ч 11 з pn1111ix1 ц11ю1 і'111 0 повторю1от1,сл uід1юоіJ\ІІО до змін оимоr і
зоонішніх умоu. зопрооn;\ЖС1111ям J\Одuт1сооих обмсжс11ь то 1_цо. , 11рийнлті на
по11еред11ьому стоп і )l(1,1 1v1,co11й ци1сл 10 зо~сі1111уєт1>сн, коли 11рипит1ється ї1
прогрnмниП та технічний с.упрооід.
1.2 Аашліз іс11у10ч11х '1Ш\J10І'іо ІІJ>ОГ(ШМІІ
Один з найоажлиnіших аспе1сті в розробки будь-якої програми - це знання
того, що nже існує на ринt<у схожих проду,стш. Такий аналіз допомагає
розробникам бути в І<урсі останніх тенденцій та знаходити ідеї длJr
вдосконалення вже існуючих продукrіn .
1.2. 1 Система «Контроль швидкості +HUD>»
Програма призначена для попередження водія про перевищення
швидкісного режиму при русі за допомогою GPS [З).
Рисунок 1.1 - Додаток «Контроль швидкості +HUD»>
Система має:
відмінний сшдометр з можлив1стю вщкриття на повний екран
(красиво виходить в горизонтальній орієнтації).
НUD корисний при русі в темній час. Всі дані бу дуть відображатися
на лобовому склі автомобіля.
1.2.2 Сервіс «Navigator Plus»
Мобільний додаток Navigator Plus дозволяє відобразити на екрані
смартфона або планшета розташування і переміщення автомобілів в режимі
реального часу, швидкість, пробіг, місця і тривалості стоянок, залишок палива в
баку, контролювати проходження технічного обслуговування, отримувати рush
тривожні повідомлення, тощо (4].
Додаток є частиною програмно-апаратного комплексу GPS моюторингу
tЗ
ч;rгу. 2з 1922.oos 11з
тран ·норту «l lоні,·атор».
г~ю, Н\ІІ<ОJ)\ІС'Г(\\І\1Я \lt)O\l)C\MI\ \І~ОбХі)ЩО І)ІJССТИ Щ.\11 1 обліІ<ОВОГО запису,
нк11і\ стuорЮЮТІ, фахівt\і «Трn\ІСІ(ОІІТ\ЮJІЬ УІСр[\ЇJ І Ш).
t\1\06іJІІ,11ні\ J\OJ\OTOt< Nnvignto1· Plt1s Нодотоt< Наоі1·нтор Плюс отримав два
UCJ\I\K\\X 01\ОШ\С\І\ІSІ Pt1sl, трноожні ІІООЇ)\ОМJІ СІ1Шl:
момснтnт,11~ інформуnо11ш1 нро сво~<уацію овтомобіJн1 ;
псµсnищення транснортним З(\собом останош1сного ліміту wвид~<ості ;
стнпь водіння (рі:щі прнс1<0рсння, 1~альмуоаrtш1, пооорот) ;
порущсння температурного режиму перевезення вантажу;
виходи / ОХО)\И з/в reo зони;
зникненні зовнішнього >1<иш~еи11я;
втрата сигналу навігаційних супутню<ів;
перевищення часу стоянки.
•• вкn1очити в наnаштуеаннях програми Pus t
1
• узгодити з технічним оІддІлом «Трансконт~
присвоїти статус тривожних
Novigotor Plus
111 о <
Рисунок 1.2 - Сервіс «Navigator Plus»
l -l
ЧДТУ.231922.008 ПЗ
1.2.3 Сервіс UG\1 D1·i,,e1· Ass i stnлt
Асистент водія - це мобіл1,1шй додnто1< для А1к\1·о і сІ і IOS як для
приватного оикорист0н11я, тю< і дпл t<Optiopaтиo11oro оотогшр 1<у. За допомогою
• V ) t . . •
технолоr1и .комп ютсрноrо зору , мошн1111оrо 11аоча1111я , 111туч11ого 111теле1<ту з 1
звнчайноrо ·мобіт>ного тслефо11у можнn отримоти реш1ь110 1·0 поміч1-1и1<а uодія о
дорозі . Нnnраnивши свій смартфон 110 дороrу, ои отримуєте анал і з розм іт1<и,
дорожніх зн01<ів, руху оточуючих автомобілів і оповіще1н1я оодія в раз і
виникнення небезпечних ситуацій [5].
Опциональна функція - спостереження за поведі1-11<ою водія п ід І.Jас руху
за допомогою камери смартфона. у nипадt<ах якщо водій розмовляє по
телефону, позіхає, закриває очі довше ніж на 1 се1<у11ду, додато1< оповіщає водія
звуковим сигналом .
Основні функції
моніторинг швидкості руху;
контроль дотримання дистанції;
контроль траєкторії автомобіля ;
контроль стану вод~я;
- GPS трекінг, в т.ч . і дружніх автомобілів;
.Рисунок 1.3 - Додаток UGV Driver Assistant
15
ЧДТУ. 23 1922.008 ПЗ
Вис11ооки до роздіду 1
У 1~ьому розділі ми розrнянули існуючі методи та аналоги розв'язання
1ІОС'ГаJJJІСІІИХ заода111_) у ниrняді алгоритму побудови лрограмноrо продукту.
Вю~оилос1->, що на сьогоднішній день існує низка програм, які допомагають
оодіям оиз11ачити їх І<омпетс11т11ість, та проаналізувати рівень компетентністі
з11а111, за допомоr·ою тестових завдань .. Таким чином, розробка нової програми,
що ораховує особлиоості визначення рівня компетентності водіїв, є актуальною
та має праt<тичне значс11ня. Програма має бути простою та зручною в
оикориста1111і. Та1<0ж буде проведено тестування програмного забезпечення У
наступному розділі детально розглянемо методи та інструменти, які були
ви1<ориста11і дня розробки програми.
lб
ЧДТУ.23 1922.008 ПЗ
2 ПРОЕКТУВАННЯ ПРОГРАМНОГО ЗЛБЕЗПЕ'-ІЕННЯ СИСТЕМИ
2.1 1\1одс.111011nн11n 11рсдмстІІої ofiJІncтi
2.1. І Прсдмст11n общ,ст,, модслюв01 1101 . Мо;~снь 11ре,цмот110:1 області.
СJюоннк прсдмст11ої області
Ul\tll.., є ст,ш,1.щрт11нм інструментом дш1 стnорс11ш1 "1<росJ1с11ь 11 r1porpaм11oro
зnбсзнсчсння I дозnош11є uізуолізуrшти, спсцифі,суоати , 1<011струювати та
документувати ор'геф111стн nроrромних систем.
Ця мова може бути застосооона для моделюва1111s1 будr,-ЯІСИХ систем,
оключаючн інформаційні системи масштабу підприємства, розподтен,
програми орієнтовані під Web і вбудовані системи реал1,11ого часу. UML
дозволяє розглядати систему з усіх точо1< зору, що мають відношення до їі
розробки й наступного розгортання, та є простою для розуміння і ви1<ористання.
Хоча UМL не залежить від модельованої реальності , краще за все
використовувати його, коли процес моделювання заснований на розгляді
прецедентів використання, є ітеративним та покроковим , а сама система має
чітко виражену архітектуру [ 15].
UМL є мовою, яка дозволяє візуалізувати, специфікувати, конструювати
та документувати артефакти програмних систем. Ця мова складається з і
словника та правил , що орієнтовані на концептуальне та фізичне подання
системи. Використання мови моделювання, такої як UМL, є стандартним
підходом для створення "креслень" програмного забезпечення.
Для того, щоб розум1ти систему, необхідно створювати багато
взаємозалежних моделей. Опис архітектури програмних систем з різних точок
зору під час їх розробки вимагає використання мови моделювання. Хоча
словник і правила такої мови, як UML, пояснюють, як створювати й читати
добре визначені моделі, вони не дають відповідей на запитання про те, яю
моделі потрібно створювати в різних випадках. Це завдання, що стоїть перед
усім процесом розробки програмного забезпечення. Ефективно організований
процес повинен допомагати визначити, які артефакти потрібні, які ресурси
17
...
ЧJ~ТУ .23 1 922.008 ПЗ
необх ідн і для їх стнорс11ш1 , ЯІ< ці нртсфt11<·1·и можу·1·1) Gути 11и1<ористш1і Jtmr
оцінки ВИ ІСО\tfІ tІОЇ робо·,·11 ТО у11ровпі 111Н1 ГІрОСІ<ТОМ В ці Jюму.
Мн будемо ои1еuрнстоuувот1,1 мову UMI..., юш мuлсJ1юr1ш1т1 11pcJtM<.:т110'(
обності то 11рос1сту nа1111)1 системи u ціному . UMI..., моt три ти 11 и ні ·1уш11,11и х
ПОЗІШЧЄІ--1 1, ДJtЯ діаграм: rрофіч11і СИМІЮЛИ , ·т'sІЗ ІСИ (m<i ')1<::ЮІУІОТІ , CJ/CMU /JTИ ) 'І'Н
тскстоо1 елементи .
Розробники програмного забсзпече11ш1 стuорюют,, різні артсфа,аи , SІІ(І
допомагають У керуванні та оцінці резущ,татіn прос1<ту, а таt<ОЖ у 1<ому11і"ації
r-.•1іж членами команди . Ці артефа~сти можуть оюночати uимоrи до системи,
архітектуру, проект, вихідний код, прос1<тні r111а11и, тести та прототи11и .
Виконання деяких робіт може бути більш формальним, ніж інших, запсжно oiJt
прийнятої методики розроб1<и. Важливо зазначити, що ці артефакти не є ГІросто
складовими проекту, але є необхідними елементами для успішного оикона1111я
розробки та підтримки системи .
UtvlL дозволяє вир1шити проблему документування системно~
архітектури та всіх їі деталей, надаючи мову для формулювання вимог до
системи та визначення тестів. Крім тоrо, вона забезпечує можливості для
моделювання роб іт на етапі планування проекту та керування версіями .
2. 1.2 Елементи моделювання предметної області
При моделюванні предметної області програмного забезпеt.1е1-1ня для
автоматизованої системи визначення компетентності водія автобуса з модулем
обмежувача швидкості можна розглядати такі основні елементи:
І Водій автобуса: Це головний суб'єкт системи , компетентність якого
має бути визначена. Інформація про водія може включати особисті дані (і м'я,
пр~звище, контактна інформація), стаж водіння , освіту та інші релевантні
деташ.
2 Автобус: Це транспортний засіб, який водій керує. Важливо мати
інформацію про технічний стан автобуса, його характеристики (розмір,
потужюсть двигуна, тип обмежувача швидкост1 тощо), а також історію
обслуговування та ремонтів.
18
ЧДТУ . 23 1922.00R І ІЗ
З Модуль обмсжувnчn 111шщ1<ості : І tc 11р1,1 стріІ1, н1<иІ,і 1со11тролює
шв11д1<істt. оuтобусо. Ві11 1'·1ожс Gy1·11 і11то1·роош111й Gcз11uccpcrt1 11,o о аотобус обо
ос,[1t1оонснt1іі до1щт1соnо . І3ожн 11nо nрахонувоти Ио1 ·0 х11ро1стсристи1<и,
11 олоштуоu11ш1 тn можJ111оості зGсрі 1 ·01111я і псрсJtочі Jt(ших rrpo швид"іст,J.
4 КрІІтерії КОІ\Н1с1·с11т11ості: Це 1шбір вимо1 · і сто 11дартін, зt.1 ЯІ(ими
оціtносться компстс11т11ість оодія . Dони можут,) ВІ<JІючоти знання r~равиJІ
дорожнього руху, uмі1111я t<сруоати аотобусом, здатність сфе,стивно
онкорнстовуоати модущ, <>бмежуоача шоидt<ості тощо.
5 Дані 3 модуля обмежувача шоид1сості: Це да1-11 , яІСі збираються з
модуля обмежуоача швидt<ості і відображають ріоень ІЗИІ<Ористання модуля,
дотримання обмежень швидкості та іншу відпоnідну інформацію . Ці дані
можуть бути записані у вигляді журналів, журналів подій або електронних
файлів.
6 Алгоритми та аналітиt<а: Для визначення компетентності водія можуть
використовуватися р1зю алгоритми та методи аналізу зібраних даних.
Наприклад, можуть бути застосовані правила оцінки, порівняння даних з
встановленими критеріями, аналіз тривалості порушень швидкісного режиму
тощо.
7 Результати ощнки: Це вихщш даю, яю вказують на рівень
компетентності водія. Вони можуть бути представлені у вигляді числових
оцінок, статистики, графіків або іншого формату, який зручний для подальшого
аналізу та використання.
Ці елементи можуть бути детальніше розроблені та інтегровані у
програмне забезпечення, щоб створити автоматизовану систему для визначення
компетентності водія автобуса з модулем обмежувача швидкості.
2.1.3 Робоча область моделювання
Для проведення моделювання було використано додаток
App.diagrams.net. Це безкоштовний інтернет-сервіс та вщкрите програмне
забезпечення для побудови різних діаграм та схем у різних нотаціях. Додаток
працює з Google та Dropbox і дозволяє користувачам створювати та редагувати
19
ЧДТУ.231922.008 ПЗ
різні типи дtаrрам , такі як блок-схемн , організаціііні діnграмн , ді 11грам11
npoueciв (ВРМN) , діаграми сутності-зв'язку (ER), схемн уніфікооnної мовн
моделювання (UМL), мережеві діаfl)ами та інші. Додаток має і11туїт11вно
зр оз)'мілий інтерфейс з <\)ункц·1 є10 перетягування, шабл0Nам11 д1.1 1грnм то
великою бібліотекою графічних елементів. КріІ\1 того, 1<ор11стувачі можуть
відстежувати та відновлювати зміни, імпортуват11 та експортуват11 різні
формати, автоматично публікувати роботи та ділитися ними з іншнми. Для
зберігання діаграм користувачі можуть використовувати настільну 11рограму
для n1acOS, Windows та Liпux або зберігати їх локально. [ 19].
2.2 Формування та аналіз в11мог
2.2.1 Формування вимог до програмного забезпечення. Первинні і
деталью вимоги. Вимоги замовника розробника. Функціональні та
нефункціональні вимоги
Вимоги інженерного процесу складаються з чотирьох еталів. Перший
етап - техніко-економічне обrрунтування - спрямований на досягнення цілей
організацн. Аналітики вивчають інформацію, щоб детально дослідити
можливість розробки бажаної системи та іТ функціональних можливостей.
Техніко-економічне обrрунтування оц~нює, чи можливо реалізувати
програмний продукт, який відповідає цінностям та цілям організації, а також
враховує обмеження витрат та внесок проекту в організацію. На цьому етапі
також розглядаються технічні аспекти проекту та продукту, такі як зручність
використання, ремонтопридатність, продуктивність та можливість інтеграції.
Результатом цього етапу є звіт про техніко-економічне обгрунтування, який
містить адекватні коментарі та рекомендації для керівництва стосовно
прийняття рішення щодо реалізації проекту.
Вимоги
1 Аутентифікація та авторизащя: Система повинна мати можлив1сть
ідентифікувати водіїв та забезпечувати доступ до відповідних функцій
інформації про компетентність. Реалізація механізмів аутентифікації та
авторизації, таких як логіни, паролі, ролі користувачів та права доступу , є
20
ЧJ~ї'У . 2J І ()22.00R І ІЗ
ІІLІ)І<JІІІ ІІОІО ,
2 Збір то ·•1 r>1.:ріп11 1ш1 Jю1111х : н с· 1 ·смо 1 юш111щ1 мt1ти можнивіст,) збирати
Jtf\ tt i 11ро 111 1111н1<іс·11 • руху ш,· 1 ·0Gyct1 ·1 мщtут, 0Gмсжуш1•н1 11 111иJt 1<ості , а 'fакож інші
нін11011іJt11і Nt ІІі 11 Iю вонії11 тн n11т0Gyc 11 . І ti щ111і слі;t ·1бсr,і1 ·ати в тщійній та
мnс~11тнGош111іf\ Gtt::ii ;щ1 111 х J tJІJІ 1 ю;tот)11 101 ·O н11с11 1 і ·1у то 111-11<0ристо11т1 .
З Л11ш1іт11ю1 J\01111 x: С11стсмо 11оnн 111 ш мати можниnість а 11ал ізуоати
:1iGp1111i ) tOIII )\Jl)I ІНІЗІІLІ 1 ІСІІ1"l \(ОМ ІІ СТСІІТІІОС' І' і DOJtiїІJ, Це може DІ<JІІО!./а1'И
1~оріп11я11ш1 111011)\tюсті руху з обмсжс11ш1ми, 1тмірю11а111111 триuалості порушень
111п11н1< і с1101·O рсж11му, 01\і 1 щу дотримш1ш1 11ра о 1,ІJІ дорож111,ого руху тощо.
4 Ві·~уалізаttіл рсзут,тотіu: Система nоои 1111 а мати можлио1сть
оізуш1ізувnт11 рсзуJІьтати ш1ru1іт111<и о зруч11ому та зрозумілому форматі . Це
може бути оідображе111ш статисти1<и , ,~рафі1< іn , діаграм або інших візуальних
с11смс11тіn, які допоможутt> користувачам леr1<O сприймати та розуміти отримані
дан, .
5 І l алаштуоа11ня та керуоан11я : Система пооинна надати можлив1сть
налаштовувати параметри аналітики та критеріїв компетентності водіїв.
Керування системою повинно бути зручним та ефе1<тивиим, дозволяючи
адміністраторам встановлювати правила та обмеження відповідно до потреб та
політи1< безпеки.
6 Звітиість: Система повинна забезпечувати можливість генерувати
звпи про компетентність водіїв) статисти_ку порушень) рекомендації щодо
поліпшення та іншу відповідну інформацію. Це допоможе власникам автопарку
або менеджерам використовувати дані для прийняття рішень та вдосконалення
процесів.
7 Надійність та безпека: Система повинна бути надійною та
забезпечувати ко11ф іденцій11ість, цілісність та доступність зібраних даних. Вона
поои1н1а також враховувати заходи безпеки, щоб запобігrи несанкціонованому
доступу та зловживанню.
21
ЧДТУ. 231922.008 ПЗ
Це зnrnльн і внмоrн, ,щі можуть служити nнхіл.11ою точ1<ою для розро61<и
програмного знбсзпсченнн J\JІ Я tштомотизоuшюї системи оиз11ачення
компетентності uодія нотобусн з модуJІсм обмежувача 11шид1<ості. Конкретні
онмоr11 до снстсІ\н1. можуть nнріюrштися о заJІожності від особливостей ваwо,·о
npoet-."1')' та онмоr uашої орІ'·nнізацїі.
Сnсц11фікnція nнмог до npoгpnl\11101~0 забсз11с11с111ш
Специфікація вимог до nporpaмнoro забез11ечення в.изначеш-,я
компетентності водія автобуса 3 модулем обмежуuа~rа швидкості можуть
включати наступні елементи:
1 Можливість перегляду поточної швид1<ості : Система повинна надати
інтерфейс, який дозволяє водію та адміністраторам переглядати поточну
швидкість автобуса в режимі реального часу . Це може бути відображено на
приладовій панел і автобуса або на екрані комп'ютера/смартфона.
2 Можливість встановлення максимальної швидкості: Система повинна
дозволяти адміністраторам встановлювати максимальну допустиму швидкість
для конкретного водія або автобуса. Це може бути зроблено через інтерфейс
управління, де можна вказати необхідні обмеження.
З Статус підготовки до замірів: Система повинна мати рядок "Статус" ,
який вказує, чи успішно виконано підготовку до початку замірів швидкості. Це
може включати перевірку працездатності модуля обмежувача швидкості ,
підключення до системи збору даних тощо.
4 Максимально зафіксована швидкість: Система повинна зберігати та
відображати інформацію про максимальну швидкість, яку досягав автобус під
час руху. Це може бути корисним для аналізу та виявлення порушень
швидкісного режиму.
5 Час перебування з1 швидкістю вище обмеження: Система повинна
вщстежувати та відображати час, протягом якого автобус перебував з,
швидкістю вище встановленого обмеження. Це дозволить оцінити, наскільки
22
= - ..J
ЧДТУ. 23 1922.008 ПЗ
часто порушується шв1-щкісннй режнм .
6 Відсоток КОІ\'ІПетентності водія : Систем0 nоои11ш, розроховуоати та
відображати відсоток компетентності оодія 11n ос11ооі n11анізу зібраних да11их.
Ueit показник може відображати ступінь дотрнман11я водісм шuид1<існих
обмежень та правил дорожнього руху загалом.
Ц,t специфікація вимо1~ до програмного забезпечення допоможе створити
СІ'tстему, яка забезпечує визначення компетентності оодія автобуса з модулем
обме:>1-,увача швидкості . Залежно від потреб вашого прое1пу та специфічних
811мог, ці функції можуть бути детальніше розроблені та налаштовані для
досягнення бажаних результатів.
Функціональні програмні в11моr11
Функціональні вимоги до системи для визначення компетентност1 водія
автобуса, що містять модуль обмежувача швидкості, можуть бути наступні:
- можливість перегляду швидкості на даний момент;
- можливість виставити потрібну максимальну швидкість;
- рядок «Статус» , за допомогою якого ми бачимо чи підготовка до
початку замірів виконана успішно ;
максимально замічена швидкість;
- час, скільки ми перебували зі швидкість більше зазначено'і;
- відсоток коl\mетентності водія.
Розглянемо не функціональні програмні вимоп1.
Інтерфейс користувача має бути простим та зрозумілим для
користувачів без потреби в додатковому навчанні.
Програмні вимоги до надійності:
Система повинна функціонувати без збоїв 24 години на добу, 7 днів
на тиждень, з часом простою не більше 10%.
Середній час безвідмовної роботи повинен бути не менше 300 годин.
Програмні вимоги до продуктивності:
23
..
ЧДТУ . 2З t 922 .ООН 113
Снстсмо поuнш,о бутн ЗJ\01'11 0 обробт1тн 110 мс 111111.: 80'% нс і х тро11::1t1ю{іf1 :щ
І ~ ot1J1Нt1)' .
2.2.2 Формуооння онмо,- :щ до1юмо 1~ою діаrрnмн прtщСJtс11ті11
ІдеtП'ІІфікуuатн прсцсдснтн і J\ii\ooi особи про1·ром1ю1"0 зобс:юсчс 11 ш1
оотоматнзованої снстемн для онзнnчення компстс11т1юсті оодія nотобуса з
модулем обмежувача wnадкості це один з 11nпоnжливіших момснтш
прое~-.'Тування системи . При ідентифік::щії оюсонуються 11nступ11і 1<ро1си [ 17]:
- ч,тко розмежується система і їі оточення ·
'
визначається , які дійові особи і я1с саме оони озаємодіють з системою,
якнй функціонал (варіанти використання) очікується від системи ;
визначається і описується в словнику предметної області (глосарії)
заrалью nоняття , яю необхідні для детального опису функціоналу системи
(прецедентів).
Подібний вид діяльності зазвичай виконується в такій послідовності :
1 Визначення дійових осіб.
2 Визначення прецедентів (варіантів використання).
З Складання опису кожного прецеденту.
4 Опис моделі прецедентів в цілому (цей етап включає в себе створення
словника предметної області).
Система розробленої програми включає наступні дійові особи або актори:
1 Користувач: Це водій автобуса, який взаємодіє з системою,
використовуючи її функціональні можливості . Користувач може виконувати
дії, такі як використання обмежувача швидкості , налаштування параметрів
системи, отримання сповіщень та контроль роботи системи.
2 Система: Це програмне забезпечення, яке реалізовує автоматизовану
систему для визначення компетентності водія автобуса з модулем обмежувача
швидкості. Система отримує вхідні дані від користувача, обробляє їх і надає
необхідну функціональність.
24
І ЧДТУ . 23 \ Q22.008 \ 13
Для розробленої снс1~см11 щщі 1асно носту1111 і нрснсд~ 1п11 ( снс1шрії
взаємодії між оt-. горuмн) (р11су11он 2. 1) :
Аа 1 Q..\З 1) ІІІ} .. (n (!І \аjе,1Щ!І
м~жо :ie1l 'a1 с-з r-c,o
An~І J.\Фr
t:rr1·•~
fPII cбi.t&
WIIQKOCт1
Вод,\
ежячасу, oc:n
був З'І 3 WВІ\Д/4
~JН~еноr
Рисунок 2.1 - Графічне представлення діаграми прецедентів
1 Використання обмежувача швидкост1 вод1єм автобуса: Користувач
активує обмежувач швидкості, що призводить до контролю та
обмеження швидкості автобуса відповідно до встановлених правил і
обмежень.
2 Налаштування параметр1в обмежувача швидкосп в системі :
Користувач має можливість налаштувати параметри системи, такі як
максимальна допустима швидкість, обмеження на певних ділянках
дороги тощо.
25
Ч)\ТУ . 2З t 922.ООК 113
3 Лuтомnтнчнс сноніщсн11я t)J1oc11tt1<n nнтоGус.:о Іtро Jtlm1111< и Jtupi1· Jtm1
()бІ\Н.'ЖСІ\Шl \Щ\11)\ІЮСТі НО)\ЇСМ : Снстсм 11 може (ltІTUM (\'J'l,JIJIIO С ІІОІlіЩО'І'И
олnсннкn оuтобусн нро J\ію1 111ш J\OJ>OІ' Іt, J\C ІЮJ\Н,і ,юоннс 11 обмсжуонти
uнщдкіст,>, що снр11яс попі11шс111110 бс:.1 11 с t< и то uіююві1,0111)1юст і 00Jtiї11 .
4 Контроль с11стсм11 до nідІ''отошш зuміріо : Снстсмо здіІ-tсшос постійІ/ИЙ
кон1·роль своєї роботи , nсрсоіряє процсздt1т1tість обмсжуоача
швидкості та іншнх компоне11тіn системи .
5 Виведення максимально1·0 значеню~ шоидкост~: Система може
виводнти максимальне допустиме значення шоидкості, яке повинен
дотримуватися водієм .
б Виведення часу, скільки водій перебував з1 швидкістю більше
зазначеного: Система може надати інформацію про тривалість,
протягом якої водій перебував зі швидкістю, що перевищує
встановлені обмеження.
7 Виведення відсотку компетентності вод1я: Система може обчислити і
вивести відсоток компетентності водія , враховуючи його дотримання
швидкісних обмежень та інші фактори.
Ці прецеденти визначають основні функціональні можливості системи та
реалізують взаємодію між користувачем і самою системою.
2.3 Проектування логічної структури програмного комплексу
2.3. l Діаграми класів
Діаграма класів є статичним зображенням структури модеш, яке
відображає декларативні елементи, такі як класи, типи даних, їх вміст та
відношення між ними.
По темі кваліфікаційної роботи бакалавра було розроблену наступну
діаграму класів.
26
1
ЧДТУ · 231922.008 ПЗ
•••
'---.-,-.J1.._._ _ ___,
Рисунок 2.2 - Діаграма класів
На діаграмі класів системи для визначення компетентності водія автобуса з
модулем обмежувача швидкості є такі класи:
Driver - клас, що представляє водія автобуса. Містить дані про водія,
такі як ім'я, прізвище, вік, досвід водіння та інші характеристики;
Bus - клас, що представляє автобус. Містить дані про автобус, такі як
модель, розміри, масу та інші параметри;
SpeedLimiter - клас, що представляє обмежувач швидкості. Містить
методи для обмеження швидкості автобуса та отримання інформації
про максимальну допустиму швидюсть;
DrivingTest - клас, що представляє тест на визначення компетентності
водія. Містить методи для проведення тесту та оцінки результатів;
TestResult - клас, що представляє результати тестування водія.
. . .
Містить дані про результати тесту та оц~нку компетентност1 вод1я;
Route _ клас, що представляє маршрут поїздки. Містить даю про
пункти призначення та проміжні зупинки на маршруті.
27
►
ЧДТУ. 231922.008 ПЗ
2.з.2 Діаграми Паt<етіо
Діаграма пакетів (Pockogc diog1·oщ) є rрофіч11им і11струмс11'rом, що
дonoмnrnє керуоатн СЮН.\L\ttістю модоні . Для зобрr,жс1111л г101<стіо 110 діаграмах
внкорнстооується сnецімьний rрофічний симоол _ осли~<ий nрямо1<утни1< з
11свелнкнм прямокутником , я1щй nрнєд11n11ий до ліоого верхнього кута
першого.
На діаграмі пакетів системи для оизначею-~я І<омпетентност1 водія
30тобуса, що містить модуль обмежувача швид1<ості, мож11а побачити чотири
пакети : "Водій" , "Транспортний засіб", "Модуль обмежувача швид1<ості" .
Пакет "Водій" містить у собі два підпакети : "Профіль водія" та
"Сертифікати". Пакет "Профіль водія" містить у собі класи, що відображають
інформацію про водія, таку як ім'я, прізвище, номер телефону тощо. Пакет
"Сертифікати" містить класи, що відображають інформацію про сертифікати,
отримані водієм.
По темі було розроблену наступну діаграму пакетів (рисунок 2.3).
СорnофІ"""'
8од/аі
у
г-,
ПрофІл~ 8QЦІІ
Рисунок 2.3 - Діаграма пакетів
28
► І
ЧДТУ. 23 l 922.008 ПЗ
пакет "Тра11сnо1пш•,~11 зн"' сt'б" ' М1·С ТНТt, у со 6.І доо ПІ·/ О ІОІ< c·r1І1·.
• •Характеристики трnнсnортноrо зособу" тн "ІсторіJ1 руху". ГІn1<ст
••)Сарокrернстики трансnортноРо засобу" містит1> юшси, що оідображают,,
інформацію про транспортний засіб, току ЯІ< мор1<а, модеJІІ-> , рі1< nипус1<у тощо .
пакет "Історія руху" містить класи, що відображають інформацію про рух
транспортного засобу, таку як маршрут, час ои'ізду та прибуття, І<іm, 1<іст1,
пасажирів тощо.
Пакет "Модуль обмежувача швидкості" м1стить у собі класи, що
відображають інформацію про модуль обмежувача швидкості, таку я1< тип
модуля, максимальна швидкість, статус роботи тощо.
2.4 Архітектурне проектування
2.4.1 Діаграма компонентів
Діаграма компонентів (Component diagram) представляє зв'язки м1ж
логічними або фізичними модулями, що складають систему. За допомогою
зв'язків між компонентами можна уточнити 'іх взаємодію, що забезпечує краще
розуміння архітектури системи. У мові UМL 1 компонент зображується У
вигляді прямокутника з двома прямокутниками меншого розміру в лівій
частин~.
По темі було розроблену наступну діаrрамму компонентів (рисунок 2.4).
t.4QQY,-.,CЦN<•
to,.,tnef(J4ntCCІ i
Рисунок 2.4 _ Діаграма компоненпв
29
ЧдтУ. 23 І 922.008 ПЗ
діаграма комnонснтіо для
СНС1'СМІІ n1111ш11с11ш1 І(ОМНС1'С1ІТ110СТІ ООДІJІ
roб )!С3 може ВКJtІО"ШТН наступні комнонс . .
06 II rн .
1 Обмежуоnч шnt щ1<ості _ , .
l\C t1 JІЗІІЧІІ11і\ МОJtуЛІ.,, ЯJ<І Іf\ І(ОІІТрОJІІОС
wо11.дкість nuтобуса то об~ 1 •·· . . . .
. сжус 11 01/ \110111/\110 )Ю ЗОJ{НІІОІ·о JІІМІТу. ЦсИ
компонент І\Южс бути · .
nщкточсю111 JIO снстсм11 GPS, щоб оотомотич110
змінюuатн ліміт шв1.а ,, ·
·щКОСТІ 13 залежності оід ЗОШІ ІJІDНJtІ( іСІІО І~О
режиму.
2 І\Іfодуль ощнки компетентності - це лоrічний 1<омnонент, я1сий
анал ізує поведінку водія та и~ · .. .. в·
ого здатнtсть до безпеч1101 1зди . 1н може
використовувати дані зі звукових та в13уальних сенсорІВ, ЯКІ
знаходяться в автобусі, а також зі спеціальних датчиків для
вимірювання реакційного часу водія та інших параметрів.
З Модуль зберігання даних - це логічний або фізичний компонент, який
забезпечує зберігання всіх даних, що збираються системою, таких як
дані від сенсорів та модуля оцінки компетентності. Цей компонент
може бути підключений до бази даних, яка забезпечує зберігання та
обробку даних.
4 Модуль відображення даних - це фізичний або логічний компонент,
який відображає дані, що зібрані системою. Цей компонент може бути
підключений до моніторів в автобусі, щоб водій міг бачити
інформацію про свою компетентність та інші параметри.
5 Модуль управління - це логічний компонент, який забезпечує
керування всіма іншими компонентами системи. Він може включати
програмне забезпечення, яке керує функціями модулів.
2.4.2 Розгортання програмної системи на апаратних засобах. Діаграма
розгортання
Діаграма розгортання в UМL є інструментом для візуального
відображення обчислювальних вузлів, компонентів та об'єктів, що працюють на
цих вузлах. Компоненти на діаграмі відображаються як робочі екземпляри
зо
ЧДТУ · 23 1922.008 ПЗ
0дн1-1Н цЬ коду. Компоненти, які ІІС 11\.,'.,n l,' ІОІО,·ь 111·),• \ln.,c роботи 11рограми, не
.а, ·,,11обраЖают1')ся на діnгрnмі poзroJ)Tf\1111•'1 ., ru1c б . б . 11,"
можу·1· 1, ути вщо рЮІ(СІ 11 "
,11inrpa,._,1 .n,,x компонент. Oct10011n ""1 c,t·n )Щ·\ І 'РОМН ро:;11"ортrшш1 ПОJІЯГt\С ІJ
візуальному представленні робочнх с1сзсмш1f1рів 1сом11011с11тів, то;tі ш< Jt i arpaмa
компонент відображає зо•язt<и між типами t<ом11011с11т [8].
Діаграма розгортання для снстсм11 nиз11nчс1111л 1сомr1стс11т1юсті водія
:1втобуса 3 модулем обмежувача швидкості дпл мобіпь11оrо дою1т1су може бути
ст)'ПІ-ІОЮ (рнсунок.2.5):
но
На діаграмі можна nобачнти трн обчислюваль11і оузли: мобільний
прнстрій водія, сервер додатку та сервер бази даних. Мобільний пристрій
відображений вгорі діаграми, оскільки він є клієнтом, що взаємодіє з сервером
додатку. На сервері додатку розміщено модуль обмежувача швидкості, який
оброблює дані, які надходять від мобільного додатку водія та виконує
відповіднj обчислення.
Сервер бази даних забезпечує зберігання даних про водіїв та їх
компетентність. Компоненти, які не мають представлення під час роботи
програми на цій діаграмі не відображені. Діаграма розгортання дає змогу
відображати фізичну структуру системи та взаємодію між обчислювальними
вузлами.
Також додано вузол жалоб на водія транспортного засобу.
/.ато
Рисунок 2.5 - Діаграма розгортання
31
'І) tTY. 2.\ І 1 >21..оок І І ' І
z. ~ І\10Jt~•.111снш1нн1 11он,1J\і111~11 \'Не 1' -'МІt
,.j. l ) \І1н·рнмн нІ11т,11щ 'І'\
) \JІІІ ,,1111~у JЮІ'І І \\ \11)\Н\~)\ур, (\( • 111l•t:-11p1щt• t.: l11 'І ІІ Jl(l'l(IJ(\ 11 ІІ~ІІШJ)І1С'ІОJІУ( 'JІ,(.;1/
11, J\\)І JІІ) 1 '° ·тІ . 1t l J\іІ\І 'Р І\МІІ 'ІІн:то 11111 ·1щу10·11 1 11щ1(•схt:мн , щ,с 'fx ос,щІІІІІІ
J\i І\\l"'~
. , 111іс•1·1, 11,,,1111 ·1н · ,, ІІ ІJ\'І'рнмнІ 1111р 11, 1 ..:н 1.1щх 111н11t~~І 11 . Нv·111н Jtl JІJ11111oc·1 i можу·11,
111)\МІІ "
. r,,,-11~)1 J\O m Р •~ю\' J\Іщн,~ю •т\ 11Сіо 1 ·ру1111 нІ1ш1,110~·1 сІ,\ ,
\\\)\110
) \іо11)1)МО )\\S\J\\,HO ·ті 1\ "\'(\1І01\JІІ(Н ' ІtрІІІtІІJН\ ІІОСJІі)tОІІІІОСТі Jtiй )UНІ Gy;u,•
Х1'0 \\\11 01\)'С ЩЮ\\~~. )\О'ШОJІ)tЮ'ІІІ ШtGІІJШ'І'ІІ ll(ІJ1JIJIOI< ІІИ/СО/ІСНІШІ /(il-f , J J,c
)1}\ОІ''• • .
" G1111HO ПОЖJlННО )"\JІЯ МО)\~JІ\01\НІІШІ Gі·шсс-11р1щс.;сін, )tC )tСІ(іJІІ,І(U 11pOJtCCI/I
()С() )
')ІТ\ Н\11(0\\УВl)іНСІ, HOpOJІCJtl,110 . 'l'tll<i J\іш·рuми І(Оf)ИСІІ і ТUІ(ОЖ 11ри ро·tробні
мож '
"J\CJl\}I\HX ОJН'Орнтм,о, які )\О'Ш()JНІІО'І' ІJ І ЮЗШІСЖJІИМ 1/0'/'()l(UM JІИ/(ОНУІJаТИ
111\[)І •
роботу поропс11 \)\І О.
11ижчс 11pCJ\CTOOJ1c 110 11нсту111ш 1,іш ·ромн Jtіш11.,11ості
ПереоІрrJІ
• ----,~~ , o_,,_oc_e_,11_t11_1\_"'_"',x,, , 1---{ C,opr ] 1----~ко ,АnСТСІПІІОСТІ
І
таr.
Вкnю•1с111111 модуnю
о11оедеt11т е11111алу ..-,_______J ООМОЖСІІІІЯ
про 11сроо11що1111r1 ◄ ШОІV\КОСТІ
шо1щкос1І
іаграма діяль11ості
Рису11оt< 2 •6 - д
32
ЧДТУ · 23 1922.008 ПЗ
діаграма діяльності для сн
стсми uнз11nче11ш1 І(ОМПСТСІІТІІОСТі водія
б ), са з модулем обмежуnа~;1а· шо,, . ..· .
овrо Щt<ос11 дня моб1т,1101,о додатr<у може мати
"')'пний ою~л.яд:
110С •
На початку процесу водій воод
нть свої дані D ДО)ЩТОІ( та Ш\ТИСІ<аЄ 11а
кноn І(;\ ' "Старт". Система перевіряє· ., . • • ·
иоrо 1<омпете11т111сп) на основ~ о~дпов1дних
еріїв та визначає ' чи може вод·крнт 1 ., . ·., ·
и керувати автобусом. Я1<що вод1и вош
некор e-."r'r нi дані ) система повщ· о .,.v ., ,л яє и" ому про це та просить внести r<оректш·
дані. Якщо водій відповідає критеріям компетентності, система включає модуль
обмежувача швидкості та виводить на екран підтвердження про те, що водій
може керувати автобусом 3 обмеженою швидкістю . Якщо водій не відповідає
критеріям, система виводить повідомлення про те, що водій не може керувати
автобусом [14].
У процесі виконання діаграми можуть виникати деякі додаткові стани ,
наприклад, якщо водій ввів некоректні дані, то система повідомляє йому про це
та просить внести коректні дані, після чого процес продовжується знову з
перевірки компетентності. Крім того, якщо водій не може керувати автобусом з
обмеженою швидкістю, система може вивести повідомлення про те, що водій
повинен пройти додаткове навчання, щоб отримати право керувати автобусом з
обмеженою швидкістю.
2.5.2 Діаграма послідовності
Діаграма послідовності використовується для візуалізації взаємодії
об'єктів та послідовності повідомлень, які між ними передаються . Вона є одним
. .
з найбільш поширених засобів представлення детальних вимог на еташ анал1зу.
Основною метою перетворення є підвищення рівня точності та формалізація
вимог, щоб перетворити їх на вигляд, необхідний для розв'язання задач
проектування.
н жливу дl·аграму послідовності по темі роботи: ижче наведено мо
33
ЧДТУ.' 1922.00R І 1·
s
r=�
�
� n�• • P411'/nor,rry
�--·························· ········· ··········•· .. ···
-- ··········· .
. ....
: . .....
..,_ -•�� �·. .. . . . ...... .. . .. .....
. ...
. ..... .
.
'.
Рисунок 2. 7 - Діаrрама послідовності
Діаграма послідовності для системи визначення компетентності водія
автобуса з модулем обмежувача швидкості для мобільного додатку може
включати такі об'єкти:
І Користувач - водій автобуса, який взаємодіє з мобільним додатком;
2 Мобільний додаток - програмне забезпечення, що встановлюється на
мобільний телефон вод1я використовується для ощнк.и
компетентності водія та обмеження швидкості;
З Сервер _ комп'ютер, що знаходиться на в1ддаленому сервер� та
забезпечує зберігання даних та обробку запитів користувачів;
4 База даних _ зберігає інформацію про компетентність водіїв, історію
34
ЧДТУ · 231922.008 113
поїздок та 06меже11ня шшщ~юсті·,
5 Система обробкн дшщх· • 0G
ро 6 .
т1с :101111т11 1<0рнстувочів то в:щ<;;моюс
з базою доннх тn МОJ\улсм обмсжувn1ш шоию<ості.
поСJ1ідовність поnідомлсtР · ,
u МІЖ цнмн об сtпnми може бути 11ncтyrrrroю:
1 Користувач відкрноає мобіл1,ний додото1< та 1шодит1, сuої
ідентифікаційні дані;
2 Мобільний додаток відправляє
запит на сероср для переnірки
ідентифікаційних даних користувача;
з Сервер повертає результат nеревірt<и 1<0ристувача мобільному
додатку;
4 Користувач вводить дані про свою поїздку;
5 Мобільний додаток відправ1~яє дані про поїздку на сервер для
зберігання в базі даних;
б Система обробки даних перевіряє дані про поїздку;
7 Модуль обмежувача швидкості отримує інформацію та обмежує
. . .
швидк1сть вщповщно до встановлених правил.
2.5.3 Діаграма комунікації
Діаграма комунікації в UМL, так само, як діаграма послідовності, є
транзитивною, тобто вона відображає взаємодію між об'єктами. Однак вона
робить це за допомогою інших методів і з іншим ступенем деталізації. Якщо
необхідно, їх можна перетворити один в інший з потрібною точністю.
Рисунок 2.8 - Діаграма комунікації
· · ... тальним засобом моделювання взаємодії м1ж
Дtаграма комуюкац11 є де
б' · ннями , які вони обмінюються. Для системи для о єктами системи та повщомле
35
,,
чдТу · 23 1922.008 ПЗ
}'{ЗfІачеfJ}ІЯ компетентності водія автобуса що .
в . ' Мtстнть модуль обмежувочn
кості для мобшьноrо додатку
(.(JBl'f.!1 ' можна скласти діаграму КОМ)'ІІі коції. що
взаємодію між к
fJoi<aзYє . . омnонентамн cнcтc~tt,t п ·1д ·1nc
~ внзначе111-1я
петентностt вод,я та обмеження швид . V
J<Or,f . КОСТІ НОГО руху [8].
Наприклад, д1аrрам.а може ВІ<Л1очат б' .
н O ЄІ<ін, ток, як "Воді1ї'\ "Модул~)
обме>І<)'Вача швидкості" та "М 0 6.
. tльний додаток". Поnідомлен11я , що
переда.ються МІЖ НИМИ, МОЖ)'ТЬ ВКЛІОЧа
. ти запнтн на введення даних про водія
його компетентюсть, передачу да~
Т3 л-1х про швидкість руху автобуса,
о.,.,,нмання даних про обмеження швидкост·1 та
't' передачу повідомлсю, про
порушення.
Діаграма комунікації дозволяє детально проанал ізувати взаємод110 м1ж
~<Оtvmонентами системи та зрозуміти, як вони спшпрацюють для досягнення
поставленої мети.
2.5.4 Діаграма скjнченноrо автомату
Діаграми скінчених автоматів (англ. state machine) використовуються для
модеmовання поведінки сутності (класу, об'єкта, компонента, вузла або системи
в цілому) в рамках варіанта використання. Це означає, що можливі стани , у
яких знаходиться сутюсть, та переходи м~ж ними показують, як вона
поводиться протягом свого життєвого циклу, від створення до знищення.
Діаграма автоматів може бути представлена як граф, де вершини відображають
стани, а дуги показують переходи м1ж ними .
По темі роботи була створена наступна діаграма скінченого автомату, яка
описує стани системи під час внесення даних і виводу даних на екран.
Діаграма скінчених автоматів для системи визначення компетенпюст,
водія автобуса 3 модулем обмежувача швидкості для мобільного додатку буде
використовуватися для моделювання поведінки екземпляра сутност1
(мобільного додатку) протягом його життєвого циклу [l l].
Діаграма буде містити вершини, яю. представлят имуть МОЖЛИВІ стани
моб~'льного . "З пинений" , "Запущений" , "Підключення до
додатку, так~ як У
36
ЧДТУ . 23 t 922.008 1\ З
". " Прні'інsпїя дnннх" • "О6ро6 1щ но1111 х", " Нід111ю1н~с1111н ,шмoitJ \" ·
верв
сеР оботн" . тощо.
n\\нення Р
••\1рІІ
нnnpнКJH\l\. КОЛІ\ t\lЛ'OGy )\О~Я І'(\(' 06мсж1.:1111)1 11\ІІІЩІ(()СТі, мобіJІІ,ІІІ~Іі,і
,-о~ може зміннт11 с ніі\ стнн ш, " Від~чщннсн~, )t І<t)МІІІІН", Щt)б 11tІJ \і снн· 1·и
J\oд:i
. ДО с\\С1'еМІ\ О б) МСЖС\\\\Я U\0\\Д\(ОСТ.І J \JIЯ '\МСІІІІІ СІ\ШІ ІІІОІЩІ(ОСТ.І (111'1"" '~,ус.;• ,
'-'\J ~"
~0~1n1u\)
•
Рисунок 2.9 - Діаграма скінченого автомату
37
ЧДТУ. 23 1922.008 ПЗ
В11с11овк11 до 2 роздіJ~у
ЛЯ 0nису вс~х процесів, що відбувалися під час розроб1<и додат,су,
Jl " ф"
с-rовувалась ую ~кована мова моделювання (UML), я1<у можна розJtілити
~рм ..
е11" iJ-{J<oBi та структурю дааrрами. Поведін1<ові діаграми описують процеси,
r108ед • • .
i10 відбува1оться в модельованому середовищ~, а стру1стурн1 д1аграми -
iJ.1° з яких складається система.
~~· .
eJI тмnи діаграм можуть використовуватися як для моделювання базнес-
. так і для проектування архітектури. Одне з завдань UМL -
11роаес1в, . ... .
ти засіб комуюкацн всередині команди та з замовником. Дааграми
вбезnечи . .
3 уть бути використаю для проектування архітектури великих проект~в,
tJ~ мо)f( . _ . . . . _ . .
на одюи д1аграм1 як велию, так 1 др1 ю детал .
·бравUІИ 6 1
31 Зворотне проектування дозволяє створювати моделі urvп.., з існуючого
rрамноrо коду.
rrpo у рамках роботи було створено декілька діаграм, зокрема діаграми
. .
комун ікації,
озrортання , ДІЯЛЬНОСТІ, компонентів, пакет1в, класів,
р .
. ностей та прецедент1в.
nосл~дов
38
ЧДТУ . 23 1922.008 ПЗ
3r озrоБКЛ т л ТЕСТУnлння 111)0 ГРлмноr , ...
р
3· 1 03роб1са прогрnм11о.--·о ко О ЗЛІ)ЕЗІІ ЕЧ F.ІІІІЯ
м 1111с 1ссу
. І. І обrру11тувн11ня онбору за .
3 со 6)ІВ рсалізn1 ...
r1лл розробки системи було об . tІІ
r~ рано таю с срс1,оощ1щ . б
- мово програмування _ Ko•\i ·щ ; · · розро 1п1 и1< .·
_ дnd1·oid;
_ Gps.
l(otlin - це сучасна мова програ
мування яка б
· s Вона була nредставл ' ула розроблена 1<омr1а11і єю
Jс~,; 1вra111 • ена в 2011 роц~. 1. сnеціал
вІtтк)' на платформі Java. Kotli,, прац ,,,ю створена юнr
роз · . · ює на Ja va у·, rtual Machi11e (JVM) і може
зІІ"" 0ристовуватись як альтернатива дл·я м ови J ava (20].
Рисунок 3.1 - Емблема Kotlin
Основні особливості Kotlin:
Сумісність з Java: Kotlin повністю сумісний з Java, що дозволяє
розробникам використовувати існуючий Jаvа-код бібліотеки, а також
зв'язувати Kotlin-кoд з Jаvа-проектами. Це означає, що розробники можуть
поступово впроваджувати Kotlin у свої проекти без необхідності переписування
всього коду.
Безпека та надійність: Kotlin має багато функцій, які сприяють безпеці та
" ад1• vи ності програм. Наприклад, вона підтримує нульову б езпеку, що допомагає
39
ЧДТУ . 23 l 922.008 ПЗ -
]'Jul\PointerExceptioп, і мnє ст ,
,.,,.огrн . . ро1 У т1,iniзnt•i10 1
1 JJI"
) 1· помилок на етап~ 1,ом111ляції. ' ЩО ДОЗООJНІЄ ОІНШИТИ
6.1 11,l!Je •
1 стота тn с1,сnрсснон1сть: Kotl '
111
rJpO ІНІ)ЩС зручниf,\ то СІ(СГІрсси1111иИ
11 що сприяє швидкому тн .
, 3
111,•roi<' ·c, . 1, ... . розумщому 11опнсо1111ю 1<оду. Во11а
,є ТОК\ С11УНІ<ЦІІ, ЯІ< фуІІІ<ЦіОІІ"
,,iJr'f РІІІ'І) . . . ( _, _,. . . , <1Jl ЬІІС 11\)· ОГ рnмуош1ш1 , роз1111,1рс111111
.0110ЛІ.,ност1 класш схtепsю11 ГL1t1ctюt1s) с . _ .
ФУ'11<t.tІ ' псцrnщ,111 оператори дш1 роботи з
ціяМИ тощо.
i,OJ\ЄI< .
Підтримка корутинів : КоtІщ має обудов .
ану ПІДТрИМІ<у аси11хроr--ІІІОГО
1'1ування за допомогою корутиніn Ц -
nporra · е дозuоллс леr1<0 та ефектиоrю
раurовати з паралельними та асинхронними операціями без необхідності
п . .
в1sкор11стовувати складн1 мехаюзми, такі ЯІ< І<олбе1<и або P1·omise.
A.ndroid - це операційна система д .
' ля мо 61льних пристроїв, розроблена
1· єю Google. Вона базується на яд · L' • .
ко~тан Р1 111l1X I призначена для смартфонш,
тів ' смарт-годинників ' телевізор· . . .
nnaнroe ~в, авrомоб~льних систем I багатьох
. ,,.,,, пристроїв [22] .
1}{UlYI"
Особливості Android:
Відкритість: Android є відкритою платформою, що означає, що його
вихідний код доступний для розробників. Це дозволяє розробникам створювати
власні додатки, модифікувати систему та вносити зміни для відповідності своїм
потребам.
Розширені можливості: Android надає широкі можливості для розробки
різноманітних додатків та функцій. Розробники можуть використовувати різн і
інструменти і мови програмування, такі як Java або Kotlin, для створення
додатків з різними функціональними можливостями.
Магазин додатків Google Play: Android має власний магазин додатків під
назвою Google Play Store. Цей магазин надає доступ до мільйонів додатків
різних категорій, включаючи ігри, соціальні мережі, засоби продуктивності ,
мультимедіа та багато іншого.
Налаштування та персоналізація: Android дозволяє користувачам
налаштовувати свої пристрої під свої потреби. Ви можете змінювати теми,
40
ЧДТУ. 231922.008 ПЗ
вання віджетів на t'Оловному ск n
0з-rnU.1Y Р 11 1' ttnc·rpoюuoт11 споІ)іщс11ш1
.iJI~· Р'' ' р
11 оГо•
111 ' iH!JJ
6~j11f()
"'
android
Рисунок З .2 - Емблема Aлdroid
ація з Google сервісами: Алdгоіd має глибоку інтеграцію з різними
1,rтerp
Gooa\e такими як Gmail, Google Maps, Google Drive Google Calendaг
-~Н.І с,' ,
серв1с
f3 i1111JJ . • . •
GPS (Global Pos1t10nшg Syste.m) - це глобальна система позиціонування,
истовує супутники для визначення точної географічної координати та
яка вRl<OP
емлі. Вона розроблена та контролюється Управлінням збройних сил
часу на з
ClliA і використовується для різноманітних цілей, включаючи навігацію,
ния , військові операції, наукові дослідження та інші застосування.
мап)'ВЗ
Рисунок з .З - Емблема GPS
41
ЧДТУ. 23 1922.008 ПЗ
. •омnонент11 GPS:
tH ~ І
0с 11йО
..,11 • GPS склnдnється з мерс=·
,,ritll" · тІ СУІІУ,ГІІЩ ·
C)'fl) • . <І в, що обсртоrот1,с11
111 1• Hn сьоrолн1ш111і\ день снстсмn GPS
10 Зt:r- • • . ' uикор11стооус близь1<0 ЗО
111i-')J rrннюn, розтnшовnннх нn орбіті ц·
~- ,,11~ ,yn) . .. · 1 суnутш~ки nсрсдnют,_, си1·тши,
,~ ~11І 0 • ,форМОЦІЮ npo ІХ ТОЧНУ ПОЗІЩіІО Т" tt
.,,..ь І\,, u unC ,
• •"f l' І
111,, ~, ,с \ GPS: Користувачі GPS
f Jp11i11'to І nикористоnують приймаt1і, я1<і
снrнали від супуrників і обробляють "х
,)10-rь I для визначення поточної
,, 1111'~ . п V •
ї координати . риимач1 можуть бути вб . . .
11rрзФ1\JНО . . V • У дова~11 в моб1льн1 пристрої,
~ . ні нав1гацшю системи, рюкзаки для пішо . .
~,обtЛЬ ХІДНИХ маршрут1в та ІНШІ
11вТО ..
...nOI,
прІІС •r .
Тр11анrуляц1я: Для визначення точної позиції, приймач GPS отримує
• трьох або більше супуrників і вико ...
nл11 вlд ристовує процес трианrуляц11
,11111 V
0
113начення вщстанеи до цих супутників. За допомогою цих відстаней та ;ля в
аuії про розташування супутників, приймач може обчислити точну
інформ
rtОграфічну координату користувача.
J.1 .2 Опис структурної (функціональноі) схеми
Структурна схема мобільного додатку є візуальним представленням його
сf:Ладових компонентів та їх взаємозв'язків. Ця схема відображає організацію та
С1РУ"'7УРУ додатку, вказуючи на основні модулі, класи, об'єкти, компоненти та
іх взаємодuо.
Структурна схема мобільного додатку може містити наступні елементи:
Користувацький інтерфейс: Цей компонент включає екрани, сторінки
або вікна, які взаємодіють з користувачем. Він може вкmочати
кнопки, поля введення, списки , меню та 1нш1 елементи, яю
дозволяють користувачеві взаємодіяти з додатком;
2 Керуючий модуль: Це модуль, який відповідає за керування
поведінкою додатку та управління взаємодією м1ж р1зними
компонентами. Він може містити основну логіку додатку, обробку
подій та навігацію між екранами;
42
Ч) ~ І у . 2J І tJ 22.00R І І 'J ...
)t·it<n: Цсіі І<ОМІІОНСІІТ Міст
.·, , сс•J І < . 1111, J ІО1 ·і ку
,,, it • , до1111х то б1з 11сс-11ро1tссіn JIOJtn·r , ' lltu r1i1tr t0riiJto(' ·, п
1(1! роб~- ) ку. В111 може
, r:. тн з бозою Jщ1111х, зонніІІщі . ІІ1<mо•н11 11 мо;1у11 і
r ov O МІІ CCl)IJICf\
JtJ ІII к ttiOHllЛl)lli 6JІОІ<Іі ; МІІ, IIUJtiщщjj' J(ІІІІІІ Х 'І(І
1·,, 11 11· <І'У ''
до д111111х : Цей комnоt1сt1т . .
Jlocr)'n oiдnouщac зn
) 11 ня доних. Він може nюночати . отрнмu1111я та
. бсре>І<С модущ дJщ роботн ·
3
nEH11,ix, віддаленими сероерами 3
. . ІІО1<а;1ьrrою
бозо10 ~- , 30 о1111u111ми АРІ б
n о схооищами
;1оt1Іі'Х ; . ~
· а.н~ і серв1си : Цеи компонент пред .
300111 . . с1аоляє зо о11іш1-1 і ссроіси або
5 якими взаємод1є моб1льний додаток
р.Р1, З .
vptia схема додатку представлена на рисун
C'l'P>'",rJ ку.
Модуnь Об~tе:«уаача
!G1)'83UІ>ІОІІІ ІНТерфеІ'\с
W811ДКОС11
~ОР' . Ба,~ да,,.,х
i..---
І
l l
система спостереження 1 а С11с1ема ,.аеІrацІf 1~
сиrнаnі,аціІ
reono•aцlr
---------------•---------------о
Рисунок З .4 - Структурна схема
Структурна схема програмного забезпечення автоматизованої системи
.lU визначення компетентності водія автобуса, зокрема модулю обмежувача
1:1видкості , включає наступні компоненти та їх взаємозв'язки :
Користувацький інтерфейс: Цей компонент відповідає за взаємодію з
користувачем. Він містить елементи управління, такі як кнопки, n оля
43
ІІ І н \J 111(Ї1 111 ,t(С ІІІІJІ J,• nl llt )(, Що
•ІІ І рІ
11tІІ' J І0111щ1н111 11,
JII
'І ~ ІІt:І~МОІО І ІІ ІІС 'ІО НСІрЩ, І УІІ, І ' І С І11
~11 1JІІЯ1 ІІ ІІ ІНІJІІrtщ111 1
,, 1111 • ІНІ[)ІІМС 1n 1
,, І о(,мсму1111•111
t,'\lt:1 І ;
ІІІ І tJI
,, с,(імсжуІН\ІІfІ llllll!Jtl<()CІ і : І tc '
\ 1ІJІ)'JІІ• . ' , uc1111111111 /I І(Щ,\ІJО11с111
• . ,>11111nr ІН 1ш111 рот, Н\ обм~іt , с11с r см11 ,
11/\ 1)1 111 1 (CII\ JU ІІІІІІІ}ІІ(() .
11 " с Jto1·i1<y 0Gpo61<1t д111 1нх, ІUtії, с, , 1111111Gyca. В і11
i-111n•1t\ /ЩІ м11 uGм~жc1111u
fl • І<У 11отр1 І МОІІІІ Я 1111n 11ш1 та щщщ, . ІІІІІІІJІкос,і ,
ІІ с11сп•r . ш1 t1 1 11щт і11 11 их .
/l () JIIJ((JMJ l<.:111 ,
11 с,1' ночсо1 ;
i-oP
нх : Цей компо11с11т збсрі, ·ас і, І .
r;,,зо J1 011 • • • Іс ~орм ац,ю нро парамс-, и
3 )І()'ГІnчо шондкост1 , 1 стор110 оикорнста , . . . . Т>
об~◄С ІІІ я 1 а 111ш1 nщг1овід11і да11і
використоnусться дня збсрсжсн 11я і ои ·
130110 ю~ику даних • 11соб ХІ·Д ІІИХ
обоrн модуля обмежувача шоидкості·
~ЯР '
тема навігації та геонокації: Цей
~ снс І<омrюнснт відnоnідас за
11:11 ,ачення місцезнахо. дження автобуса та
9 0т римання даних rrpo
ожні умови , швидюсть об'їзду та інші відом . .
дор ост,. 8 111 забезnечус
необхідні дан і для роботи модуля обмежувача швидкості;
5 сІІсrема спостереження та сигналізації: Цей компонент в· .
~дповщає за
спостереження за рухом автобуса та виявлення порушень обмежень
швидкост1 .
J.1.3 Опис логічної схеми системи
Логічна схема мобільного додатку - це візуальне представлення логічних
rоІІnоне•Jтів та їх взаємозв'язків, яке допомагає зрозум іти логіку роботи
~матку без прив'язки до J<онкретної реалізації або технічних деталей . Ця схема
іюбражас структуру та функціональність додатку, зосереджуючись на
ОО(Лідовності операцій та потоку даних.
Основ11і елементи логічної схеми мобільного додатку можуть включати :
Модулі та компоненти: Логічна схема відображає основні модул і та
компоненти додатку, такі як екрани, контролери, сервіси або класи.
Кожс11 модуль виконує конкретну функціональність або задачу,
44
ЧДТУ. 23 l 922.008 ПЗ
введення та відображення
даних, ЩО ДОЗUОЛfІІОТІ, І<ористуоаLJСОі
взаємод1яти з системою та
встаноотооати параметри обмежуоа~1а
швидкост1 ;
2 Модуль обмежувача шви дкост~·: Це основний компонент системи,
який відповідає за контроль та о б меження швидкості автобуса. Він
вкл1очає логіку обробки даних , ал горитми обмеження швидкості,
перевірку дотримання правил та надання відповідних повідомлень
користувачеві;
3 База даних: Цей компонент зберігає інформацію про параметри
обмежувача швидкості, історію використання та інші відповідні дані.
Вона використовується для збереження і виклику даних, необхідних
для роботи модуля обмежувача швидкості;
4 Система навігації та геолокації: Цей компонент відповідає за
визначення місцезнаходження автобуса та отримання даних про
дорожні умови, швидкість об'їзду та інші відомості. Він забезпечує
необхідні дані для роботи модуля обмежувача швидкості;
5 Система спостереження та сигналізації: Цей компонент відповідає за
спостереження за рухом автобуса та виявлення порушень обмежень
ШВИДКОСТ1 .
3. \.3 Опис логічної схеми системи
Логічна схема мобільного додатку - це візуальне представлення логічних
компонентів та їх взаємозв'язків , яке допомагає зрозуміти логіку роботи
додатку без прив'язки до конкретної реалізації або технічних деталей. Ця схема
відображає структуру та функціональність додатку, зосереджуючись на
послідовності операцій та потоку даних .
Основні елементи логічної схеми мобільного додатку можуть включати:
м · ти·. Логічна схема відображає основні модулі та одую та компонен
компоненти додатку, такі як екрани , контролери, сервіси або класи .
Кожен модуль виконує конкретну функціональність або задачу,
44
ЧДТУ. 23 1922.008 113
наприклад, обро61<у даних, nідображс11ш1 вмісту обо озnємодію з
базою даних;
? взаємозв'язки та потоки дан~,~х· . с
,., хема 1101<nзує nзаємозn'яз,ш між
модулями та компонентами, n
« ТШ<ож потік даних між ними.
Наприклад, вона може відобрn.'..І, <ати передачу даних ощ
користувацького інтерфейсу до оброб1<и бізнес-лоrіrш, а потім
збереження результатів у базі даних;
З Управління станом: Логічна схема може включати управління станом
додатку, що означає збереження та оновлення даних, я1<1
використовуються в додатку. Напри1<лад, вона може показувати, які
модулі відповідають за збереження стану користувача або даних сесії.
4 Умови та логічні операції: Логічна схема може містити умови та
логічні операції, які виконуються в різних частинах додатку.
Логічна схема програмного забезпечен1-1я (ПЗ) автоматизованої системи
для визначення компетентності водія автобуса з модулем обмежувача
ruвидкості має наступний вигляд:
1 Користувацький інтерфейс:
- екран встановлення параметрів обмежувача швидкост1, де
користувач може ввести максимально допустиму швидкість
автобуса;
_ екран відображення поточної швидкості автобуса та інформації про
обмеження.
2 Модуль обмежувача швидкост1:
логіка перевірки швидкості автобуса: цей модуль контролює
поточну швидкість автобуса та порівнює її з максимально
допустимою швидкістю, встановленою користувачем;
- логіка обмеження швидкості: у разі перевищення максимально
.. · модуль обмежувача швидкості виконує
допустимо~ швидкосп,
. . . ... генерує сповіщення, надсилає сигнали
в1дповщю дн, наприклад,
або знижує швидкість автобуса;
45
ЧДТУ · 23 І 922.008 ПЗ
збереження Jщннх: мщ,ут) може зGср і1 ·nт11 kторію 111111щ1шст1
t'o1'0Gycn та iнut i J\ntti , поn' язnні 3 оGмсжуunчсм 111ш1юшсті .
СнстсМ(\ \Н\ОіГОЦЇі ТО ГCOJ\0\(l\t\Їi :
3
- отрнмоння ДОІІНХ про M \C\\CЗII OXOJt)\(CIIIIJI антобусн : нсИ І(ОМГІОІІ СІІТ
онзначnє м1сцсз1н\ходжсн11я оuтобус[\ зn но~ юмогою систем
глобальної позиціонуnання (GPS) або інших тсх1ю1ю1·Ш гсо1~о 1санїі ;
_ отримання даних про дорожн і умоnи : система може отримуоати
інформацію про дорожні умоои, наприкнод, шовд1< і сть об'їзду ,
обмеження швидкості на ді пя111<ах доріг тощо .
(1-i •• ····~. .... ~. (..,,• •. :io\-:•....:•-
....... ~-~ І,---.----\,..~ .,.•:.11.м,.,
о~• •)• ... • •••i ( ,;1
.... "-1~. ..
(',,..... .. ,:,. ....
:.,.:1~ "0t11 ••~ ,U
' ""','-V.,I. .•.l.t.t.l. w,)' ff
З 5 - Логічна схема
Рисунок •
з .1.4 Розробка бази даних
По темі робоп-1 БД не розроблялась.
46
ЧДТУ . 23 1922.008 І ІЗ
розробкn і 11тсрфсіісу кор11стувn'Іа
3. І .5
. ")с і\с кор 11 стуun1ш с J\Ос 11т 1~ прост~щ
111f\;P'I У І) ІІІ<ор11сп11111 і. І ·шюn11с 11і1<1ІО
3 11оліо nото11110 шщщкість тn
uс1щюш1 ~111111 обr- 1 сжс111111 11 11
Current speed · 2 З km/11
Current limit: 5 km/11
Speed lim1t:
5 km/h . SET 1
Status: initialized successfully
START
Рисунок 3.6- Інтерфейс користувача.
Якщо система визначає перевищення швидкості, з'являється відповідне
повідомлення.
47
Рисунок З. 7 - Інтерфейс користувача.
Далі система показує час перевищення швидкості рівень
компетенстності водія.
48
ЧДТУ.23 1922 . 008 ПЗ
Рисунок 3.8 - Інтерфейс користувача
Пр!-і натисненні кнопки «Report» вщкривається вікно для відправJ1е1-1ня
. лення на набраний номер.
11ов1доМ
Рисунок 3.9 - Інтерфейс користувача
З.І.б Опис розробки програмних компонентів
Лістинг 1.
49
ЧДТУ. 23 1922.008 ПЗ
}
pdroid { .
11 nce 'co111.podyryako.bt1sdr1vc1·compctc11ccmclcr·'
11 11,нсsР
j\eSdk 33
,0,,1р
• t11lC011fig {
dC f11
І і са tіоп І сІ "com. pod y1·yako.b usdri ve1·co111pctcr,cemcter·"
арР '
,нinSdk 24
tni·getSdk 33
,,e1·sio11Code І
ve1·sionName "І .О "
testlnstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
ьuildTypes {
,·elease {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.lxt'),
'proguard-rules.pro'
}
debug {
signingConfig signingCon figs.debug
}
}
compileOptions {
sourceCompatibility Java Version.VERSION _ l_ 8
targetCompati Ьі І і ty J ava Version.V ERSIO N _ l _ 8
50
ЧДТУ. 231922.008 ПЗ
}
l{otlinOPtions {
jvmTarget = '1.8'
}
ьuildF eat-ures {
viewBinding true
dependencies {
imp\ementation 'and1·oidx.core:core-ktx: 1.7.0'
i111p\ementation 'androidx.appcompat:appcompat: 1.6. І'
i,nplementation 'com.google.android.material:material: І .8.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'androidx.navigation:navigation-fragmeнt-ktx:2.5.2'
i1nplementation 'aлdroidx.navigation:navigation-ui-ktx:2.5.2'
testlmplementation 'junit:junit:4.13.2'
androidTestlmplementation 'androidx.test.ext:junit: 1.1.5'
androidTestlmplementation 'androidx.test.espresso:espresso-core:3.5.1'
Цей код є файлом конфігурації д11я проекту Android і використовує
с~~стему збірки Gradle для налаштування різних аспектів проекту. Основні
части~~и цього коду включають:
Оr·олошення плаrінів: у цьому випадку, проект використовує пла1·ін11
com.android.application і org.jetbrains.kotlin.android.
Блок aлdroid: Цей блок містить налаштування проекту Android, такі як
~ерсія SDK, конфігурація різних збірок (build types), параметри компіляції та
111·
ІU1 nараметри.
1 namespace: Вказує простір імен для додатку Aпclroid.
2 compileSdk: Вказує версію SDK, до якої буде компілюватись прое1'"Т.
51
ЧДТУ.231922.008 ПЗ
defaultC011fig: Вказує базові налащтування для .
3 вс,х варіа11тіо збірк11,
n,.,j .як ідентифікатор додатку, версія, SDK •
T,u• -ос1>с1ї, тестувмь11нн
інструментарій тощо.
4 buiidTypes: Вказує різні тип~1 збірки, такі як release сІсЬнg,
встановлює налаштування дпя кожного типу.
5 compileOptions: Вказує nараметр11 компіляції для проекту, такі як
сумісність версій Java.
6 kotliпOptions: Вказує nараметр11 компіляції Jщя КоtІіп, зокрема всрсі,о
J\TM, до якої буде скомпільовано код.
7 buildl;earures: Вказує використання 11ев11их функцій збірк11 , таких як
,,ie,vBinding, яка дозволяє використовувати Yie,v Biпding для зручного
доступу до елементів розмітки.
Блок depeпdencies: У цьому блоку перераховані залежності 11роскту, які
;.лючають різні бібпіотеки та фрсймворки, що використовуют~,ся в додатку .
Наnр11клад, androidx.core:core-kt-x вкпючає розширення Kotl ів ДІНІ робот11 з
nзов11м11 компонентами And1·oid, co111.google.andгoid.matcrial:11iatcrial BKJІІ◊tJac
5ібпіотску Matc1·ial Oesign дп.я стилізації інтерфейсу користувача, а junit:jш1it та
'androidx.test.espresso.
JІісп1нr 2.
pluginМanage111e11t {
repositories {
googleO
111avenCentral()
gradleP\uginPorta/()
}
deper1dencyResolutio11Manageme11t {
repositoriesMode.set(RepositoriesModc.F AIL_ ON_PROJECT _ REPOS)
repositories {
google()
nia,,enCe11tJa/()
-----■
ЧДТУ. 231922.008 ПЗ
}ro o1Project.naine = "В us О r.i verCoinpetcпceMeter"
inc\ude ' :арр'
Lteii код с части11010 файла налаwтуоань проекту в с 11стсм і збіркн Grнdlc і
·•ає 30 уnравлі111UІ nлаrі 11амн та реnоз11торі.ям ~t залсж,,о у ,
еі.їnов1,.. стен 11роскту.
'те р<>збсремо кожну част1111у коду:
ДlЗЗ''
1 plugi11Мanagen1e1н : Цей блок в11з11ачас управління nлагі 11амн проекту.
у цьому випадку, внз11а,1е11і реnоз11торії, з яюsх Gradlc nов11 11с11
занантажуоати n11аrіни. Зазначені репозиторії включа~оть googlc(),
inaveпCentra l () та gradlcPlugiпPonal(), що дозооJІJІС з:1м11тажу11ат11
11л:1гіни з цих ресурсів.
2 depeпdencyResoluti onMar,:1gerncnt : Цей блок в11 з11а•1ас уnраолі11ш1
ре11оз1поріямн залежностей проекту. Вста11011л1осться рсжнм
ре,юзнторїів FЛ І L_ ON _ PltOJ ЕСТ_ REPOS, що озн:1час, що Gradlc б унс
зуn1t11ят11 сь з помилкою, якщо будуть в1tяоле11і nроект11і рс11оз11торії
(локальні або визначені у ре110з11торіях проекту). Заз11ачс11і
рсrюз 1порїі google() та mavenCentral0 вказують, з як11х джерел Gradlc
11овю1с11 завантажувати залеж11ості.
3.2 ТСС1)' 0:t ІІІІЯ С ІІ СТС!\1 11
3.2. І Модуль11е тестуван~LЯ
м одущ,нс тес·rува 111 ~я для програмного за бе зnечс11 н-я аuтомат11:~ов:111ої
(Нсте~щ дJІ.Я внзна,1е1111я компетентності водія автобуса, зо1<ре~ш модуня
0611е)4(\/ . ості робот11 uьoro моду11я і
.. ,вача шв11дкості, в 11ко 11ує лсрсо,рку nрав11ль,,
в1~8Ле1
ПІЯ МОЖПІІІJИХ nомІіЛОК ЧІ/ 11робнем.
Етап1t модупьного тестування показано 8 табп~щі 3· 1
53
ЧДТУ.231922.008 ПЗ
Табтщя З . І
Eтnn11 модуль11оrо тесту03 1111 11
І~П Оснооні етап11
В11ко11:11111н
---т 2
з
l~ oui:a Стоорс1 1 1 1я тсстощ1х ои1111дкі о, які оключают,, різн і В11 ко11а110
f/\roв11x вхідн і значення для обмежувача шо1щкості. Наt~риклад,
І ,~111х тсстооі дан і можуrь міст11ти з11.1че1111я шо11дкості, які
перео1нцують, відповідають або менші за дозволену
І макснмальну ш1111дкість.
З11tОНаJІІІЯ Запуск тестових випадкіо, що передбачають ОІІК!ІІtК В11ко11а110
/1юов11х фу11кцій моду11я обмежувача шо11дкості з r1ео11им~1
,и11адкіn вхідн~,r~нr з rrачсння~нr . Нанриклад, в 11клик функції, яка
перевіряє, чи noтo•11ta швндкість персоишус дозоолену
макс11мал~,1rу швидкість.
1 П~ревірка Порівняння отриматrх рсзул 1,татін з очікуnЗІШМІІ В1tко11:шо
j~уnьтатів зна•rе1нu1мн. Якщо резу11ьтат11 спіоrrада1оть , тест
воажаст1,ся ус11ішн11м. У r1рот11лсж11ому випадку, якщо
І ІJ ІІЯОЛСІ ІО оідх 11ле11 нs1 або ПОМИЛКІІ, оідбуоасться
- оідлаrодженr rя коду для 0 11прао11е1111я nроблем11
3.2.2 І нтеграційне тестування
111·r crpaщ'•1 11e тестування д11я nporpaмнoro з"Gб сзr1с•1с1111я аотомат11зов:~11ої
сцс1см 11 • · отобуса зокрема моду11я
для 011значе 1 111я компете11тност1 оод~я а •
обмс= . . ... цi..oro моду1111 :i і11w11м11
...1 вача шо11дкості, забезпс•rус перев1рку озаємод~ ~
tом1101 1 11 •v ванн.я с 11ерсконат11ся, що
. е ·г4- м 11 снстеми. Мстою і1 1тс1-рац111 1юго тесту ' . .
Р1)11і мод . 1алежн11м •111110~1 І юасмод1ют1,
У111 11рограми працюють разом 1
r1рав11ль1 10 Е азано в таб111щі 3.2
· таnи інтеrраціііного тестування пок
54
чдrУ. 231922.008 ПЗ -
Таб11и ця 3.2
Етап11 інтеrрацііі11е тестувn1111я
Етап Основні етапи В11конан11я
v- І 2 з
(Тідrотовка Створення тестового середовища, що відтворює Виконано
середовища умови реального викор11стання системи. Це
уестування може включати налаштування необхід111-1х
компонентів системи, створення тестових баз
даних та налаштування ,ншого необхідного
програмного забезпечення
В11ко11а11ня Створення тестов11 х сценаріїв, я кі 0 1дтворюють Викоиано
тестових реаль111 умови використання системи.
сценаріїв Напри клад, тестовий сценарій може включати
симуляцію руху автобуса з різною швндкіс110 та
перевірку роботи обмежувача шв1ідкості при
цьому.
Перевірка Перевірка взаємодії модуля обмежувача Вико11а110
езасмодії швидкості з іншим и компонентами с11стсми . Це
може включати перевірку правильності nepeдa•ti
даних, виклихів фу~1 кuій , обміну
повідомленнями тощо.
--~~----L--- ------------ --- - ---'---- ----'
3.2.З Системне тестування
Системне тестування дл.я програмного забезпечення автоматнзооаної
с~tстеми для визначеюІя компетентност і водія автобуса, зокрема моду11я
~бме>кувача швидкості, забезпечує перевірку системи в цілому та її взаємодії з
ІfІ~щн,111 компонентами. Етапи системного тестування показано в та б лиц~· З.З
55
JІІІ-------------'(3-~-s
ЧДТУ. 231922.008 ПЗ
"
Таблиця 3.3
Етапи с11стем11ого тестування
Єтап Основні етапи Викона11ня
2 3
Перевірка інтеграції Перевірка взаємодії модуля Виконано
обмежувача швидкоСТІ з іншими
" коr.mонентами систсr.m, такими як
і •
база даних, інтерфейс корис-тувача,
систем11 вводу-виводу тощо.
Перевірка Перевірка правильності роботи Викона110
функціональності модуля обме,..-увача швидкості з усіма
його функціями та фун:кціональ1шr.rn
вимога.ми. Наприклад, перевірка того,
що модуль правю1ь110 обмежує
швидкість автобуса згідно з
встановленими nара.,tетрами .
Тестування р1зних Виконан.ня тестових сценаріїв, ЯКІ В11кона110
сценаріїв охоплюють РІЗНІ випадки
використання модуля обмел.-увача
швядкост~. Наприклад, тестування
модуля під час руху автобуса в різних
умовах дорожнього руху, з різкими
значеннями швидкост1 та вимогами
до обмежень.
3.2.4 Приймальне тестування
Приймальне тестування для програмного забезпечення автоматизованої
.
56
,,
....
р
ЧДТУ.231922.008 ПЗ
с11стеми для визначення компетентності водія автобуса, зокрема модуля
обмежувача швидкості, проводиться з метою перевірки відповідності системи
вимогам та очікуванням клієнта або кінцевого користува•rа перед його
прийняттям. Етапи приймального тестування показано в таблиці 3.4
Таблиця 3.4
Етап11 пр11іімаль11оrо теС1)·ва1111я
Етап Основні етапи Виконання
І 2 3
Визначення Встановлення конкретних критеріїв та вимог, Виконано
критеріїв яю повинна відповідати система для її
приймального прийняття. Ці критерії. можуть включати
тестування функціональні вимоги, ефективність, надійність,
безпеку тощо.
Виконання Запуск тестових сценаріїв та Виконано
nриймал.ьних виконання приймального тестування
тестів модуля обмежувача швидкості. Під час
виконання тест1в nеревірясться
відповідність системи встановленим
критеріям та вимогам.
Висновки до 3 розділу
Результатом роботи, виконаної в цій частині проекту, є rотовиіі
програмний додаток з задуманими функціями.
На рівні проектування було описано всі !'>юменти зі створення модул ів та
інтерфейсу додатку, використано навчальну літературу дяя коректної реалізації
задуманих кроків. Виконані роботи над проектуванням с11стем11 бул 11
реалізовані в кінцевому додатку, який було протестовано .
Висновком тестування слугує коре~..-тна робота додатку без збоїв та u
своїй предметній області.
57
ЧДТУ. 231922.008 ПЗ
висновки
В роботі ми оглянули існу~очі методи та засоби для розв'язання завдань,
пов'язаних з розробкою інформаційної системи для визначення ко1>mете11тності
водія автобуса, зокрема модуля обмежувача швидкості. Було проведено аналіз
існуючих аналогів програмного забезпечення, які допома1с1ють вод1ям
визначати їх компетентність та аналізувати рівень компетентності через тестові
завдання. В результаті виявлено, що існує низка програм, але розробка нової
програми, яка враховує особливості визначення рівня компетентності водіїв, є
актуальною і має практичне значення. Основні вимоги до програми - простота і
зручність використання.
Також розглянули методи та інструменти, які були використані ПІД час
розробки програми. Для опису всіх процесів розробки була використана
уніфікована мова моделювання (UМL), яка включає поведінкові та структури.і
діаграми. Поведінкові діаграми описують процеси в модельованому
середовищі, а структурні д1аграми показують елементи системи. UМL може
використовуватись для модеmовання бізнес-процесів проектування
архітектури.
У рамках роботи було створено юлька діаграм, таких як д1аграми
розгортання, комунікації, діяльності, компоне11т1в, пакетів, к11асів,
послідовностей та прецедентів. Результатом цієї частини проекту є готовий
програмний додаток з необхідними функціями.
58
ЧДТУ. 231922.008 ПЗ
Сn11сок 011кор11ста1111х джерел
1 М.Д. Блатuов Пасажирські аотомобіт,ні перевезення. М.-
Транспорт, І 982р .
2 Босняк М.Г. Пасажирські автомобільні перевезення . - К.:Видаони•1ий
Дім «Слово», 2009. - 272 с.
З Анісімоо о.п., ІОфін в.к. Економіка, організація та
nлануоанняавтомобільного траt1сnорту, М. : Транспорт, 1986.
4 В.Я. Савченко, В.А. Гайдукевич Транспорт і шляхи сnолу•1ення.М:
Транс11орт, 2007р.
5 Б.І. Костів Експлуатація автомобільного трансnорту.М:-
Трансnорт,2004р.
6 Голуб С.В., Заспа Г.О., Півень О.Б., Катаєва Є.1O. Салапатов В.І. ,
Метелал В.В., Олексюк В.В., доцент Методичні рекомендації до підготовки
кваліфікаційної роботи бакалавра для здобува•1ів вищої освіти зі сnеціат,ності
121 «Інженерія програмного забезnечен-ню, усіх форм навчання
7 Г.J. Пенешко Безпека руху на автомобільному тра11сnорті. М .:
Трансnорт,І 995р.
8 10.Ф. Гутаревич Охорона навколишнього середовища
відзабруднення.М:-Трансnорт,2011 р.
9 Волошина С. В. Дослідженю1 особливостей організації тміжщ1род11их
пасажирських перевезень. / С. В . Волошина // Збірник тези доповідей
Міжнародної науково-технічної конференції молодих учених та студентів
,.Актуальні задачі сучасних технологій", 17-18 листопада 2016 року. - Т. :
ТНТУ, 2019. - Том І. - С.346-347.
І О Волошина С. В. Транспортно- логістичний ринок вантажних
nереве-Jень. ; с. в. Волощина // Збірник тез доповідей Міжнародної наукооо
технічної конференції молодих учених та с,удентів, 17-18 листопада 2016 року.
· Т.: ТНТУ, 2019. - Том І. - С.350-351.
59
І
ЧДТУ.231922.008 ПЗ
1 1 Попов11ч П.В. Проблематнка іміr.щійного моделюоа1111я о оц111ц1
економічної ефективності у 11огіспщі / П. Попович // Віс1-1и1< ХНТУСГ. -
Харків, 2016. - В11п. No 169. - С. 226-229.
12 Поnов11ч П.В. Економічні аспекти n11кор11с1·а 1111я нослуг З РL
операторів вітч 11знян11м11 підпрнємствамн / П.В . Поnов11ч . // Наукоонй жур11ал .
- Луцьк: Луцькніі НТУ, 2016. - No 2. - С. 125-129.
І З Поnоо11ч П.В. Алrор11тм оці11кн базов11х ексш1уатацій1111х властноостсй
колісних сільськоrосподарськ11х 11>а11спорт1111х засобів / Поповнч П., LUeв•ryк
О .• Ляшук О.Л., Матвіїш1ш А . Й. // Віс1111 к ХІІТУСГ. - Харків, 20 І 7. - Внп. No
J 81 . - с. J 98 - 203.
J 4 Попович П.В. Підонщею1я ефективності тех11олоr·ій 11 еревезс11ь
орr.mізаційн_имн шляхам11 надання 11>ансnорт11их noc,ryr / Попович П., Шевчук
О., Мурова1rий І . // Вісник ХНТУСГ. - Харків, 20 J 7. - 81111. No 184. - С. 124 -
130.
15 Попович П. В . Дос11ідже1111.11 те11де11цій розонтку ри11ку оа11таж1111х
автомобіlІьних перевезень в сучасюrх умовах / П.В . Попович, О.С. Шео•1ук,
А.Й. Матвіїшин, В.Н. Лотоцька // Науковнй жур11ал. Віс1111к Житомирського
державного технологічного уніоерс11тсту. Серія: Тех11ічні 11ауки. - Ж11томир,
2016. - No2(77). - с. 224-228.
16 Popovych Р . Aлalysi s of the interaction of participants freiglн foГ\vnrding
sysrem / Р. Popovych, S. Shyriaieva ет// Joumal of Sustainable Oevclopment of
Transport and Logistics, 2016. - Vol. І , No, І , рр. 17-21.
17 Karpen.ko О., Kovalchuk S., Shevchuk О. Prospecrs 0 11 Ukrainian logistics
market orientation for iлtemational customers. Joumal of Susrainable De,,elopineпt
of Transport and Logistics, {S.І.], v. І, л. І, р . 27-33, dec. 2016.
hnp://jsdtl.sciview.ner/iлdex .php/jsdtVarticle/vie\v/12
18 Шевчук О.С. Вплив показників ефект11вності на безпеку руху оул11ч1ю
дорожними мережами/ Шев•~ук О. С. // Вісннк ХНТУСГ. - Харків, 2016. - 131111 .
No 169. - С. 205 - 209.
60
ЧДТУ. 231922.008 ПЗ
19 Леонард Річардсон, Майкл Амундсен // RESTful \1/еЬ APls: Se1·vices
ror а Cl1anging \1/orld. - 2013.
20 Android Frame,vork [електрон11ий ресурс). - 2017. - Режим достуnу :
t111ps: //,vww.quora.co1п/\\'hat-is-meant-by-Android-framework 3. Мартин Фаулер //
GUl Arcl1itectures. - 2006
21 Kotlin [електрон1шй ресурс]. - 2018. - Режим доступу:
l1ttps://kotl і nlaлg.org/
22 Aпdroid Studio [електро1111нй ресурс]. - 20 І 9 - Режим доступу:
ht1ps://uk. ,vikipedia.org/,viki/ Aлdroid _ Studi о
23 REST [ електронний ресурс] . - 20 І 9 - Режим доступу:
hrrps://uk. \vikipedia.orgt,,,iki/REST
24 Дубова Н. SOA: nодходь1 к реализащш // Открь1ть1е системь1. -
2004. - No 6. - С. 37-41.
25 The МJТ License (МlТ) [Електронний ресурс) - Режим доступу до
ресурсу: https://opensource.org/licenses/М1T
26 Martin Fo,vler - GUI Architectures. Часть І [Електронний ресурс].
- 2009. -Режим доступу: http://,V\V\v.rusdoc.ru/anicles/18358/.
27 Martin Fowler - GUI Architectures. Часть 2 [Електронний ресурс).
- 2009. - Режим доступу: https://habrahabr.ru/post/53536/ .
61
ДОДАТОК А
ЗА ТВЕР ДЖЕІ-ІО:
Зав. к~е~ ЗАС, професор
( ( ,,,.; ,,,,,,--,/ Голуб С.В.
- --=~---- 2023 р.
Програмне забезпечення автоматнзованої с1-1стеми для визначення коІ\mетентності
водія автобуса. Модуль обмежувач швидкості.
Спеuифікація
482. ЧДТУ 231922.008
Листів 2
Розробник Подиряко А.С.
Керів,шJ< Півень О.Б.
Норм. конrроль Півень О.Б.
Черкаси 2023
ЧДТУ 231922.008
Позначенн.я Наіімснува11ня Пр11мітка
482.ЧДТУ.231922-01 12 01 Текст проrрам11
482.ЧДТУ.231922-01 34 01 Інструкція кор11стуоn•1еві
482.ЧДТУ.23 1 922-0 І 90 О І Прсзент:щія
·-
63
ДОДАТОК Б
Програмне забезпечення автоматизованої системи для визначення компете11т11ості
водія автобуса. Модуль обмежуваtr швидкості.
Текст програми
482.ЧДТУ. 231922-01 12 01
Листів 9
Розробник Подиряко А.С.
Черкаси 2023
482.ЧДТУ.231922-01 12 0 1 2
package сош. podyryako. busdri verco111pete11ce111cte1·
і1про1·t aлd1·oid.Manifest
import and1·oid.aimotatioп.Supp1·essLint
import aпdroid.co11te11t.Context
import a11droid.content.Inte11t
iшport a11droid.conte11t.pn1.PackageManager
i111port aлdroid.location.LocationListene1·
import android . locatjon.LocationMaлager
import android.os.Buлdle
import ar1d1·oid. view. Vie..,v
import aлdroid. widget.Button
imporr aлdroid. widget.EditText
import aлdroid.widget.TextView
import aлdroidx.appcompat.app.AppCompatActivity
import aлdroidx.core.content.ContextCompat
import aлdroidx.lifecycle.MutableLiveData
irnport java.time.Duration
import java.util .concurrent. TimeUnit
import kotlin.matl1.abs
import kotliл.math.max
const val ТA G = "BDCM"
const val МАХ- LOCA TION- ТІМЕ- INTERNAL = 5000
class MainActivity: AppCompatActivity() {
private var JocationМaлager: LocationМanager? = null
private var tгackingEnabled = MutableLiveData(false)
65
482.lЩТУ. 231922-01 12 01 3
pri,,atc ,•ar tmcki11gStartTi111e = LoпgJ,,tЛ)C_ \ 1 ALUE
priYntc \'QГ lnstLocatio11Speed = o.or
priYnte vo.r lo.stLoco.tioнTi111e~1illis = 0L
priYnte latci,йt ,•nr sp~dTcxt: Text\fie\\'
priYзte lзteinit ,,nr curтSpeed.Li111itText: Техt\Ііс"'
pri \'зtc lзteinit ,,м stnt\1sTex1: Техt\Ііе\\'
pri,-nte ln1ei11it ,•ar o,•erspeedЛ\ert : Text\fie"'
pri,'nte ln1eini1 ,,м speedLin1itЄditTex1: EditTex1
private lateinit ,,ar speedLi111i1SetВ: Button
pri,,ate lnteinit ,,ar s1nr1Tracking8: Button
private var locзtionListener = LocationListener { location ->
,,а,І curтTimeМillis = System.curтentTimeMillisO
,,aJ curтSpeed = location.speed / І 000.0f • 60.0f • 60.0f
speedText.1ex1 = "%. І f km/h".fonnat(curтSpeed)
і f ( trackingEnabled. val ue ! ! ) {
val iлterva1TimeМillis = curтTimeMillis - lastLocationTimeMillis
if (intervalTimeМillis <= МАХ_LОСА TION_ T[ME_INTERNAL) {
val avglnterva1Speed = abs(lastLocationSpeed - currSpeed)
val trackingDuratjon = curтTimeMillis - tJackingStartTime
if (avglntervalSpeed > State.cu.rrSpeedLi111it.,1alue! !) {
State.overSpeedTimeMjJJis.Yalue =
66
482.ЧДТУ. 231922-01 12 01 4
State.ove1·SpeedTimeMillis.value! ! + inteгvalTi111eMillis
}
State.competenceFacto1·.value =
l .Of (State.ove1·SpeedTimeMillis.value! !. toDoubleO /
t1·ackingDш·atio11).toFloat()
}
State.maxObservedSpeed.value = max(State.maxObseгvedSpeed. value! !,
currSpeed)
overspeed.Alert. visibility =
if (currSpeed > State.currSpeedLimit.value!!) View.VISIBLE else
View.INVISIВLE
}
lastLocationSpeed = currSpeed
JastLocationTimeMillis = currTimeMillis
}
override fun onCreate(savedlnstanceState: Bundle?) {
super.onCreate( savedinstanceState)
setContent View(R.layout.acti vity_ main)
speedText = findViewByid(R.id.speedText)
currSpeedLimitText = findViewByld(R.id.currSpeedLimitText)
stat11sText = findViewByid(R.id.statusText)
speedLimitEditText = findViewByid(R.id.speedLimitEditText)
speedLimitSetB = findViewByid(R.id.speedLimitSetB)
67
►
482.ЧДТУ. 23 l 922-0 l 12 О 1 5
startTrackingB = findViewByld(R.id.startTrackingB)
0verspeedAlert = findViewByld(R.id.overspeedA\ert)
State.currSpeedLimit.observe(this) {
cuпSpeedLimitText.text = 11$it km/h"
speedLimitEditText.setText(it.toString())
}
speedLim itSetB .setOnCl ick.Listener {
State.currSpeedLimit.value = speedLimitEditText.text.toString().tolnt()
}
staгtTrackingB.setOnClickListener {
if (trackingEnabled.value!!) {
startTrackingB.text = "Start"
startT rackingB .setBackgroundCo lor( ContextComp at.g etCol ог( th is,
R.color.purple _ 500))
val intent = lntent(this, ResultsActivity::class.java)
startActivity(intent)
} else {
trackingStartTime = System.currentTimeMillis()
State.overSpeedTimeMillis. value = О
State.maxObservedSpeed.value = O.Of
State.competenceFactor.value = l .Of
startTrackingB.text = "Stop"
startTrackingB.setBackgroundColor(ContextCompat.getColor(this,
R.color.red))
}
trackjлgEnabled. va/ue = !traclcingEnabled. value! !
68
l
482.ЧДТУ. 231922-01 12 01 6
}
if (chcckSclfPcrmission(Manifes І .permission .ACCESS_FINE_LOCA TfON)
!= PackagcManager.PERМISSION _ GRANTED) {
statusText.text = "permissions are not g1·anted"
rcquestPeПТІissions(arrayOЦManifest.pennission.ACCESS_FfNE_LOCЛ TION), О)
} elsc {
sta11()
}
}
overridc fu n onRcquestPcrmissionsResult(
requestCode: lnt,
pen11issions: Array<String?>,
grantRcsults: [ntArray
) {
super.onRequestPermissionsRcsult(requcstCodc, permissions, grantRest1lts)
if (grantRcsults[0J = PackageManager.PERMISSION_GRANTED) {
s tart()
}
}
@SuppressLint("MissingPennission")
fun start() {
locationМanager - getSystemService(Context.LOCA TION_SERVICE) as
l{)cationМanager
locationManager! !. requestLocation Updates(
69
482.ЧДТУ.231922-ОІ 12ОІ
7
LocotionМonoger.GPS _PROVІ DER,
1000,
o.or,
Jocntion Liste11e1·
)
stotusText.tcxt = "i11itiolized st1ccessfully"
pockoge сот. pody1·yako. bнsd1·i vercoiнpctc11ccщctca·
iІІtport ш1droid.co11tent. Intent
iniport and 1·oid.пe1. U1·i
i111port :111droid.os.Bw1dlc
in1po1·t android.vie,v.Mc1ш
i111port android. v ic,v. Mcnнltem
i111port and1·oid. vicw.Vic,v
i111port aпdroid.widget.Bt1Ho11
import апdюіd. ,vidgct.Text Vie,v
i1пport ai1droidx.oppcompat.app.AppC0111patЛct ivity
class ResultsActivity : AppCompntActivity() {
privatc latei11it va1· maxObse1-vcdSpeedText: TcxtVic,v
p1·iva1e latei11it var ovcrSpeedTimeText: TextView
privatc lateinit var cornpctencePercentageText: TextYie,v
private latei11it var reportButto11: Button
override f1щ onCreate(savedlnstanceState: Bu11dle?) {
super.onCreate(savedJnstaлceStatc)
70
►
482.ЧДТУ. 231922-01 12 01 8
setContentV ie\v(R.layout.activity_ resu lts)
maxObservedSpeedText = findVie\vByld(R.id.maxObservedSpeedText)
overSpeedTimeT ext = findVie\vByld(R. id.o\rerSpeedTimeТ e xt)
competencePercentageТ e xt =
findVie\\1Byld(R.id.competencePercentageText)
report.Вutton = findVie\vByJd(R.id.reportButton)
reportButton.setOnClickListener {
vaJ рІюnе = "+380 97 793 25 30"
\ 1aJ intent = Intent(Intent.ACTION_DIAL, Uri.fromPш1s("tel", phone, null))
startActj\1ity(intent)
}
State.overSpeedTimeМillis.observe(this) {
val totalSeconds = it І 1000
val minutes = totalSeconds І 60
val seconds = totalSeconds % 60
overSpeedTimeText.text = "$minutes minutes, $seconds seconds"
}
State.maxObservedSpeed.observe(this) {
maxObservedSpeedText.text = "%.lf km/h".fon11at(it)
reportВutton. visibility =
if (it > State.currSpeedLimit.value! !) Vie\v.VISIBLE else
\'ie\v.INVISIBLE
}
State.competencefa ctor.observe(this) {
if (it != null) {
val perc = (it * І 00).tointO
7l
,.
482.ЧДТУ . 231922-01 12 01 9
competencePercentageText.text = "$perc¾"
} else {
competcnceр c1·ce111agt: тt :Xl.text = "н о d ata"
}
}
supportActioпBar? .sctDisplayHomcA sUpE11abled( truc)
}
ovetтide fw1 onOptions11cmSelected{ite1n: Menultcm): Boolean {
whcn (item.itemld) {
android.R. id.lюme -> {
finisl1()
retum 1п.1е
}
}
1·etum supe1·.onOptionsltemSelected(item)
}
o,1erride fw1 onCreateOptionsMenu(menu: Menu?): Boolean {
re11.1m true
}
}
72
додлтокв
амнс забсзr1ече11ня аuтомаrнзооаної с11стсм11 дл.я 011311ачс1111я
nroГJ> нтноС1'і водія автобуса. Модуль обмежувач швидкості.
~омnе-те
І 11струк11ія користувача
482. ЧДГУ. 231922-0 І 34 О І
Л11стів 3
Под;1ря"о А.С.
Черкасн 2023
482.ЧДТУ. 231922-ОІ 34 01
2
Інтерфейс користувача є досить прост11м у е11корнстан:ні. Головне ві кно
;;1a.!J.0~t. І ься 3 полів поточна wви.дкість та встановлення обмеження на швидкість.
Рисунок B.l - Інтерфейс користувача .
Якщо система визначає перевищення mвидкост1·, зя вляється відnовід11е
nовщо~1ення.
РИС)'НОК, В?·- - І.н те рф еи
-с користувача .
7-І
482.ЧДТУ. 231922-013401
3
',,,, показує час nерев111це1111.11 шо11дкості і І>іосн~ ко~,,~стс, .
,-ема . ІСТІІОСТІ
n~,,
r
Рису11ок В.З - Інтерфеііс корнстувача.
При натисненні кноnк11 «Report» відкрнвасться вікно дІtЯ оідпра811е1111я
~. .1 е1111я на 11абра11ий номер.
Рисунок В.4 - І нтерфейс кор11стумча.
75
ДОДАТОКГ
е забезпечення автомат11зооа1-1ої снстемн для в11з11а•1сн11я
fl Ро rраМ.І тІн ості водія автобуса. Моду л~, обмежуnа•1 швндкості.
~омnетеІІ
Презентація
482. ЧДТУ. 231922-008 90-0 І
Листів 9
1lод11ряко Л.С.
Черкаси 2023
----·-
482.ЧДТУ.231922-019001
2
r,роrрамне забезпечення автоматизовано(
системи д/\Я визначення компетентності воді~
автобуса. Модуль обмежувач швидкос1і
Сf)~nФІПС
u}<~;r.J mм;
'71'"' П3- І'Х>І
По~ш Ai.щo.Jitj
t<,pi>111u • lliu,,.,_ 0.Іі.
Р11сунок Г.І - Слайд «Bc-ryn»
~lr10,o робота , рсnроби r.;,o,pum.oro :ioб<ir.<'«U• u,ow1..,......;
tl.JC1e).UJ ..1..1.1 aum~чtШLJ КQ)Wr1C1f'Т11.0(1'i ІО:.:і.t u1oб)'CL А~ ~
ПОС'І';1а.,ееоі NC'fll в№.~.і..':,ю L,puш.rm tа-'°Т)"ШU UUJ..DI:
С <30р1Л'1 >p,utt11:1ypy WO.:y.DO oouc:zywu СІІ:аr.оnі:
P01poo,m1 c.uщJ\ "".:).,,,
Про,~m nporp&>amli W0.1)'~:
Рисунок Г.2 - Слайд «Мета та завдашUJ>)
71
482.ЧДТУ.231922-01 90 01 3
онований функціонал
3оп"
• 1•смГ,'UU1)' UІОІL."І...»СТі ttJ .1,)!UІЙ NО:UС'ІП'
M~111t,tCfЬ • г· '
. , .. , 0,.iн:r.i.otrn1 uотрібну )t.1JX1t~11~11y QJtJUricн,
\С~1t1ІІС:
~,oi-: ,,Cf;)Т)'C t, , » л:onc).--Ot'OIO o»ro "ш №u.io •01 nLwтoaa п~ rn,.~..-y ~.tpia
1
t.1 i i,,1)1tAJІЗ у:11ішно.
~t.,,,x1І). .'\ .'\t.HO J.,'UJЇ '-I C'1t:li нш11:.,tіt1ь.
Ч~. cJj,'1t,iJI )ІІІ n<-pc6)'NЗ11 3j CIJS~tcn, 6.,.n::it »);t::ЧСІ.."ОЇ.
оL-котоt. ..oмncrc1 1·nt0C1i вcui.t.
Рисунок Г.3 - Слайд «Заплановаюtй функціонал))
Програмні аналоги
Рисунок Г.4 - Слайд «Аналоги))
78
482.ЧДТУ .231922-01900\ 4
мні аналоги
orP0
nP .-,--_---. .·..·· -··-... -- ·----
. N oviOQto r Pfvs
• =
:.- -:: - - - - -
,J а_-:-__ - - ~ "°
І
С<реіс «№vig,10, Plu.»
Рисунок Г.5 - Слайд «Аналопш
Діаграма використання
І
( ....
Рнсувок Г.6 - Слайд «Діаграма 011кор11ста1111я»
79
~ 4S2.ЧДІ'У.231922-0190 01 5
~0воння предметної області
~лоде/\
-
р11сунок Г.7 - Слайд «Моделювання предметної області11
Діаграма діяльності
•-г~-~
L._.- -- 0
І
~
~-г- r\- ;' ~
г'~-\ .г.::::-'\ ~•"'
Рисунок Г.8 - Слайд «Діаграма діяльності))
80
482.ЧДТУ.23 1922-01 90 01
б
.
Діаграма сюнченного автомату
•
~•• І,------
І
--
~··-
'"=- 1--'---'--І---'8
Рисунок Г.9 - Слайд «Діаграма скінчешюго автомату»
Технології
· 10•0ж Androld то QQ.}_
android
Рисунок Г. І О - Снайд «Тех11011огії»
81
482.ЧДТУ.231922-0 1 9001 7
б O реалізовано l!lO у/\
І
\ Рисунок Г.11 - Слайд «Реалізацію}
Модульне тестування
t:пn OcІJOtJIJ e1UW
П1.D0101D CnoptNJ t«т08~ ІІШАW'- І°d ЦlJO"WQf\ fwd -о. ..-...
1f('І ()att~ t Ai.DJ \l.l•fІ)U :>'І.І o6Nf"a:yu,,
""""' lf.шp,n.,1,U. t«"1Cli .».Іі ~')"r\ wk'rtn'=tl AlotYD·J
шан::rості. W atptм:a)wn.. tul)0.1i.u,on е6о
Wfllud \І, :Юtto.WW)' ...U:fln..&.Ln.8)' a::au.:uj,rІ\.
01fa:o-..n, 3.Шу,• l «'I Ot lL\ ..- ... О~Юf\
І 1f~808ІІ~ ІШІ/U.В ф)lШ:І)А UOJ)'.U o6wa)'1J'U с=•ІUІ-«Тt ) -
·=· t)flfl.Jl'WIІ щ:,щ,,,~. .. ,..,,,,..,..._ І\.Щ.Q ,Ш. fltL'Шf> ф)....Ц iupn,;;t t. '" ,. ....
au1·U:tК,·~ n<?<"=>• .)q}IO,;Cff'/ wu.~,~·
ШJ•i=m.
Пtpt1ip~ ПopiJ.ІWDU ОІрІШІJО.L\ po)""»l')fdl J O,U)"UIJCWЬ в-....
pny.u.n1i1 WVtDI.Aa:1. ЯJто ~fffU c,шru.,:u,)Т\, І('('І
.tN..,X.J., ('f\,(.J )'{Ctm:u:w;. )' nporutWtoV)' а,:ш.&.:І),у,
IІU:І._"'tfa~ t .l."\U.,ttaS.I ,бо "''"'""'
1і:26)'UП~JІ •i1~dJІU rд:у :a.u ar.c:щ,,usvu,
npo6.1n.11
Рису1-юк Г. 1 2 - Слайд «Модульне тсс-rуоаНІLЯ>}
82
l
482.ЧДТУ.231922-019001 8
Іt-t-rеграційне тестування
Or-=e:ain-=i
ЄТ"1 а.-
n,1.:.trofO.I D C'lll<>\'<DI 1·К"ТОІОtо «J>C»•- ... в.._..
..-pc::..i= ai.:noplo< )'NОШ Р,~,-._·.. .._,...
u.,
-rKІ)"1JIJUI =•- IL"O:Jl'\tfQ
W.'\l.w-J)w.DJ ~ _,,.,.,
mn,мu.~- 1ктоt:16&J:JІІІП). •• ..' \ШІТ). ..... ""'4.waaro
~·~
с,_,...
вnw,wnu T«tOtш: n:rщ(t&. nl в-
1tc108JL'\ ІШ>С\'ЮООІ\ ра.. .... )"°"'~
cat:aiJ'U• WC1r)CQ. ~~ І«тсt::) С::а,у:,0
WOXt ID»'UM ~..С:::Ю Р')Тf Ul'°')'ta
J pi1&:ltC> ~..,. 1·1 ~у po6otv
o6,.,-.q-vu ~ ci,u ="У·
n,pn,;,o ~ • UC>IQ>J ..._..,,,. o6'&rq-..u -..
ІШ\J~ ~І ' ;_,,.,, ,~11U&ІІ
C"D,;.~ Цt wr:::A.r 8CXJl'U1'0 ~
c;w::-.-. -uoc-тi ~ ~ cc:::n)
ф)-а:::іА. o61iJry D:11' :211:а!' ..... "' -:осо..
Рисунок Г .1 З - С11айд «Інтеграцtйне тес,ування»
Системне тестування
є. ... 0.-0,m:,o ,-
11,pn,r,., ~ .-
8'id~ CIOw:&')W'Q ~ 1 -=~=1 -
~ aa;'lnt8,. DC:),3 0-
е...-,,..""WК-'1""-
СDМООІП3,,,,~ n::»
r'\tpn,~ r~ -- p.,6,t> ........
O),rt..,.. :n: мm ---~':І -6wж)vv a;u.;X11 ')'CIIQ
Ccnt),a::;:,.oc:ant>,~.a:io
C\»Of'.U..a,., .-= ,. ~C IQ(.a.::o r:n.
1116-=-
-c:>u>n• U l~'al -· І
w, .....w c:w:ac.,pwt-;;o-a -
Тt<Т).._
нnи.,.о. . Ф'IJP!iL "' І,:,;,аІІ> P.w.:tt.~\t C..~f\
__,.... -~=
а6wа). ..Ч І
'-'="<t\. llt.:;<DЦ І"'). .....
~ .u ww~,,- u r~u • ~
)'-'О ~ f')"'SJ • • ри:::~о
·~~1\ 11~~
-~ І
P11c\f1.,
J "о к Г .14 - Слайд «С11стемне тесrування»
83
482.ЧДТУ.231922-019001 9
J "лольне тестування
nP~~,~·
()«tOJD-1 ('flall D•-
'11att В('nJta3tWU (О~ qютс-р(іt n tш:с:, о-
.-OUJll""<ft te&J
ni "°"'""" аі;шсош"1 ;;
..-pen·~U•
Lt) ,p.tncs:ii ._"","." ° "'"
IL':tJO'UT·n
Щ>ttnlLП'fL
о:р1~ма.1~1оr
ф)'U1(11ioUU>"I t1:)8C:rru. ф<ТІ<Uі<п.
о t«r )'l,;UllO
us..:ui'atk1'"• 6ceny tO:»-
U\.-ТQ.tt't (tmQ91' -. о:) о. ........
.-ni.1f0№"3 СТ>О9''°"
,~n.p tA-U.St ~ CU:Tut!J J
tt<"fOl,IL'(
фО,..)'('0)1 IQ ~ о6~)~ 1:1:ui:.«1t ЦІ
(U(ЯІрЇЇІ
cuua,>ii хо:,.")'1" c.uc.UQ.N ru rпві •=
1-Ul'OPandlU. tш=ОПJ .:= ~ ra )"WO-a
;,оро"""°"' fl)7'Y-
3':І)« 1'С'С'ТОа:R n:n,,;ш n
І}uJОИдІІ!ІА
apt~:i...:iro ,"'). ...... 8•-
І.11ЛЙ)f3..1..юt'С 1:n;ОШ,ЮІ,І
uo.:r)";:I o6н~A')'UV ацп-.ос-rі. Jfu u:
т«-tіІ
11trОК1JІИ:.1 t«Tia ori,wp,mc•
1i.=no&iзlo:n. <1JCТf1m t...-ТIJIO&.~O,t
rprлfP',1),1. ti ~ -
Рисунок Г.1 5 - Слайд «При.ймальне тестуванню>
/
Дякую за увагу
Рнсунок Г.1 6 - Слайд «Дякую за увагу»
84