这是我遇到的第一个项目,NSUserDefaults
无法使用NSCoding
协议。我被要求写一些POS软件。
基本上,应用程序需要存储一堆产品,价格和销售帐户。用户应该能够添加项目和帐户,并跟踪一段时间内的帐户余额。账户余额应该能够从一个“会话”(时间段)转移到下一个会话。
我对这些概念感到满意,但我想确信我正在对此进行建模。 以下是我对数据进行建模的方式。我想知道我是否做得恰当或是否有任何明显的错误/遗漏。
我创建了一个“帐户”实体,它具有以下属性:
我为每个Session创建了一个实体。同样,会话就像一个会计月。会话将具有自定义名称和ID。
当然,产品有名称和ID。还存在与“价格”对象的关系,因此我可以在不影响余额的情况下更改价格。
请参阅Xcode 4的截图,其中完整地解释了我的模型:
修改:
看着这个,似乎我错过了一些重要的信息,例如交易日期等。那就是说,我是否在正确的轨道上?
答案 0 :(得分:3)
根据我的经验,销售点交易列出了在三个表格中重新创建收据所需的所有数据,标题(认为销售日期,单一跟踪实体),所有待售物品的一组记录(链接回销售标题),以及所有付款方式的一组记录(再次链接回销售标题)。
这将使您有机会在将来重建单个交易。此外,这是一个简单的模型,但应该足以满足您的要求。名义上你还要跟踪每个项目的应用折扣,每发票折扣和每组折扣等。
会话和交易之间的关系是什么?
答案 1 :(得分:2)
你可能不需要有价格的实体,因为它可能只是一个浮动。我建议您为产品实体添加price属性。
我不知道交易是否需要名字,我想如果你想要有笔记,那么他们就应该这样做。
此外,交易应该与产品有很多关系。
这是在单个设备上使用还是会有很多用户?如果每个用户(帐户)负责自己的数据,那么拥有事务/会话而不是事务/用户可能更有意义。