李寒 彭晏飞
【摘要】总体设计关乎软件成败,特别是人力资源管理系统这样的横向系统设计,系统没有理论上追求,只是完全靠需求分析来确定系统构架,所以基于需求分析基础上的总体设计就成了关键。
【关键词】软件开发;人力资源;管理系统;总体设计
1.总体设计
总体设计的指导思想是结构化法。总体设计的目标是:在保证实现逻辑模型的基础上尽可能地提高系统的各项指标,即可靠性、工作质量、工作效率和经济性等,故总体设计的指标是衡量总体设计好坏的准则。对这四个方面的指标,在一定程度上既是互相矛盾的又是相辅相成的。对于不同的系统,由于功能及系统目标的不同,对上述指标的要求各有所侧重。
经过需求分析阶段的工作,系统必须做什么已经清楚了,总体设计阶段就是决定怎么做的时候了。总体设计的基本目的就是回答“概括的话,系统该如何实现?”这个问题。
2.系统总体功能结构
由需求分析可以知,信息的查询和维护是系统的主要任务,而两者间有紧密的联系,所以,根据人力资源管理系统中各种信息的内容划分,将模块划分为人员管理、奖惩管理、招聘管理、培训管理、薪金管理,它们的查询和维护具有相对的独立性,所以必须构建专门的模块。同时设置系统管理模块进行用户管理,设置用户权限。系统功能结构图如图1所示。
图1 系统功能结构图
3.接口设计
(1)界面设计
在界面部分,根据分析的结果,管理者需要一个友善的界面。在界面设计上,应该做到简单明了,易于操作,并且要注意到界面的布局。考虑到人力资源管理系统的用户为中小型企业的管理人员,决定采用瘦客户端(浏览器),搭建Web应用程序[1]。系统用户界面简单、易于操作学习。
(2)软件接口
与数据库服务器通过持久层调用Hibern-ate[2]驱动MySQL数据库。
(3)硬件接口
采用键盘、鼠标进行输入。
4.数据库设计
数据库设计(Database Design)是指根据用户的需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的过程。
人们在总结信息资源开发、管理和服务的各种手段时,认为最有效的是数据库技术。数据库的应用已越来越广泛。数据库设计技术是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效的存储数据满足各种用户的需求(信息要求和处理要求)。
(1)数据库设计的特点
数据库建设是硬件、软件的相互结合,这是数据库设计的特点之一;数据库设计也应该和应用系统设计相结合,就是说,整个设计过程中要把结构(数据)设计和行为(处理)设计密切结合起来,这是数据库设计的特点之二。
数据库具有以下一些特征:
a.数据一体化和结构化;
b.较少的数据冗余度;
c.数据的独立性;
d.對数据实行集中统一的控制。
(2)数据库设计方法
经过人们十余年来的努力探索,提出了各种数据库设计方法这些方法运用软件工程的思想和方法,提出了各种设计准则和规程,都属于规划设计法。
规划设计法中比较著名的有新奥尔良方法和基于E-R模型的数据库设计方法以及基于第三范式的设计方法。但这些方法从本质上看仍然是手工设计方法,经过人们不懈的努力,数据库设计工具已经实用化和产品化。
4.1 E-R图
E-R图也即实体-联系图(Entity Relation-ship Diagram),提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型[3]。
构成E-R图的基本要素是实体型、属性和联系,其表示方法为:
实体型(Entity):用矩形表示,矩形框内写明实体名;比如员工张三、学生李力都是实体。如果是弱实体的话,在矩形外面再套实线矩形。
属性(Attribute):用椭圆形表示,并用无向边将其与相应的实体连接起来;比如员工的姓名、性别、年龄等都是属性。如果是多值属性的话,再椭圆形外面再套实线椭圆。如果是派生属性则用虚线椭圆表示。
联系(Relationship):用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1,1:n或m:n)。比如管理员与员工之间存在管理的关系。如果是弱实体的联系则在菱形外面再套菱形。
4.2 关系模式设计
人员信息:员工编号,员工用户名,密码,性别,出生日期,创建时间,是否为管理员,人员简介。
应聘信息:应聘人员编号,应聘人员姓名,性别,年龄,职位,所学专业,工作经验,学历,毕业学校,电话号码,电子邮箱,创建时间,详细经历,是否入库。
培训信息:培训编号,培训名称,培训目的,培训效果,培训开始时间,培训结束时间,培训材料,培训讲师,培训人员,创建时间,培训是否完成,总结。
奖惩信息:奖惩编号,奖惩名称,奖惩原因,奖惩说明,创建时间。
薪金信息:薪金信息编号,员工姓名,基本薪金,饭补,房补,工资发放时间,全勤奖,赋税,罚款,额外补助,总计。
5.结论
从上面的叙述中不难看出,在详细设计之前先进行总体设计的必要性:可以站在全局的高度,花较少成本,从较抽象的层次上分析对比多种可能的实现方案和软件结构,从中选择最佳方案和最合理的软件结构,从而用较低成本开发出较高质量的软件系统。
参考文献
[1]徐林林等编著.Java Web编程从入门到实践[M].北京:清华大学出版社.
[2]孙卫琴等.精通Hibernate:Java对象持久化技术详解[M].电子工业出版社,2005.
[3]王珊.萨师煊等.数据库系统概念论(第4版)[M].2006.