АННОТАЦИЯ 5
ПЕРЕЧЕНЬ УСЛОВНЫХ ОБОЗНАЧЕНИЙ 3
ВВЕДЕНИЕ 5
1. Анализ конкурентов 7
2. Анализ требований 9
2.1. Варианты использования системы 9
2.2. Модель предметной области 13
2.3. Сбор данных о содержании кофеина в напитках 13
2.4. Диаграмма классов функциональности поделиться рецептом 14
3. Анализ инструментов и подбор архитектуры приложения 16
3.1. Выбор инструментов разработки 16
3.2. Архитектурный подход MVVM 16
3.3. Пакеты приложения 18
4. Реализация 19
4.1. Используемые технологии 19
4.2. Фреймворк CloudKit 19
4.3. Cl oudKit менеджер (Cl oudKit Manager) 21
4.4. Environment object (BeverageManager, LogManager) 28
4.5. HealthKitManager 31
4.6. Реализация создания профиля пользователя 32
4.7. Реализация функций CRUD напитков 35
4.8. Реализация функций CRUD записи употребления кофениа 42
4.9. Реализация расчета текущего уровня кофеина и предсказания времени сна 47
4.10. Реализация построения график изменения уровня кофеина во времени 51
4.11. Реализация функциональности поделиться рецептом 53
4.12. Реализация watchOS-приложения 62
ЗАКЛЮЧЕНИЕ 68
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 69
ПРИЛОЖЕНИЕ А 76
ПРИЛОЖЕНИЕ Б 77
ПРИЛОЖЕНИЕ В 83
ПРИЛОЖЕНИЕ Г 84
Кофеин - это широко используемое психоактивное вещество. Кофеин в основном используется людьми для повышения бдительности, действует как блокатор рецептора аденозина A1 [1]. Это происходит из-за схожести его структуры со структурой аденозина, органического соединения, которое взаимодействует с аденозиновыми рецепторами в центральной нервной системе (нейроны в головном мозге). Эти взаимодействия могут активировать биохимические реакции, которые замедляют возбуждение нейронов и высвобождение сигнальной молекулы мозга [2]. Другими словами, когда аденозин прикрепляется к рецепторам в нейронах головного мозга, это помогает сигнализировать нашему мозгу о сонливости, но поскольку химическая структура кофеина похожа на аденозин, он может прилипать к аденозиновым рецепторам в нейронах. Таким образом, это предотвратит чувство сонливости, но повысит бдительность и усилит работу дофамина в мозгу. В настоящее время самыми популярными источниками кофеина являются: кофе, энергетические напитки, чай, содовые напитки, шоколад, таблетки с кофеином и даже некоторые лекарства.
У людей, которые в основном употребляют кофе и другие напитки с кофеином или лекарства, после употребления часто возникают проблемы со сном. Несмотря на то, что они получили пользу кофеина после того, как потребляли его, иногда им необходимо решить проблему со сном. Это происходит, потому что уровень кофеина в их организме в это конкретное время выше порогового уровня, который можно игнорировать. Следовательно, аденозин не может прилипнуть к своему рецептору в головном мозге, поэтому человек не чувствует сонливости. Кофеин также оказывает некоторое влияние на другие органы, такие как сердце. Исследование показало, что потребление кофеина увеличивает частоту сердечных сокращений и артериальное давление, степень прироста у разных людей различается [3][4]. Потребление кофеина также увеличивает насыщение кислородом во время максимальных тренировок [5].
Хотя кофеин обычно считается безопасным наркотиком, но когда люди потребляют кофеина больше рекомендуемого количества, это может привести к летальному исходу (токсичная доза 10 граммов для взрослого [1][6]). Типичная доза кофеина за рубежом составляет 400 мг в день, а в Российской Федерации - 150 мг в день. Среднесуточное потребление кофеина в РФ составляет: 256,6 мг - 344,9 мг, т.е. выше рекомендуемой дозы в России, но немного меньше по зарубежной дозе [7]. Одна чашка кофе содержит примерно 80-175 мг кофеина, это зависит от типа используемых кофейных зерен, степени обжарки и процесса приготовления [1].
Таким образом, с помощью этого приложения пользователь может легко отслеживать свое потребление кофеина в течение дня, может получать уведомление о том, превысит ли потребление кофеина рекомендуемую/токсичную дозу, пользователь также может получить рекомендацию по потреблению напитков с кофеином на основе своего сна, график и время потребления. Мало того, что это приложение помогает пользователю отслеживать потребление кофеина, оно также отслеживает его уровень с более высокой точностью в сочетании с их Apple Watch [8], которые ведут учет показателей здоровья пользователя, таких как частота сердечных сокращений и насыщение кислородом. Пользователь также может синхронизировать данные между своими устройствами Apple, поскольку это приложение использует iCloud [9] в качестве базы данных.
Таким образом, цель данной работы - проанализировать, спроектировать и реализовать приложение для помощи в отслеживании уровня кофеина в крови для платформ iOS и watchOS с интеграцией HealthKit [10]. Приложение должно взаимодействовать с библиотекой HealthKit и приложением Apple Health [11]. Следовательно, пользователь может вводить данные с iPhone-устройства. Задачи данной работы:
1. Анализ конкурентов.
2. Анализ требований к приложению.
3. Проектирование архитектуры и базы данных.
4. Сбор данных о содержании кофеина в популярных напитках из интернета.
5. Разработка приложения для платформы iOS.
6. Разработка watchOS-приложения.
Таким образом, была проанализировано, спроектировано и реализовано приложение для отслеживания уровня кофеина для платформы iOS и watchOS. Цель данной работы достигнута. Также были выполнены следующие поставленные задачи:
• Анализ конкурентов.
• Анализ требований к приложению.
• Проектирование архитектуры и базы данных.
• Сбор данных о содержании кофеина в популярных напитках из интернета.
• Разработка приложения для платформы iOS.
• Разработка watchOS-приложения.
На данный момент проект завершен, и продукт находится на этапе внедрения. Проект полностью соответствует требованиям, которые были предъявлены.
Стоит отметить, что текущая версия приложения является первой версией этого приложения. В будущем будет разработана новая версия с исправлениями ошибок, если таковые имеются, будет добавлен дополнительный функционал.
Функциональность, которую можно добавить в проект — это добавление дополнительных данных о кофеине в напитках, данных о кофеине в лекарствах, функциональность для добавления друзей, обмена данными о напитках с друзьями и поиска кафе поблизости. Для обеспечения процесса разработки и поддержки приложений в процессе разработки использовались архитектурные шаблоны программного обеспечения, что позволило быстро, легко и с минимальными ошибками добавлять новый функционал.
В ходе работы был получен новый опыт анализа процессов перед разработкой приложения для платформы iOS и watchOS, были получены глубокие знания в области анализа требований (функциональные и нефункциональные требования) и предметной области, углублены знания о архитектуре приложения MVVM, также был получен опыт разработки приложения для платформы iOS и watchOS, работы с базами данных, работы с различными библиотекам.