【员工考勤系统】
现要为某单位开发一款“员工考勤系统”,其开发背景和问题如下。
作为 Acme 公司的信息主管,你被委托开发一款新的考勤系统。要求新系统允许员工 记录电子的考勤信息并自动产生员工的工资支付信息。
新系统运行在整个公司内部的每名员工的计算上,考虑到安全和隐私方面的原因,每名员工只能访问和编辑自己的考勤信息和工资支付信息,但是项目经理可以查看和编辑本项目组内部所有员工的信息。
新系统用于维护公司内部所有的员工信息(目前公司大约有500多名员工),系统必须能够按照员工的考勤信息按时正确地计算工资信息。由于费用原因,目前公司并不打算替换已有的遗留数据库系统 一项目管理数据库。在该数据库中保存着公司所有的项目信息及相关的工资级别代码,属于不同项目的员工,其工资的计算方式并不相同(根据工资级别代码来区分)。该数据库采用的是运行在1IBM 主机上的 DB2系统。考勤系统需要访问该数据库的信息,但不进行更新操作。
公司内部按项目组的形式管理,项目经理负责整个项目组;而组内一般存在3类雇员。
第一类为小时工,其工资按照小时计算。他们每天需要记录当天的工作小时,根据工作时间和所属项目的工资级别代码来计算当天的工资;如果当天工作超过8小时,则超过的部分按加班计算(工资为平时的1.5倍)。这类员工每周五结算本周工资。
第二类为普通员工,其工资每月固定。为了跟踪他们的上班情况,他们每天也需要记录当天的工作时间,某些项目组可能会根据该工作时间对员工进行奖惩(具体奖惩措施本系统不处理,由项目经理自行决定)。这类员工每个月末结算工资。
第三类为销售人员,这类员工不用每天记录考勤信息,而是记录当天完成的订单情况。其工