薪水支付案例(1)

来源:互联网 发布:java中反射method 编辑:程序博客网 时间:2024/06/06 02:03

薪水支付案例选自敏捷软件开发(原则、模式与实践)书,将书中代码用java实现。

下面会给出薪水支付案例的相关说明:

1.实现:为每个雇员支付薪水。按照规定方法准时给雇员支付正确数目的薪水,同时必须从雇员薪水中减去各种扣款。

2.雇员分类:

  • 雇员为钟点工

    按照雇员记录中每小时报酬字段值进行支付。临时雇员每天提交工作时间卡(记录了日期以及工作和时间)如果每天工作时间超过8小时,超过时间按照正常工资1.5倍支付。每周五支付

  • 正常雇员

    月底对他们进行支付

  • 带薪雇员

    根据销售情况,进行支付酬金,需要他们提交销售凭条,记录销售日期和数量

3.支付方式:雇员可以选择支付方式

  • 将支付支票邮寄到指定的邮政地址
  • 支票保存在出纳人员那里随时提取
  • 将薪水直接存入他们的银行账号

4.扣除情况:

协会雇员,雇员记录中有一个每周应付款项字段,需要从薪水中扣除,有时也会针对单个雇员进行扣除。协会每周会提交服务费用,服务费用会从相应雇员下个月薪水总额中扣除

5.工作方式:

每天运作一次,为当天相应雇员进行支付,系统会告知雇员的支付日期,这样会计算从上次支付日期到这次支付日期印支付的费用

6.用例分析:

(1)增加新雇员:
1>正常情况:增加成功
2>异常情况:操作结构有错误,打印出来

通过Command模式创建:
这里写图片描述

(2)删除雇员
1>正常情况:删除对应雇员记录
2>异常情况:无效或未知的empId

(3)登记时间卡
1>正常情况:创建一条时间记录卡记录,并把该记录与对应的雇员记录关联起来。
2>异常情况:1)所选择的雇员不是钟点雇员
2)描述的操作结构中有错误
这里写图片描述

(4)登记销售凭条
1>正常情况:创建一条销售记录,并把记录与对应的雇员记录关联起来
2>异常情况:1)所选的雇员不是应付酬金的雇员
2)描述的操作结构有错误
这里写图片描述

(5)登记协会服务费
1>正常情况:创建一条服务费用记录,并把该记录与对应的协会成员关联起来
2>异常情况:描述的操作结构有错误
这里写图片描述

(6)更改雇员明细(基本信息,协会会员信息等)

可能操作:

  • 更改雇员名
  • 更改雇员地址
  • 更改每小时报酬
  • 更改薪水
  • 更改酬金
  • 持有支票
  • 直接村矿
  • 邮寄支票
  • 使雇员加入协会
  • 从协会去掉雇员

(7)在当日运行薪水支付程序

系统找出所有应该在指定日期进行支付的雇员,确定他们的应扣款项,并根据他们的支付方式进行支付。
因为钟点工薪水支付时间为每周五,带薪员工薪水支付时间为隔一周周五,正常员工为月末最后一天,所以将薪水支付时间抽象出来。

系统的核心模型如下:
这里写图片描述

后续将会逐一分析各个用例,并给出代码

原创粉丝点击