作者简介作者简介:覃继恒(1983-),男,硕士,广东医学院东莞科研中心医学系统生物学研究所助理实验师,研究方向为生物信息学、计算机软件编程。0引言
当前,国外人力资源管理系统在成熟度和先进性上都要优于大多数国内产品[1]。中西方文化存在差异,国内企业在人力资源管理过程中更强调人性化,而非制度化,所以国外引进的人力资源管理系统在实用性、有效性上不能很好地满足国内用户的要求。企业在自行开发人力资源管理系统过程中,往往由于内部开发人员缺乏项目经验,导致应用与需求相悖,系统不能起到应有的作用[ 2]。本文基于uml技术,探讨人力资源管理系统开发。
1统一建模语言uml
在软件开发过程中,建立简洁的系统模型更容易受到开发人员的青睐[3]。统一建模语言uml作为一种建模工具,是在booch、omt、oose等面向对象的方法的基础上发展起来的[4]。它融合了上述多种面向对象的方法在各类系统开发中的优点,从而有效消除了各种建模语言之间的差异。uml由事物(things)、关系(relationships)、图(diagrams)等几个部分组成[5],可以分为关联关系、依赖关系、实现关系、类属关系等4种关系[6]。
2基于uml的人力资源管理系统需求分析
2.1系统顶层用例图
如图1所示,人力资源管理系统涉及4种角色、8个功能模块,不同角色对应不同的功能模块。具体如下:①超级系统管理员。对系统管理员进行管理操作,设置多个系统管理员并赋予其不同的权限;②系统管理员。主要对公司、部门、职务等进行管理;③人事管理员。具体操作系统,如员工招聘、绩效考核、更新职员信息等;④普通职员。可以对职员个人信息进行编辑等。系统顶层用例图中每一个管理模块均可以进一步细化,如组织机构管理用例可以细化成公司管理、部门管理、职业管理3个部分。
图1人力资源管理系统顶层用例
2.2组织机构管理用例图
如图2所示,组织机构管理用例图是人力资源管理系统的重要部分,主要包括公司管理、部门管理和岗位管理3个功能模块,由系统管理员对这3个模块进行增加、删除、修改等基本操作。
图2组织机构管理用例
部门管理子系统中,系统管理员可以对公司中部门职务进行新增、删除、修改等操作。文本以新增部门职务相关事件流及其活动图(见图3)为例进行说明,详细描述操作中涉及的基本事件流、备选事件流以及所有可能的操作。
图3新增部门职务用例
(1)基本事件流。描述该用例的基本流程,指每个流程都正常运作时所发生的事情,没有任何备选流和异常流,只有最有可能发生的事件流。首先,系统管理员成功登录系统后,选择管理组织机构界面,再依次选择公司、部门管理、新增职务,然后输入职务名称、职务描述等基本信息,最后提交至数据库。
(2)备选事件流。表示此行为或流程为可选或备选,不一定都要执行,备选事件流为发生了某些非正常操作所要执行的流程,主要包括不满足提交条件及重置两个事件,其中不满足提交条件包括未完整填写所需信息和提交信息非法两种情况。
2.3新增部门职务活动图
活动图是uml对系统动态行为进行建模的一种常用工具,用于描述活动的顺序,展现从一个活动到另一个活动的控制流。活动图在本质上是一种流程图,着重表现从一个活动到另一个活动的控制流,是内部处理流程。
新增部门职务活动图(见图4)中,通过登录界面进行登录,并校验登录数据的合法性。如果登录合法,则从公司列表中选择需要进行新增部门操作的公司,再选择部门,选中部门职务,并将更新对应数据库中的数据表。
图4新增部门职务活动用例
3基于uml的人力资源管理系统设计与实现
3.1系统框架总体设计
明确系统需求后,系统开发的主要任务是分析所涉及的技术问题及限制,制定解决方案,并通过具体代码编程来实现。如图5所示,本系统开发总体为三层架构,架构之间自下而上的依赖关系为:底层为数据访问层,业务逻辑层依赖于底层,而表示层依赖于业务逻辑层。
图5层依赖关系
3.2系统类图
以本系统组织机构类图和人事管理类图为例(见图6),共定义了3个组织机构相关的类:企业类(company.cs)、部门类(department.cs)和职位类(jobposition.cs);与企业职员相关的类有:职员类(
employeeuser.cs)和职员职位类(empposition.cs)。由此类图可以得出类之间的关系:company与department、department与jobposition、company与employeeuser、department与employeeuser都是一对多的关系;empposition与jobposition为多对多的关系。
4结语
基于uml设计和开发人力资源管理系统,可以加强系统开发的规范性,充分利用三层架构设计,并结合面向对象程序设计的思想,使系统具有良好的扩展性,可为此类软件或系统开发应用提供参考。