我想创建一个应用程序,允许用户在给定的一个月内将他们已经拥有的资金预算到不同的类别中。
我已经对处理有形数据(如银行账户、交易、转账)进行了建模和原型化。我遇到的问题是把这些“真实”的数据(放在你银行里、口袋里或银行对账单上的东西)与这些虚假的预算概念(或者,我喜欢考虑的是,信封)联系起来。
下面是我列出的一系列要求:
用户可以管理其财务帐户
用户可以管理其财务事务
用户可以将每个交易与财务帐户关联
用户可以在账户间转账
用户可以每月为给定的预算类别分配可用资金
用户可以修改现有的每月预算类别(减少或增加)
用户可以查看给定每月预算类别的剩余金额
用户可以查看可用于预算的金额(可能为负数)
预算类别的剩余金额可以结转到下个月
用户可以查看其财务帐户总计(不应受预算影响)
用户可以创建预算类别作为最终可能完成的目标(例如,为新车节省开支)
(可能我忘记了其他一些用例)
粗体的用例是我正在努力处理的用例。
我曾想过要有一个“monthlybudget”对象,每个事务都可能与之相关;但在数据库中实现这个对象似乎过于复杂,因为我必须实现一个日期范围,而不是一个简单的日期。
我想把这些每月的预算类别当作账户来处理,其中一个只需向它们转账;但是用户没有办法用系统中的数据交叉检查他们的银行对账单。
我玩的是“假钱”的概念,在这个概念中,预算会以某种方式加以利用,从而将“真钱”和“预算钱”区分开来,但无法从逻辑上思考这个问题。
我有点不知所措,找不到一种简洁明了的实现方法,特别是使用关系数据库进行存储。如果有人有任何建议或想法,我将非常感激。

最佳答案

人们对预算包络法感到沮丧的原因是,它将预算分配与实际存在的特定货币联系起来,而货币是可替代的,无论来源如何,都可以与预算相提并论。此外,当你开支票或刷卡时,它可能是用于包含多个预算项目的购买。
典型的商业预算数据模型按期间(在您的定义中为每月)和预算项目(含金额)设置预算。在支付资金时,付款部分或全部适用于适当的预算项目。为了找出你在预算中剩下的开支,减去所有申请的付款。
如果这是个人理财,人们是以现金为基础的。然而,同样的原则也适用。所以你的杂货账单是220美元。也许其中150美元是我们一周吃的普通食物,另外70美元是圣诞派对。当你回家把购物单输入电脑时,你会想要选择:
把220美元全部花在杂货店,因为它必须在某处补足;
将150美元用于杂货店,将70美元用于季节性娱乐;
把150美元花在杂货店,把70美元放在一边,因为我还没有制定季节性的娱乐预算。我们不想让用户为了输入杂货账单而停止创建更多预算的整个过程,否则很快他/她将不再忠实地输入杂货账单,因为这只是太多的工作。

07-26 09:09