Similar presentations:
Разработка android-приложения для контроля и планирования личного бюджета
1. ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА
Разработка android-приложения для контроля ипланирования личного бюджета
Руководитель:
Направление подготовки:
Студент группы ПВ-42:
канд. физ.-мат. наук доц.
Хлопов А. М.
09.03.04 «Программная
инженерия»
Беляев А. С.
2. Постановка задачи
Цель работы – создать мобильное приложение для контроля ипланирования личного бюджета.
Задачи, которые должны быть выполнены в данной работе:
• Изучение аналогов
• Формирование требований к функционалу
• Выбор инструментов и средств для программной
разработки
• Проектирование общей модели приложения и её
отдельных частей (схема базы данных, структура
нейросети)
• Разработка дизайна
• Реализация приложения на основании спроектированной
модели и его тестирование
2
3. Актуальность
В последнее десятилетие наблюдается активный рострынка мобильных приложений. Появляется всё больше и
больше различных программ, предназначенных под самые
разнообразные задачи.
Неудивительно, что в сфере финансовых мобильных
приложений так же появилось огромное количество
продуктов, которые помогают людям проводить финансовые
операции и сделки, вести бюджет и многое другое.
В рамках данной работы было принято реализовать
собственное приложение, которое помогало бы людям
вести, контролировать и планировать свой собственный
бюджет.
3
4. Приложения-аналоги
Изучение аналогов в данной работе очень важный этап,потому что только так можно выявить их достоинства и
недостатки, сравнить между собой, чтобы по итогу выделить
ключевые моменты функционала и, используя их, привнести
что-то новое, чего нет в исследуемых приложениях.
4
5. Функциональные возможности
Сформированные требования к приложению:• Возможность ведения бюджета посредством
учета расходов/доходов.
• Учет операций в рамках определенного счета
пользователя
• Возможность ведения совместного бюджета на
одном аккаунте (Мульти-профиль)
• Предоставление аналитики по имеющимся
данным: распределение информации по
месяцам,
столбчатые
диаграммы
расходов/доходов, разбиение операций по
категориям, прогноз бюджета на след. месяц
• Возможность
задавать
цели
и
добавлять
прогресс их выполнения
5
6. Используемые инструменты
Язык программирования: KotlinФреймворк: Android SDK
IDE для разработки: Android Studio
Различные библиотеки и
фреймворки:
1. Dagger2 (DI – внедрение
зависимостей)
2. RxJava2 (Реактивное
программирование)
3. Room (База данных)
4. Cicerone (Навигация в androidприложении)
6
7. Архитектура приложения
В настоящее время существует довольно много различныхпаттернов, с помощью которых строятся архитектуры
мобильных
приложений.
Многие
из
них
являются
«наследниками» известно паттерна MVC (Model-ViewController).
Но среди многих аналогичных паттернов для реализации
приложения был выбран MVVM (Model-View-ViewModel):
7
8. Структура экрана
89. Схема базы данных
Основныесущности БД и
их атрибуты:
• Счета
• Транзакции
• Профили
• Цели
• Транзакции
целей
9
10. Прогноз бюджета (структура нейросети)
Для прогнозированиябюджета в приложении будет
использоваться классическая
нейросеть с прямыми
связями.
Обучение нейросети будет
проходить с подкреплением,
т.е. на основе обучающей
выборки.
Будет использован метод
обратного распространения
ошибки (back propagation)
10
11. Разработка и требования к дизайну
Внешний вид программного продукта – это то, на чтопользователи обращают внимание в первую очередь!
Поэтому к вопросам дизайна стоит подходить куда
серьезнее, чем многие думают. В данной работе мы
воспользуемся
одним
известным
правилом
для
формирования цветовой палитры «60-30-10».
11
12. Наработки дизайна
• Цветовая палитра• Схематичные рисунки
дизайна
• Иконка приложения
12
13. Демонстрация приложения.
Экран приветствия (онбординг)13
14. Демонстрация приложения.
Экраны счетов и транзакций14
15. Демонстрация приложения.
Экраны аналитики15
16. Демонстрация приложения.
Экран прогноза бюджета16
17. Демонстрация приложения.
Экраны целей17
18. Демонстрация приложения.
Экраны профилей18
19. Отличительная особенность приложения – совместный бюджет.
Главным новшеством,которое предлагает
приложение – является
возможность ведения
совместного бюджета.
На одном аккаунте
пользователи могут
создавать сколь угодно
много профилей,
вести бюджет в
каждом из них, а
потом просматривать
аналитику по всем
имеющимся
профилям:
19
20. Тестирование интерфейса.
Тестирование приложение проводилась в 2 этапа:• Проверка пользовательского интерфейса
• Тестирование функционала приложения
Ниже демонстрируется работы приложения на устройстве
с гораздо меньшим разрешением экрана, чем было
показано ранее
20
21. Тестирование функционала.
Тестирование функционалаприложения проводилось на
реальных данных. В течение
нескольких месяцев в него
вносились доходы и расходы с
основного
профиля
и
периодически
дополнялись
данные со вспомогательного
профиля.
В
итоге
приложение
действовало
согласно
спроектированному
функционалу, все основные
механики реализованы верно,
учёт
операций
по
всем
профилям
ведется
без
коллизий и консистентно.
21
22. Итоги
В ходе выполнения данной работы:Изучены аналоги PFM-приложений для ведения
бюджета
Сформированы требования к функционалу
разрабатываемого приложения
Изучены различные подходы к построению
архитектуры мобильных android-приложений
Спроектирована общая модель приложения, а
также базы данных и структура нейросети для
прогноза бюджета
Разработан дизайн
Реализовано и протестировано приложение
согласно спроектированным данным
22