48

对于包含财务会计功能的软件的设计模式或其他最佳实践,是否有任何好的资源(书籍、权威指南等)?

具体来说,关于处理以下问题的好信息在哪里:

  • 货币数量的内部表示
  • 帐户、日记帐和其他记录的内部表示
  • 协调不一致(自动或通过用户操作)
  • 处理会计期间的结束(每天、每周、每月)
  • 设计对商人有意义的用户界面和打印的财务报告

注意:我们在这里寻找“权威”或其他被广泛接受的信息。否则,这只会​​变成人们尝试过的所有事情的一大堆轶事,使话题变得非常主观。

4

7 回答 7

60

不久前,当我被分配到这样一个系统上工作时,我在 Martin Fowler 网站上找到了这个链接:

Martin Fowler - 会计模式

它包含会计软件的一些模式,例如会计分录、交易和调整。他描述的架构是基于事件的。从来没有完整地阅读过它,因为我工作的系统已经处于开发阶段的中间,我无法更改设计。

希望能帮助到你。

于 2008-10-02T17:45:49.417 回答
29

Martin Fowler 的分析模式涵盖了其中一些主题。

于 2008-10-02T17:41:18.490 回答
15

I would have the following structural classes:

  1. Account - Represents a financial account. eg. Cash, Sale, Expense;
  2. Category - The category where the Account belongs to. eg. Asset, Expenses, Revenues;
  3. Mutation - Represents a financial entry of an account.
  4. Transaction - Contains a collection of mutations.
  5. Money - A composite class using Currency object and storing amount as long integer;

When I approached the design initially I kept thinking about Decorator and Builder Patterns. Tax calculation can use the Strategy Pattern. Observer Pattern can be used to veto Transaction.

于 2009-10-05T08:18:38.760 回答
8

在处理货币时,请记住,您不仅要记住输入金额的货币,还要记住输入的时间,以及当时每种货币的汇率。此外,当涉及到金额的“不准确”时,会计师也不会原谅。如果输入了金额,您必须将其存储为输入的金额,而不是先将其转换,因为之后您将无法保证您可以像输入的金额一样取回输入的金额。

这些听起来似乎是显而易见的事情,但在现实世界中人们确实对他们犯罪。

于 2008-10-02T17:56:23.493 回答
3

我可以推荐企业应用程序架构模式和 分析模式, Martin Fowler 的可重用对象模型,它们为常见问题提供软件架构模式。

于 2008-10-02T17:48:27.520 回答
3

I find the Data Model Resource book to be a good source of inspiration for modeling business structures. Apache Ofbiz ERP was built around the concepts in this book.

于 2013-01-27T10:32:15.957 回答
0

对于 UI / 报告:查看 Crystal Reports 和 Business Objects。两者都在我在投资会计部门的工作地点使用。

我们在这里使用其他的内部结构(JD Edwards),但除了“是的,确实如此”之外,我无法真正深入细节

于 2008-10-02T17:43:22.230 回答