《敏捷软件开发》学习笔记 第18章 薪水支付案例研究

第一次画的UML类图是很潦草的,但凡事都从第一次开始,然后不断迭代。

刚开始,从客户那里得到如下信息:

1.职员分为钟点工,普通职员,销售(可以拿提成)

2.职员可以选择薪水支付方式,支票发放,现金发放,和银行卡打款。

3.公司有一个协会(工会?),加入协会的职员每个月收取一定的会费,从工资中扣除。

--------------------------------------------------------------------------------

然后通过客户给出的信息,模拟使用例子:

1.增加职员

2.删除职员

3.支付薪水

等等。。。

--------------------------------------------------------------------------------

关于增加职员的操作,书中给出这样的UML类图:

 

一般去实现增加职员这个操作,通常会联想到数据库,直接连接数据库然后加一条数据不就完事了吗?

但是真正需要的是得到一个新职员的对象模型,一个数据类型。

其中有一些操作只有钟点工才能做的,比如时间卡的时间累积。

比如增加销售凭条就是销售才有的。

这个是需要注意的一方面。

--------------------------------------------------------------------------------

薪水操作,书中的UML类图是这样的:

像TimeCard, SalesRecelpt这样的功能,都用组合来实现了。往往自己开发的时候图方便,肯定都直接写到类里面去了。

归属Affiliation,的部分用了空对象模式NoAffiliation类。

这样的结构有种以职员为中心的感觉。

对于钟点工的薪水支付,书中图片如下:

另外一种也差不多

原文地址:https://www.cnblogs.com/hont/p/3130674.html