Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

ПРОЕКТИРОВАНИЕ СИСТЕМЫ

Содержание:

ВВЕДЕНИЕ

Современный человек ежедневно выполняет множество дел. Для эффективного использования своего времени необходимо заранее распланировать предстоящие дела. Органайзер времени - незаменимый атрибут успешного человека. Привычка записывать и планировать дела прочно укрепилась в нашей жизни, различные заметки и напоминания делает абсолютно каждый человек.

Ни для кого не секрет, что для успешного бизнеса крайне важно эффективно распределять свое время. Любая успешная компания уделяет особое внимание осуществлению планирования и организации работы сотрудников.

Для решения подобных задач существуют целые системы, позволяющие максимально оптимизировать работу фирмы. Это очень удобно и эффективно.

Однако, даже в повседневных, простых делах зачастую необходимо планировать собственное время - это позволяет максимально рационально решать задачи, благодаря чему остается больше времени на отдых. Также различные напоминания помогают не забыть выполнить какое-либо дело.

Именно поэтому на сегодняшний день так популярны различные сервисы для планирования времени - web-сервисы, десктопные программы и мобильные приложения.

В круговороте жизненных событий и дел зачастую можно забыть о запланированных совместно с кем-то делах, если подобные задачи не распределены в соответствующем сервисе.

Подводя итог вышесказанному, планирование дел является важной задачей каждого человека. К тому же, необходимо в любой момент иметь доступ к просмотру запланированных дел. В настоящее время практически каждый человек имеет смартфон, поэтому планировщик дел в виде мобильного приложения является лучшим выбором.

Целью работы является разработка мобильного приложения для устройств с ОС Android для планирования совместных мероприятий.

Следует определить основные задачи:

  • Анализ существующих систем, обладающих схожим функционалом;
  • Определение функционала приложения на основе анализа существующих систем;
  • Изучение и выбор средств для осуществления разработки мобильного приложения для ОС Android;
  • Проектирование разработки приложения;
  • Разработка приложения для планирования совместных дел.

ГЛАВА 1. ОБЩИЕ СВЕДЕНИЯ

1.1.Анализ предметной области

Каждый день люди планируют множество дел. Многие из них являются персональными, рассчитанные на задействование только одного человека - самого организатора. Однако, зачастую необходимо выполнять совместные дела. И для успешного выполнения такого дела очень важно распределить обязанности участников.

Существуют различные варианты сервисов, использование которых позволяет упростить и оптимизировать планирование совместных дел. Такие сервисы можно разделить на три категории:

  • Web-сервисы;
  • Десктопные приложения;
  • Мобильные приложения.

Следует подробнее рассмотреть каждую из перечисленных категорий.

Web-сервисы для совместного планирования

Такие сервисы представлены в виде сайтов и предоставляют большой функционал. Сотрудники компании могут назначать выполнения задач своим подчиненным, устанавливать сроки выполнения и наблюдать за прогрессом. Использование подобных сервисов существенно упрощает организацию работы фирмы и помогает лучше контролировать деятельность сотрудников.

Web-сервис «Мегаплан» является корпоративной CRM-системой и позиционирует себя как помощника в повышении продаж и планировании бизнеса через интернет. С помощью данного сервиса можно контролировать всю ежедневную работу компании: сотрудники записывают дела, решают задачи, следят за проектами, знакомятся с коллегами, общаются с клиентами, назначают встречи, заключают сделки, хранят документы, строят отчеты и находятся в курсе последних событий. [2]

Таким образом, с помощью описанного сервиса можно эффективно контролировать функционирование целой компании, что успешно осуществляют множество крупных компаний, таких, как, например, Avon, 2GIS, Rutube, ESET и другие.

Однако, в случае, когда необходимо организовать простые повседневные совместные дела, участие в которых будут принимать, например, члены семьи, нецелесообразно и неудобно использовать такую мощную систему. К тому же, данный сервис является бесплатным только в течении пробного 14-дневного периода. По истечении этого срока использование сервиса «Мегаплан» становится платным.

Существует также упрощенная бесплатная версия для личного использования - сервис «Миниплан» [3]. Однако данный web-сервис не предоставляет возможностей для совместного использования и предназначен для индивидуального планирования.

1.2.Десктопные приложения для совместного планирования

