ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА
Постановка задачи
Актуальность
Приложения-аналоги
Функциональные возможности
Используемые инструменты
Архитектура приложения
Структура экрана
Схема базы данных
Прогноз бюджета (структура нейросети)
Разработка и требования к дизайну
Наработки дизайна
Демонстрация приложения.
Демонстрация приложения.
Демонстрация приложения.
Демонстрация приложения.
Демонстрация приложения.
Демонстрация приложения.
Отличительная особенность приложения – совместный бюджет.
Тестирование интерфейса.
Тестирование функционала.
Итоги
Спасибо за внимание!
3.44M
Category: programmingprogramming

Разработка 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. Структура экрана

8

9. Схема базы данных

Основные
сущности БД и
их атрибуты:
• Счета
• Транзакции
• Профили
• Цели
• Транзакции
целей
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

23. Спасибо за внимание!

English     Русский Rules