Как я могу смоделировать данные бюджета для бюджетного приложения?

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

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

Вот краткий список требований, которые я составил:

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

Варианты использования, выделенные жирным шрифтом, - это те, с которыми я борюсь.

Я играл с идеей иметь объект «Ежемесячный бюджет», с которым могла бы быть связана каждая транзакция; но это казалось слишком сложным для реализации в базе данных, потому что мне пришлось бы реализовать диапазон дат вместо простой даты.

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

Я играл с идеей «фальшивых денег», которые можно было бы использовать в бюджете, тем самым разделяя «реальные деньги» и «бюджетные деньги» - но не мог осмыслить это логически.

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


person Kurtis    schedule 21.12.2015    source источник


Ответы (1)


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

Типичная модель данных коммерческого бюджета устанавливает бюджеты в виде периодов (ежемесячно в вашем определении) и статей бюджета с суммами. При выплате средств платеж применяется к соответствующей статье (ам) бюджета, частично или полностью. Чтобы узнать, сколько вам осталось потратить в своем бюджете, вычтите все примененные платежи.

Если это касается личных финансов, люди работают на кассовой основе. Однако применяются те же принципы. Таким образом, у вас будет счет за продукты на 220 долларов. Может быть, 150 долларов из этой суммы были потрачены на обычную еду, которую мы едим всю неделю, а остальные 70 долларов - на рождественскую вечеринку. Когда вы придете домой и введете счет за продукты в компьютер, вам понадобятся следующие варианты:

  • Потратьте все 220 долларов на бакалею, потому что их нужно где-то приумножить;
  • Примените 150 долларов к продуктовому магазину и примените 70 долларов к сезонным развлечениям;
  • Примените 150 долларов к продуктовому магазину, а 70 отложите в сторону, потому что я еще не установил сезонный бюджет на развлечения. Мы не хотим, чтобы пользователь останавливал весь процесс, чтобы создать дополнительные бюджеты для ввода счета за бакалею, иначе он / она больше не будет добросовестно вводить счет за бакалею, потому что это просто слишком много работы.
person S. Rojak    schedule 21.12.2015