软件工程5.docx
《软件工程5.docx》由会员分享,可在线阅读,更多相关《软件工程5.docx(31页珍藏版)》请在冰豆网上搜索。
软件工程5
软件工程
设计说明书
人力资源管理系统的开发
学生姓名
学号
班级
信管091
成绩
指导教师
计算机科学与技术系
2012年1月13日
软件工程课程设计评阅书
题目
人力资源管理系统的开发
学生姓名
学号
指导教师评语及成绩
成绩:
教师签名:
年月日
答辩教师评语及成绩
成绩:
教师签名:
年月日
教研室意见
总成绩:
室主任签名:
年月日
注:
指导教师成绩60%,答辩成绩40%,总成绩合成后按五级制记入。
课程设计任务书
2011—2012学年第一学期
专业:
信管091学号:
姓名:
课程设计名称:
软件工程
设计题目:
人力资源管理系统的开发
完成期限:
自2012年1月2日至2012年1月13日共2周
设计依据、要求及主要内容(可另加附页):
企业希望建立一个完整的员工资料库,以便于了解员工的个人信息、劳动关系信息等各项基本信息。
为达到以上目的,开发一个基于网络的企业人力资源管理信息系统,以满足企业的管理需要。
本系统的特点和功能如下:
1.行政机构设置:
对企业的整个行政机构进行维护。
2.员工信息维护:
管理员可以添加新员工信息、修改员工信息、删除员工信息、浏览全部员工信息。
3.信息查询和打印:
可以对员工信息进行模糊查询(按名字、部门、职称等关键字)和打印员工信息表。
4.系统维护:
用来设置超级管理员账户等参数,以及为员工分配使用系统的不同权限。
本课程设计的要求如下:
1.系统架构可以采用C/S或B/S,编程语言不限。
2.系统后台使用关系数据库(如SQLServer)存储信息。
3.要有系统的整体架构设计和测试过程。
指导教师(签字):
教研室主任(签字):
批准日期:
年月日
摘要
随着经济全球一体化时代的到来,企业的发展不再是仅限于技术的竞争,市场的竞争,更重要的是人才的竞争。
企业在发展过程中,除了要维护好和客户的关系,掌握先进的行业生产技术以外,还需要拥有一批本领域中具有相当才能的工作人员,才能在信息时代的经济浪潮中立于不败之地。
人力资源管理系统是现代企业企业管理的核心的内容。
本系统着眼于人力资源管理制度的业务实际,经过实际的需求分析,采用功能强大的c#语言和SQLServer2005数据库技术开发,visio画图工具,visualstudio2010开发平台等开发技术,采用了结构化设计方法,进行了人力资源管理系统的开发。
提供了完备的用户管理、部门管理、人员管理、信息查询等功能,整个系统具有高安全性、高可靠性等优点,可用于中小型企业的人事管理部分。
关键词:
人力资源管理系统;SQLServer2005;C#;结构化设计
目录
1.课题描述1
2.需求分析2
2.1数据需求2
2.2功能模块设计2
2.3数据字典3
2.4数据流图5
3.概念结构设计6
3.1引言6
3.2E-R图6
4.逻辑结构设计8
4.1关系模式8
4.2属性表8
5.物理结构设计10
5.1数据库设计10
5.2数据库实施10
6.详细设计13
6.1用户登录界面13
6.2用户信息界面13
6.3职工信息界面16
6.4人事变动界面16
6.5奖惩情况界面17
6.6权限问题17
7.系统测试18
7.1单元测试18
7.2白盒测试18
7.3黑盒测试18
总结20
参考文献21
1.课题描述
企业在我国的国民经济方面起到非常大的作用,在满足人们的多样化需求、培养企业家、进行技术创新、参与专业协作等方面都具有重要的作用。
企业在一定程度上影响地区乃至整个国家经济的繁荣和社会的稳定。
然而企业的人员众多,职位繁杂,管理起来很麻烦,一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:
效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
所以说,就需要一个很完善的人力资源管理系统来协助人力资源管理人员,这样不仅可以减轻管理人员的负担,更可以把繁重的体力劳动转化为脑力劳动,用于多思考管理企业的方法。
本系统的设计主要是解决人力资源管理的信息化、智能化、便捷化,提高了人力资源管理工作人员的工作效率,降低由于人力资源管理过于繁琐和因而导致的人才流失所带来的损失,同时也给企业发展带来一定经济效益。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对人事信息进行管理,具有手工管理所无法比拟的优点.例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高人事管理的效率,也是企业的科正规化管理,与世界接轨的重要条件。
软件开发工具:
SQLServer2005,VisualStudio2010
2.需求分析
2.1数据需求
人力资源管理系统完成的任务虽然随着企业的不同而有所差异,但对其任务进行归纳和划分后可将系统分为五个模块,即系统登录模块、行政机构管理模块,人事信息管理模块、员工调动管理模块,员工奖惩管理模块。
每个部分具体的功能需求如下:
(1)系统登录模块:
该模块式对登录该系统的用户的用户名及密码进行管理。
分为用户登录和注册新用户两项。
不同的用户拥有不同的权限。
(2)行政机构管理模块:
对企业的整个行政机构进行维护。
(3)人事信息管理模块:
该模块是关于公司的人事信息维护,是对入职员工的基本信息的录入、修改、浏览等操作。
(4)员工调动管理模块:
该模块式对员工的职位调动进行管理的,对调动原因,调动职位,调动部门进行记录管理。
(5)员工奖惩管理模块:
该模块对员工所受的奖励和惩处进行记录管理。
可以实现添加,修改,删除,查询功能。
2.2功能模块设计
1.企业人力资源管理系统,分为五大功能模块:
系统登录模块、行政机构管理模块,人事信息管理模块、员工调动管理模块,员工奖惩管理模块,其功能分别为:
(1)用户登录模块:
提供用户登录界面。
输入用户名称,填写正确的密码,进入系统主窗体,其中权限类别有3种,1-系统管理员,0-普通用户,2-高级用户,当用户添加记录时,默认类型添加为0。
(2)行政机构管理模块:
用于设置企业的行政组织机构及其详细信息,新增部门,同时还可以编辑、删除、修改已有部门信息。
(3)人事信息管理模块:
用于管理添加、浏览、修改以及删除企业员工的相关信息,其中包括职员信息维护、职员信息查询两个子功能模块:
职员信息维护子模块用于输入和修改职员的资料,职员信息查询子功能模块用于查询职员的资料。
(4)员工调动管理模块:
用于管理员工调动的过程,其中包括变动时间,变动原因,变动部门,变动职位,其中包括员工调动信息维护、员工调动信息查询两个子功能模块:
员工调动信息维护子模块用于输入和修改职员调动的资料,员工调动信息查询子功能模块用于查询职员调动的资料。
(5)员工奖惩管理模块:
用于记录员工调动的原因,时间,职位等相关信息。
其中包括员工奖惩信息维护、员工奖惩信息查询两个子功能模块:
员工奖惩信息维护子模块用于输入和修改职员奖惩的资料,员工奖惩信息查询子功能模块用于查询职员奖惩的资料。
2.人力资源管理系统功能模块图如图2-1所示:
图2-1功能模块图
2.3数据字典
数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。
数据字典是在需求分析时建立,在数据库设计过程中不断修改、充实、完善的。
下面的表是对各数据元素的详细说明:
用户(用户ID,用户编号,密码,权限类别)
行政部门(行政ID,部门名称,部门地址,部门负责人,部门电话)
员工信息(用户编号,姓名,出生日期,婚否,工龄,进单位时间,所在部门,职位,联系电话)
人事变动(变动ID,用户编号,变动时间,变动原因,变动部门,变动职位)
奖惩情况(奖惩ID,用户编号,奖惩时间,奖惩类别,详细内容)
(1)主要的数据流
1)数据流名称:
员工情况
位置:
用户—>p1,用户—>P2,用户—>P3,用户—>P4
定义:
员工情况=用户编号+姓名+婚否+工龄+进单位时间+所在部门+职位+联系电话
说明:
用户登录该系统时,系统会存储用户的一些基本信息。
2)数据流名称:
用户信息
位置:
用户—>P5
定义:
用户信息=用户编号+密码+权限类别
说明:
通过用户的用户编号名和密码鉴别用户身份。
(2)主要的数据存储定义
1)数据存储名称:
用户信息记录D5
输入:
P5
输出:
P5
数据结构:
用户信息=用户ID+用户编号+密码+权限类别
说明:
用户进行登录操作后,系统会根据用户登录时的信息按权限类别呈现信息。
2)数据存储名称:
奖惩记录D1
输入:
P1
输出:
P1
数据结构:
奖惩记录=奖惩ID+用户编号+奖惩时间+奖惩类别+详细内容
说明:
奖惩ID为主码。
3)数据存储名称:
员工信息记录D2
输入:
P2
输出:
P2
数据结构:
员工信息记录=用户编号,姓名,出生日期,婚否,工龄,进单位时间,所在部门,职位,联系电话
说明:
用户编号为主码
4)数据存储名称:
人事调动记录D3
输入:
P3
输出:
P3
数据结构:
人事调动记录=人事变动ID+用户编号+变动时间+变动原因+变动部门+变动职位
说明:
人事变动ID为主码
5)数据存储名称:
行政机构记录D4
输入:
P4
输出:
P4
数据结构:
行政机构记录=行政ID+部门名称+部门地址+部门负责人+部门电话
说明:
行政ID为主码
6)数据存储名称:
用户信息记录D5
输入:
P5
输出:
P5
数据结构:
用户信息=用户ID+用户编号+密码+权限类别
说明:
用户进行登录操作后,系统会根据用户登录时的信息按权限类别呈现信息。
(3)主要处理过程
1)处理过程编号P1
处理过程名:
奖惩管理
输入:
员工信息
输出:
奖惩记录
处理说明:
记录员工的奖惩信息。
2)处理过程编号P2
处理过程名:
档案管理
输入:
员工信息
输出:
员工信息
处理说明:
记录员工信息。
3)处理过程编号P3
处理过程名:
调动管理
输入:
员工信息
输出:
调动记录
处理说明:
记录员工调动信息。
4)处理过程编号P4
处理过程名:
部门管理
输入:
员工信息
输出:
部门信息
处理说明:
记录员工所在的部门信息。
5)处理过程编号P5
处理过程名:
安全管理
输入:
用户信息
输出:
验证信息
处理说明:
登录界面时验证用户的权限类别。
2.4数据流图
人力资源管理系统总数据流图如图2-2所示:
图2-2人力资源管理系统总数据流图
3.概念结构设计
3.1引言
系统设计的总体目标是实现人力资源管理的系统化和自动化,减轻工作人员的工作量,方便工作人员对它的操作,提高管理的质量和水平,做到高效、智能化管理,从而达到提高人力资源管理效率的目的。
主要任务是对系统登录、行政机构管理、人事信息管理、员工调动管理、员工奖惩管理的基本信息的操作及处理。
概念结构设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程,它是整个数据库设计的关键。
3.2E-R图
在需求分析的基础上,建立E-R图:
(1)用户E-R图如图3-1所示:
图3-1用户E-R图
(2)行政部门E-R图如图3-2所示:
图3-2行政部门E-R图
(3)员工信息E-R图如图3-3所示:
图3-3员工信息E-R图
(4)人事变动E-R图如图3-4所示:
图3-4人事变动E-R图
(5)奖惩情况E-R图如图3-5所示:
图3-5奖惩情况E-R图
(6)总E-R图如图3-6所示:
图3-6总E-R图
4.逻辑结构设计
4.1关系模式
有了基本的E-R模型就可以进行逻辑结构设计,也就是设计基本的关系模式。
设计基本的关系模式主要从E-R模型出发,将其直接转换为关系模式。
根据转换规则,这个E-R模型转换后的关系模式为:
(1)用户(用户ID,用户编号,密码,权限类别)
(2)行政部门(行政ID,部门名称,部门地址,部门负责人,部门电话)
(3)员工信息(用户编号,姓名,出生日期,婚否,工龄,进单位时间,所在部门,职位,联系电话)
(4)人事变动(变动ID,用户编号,变动时间,变动原因,变动部门,变动职位)
(5)奖惩情况(奖惩ID,用户编号,奖惩时间,奖惩类别,详细内容)
现在分析一下这些关系模式,由于在设计关系模式时是以现实存在的尸体为依据,而且遵守一个基本表只描述现实世界的一个主题原则,每个关系模式中的每个非主码属性都完全由主码唯一确定,因此上述所有这些关系模式都是第三范式的关系模式。
4.2属性表
在设计好关系模式并确定好每个关系模式的主码后,接着根据这些关系模式之间的关联关系确定关系模式的外码。
最后确定表中各属性的详细信息,包括数据类型、长度、完整性约束条件等。
(1)用户信息表,如表4-1所示:
序号
列名
数据类型
长度
标识
主键
允许空
说明
1
ID
bigint
8
是
是
否
2
UID
varchar
50
否
3
UPassword
varchar
50
是
4
UPower
int
4
是
表4-1用户信息表
(2)行政部门信息表,如表4-2所示:
序号
列名
数据类型
长度
标识
主键
允许空
说明
1
depart_ID
int
4
是
是
否
2
depart_name
nvarchar
50
是
3
depart_address
nvarchar
50
是
4
depart_leader
nvarchar
50
是
5
depart_phone
nvarchar
50
是
表4-2行政部门信息表
(3)员工信息表,如表4-3所示:
序号
列名
数据类型
长度
标识
主键
允许空
说明
1
UID
varchar
50
是
否
2
UName
varchar
50
是
3
UBirthday
datetime
8
是
4
UMarriage
char
10
是
5
UWorktime
char
10
是
6
UIntime
datetime
8
是
7
UDepartment
varchar
50
是
8
UPosition
varchar
50
是
9
UPhone
char
10
是
表4-3员工信息表
(4)人事变动信息表,如表4-4所示:
序号
列名
数据类型
长度
标识
主键
允许空
说明
1
ID
bigint
8
是
是
否
2
UID
char
19
否
3
transfer_time
datetime
8
是
4
transfer_reason
varchar
50
是
5
transfer_department
varchar
50
是
6
transfer_position
varchar
50
是
表4-4人事变动信息表
(5)奖惩情况信息表,如表4-5所示:
序号
列名
数据类型
长度
标识
主键
允许空
说明
1
ID
bigint
8
是
是
否
2
UID
char
19
否
3
UTime
datetime
8
是
4
URewardPunishment
varchar
50
是
5
UDetail
varchar
50
是
表4-5奖惩情况信息表
5.物理结构设计
5.1数据库设计
根据逻辑设计的结果以SQLServer2000服务器作为后台建立“企业人力资源管理”数据库。
并在该数据库项目下建立各基本关系表,设置不同属性的相关数据类型,默认值,约束条件等。
为了提高查询速率可以采用聚簇方法及索引技术,可以大大提高进行查询的效率。
因为本系统是一员工为主要对象,所以查询条件一般都根据员工号来查询,所以需要对员工号创建索引,来减少查询所需时间。
通过SQLServer2000的查询分析器进行数据库的相关的内部设计:
(1)创建名为“企业人力资源管理”其他属性默认的数据库执行下面的代码:
CREATEDATABASE企业人力资源管理;
(2)创建名为“员工”基本表执行下面的代码:
CREATETABLE员工(
员工号int(10)PRIMARYKEY,
部门名char(10)NOTNULL,
姓名char(5)NOTNULL,
性别char
(2)NOTNULL,
年龄int
(2),
进入公司时间datetime,
业绩号int(10)NOTNULL)
(3)为员工基本表创建聚簇索引“员工索引”执行下面语句:
CREATEUNIQUECLUSTERINDEX员工索引
ON员工(员工号);
(4)创建一个员工公开信息视图“员工视图”代码如下:
CREATEVIEW员工视图
AS
SELECT员工.员工号,员工.姓名,员工.部门名,员工.性别,工资.基本工资,工资.加班费,工资.奖金
FROM员工,工资
WHERE员工.业绩号=工资.业绩号;
(5)对于普通员工授予查询视图“员工视图”的权限,可以保证数据的保密性。
假设存在员工A:
GRANTSELECT
ON员工视图
TOA;
5.2数据库实施
下面本部分主要是以截图形式介绍的是该数据库的建立,数据库中各个基本表的创建和试图的建立情况来使该数据库的内部结构呈现出来。
1.以SQLServer2000服务器作为后台,运行SQLServer2000服务器的“企业管理器“在数据库项目下建立“企业人力资源管理”数据库如图5-1所示:
图5-1“企业人力资源管理”数据库建立
2.在图5-1所示的“企业人力资源管理”数据库的根目录中的“表”项目下建立了8张以数据库关系模式为依据的基本表分别为:
合同,员工,就职,工作成绩,工资,考勤,岗位和部门。
各表包含了关系模式中的属性如图5-2所示:
图5-2基本表的建立
3.员工视图的创建,管理员可以为不同级别的用户设置不同的视图,例如设置各部门的经理只能看到本部门相关的信息,不能查看其他部门的信息。
而一个员工只能查看自己有权看到的相关的属性信息而不能看到其他员工的信息。
保证信息的独立性和安全性。
如下图是一个员工的视图,只能查询到{员工号,部门名,职位名,部门经理,姓名,年龄,性别,进入公司时间}等可以被公开的信息,对于一些隐私信息,如工资等对查询者是隐藏的,数据库管理者可以将该视图的查询权限赋予普通的员工,则可以保证相关信息的安全性。
如图5-3所示:
图5-3员工视图的建立
6.详细设计
6.1用户登录界面
用户登录界面是本系统的第一个界面,其中两个文本框用来输入用户名和密码。
通过用户名、密码来核对用户的身份。
如果输入的用户名和密码错误,会弹出提示框提示用户名或密码错误。
当输入用户名和密码3次错误时,会自动退出系统。
只有输入正确的用户名和密码才能进入管理系统。
登录主界面如图6-1所示:
图6-1登录主界面
主要实现代码如下:
privatevoidBtn_regist_Click(objectsender,System.EventArgse)
{Response.Redirect("personnel_regist.aspx");}
当注册后默认的权限类别为0,即普通用户。
参看代码如页面“personnel_regist.aspx”中:
Stringstrsl="insertintousers(UID,UPassword,UPower)values(@number,@password,0)";
同时,将输入的员工注册信息,添加到用户表和员工信息表中;
SqlCommandcm=newSqlCommand("insert_personnel_information",cn);
insertintousers(UID,UPassword,UPower)values(@number,@password,0)";
6.2用户信息界面
(1)登录成功后,显示全部用户的信息,界面如图6-2-1所示:
图6-2-1添加奖惩信息
主要实现代码如下:
publicvoidBindgrid()
{
SqlDataAdapterda=newSqlDataAdapter("select*fromusers",cn);
DataSetds=newDataSet();
da.Fill(ds);
Dgd_userinformation.DataSource=ds;
Dgd_userinformation.DataBind();
}
privatevoidPage_Load(objectsender,System.EventArgse)
{……
if(!
IsPostBack)
{
Bindgrid();
}
}
(2)输入职工编号,进行搜索,界面如图6-2-2所示:
图6-2-2用户信息
主要实现代码如下:
privatevoidBtn_search_Click(objectsender,System.EventArgse)
{stringstrsql="select*fromuserswhereUID=@uid";
SqlCommandcm=newSqlCommand(strsql,cn);
cm.Parameters.Add(newSqlParameter("@uid",SqlDbType.VarChar,50))
cm.Parameters["@uid"].Value=Tbx_uid.Text;
cn.Open();
SqlDataReaderdr=cm.ExecuteReader();
Dgd_userinformation.DataSource=dr;
Dgd_userinformation.DataBind();
cn.Close();}
(3)点击“编辑”,如图,字段变成文本框样式,修改后,点击更新