Аннотация
ВВЕДЕНИЕ 4
1 Анализ предметной области 6
1.1 Обзор существующих аналогов 7
2 Требования к разрабатываемому приложению 11
2.1 Функциональные требования 11
2.2 Нефункциональные требования 11
2.3 Диаграмма вариантов использования 12
2.4 Сценарии вариантов использования 14
3 Инструменты разработки мобильного приложения 18
3.1 Выбор операционной системы 18
3.2 Выбор интегрированной среды разработки 18
3.3 Выбор языка программирования 19
3.4 Выбор способа хранения данных 20
4 Проектирование 22
4.1 Общая архитектура приложения 22
4.2 Архитектурный паттерн для мобильного приложения 27
4.3 Проектирование базы данных 31
4.4 Выбор алгоритмов для модуля прогнозирования 35
4.5 API микросервиса прогнозирования 40
4.6 Проектирование пользовательского интерфейса 41
5 Реализация 45
5.1 Слой Model 45
5.2 Слой ViewModel 49
5.3 Слой View 51
5.4 Работа с Firebase 53
5.4.1 Firebase Authentication 55
5.4.2 Cloud Firestore 57
5.5 Модуль прогнозирования 61
5.6 Разработка API для модуля прогнозирования 63
5.7 Парсинг SMS-сообщений 66
6 Руководство пользователя 69
ЗАКЛЮЧЕНИЕ 79
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ И ЛИТЕРАТУРЫ 80
Управление личными финансами является неотъемлемой частью повседневной жизни. Регулярный учет доходов и расходов помогает осознанно подходить к тратам, планировать будущие покупки, избегать финансовых трудностей и достигать долгосрочных целей. Отсутствие регулярного отслеживания часто приводит к тому, что человек не осознает реальных масштабов своих расходов, теряет контроль над бюджетом и может сталкиваться с нехваткой средств даже при стабильном уровне дохода.
Практика ведения бюджета предоставляет возможность выявить те категории расходов, которые незаметно отнимают значительную часть дохода. Планирование трат, в свою очередь, способствует формированию привычки рационального потребления и помогает достигать финансовой устойчивости. Особенно актуальной эта задача становится в условиях нестабильной экономической ситуации, роста цен и необходимости более осознанного отношения к деньгам. [1]
С развитием технологий появилась возможность автоматизировать процесс учёта финансов, сделать его удобным, быстрым и менее трудозатратным. Мобильные приложения, предназначенные для учета личных доходов и расходов, позволяют отказаться от ведения записей вручную, ускоряют процесс анализа, а также предоставляют визуальные и аналитические инструменты для понимания текущей финансовой ситуации. Благодаря доступности, интуитивно-понятному интерфейсу и постоянному нахождению под рукой, мобильные приложения стали особенно популярными среди пользователей, стремящихся к повышению финансовой грамотности.
Однако, большинство представленных на рынке решений
ограничиваются ручным вводом данных и базовой аналитикой, что может служить фактором, снижающим мотивацию пользователей к их регулярному применению. Кроме того, существующие мобильные приложения для учета финансов редко предлагают интеллектуальные функции, такие как прогнозирование будущих расходов на основе анализа предыдущих трат, что снижает их ценность как инструментов финансового планирования.
В рамках данной работы рассматривается разработка мобильного приложения для ведения дневника доходов и расходов, дополненного возможностью прогнозирования финансовой активности пользователя на следующий месяц.
Целью данной работы является разработка мобильного приложения для ведения дневника доходов и расходов личных финансовых средств на базе операционной системы Android. Для достижения цели работы, необходимо решить следующие задачи:
1. Анализ предметной области;
2. Поиск и обзор аналогов;
3. Выбор и изучение инструментов разработки;
4. Проектирование мобильного приложения;
5. Реализация мобильного приложения.
В результате работы был выполнен подробный анализ рынка мобильных приложений, предназначенных для управления личными финансами, выявлены сильные и слабые стороны существующих решений. На основе этого анализа были определены перспективные функциональные возможности и пользовательские сценарии, которые легли в основу разработки собственного мобильного приложения. В работе также изучены особенности проектирования современных мобильных приложений, рассмотрены различные архитектурные подходы и технологии их разработки, а также их свойства, преимущества и ограничения.
Практическая часть работы представлена реализованным мобильным приложением, предоставляющим пользователю комплексный инструмент для контроля личных финансов. Реализованы функции ведения учета доходов и расходов по различным счетам и категориям, осуществления переводов между счетами, а также просмотра детализированной финансовой аналитики с визуализацией данных. Ключевыми особенностями приложения являются модуль автоматического импорта транзакций из SMS-сообщений, способный обучаться на действиях пользователя для повышения точности категоризации, и модуль прогнозирования будущих расходов, который использует адаптивный выбор статистических моделей для предоставления персонализированных оценок.