Данные приложения предназначены для использования на ПК. Они удобны тем, что, в отличие от, например, web-сервисов не зависят от подключения к сети Интернет и находятся на вашем компьютере, а не на сайте. Таким образом, в случае отсутствия доступа в сеть Интернет, не возникает проблем с планирования дел.

Однако, стоит отметить, что эта независимость также может вызвать неудобства - в случае неполадки компьютера или удаленности от рабочего места пользователь не сможет выполнять планирование.

Разумеется, не стоит забывать про облачную синхронизацию, позволяющую хранить необходимую вам информацию удаленно, благодаря которой ваши данные будут надежны сохранены, и при желании также возможно планирование совместных дел.

В качестве примера такой программы можно привести планировщик дел Wunderlist, доступное для ОС Windows и Mac OS X. Данное приложение также доступно также в варианте Web-сервиса, а также мобильного приложения для операционных систем iOS, Android и Windows Phone. Планировщик Wunderlist является очень удобным и эффективным способом для распределения повседневных задач. Программа предоставляет большой функционал для управления делами, а также позволяет приглашать пользователей к выполнению дел, организуя совместную работу [4].

Огромным плюсом данного приложения является то, что основной функционал программы доступен бесплатно. Существует также Pro-версия для пользователей, желающих организовать работу компании.

Благодаря большим возможностям программа позволяет в полной мере осуществлять планирование совместных семейных дел. Однако, из-за обилия настроек она становится несколько сложной в использовании - некоторые функции программы могут вызвать затруднение, и, таким образом, проблемы в использовании.

Существуют приложения более простые и понятные для обычного пользователя. Примером такого планировщика является приложение 2Do (iOS, Android, клиент для Mac). Данное приложение весьма удобно в использовании. Однако, оно не рассчитано на совместное планирование и предназначено только для индивидуального использования [5].

1.3.Мобильные приложения для совместного планирования

На сегодняшний день, пожалуй, каждый человек имеет мобильный телефон. Неотъемлемой частью использования смартфона является работа с мобильными приложениями. Данные программы делятся на множество категорий и позволяют пользователю выполнять различные действия. Существуют приложения для заказа еды или такси, для общения, для покупок техники, вещей, билетов, бронирования отелей - этот список можно продолжать очень долго и, скорее всего, он все равно будет неполным, поскольку приложений просто колоссальное количество, и их функционал разнообразен.

Человек ежедневно контактирует с множеством других людей и ему просто необходимо постоянно «быть на связи». Именно для решения подобных задач и используются мобильные приложения. Невозможно обойтись без приложений, позволяющих легко общаться - переписываться, звонить, что-то планировать, совершать покупки и прочее.

Существуют различные мобильные приложения для планирования задач. Достаточно распространенное и популярное приложение, позволяющее эффективно управлять своим временем - приложение Todoist.

Данное приложение позволяет осуществлять планировку дел, предоставляя основную часть функционала бесплатно. Существует также Премиум-версия с расширенным функционалом, для организации работы компании без ограничений.

Бесплатная версия предоставляет возможность полноценно использовать все возможности для эффективного планирования, а также позволяет осуществлять совместное планирование. [6]

Однако, из-за большого функционала данного приложения пользователь может испытать некоторые трудности в том случае, если впервые сталкивается с данными программами. Разумеется, приложение Todoist является очень удобным и функциональным, поэтому можно с уверенностью сказать, что пользователь данного приложения достаточно быстро привыкнет к данной программе и будет успешно использовать ее.

Не смотря на это, велика вероятность того, что многие функции данного приложения не будут востребованы в планировании простых, повседневных совместных дел.

Подводя итог, следует отметить, что разрабатываемое приложение следует сделать максимально простым в использовании. Приложение должно предоставлять возможности для удобного и эффективного планирования совместных дел.

1.4.Выбор операционной системы

В настоящее время существуют следующие операционные системы мобильных устройств:

  • Windows Phone;
  • Apple iOS;
  • Android;
  • Symbian;
  • Blackberry OS.

На сегодняшний день самыми популярными и востребованными системами являются Windows Phone, Apple IOS и Android, поэтому данные системы следует рассмотреть подробнее.

Операционная система Windows Phone

