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

1.

ХЕРСОНСЬКИЙ НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ
ФАКУЛЬТЕТ ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ ТА ДИЗАЙНУ
КАФЕДРА ПРОГРАМНИХ ЗАСОБІВ І ТЕХНОЛОГІЙ
Кваліфікаційна робота
магістра
На тему: «Дослідження моделей, методів та технологій розроблення
програмного застосунку для управління мобільним будівництвом»
Виконав: студент 2 курсу, групи 6ПР
Спеціальності 121 - «Інженерія програмного забезпечення»
Комаров Андрій Андрійович.
Керівник к.т.н., доцент Кирийчук Д. Л.
ХМЕЛЬНИЦЬКИЙ - 2023

2.

В кваліфікаційній роботі проведено розроблення програмного застосунку для управління мобільним
будівництвом.
Запропоновано програмний застосунок, який призначено для керування важливими елементами проєкту з
будівництва за допомогою закладок на мобільному телефоні. Користувач має змогу додавати в закладки такі
елементи:
події щодо змін у планах будівництва, зобов'язання підрядників, фото виконання проєкту з
будівництва, запити на одержання дозвільних документів, заявки
на контрольно-вимірювальні прилади,
проведення інспекцій, виявлення недоліків.
Програмний застосунок допомагає користувачам керувати будівництвом за допомогою мобільного пристрою
та надає користувачам інструменти, необхідні для виконання будівельних робіт в режимі реального часу.
Об'єктом досліджень є методи керування будівництвом за допомогою мобільного пристрою та інструменти,
необхідні для виконання роботи в режимі реального часу.
Предметом досліджень є моделі, методи та технології розроблення програмного застосунку для управління
мобільним будівництвом.
Наукова новизна полягає в дослідженні сучасних моделей, методів та технологій розроблення програмного
застосунку для управління мобільним будівництвом.

3.

Проєктування БД програмного застосунку
Схема бази даних будівництва

4.

В результаті аналізу предметної області
Ступінь зв’язку між об’єктами:
були виділені наступні об’єкти:
1) User – Category (1 до N);
1) Користувач (user);
2) Plan – Category (1 до N);
2) Категорія (category);
3) Document – Type_of_document (1 до N);
3) План (plan);
4) Plan – Object (1 до N);
4) Документ (document);
5) Daybook – Object (1 до N);
5) Тип_документа (type_of_document);
6) Requests – Object (1 до N);
6) Об’єкт будівництва (object);
7) Defect – Object (1 до N);
7) Запит (request);
8) Bookmark– Object (1 до N);
8) Заявка (submission);
9) Submission – Submission_type (1 до N);
9) Тип_заявки (submission_ type);
Таблиці для забезпечення зв’язку N до M
10) Журнал (daybook);
(daybook_has_document, defect_has_document,
11) Зауваження (defect);
bookmark_has_document):
12) Закладка (bookmark).
1) Daybook – Document (N до M);
2) Defect – Document(N до M);
3) Bookmark – Document(N до M).

5.

Приклади опису об’єктів та розроблення таблиць БД
Об’єкт Користувач
Таблиця user створюється за допомогою наступного SQL коду:
CREATE TABLE "user" (
"id" INTEGER NOT NULL,
"name"
TEXT NOT NULL COLLATE NOCASE,
"email"
TEXT COLLATE NOCASE,
"password" TEXT NOT NULL,
"create_time"
INTEGER NOT NULL DEFAULT
CURRENT_TIMESTAMP,
"category_id"
INTEGER NOT NULL,
FOREIGN KEY("category_id") REFERENCES "category"("id"),
PRIMARY KEY("id" AUTOINCREMENT)
)
Об’єкт План
Таблиця plane створюється за допомогою наступного SQL коду:
CREATE TABLE "plane" (
"id" INTEGER NOT NULL,
"name"
TEXT NOT NULL,
"category_id"
INTEGER NOT NULL,
"start_date"INTEGER NOT NULL DEFAULT
CURRENT_TIMESTAMP,
"end_date" INTEGER NOT NULL DEFAULT
CURRENT_TIMESTAMP,
"object_id" INTEGER NOT NULL,
"document_id" INTEGER NOT NULL,
FOREIGN KEY("category_id") REFERENCES "category"("id"),
PRIMARY KEY("id" AUTOINCREMENT)
)

6.

