如果你要为一个会计事务所设计软件,那么本文内容明显属于幼儿园水平。但是如果你只是在一个小软件中加一点财务功能,那么本文可以提供一点思路。假设我们需要开发一个幼儿园学生管理系统,其中有个子项功能是收费管理。
首先我们要设计两张记录表,分别记录消费行为和支付行为。这里需要强调的是消费行为和支付行为万万不可设计成1:1的关系,最少应该是N:1的关系,因为现实生活中,学生家长完全可以一次性支付多个多个消费行为。比如说大部分家长按月缴纳学费,但是有些家长喜欢拖欠,每两个月缴纳一次,每次缴纳两个月学费。
其次我们要设计一张消费凭证实体表,记录发票或者收据的信息。这里需要强调的是消费凭证不要和消费行为强关联,应该和支付行为强关联,两者应该是1:N的关系。一个消费凭证可以覆盖多个支付行为。
这里讲一下记录表和实体表的区别,实体表每条记录代表某个东西,比如说一个人,一辆车,一个公司。记录表每条记录代表了一件事情,比如说吃了一顿饭,请了一次假。
最后就是计费规则表,对于只支持手工收费的软件系统,计费规则只是协助系统,帮助财务人员在收费时算一下总数,它不具备强制性。根据用户的需求,计费规则可以比较简单,比如说每人每月收费完全相同,雷打不动都是1000元(不足一个月依然收1000元)。计费规则也可以非常复杂,比如说根据不同学生的历史消费情况给出不同折扣,在本幼儿园缴纳学费超过20000元的家长打九折,在本幼儿园缴纳学费超过50000元的家长打八折等等。