Данная операционная система разработана компанией Microsoft, являющейся лидером на мировом рынке производства операционных систем. Операционная система Windows является самой распространенной операционной системой для ПК. Именно поэтому Windows Phone, операционная система для мобильных устройств, очень похожая на настольную версию, получила широкое распространение и огромный спрос.

Однако, с каждым годом интерес пользователей к данной системе становится все меньше. Это связано с достаточно высокой стоимостью устройств, использующих Windows Phone, а также их небольшим количеством. Лидирующими мобильными операционными системами на сегодняшний день являются системы iOS и Android.

Операционная система Apple iOS

Система iOS компании Apple очень популярна на сегодняшний день. Она является очень стабильной, «дружелюбной» и защищенной системой. Но, к сожалению, в некотором роде защищенной и от разработчиков. Дело в том, что аккаунт разработчика с возможностью размещения своихприложений в магазине приложений AppStore весьма дорогое удовольствие - его необходимо ежегодно оплачивать.

Также следует отметить, что выбор устройств, использующих данную систему, достаточно невелик - только устройства компании Apple. Однако, данная система и устройства, ее использующие, очень популярны и востребованы, а по некоторым исследованиям операционная система iOS является самой популярной на сегодняшний день. [7]

Операционная система Android

Операционная система Android является достаточно молодой, однако данная система весьма распространена и является очень популярной.

Популярность данной системы обусловлена тем, что большинство устройств на мировом рынке используют именно ее. Также эти устройства являются более бюджетными, в сравнении с продукцией Apple на операционной системе iOS.

Помимо огромного выбора устройств, существуют также множество вариантов самой операционной системы, поскольку ее исходный код находится в открытом доступе. Система Android предоставляет большое количество API для разработчиков, что существенно помогает при разработке мобильных приложений для устройств, использующих эту операционную систему.

Данная система является серьезным конкурентом iOS и по некоторым исследованиям является самой популярной системой - по данным Mail.ru Group, топ мобильных платформ устройств, с которых пользователи посещают веб, выглядит следующим образом:

  • Android (55% пользователей);
  • iOS (26% пользователей);
  • Windows Phone (3% пользователей);
  • Другие операционные системы (16% пользователей). [8]

16Подводя итог, можно сделать вывод, что разработка приложения для операционной системы Android является оптимальным решением.

1.5.Выбор среды разработки

Существуют различные среды разработки, позволяющие разрабатывать приложения для устройств, использующий операционную систему Android.

Однако, самыми популярными являются следующие IDE:

  • Microsoft Xamarin;
  • Eclipse;
  • Android Studio.

Следует рассмотреть данные среды разработки подробнее.

Среда разработки Microsoft Xamarin

Среда разработки Microsoft Xamarin является мощным средством для разработки приложений для устройств с лидирующими на рынке операционными системами - iOS, Android и Windows Phone. Данная среда является бесплатной и доступна составе Microsoft Visual Studio.

Используя Xamarin разработчики могут создавать кроссплатформенные приложения для различных платформ - iOS, Android, Windows и Mac. Разработка приложений выполняется на языке C# с использованием . NET. Программа позволяет создать единый пользовательский интерфейс для всех платформ, используя инструмент Xamarin.Forms. [9]

Среда разработки Eclipse

Eclipse является интегрированной средой разработки, позволяющей подключать дополнения, использование которых позволяет значительно расширить функционал данной программы. IDE является кроссплатформенной - она работает под операционными системами Linux, Windows, Mac OS X и Solaris.

Данная среда разработки очень популярна, а также бесплатна. Огромное количество разработчиков используют IDE Eclipse для создания различных приложений на языках Java, C, C++, PHP, Perl, Python и других. [10]

Многие программисты выполняют разработку мобильных приложений для ОС Android в среде Eclipse.

Однако, данная среда разработки не ориентирована именно на создание мобильных приложений Android, что является как плюсом, так и минусом.

С одной стороны, то, что IDE Eclipse позволяет создавать разнообразные продукты, очень удобно. Данная среда разработки успешно применяется для огромного количества самых разнообразных задач.

С другой стороны, при разработке приложений Android из-за гибкости Eclipse возникает ряд неудобств, в сравнении со средой разработки, ориентированной исключительно на создание данных приложений. К таким неудобствам можно отнести, например, необходимость самостоятельно дополнительно устанавливать эмулятор устройства с ОС Android, необходимого для тестирования разрабатываемого приложения без использования реального устройства.

