考勤系统的业务概念图

简介:
业务概念图是大家比较容易理解的说法,不少资料上提到的领域模型(Domain Model),你可以理解为业务概念模型。
我们课程尽量不使用大家难懂的词汇,下面我们继续以业务概念图来表达。

整理出系统的业务概念,我觉得是多个步骤中,最难也是最重要的步骤。
说它难,是因为:
1.并不是谁都能准确全面地识别出业务概念的。
2.要准确描绘这些概念的关系就更加难。
3.对这些业务概念进行提炼,是难上加难!
说它重要,是因为:
1.这是准确需求理解的基础。
2.这是数据库设计、实体类设计的输入。

在我们公司,尽管《需求规格说明书》中有“业务概念图”的章节,但很多项目经理都不能画好,很多复杂的系统只能画出非常简单的几个业务概念。能否做好其实很依赖于你的功力!

你可能会问:有些公司不用UML,不用类图的,难道他们就不能表达好业务概念?
那当然不是了,类图只是其中一种表达方式,一些公司会通过数据字典或者是详细的文字和表格来说明各种业务概念,不过我推崇的还是使用类图,类图强在方便表达类之间的关系和方便进行提炼!

回到这个考勤系统,考勤系统有什么业务概念、它们之间是怎样的关系呢?

我们强调了业务概念图这么高的难度,你可不要被吓怕了,越难的东西你掌握了你就约值钱!

请你尽你所能画出本系统的业务概念图,完成后才继续往下学习噢!

这是一个考勤管理系统,与考勤相关的重要业务概念有:考勤记录、请假记录、外出工作记录。
这个系统涉及到人和部门,故重要业务概念还有:部门、员工。

  



本图列出了关键的业务概念、业务概念的重要属性、业务概念之间的关系,相关业务规则通过注释来说明。

大家所在的公司情况不一样,大家对考勤的理解角度不一样,这个图就会不太一样。
请你比较你画的图与上图的差异,在线提出你的问题,讲师将会解答大家的疑问!

考勤记录
其实就是打卡记录。大家去打卡的时候,有想过打卡机记录了什么吗?打卡机记录了你的工卡的ID和打卡时间。

打卡机如何知道这是上班打卡还是下班打卡?其实它是不知道的,只能看时间与打卡顺序。
如:你们上午上班时间是9:00-12:00,但打卡机有一条记录显示打卡时间是10:30,请问这算上班打卡还是下班打卡?
光靠这些信息还不能判断,如果这是该ID当天的第一次打卡,应该算上班记录,如果是第二次打卡,则可能是下班打卡或者是外出工作时的打卡。

我们公司以前中午休息,大家是需要打卡的,下班时打一次,上班时再打一次,这样一天要打4次卡。中午要打卡的规定,导致了很多问题,大家中午很容易忘记打卡,这样就导致一个人一天只有2次或者3次的打卡记录,导致了一些管理上的混乱。后来我们取消掉中午打卡的规定,只需要上午上班和下午下班各打一次卡便可。
你思考这个考勤系统的时候,如何也遇到我们公司类似的中午打卡问题咋办?那就应该先做业务重组,用简单有效的办法来管理打卡。

你可能有这个问题:打卡机不是记录了员工的工卡ID和打卡时间吗?为什么考勤记录这个类没有工卡ID这个属性?
这个问题问得好!
考勤记录与员工这两个类之间是有关系的,我们看到一个员工有多次打卡记录,一次打卡记录只对应一个员工。也就说说这样的对应关系,已经反应了通过考勤记录是能找到相应的员工的,故考勤记录中不需要设工卡ID座位属性。
类似的,请假记录、外出工作记录类都没有“员工ID”之类的属性,绘制业务概念图时,我们不需要在类中体现它们的“外键”,事实上“员工ID”之类的属性,是这些业务类关系的实现方式之一而已,在需求阶段我们不需要也不应该明确这些关系的实现,何况实现方式还有其它可能呢!

请假记录:
只有开始时间与结束时间两个属性,你可能会问请假时长为什么不做为属性之一?
请假时长可以由开始时间与结束时间计算出来,这是一个“导出属性”,对于这样的情况,一般不需要在类中再加一个属性,概念图的类的属性,最好都是“原始”属性,不能由其它东西推导出来的。
当然到数据库设计、程序设计时,这些“导出属性”有可能会设计为数据库的字段和类的某个属性,但这是实现方式,绘制概念图时不需要也不应该明确这些内容。

请假是分类别的,类别没有直接放到请假记录的属性中,而是抽离出来。
请假类别是很重要的一个东西,不同的类别请假的流程、薪金减扣计算都不太一样,对于重要的类别,我一般会单独一个类来表示,并通过批注说明具体有什么类别。
这些类别,在数据库设计时往往被设计为单独的一个表,在程序中往往会使用枚举来表示。将这些重要类别单独一个类表示,可方便设计人员思考。