Об’єкт Заявка
Об’єкт Об’єкт_будівництва
Таблиця submission створюється за допомогою
наступного SQL коду:
CREATE TABLE "submission" (
"id" INTEGER NOT NULL,
"description" TEXT NOT NULL COLLATE NOCASE,
"create_time" INTEGER NOT NULL DEFAULT
CURRENT_TIMESTAMP,
"plane_date" INTEGER NOT NULL,
"object_id" INTEGER NOT NULL,
"submission_type_id" INTEGER NOT NULL,
PRIMARY KEY("id" AUTOINCREMENT),
FOREIGN KEY("object_id") REFERENCES
"object"("id"),
FOREIGN KEY("submission_type_id") REFERENCES
"submission_type"("id")
)
Таблиця object створюється за допомогою наступного SQL коду:
CREATE TABLE "object" (
"id" INTEGER NOT NULL,
"name"
TEXT NOT NULL COLLATE NOCASE,
"address" TEXT NOT NULL COLLATE NOCASE,
"description"
TEXT,
"geo" TEXT,
PRIMARY KEY("id" AUTOINCREMENT)
)

7.

Структура проєкту Android
У проєкті присутні такі файли та директорії:
AndroidManifest.xml – визначення компонентів та потрібних
можливостей девайсу для програми.
build.gradle – файли конфігурації збірки для всієї програми та
окремих модулів.
src – вихідний код класів та ресурси проєкту.
Файл .R – згенерований на етапі компіляції список всіх ресурсів
проєкту.
assets – файли, які мають потрапити до .apk як є, без змін.
res/drawable – директорія для картинок (drawable-об'єктів).
res/layout – директорія для файлів, які визначають UI програми.
res/values – директорія для різних XML-файлів із простими
ресурсами, такими як рядки, кольори та числа.
res/mipmap – іконки для launcher-а різних дозволів.
res/menu – XML із визначеннями різних меню.
res/font – шрифти.
res/xml – XML-файли, доступні через Resources.getXML().
res/raw – різні файли, доступні у вигляді потоків даних через
Resources.openRawResource().
res/anim, res/animator – анімації.
build.gradle або build.gradle.kts (модуль) визначає конфігурації
збірки для окремих модулів. build.gradle застосовується, якщо
використовується Groovy як мова сценарію збірки, і build.gradle.kts,
якщо використовується сценарій Kotlin.

8.

Обґрунтування вибору програмних засобів для реалізації поставлених завдань
Для реалізації поставлених завдань було обрано DB BROWSER FOR SQLITE (DB4S) та AndroidStudio.
DB4S - це високоякісний візуальний інструмент із відкритим кодом для створення, проєктування та редагування
файлів бази даних, сумісних із SQLite
Структура БД у DB4S

9.

Опис функціональних можливостей програмного застосунку
Плани будівництва
Журнал
<<include>>
<<include>>
Список зауважень
та недоліків
<<include>>
Меню
програмного
застосунку
<<include>>
Запити
<<include>>
<<include>>
Фото
<<include>>
Заявки
Документи
Діаграма варіантів використання
програмного застосунку
Меню програмного застосунку містить такі пункти:
1. «Плани будівництва».
Перегляд планів будівництва та їх
модифікацій від початку до кінця, навіть в автономному режимі.
2. «Журнал». Відстеження кожної деталі будівництва, включаючи
роботу, зв'язок, обладнання, матеріали та події на робочому місці
щодня.
3. «Список зауважень та недоліків». Використання мобільного
пристрою для створення та призначення елементів списку
зауважень та недоліків безпосередньо на місці будівництва, де,
швидше за все, буде виявлено більшість проблем.
4. «Запити». Відстеження запитів на одержання дозвільних документів
будівництва. Дозволяє структурувати запити за датою, органами
виконання та швидко реагувати на зміни під час будівництва.
5. «Фото». Фото виконання проєкту з будівництва. Дозволяє робити
знімки ходу виконання проєкту будівництва з мобільного пристрою
та зв'язувати їх із кресленнями проєкту за місцем розташування.
6. «Заявки». Заявки на контрольно-вимірювальні прилади, проведення
інспекцій, виявлення недоліків. Дозволяє структурувати заявки за
датою, органами виконання та швидко реагувати на зміни під час
будівництва.
7. «Документи». Різні зобов'язання підрядників, співробітників або
команди для всіх проєктів з будівництва.

10.

Табель обліку
робочого часу
<<extends>>
Документи
<<extends>>
Накази з кадрових
питань
<<extends>>
<<include>>
<<extends>>
Меню
програмного
застосунку
Посадові інструкції
Нормативні акти
про працю
Діаграма варіантів використання. Меню «Документи»
Меню «Документи» фактично дозволяє здійснювати
управління персоналом під час будівництва. Призначати
потрібних людей на потрібні робочі місця та
відстежувати продуктивність у режимі реального часу
за допомогою відповідних документів для управління
персоналом.
Меню «Документи» містить такі розділи:
1. Табель обліку робочого часу. Ведення первинних
документів для обліку відпрацьованого часу, які є
також підставою для нарахування заробітної плати
працівникам задіяним на будівництві. Дозволяє
слідкувати за часом співробітників або команди для
всіх проєктів з будівництва.
2. Накази з кадрових питань (щодо прийому,
звільнення, переводу).
3. Посадові інструкції.
4. Нормативні акти про працю (угоди генеральні,
галузеві
(тарифні),
спеціальні
(регіональні),
колективні договори).

11.

Технічні характеристики
<<extends>>
Плани будівництва
<<extends>>
Матеріали
<<extends>>
<<include>>
Розклад
Меню
програмного
застосунку
Діаграма варіантів
використання. Меню «Плани
будівництва»
Меню «Плани будівництва» містить такі розділи:
1. Технічні характеристики. Дозволяє отримувати доступ
до специфікацій та планів за допомогою мобільного
пристрою, щоб приймати обґрунтовані рішення та
просувати проєкт з будівництва.
2. Матеріали. Дозволяє робити позначки та розробляти
заявки безпосередньо за допомогою програмного
застосунку.
3. Розклад.
Дозволяє
здійснювати
розроблення
календарного плану будівництва, редагувати та ділитися
ним із підрядниками.

12.

Спостереження
<<extends>>
Список
зауважень та
недоліків
<<extends>>
Інциденти
<<extends>>
<<include>>
Меню
програмного
застосунку
Діаграма варіантів
використання. Меню «Список
зауважень та недоліків»
Інспекції
Меню «Список зауважень та недоліків»
призначено для управління якістю та безпекою
та допомагає дотримуватись правил техніки
безпеки та специфікації якості. Меню «Список
зауважень та недоліків» містить такі розділи:
1. Спостереження.
Дозволяє
створювати
спостереження на будівництві в міру їх
появи або створювати спостереження на
основі попередньо запланованої перевірки.
2. Інциденти. Дозволяє створювати записи про
травми або захворювання, нещасні випадки,
пошкодження навколишнього середовища та
майна та використовуйте дані про інциденти
для виявлення ризиків та вживання
превентивних заходів.
3. Інспекції. Дозволяє завчасно виявляти
небезпеку та допомагає випереджати
проблеми безпеки. Також розділ дозволяє
керувати, встановлювати базові параметри та
покращувати процеси забезпечення якості
будівництва з мобільного пристрою.

13.

Зобов'язання
<<extends>>
Журнал
<<extends>>
Зміна події
Меню «Журнал» містить такі розділи:
1. Зобов'язання. Доступ до статусів та поточних
значень усіх контрактів та замовлень на
<<include>>
Меню
програмного
застосунку
Діаграма варіантів використання. Меню «Журнал»
купівлю у режимі реального часу з будь-якого
місця.
2. Зміна
події.
Відстеження
та
керування
потенційними змінами бюджету у міру їх
виникнення в одному централізованому місці.

14.

Екранні форми

15.

16.

ВИСНОВКИ
1. Розглянуто технологічний стек розробки мобільних застосунків. Нативний технологічний стек для програм
Android включає мови програмування Java та Kotlin, а також такі набори інструментів, як Android Studio та
Android Developer Services. Крос-платформні рішення забезпечують більшу гнучкість і дозволяють
працювати з меншим бюджетом. Технологічний стек для такИХ програм включає React Native, Flutter і
Xamarin.
2. Проведено аналіз програм для управління мобільним будівництвом
3. Описано процес проєктування БД програмного застосунку. В результаті аналізу предметної області були
виділені наступні об’єкти: Користувач (user); Категорія (category); План (plan); Документ (document);
Тип_документа (type_of_document); Об’єкт будівництва (object); Запит (request); Заявка (submission);
Тип_заявки (submission_ type); Журнал (daybook); Зауваження (defect); Закладка (bookmark).
4. Описано ступінь зв’язку між об’єктами БД програмного застосунку.
5. Описано об’єкти та розроблено таблиці БД програмного застосунку.
6. Описано процес та програмні методи налаштування збірки проєкту за допомогою системи Android Build.
7. Описано структуру проєкту Android.
8. Описано процес створення та використання Android library module.
9. Наведено обґрунтування вибору програмних засобів для реалізації поставлених завдань.
10. Описано процес розроблення БД у DB4S. Наведено структуру БД у DB4S.
11. Описано функціональні можливості програмного застосунку. Побудовано діаграми варіантів використання
програмного застосунку.
12. Описано програмні методи передачі даних між Аctivity.
13. Описано програмні методи роботи з Intent.
English     Русский Правила