Среда разработки Android Studio

Среда разработки Android Studio является весьма молодой средой разработки. Но, безусловно, данная IDE весьма перспективна и востребована. К тому же, она бесплатна. Данный продукт создан компанией Google специально для осуществления разработки мобильных приложений на языке Java для операционной системы Android, также являющейся их разработкой. Среда разработки Android Studio является кроссплатформенной и разработана на основе IntelliJ IDEA.

IDE Android Studio, как уже было сказано, предназначена именно для разработки приложений на ОС Android, ориентирована исключительно на данную систему, а потому достаточно удобна, понятна и функциональна. Некоторые специалисты считают, что данная среда разработки имеет ряд недоработок, которые необходимо исправить. Но даже они признают, что IDE Android Studio весьма конкурентоспособна. [11]

Среда разработки Android Studio имеет ряд преимуществ, таких как, например:

  • Превью отображение изменений при редактировании xml;
  • Возможность создания шаблонных активностей;
  • Улучшенный интеллектуальный анализ кода;
  • Полноценный режим отладки и улучшенное добавление точек остановки. [12]

Принимая во внимание перечисленные преимущества, а также тот факт, что разрабатываемое приложение предназначено для мобильных устройств, использующих операционную систему Android, логичным будет выбрать данную среду разработки, поскольку она ориентирована на создание программ именно для системы Android и, к тому же, создана компанией- производителем данной операционной системы.

1.6. Описание языка программирования Java

Для создания мобильного приложения выбрана IDE Android Studio. Языком разработки является Java. Java является объектно-ориентированным языком программирования. Программы на Java транслируются в байт-код, затем выполняется обработка данного кода виртуальной машиной Java и передача инструкции оборудованию как интерпретатор.

При описанном способе выполнения программ байт-код является полностью независимым от операционной системы и оборудования, что позволяет выполнять Java-приложения на любом устройстве, для которого существует соответствующая виртуальная машина.

Другой важной особенностью является гибкость системы безопасности. Это достигается благодаря тому, что исполнение программы полностью контролируется виртуальной машиной. Любые операции, превышающие установленные полномочия (к таким операциям можно отнести, например, попытку несанкционированного доступа к данным или соединения с другим компьютером) вызывают немедленное прерывание.

Также следует заметить, что в Java используются практически идентичные с языками программирования C/C++ соглашения для объявления переменных, передачи параметров и операторов. [13]

Android Software Development Kit (SDK) содержит множество утилит и инструментов для разработки и тестирования приложений. SDK Android поддерживает основную часть возможностей стандартной среды выполнения Java (Java Runtime Environment - JRE).

Большинство API для Java, ориентированных на XML доступны в Android. В качестве примера можно привести такие API как объектная модель документов (Document Object Model - DOM) и простой Java API для XML (Java’s Simple API for XML - SAX), которые уже не первый год являются важной частью технологии Java. Достаточно новый потоковый API (Streaming API for XML - StAX) не поддерживается в Android, однако в состав Android входит библиотека, являющейся альтернативой. [14]

ГЛАВА 2. ПРОЕКТИРОВАНИЕ СИСТЕМЫ

2.1.Описание логической структуры

Для описания логической структуры программы разработаны Usecase диаграммы, наглядно позволяющие описать работу пользователя с приложением.

Рисунок 1 - Usecase диаграмма работы с профилем пользователя.

Usecase диаграмма работы пользователя с профилем представлена на рис.1. Пользователь может редактировать профиль и список своих друзей. При удалении пользователя из друзей, данный пользователь также будет исключен из участия в мероприятиях удалившего его пользователя. Все назначенные ему дела также будут удалены.

Usecase диаграмма работы пользователя с совместными мероприятиями представлена на рис.2. Пользователь может создать новое совместное мероприятие или участвовать в уже созданном, в которое его добавил организатор. Пользователь может покинуть совместное мероприятие, при этом будут удалены все назначенные ему дела.

Рисунок 2 - Usecase диаграмма работы с совместными мероприятиями.

Usecase диаграммы работы пользователя с созданным совместным мероприятием представлена на рис.3. Организатор мероприятия управляет совместным делом: назначает, редактирует и удаляет повседневные дела и следит за их исполнением. Доступно также редактирование участников мероприятия - организатор может добавить участника, либо исключить.

