【员工考勤系统】
现要为某单位开发一款“员工考勤系统”,其开发背景和问题如下。
作为 Acme 公司的信息主管,你被委托开发一款新的考勤系统。要求新系统允许员工 记录电子的考勤信息并自动产生员工的工资支付信息。
新系统运行在整个公司内部的每名员工的计算上,考虑到安全和隐私方面的原因,每名员工只能访问和编辑自己的考勤信息和工资支付信息,但是项目经理可以查看和编辑本项目组内部所有员工的信息。
新系统用于维护公司内部所有的员工信息(目前公司大约有500多名员工),系统必须能够按照员工的考勤信息按时正确地计算工资信息。由于费用原因,目前公司并不打算替换已有的遗留数据库系统 一项目管理数据库。在该数据库中保存着公司所有的项目信息及相关的工资级别代码,属于不同项目的员工,其工资的计算方式并不相同(根据工资级别代码来区分)。该数据库采用的是运行在1IBM 主机上的 DB2系统。考勤系统需要访问该数据库的信息,但不进行更新操作。
公司内部按项目组的形式管理,项目经理负责整个项目组;而组内一般存在3类雇员。
第一类为小时工,其工资按照小时计算。他们每天需要记录当天的工作小时,根据工作时间和所属项目的工资级别代码来计算当天的工资;如果当天工作超过8小时,则超过的部分按加班计算(工资为平时的1.5倍)。这类员工每周五结算本周工资。
第二类为普通员工,其工资每月固定。为了跟踪他们的上班情况,他们每天也需要记录当天的工作时间,某些项目组可能会根据该工作时间对员工进行奖惩(具体奖惩措施本系统不处理,由项目经理自行决定)。这类员工每个月末结算工资。
第三类为销售人员,这类员工不用每天记录考勤信息,而是记录当天完成的订单情况。其工资的计算方式是根据当月的订单情况进行提成。根据订单的性质不同,提成的比例也 有所差别,具体提成比例有5%、10%、15%、25%这4个档次。这类员工工资也是在每个月末结算。
新系统另一个最重要的特征就是所有的员工可以随时查看自已的考勤信息,对于员工而言,提交的考勤信息不允许修改(如果实在存在错误,可由项目经理修改);在每个月末(对于小时工则为每个周末),还可以查看自己本月的工资支付信息(以前的工资信息可随时 查看)。
为了保证员工能够及时地获得本月的工资情况,该系统在每个周五和每个月末会自动运行,为员工产生相应的工资信息,并及时提醒项目经理确认工资信息。经项目经理确认后 的工资信息即可公开给员工。
业务用例图
业务用例活动图
分区:
1、小时工
2、普通员工
3、销售人员
4、项目经理
(ps:也可以将这几类员工合并为员工,看个人想法)
走流程:(注:只能有一个起点,终点可以有无数个)
大概流程及细化:
小时工和普通员工
小时工和普通员工进行细化:
1、在员工【工作】之后员工可以选择是否加班(决策点)
2、员工【打卡下班】后可以查看自己的考勤信息
3、细化 图中员工看见自己的工资将其分为 查看以前工资 和 查看本周(月)工资
销售人员
销售人员进行细化:
1、细化 图中员工看见自己的工资将其分为 查看以前工资 和 查看本月工资