1. ВВЕДЕНИЕ 6
2. ЦЕЛЬ И ПОСТАНОВКА ЗАДАЧИ 9
3. ОБЗОР СУЩЕСТВУЮЩИХ ПРОДУКТОВ 10
3.1. iStodo 10
3.2. Timetable 12
3.3. Выводы и идеи 13
4. ОБЗОР ПЛАТФОРМЫ MICRISOFT AZURE 14
4.1. Развитие концепций облачных вычислений: модели обслуживания . 14
4.2. Мобильные сервисы Windows Azure 17
5. СПЕЦИФИКАЦИЯ ПРИЛОЖЕНИЯ 19
5.1 Серверная часть 19
5.2 Клиентское приложение 20
5.2.1 Главное модуль 20
5.2.2 Модуль регистрации пользователя 21
5.2.3 Модуль расписания 21
5.2.4 Модуль добавления нового элемента расписания 21
5.2.5 Модуль редактирование элемента расписания 21
5.2.6 Модуль добавления нового элемента времени 22
5.2.7 Модуль задач для элемента расписания 22
5.2.8 Модуль всех задач 22
5.2.9 Модуль новой задачи 22
5.2.10 Модуль краткосрочных задач 22
5.2.11 Модуль долговременных задач 23
5.2.10 Модуль нового уведомлений 23
6. ОПИСАНИЕ РЕАЛИЗАЦИИ 25
6.1. Авторизация пользователей по учетной записи Google с
КЭШИРОВАНИЕМ ТОКЕНА АВТОРИЗАЦИИ 25
6.1.1 Серверная часть 25
6.1.2 Клиентская часть 26
6.2. Регистрация пользователей по университету и факультету 28
6.2.1 Работа с таблицами базы данных SQL Azure 28
6.2.2 Детали конкретной реализации 31
6.3 Автономная работа и синхронизация 32
6.3.1 Инициализация локального хранилища 33
6.3.2 Синхронизация 33
6.4 УПРАВЛЕНИЕ РАСПИСАНИЕМ 34
6.4.1 На стороне клиентского приложения 35
6.5 УПРАВЛЕНИЯ ЗАДАЧАМИ ДЛЯ ЭЛЕМЕНТОВ РАСПИСАНИЯ 37
6.5.1 На стороне клиента 38
6.6 УРОВЕНЬ ДОСТУПА К ТАБЛИЦАМ 39
6.6.1 Фильтрация результатов запроса к таблице для разных
пользователей 40
6.7 Информирование пользователя о выполнении запроса к серверу 41
6.8 ПРИВЕДЕНИЕ БАЗЫ ДАННЫХ К НОРМАЛЬНОЙ ФОРМЕ 42
6.9 УПРАВЛЕНИЕ ДОЛГОВРЕМЕННЫМИ ЗАДАЧАМИ 45
6.9.1 На стороне клиентского приложения 45
6.10 УВЕДОМЛЕНИЯ 47
7. ОПИСАНИЕ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА 48
8. ЗАКЛЮЧЕНИЕ 59
8.1 Результаты 59
8.2 Дальнейшая работа 60
СПИСОК ЛИТЕРАТУРЫ 61
Жизнь современного студента часто является очень насыщенной. И что естественно, большую часть его жизни занимает учебная и научная деятельность: посещение лекций и семинаров, выполнение домашних заданий, подготовка докладов и рефератов, написание курсовых работ. Также нужно не забыть о «контрольных» точках, днях, когда планируются промежуточные тесты, контрольные или коллоквиумы. А если к этому прибавить то, что многие студенты хотят быть активными помимо учебы сразу во многих областях жизни: заниматься любимым делом, интересно проводить свободное время, общаться с любимым человеком, поддерживать отношения с друзьями, то держать все в голове становится невозможно или, по крайней мере, очень проблематично.
Стремление успеть множество дел в ограниченное время иногда приводит к тому, что, погружаясь в какое-то одно дело или область, легко забыть о других. Возникают такие ситуации как пропущенные дедлайны, осознание того, что завтра контрольная работа или тест, а готовиться уже поздно. Автор данной работы и сам, будучи представителем студентов, сталкивался с такими ситуациями. Память нередко подводит студента, и это неудивительно, ведь ему приходится держать в голове довольно большой объем информации, который постоянно растет в процессе обучения. Возникает вопрос: как распланировать свою учебную деятельность заранее и не забыть об этом в последствие?
Естественным решением на первый взгляд является ведение блокнота или ежедневника с записями важной информации. То есть фиксировать информацию на бумажных носителях. Но такой подход имеет ряд недостатков и ограничений.
Во-первых, используя такой вид ежедневника, мы получаем серьезное ограничение в редактировании наших записей. Возможные зачеркивания, переписывания и стирания записей вносят хаос и занимают много времени.
Во-вторых, классификация, сортировка и поиск информации вносят еще больше неудобств. Кроме того, взяв в руки блокнот, мы не можем сразу понять, что же нас ожидает в ближайшее время и чем нам сейчас лучше заняться. И ростом активных задач время, затрачиваемое на это, растет более чем линейно. А если вспомнить, что разные дела имеют разную важность и полезность, то есть приоритет, то принятие решения на что лучше сейчас потратить свое время, начинает занимать значительное количество этого самого времени.
Поняв эти недостатки бумажных ежедневников, как средства планирования деятельности, логично обратить внимание на возможности персональных компьютеров, позволяющие выполнять все эти операции более эффективно. Они позволяют не только группировать дела, но и быстро сортировать их по какому-либо признаку, редактировать не только название дел, но и их атрибуты, указывать приоритет, выполнять быстрый поиск дел и распределять их по календарю.
Но у компьютерных органайзеров есть один существенный недостаток — их нужно устанавливать на каждый компьютер, за которым работает человек (дома, на работе, на ноутбуке...) и постоянно переносить данные о своих делах с одного компьютера на другой.
С развитием Интернета появилась возможность создать органайзер на одном сервере и хранить на нем данные большого количества пользователей, а доступ можно получить с любого устройства, подключенного к Интернету (компьютер, КПК, планшет, телефон.). И этот подход не имеет недостатков, которые были у предыдущих претендентов, и кажется наиболее оптимальным.
Кроме того, если у нас будет мобильный клиент для телефона, то получаем большую мобильность. Ведь телефон всегда с нами, его легко достать в любом месте, в отличие от ноутбука или ежедневника, и нет необходимости носить с собой что-то еще.
Имея в распоряжении такой инструмент планирования, студент сможет повысить эффективность своей учебной деятельности за счет концентрации на фактическом выполнении дел, а не траты своего времени на их постоянное повторяющееся обдумывание. Так же исключаются вероятность того, что он забудет важное или срочное дело. Но это требует дисциплинированности, т.к. нужно материализовывать всю информацию и постоянно ее актуализировать.
С учетом стиля жизни современного студента, ему необходим компактный и удобный инструмент планирования его учебной и научной деятельности, который будет всегда под рукой.
Тема данной работы была выбрана с учетом актуальности проблемы планирования студентами своей учебной деятельности. В работе рассматриваются популярные программные продукты, предназначенные для управления списком дел и событий с возможностью хранения данных на удаленных ресурсах с доступом посредством разнообразных типов устройств. Производится изучение современных облачных сервисов, их возможностей хранения, доступа и обработки данных. Результатом исследований является практическая разработка облачной базы данных, обрабатывающий ее мобильный сервис и связанное с ним мобильное приложение, позволяющее студенту вести учет и планирование учебной и научной деятельности.
В результате работы разработано и реализовано приложение, которое позволяет пользователю вести расписание учебных занятий, учет поставленных задач и быть уверенным в сохранности своих данных. Исходный код приложения клиента[14] и сервера[15] доступен в публичном репозитории на GitHub.
Приложение позволяет:
• Выполнять авторизацию и аутентификацию с помощью учетной записи Google
• Управлять расписанием
• Управлять задачами для элементов расписания
• Управлять древовидной структурой долговременных задач
• Назначать и получать напоминания
• Хранить данные в облачной структуре
• Работать автономно
Далее указаны использованные в процессе реализации приложения языки программирования и разметки, а также соответствующее число строк кода:
• Java - 3264
• XML - 693
• Javascript -263
Приложение удовлетворяет требованиям и критериям, предъявленным к нему на этапе постановки задачи. К сожалению, не удалось реализовать весь планируемый функционал, такой как: полная функциональность уведомлений от приложения о необходимости выполнения той или иной задачи. Это связано со следующими факторами:
• Ограниченность автора по времени
• Новизна платформы и как следствие частые обновления
• Замена компоненты Azure Mobile Services на Azure Mobile Apps
• Недостаточная документация новой платформы
• Большие временные затраты на изучение платформы
8.2 Дальнейшая работа
Дальнейшая работа над приложением возможна в следующих направлениях:
• Разработка алгоритма анализа загруженности пользователя
• Добавления напоминай о необходимости выполнения долгосрочной задачи на основе анализа загруженности
[1] Органайзер iStodo - кибернетический помощник студента - Электронные текстовые данные. - 2015. Режим доступа: http://istodo.ru/, свободный.
[2] Приложения на Google Play - Timetable - Электронные текстовые данные. - 2015. Режим доступа: https://play.google.com/store/apps/details?id=com.gabrielittner.timetable, свободный.
[3] Сафонов В.О. Развитие платформы облачных вычислений Microsoft Windows Azure : онлайн-курс лекций. - ИНТУИТ, 2013
[4] Доминик Беттс, Алекс Гомер, Алехандро Езерски, Масаши Нарумото, Г анц Чжан. Перенос приложений в облако на базе платформы Microsoft Windows Azure - 2012. - 179стр.
[5] Официальная страница проекта Windows Azure на сайте компании Microsoft / Компания Microsoft - Электронные текстовые данные. - 2015. Режим доступа: http://azure.microsoft.com/ru-ru/, свободный.
[6] Мобильные приложения. Создание привлекательных приложений для iOS, Android и Windows / Компания Microsoft. - Электронные текстовые данные. - 2015. Режим доступа: http://azure.microsoft.com/ruru/services/app-service/mobile/, свободный.
[7] Проверка подлинности и авторизация в мобильных приложениях Azure. Электронные текстовые данные. - 2016. Режим доступа: https://azure.microsoft.com/ru-ru/documentation/articles/app-service-mobile- auth/ , свободный.
[8] Использование пакета SDK Node.js для мобильных приложений Azure. Обзор операций с таблицами. Электронные текстовые данные. - 2016. Режим доступа: https: //azure. microsoft. com/ru- ru/documentation/articles/app-service-mobile-node-backend-how-to-use- server-sdk/#TableOperations, свободный.
[9] Использование пакета SDK Node.js для мобильных приложений Azure. Практическое руководство. Изменение кода в Visual Studio Team Services. Электронные текстовые данные. - 2016. Режим доступа: https://azure.microsoft.com/ru-ru/documentation/articles/app-service-mobile- node-backend-how-to-use-server-sdk/#online-editor , свободный.
[10] Использование клиентской библиотеки Android для мобильных приложений. Определение клиентских классов данных. Электронные текстовые данные. - 2016. Режим доступа: https: //azure .microsoft. com/ru- ru/documentation/articles/app-service-mobile-android-how-to-use-client- library/#-2, свободный.
[11] Электронные текстовые данные. - 2016. Режим доступа: https://azure.microsoft.com/ru-ru/documentation/articles/app-service-mobile- android-get-started-offline-data/, свободный.
[12] Включение автономной синхронизации для мобильного приложения Android. Электронные текстовые данные. - 2016. Режим доступа: https://azure.microsoft.com/ru-ru/documentation/articles/app-service-mobile- android-get-started-users/, свободный.
[13] Использование пакета SDK Node.js для мобильных приложений Azure. Практическое руководство. Обязательная проверка подлинности для доступа к таблицам. Электронные текстовые данные. - 2016. Режим доступа: https://azure.microsoft.com/ru-ru/documentation/articles/app- service-mobile-node-backend-how-to-use-server-sdk/#howto-tables-auth, свободный.
[14] Исходные коды системы. Клиент / Alexander Podshiblov. Электронные текстовые данные. - 2016. - Режим доступа: https://github.com/alexander- podshiblov/Student-Activity-Manager, свободный.
[15] Исходные коды системы. Сервер / Alexander Podshiblov. Электронные текстовые данные. - 2016. - Режим доступа: https: //github .com/alexander- podshiblov/SAM—Server, свободный.
Содержание бакалаврской работы – Разработка и реализация облачного сервиса для платформы Microsoft Azure для планирования повседневной учебной и научной деятельности студента
Выдержки из бакалаврской работы – Разработка и реализация облачного сервиса для платформы Microsoft Azure для планирования повседневной учебной и научной деятельности студента