Организатор может удалить мероприятия, также удалив назначенные дела и исключив участников.

Рисунок 3 - Usecase диаграмма работы организатора с созданным мероприятием.

2.2. Архитектура приложения

Данная программа является клиент-серверным приложением (рис.4). Клиент (мобильное приложение на ОС Android) отправляет HTTP запрос серверу, который обрабатывает его и возвращает клиенту данные.

Рисунок 4 - Архитектура приложения.

Более подробно алгоритм работы можно описать следующим образом:

  • Клиент посылает HTTP GET запрос с параметрами;
  • Сервер принимает запрос и запускает указанный PHP-скрипт на выполнение;
  • В процессе выполнения PHP-скрипта параметры, полученные от клиента, подставляются в SQL-запрос;
  • Из PHP-скрипта SQL-запрос передается серверу СУБД MySQL;
  • Набор данных, полученный в результате выполнения SQL- запроса, возвращается вызывающему PHP-скрипту;

  • PHP-скрипт использует полученные из БД данные для динамического формирования web-страницы и возвращает ее web-сервису, который отдает ее клиенту. [15]

2.3.Хранение данных

База данных приложения «Easyday» состоит из следующих таблиц таблиц: Events, CalendarEvents, Users, Members, Friends, PersonalCalendar.

Таблица Events (рис. 5) содержит в себе информацию о всех совместных делах:

  • Id - идентификатор совместного дела;
  • Name - название совместного дела;
  • Description - описание совместного дела;
  • Avatar - название файла изображения, являющегося аватаром совместного дела;
  • Id_creator_user - идентификатор пользователя, создавшего задание. Этот пользователь управляет данным заданием;
  • Start_date - дата начала совместного дела;
  • End date - дата окончания совместного дела.

Рисунок 5 - Таблица Events.

Таблица Users (рис. 6) содержит информацию о всех зарегистрированных пользователях:

• Id - идентификатор пользователя;

  • Email - email пользователя. По нему происходит поиск пользователей другими пользователями;
  • Login - имя пользователя, отображаемое в профиле, а также другим пользователям;
  • Password - пароль для идентификации пользователя в системе;
  • Avatar - название файла изображения, являющегося аватаром пользователя.

Рисунок 6 - Таблица Users.

Таблица CalendarEvents (рис. 7) содержит в себе информацию о всех запланированных коллективных делах. В данном случае имеются конкретные экземпляры дел, имеющих временные рамки выполнения и исполнителей:

  • Id - идентификатор дела;
  • Id_event - идентификатор совместного дела;
  • Id_user - идентификатор пользователя, выполняющего данное

дело;

  • Start_date - дата и время начала дела;
  • End_date - дата и время окончания дела;
  • Message - сообщение или комментарий исполнителям дела;
  • Done - выполнено дело или нет.

Рисунок 7 - Таблица CalendarEvents.

Таблица Members (рис. 8) содержит в себе участников совместного

дела:

  • Id - идентификатор;
  • Id_event - идентификатор совместного дела;
  • Id_user - идентификатор пользователя, участвующего в данном совместном деле.

Рисунок 8 - Таблица Members.

Таблица PersonalCalendar (рис. 9) содержит в себе личный календарь пользователя:

  • Id - идентификатор записи;
  • Id_user - идентификатор пользователя;
  • Name - название дела;
  • Description - описание дела;
  • Start_date - время и дата начала дела;

• End_date - время и дата окончания дела.

Рисунок 9 - Таблица PersonalCalendar.

Рисунок 10 - Таблица Friends.

Рисунок 11 - Схема данных.

Таблица Friends (рис. 10) содержит в себе информацию о дружественных связях (списке друзей пользователя):

  • Id - идентификатор записи;
  • Id_user1 - идентификатор первого пользователя;
  • Id_user2 - идентификатор второго пользователя.

ГЛАВА 3. ОПИСАНИЕ РАБОТЫ ПРИЛОЖЕНИЯ

3.1.Функционал приложения

Приложение «Easyday» предоставляет пользователям возможность совместного планирования. Реализовано удобное использование приложения для успешного планирования коллективных мероприятий.

