人事管理系统课程设计.docx
《人事管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《人事管理系统课程设计.docx(22页珍藏版)》请在冰豆网上搜索。
人事管理系统课程设计
实验一软件需求分析
实验项目名称:
软件需求分析
实验目的:
1)掌握系统的功能描述、性能描述方法;
2)掌握需求分析工具数据流程图、数据字典等;
3)掌握系统需求分析的步骤和方法。
实验内容:
用结构化数据流分析技术进行软件系统需求分析,得出系统的数据流程图和数据字典。
实验步骤:
1)到相关单位进行需求分析
2)综合利用Internet网和相关书籍整理并完善需求分析。
3)画出系统数据流图(分析系统是事务型还是变换型)
4)得出系统数据字典
1.软件系统需求描述:
(从功能,性能上进行描述)
功能需求:
确定新系统应做什么,这算最主要的需求.该系统就是对A公司的人员信息进行录入,修改,删除,查找以及表单输出..
性能需求:
给出所开发的新系统的技术性能指标,包括存储容量限制,运行时间限制,安全保密性等.
2.软件系统数据流程(由加工、数据流、数据存储、源点和终点四种元素组成):
顶层数据流图
1
1)
2)1层数据流图
3)0
0
0
0
0
0
00
2层数据流图
3.软件系统数据字典
1)数据流条目
员工信息表(DD_hrworker):
名字:
员工信息表
别名:
员工信息
描述:
记录企业员工的基本信息
定义:
员工信息表=员工编号+员工姓名+1级部门+2级部门+性别+职位+电子邮件+身份证号+出生日期+民族+户籍所在地+婚姻情况+毕业学校+专业+学历+毕业时间+入职时间+联系电话+家庭住址+紧急联系人+紧急联系电话
离职信息表(DD_hrlworker):
名字:
离职信息表
别名:
离职信息
描述:
记录企业离职员工的信息
定义:
员工信息表=员工编号+员工姓名+1级部门+2级部门+性别+职位+电子邮件+身份证号+出生日期+民族+户籍所在地+婚姻情况+毕业学校+专业+学历+毕业时间+入职时间+离职时间+离职成本+离职类型+联系电话+家庭住址+紧急联系人+紧急联系电话
员工转正信息表(DD_hrrenew):
名字:
员工转正信息表
别名:
转正信息
描述:
记录企业引进转正员工的信息
定义:
员工转正信息表=转正编号+转正员工的编号+转正员工姓名+转正时间+原定转正时间+试用期工资+转正工资
借调信息表(DD_hrborrow):
名字:
借调信息表
别名:
借调信息
描述:
记录企业借调人员相关信息。
定义:
借调信息表=借调编号+借调员工编号+原部门编号+原部门主管编号+原岗位+现部门编号+现部门主管编号+现岗位+借调开始时间+拟定借调终止时间+实际借调终止时间
调动信息表(DD_hrmobilize):
名字:
调动信息表
别名:
调动信息
描述:
记录企业人员调动相关信息。
定义:
调动编号+调动员工编号+原部门编号+原部门主管编号+原岗位+现部门编号+现主管编号+现岗位+调动开始时间
部门信息表(DD_hrdepartment):
名字:
部门信息表
别名:
部门信息
描述:
记录企业部门的相关信息。
定义:
部门信息表=部门编号+部门名称+部门主管+上级部门+部门级别+部门地址+部门电话+部门开业时间
社保信息表(DD_hrinsurance):
名字:
社保信息表
别名:
保险信息,社保信息
描述:
记录企业员工社保的相关信息。
定义:
社保信息表=保险编号+员工编号+员工姓名+保险起始时间+保险类型+公积金账号+公积金开始时间
合同信息表(DD_hrcontract):
名字:
合同信息表
别名:
合同信息
描述:
记录员工与企业所签订的合同信息。
定义:
合同信息表=合同编号+员工编号+员工姓名+入职时间+合同生效日期+合同终止日期+续签日期+续签终止日期
员工编号:
名字:
员工编号
别名:
描述:
唯一地标识员工的特殊关键域。
定义:
员工编号=企业标识(88)+所在部门(01)+职位(21)+入职年份(11)+编号(01)
位置:
员工信息表,离职信息表,员工转正信息表,借调信息表,调动信息表,社保信息表,合同信息表。
4.实验小结
需求分析是一项重要的工作,也是最困难的工作。
通过本实验,运用所学知识,全面收集与实验有关的相关讯息,逐步完善需求分析报告。
实验二软件概要设计
实验项目名称:
软件概要设计
实验目的:
1)掌握系统总体结构的设计;
2)掌握系统接口设计、数据结构设计等;
3)掌握系统概要设计的步骤和方法。
实验内容
主要解决实现该系统需求的程序模块设计问题(包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等)。
实验步骤
1)首先确定系统总体设计方案(分清系统是事物型还是加工型)。
2)完成系统的模块结构图及模块的功能说明。
3)完成系统的接口设计
4)完成系统的数据结构设计
1.软件系统模块结构图:
2.接口设计
5.1.1外部接口
在用户界面部分,根据需求分析的结果,用户需要一个用户友善界面。
在界面设计上,应做到简单明了,易于操作,并且要注意到界面的布局,应突出的显示重要以及出错信息。
外观上也要做到合理化,考虑到用户多对WINDOW风格较熟悉,应尽量向这一方向靠拢。
在设计语言上,已决定使用MSVISUALC++进行编程,在界面上可使用VISUALC++所提供的可视化组件,向WINDOWS风格靠近。
5.1.2.内部接口
身份认证模块的返回值决定当前用户是否可以进入人员信息模块和工资管理模块,身份通过以后再根据用户本身的权限判定进入哪一个子功能模块,并且判断其相应的操作权限,这些采用返回值的方式由用户本身的权限标志决定。
3.数据结构设计
数据结构与程序的关系
DBMS的使用上系统将采用SQLSERVER,系统主要需要维护2张数据表(这里不写登录表):
人员基本信息数据表
NO
项目名称
主键
类型
Byte
1
职工编码
○
Int
4
2
姓名
Char
8
3
性别
Char
2
4
出生日期
Date
8
5
民族
Char
10
6
政治面貌
Char
10
7
文化程度
Char
8
8
毕业学校
Char
20
9
毕业时间
Date
8
10
所学专业
Char
20
11
外语语种
Char
6
12
参加工作年月
Char
6
13
入本厂年月
Char
6
14
籍贯
Char
8
15
家庭住址
Char
40
16
电话
Char
14
17
身份证
Char
18
18
养老保险号码
Char
18
19
职务职称
Char
16
20
岗位
Char
10
21
合同开始时间
Date
8
22
合同结束时间
Date
8
23
录入时间
Date
8
24
录入人
Char
8
25
修改时间
Date
8
26
修改人
Char
8
工资信息表
NO
项目名称
KEY
类型
Byte
1
职工编码
○
Int
4
2
姓名
Char
8
3
职浮
Float
6
4
岗位工资
Float
6
5
劳效工资
Float
6
6
副食补贴
Float
5
7
洗理费
Float
5
8
自行车
Float
5
9
托保费
Float
5
10
工种保健
Float
5
11
加班费
Float
5
12
夜班费
Float
5
13
奖金
Float
5
14
价格补贴
Float
5
15
肉食补贴
Float
5
16
其他
Float
5
17
风险金
Float
5
18
合计
Float
7
19
房租
Float
5
20
病假工
Float
5
21
事假工
Float
5
22
统筹金
Float
5
23
扣款
Float
5
24
实发工资
Float
7
25
签字
Char
8
23
录入时间
Date
8
24
录入人
Cahr
8
25
修改时间
Date
8
26
修改人
Cahr
8
4.出错处理设计
出错输出信息
程序在运行时主要会出现两种错误:
1、由于输入信息,或无法满足要求时产生的错误,称为软错误。
2、由于其他问题,如操作超时等,产生的问题,称为硬错误。
对于软错误,须在查询/维护模块判断输入数据的正确性,判断错误类型,再生成相应的错误提示语句,送到输出模块中。
对与硬错误,可在出错的相应模块中输出简单的出错语句,并将程序重置,数据库内容返回操作之前的状态。
出错处理策略
主机必须安装不间断电源以防止停电或电压不稳造成的数据丢失的损失。
若真断电时,客户机上将不会有太大的影响,主要是数据库上:
在断电后恢复过程可采用SQLSERVER的日志文件,对其进行ROLLBACK处理,对数据进行恢复。
在硬件方面要选择较可靠、稳定的服务器机种,保证系统运行时的可靠性。
5.实验小结:
本次开发以一个企业为背景,在深入了解企业管理结构的基础上,力争开发一个实用性强的系统软件。
实验三软件详细设计
实验项目名称:
软件详细设计
实验目的:
1)掌握模块的程序描述;
2)熟练使用流程图、PDL等详细描述工具
3)掌握详细设计的步骤和方法。
实验内容:
进行软件系统的结构设计、逐个模块的描述(包括各模块的功、性能、输入、输出、算法、程序逻辑、接口等等)
实验步骤:
1)首先进行程序系统的结构设计。
2)然后对主要程序进行描述。
注:
应该同时进行用户界面设计。
1.软件系其中的3个模块的详细设计(画统程序流程图):
合同管理DFD图
程序描述:
人事部合同管理员查询、删除、修改、新增合同信息的操作。
社保管理DFD图
程序描述:
人事部管社保管理员查询、删除、修改、新增社保信息的操作。
部门管理DFD图
程序描述:
人事部管理员查询、删除、修改、新增部门信息的操作。
3.实验小结:
本实验进一步定制细节,明确软件需求安排项目规划与进度,组织软件开发与测试,便于企业管理。
实验四软件测试和调试
实验项目名称:
软件测试和调试
实验目的:
1)掌握软件测试的基本技术和概念;
2)掌握软件测试的方法;
3)掌握程序调试的常用技术。
实验内容:
用课堂上介绍的方法,对上一实验的程序,进行测试,并要求测试通过,然后撰写软件测试说明书。
实验步骤:
1)首先设计测试方案(分别采用白盒法和黑盒法)。
2)进行测试。
3)对于出错的程序进行修改。
4)并不断循环直至程序符合要求。
5)写出测试说明书。
1.测试项目用户登录
2.设计测试用例15个(白盒法10个,黑盒法5个);输入“张三”,密码“123”,点击“用户”
期望结果:
显示主页面
输入“李敏”,密码“125”,点击“用户”
期望结果:
显示错误界面
用户名为空,密码为空提示错误
输入“张三”,密码“234”,点击“用户”
期望结果:
显示错误界面
测试内容:
修改密码
输入旧密码“123”,输入新密码,再次输入密码
期望结果:
显示成功信息,进入登录界面
输入旧密码“110”,输入新密码,再次输入密码
期望结果:
显示错误界面,返回上一次界面
输入旧密码“123”,输入新密码“1234”,再次新密码“2345”
期望结果:
提示错误信息
测试内容:
管理员修改密码
输入旧密码“123”,输入新密码,再次输入密码
期望结果:
显示成功信息,进入登录界面
输入旧密码“110”,输入新密码,再次输入密码
期望结果:
显示错误界面,返回上一次界面
输入旧密码“123”,输入新密码“1234”,再次新密码“2345”
期望结果:
提示错误信息所有密码为空提示错误信息
测试内容:
用户修改密码
输入旧密码“123”,输入新密码,再次输入密码
期望结果:
显示成功信息,进入登录界面
输入旧密码“110”,输入新密码,再次输入密码
期望结果:
显示错误界面,返回上一次界面
输入旧密码“123”,输入新密码“1234”,再次新密码“2345”
期望结果:
提示错误信息
测试内容:
用户登录
输入“张三”,密码“123”,点击“用户”
期望结果:
显示主页面
输入“李敏”,密码“125”,点击“用户”
期望结果:
显示错误界面
用户名为空,密码为空提示错误
输入“张三”,密码“234”,点击“用户”
期望结果:
显示错误界面
测试内容:
修改密码
输入旧密码“123”,输入新密码,再次输入密码
期望结果:
显示成功信息,进入登录界面
输入旧密码“110”,输入新密码,再次输入密码
期望结果:
显示错误界面,返回上一次界面
输入旧密码“123”,输入新密码“1234”,再次新密码“2345”
期望结果:
提示错误信息
测试内容:
管理员修改密码
输入旧密码“123”,输入新密码,再次输入密码
期望结果:
显示成功信息,进入登录界面
输入旧密码“110”,输入新密码,再次输入密码
期望结果:
显示错误界面,返回上一次界面
输入旧密码“123”,输入新密码“1234”,再次新密码“2345”
期望结果:
提示错误信息所有密码为空提示错误信息
测试内容:
用户修改密码
输入旧密码“123”,输入新密码,再次输入密码
期望结果:
显示成功信息,进入登录界面
输入旧密码“110”,输入新密码,再次输入密码
期望结果:
显示错误界面,返回上一次界面
输入旧密码“123”,输入新密码“1234”,再次新密码“2345”
期望结果:
提示错误信息
3.对多开发软件测试结果的评价:
登陆界面可行
4.实验小结;
对测试和调试有个大概的了解
实验五UML用例图
实验项目名称:
UML用例图
实验目的:
1)根据系统的功能分析系统的用例组成;
2)确定用例图中的执行者,执行者与用例之间的关系
3)能分析每一个用例的事件流
实验内容:
××××系统的用例图的设计和实现
实验步骤:
1)系统需求分析
系统中的角色主要包括:
系统管理员,部门管理员,应聘者。
系统的用例应包括:
登陆用例文档、添加员工信息用例文档和考勤管理用例文档。
初始用例模型图如下,在图中人力资源管理部门人员通过员工对基本信息管理员工的基本信息,另外还有培训、招聘、考勤等,系统管理员管理权限以及数据维护。
2)确定事件流
小型企业人事管理系统的分析
3)用ROSE画出用例图
添加个人信息
查看个人应聘信息
员工
更新数据库
修改个人应聘信息
登陆系统
系统管理员
考勤管理
添加员工信息
删除员工信息
老板
查看员工信息
修改员工信息
实验学时:
2学时
1.××××系统需求分析
2.主要事件流
3.Rose2003软件设计××××系统的用例图主要操作步骤:
步骤1:
确定参与者
在获取用例前首先要确定系统的参与者,开发人员可以通过回答以下的问题来寻找系统的参与者。
(1)谁将使用该系统的主要功能。
(2)谁将需要该系统的支持以完成其工作。
(3)谁将需要维护、管理该系统,以及保持该系统处于工作状态。
(4)系统需要处理哪些硬件设备。
(5)与该系统那个交互的是什么系统。
(6)谁或什么系统对本系统产生的结果感兴趣。
步骤2:
识别用例
用例图对整个系统建模过程非常重要,在绘制系统用例图前,还有许多工作要做。
系统分析者必须分析系统的参与者和用例,他们分别描述了“谁来做”和“做什么”这两个问题。
识别用例最好的方法就是从分析系统的参与者开始,考虑每一个参与者是如何使用系统的。
使用这种策略的过程中可能会发现新的参与者,这对完善整个系统的建模有很大的帮助。
用例建模的过程是一个迭代和逐步精华的过程,系统分析者首先从用例的名称开始,然后添加用例的细节信息。
这些信息由简短的描述组成,它们被精华成完整的规格说明。
在识别用例的过程中,通过回答以下几个问题,系统分析者可以获得帮助。
(1)特定参与者希望系统提供什么功能。
(2)系统是否存储和检索信息,如果是,由哪个参与者触发。
(3)当系统改变状态时,是否通知参与者。
(4)是否存在影响系统的外部事件。
(5)哪个参与者通知系统这些事件。
步骤3:
用例间的关系
1.关联关系(Association)
2.包含关系(Include)
包含关系把几个用例的公共步骤分离成一个单独的被包含用例。
被包含用例称作提供者用例,包含用例称作客户用例,提供者用例提供功能给客户使用。
用例间的包含关系允许包含提供者用例的行为到客户用例的事件中。
包含关系使一个用例的功能可以在另一个用例中使用,如下所述。
(1)如果两个以上用例有大量一致的功能,则可以将这个功能分解到另外一个用例中。
其它用例可以和这两个用例建立包含关系。
(2)一个用例的功能太多时,可以用包含关系建模两个小用例。
要使用包含关系,就必须在客户用例中说明提供者用例行为别包含的详细位置。
这一点同功能调用有点类似。
事实上,它们在某种程度上具有相似的语义。
3.扩展关系(Extend)
相对于包含关系一定要执行的特性,扩展关系(extend)则是一种可选择执行的关系。
以自动柜员机(ATMSystem)为例,打印收据(printreceipt)与提款之间的关系就比较适合采用扩展关系,如下图所示。
在提款流程结束之前,会询问顾客是否需要打印收据,所以打印收据不是一段必要的流程,而是一段可选择的流程。
4.泛化关系(Generalization)
一个用例可以被特别列举为一个或多个用例,这被称为用例泛化。
当父用例能够被使用时,任何子用例也可以被使用。
在UML中用例泛化与其它泛化关系的表示法相同,用一个三角箭头从子用例指向父用例。
在用例泛化中,子用例表示父用例的特殊形式。
子用例从父用例处继承行为和属性,还可以添加、覆盖或改变继承的行为。
如果系统中一个或多个用例是某个一般用例的特殊化时,就需要使用用例的泛化关系。
………………….
4.实验小结:
大致了解了ROSE的使用方法,但实际操作经验不住,要多加练习