Abstract:
Кваліфікаційна магістерська робота містить 80 сторінок, 11 таблиць, 21 рисунків, 37 бібліографічних посилань, 7 додаткsd.
Метою роботи є розробка месенджера на базі операційної системи Android.
Об’єктом дослідження є процес розробки месенджера на базі Android.
Предметом дослідження виступають технології, що використовуються для розробки месенджера на базі Android
Здійснено детальний огляд предметної області та сучасних аналогів. У процесі дослідження використовувалися: технології розробки мобільних додатків під операційну систему Android, методи роботи з базою даних SQLite, методи передачі даних по HTTP протоколах при синхронізації локальної і серверної баз даних.
Здійснено проектування моделі предметної області, програмування сутностей та алгоритмів на базі клієнт-серверної архітектури. Серверна частина розроблялася з використанням Firebase, клієнтська − OAuth, Retrofit2 та Google Cloud Storage; база даних − SQLite.
У магістерській дипломній роботі удосконалені теоретико-методичні підходи до створення проєктів, доповнені підходи до створення проєктів та використання їх на різних операційних системах та у різних браузерах.
В роботі запропоновано концептуально новий підхід до створення, планування та використання проєктів, створення нового програмного забезпечення яке дозволить користувачам отримувати всі переваги користування сучасним месенджером.
Description:
В результаті виконання даної дипломної роботи було розроблено месенджер на базі операційної системи Android.
У першому розділі була поставлена задача проаналізувати чинні програмні комплекси, схарактеризувати цілеспрямованість створення власного або корпоративного месенджера та схарактеризувати вхідну й вихідну інформацію щодо проєкту даної роботи.
Комплексний аналіз множин схожих між собою месенджерів допоміг зробити висновок, що у своєї більшості вони мають однакові між собою можливості та функції для користувачів. Цей аналіз допоміг зробити композицію всіх найкращих функцій та відокремити відповідні недоліки, яких треба уникати.
Також було детально описано вхідну та вихідну інформацію додатку, на які буде опиратись проєктування функціональних діаграм за допомогою UML та серверна архітектура у наступному розділі.
До вхідної інформації проєкту відносяться бібліотека GetStream, яка використовується для власної імплементації месенджера, мова програмування Kotlin, що буде використовуватись для створення клієнтської та серверної частини додатку, та бібліотека Retrofit2, що використовується для мережевої взаємодії месенджера. Як обгортку над стандартними механізмами, яка покликана впорядкувати й спростити прості та складні шаблони навігації в додатку, обрано Navigation Architecture Component. Важливими елементами внутрішньої інформації месенджера також було зазначено Firebase, Dagger, RxJava та Room.
У другому розділі була поставлена задача розробити життєвий цикл розробки програмного забезпечення, з’ясувати специфіку UML діаграм функцій додатку, розкрити сутність створення процесів для розробки серверної та клієнтської частин.
Завдяки візуалізації процесу роботи над проєктом, було покращене розуміння продукту та показано взаємодію користувача з клієнтською частиною. Саме тому використання функціональних UML діаграм заслуговують уваги. Використовуючи їх, можна наочно та зрозуміло розповісти про проєкт для будь-кого із команди, яка займається розробкою продукту.
Було розглянуто та розроблено основний функціонал, який необхідно створити у клієнтському додатку за допомогою функціональних UML діаграм, і який результат отримає користувач по завершенню робіт над створенням додатку.
Наведено приклад традиційної трьохрівневої архітектури. Описано етапи створення серверної та клієнтської частини додатку. Зроблено висновки щодо розробки проєкту.
У третьому розділі було визначено, що додаток потребує проектування та створення сутностей й схеми для коректної роботи, а також зберігання даних користувачів для комфортного їх користування додатком. Головну роль серед зазначених питань грає реляційна база даних SQLite.
Було визначено класи зберігання SQLite, типи злиття та важливі в рамках проєкту подібності й імена типів. Крім того, було зроблено таблиці , які описують функції пакету баз даних та функції класу Cursor.
У четвертому розділі було розглянуто створення основних фрагментів у базі даних SQLite, серед яких є Retrofit2, Room та Toolbar. За допомогою розглянутих у розділі інструментів процес розробки додатку стане більш простим і надійним.
Розроблений додаток за допомогою SQLite додатку можна використовувати у командній розробці, оскільки усі необхідні процеси з налагодження клієнтського та серверного додатку впроваджені.
Отриманий досвід проєктування та розробки продукту повного циклу знадобиться у майбутній практиці як програміста.