Данное приложение ориентировано на небольшие группы людей и организацию простых повседневных дел, например, семейных. Основной функцией приложения является возможность создания коллективных мероприятий, включающих в себя производные от них дела, имеющие исполнителей и срок выполнения. Такие дела являются повседневными и зачастую регулярными.

Таким образом, приложение «Easyday» выполняет следующие функции:

  • Добавление, редактирование и удаление совместных дел;
  • Добавление, редактирование и исключение участников из мероприятия;
  • Добавление, редактирование и удаление повседневных дел, являющихся производными делами от совместного мероприятия;
  • Отображение назначенных пользователю дел в его календаре, а также возможность отметки выполнения конкретного дела.
  • Добавление личных дел в свой персональный календарь;
  • Поиск пользователей.

Для удобства пользователя добавление участников мероприятия возможно только из списка друзей. Данное решение позволяет быстрый доступ к списку пользователей.

Поиск пользователя в системе производится по его email адресу, который является уникальным и используется при регистрации и авторизации.

Для удобного использования программы реализовано запоминание данных авторизации. Таким образом, пользователь освобожден от необходимости постоянного ввода своих данных и быстрее получает доступ к приложению.

3.2.Установка приложения

Для установки приложения «Easyday» необходимо устройство с ОС Android версией от 5.0 и установочный файл «Easyday.apk».

В данный момент происходит тестирование приложения ограниченной группой пользователей. По завершении тестирования, будет выполнено исправление ошибок, если таковые будут обнаружены.

В результате будет получена стабильная версия программы, которую уже можно будет загрузить в магазин приложений PlayMarket.

3.3.Работа с приложением

Авторизация

.

Рисунок 12 - Экран авторизации.

Регистрация

Экран регистрации пользователя представлен на рис. 13. Для успешной регистрации пользователю необходимо указать email, логин и пароль. Пароль необходимо ввести дважды, что позволяет исключить случайную ошибку пользователя. По своему желанию пользователь может установить аватар. После успешной регистрации будет автоматически совершен вход в систему с зарегистрированного аккаунта.

Рисунок 13 - Экран регистрации.

Календарь запланированных дел

Первое, что видит пользователь после входа в систему — это календарь, с указанием совместных дел, назначенных ему для выполнения. На рис. 14 представлен данный экран. Пользователь может отметить выполнение назначенного дела, поставив галочку напротив выбранного дела. Также возможно отменить выполнение дела, сняв галочку в случае, если выполнение было отмечено случайно. Следует уточнить, что в данном случае

подразумеваются производные повседневные дела (подзадачи). Возможность работы с выполнением дел доступна только для текущего дня - все события, имеющие дату выполнения более раннюю или позднюю доступны только для просмотра.

.

Рисунок 14 - Экран запланированных дел.

Навигация по приложению

Рисунок 15. Экран меню

Совместные мероприятия

На экране совместных мероприятий на рис. 16 расположены все мероприятия, в которых участвует пользователь. Для каждого дела указана следующая информация - сроки действия и статус («Активно» или «Запланировано), статус пользователя («Участник» или «Создатель»), а также аватар дела (стандартный, или установленное организатором фото).

Рисунок 16 - Экран совместных мероприятий.

Для перехода к просмотру мероприятия и запланированных в нем дел необходимо нажать на выбранное дело. Экран мероприятия представлен на рис. 17.

Рисунок 17 - Экран мероприятия.

Для добавления нового мероприятия необходимо нажать на кнопку в верхней части экрана (рис. 16).

Экран добавления нового мероприятия представлен на рис. 18. Пользователь должен заполнить следующие данные: даты начала и окончания мероприятия и его название. По желанию пользователь может добавить аватар и описание мероприятия.

Рисунок 18 - Экран добавления мероприятия.

После добавления мероприятия пользователь автоматически перейдет на экран мероприятия (рис. 17). Следует отметить, что редактирование и удаление мероприятия, а также управление участниками и назначение дел доступны только для создателя мероприятия.

После создания мероприятия пользователь может добавить других участников, если это необходимо. Для этого необходимо нажать на значок редактирования участников на рис. 17.

На новом экране пользователь видит две таблицы: «Участники» и «Остальные друзья», (рис. 19). Для добавления пользователя к участникам мероприятия необходимо нажать на соответствующее имя. Также, для исключения пользователя из мероприятия следует нажать на имя выбранного пользователя. Выбранный пользователь будет перемещен в соответствующую таблицу.

