军队医院招聘人员管理系统的研发
2010-01-06杨宇李丽张萍孙艳
杨宇,李丽,张萍,孙艳
军队医院招聘人员管理系统的研发
杨宇,李丽,张萍,孙艳
军队医院;招聘人员;信息化系统;PowerBuilder
R197.3
C
1 系统的功能架构设计
通过对笔者所在医院招聘工作流程进行反复剖析,大量听取相关专家的合理化建议,对系统需求进行详细分析,得到了系统的功能性需求和非功能性需求,并且利用Rational Rose软件,进行系统的UML建模,画出了系统的用例结构图,并对其重点模块以状态图和时序图的形式进行了具体描述。通过以上对系统的分析,笔者将系统分为如图1所示的几大功能模块。
图1 招聘人员信息管理系统功能模块图
除上述几个功能模块外,系统还包括信息系统必须具备的其它通用功能模块,例如系统管理、权限设置管理,数据备份与恢复等。
2 系统的逻辑架构设计
系统从结构上分为Browser/Server结构和Client/Serve结构,它们各有优势,B/S结构将应用程序逻辑和页面显示分离,属于集中式管理,客户端不必安装特殊的软件,但其需要高性能的服务器[1]。而C/S结构客户端就可以对用户的操作做出一定的处理工作,从而极大的减轻了服务器的负担。鉴于笔者所在医院招聘人员信息管理的工作需求和局域网络的现状,笔者决定系统架构采用C/S三层架构模式,使用PowerBuilder研发环境和EAServer组件服务器来具体实现,其系统逻辑架构模型如图2所示。
在这种三层的体系结构下,客户机主要是完成界面表示层的各项功能,负责显示与用户交互界面,及少量的数据处理工作,因为不需要与数据库通信,所以不需要安装数据库驱动程序,这样可以使客户端程序变得更小更快,有利于系统代码的维护;业务逻辑层由独立的应用服务器完成复杂的事务逻辑处理和智能决策等功能。客户端将收集到的信息提交给中间层服务器,中间层服务器进行相应的业务逻辑处理,再将处理结果反馈给客户机;数据库服务器的主要功能是根据中间层应用服务器所发送的请求进行有关的数据库操作,并将操作结果传递给应用服务器。
3 系统的数据库设计
数据库分析与设计是数据库项目研发周期中一个非常重要的阶段,也是工作量比较大的一项活动。在充分考虑了系统的并发数据量和硬件设备等相关因素后,笔者决定系统的数据库采用SQL SERVER 2000数据库管理系统。
在进行系统的数据库设计时,笔者采用先进行E-R图分析,然后对表和字段进行分析,最后进行数据库建模的方法进行实施。对招聘管理工作过程的E-R图分析是建立在UML系统模型基础上的,采用从简到繁的方式进行设计,首先从大方面设计出各实体之间的关系,然后在这个关系的基础上进行逐步细化,最终得到系统的实体关系图;表和字段分析是建立在实体关系图基础上的,经过合理的表和字段分析,系统建立了包括人员基本信息表(Basic_info)、人员离职信息表(Lizhi_info)、人员单位信息表(Unit_info)、人员学历信息表(school_info)、保险缴纳情况表(Insurance_info)在内的50余个信息表,表中的每个字段都经过严格的筛选、推敲,建立了符合第三范式的合理规范的数据库模型,很好的消除了数据冗余,保证了数据的完整性。
4 系统的实现和测试工作
在完成系统总体功能模块设计和相关架构设计之后,就进入到具体的编码阶段。为了规范编码,提高软件质量,在编码之前制定了所有研发人员都要遵守的研发规范,其中包括命名约定、代码编写格式等。在制定的规范中,对库文件组织的要求最为重要,因为这将影响到后阶段的代码编写是否可以真正实现协同编码。一个应用程序可以有多个库,每个库中可以包含多个对象。库文件的组织方式有很多,但为了便于管理同时又适合研发团队的协同工作,在此笔者采用了按功能进行划分的方式,某个功能模块用到的对象存放到同一个库文件中,每个研发人员都要按照所负责的功能模块的规模分别组织库文件。
招聘人员信息管理系统是一个多文档界面的应用程序(MDI),如果等主界面完成后才开始其它模块的编码,势必影响整个软件的研发进度,也不符合并行编码的要求。为了提高效率,规定每个研发人员可以先建立独自的主界面,但务必要保证各个功能模块的接口严格按照总体设计的定义来实现,这样就不会影响系统最后的集中编译,从而大大缩短了系统的研发周期[2]。
系统测试虽然是软件生存周期中的一个独立阶段,但测试工作却渗透到从分析、设计直到实现的各个阶段中。许多潜在的程序错误都能在编译阶段发现,然而程序中的逻辑错误还需要靠测试和调试来发现[3]。
招聘人员信息管理系统是使用PowerBuilder开发环境来实现的,它具备在PowerBuilder环境下所研发软件的特殊性,即系统表现为各种各样的窗口,是以各类窗口为主线将软件的功能联系起来的,并且其对象具有封装特性,可以认为各代码是相对独立的,而且在某个控件的单个事件下的代码不会太长,其程序逻辑结构比较容易理清楚。因此对窗口的测试就是系统测试的基础和中心。
采用控件交互执行图的方式对窗口进行测试。控件交互执行图测试方法是一种黑盒测试方法,它是将窗口中所有的控件及其相互之间的作用关系以图形的方式表达出来,其中以“○”表示输入和输出控件,以“□”表示动作控件,以“→”表示转移[4]。通过控件交互执行图,得到从单个输出控件回溯到输入控件的测试树,从而将控件交互执行图分割成若干测试树,对所有的测试树设计测试用例,即可达到对该窗口测试的目的。
在每位研发人员完成了各自的功能模块,并通过窗口测试之后,再把所有的库文件统一集中到研发系统主界面的研发人员的终端机上,按照原定设计要求组合所有模块,最后对系统进行总体的测试和试运行。
5 系统的应用价值
本文是在研发招聘人员信息管理系统的基础上,对其具体实施方法和主要技术路线进行的一个归纳和总结。系统在设计过程中充分考虑了软件工程的理念,在继承以往传统设计优点的同时,力求融入当前国际上通用的管理信息系统的思想,以实现对招聘人员的高效管理。通过使用本系统对整个招聘管理工作进行科学的管理、精确的分析,大大减轻了管理人员的工作强度,提高了管理水平和保障能力,从而使招聘管理工作更加科学有序。
[1]刘筑,任华英.新形势下部队医院人力资源管理现状与对策分析[J].重庆医学,2008,37(19):2252-2253.
[2]杨梅.医院人才招聘工作存在的问题及对策[J].中国卫生质量管理,2008,15(6):45-46.
[3]卢守东.PowerBuilder数据库应用研发技术[M].北京:清华大学出版社,2006.
[4]陈永强.PowerBuilder编程技术全接触[M].北京:清华大学出版社,2007.
[2009-06-12收稿,2009-08-10修回]
250031山东济南,456医院,(杨宇,李丽,张萍,孙艳)
应用这种分布式体系结构,系统的性能可以得到显著的提高。其中应用服务器的功能是通过不可视的用户对象实现的,笔者可以将自定义的用户对象放置于应用服务器,称为远程对象,然后在客户端放置该远程对象的代理对象。同时在应用服务器有一个传输对象用于监听任何一个用户的请求,在客户端有一个连接对象用以建立同远程对象的连接,客户端的应用程序通过连接对象连接应用服务器,连接建立后,客户端的应用就可以像调用本地对象一样调用应用服务器上远程对象的函数了,其模型图如图3所示,相关实现代码限于篇幅的限制,这里就不再给出。
图2 系统的逻辑架构模型图
图3 基于EAServer的分布式体系模型图
[本文编辑:李炳汝]