外出请假工作记录:
在思考这个类时,其实是有一些业务上的麻烦的。不知道大家外出工作流程是怎样的?
我们需要外出者填写外出申请,标明起止时间和工作内容等,同时要求如果需要外出时你在公司,则你还需要打卡才能外出。
我们之前还曾很“无聊”地规定所有销售人员,就算你当天一整天都要外出,你都需要先到公司打卡,当然我们后来取消这个不人性化的规定了。
不过现在还是存在问题,也就是很多情况下的外出工作,即需要填写外出申请,也需要打卡,也就是要求:外出工作记录与考勤情况应该是一致的,也就是外出工作记录类的注释所写的内容了。这样的要求有一定的管理麻烦,但暂时又想不出更简单有效的管理办法,这就意味着我们的考勤系统需要考虑这样的功能:能方便检查外出工作记录与考勤情况有没有出入。

整理业务概念时,你会有很多思考。考勤系统看上去不复杂,但涉及到每一个人的利益,涉及到公司的管理制度,就不是这么简单了。
当你去做一个业务系统需求分析时,你的工作重点其实是帮助客户重组业务流程,不使用系统手工操作时,很多工作是不严格和随意的,不整改这些工作,系统是无法做出来的。

重组业务是高难度的工作,你现在才重组了业务概念部分,准备下一个挑战吧,重组业务流程!

转:http://www.umlonline.org/school/thread-182-1-1.html


本文转自左正博客园博客,原文链接:http://www.cnblogs.com/soundcode/archive/2011/07/21/2112656.html,如需转载请自行联系原作者

目录
相关文章
|
16天前
|
监控 BI
财务智慧:全面解析ERP系统的财务管理模块
财务智慧:全面解析ERP系统的财务管理模块
17 0
|
29天前
|
新零售 供应链 搜索推荐
多门店核销系统开发|方案设计|详情分析
传统零售要向新零售转型并不是一件容易的事情
|
1月前
|
监控 数据管理
治理工作台升级,可手动录入质量问题,实现反馈有渠道、整改可跟踪
Dataphin V4.0版本升级治理工作台,支持手动录入数据质量问题,新增对“标签”对象的问题管理,并且可对问题进行分类。问题清单和整改流程也进行了优化,手动录入的问题和自动识别的问题可统一整改追踪,并提供操作记录,以增强数据质量管理的响应速度和效率。
253 2
|
3月前
|
小程序
大中型医院线上预约挂号系统源码,对接HIS,支持预约挂号、预约记录、在线支付、医保支付、医保信息、电子报告、住院每日清单查看等功能
预约挂号管理系统具备后台管理端和用户使用端,用户使用端包括:微信公众号、支付宝小程序。 技术架构:C#+.net+uni-app+ SqlServer 2012+ VS2019 ,自主研发,自主版权,多家三甲医院应用案例,有演示。
大中型医院线上预约挂号系统源码,对接HIS,支持预约挂号、预约记录、在线支付、医保支付、医保信息、电子报告、住院每日清单查看等功能
|
4月前
|
前端开发 Java 关系型数据库
【源码】医院绩效考核系统-对接HIS核算
【源码】医院绩效考核系统-对接HIS核算
31 0
|
4月前
|
数据可视化 BI
甲骨文ERP收款自动录入:提高财务效率,实现智能化管理
通过八爪鱼rpa自动化的方式,我们可以实现财务工作的智能化管理,提高工作效率和准确性。同时,八爪鱼rpa的使用也非常简单,用户可以通过可视化的界面进行操作,无需编写复杂的代码。因此,八爪鱼rpa不仅适用于大型企业,也适合中小型企业使用。
|
4月前
|
监控 计算机视觉
绩效考核系统
绩效考核系统
157 2
|
7月前
|
传感器 监控 安全
智慧工地管理系统的功能特点
智慧工地管理系统将人工智能技术、传感器技术、虚拟现实技术等更多高新技术嵌入到建筑、机器、人员佩戴的设备、工地出入口大门等各种物体中,广泛互联形成“物联网技术”,再与“互联网技术”融合,完成项目管理利益相关者与项目施工现场的融合。智慧施工现场的关键是以“更智能”的形式完善各利益相关者与岗位人员之间的信息交互形式,便于提高信息交互的清晰性、高效性、灵活性和响应速度。
|
8月前
|
供应链 JavaScript
点晴模切ERP系统如何协助PMC计划员做好物料的齐套控制
众所众知,多物料合并生产类业务中,生产计划部门的计划和物控人员,差不多有80%的时间,在处理物料问题:欠料、欠料和欠料。
101 0
|
9月前
|
Windows
学生信息管理系统优化(一)
学生信息管理系统优化(一)
55 0