Следует отметить, что при исключении пользователя из мероприятия, удаляются также дела, исполнителем которых он назначен. При исключении пользователя программа покажет соответствующее предупреждение.

Рисунок 19 - Экран редактирования участников мероприятия.

Для редактирования совместного мероприятия необходимо нажать значок редактирования на рис.17.

Редактирование выполняется аналогично добавление мероприятия. Различие состоит только в том, что при редактировании поля будут заполнены текущими данными (рис. 18). При редактировании невозможно изменить дату начала мероприятия, а при изменении даты окончания на более раннюю будут удалены производные дела, назначенные на более позднюю дату. Программа предупредит пользователя об этом перед сохранением. Для сохранения изменений необходимо нажать кнопку «Сохранить».

Удаление совместных мероприятий

Для удаления совместного мероприятия необходимо нажать на значок удаления на рис. 17 в верхней части экрана. После подтверждения выбранное мероприятие будет удалено. Также будут удалены производные дела и все участники.

Для пользователей со статусом «Участник» данная кнопка служит для отказа участия в мероприятии. После того как пользователь покинет мероприятие, все назначенные ему дела будут также удалены.

Повседневные дела совместных мероприятий

На экране мероприятия (рис. 17) отображаются все повседневные дела, назначенные участникам. В каждом запланированном деле указана следующая информация: дата и время, исполнитель, отметка о выполнении, сообщение и аватар совместного дела. Следует отметить, что выполнение дела может отметить только исполнитель, в своем календаре.

Для добавления нового повседневного дела следует нажать на значок добавления на рис.17. На экране добавления повседневного дела (рис. 20) необходимо указать дату, время и исполнителя дела. Также, при желании, можно добавить сообщение исполнителю.

Если данное дело необходимо повторять через регулярны промежутки времени следует отметить галочкой поле «Необходимо повторение». После этого на экране появится поля выбора частоты повторения и дату, до которой следует повторять данное дело.

Следует отметить, что нельзя установить дату окончания повторения позднее даты окончания совместного мероприятия.

Рисунок 20 - Экран добавления повседневного дела.

Редактирование повседневных дел совместных мероприятий. Для редактирования повседневного дела необходимо нажать на значок редактирования на форме дела (рис. 17). Редактирование выполняется аналогично добавлению (рис. 20), только поля будут заполнены текущими значениями. Организатор может изменить время и дату дела, а также исполнителя и сообщение.

Удаление повседневных дел совместных мероприятий

Для удаления повседневного дела следует нажать на значок удаления на форме дела (рис. 17). После подтверждения выбранное дело будет удалено.

Календарь личных дел

Для удобства пользователя реализована возможность добавления личных дел в персональный календарь. Экран календаря личных дел представлен на рис.21. Данные дела недоступны для других пользователей.

Рисунок 21 - Экран календаря личных дел.

Для добавления нового дела необходимо нажать на значок добавления на рис. 21. После заполнения данных - названия, даты и времени, описания, если это необходимо следует нажать кнопку «Сохранить». После этого новое дело будет указано в личном календаре.

Профиль пользователя

На экране профиля пользователя (рис. 22) отображена информация профиля: логин, email и аватар. Также на данном экране выводится список друзей пользователя с информацией о них - логин, email и аватар.

Рисунок 22 - Экран профиля пользователя.

Редактирование профиля

Для редактирования профиля пользователю нужно нажать на значок редактирования на рис.22. В новом окне пользователь сможет сменить email, логин, пароль или аватар, (рис. 23). Для сохранения изменений необходимо ввести пароль профиля. В случае некорректного ввода пароля невозможно сохранить изменения.

Таким образом исключено случайное редактирование.

Рисунок 23 - Экран редактирования профиля.

Добавление друзей

Для добавления друзей необходимо нажать на значок добавления на рис. 22. В новом окне пользователю нужно указать email пользователя и нажать на значок поиска. В случае, если пользователь с таким email зарегистрирован будет указана информация о нем - логин и аватар, (рис. 24). Если данный пользователь уже есть в друзьях, программа сообщит об этом и кнопка «Добавить» останется неактивной.

