ВВЕДЕНИЕ 5
ГЛАВА 1. ОБЗОРНО-АНАЛИТИЧЕСКАЯ ЧАСТЬ 7
1.1. Обзор популярных мобильных платформ 7
1.1.1. Android 7
1.1.2. iOS 8
1.1.3. Windows Phone 9
Обоснование выбора мобильной платформы 9
Выбор версии Android 10
Выбор среды разработки под операционную систему Android 11
1.4.1. IntelliJ IDEA 11
1.4.2. Eclipse 12
1.4.3. Android Studio 12
1.5. Обзор языков программирования под ОС Android 14
1.5.1. Java 14
1.5.2. Kotlin 15
1.5.3. XML 16
1.6. Анализ систем-аналогов 16
1.6.1. Jira 17
1.6.2. Trello 18
1.6.3. Asana 20
1.7. Выбор системы управления базами данных 22
1.7.1. MySQL 22
1.7.2. PostgreSQL 23
1.7.3. SQLite 23
1.8. Заключение по главе 24
ГЛАВА 2. ПРОЕКТИРОВАНИЕ ПРИЛОЖЕНИЯ 26
2.1. Постановка задачи 26
2.2. Функциональные требования к приложению 27
2.3. Обеспечение информационной безопасности приложения 30
2.4. Архитектура системы 30
2.5. Структура баз данных 32
2.6. Заключение по главе 37
ГЛАВА 3. ОСОБЕННОСТИ ПРОЦЕССА РАЗРАБОТКИ И РЕАЛИЗАЦИИ
ПРИЛОЖЕНИЯ 38
3.1. Особенности работы с базами данных 38
3.1.1. Работа приложения с базой данных MySQL 38
3.1.2. Работа приложения с базой данных SQLite 39
3.1.3. Синхронизация MySQL и SQLite 40
3.2. Особенности использования приложения 42
3.2.1. Экран авторизации 42
3.2.2. Экран регистрации 43
3.2.3. Главный экран приложения 44
3.2.4. Экран создания задания 45
3.2.5. Экран просмотра задания 46
3.3. Регистрация хостинг-аккаунта 48
3.4. Заключение по главе 48
ЗАКЛЮЧЕНИЕ 50
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 52
ПРИЛОЖЕНИЕ 56
Мобильные телефоны, плотно вошедшие в нашу жизнь, уже почти не отличаются по функциональным возможностям от современных компьютеров. Возможность выхода в интернет, а также компактность, играют главную роль в растущей популярности как самих смартфонов, так и написанных под них мобильных приложений. В данный момент большинство пользователей используют возможности мобильных устройств только в личных целях, например, используют их для игр, читают новости, общаются с друзьями, оплачивают покупки и т.п.
Постоянное наличие мобильного устройства под рукой, куда бы не пошел человек, позволяет использовать такое устройство не только в личных целях, но и в служебных: многие предприятия для повышения конкурентоспособности уделяют большое внимание автоматизации и упрощению разнообразных внутренних процессов организации. В частности, примером могут служить процессы выдачи задания сотруднику с последующим контролем его выполнения руководителем. Использование мобильного приложения для этих целей не только позволит увеличить эффективность работы сотрудника за счет уменьшения затрат времени на получение задания, отсутствия необходимости его куда-либо записывать, разграничения личного и делового пространства, но также даст возможность руководителю своевременно видеть прогресс выполнения задания, а также формировать статистические данные о сотруднике за весь период его работы в компании. Кроме того, в подобных приложениях возможно использование дополнительных модулей, например, уведомление о начале/окончании задания, в том числе с возможностью его обсуждения, установки приоритета, выбора нескольких исполнителей и многих других вариантов.
Целью выпускной квалификационной работы является разработка модульного мобильного приложения для назначения и контроля выполнения заданий сотрудниками предприятий.
Объект исследования - клиент-серверное мобильное приложение.
Предмет исследования - модульное мобильное приложение для назначения и контроля выполнения заданий сотрудниками предприятий.
Задачи, которые необходимо решить для достижения поставленной цели:
• анализ и обоснование выбора мобильной платформы, на которую будет разрабатываться прототип приложения в соответствии с поставленной целью;
• обзор и выбор языка и среды программирования в соответствии с выбранной мобильной платформой;
• анализ популярных систем управления базами данных(СУБД);
• анализ популярных приложений, выполняющих схожие функции;
• разработка требований к пользовательскому интерфейсу;
• создание базового варианта мобильного приложения;
• создание сервера с базой данных для обеспечения связи между пользователями приложения;
• отладка и тестирование разработанного приложения.
Также при разработке мобильного приложения предполагается решение вспомогательных задач:
• синхронизация внешней базы данных со встроенной на устройстве пользователя базой, используемой для хранения данных конкретного пользователя;
• изучение особенностей программирования под выбранную мобильную платформу с использованием выбранной среды программирования.
В процессе выполнения выпускной квалификационной работы были проанализированы популярные мобильные платформы и, основываясь на их достоинства и недостатках, была выбрана мобильная платформа Android. После выбора операционной системы, для которой будет разрабатываться приложение, было принято решение использовать язык программирования Kotlin и среду разработки Android Studio, которые являются официальными инструментами для разработки приложений под ОС Android и наиболее подходят для достижения поставленной цели. Также были рассмотрены популярные системы-аналоги, к основному их достоинству можно отнести то, что они все имеют большое количество функциональных возможностей, однако это же можно отнести и к недостаткам, ведь для использования этих возможностей необходимо платить каждый месяц приличную сумму денег, что можно считать переплатой, если из всех функций нужно использовать только одну, еще одним недостатком является то, что эти аналоги не имеют русского языка интерфейса.
При проектировании системы были вдвинуты требования к мобильному приложению, поставлена цель, определены реализуемые функциональные возможности приложения. Была дана схема работы приложения с базами данных, разработан алгоритм их синхронизации, описана структура таблиц внешней базы MySQL. Также были представлены макеты пользовательского интерфейса для основных активностей (окон) приложения.
В итоге был создан базовый прототип мобильного приложения, который предназначен для назначения и контроля выполнения заданий сотрудниками предприятий, была произведена его отладка и тестирование.
Разработанное приложение может использоваться не только в составе автоматизированной системы управления предприятием, либо в качестве самостоятельной системы, но и для каких-либо личных целей, вне предприятия. В системе реализована возможность подключения и отключения модулей внутри предприятия, для наглядности были разработаны модули приоритета и комментариев. В будущем прототип может быть дополнен новыми модулями, например, прикрепление места на карте, отправка графических и звуковых файлов. Также возможным вариантом развития приложения является создание собственного сайта на сервере, где установлена база данных MySQL, либо разработка приложения под другие мобильные операционные системы.
Все требования были соблюдены, приложение имеет заявленные функциональные возможности, в работе были представлены снимки экранов основных разделов приложения. Все задачи, сформулированные перед началом выполнения работы, были решены, таким образом, поставленную цель можно считать достигнутой.
1) Статистика мобильных платформ за 2018 год. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступа http://gs.statcounter.com/os-market-share/mobile/worldwide/2018- Загл. С экрана.
2) Операционная система Android. [Электронный ресурс]. -
Электрон. Текстовые дан. - Режим доступа
https://ru.bmstu.wiki/Android (Операционные Системы)- Загл. С экрана.
3) Apple (Россия) - Официальный сайт. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступаhttps://www.apple.com/ru/- Загл. С экрана.
4) Операционная система iOS. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступаhttp://ru.bmstu.wiki/IOS- Загл. С экрана.
5) iOS 11 увеличила время автономной работы всех iPhone и iPad. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступа https://akket.com/iphone-ipad/59199-ios-11-uvelichila-vremya-avtonomnoj-raboty-vseh-iphone-i-ipad.html- Загл. С экрана.
6) ОС Windows Phone. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступаhttps://ru.wikipedia.org/wiki/Windows Phone- Загл. С экрана.
7) Касперский назвал Windows и Windows Phone самыми защищёнными системами. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступаhttps://4pda.ru/2015/06/11/226345/- Загл. С экрана.
8) Популярность версий ОС Android в 2018 году. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступа https://developer.android.com/about/dashboards/- Загл. С экрана.
9) JetBrains. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступа https://www.jetbrains.com/- Загл. С экрана.
10) ИспользованиеIntelliJ IDEA для разработки под ОС Android. [Электронный ресурс]. - Элетрон. Текстовые дан. - Режим доступа https: //www.j etbrains. com/help/idea/getting- started-with-android-development.html- Загл. С экрана.
11) Eclipse Foundation. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступаhttp://www.eclipse.org/- Загл. С экрана.
12) Среда разработки Eclipse. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступаhttps://ru.bmstu.wiki/Eclipse IDE- Загл. С экрана.
13) Аксенов К. В. Обзор современных средств для разработки мобильных приложений // Новые информационные технологии в автоматизированных системах. - 2014. - №17. - С. 508-513.
14) Oracle and Sun Microsystems. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступаhttps://www.oracle.com/ru/sun/index.html- Загл. С экрана.
15) Основные языки программирования для мобильного
разработчика. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступаhttps://www.pcweek.ru/mobile/article/detail.php?ID=175207 - Загл. С
экрана.
16) Dalvik. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступа https://ru.wikipedia.org/wiki/Dalvik- Загл. С экрана.
17) Язык программирования Kotlin. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступаhttps: //ru.wikipedia. org/wiki/Kotlin- Загл. С экрана.
18) Что такое XML. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступа https://msiter.ru/tutorials/uchebnik-xml-dlya- nachinayushchih/chto-takoe-xml- Загл. С экрана.
19) Приложение Jira. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступа,https: //ru. atlassian. com/software/j ira- Загл. С экрана.
20) Fog Creek Software. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступа http://www.fogcreek.com/- Загл. С экрана.
21) Приложение Trello. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступа,https://trello.com - Загл. С экрана.
22) Канбан. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступа https://ru.wikipedia.org/wiki/Канбан - Загл. С экрана.
23) Приложение Asana. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступа,https://asana.com/- Загл. С экрана.
24) Asana. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступа https://ru.wikipedia.org/wiki/Asana- Загл. С экрана.
25) SQLite vs MySQL vs PostgreSQL: сравнение систем управления базами данных. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступа http://devacademy.ru/posts/sqlite-vs-mysql-vs-postgresql/- Загл. С экрана.
26) PostgreSQL. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступаhttps://ru.wikipedia.org/wiki/PostgreSQL-Загл. С экрана.
27) TOPDB Top Database index. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступа https://pypl.github.io/DB.html- Загл. С экрана.
28) Оптимальный дизайн мобильного приложения. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступа https://habr.com/company/appodeal/blog/260095/- Загл. С экрана.
29) С.Бобровский. Проектирование пользовательского интерфейса Android // PC Week/RE. - 2011. - № 28. - С. 36.
30) Проектирование базы данных MySQL. [Электронный ресурс]. -
Электрон. Текстовые дан. - Режим доступа
http://addphp.ru/materials/mysql/1 3.php- Загл. С экрана.
31) Volley overview. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступаhttps://developer.android.com/training/volley/ - Загл. С экрана.
32) Android. Работа с JSON. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступаhttp://java-help.ru/android-json/- Загл. С экрана.
33) Создание и разбор данных формата JSON в PHP. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступа http://www.codeisart.ru/blog/creating-parsing-json-data-php/- Загл. С экрана.
34) RFC 5322 — Формат сообщений Internet (IMF) . [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступаhttps://rfc2.ru/5322.rfc- Загл. С экрана.
35) Что такое хостинг. [Электронный ресурс]. - Электрон. Текстовые дан. - Режим доступа https://firstvds.ru/technology/hosting- Загл. С экрана
36) Рейтинг российских хостингов в 2018 году. [Электронный ресурс]. - Режим доступаhttp://www.bestseoblog.ru/luchshie-xostingi-sajtov-rossii/-Загл. С экрана.