Главная страница
Навигация по странице:

  • высшего образования «Пермский национальный исследовательский политехнический университет» Березниковский филиал

  • Пояснительная записка к курсовой работе

  • Группа расходов Содержание

  • Функциональное моделирование предметной области

  • Проектирование бизнес-процесса «Анализ семейного бюджета»

  • Объектное проектирование

  • ER- диаграмма предметной области

  • Реализация мобильного приложения

  • Проектирование интерфейса мобильного приложения

  • Курсовая. Курсовая Кох К. (1). Разработка мобильного приложения Учет семейного бюджета


    Скачать 7.8 Mb.
    НазваниеРазработка мобильного приложения Учет семейного бюджета
    АнкорКурсовая
    Дата12.05.2022
    Размер7.8 Mb.
    Формат файлаdocx
    Имя файлаКурсовая Кох К. (1).docx
    ТипПояснительная записка
    #524460

    Министерство науки и высшего образования Российской Федерации 
    Федеральное государственное бюджетное образовательное учреждение

    высшего образования 
    «Пермский национальный исследовательский политехнический университет» 
    Березниковский филиал


    Пояснительная записка к курсовой работе

    по дисциплине «Информационные технологии»
    тема: «Разработка мобильного приложения «Учет семейного бюджета»»


    Выполнила: студентка группы ПОВТ-17д ___________ Кох К.Д.

    Проверил: доктор технических наук профессор _____________ Затонский А. В.

    Оценка «___________»

    Дата проверки «___» __________ 2021 г.

    Березники 2021

    Аннотация


    Целью работы является повышение финансовой грамотности и увеличение эффективности распределения денежных средств бюджета.

    Задачами работы стало провести анализ предметной области выбранной темы, спроектировать информационную модель, обеспечить учет стандартных операций над деньгами (расход, доход), реализовать отчетность по совершенным операциям, спроектировать пользовательский интерфейс.

    Результатом данной работы стали: информационная модель, содержащая ER-диаграмму из 4 таблиц, диаграммы последовательности действий, интерфейс программы, мобильное приложение.

    Работа содержит 37 страниц, 31 рисунок, 4 таблицы и 8 источников литературы.

    Содержание


    2.1.1Проектирование бизнес-процесса «Учет доходов и расходов семьи» 13

    2.1.2Проектирование бизнес-процесса «Анализ семейного бюджета» 20

    3.1Описание пунктов пользовательского интерфейса 25

    3.2Дизайн приложения 25


    Введение


    Существует множество вариантов ведения бюджета: от обычной тетради до современного программного обеспечения. Тем не менее, одними из стандартных средств для ведения бюджета является таблица Excel или от руки в тетради. Такие способы занимают много времени, а иногда и достаточно сложны для человека. Затрагивая тему технического прогресса, стоит отметить, что технологии заняли важное место в жизни человечества. Сейчас сложно обходиться в жизни без телефонов, планшетов, компьютеров, ноутбуков и т.д. Мобильное приложение для ведения бюджета всегда возможно иметь под рукой и заполнять в любой момент времени, а также оно упрощает процессы подсчета и записи расходов и доходов. Контролировать доходы и расходы становится удобнее, проще, быстрее, программные средства приложения помогут наглядно увидеть отчеты о бюджете, следить за актуальным балансом счетов. Использование такого мобильного приложения позволит увеличить финансовую грамотность населения и увеличить эффективность распределения денежных средств бюджета.

    Объектом исследования работы является семейный бюджет, предметом – автоматизирование семейного бюджета.

    Целью работы является повышение финансовой грамотности и увеличение эффективности распределения денежных средств бюджета.

    Для достижения цели необходимо выполнить следующие задачи:

    1. проанализировать предметную область темы;

    2. провести концептуальное проектирование;

    3. провести проектирование пользовательского интерфейса;

    4. изучить технологии создания приложения в среде разработки AndroidStudio;

    5. реализовать мобильное приложение;


    1. Предметная область

    1. Описание предметной области


    Ведение бюджета является актуальной составляющей жизни многих современных людей. Говоря о бюджете сначала необходимо дать определение самого понятия бюджет:

    Бюджет – это финансовый план, состоящий из доходов и расходов [2].

    Теперь подробнее рассмотрим понятие «семейный бюджет». Семейный бюджет образовывается тогда, когда появляется семья. Исходя из этого, словари дают следующие определения семейного бюджета:

    Семейный бюджет – роспись денежных доходов и расходов семьи, составляемая обычно на месячный срок в виде таблицы, баланс семейных расходов и доходов [3].

    Семейный бюджет – объем и структура фактических доходов и расходов семьи, важная характеристика уровня жизни различных групп семей. Полный объем доходов семьи включает все денежные и натуральные (в денежной оценке) доходы, а также часть выплат и льгот из общественных фондов потребления (заработная плата, доходы от личного подсобного хозяйства, пенсии, стипендии, пособия, оплата временной нетрудоспособности, дотации и льготы на приобретение путевок для отдыха, и лечения и др.). Расходы семьи включают все денежные расходы на приобретение товаров, услуг, выплату платежей, добровольных взносов.

    Таким образом, можно сказать, что семейный бюджет состоит из трех пунктов [3]:

    1. Семейный бюджет — это обычный план доходов и расходов семьи на определенный промежуток времени. В нем сочетаются как фактические данные за прошедшие периоды, так и запланированные суммы доходов и расходов.

    2. Семейный бюджет — это смета, которая позволяет семье контролировать движение денежных средств. Минимизируются необдуманные траты, и, одновременно, вещи, которые ранее были недоступны в финансовом плане, становятся вашей новой реальностью.

    3. Семейный бюджет — это показатель отношения членов семьи к деньгам.

    В семейном бюджете есть две составляющие – доходная часть и расходная часть.
    1. Исследование и анализ предметной области


    Семья получает доходы и тратит их в виде потребительских расходов. Доходы – это деньги или материальные ценности, получаемые от предприятия, отдельного лица или какого-либо вида деятельности.

    Все доходы семьи делятся на [1]:

    1) денежные;

    2) предоставление льгот;

    3) натуральные.

    Денежные доходы складываются из:

    • зарплаты вместе с различными начислениями и доплатами;

    • пенсий, пособий, стипендий и других социальных и страховых выплат;

    • доходов от предпринимательской деятельности;

    • доходов от операций с личным имуществом и денежными накоплениями. Заработная плата составляет в среднем 45—50% от всех денежных доходов семьи.

    Натуральные доходы состоят в основном из материальных благ, получаемых на приусадебном участке (овощи, фрукты, мясо, яйца, мед и т. п.), подарков, выигрышей, продуктового довольствия и др.

    Льготы получают некоторые категории населения, определенные государственными органами. Например, льготные проездные билеты для студентов и учащихся, льготы по оплате коммунальных услуг, при покупке лекарств, льготные путевки в санатории, дома отдыха, лагеря отдыха для молодежи и т. п.

    Различают совокупный и денежный доходы:

    Совокупный доход – это все виды доходов (зарплата, дивиденды, льготы, бесплатная путёвка в дом отдыха, служебная машина и т. д.).

    Денежный доход включает только деньги, полученные за определённый период времени.

    Доходы расходуют на товары и услуги, необходимые для жизни человека и существования семьи, таким образом, доходы превращаются в расходы.

    Расходы – это затраты, издержки, потребление чего-либо для определенных целей [1]. Ниже в таблице представлен пример классификации расходов семьи (Таблица 1). Каждая семья при ведении семейного бюджета может записывать свои расходы в удобные именно для них классификации групп расходов [1].
    Таблица 1

    Пример классификации групп расходов

    Группа расходов

    Содержание

    Налоги

    Подоходный налог и др.

    Обязательные платежи

    Плата за квартиру, телефон, электроэнергию, содержание детей, в дет. садах, обучение в муз. школе, выплата кредитов.

    Питание

    Приобретение продуктов и заготовка их впрок, оплата питания в столовой, кафе и т.д.

    Хозяйственно-бытовые нужды

    Затраты на ремонт одежды, обуви, бытовой техники, квартиры, теле-радиоаппаратуры, химчистки, предметы личной гигиены.

    Предметы личного пользования

    Одежда, бельё, обувь, постельные принадлежности.

    Предметы интерьера

    Мебель, светильники, картины, ковровые изделия т.д.

    Бытовая техника и приспособления для ведения домашнего хозяйства

    Электроплиты, кухонные принадлежности, холодильник, посуда, пылесос и т.д.

    Культурные и информационные потребности

    Телевизор, магнитофон, музыкальный центр, диски, книги, газеты, журналы и т.д.

    Транспорт

    Проезд в общественном транспорте, приобретение и эксплуатация легковой машины, оплата услуг станции техобслуживания.

    Спорт, туризм, увлечения, отдых

    Спортивно-туристические принадлежности, предметы, инструменты, материалы для индивидуальных увлечений.

    Прочее

    Детские игрушки, медикаменты и т.д.


    Все расходы семьи можно разделить на обязательные и произвольные [1]:

    Обязательные расходы – расходы на питание, квартплату и коммунальные услуги, одежду, транспорт; необходимый минимум, который тратится регулярно каждый месяц.

    Произвольные расходы нерегулярны и тратятся по необходимости, например, покупка крупной бытовой техники.

    Многие люди задаются вопросом об эффективности ведения семейного бюджета и стоит ли тратить на это время.

    Можно выделить следующие плюсы в ведении семейного бюджета:

    1. Наглядно видно, на что уходят деньги и в каком количестве.

    Самая главная причина, по которой стоит начать учет личных финансов — это то, что доходы и расходы станут прозрачными и не придется в конце месяца вспоминать какая сумма и на что была потрачена — однако для этого к процессу ведения домашнего бюджета необходимо отнестись очень ответственно.

    1. Возможность изыскать резервы для экономии.

    Занимаясь учетом личных финансов, можно выяснить, какие расходы действительно важные, а от каких можно отказаться. Такое решение лучше принимать по итогам какого-либо периода, например, месяца. Проанализировав расходы, можно понять, что, скорее всего, есть на чем сэкономить.

    1. Учет долгов.

    Существуют так называемые хорошие долги и плохие долги. Хорошие долги делают человека богаче, плохие — беднее. Тем не менее, какие бы долги ни имелись, их нужно учитывать. Также должны учитываться и деньги, отданные в долг другим людям. Осуществляя такой учет возможно держать под контролем активы и пассивы бюджета.

    1. Возможность быстрее достичь поставленных целей.

    Практически у каждого человека есть какие-либо финансовые цели. У кого-то они простые (например, купить новый автомобиль, слетать на отдых), у кого-то амбициознее (например, открыть бизнес или инвестировать в недвижимость). Без контроля над своими финансами достижение таких целей становится затруднительным, а иногда и вовсе невозможным.

    1. Ведение семейного бюджета (личного бюджета) дисциплинирует человека и позволяет достичь финансовой свободы.

    Наверное, любой человек хочет, чтобы на его банковском счету находилась большая сумма денег, которая позволяла бы ему жить свободно, независимо от того, работает он или нет. Но такая сумма просто так на счете не образуется и размер дохода здесь тоже не имеет определяющего значения. Достичь подобного реально и первое, с чего нужно начать — с учета финансов.

    1. Ведение домашнего бюджета будет способствовать установлению порядка в Вашей голове и упрощению Вашей жизни.

    Ведение домашнего бюджета поможет избавиться от необходимости держать в голове цифры, все доходы и расходы, депозиты и инвестиции, долги и кредиты. Все это возможно контролировать, научившись вести учет своих финансов.
    1. Анализ существующих приложений по ведению семейного бюджета


    1.  Money Lover (Рис. 1)




    Рис. 1 Приложение Money Lover
    Money Lover: красивый, простой, но исчерпывающий инструмент, столь необходимый в современной жизни [4]. Это решение всё-в-одном, которое подойдёт для каждого, кто хочет окончательно решить все проблемы, связанные с финансами. Не важно, необходимо ли контролировать затраты, сформировать бюджет или держать на пульсе сбережения и счета. Интересная особенность приложения в том, что оно позволяет добавлять такие необычные категории как доход от выигрышей или продажи имущества, расходы на свидания или поездки за границу. Учет можно вести в 45 видах валют. 

    Программа легко интегрируется между различными платформами и устройствами, как в бесплатной, так и в Премиум версиях.

    Возможности Money Lover:

    • лёгкий доступ всегда и везде;

    • возможность записи финансов, деля их на категории;

    • система напоминаний о будущих затратах;

    • отслеживание и напоминание в режиме Долг/Заём;

    • режим путешествий для туристов и странников;

    • сохранение и восстановление личных данных;

    • поддержка наглядной часо-образной диаграммы;

    • пакет красивых иконок для конкретных целей: уход за детьми, спорт, ежедневное, покупки и т. д..

    1.  Finance PM (Рис. 2)




    Рис. 2 ПриложениеFinance PM
    В приложении можно установить лимит расходов, управлять несколькими кошельками, настраивать периодичность расходов, создавать операции шаблонов, добавлять фотографии к покупкам, делать денежные переводы и т.д.

    Основная цель приложения – позволить пользователям управлять своими деньгами легко и быстро [5].

    Приложение Finance PM подходит для управления транзакциями и контроля запланированными операциями. От других подобных менеджеров отличается общедоступностью (синхронизация + веб-интерфейс), а также возможностью создания операций из шаблонов. Из замеченных недостатков — главный экран не предоставляет, в полной мере, сводную статистику по финансам.

    Основные функции:

    • удобный и функциональный интерфейс,

    • поддержка пользователя,

    • управление любым количеством кошельков,

    • возможность добавлять, редактировать и удалять операции по кошелькам: доходы, расходы, переводы,

    • редактируемое дерево категорий, каждый пользователь настраивает его под себя,

    • возможность добавлять новые валюты,

    • возможность настраивать периодичные (повторяемые) операции,

    • приложение подскажет, сколько денег вы должны кому-то или сколько должны вам, это позволит избежать неловких ситуаций, когда случайно забываешь вернуть долг,

    • защита приложения с помощью пароля,

    • возможность синхронизации данных между несколькими устройствами,

    • возможность создания операций по шаблонам,

    • импорт и экспорт данных,

    • экспорт данных в Excel.

    1.  AndroMoney (Рис. 3)




    Рис. 3 Приложение AndroMoney
    AndroMoney является персональным инструментом финансирования [6]. С помощью этого инструмента, возможно лучше управлять своим бюджетом. В ней легко работать. Можно вести несколько учетных записей в любой валюте, выстраивать графики, гистограммы, тренды расходов и доходов.

    AndroMoney ориентируется на:

    1) легкость использования: с программой интуитивно легко работать;

    2) производительность: ежедневный учет, управление категориями, или детальные графики отчетов.

    Возможности:

    • несколько учетных записей и поддержка баланса счета и счет передачи;

    • синхронизация с другими устройствами;

    • любая валюта;

    • цифровая клавиатура с расчетом;

    • иерархические категории с пользовательскими атрибутами;

    • простой / Подробный / Пользовательский бюджеты;

    • тренд, график и гистограмма для расходов и о движении денежных средств;

    • защита паролем;

    • итоговый баланс ваших расходов и доходов;

    • резервное копирование данных в Excel.

    Выводы

    В таблице представлены сравнительные характеристики приложений (Таблица 2). В качестве критериев были выбраны основные характеристики, которые помогают максимально эффективно организовать семейный бюджет.
    Таблица 2

    Сравнительные характеристики

    Критерии

    Money Lover

    Finance PM

    AndroMoney

    Разрабатываемое приложение

    Количество отчетов

    4

    4

    3

    4

    Калькулятор

    +

    +

    +

    +

    Защита данных паролем

    -

    +

    +

    +

    Учетная запись

    -

    -

    -

    +

    Система напоминаний

    +

    -

    -

    +

    Привлекательный дизайн

    +

    +

    +

    +

    Удобный и простой интерфейс

    +

    +

    +

    +

    Наличие базовых категорий

    +

    +

    +

    +

    Планирование бюджета

    +

    +

    -

    +

    Стоимость

    Есть платная версия

    Бесплатно

    Бесплатно

    Бесплатно


    Отличительными особенностями разрабатываемого приложения можно назвать многопользовательский режим.
    1. Концептуальное проектирование


    Концептуальное проектирование является первым этапом создания информационной системы. На этом этапе выясняется, что требуется для её создания. Здесь подробно описывается, что должна включать в себя информационная система, определяются объекты, атрибуты и их связи, с помощью которых после составляется ER-диаграмма.

    Разрабатываемое мобильное приложение предназначено для категории пользователей: члены семьи, и должна выполнять следующие функции:

    • учет расходов и доходов;

    • авторизация пользователей;

    • возможность создавать виртуальные «Кошельки» для учета денежных средств;

    • возможность просмотра актуального баланса «Кошельков»;

    • отчетность по совершенным операциям;

    • возможность создавать удобные пользователю категории расходов/доходов;

    • возможность редактирования записей о расходах и доходах.

    На основании предметной области можно выделить следующие бизнес процессы:

    1. учет произведенных операций:

    • создание категорий расходов/доходов;

    • запись произведенных доходов/расходов;

    • создание кошельков;

    • просмотр актуального баланса кошельков;

    1. анализ ведения семейного бюджета:

    • доходы;

    • расходы;

    • учет бюджета;

    • анализ;

    1. Функциональное моделирование предметной области

    Для составления диаграмм использовался сайт diagrams.net [7].

    1. Проектирование бизнес-процесса «Учет доходов и расходов семьи»

    Бизнес-процесс «Учет произведенных доходов и расходов» включает в

    себя следующие действия:

    1. запись доходов и расходов;

    2. создание кошельков и копилок;

    3. перевод между кошельками и копилками;

    4. просмотр информации о балансе на кошельках и копилках;

    5. создание категорий расходов и доходов.

    Рассмотрим диаграммы последовательности для бизнес-процесса «Учет доходов и расходов семьи».

    Диаграмма последовательности действий для действия «Запись доходов» прецедента «Запись расходов и доходов» (Рис. 4) состоит из следующей последовательности действий:

    1. авторизация в приложении;

    2. проверка логина и пароля;

    3. выбор пункта «Создать» доход;

    4. выбрать категорию доходов;

    5. ввести сумму доходов;

    6. выбрать кошелек для зачисления;

    7. сохранить операцию «доход».




    Рис. 4 Диаграмма последовательности действий для действия «Запись доходов» прецедента «Запись расходов и доходов»
    Диаграмма последовательности действий для действия «Запись расходов» прецедента «Запись расходов и доходов» (Рис. 5) состоит из следующей последовательности действий:

    1. авторизация в приложении;

    2. проверка логина и пароля;

    3. выбрать пункт «Создать» расход;

    4. выбрать категорию расходов;

    5. ввести сумму расходов;

    6. выбрать кошелек, откуда берутся деньги

    7. сохранить операцию «расход».




    Рис. 5 Диаграмма последовательности действий для действия «Запись расходов» прецедента «Запись расходов и доходов»
    Диаграмма последовательности действий для прецедента «Создание категорий расходов» (рис. 4.3) состоит из следующей последовательности действий:

    1. авторизация в приложении;

    2. проверка логина и пароля;

    3. выбрать справочник «Категории Расходов»;

    4. выбрать пункт «Создать категорию расходов»;

    5. заполнить информацию о категории расходов;

    6. сохранить категорию расходов.




    Рис. 6 Диаграмма последовательности действий для действия «Создание категорий расходов» прецедента «Создание категорий расходов и доходов»
    Диаграмма последовательности действий для прецедента «Создание категорий доходов» (Рис. 7) состоит из следующей последовательности действий:

    1. авторизация в приложении;

    2. проверка логина и пароля;

    3. выбрать справочник «Категории Доходов»;

    4. выбрать пункт «Создать категорию доходов»;

    5. заполнить информацию о категории доходов;

    6. сохранить категорию доходов.




    Рис. 7 Диаграмма последовательности действий для действия «Создание категорий доходов» прецедента «Создание категорий расходов и доходов»
    Диаграмма последовательности действий для действия «Просмотр информации о балансе на копилке» прецедента «Просмотр информации о балансе на кошельках и копилках» (Рис. 8) состоит из следующей последовательности действий:

    1. ввод логина и пароля;

    2. проверка имени и пароля;

    3. выбор пункта «Копилки»;

    4. выбор нужной копилки;

    5. просмотр актуального баланса.




    Рис. 8 Диаграмма последовательности действий для действия «Просмотр информации о балансе на копилке» прецедента «Просмотр информации о балансе на кошельках и копилках»
    Диаграмма последовательности действий для действия «Просмотр информации о балансе на кошельке» прецедента «Просмотр информации о балансе на кошельках и копилках» (Рис. 9) состоит из следующей последовательности действий:

    1. ввод логина и пароля;

    2. проверка имени и пароля;

    3. выбор пункта «Кошельки»;

    4. выбор нужного кошелька;

    5. просмотр актуального баланса.




    Рис. 9 Диаграмма последовательности действий для действия «Просмотр информации о балансе на кошельке» прецедента «Просмотр информации о балансе на кошельках и копилках»
    Диаграмма последовательности действий для действия «Создание кошелька» прецедента «Создание кошельков/копилок» (Рис. 10) состоит из следующей последовательности действий:

    1. авторизация в приложении;

    2. проверка логина и пароля;

    3. выбор пункта меню «Кошельки»;

    4. выбор пункта «Создать кошелек»;

    5. ввести информацию о кошельке;

    6. сохранить информацию.





    Рис. 10 Диаграмма последовательности действий для действия «Создание кошелька» прецедента «Создание кошельков и копилок»


    1. Проектирование бизнес-процесса «Анализ семейного бюджета»

    Рассмотрим диаграммы последовательности для бизнес-процесса «Анализ ведения семейного (домашнего) бюджета». Диаграмма последовательности действий для действия «Отчет по категориям доходов» прецедента «Отчеты по доходам» (Рис. 11) состоит из следующей последовательности действий:

    1. Авторизация в приложении;

    2. проверка логина и пароля;

    3. выбор меню «Отчеты»;

    4. выбор отчета по доходам;

    5. настройка компонентов;

    6. отчет по категориям доходов;

    7. выбор вида диаграмм;

    8. формирование отчета.




    Рис. 11 Диаграмма последовательности действий для действия «Отчет по категориям доходов» прецедента «Отчеты по доходам»
    Диаграмма последовательности действий для действия «Отчет по категориям расходов» прецедента «Отчеты по расходам» (Рис. 12) состоит из следующей последовательности действий:

    1. авторизация в приложении;

    2. проверка логина и пароля;

    3. выбор меню «Отчеты»;

    4. выбор отчета по расходам;

    5. настройка компонентов;

    6. отчет по категориям расходов;

    7. выбор вида диаграмм;

    8. формирование отчета.




    Рис. 12 Диаграмма последовательности действий для действия «Отчет по категориям расходов» прецедента «Отчеты по расходам»


    1. Объектное проектирование

    На стадии объектного проектирования выделяются объекты, их атрибуты, связи между объектами, и, как итог объектного проектирования, создается ER-диаграмма.

    В проектируемой информационной базе данных будут содержаться следующие объекты, характеризующие предметную область: Пользователи (Users), Операции пользователей (Users_operation), Счета (Scheta), Категории операций (Category_operation)). У каждого объекта есть ряд атрибутов, которые представлены в Таблица 3.

    1. Объекты и атрибуты


    Таблица 3

    Объекты и их атрибуты

    Объект

    Атрибуты

    Ключ

    Пользователи (Users)

    Код пользователя (id), Почта (email), Пароль (password)

    Код пользователя (id)

    Операции пользователей (Users_operation)

    Код операции (id_operation), Код пользователя (id_user), Код типа операции (id_type_operation), Код категории операции (id_category_operation), Код счета (id_schet), Сумма (sum), Комментарий (comment), Дата (date)

    Код операции (id_operation)

    Счета (Scheta)

    Код счета (id_sch), Код пользователя (id_user), Название счета (name_sch), Сумма (sum)

    Код счета (id_sch)

    Категории операций (Category_operation)

    Код категории операции (id_category), Код пользователя (id_user), Наименование (name_category)

    Код категории операции (id_category)


    Объект «Пользователи» содержит информацию о пользователях, а именно информацию для доступа к аккаунту (почта и пароль). Один пользователь может создать семейный аккаунт, в который смогут зайти все члены его семьи используя информацию для доступа к аккаунту и в дальнейшем совершать операции.

    Объект «Операции пользователей» содержит информацию об операции, такую как пользователь, который совершил данную операцию, тип операции (0, если расход, 1, если доход), счет с которого производилась операция, пользовательская категория, сумма операции, комментарий к операции (по желанию) и дата совершения операции.

    Объект «Счета» сдержит информацию о счете, а именно идентификатор пользователя, которому принадлежит счет, название счета и сумма. Все созданные счета членами семьи будут прикреплены к одному аккаунту. Совершать операции используя эти счета могут все, кто пользуется данным аккаунтом.

    Объект «Категории операций» содержит пользовательские категории расходов (проезд, продукты, одежда и т.д.) и доходов (зарплата, стипендия, подарок и т.д.). Все категории, созданные под одним аккаунтом, могут быть доступны каждому члену семьи, использующему данный аккаунт.

    Данная таблица отражает все главные объекты с их атрибутами. На основе этой таблицы будут составлены связи между объектами и построена ER-диаграмма.


    1. Связи между объектами

    Для построения связей между объектами используется семантическая методология. В таблице отражены связи между объектами, кардинальность связей.
    Таблица 4

    Спецификация связей

    Объекты

    Показатель кардинальности

    Промежуточная сущность

    Пользователи (Users) - Операции пользователей (Users_operation)

    1:M

    -

    Категории операций (Category_operation) - Операции пользователей (Users_operation)

    1:M

    -

    Счета (Scheta) - Операции пользователей (Users_operation)

    1:M

    -

    Пользователи (Users) - Счета (Scheta)

    1:M

    -

    Пользователи (Users) - Категории операций (Category_operation)

    1:M

    -




    1. ER- диаграмма предметной области

    ER – диаграмма представляет собой модель данных, которая описывает ту или иную область. В основе такой диаграммы лежат концептуальные схемы. В ней выделены ключевые сущности и связи между ними. На основе вышеприведенных таблиц, была построена диаграмма, отражающая связи объектов. Диаграмма будет служить основой для проектирования информационной базы данных в приложении. ER – диаграмма на Рис. 13


    Рис. 13 ER-диаграмма
    1. Пользовательский интерфейс

    1. Описание пунктов пользовательского интерфейса





    Рис. 14 Карта приложения
    При открытии приложения пользователь попадает на окно авторизации, в котором необходимо ввести почту и пароль. Если данные введены корректно, то пользователь попадает на главное окно приложения. Также из окна авторизации можно попасть в окно регистрации.

    Главное окно содержит меню, которое состоит из четырех вкладок:

    • Счета;

    • Операции;

    • Менеджер категорий;

    • Отчеты

    Из пункта меню «Счета» можно попасть на окна «Редактирование счета» и «Добавление счета». Из пункта меню «Операции» можно попасть на окна «Редактирование операции» и «Добавление операции».
    1. Дизайн приложения


    Кнопки управления имеют интуитивно понятные иконки. При выборе пункта меню, под иконкой появляется название, что так же влияет на понимание пунктов меню.

    Иконка меню «Счета» (Рис. 15).


    Рис. 15 Иконка «Счета»
    Иконка меню «Список операций» (Рис. 16).


    Рис. 16 Иконка «Список операций»
    Иконка меню «Категории» (Рис. 17).


    Рис. 17 Иконка «Категории»
    Иконка меню «Отчеты» (Рис. 18).


    Рис. 18 Иконка «Отчеты»
    Кнопки управления в разрабатываемом приложении расположены снизу экрана не случайно (Рис. 19).


    Рис. 19 Расположение кнопок управления в разрабатываемом приложении
    Данное расположение элементов управления связано с удобством доступа к нижней области экрана мобильного устройства (Рис. 20).


    Рис. 20 Комфортные зоны расположения элементов управления
    Одним из наиважнейших аспектов удобства интерфейса является цвет. На Рис. 21 приведены цвета, используемые в приложении. Количество и оттенок выбранных цветов не перегружает зрительное восприятие.



    Рис. 21 Цветовая палитра приложения
    На Рис. 22 представлены эскизы возможных иконок для разрботаного приложения. Иконка была разработана в приложении AdobePhotoshop. Выбранная конка отражает суть работы приложения.



    Рис. 22 Иконка мобильного приложения (сверху эскиз, снизу готовый вариант)


    1. Реализация мобильного приложения


    1. Архитектура приложения

    В приложении использовалась двухзвенная архитектура «клиент-сервер» (Рис. 23). Двухзвенная архитектура используется в клиент-серверных системах, где сервер отвечает на клиентские запросы напрямую и в полном объеме.

    С клиентом работает пользователь. Он нужен, чтобы превратить программный код в красивую и понятную картинку. Пользователь не понимает язык программирования. Он понимает формочки и кнопочки. На клиенте находится логика в стиле «запросить информацию и красиво отрисовать».

    Плюсы данной архитектуры:

    • Сервер мощнее

    Приложение должно работать быстро. Чтобы оно не зависало, нервируя клиента и заставляя его ждать, вся основная логика вынесена на сервер. Клиентов может быть много и мобильные устройства могут быть слабыми, поэтому сервер мощный.

    • Код не дублируется

    Если бы были только клиенты, на каждом хранился бы одинаковый код по обработке логики и лежала бы вся база данных. Так как есть сервер не надо дублировать код, вся основная логика вынесена на сервер.

    • С сервером безопаснее

    На сервере и в базе хранится информация, недоступная простому клиенту. По запросу клиента мы выводим только интересующую его информацию, а не всю из базы данных.


    Рис. 23 Двухзвенная архитектура «клиент - сервер»
    Для работы с сервером была использована библиотека Volley [8]. Volley - это HTTP-библиотека, которая упрощает и ускоряет работу в сети для приложений Android.

    Клиент, выполняя какое-либо действие, обращается к PHP-скрипту, расположенном на сервере, который возвращает данные как JSON, в приложении этот JSON «разбирается» по частям и предоставляется клиенту в удобном виде. Структура JSON приведена на Рис. 24.

    В данном случае используется JSON, так как он прост, легко читается, широко поддерживается.


    Рис. 24 Структура JSON
    Ниже приведен пример кода получения категорий операций пользователя из БД.

    String url = "https://clientserverdiplom.000webhostapp.com/getUserCategory.php";

    Map params = new HashMap();

    JSONObject parameters = new JSONObject(params);

    JsonObjectRequest request = new JsonObjectRequest(Request.Method.POST, url,parameters,new Response.Listener(){

    @Override

    public void onResponse(JSONObject response) {

    ArrayList> arrayList = new ArrayList<>();

    HashMap map;

    try {

    JSONArray jsonArray = response.getJSONArray("category_operation");

    for (int i= 0; i< jsonArray.length(); i++){

    JSONObject category_operation = jsonArray.getJSONObject(i);

    String name_category = category_operation.getString("name_category");

    int pid = category_operation.getInt("pid");

    map = new HashMap<>();

    map.put("Name_category", name_category);

    arrayList.add(map);

    int[] to = {R.id.MainTitle,R.id.Pid};

    SimpleAdapter adapter = new SimpleAdapter(context, arrayList,R.layout.category_row,

    new String[]{"Name_category", "Pid"},to);

    listView.setAdapter(adapter);}});

    mQueue.add(request);

    Вначале идет обращение к php-файлу, лежащему на сервере, по url. Далее формируется JSON массив, в который попадает нужная пользователю информация, в примере категории операций (ИД категории и название). После этого мы построчно записываем информацию в поля, для вывода пользователю.

    Код php-файла, к которому идет обращение, в котором происходит выборка данных из БД, в зависимости от ИД пользователя (у каждого пользователя свои категории):


    $response = array();

    $var = json_decode(file_get_contents("php://input"),true);

    $id_user = $var['id_user'];

    $result = $db->query("SELECT * FROM `category_operation` WHERE id_user = "`.$id_user.` "");

    $response["category_operation"] = array();

    while( ($result_set = $result->fetch_assoc())!=false ) {

    $category_operation = array();

    $category_operation["pid"] = $result_set["id_category"];

    $category_operation["name_category"] = $result_set["name_category"];

    array_push($response["category_operation"], $category_operation);}

    $response["success"] = 1;

    echo json_encode($response);

    ?>

    1. Проектирование интерфейса мобильного приложения

    Ниже показаны эскизы экранов приложения (слева) и реализованные экраны приложения (справа).

    Экран «Операции» (Рис. 25). На данном экране выводятся все операции пользователя.


    Рис. 25 Экран «Операции»
    Экран добавления новой операции (Рис. 26). На данном экране пользователь может добавить новую операцию, указав тип операции (доход/расход), категорию, счет и сумму.


    Рис. 26 Экран добавления операции
    Экран «Категории» (Рис. 27). На данном экране выводятся все пользовательские категории.



    Рис. 27 Экран «Категории»
    Экран добавления новой категории (Рис. 28). На данном экране пользователь может добавить новуую категорию, которую впоследствии сможет использовать при создании операции.


    Рис. 28 Экран добавления категории
    Экран «Счета» (Рис. 29). На данном экране выводятся все созданные пользователем счета.


    Рис. 29 Экран «Счета»
    Экран добавления нового счета (Рис. 30). На данном экране пользователь может создать новый счет.


    Рис. 30 Экран добавления счета

    Экран «Отчеты» (Рис. 31). На данном экране пользователь может увидеть отчет по выбранному виду и по периоду.


    Рис. 31 Экран «Отчеты»



    Заключение


    В результате выполнения работы были разработаны диаграммы последовательности действий, ER-диаграмма для создания информационной базы. Также было разработано мобильное приложение для учета семейного бюджета.

    Функционал мобильного приложения позволяет заносить расходы и доходы, а также видеть список операций, совершённых членами семьи. Таким образом приложение позволило отслеживать движение денежных средств семьи. Так как приложение реализовано для мобильных устройств, механизм внесения расходов и доходов более удобный и быстрый. Также приложение позволяет получить отчетную информацию о всех денежных потоках семьи.


    Список литературы


    1. Раздел «Анатомия семейного бюджета» сайта «Экономсовет» [Электронный ресурс]. Режим доступа: http://economsovet.ru/anatomiyasemejnogo-byudzheta.html

    2. Раздел «Бюджет» сайта «Экономический словарь» [Электронный ресурс]. Режим доступа: http://abc.informbureau.com/html/apaaeao.html

    3. Раздел «Что такое семейный бюджет» сайта «Семейная экономика» [Электронный ресурс]. Режим доступа: http://familyeconomics.ru/chto-takoe-semejnyj-byudzhet/

    4. Раздел приложения «Money Lover – учет расходов» сайта «Google play» [Электронный ресурс]. Режим доступа: https://play.google.com/store/apps/details?id=com.bookmark.money

    5. Раздел приложения «FinancePM» сайта «Google play» [Электронный ресурс]. Режим доступа: https://play.google.com/store/apps/details?id=com.finperssaver

    6. Раздел приложения «Andromoney» сайта «Google play» [Электронный ресурс]. Режим доступа: https://play.google.com/store/apps/details?id=com.kpmoney.android

    7. Сайт для составления диаграмм [Электронный ресурс]. Режим доступа: https://www.diagrams.net

    8. Использование библиотеки Volley [Электронный ресурс]. Режим доступа: https://habr.com/ru/post/495976/


    написать администратору сайта