При нажатии на кнопку «Добавить» выбранный пользователь будет добавлен в друзья.

Рисунок 24 - Экран добавления друзей.

Удаление друзей

Для удаления пользователя из друзей необходимо нажать на значок удаления на форме пользователя на рис. 22. При удалении пользователя из друзей он также будет исключен из участия в ваших совместных мероприятиях, а все дела, назначенные ему, будут удалены.

После подтверждения действия пользователь будет удален.

ЗАКЛЮЧЕНИЕ

На сегодняшний день планирование повседневных дел является важной задачей для каждого человека. Ведь только при эффективном распределении своего времени можно достичь желаемых успехов. Не существует проблемы нехватки времени - все дело в неправильном его распределении.

Для решения данной проблемы существует множество различных сервисов. Наиболее удобной версией таких программ являются мобильные приложения, поскольку практически каждый человек пользуется смартфоном, причем постоянно имея его при себе. Вполне понятно, почему такие приложения пользуются большим спросом.

Смартфоны с операционной системой Android являются наиболее популярными, а также доступными устройствами на сегодняшний день. Многие производители мобильных устройств используют именно эту систему, поэтому выбор устройств на данной ОС достаточно велик.

Именно поэтому целью работы была выбрана разработка мобильного приложения для устройств с ОС Android для планирования совместных дел.

В качестве среды разработки была выбрана IDE Android Studio, поскольку она предоставляет множество инструментов для разработки, и, к тому же, ориентирована исключительно на создание приложений для устройств с ОС Android. Разработка выполнялась на языке программирования Java.

Подводя итог, следует отметить, что все поставленные задачи были выполнены, а цель достигнута. Таким образом, было разработано мобильное приложение для совместного планирования для устройств с ОС Android.

СПИСОК ЛИТЕРАТУРЫ:

  1. Архангельский, А.Я. Язык Pascal и основы программирования в Delphi / А.Я. Архангельский. - М.: Бином-Пресс, 2008. - 496 c.
  2. Ашарина, И.В. Основы программирования на языках С и С++: Курс лекций для высших учебных заведений / И.В. Ашарина. - М.: ГЛТ, 2012. - 208 c.
  3. Богачев, К.Ю. Основы параллельного программирования / К.Ю. Богачев. - М.: Бином, 2015. - 342 c.
  4. Воскобойников, Ю.Е. Основы вычислений и программирования в пакете MathCAD PRIME: Учебное пособие / Ю.Е. Воскобойников и др. - СПб.: Лань, 2016. - 224 c.
  5. Воскобойников, Ю.Е. Основы вычислений и программирования в пакете MathCAD PRIME: Учебное пособие / Ю.Е. Воскобойников, А.Ф. Задорожный. - СПб.: Лань, 2018. - 224 c.
  6. Гавриков, М.М. Теоретические основы разработки и реализации языков программирования / М.М. Гавриков, А.Н. Иванченко. - М.: КноРус, 2018. - 207 c.
  7. Голицына, О.Л. Основы алгоритмизации и программирования: Учебное пособи / О.Л. Голицына, И.И. Попов. - М.: Форум, 2013. - 205 c.
  8. Гулиа, Н.В. Основы вычислений и программирования в пакете MathCAD PRIME: Учебное пособие / Н.В. Гулиа, В.Г. Клоков, С.А. Юрков. - СПб.: Лань, 2016. - 224 c.
  9. Гуриков, С.Р. Основы алгоритмизации и программирования на Python: Учебное пособие / С.Р. Гуриков. - М.: Форум, 2018. - 384 c.
  10. Дакатт, Дж. Основы веб-программирования с использованием HTML, XHTML и CSS / Дж. Дакатт. - М.: Эксмо, 2010. - 768 c.
  11. Дорогов, В.Г. Основы программирования на языке С: Учебное пособие / В.Г. Дорогов, Е.Г. Дорогова. - М.: Форум, 2015. - 320 c.
  12. Зыков, С.В. Основы современного программирования. Разработка гетерогенных систем в Интернет-ориентированной среде: Учебное пособие / С.В. Зыков. - М.: ГЛТ, 2012. - 444 c.
  13. Карпов, Ю. Теория и технология программирования. Основы построения трансляторов / Ю. Карпов. - СПб.: BHV, 2012. - 272 c.