(此文档为word格式,下载后您可任意编辑修改!)
成人高等教育毕业设计(论文)
题目:论人事管理系统实现
学生姓名: 函授站点: 学 号: 专业名称:计算机应用 学习层次:专 科 学习形式:函 授 指导教师: 审核签字:
摘 要
随着社会信息化的发展,为了让管理更快捷、更准确,实现人事管理的信息化已经成为各个企业的当务之急。
本课题是为企业人事管理提供现代化技术支持的管理信息系统,该系统包括了员工管理、部门管理、用户管理、招聘管理等主要模块。其图形用户界面利用DELPHI进行开发,后台数据库使用SQL SERVER 2000,采用ADO数据访问方式。本文针对具体项目展开研究,首先进行需求分析、模块划分,对实施该课题的方案进行论证。然后对整个系统进行了详细的分析和设计,结合源代码详细的描述出整个项目的开发过程,最后对系统进行了功能测试。
本课题的实施将会促进企业的无纸化办公,避免人工管理中出现各种差错,提高企业管理效率,使得管理者能够更加方便的了解到企业内部人事状况。
关键字: 人事管理,图形用户界面,数据访问。
Abstract
With the development of information technology, in order to make the management faster and more correct, the most important thing of enterprises is making their personnel management computerized.
This project is a Management and Information System which offer the modern technology to support personnel management. This project covers Employee management﹑Department management﹑User management﹑Hiring management etc. Graphical User Interface is done in DELPHI, the background database is making use of SQL SERVER 2000 and the method for data-access is ADO .The author firstly evolved in the actual item then make the requirement analysis and modularization ,demonstrating from the beginning design to the last solution. In the process of analysis, the author describes the source code of the whole project. At last the thesis show the result of testing.
The advantages of applying this system are working with no paper and making personnel management more correct without manual mistakes. Improving the efficiency of management While make leaders know the personnel case very convenient.
Keywords: Personnel Management; Graphical User Interface; Data-Access;
目 录
第一章 绪论 .......................................................................................................................... 1
1.1 问题背景 ......................................................................................................................... 1 1.2 研究范围及技术要求 ..................................................................................................... 1
第二章 方案描述 ................................................................................................................. 2
2.1 编写目的 ......................................................................................................................... 2 2.2 应用需求分析 ................................................................................................................. 2 2.3权限功能划分 ................................................................................................................. 2 2.4系统实现的基本功能 ..................................................................................................... 5 2.5 设计数据库实体关系 ..................................................................................................... 6 2.6数据库全局实体关系 ................................................................................................... 12
第三章 系统模型建立与比较论证 .............................................................................. 14
3.1 系统总体功能结构 ....................................................................................................... 14 3.2 登录模块的设计 ........................................................................................................... 15 3.3 系统管理模块的设计 ................................................................................................... 15 3.4部门管理模块的设计 ................................................................................................... 17 3.5 员工信息模块的设计 ................................................................................................... 20 3.6考勤管理模块的设计 ................................................................................................... 23 3.7 招聘信息模块的设计 ................................................................................................... 25 3.8方案论证分析 ............................................................................................................... 28
第四章 系统的实现 .......................................................................................................... 32
4.1登录模块的实现 ........................................................................................................... 32 4.2 建立应用程序主窗体 ................................................................................................... 34 4.3 用户管理模块的实现 ................................................................................................... 36 4.4员工信息模块的实现 ................................................................................................... 37 4.5 部门管理模块的实现 ................................................................................................... 39 4.6考勤管理模块的实现 ................................................................................................... 41 4.7招聘信息模块的实现 ................................................................................................... 41
4.8其他模块的实现 ........................................................................................................... 41
第五章 系统测试 ............................................................................................................... 42
5.1 测试目的 ....................................................................................................................... 42 5.2 测试方法 ....................................................................................................................... 42 5.3 测试设计 ....................................................................................................................... 42 5.4系统各模块的功能测试 ............................................................................................... 44 5.5测试结论 ....................................................................................................................... 45
结束语 .................................................................................................................................... 46 参考文献 ............................................................................................................................... 47 致谢 ......................................................................................................................................... 48
第一章 绪论
1.1 问题背景
随着信息化社会带给我们的冲击越来越强烈,信息化管理和信息化设备已经深入到我们生活的方方面面,同时,信息时代带给现代企业强烈的冲击,企业管理已经不再满足于在传统的纸质媒体上纪录,而要求更加快速,更加精确的记录企业各部门以及员工的各种信息,而随着基于数据库的网络信息系统的发展,人们已经开始在这个平台上面开发出了成功的企业人事管理系统,而随着企业的不断发展,人事信息的日益庞大,企业人事管理系统的发展也发生着深刻变革,企业决策者要求从系统中了解到目前的人力资源情况,而员工则要求能够即时的查询自己的当前信息[1]。
企业人事管理系统是当前一个很热门,实用性很强的系统,这里我们实现的是它的员工、部门基本信息以及考勤招聘等模块,把它作为毕业设计的题目,可以把已有的知识用于实践,又可以学到一些新的概念,在这个过程中,可以增加我们的工程经验,对以后的工作学习是一次很有意义的经验积累。
1.2 研究范围及技术要求
1.2.1 研究范围
1. 设计该系统的功能模块划分,使用SQL SERVER 2000设计出该系统的数据库。 2. 根据各模块需求,完成数据库视图和功能的实现。
3. 参考现代企业实际管理情况,完成对系统的需求分析及设计文档。 4. 实现对各功能模块代码的编制。 1.2.2 技术要求
1. 功能模块划分合理。 2. 数据库设计满足功能要求。
3. 数据库冗余度小,尽量满足三范式要求。 4. 绘制数据库各数据表之间的关系图。
5. 建立数据库访问接口类,实现对数据库的访问。
6. 完成功能模块中的一个较小的功能,以测试数据库接口的正确性。
1
第二章 方案描述
2.1 编写目的
为人事管理提高效率、降低成本、实现人事管理的优化,达到物流和信息流的畅通。在满足人事管理的基本功能基础上注意发挥信息系统的智能化 ,减轻人事管理人员和操作人员的工作负担。
2.2 应用需求分析
企业人事管理系统对于用户主要满足3种类型的需求,这3种类型用户分别为普通用户,高级用户,系统管理员,以下将分别详细讨论这3种类型的用户需求:
用户的静态结构图如图2.1所示:
普通用户组高级用户组系统管理员
图2.1 用户的静态结构图
2.3权限功能划分
普通用户组:普通用户组是这三种用户里面权限最低的用户,只可以对员工、部门信息和考勤信息进行浏览,无法进行其他操作,但是系统必须为他们登录提供登录的用户名和密码,尽管权限很低,但是他们还可以对自己的个人密码进行修改(无法修改其他用户的密码)。
普通用户组的用例图如图2.2所示:
2
系统基本信息查询普通用户组个人密码的修改
图2.2 普通用户组的用例图
高级用户组:高级用户组的权限级别比普通用户高出一级,他们可以对部门信息、员工基本信息、考勤信息、招聘信息进行各种操作,比如修改,删除,新增,当然,他们也可以像普通用户那样浏览一些基本信息,并修改自己的个人密码。他们的以上各种操作也必须先通过身份验证后方可进行。
高级用户组的用例图如图2.3所示:
3
高高高高高高高高高.高高.高高高高高高高高高.高高.高高高高高高高高高高高高高高高高高高高高高.高高.高高高高高高高高高.高高.高高
图2.3 高级用户组的用例图
系统管理组:系统管理组负责整个系统的正常运行,对各种意外及危险操作及时做出反应,同时可以为其余的类型的用户分配权限以及操作各种系统的基本信息――员工基本信息,部门基本信息,考勤基本信息,招聘基本信息。另外,如果其余用户对信息有任何误操作,都可以申请系统管理组为其恢复。
系统管理组的用例图如图2.4所示:
4
系统权限组用户删除权限组用户修改权限用户查询系统管理员权限组用户新增权限设置系统基本信息管理
图2.4系统管理组的用例图
2.4系统实现的基本功能
人事管理系统的主要作用是为用户管理不同部门的职工,支持企业有效的完成人事管理的日常工作;将零散的、杂乱无章的人员信息、资料整理,方便用户的查询、汇总以及分析。一个完整的人事管理系统应实现以下基本功能。
1.部门管理:能够维护体现部门间的组织关系,反映部门的基本信息,能够进行部门的增加撤消,以及部门信息(如部门名称、负责人名称等)的修改。
2.用户管理:能够对系统用户进行编辑、增加或删除,并指定用户的权限。 3.员工信息的管理:维护员工的基本信息,用户可以进行员工档案信息的录入及更改,其中包括员工的基本信息、工作经历、家庭关系、奖惩记录和培训经历,要求这些
5
员上档案信息可以进行新增、删除、修改操作,同时可以进行浏览和查询的操作。该模块是本系统的重点,用户可以通过该模块为单位建立一个比较完整的人事档案系统,同时可以比较方便地对档案进行查看。
4.考勤管理:主要实现企业的考勤管理系统化、规范化和自动化,对日常考勤、加班信息、出差信息和休假信息进行修改、添加和删除,并提供基于员工号,姓名和时间范围的查询。
5.招聘信息:维护企业的岗位招聘信息和相应的应聘信息,对这些信息进行修改、添加和删除。
2.5 设计数据库实体关系
本例所用SQL SERVER是一个后台数据库管理系统,它功能强大操作简便,目前很多开发工具都提供了与SQL SERVER的接口。SQL SERVER不但可以应用于大中型数据库管理中,建立分布式关系数据库,也可以开发桌面数据库。SQL SERVER数据库处理的基本结构,采取关系型数据库模式,但在它的数据库处理方式上,则是使用面向对象的操作方式,也就是说,SQL SERVER的所有功能,都可以基于系统已经建立好的一些对象来达成,是相当OO(面向对象)的一个系统结构。SQL SERVER 企业管理器是 SQL SERVER的主要管理工具,这也是作者在开发这个人事管理系统所用到的一个重要工具。
数据库设计主要是进行数据库逻辑设计,即将数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的。数据库设计时需要综合企业各个部门的存档数据和数据需求,分析各个数据之间的关系,按照DBMS提供的功能和描述工具,设计出规模适当、正确反映数据关系、数据冗余少、存取效率高、能满足多种查询要求的数据模型[2]。
1. 用户清单表的数据字典如表2.1所示:
序号 1 2 3 4 5 6
名称 清单编号 用户名 真实名 员工号 密码 权限 数据类型 int varchar char char char char 长度、精度要求 唯一性要求 4 10 10 4 10 4 Y 必要性要求 Y Y Y Y 其它描述 6
表2.1 用户清单表的数据字典
说明:这张表存放的目前用户的权限信息,其中编号设为主键。每个登录用户必定属于以上一个权限,权限编号用来表明用户属于哪一个权限组,权限组名称具体指出权限的描述。1表示普通用户,2表示高级用户,3表示系统管理员。
2.部门信息表的数据字典如表2.2所示:
长度、精度要序号 名称 数据类型 求 1 2 3 4 5 6 7 8 9 部门编号 层次 父编号 最大子号 名称 负责人 员工号 部门简介 近期工作 int int int int varchar char char varchar varchar 4 4 4 4 50 10 10 50 50 要求 Y 要求 Y Y Y Y Y 唯一性必要性其它描述 表2.2 部门信息表的数据字典
说明:编号设为主键,与员工基本信息表发生联系。其中父编号、最大子号是为了实现treeview的结点,为进行自动编号而设计。
3. 员工基本信息表的数据字典如表2.3所示:
长度、精度要序号 名称 数据类型 求 1 2 3 4 5 员工编号 姓名 性别 出生日期 民族 int char char char char 4 10 10 10 10 要求 Y 要求 Y Y Y 唯一性必要性其它描述
7
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 部门编号 工种 省市 学历 专业 身份证号 档案号 政治面貌 技术等级 婚姻状况 录用时间 健康状况 合同期限 起止时间 邮政编码 住址 照片 int char char char char char char char char char char char char varchar char char varchar 4 10 10 10 10 20 10 10 10 10 10 10 10 20 10 10 50 Y Y Y Y 表2.3 员工基本信息表的数据字典
说明:部门编号存放员工所属的部门编号,与部门表发生联系。
4. 奖惩记录表的数据字典如表2.4所示:
长度、精度要序号 名称 数据类型 求 1 2 3 4 5 6
奖惩条目 员工编号 类别 事件 处理部门 时间 int int char char char char 4 4 10 10 10 10 要求 Y 要求 Y Y Y 唯一性必要性其它描述 8
7 结果 varchar 50 表2.4 奖惩记录表的数据字典
说明:奖惩记录编号设为主键,与员工基本信息表发生联系。
5. 社会关系表的数据字典如表2.5所示:
长度、精度要序号 名称 数据类型 求 1 2 3 4 5 6 7 关系条目 员工编号 姓名 关系 电话 单位 备注 int int char char char char char 4 4 10 10 10 10 10 要求 Y 要求 Y Y Y 唯一性必要性其它描述 表2.5 社会关系表的数据字典
说明:社会关系编号设为主键,与员工基本信息表发生联系。
6.培训经历表的数据字典如表2.6所示:
长度、精度要序号 名称 数据类型 求 1 2 3 4 5 6 7 8 经历条目 员工编号 培训课程 期限 开始时间 结束时间 培训单位 证书 int int char char daytime daytime char char 4 4 10 10 8 8 10 10 要求 Y 要求 Y Y Y 唯一性必要性其它描述 表2.6 培训经历表的数据字典
9
说明:培训经历编号设为主键,与员工基本信息表发生联系。
7.工作经历表的数据字典如表2.7所示:
长度、精度要序号 名称 数据类型 求 1 2 3 4 5 6 7 工作经历编号 员工编号 开始时间 结束时间 公司 部门 职责 int int char char char char char 4 4 10 10 10 10 10 要求 Y 要求 Y Y Y 唯一性必要性其它描述 表2.7 工作经历表的数据字典
说明:工作经历编号设为主键,与员工基本信息表发生联系。
8.日常考勤表的数据字典如表2.8所示:
长度、精度要序号 名称 数据类型 求 1 2 3 4 5 6 考勤条目 员工编号 日期 姓名 上班时间 下班时间 int int char char datetime datetime 4 4 10 10 8 8 要求 Y 要求 Y Y Y 唯一性必要性其它描述 表2.8 日常考勤表的数据字典
说明:日常考勤编号设为主键,与员工基本信息表发生联系。
9.出差信息表的数据字典如表2.9所示:
序号 名称 数据类型 长度、精度要唯一性必要性其它描述
10
求 1 2 3 4 5 6 7 出差条目 员工编号 姓名 日期 返回日期 地点 任务 int int char datetime datetime char varchar 4 4 10 8 8 10 50 要求 Y 要求 Y Y Y 表2.9 出差信息表的数据字典
说明:出差信息编号设为主键,与员工基本信息表发生联系。
10.加班信息表的数据字典如表2.10所示:
长度、精度要序号 名称 数据类型 求 1 2 3 4 5 6 加班条目 员工编号 姓名 日期 时间 原因 int int char datetime char varchar 4 4 10 8 10 8 要求 Y 要求 Y Y Y 唯一性必要性其它描述 表2.10 加班信息表的数据字典
说明:加班信息编号设为主键,与员工基本信息表发生联系。
11.应聘信息表的数据字典如表2.11所示:
长度、精度要序号 名称 数据类型 求 1 2 3 应聘条目 招聘条目 姓名 int int char 4 4 10 要求 Y 要求 Y Y Y 唯一性必要性其它描述
11
4 5 联系电话 个人简介 char varchar 10 50 表2.11 应聘信息表的数据字典
说明:应聘条目设为主键,与招聘信息表发生联系。
12.招聘信息表的数据字典如表2.12所示:
长度、精度要序号 名称 数据类型 求 1 2 3 4 5 招聘条目 招聘岗位 所属部门编号 人数 要求 int int char datetime char 16 20 16 5 8 要求 Y 要求 Y Y Y 唯一性必要性其它描述 表2.12 招聘信息表的数据字典
2.6数据库全局实体关系
数据库的全局实体关系如图2.5所示:
12
图2.5 数据库全局实体关系图
13
第三章 系统模型建立与比较论证
3.1 系统总体功能结构
由需求分析可以知,信息的查询和维护是系统的主要任务,而两者间有紧密的联系,所以,根据人事管理中各种信息的内容划分,将模块划分为部门信息、员工信息、考勤信息、招聘信息,它们的查询和维护具有相对的独立性,所以必须构建专门的模块。同时设置系统管理模块进行用户管理,设置用户权限。帮助模块向用户提供“使用指导”。系统功能结构图如图3.1所示:
高高高高高高 高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高
图3.1 系统功能结构图
14
3.2 登录模块的设计
1.用户身份验证
输入:输入用户名称,填写正确的密码。 处理:
1) 用户登录窗体启动。
2) 用户填写用户名并输入密码。
3) 从用户清单表中检查是否有相应的用户名和密码。 4) 如果输入的用户名或相应密码错误,进行提示。 5) 如果输入的用户名和相应密码正确,进入主控制平台 输出:主控制平台(管理员、高级用户或一般用户的界面) 2.本模块所涉及信息的描述
用户清单表
3.3 系统管理模块的设计
用户管理模块负责对用户基本信息的建立,以及对用户的权限进行基本维护,不同权限的操作人员可以使用的模块范围不一样。用户管理模块功能有:根据用户权限类别进行查询,显示该权限的所有用户,或输入用户名查询。增加用户,编辑和删除已有的用户,对他们赋予权限。
用户管理模块的活动图如图3.2所示:
15
系统管理员系统启动系统进入统一登录界面开始登录验证成功进入主界面验证界面权限失败成功失败结束用户管理操作进行操作并把结果存入数据库图3.2用户管理模块的活动图
1.查询用户的处理 a) 处理过程:
1) 从下拉菜单中选择要查询的权限类别,或选择通过用户名查询,输入用户名。 2) 从数据库用户清单中读取数据,将查询结果返回给用户。 b)本使用案例中所涉及信息的描述:
用户清单表 2.添加新的管理员的处理 a) 处理过程:
1) 指定使用添加用户操作。
16
2) 输入用户名称、用户口令和权限的类别。 3) 弹出对话框,确认操作。
4) 完成对数据库中用户清单表的相应操作。 b) 本使用案例中所涉及信息的描述:
用户清单表 3.编辑用户权限的处理 a) 处理过程:
1) 通过查询功能,从显示在表格里的用户信息中选择需要编辑的用户名。 2) 从用户清单中读取数据,在信息项的文本框中显示。 3) 指定使用编辑用户操作。
4) 在需要修改的信息框中输入新的信息。 5) 弹出对话框,确认操作。
6) 完成对数据库中用户清单表的相应操作。 b) 本使用案例中所涉及信息的描述:
用户清单表
4.删除指定的操作人员的处理 a) 处理过程
1) 指定表格里显示的用户中的某一用户。 2) 指定使用删除用户操作。 3) 确认操作。
4) 完成对数据库中管理员表的相应操作。 b) 本使用案例中所涉及信息的描述。
用户清单表
3.4部门管理模块的设计
部门管理是对人事管理有十分重要的作用,按部门划分是对员工的一种最自然划分,在很大程度上反映了员工的工作性质。
部门管理模块的活动图如图3.3所示:
17
高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高高图3.3 部门管理模块的活动图
部门设置模块实现的主要功能:查询部门基本信息、增加新的部门(包括增加子部门和同级部门)、修改部门信息、撤消部门信息。从部门信息中读取已有的相关部门信息,同时实现对部门信息的新增记录、更新记录、删除记录以及查询的工作。 1.添加同级部门信息 a) 处理过程:
1) 部门设置窗体启动。
2) 从部门信息表中读取所有的记录,通过部门组织结构显示。
18
3) 在部门组织结构中,选择需要添加同级部门的部门,用户选择完成部门信息的
新增任务。
4) 新增动作完成提示保存。 b) 本使用案例中所涉及信息的描述
部门信息表 2.添加下级部门 a) 处理过程:
1) 部门设置窗体启动。
2) 从部门信息表中读取所有的记录,通过部门组织结构显示。
3) 在部门组织结构中,选择需要添加下部门的部门,用户选择完成部门信息的新
增任务。
4) 新增动作完成提示保存。 b) 本使用案例中所涉及信息的描述
部门信息表 3.修改部门信息 a) 处理过程:
1) 部门设置窗体启动。
2) 从部门信息表中读取所有的记录,通过部门组织结构显示。
3) 用户选择部门组织结构中需要修改信息的部门,用户选择完成部门信息的修
改任务。
4) 修改动作完成提示保存。 b) 本使用案例中所涉及信息的描述
部门信息表 4.删除部门信息 a) 处理过程:
1) 部门设置窗体启动。
2) 从部门信息表中读取所有的记录,通过部门组织结构显示。
3) 用户在部门组织结构图中选择需要删除的部门,完成对部门信息的删除。对于
还有子部门的部门提示删除子部门后,才能完成该部门信息的删除任务。 4) 删除动作完成提示保存。
19
b) 本使用案例中所涉及信息的描述。
部门信息表 5.浏览部门详细信息 a) 处理过程:
1) 部门设置窗体启动。
2) 从部门信息表里读取已有部门名称。
3) 用户在部门组织结构图中选择需要浏览信息的部门,读取数据库中部门信息表
的信息,在文本框里显示。
b) 本使用案例中所涉及信息的描述
部门信息表
3.5 员工信息模块的设计
这个模块是本系统中最重要的模块,用于查询和管理员工的档案资料,是了解员工信息的最基本渠道。企业不仅应该掌握员工的姓名、出生日期、学历等基本信息,还应该掌握员工的工作经历、社会关系、奖惩记录以及培训经历等,这样有助于对员工的了解和任用。由此设置这个子模块显示和维护以上5部分信息。由于需要使用人事管理系统的企业一般都有大量的员工,用户的一次查询操作只是针对部分员工,特别是通过部分信息找到相关人员。所以本模块必须具备的是查询导引模块,应该提供快捷全面的查询渠道,是用户能够方便的定位到要找的员工。
员工信息模块的活动图如图3.4所示:
20
用户启动系统系统显示统一登录界面验证开始登录成功进入员工基本信息界面验证界面权限失败成功选择查询导引类型失败归整查询条件等待查询结果查询返回查询结果结束浏览结果 结束操作结果存入数据库选择用户进行员工基本信息操作图3.4员工信息模块的活动图
根据不同部门建立一个部门组织结构图,用户可以根据该组织结构来进行员工信息查询工作,选择组织结构图中某一部门就能在dbgrid里显示该部门所有的员工;在该模块中,用户进行员工档案信息录入及更改,其中包括员工的基本信息、工作经历、家庭关系、奖惩记录和培训经历,要求对于这些员工的档案信息可以进行新增、删除、修改操作,同时可以进行浏览和查询的操作。
21
1.查询导引 a) 处理过程:
1) 员工信息设置窗体启动。
2) 从员工信息表中读取所有的记录,在部门组织结构图里显示,以方便选择要查
询的部门。
3) 双击选中部门,从数据库中读取相关信息,并显示。 b) 本使用案例中所涉及信息的描述 员工信息表 部门信息表 2.浏览员工信息 a) 处理过程:
1) 员工信息设置窗体启动。
2) 从员工信息表中读取所有的记录,并进行显示。 3) 选择部门对员工信息进行浏览。 b) 本使用案例中所涉及信息的描述 员工信息表 部门信息表 3.新增员工信息 a) 处理过程:
1) 员工信息设置窗体启动。
2) 从员工信息表中读取所有的记录。 3) 用户选择完成职工信息的新增任务。 4) 输入新增信息。
5) 新增信息完成,提示保存。 b) 本使用案例中所涉及信息的描述
员工信息表 部门信息表 4.删除员工信息 a) 处理过程:
1) 员工信息设置窗体启动。
22
2) 从员工信息表中读取所有的记录。
3) 选择组织结构图中的某一部门,从部门信息表读取数据,在dbgrid里显示该部
门所有员工。
4) 用户选择完成员工信息的删除任务。 5) 选择需删除的信息。 6) 删除信息完成,提示保存。 b) 本使用案例中所涉及信息的描述
员工信息表 部门信息表 5.修改员工信息 a) 处理过程:
1) 员工信息设置窗体启动。
2) 从员工信息表中读取所有的记录。
3) 选择组织结构图中的某一部门,从部门信息表读取数据,在dbgrid里显示该部
门所有员工。
4) 用户选择完成职工信息的修改任务。 5) 对现有信息进行修改。 6) 修改信息完成,提示保存。 b) 本使用案例中所涉及信息的描述
员工信息表 部门信息表
3.6考勤管理模块的设计
考勤管理是员工日常管理的重要部分,是对员工工作情况进行衡量的基本依据。 考勤管理模块的活动图如图3.5所示:
23
用户启动系统系统显示统一登录界面登录开始验证成功进入考勤管理界面验证界面权限失败选择查询方式成功失败归整查询条件等待查询结果查询结束浏览结果结束返回查询结果选择用户进行考勤信息操作操作结果存入数据库图3.5考勤管理模块的活动图
1.员工日常考勤管理 a) 处理过程:
1) 员工考勤管理窗体启动。
2) 由用户输入当天员工的姓名、编号、上下班时间。 3) 输入动作完成,提示保存信息。
24
b) 本使用案例中所涉及信息的描述
人事考勤表 2.员工加班信息管理 a) 处理过程:
1) 员工考勤管理窗体启动。
2) 用户输入当前加班员工的信息,包括加班的时间、原因。 3) 输入动作完成,提示保存信息。 b) 本使用案例中所涉及信息的描述
人事考勤表 3.员工出差信息管理 a) 处理过程:
1) 员工考勤管理窗体启动。
2) 用户输入当前出差员工的信息,包括出差的时间、地点、任务。 3) 输入动作完成,提示保存信息。 b) 本使用案例中所涉及信息的描述
人事考勤表 4.查询管理 a) 处理工程:
1) 员工考勤管理窗体启动。 2) 选择查询的条件
3) 点击查询按钮,从数据库读取数据,显示当前员工考勤相关信息。 b) 本使用案例中所涉及信息的描述
人事考勤表
3.7 招聘信息模块的设计
招聘信息模块需要维护企业的人员需求信息,同时记录对应的应聘信息,方便企业的纳新。招聘信息模块的活动图如图3.6所示:
25
系统管理员系统启动系统进入统一登录界面开始登录验证成功失败进入招聘管理模块验证界面权限成功失败进行增加功能操作进行操作并把结果存入数据库结束图3.6招聘信息模块的活动图
3.7.1空缺岗位管理 1.添加招聘信息 a) 处理过程:
1) 员工招聘信息窗体启动。 2) 用户选择编辑招聘信息。
3) 从招聘信息表中读取所有的记录,显示到dbgrid1中。 4) 用户选择添加招聘信息的任务。
5) 输入招聘岗位,选择招聘部门,人数和要求。 6) 添加信息完成,提示保存。
26
b) 本使用案例中所涉及信息的描述
招聘信息表 2.修改招聘信息 a) 处理过程:
1) 员工招聘信息窗体启动。
2) 从招聘信息表中读取所有的记录,显示到dbgrid1中。 3) 选择dbgrid1里需要修改的招聘信息项。 4) 用户选择完成招聘信息的修改任务。 5) 对现有信息进行修改。 6) 修改信息完成,提示保存。 b) 本使用案例中所涉及信息的描述
招聘信息表 3.删除招聘信息 a) 处理过程:
1) 员工招聘信息窗体启动。
2) 从招聘信息表中读取所有的记录,显示到dbgrid1中。 3) 选择dbgrid1里需要删除的招聘信息项。 4) 用户选择完成招聘信息的删除任务。 5) 修改信息完成,提示保存。 b) 本使用案例中所涉及信息的描述
招聘信息表 3.7.2应聘人员管理 1.添加应聘人员信息 a) 处理过程:
1) 员工招聘信息窗体启动。 2) 用户选择编辑应聘信息。
3) 从招聘信息表中读取所有的记录,显示到dbgrid1中。 4) 用户选择要应聘的职位和部门。 5) 用户选择完成应聘信息的添加任务。
6) 在对应的信息栏中输入应聘人姓名,电话和简介。
27
7) 添加信息完成,提示保存。 b) 本使用案例中所涉及信息的描述
应聘信息表 招聘信息表 2.修改应聘人员信息 a) 处理过程:
1) 员工招聘信息窗体启动。 2) 用户选择编辑应聘信息。
3) 从招聘信息表中读取所有的记录,显示到dbgrid1中。 4) 用户选择要应聘的职位和部门。 5) 用户选择完成应聘信息的修改任务。 6) 对现有的应聘人姓名,电话和简介进行修改。 7) 修改信息完成,提示保存。 b) 本使用案例中所涉及信息的描述
应聘信息表 招聘信息表 3.删除应聘人员信息 a) 处理过程:
1) 员工招聘信息窗体启动。 2) 用户选择编辑应聘信息。
3) 从招聘信息表中读取所有的记录,显示到dbgrid1中。 4) 用户选择要应聘的职位和部门。 5) 用户选择完成应聘信息的删除任务。 7) 删除信息完成,提示保存。 b) 本使用案例中所涉及信息的描述
应聘信息表 招聘信息表
3.8方案论证分析
3.8.1 方案的技术可行性
28
Delphi是著名的Borland(现在已和Inprise合并)公司开发的可视化软件开发工具。它基于窗体和面向对象的方法,高速的编译器,强大的数据库支持,与Windows编程紧密结合,具有强大而成熟的组件技术。它是一门真正的面向对象的开发工具,并且是完全的可视化。 Delphi使用了真编译,可以让代码编译成为可执行的文件,而且编译速度非常快。在Delphi众多的优势当中,它在数据库方面的特长显得尤为突出:适应于多种数据库结构,从客户机/服务机模式到多层数据结构模式;高效率的数据库管理系统和新一代更先进的数据库引擎;最新的数据分析手段和提供大量的企业组件,是开发中型数据库软件理想的编程工具。 Delphi适用于应用软件、数据库系统、系统软件等类型的开发。
SQL SERVER是一个关系数据库管理系统(DBMS),数据库处理的基本结构,采取关系型数据库模式,但是在SQL SERVER的数据库处理方式,则是使用面向对象的操作方式。作者根据它的这个特点,配合数据设计的基本原则及数据库的范式要求对数据库进行设计[3]。
所以,此方案具有技术可行性。 3.8.2 方案的经济可行性
随着互联网的普及,计算机、网络已经深入到我们生活的方方面面,企业人事管理系统将代替传统的手工信息管理。
传统的企业人事管理中,为了尽量避免人工操作中出现太多差错,企业不得不投入大量的人力、财力对员工和部门的基本信息进行整理与管理,而使用企业人事管理系统,除了系统开发的费用,只需要对相关部门的员工进行简单培训,就可以轻松的进行管理,达到了一劳永逸的效果。另外在员工信息中奖惩、考勤、培训等信息是经常发生变化,如果用手工进行记录,一方面填写手续较多比较麻烦、另一方面在时间的及时性上也不如系统管理来得及时。
所以从投资和收益的比较中可以看出,此方案的经济可行性很大。 3.8.3 Delphi 与VB.VC编译器的比较
与Delphi相比,VB相对来说比较简单一些,适合于初学者学习。VB使用了Basic语法,它是一种解释性语言,运行时必须要一个动态连接库的支持,才能解释运行,所以速度上VB要比delphi慢。VB虽然使用不复杂,但它隐藏了很多细节,这对于我们想更深入的了解系统内部是不利于的。Delphi在编好程序后自动转换成.EXE文件它运行时速度比VB快,而且编译后不需要其他的支持库就能运行。它拥有和VB差不多一样
29
的功能,一样能应用API函数,这在控制Windows很有用。 另外从界面来看, Delphi的控件更加丰富,界面风格也更加美观。
但与VC这个公认的最难学的一门语言相比,Delphi在学习起来就要轻松些。VC可以算是真正的面向对象的语言了,因为几乎所有的一切都需要你来写代码实现,比如:要改变文本框字体的颜色,就需要自己写一大段代码,而delphi只需简单的设置一个属性就可以了。VC什么东西几乎都没封装,只是给我们留了成千上万的类(MFC), VC不象delphi有大量的第三方组件,这样一来开发效率就自然的降低了。VC中即使很细小的东西都要自己写很多代码来实现,在这个科技飞跃发展的时代是跟不上的。它的界面美观度也更是无法与delphi媲美。
综上所述,delphi是非常强大的开发工具它既具有VB的易用性,也具有VC的强大功能,可以说是没有不能实现的功能,唯一不同的是Borland公司所开发的delphi是使用的Pascal语法,这是不同于Basic和C++的另一种语法体系,但他们也是有相通的地方的,基本程序设计思想是大同小异的。Delphi支持汇编,使用VCL,很多第三方组件的支持,并且自身的组件功能也很强大,所以开发效率是非常高的,这也是目前很多程序员都喜欢使用delphi的原因。 所以根据作者课题的特点,选择delphi进行开发是具有很大的优势的。
3.8.4 MIS系统开发中C/S模式与B/S模式比较
Client/server其客户端实现与服务器的直接相连,没有中间环节,因此响应速度快。客户操作界面设计个性化,具有直观、简单、方便的特点,可以满足客户个性化的操作要求。同时由于开发是具有针对性的,因此操作界面美观,形式多样,可以充分满足客户自身的要求。但同时由于是针对性开发,因此该模式缺少通用性,业务变更不够灵活,需要重新设计和开发,增加了维护和管理的难度。
与Client/server相比,brower/server具有分布性特点,可以随时随地进行业务处理,业务扩展简单方便。维护简单方便,只要更新网页就可以实现所有用户的同步更新,开发简单,共享性强。但其个性化特点明显降低,无法实现具有个性化的设计要求。操作的习惯性是以鼠标为最基本的操作方式,无法满足快速操作的要求。页面动态刷新,响应速度明显降低。专用性打印输出难以实现,无法实现分页显示,给数据库访问造成较大的压力。功能相对弱化,难以实现传统模式下的特殊功能要求[4]。
综上所述,两个模式都有其优点和缺点,在企业人事管理信息系统中,需要系统能够快速响应,并能实现一些特殊功能,其业务主要是企业内部的人事管理,所以业务的
30
变更不会太大,并且它的针对性很强,所以相比之下C/S模式更适合该系统的开发。
31
第四章 系统的实现
4.1登录模块的实现
这个模块主要是判断用户是否具有登录的资格和判断其登录的权限,以及登录后可以控制的模块的功能范围,通过权限的不同而进行不同的控制。 4.1.1首次登录模块的实现
系统登录窗体如图4.1所示:
图4.1 系统登录窗体
该窗体放置了2个文本lable控件以显示文字,放置了两个编辑框edit控件,供用户输入用户名和口令,另外还放置了checkbox控件,让用户选择是否隐身登录。在窗体的最下方放置了两个bitbtn控件,用来对该登录动作进行确定或者取消。在这个模块里,作者生成了该工程的大部分功能窗体。
确定事件代码实现如下:
procedure Thm_loginForm.BitBtn1Click(Sender: TObject); begin
//从用户清单表中提取信息 ADOQuery1.close; ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text := 'select * from 用户清单 where 用户名 = '''+Edit1.Text+''' and 密码 = '''+Edit2.Text+''''; ADOQuery1.Open; //如果没有该用户
32
if ADOQuery1.RecordCount =0 then begin
ShowMessage('用户名或密码错误,请重新登录'); end
else//找到用户 begin
//记录用户信息
idright:=ADOQuery1.FieldByName('权限').AsInteger; idnum:=ADOQuery1.FieldByName('编号').AsInteger; //决定是否显示用户名 if CheckBox1.Checked then begin
uname:='隐身登陆'; end else begin
uname:=ADOQuery1.FieldByName('用户名').AsString; end;
//生成其他窗口
hm_loginForm.Visible :=false;
Application.CreateForm(Thm_mainForm, hm_mainForm); Application.CreateForm(Thm_userForm, hm_userForm); Application.CreateForm(Thm_dpForm, hm_dpForm); Application.CreateForm(Thm_pinfForm, hm_pinfForm); Application.CreateForm(Thm_rollForm, hm_rollForm); Application.CreateForm(Thm_empForm, hm_empForm); hm_mainForm.ShowModal; end; end;
4.1.2重新登录模块的实现
33
企业人事管理系统应该允许多个用户访问,不同的用户应使用不同的用户名和口令登录。当一个用户使用完毕后,可以在应用程序不关闭的情况下,让另外一个用户登录使用。所以,对该系统设计了重新登录窗口(即注销后登录)。重新登录由主界面菜单的“重新登录”或者“注销用户”子菜单调用,界面同图4.1
生成该窗体的代码如下:
procedure Thm_mainForm.N10Click(Sender: TObject); begin
hm_empForm.Free; hm_rollForm.Free; hm_dpForm.Free; hm_pinfForm.Free; hm_userForm.Free;
hm_mainForm.Visible := False;
hm_LoginOutForm := Thm_LoginOutForm.Create(nil);//生成重新登录界面 hm_loginOutForm.ShowModal; end;
4.2 建立应用程序主窗体
该系统应用程序的主窗体hm_mainform如图4.2所示:
34
图4.2系统主界面
该窗体主要是为了打开其他窗体所提供的一个载体。在改模块中使用了鼠标移动改变字体,显示功能提示的方法。
选取其中一条,代码如下:
//---------------显示部门管理窗口-------------------- procedure Thm_mainForm.Label7Click(Sender: TObject); begin
hm_mainForm.Visible:=false; hm_dpForm.ShowModal; end;
//--------------鼠标进入改变字体格式,显示说明信息----- procedure Thm_mainForm.Label7MouseEnter(Sender: TObject); begin
Label7.Font.Style:=[fsItalic, fsUnderline]; Label11.Caption:='* 查阅维护部门信息'; end;
//--------------鼠标离开恢复字体格式,取消说明信息-----
35
procedure Thm_mainForm.Label7MouseLeave(Sender: TObject); begin
Label7.Font.Style:=[]; Label11.Caption:=''; end;
4.3 用户管理模块的实现
用户管理模块主要是实现对用户的权限管理,权限管理在整个系统中占非常重要的位置,只有系统管理员有权限访问,因为它直接关系到用户的访问权限,也关系到整个系统的安全。主要实现对用户授权及撤消用户权限。在进入管理员系统页面选择权用户时,系统会判断是否具有访问权限,若具有则进入权限管理页面,否则不能进入该页面。
在进行用户权限管理时,分为权限最底的一般用户,和权限次于系统管理员的高级用户,高级用户除了不能进行用户管理,其他系统功能都能使用。此功能也主要是对数据库进行操作。为了方便进行用户选择,在这个模块还有一个查询功能,可以将不同权限组的用户显示到dbgrid中,以方便系统管理员浏览和选择编辑。在这个窗体里主要使用了lable、groupBox、comboBoxdbgrid、speedbutton等控件
启动查询代码如下:
procedure Thm_userForm.SpeedButton6Click(Sender: TObject); var
tempstr:array[1..1,1..5] of string; begin
//五种情况 tempstr[1,1]:='';
tempstr[1,2]:='where 权限 = 1'; tempstr[1,3]:='where 权限 = 2'; tempstr[1,4]:='where 权限 = 3';
tempstr[1,5]:='where 用户名 = '''+Edit5.Text +''''; //查询
ADOQuery1.close; ADOQuery1.SQL.Clear;
36
ADOQuery1.SQL.Text := 'select * from '用户清单 +tempstr[1,ComboBox2.ItemIndex+1]; ADOQuery1.Open; //清除上次的显示信息 Edit1.Clear; Edit2.Clear; Edit3.Clear; Edit4.Clear; ComboBox1.Text:=''; DBGrid1CellClick(nil); end;
修改添加删除的代码略,将在下面的模块进行介绍。
4.4员工信息模块的实现
这个模块是整个系统的重点,在这个模块中,为了方便查询和修改,使用了treeview控件,树状的部门结构能让用户通过对部门的选择,对不同部门的员工进行浏览,选择需要修改的员工信息,进行修改。为了使各项信息编辑方便,在该模块使用了pageControl控件,结合几种查询引导方式的使用,能够很清楚的把基本档案、工作经历、社会关系、奖惩记录、培训经历显示出来。
TabSheet活跃才能对该页面进行修改添加操作,选取其中一页的代码实现如下: //----------------- 确定修改,添加---------------------- procedure Thm_pinfForm.SpeedButton5Click(Sender: TObject); var
bEdtState: Boolean; sText: string; begin
bEdtState := False;
//基本信息TabSheet1活跃代表要对基本信息表操作 if PageControl1.ActivePageIndex = 0 then begin
if DateTimePicker6.Date = Date then
37
begin
showmessage('出生日期不合法!'); Exit; end;
if Trim(hm_pname.Text) = '' then begin
showmessage('姓名不能为空!'); Exit; end;
DateTimePicker7.Date := Date;
if ADOQuery3.state In [dsEdit ,dsInsert] then begin
ADOQuery3.FieldByName('姓名').AsString := Trim(hm_pname.Text); ADOQuery3.FieldByName('性别').AsString := Trim(hm_psex.Text); ADOQuery3.FieldbyName('婚姻状况').AsString :=Trim(hm_pmarried.Text);
ADOQuery3.FieldbyName('部门').AsString := Trim(hm_pdep.Text); ADOQuery3.FieldbyName('学历').AsString := Trim(hm_pslevel.Text); ADOQuery3.FieldByName('出生日期').AsDateTime := DateTimePicker6.Date;
ADOQuery3.FieldByName('录用时间').AsDateTime := DateTimePicker6.Date;
ADOQuery3.FieldByName('起止时间').AsString := Trim(hm_StartEnd.Text);
ADOQuery3.FieldByName('更新时间').AsDateTime := DateTimePicker7.Date; ADOQuery3.Post; end; end else
38
begin
if ADOquery4.State In [dsEdit, dsInsert] then begin
bEdtState := True;
ADOQuery4.FieldByName('员工编号').AsString:=DBGrid1.Fields[0].AsString; end; end;
其他代码略
4.5 部门管理模块的实现
该模块能够清晰的将部门组织结构、详细信息展示给用户,同时支持部门组织结构的更改。在这个模块中也使用了treeview控件来展示组织结构关系。并且基于组织结构关系来进行部门的添加,其中包括同级部门添加和子部门的添加。
代码实现如下:
//---------选择增加同级部门 --------------- procedure Thm_dpForm.Button2Click(Sender: TObject); var
sLevel, sParent,S: string; begin
S := Trim(DBEdit4.Text); Button5.Visible:=true; Button6.Visible:=true; Button2.Enabled:=false; Button1.Visible:=false; Button3.Visible:=false; Button4.Visible:=false; sLevel := '0'; sParent := '1000'; pnum := 1000;
39
snum := 1000;
if ADOQuery2.Active then begin
if ADOQuery2.RecordCount > 0 then begin
sLevel := Trim(adoquery2.FieldByName('层次').AsString); sParent := Trim(adoquery2.FieldByName('父编号').AsString); ADOQuery3.Close;
if StrtoInt(sLevel) = 0 then
ADOQuery3.Sql.Text := 'Select Max(编号) as 编号 From 部门信息 Where 层次 =' + QuotedStr(sLevel) else
ADOQuery3.Sql.Text := 'Select Max(编号) as 编号 From 部门信息 Where 层次 =' + QuotedStr(sLevel) + ' and 父编号 = ' + QuotedStr(sParent); ADOQuery3.Open;
//记录当前的部门的父编号,也就是新增子部门的上级编号 pnum:= ADOQuery3.FieldByName('编号').AsInteger;
//由父部门的最大子号 以及层次信息,生成新增子部门的编号 snum:=strtoint(temptable[pnum,2]);
ItemLevel:=adoquery2.FieldByName('层次').AsInteger; snum:=snum+strtoint(floattostr(intpower(10,3-ItemLevel))); if StrtoInt(sLevel) = 0 then pnum := snum; end end else begin
ADOQUery2.Close; ADOQUery2.SQL.Clear;
ADOQUery2.SQL.Text := 'Select * From 部门信息 Where 编号 like
40
''XXX''';
ADOQUery2.Open; end;
ADOQuery2.Append; 其他代码略。
4.6考勤管理模块的实现
该模块提供了基于员工号,姓名和时间范围的查询。这个窗体使用了dbgrid 、dateTimepicker控件,为了考勤信息条理清楚并便于查看,该窗体同样使用了pageControl这个控件,其代码实现略。
4.7招聘信息模块的实现
该模块主要是进行招聘信息和应聘信息的编辑,在这个模块作者使用两个radioButton控件,用于对两种信息编辑状态的选择。由于应聘信息是基于招聘信息进行编辑,所以作者使用了两个Dbgrid控件,首先要通过选择招聘信息,才能对相应的应聘信息进行编辑。
4.8其他模块的实现
1.修改密码模块
这个模块是实现登录用户对自己密码的修改,功能比较简单,代码略。 2.帮助模块
该模块主要是该系统基本情况的提示。代码略。
41
第五章 系统测试
5.1 测试目的
在软件生命周期的每个阶段都不可避免的会引入新的错误。如果在软件投入生产性运行之前,没有发现并纠正软件中的大部分差错,则这些差错迟早会在生产过程中暴露出来,那时不仅纠正这些错误的代价更高,而且往往会造成很恶劣的后果。测试的目的就是在软件投入生产性运行之前,尽可能多的发现软件中的错误。
5.2 测试方法
本课题所采用的测试方法是黑盒测试,及实在程序接口进行的测试,它只检查程序功能是否按照规格说明书的规定正常使用,黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试方法主要有等价类划分、边值分析、因果图、错误推测等,主要用于软件确认测试。 “黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。“黑盒”法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。
5.3 测试设计
本课题所采用的设计技术是适用于黑盒测试的边界值分析和等价划分相结合的策略。使用边界值分析方法设计测试方案首先应该确定边界情况,通常输入等价类和输出等价类的边界,选取的测试数据应该刚好等于、刚好小于和刚刚大于边界值。等价划分法首先需要划分输入数据的有效等价类和无效等价类。在确定输入数据的等价类时常常还需要分析输出数据的等价类,以便根据输出数据的等价类导出对应的输入数据等价类。经验表明,用这种方法设计出的测试方案暴露程序错误的能力最强。必要时用等价划分法补充测试方案。
以考勤管理功能模块中“考勤时间”为例设计测试用例,实现如下:
42
1.划分等价类如表5.1所示:
输入数据 有效等价类 无效等价类 ⑵有非数字字符 ⑶年份少于4个数字字符 ⑷年份多于4个数字字符 ⑴4位数字字符‘-’1位或2位数字字符‘-’1⑸月份少于1个数字字符 销售日期 位或2位数字字符 ⑹月份多于2个数字字符 (如:2004-5-16) ⑺天日少于1个数字字符 ⑻天日多于2个数字字符 ⑼无‘-’符号 年份对应数值 ⑽正常年份 ⑾错误年份 ⒀等于‘0’ 月份对应数值 ⑿在1~12之间 ⒁大于‘12’ ⒃等于‘0’ 天日对应数值 ⒂在1~31之间 ⒄大于‘31’ 表5.1 “考勤时间”的等价分类表
2.设计有效等价类需要的测试用例如表5.2所示:
测试数据 2004-5-16 期望结果 输入有效 测试范围 ⑴、⑽、⑿、⒂ 表5.2 有效等价类的测试用例
3.为每一个无效等价类设计测试用例如表5.3所示:
测试数据 2004-S-16 004-5-16 20004-5-16 2004—16 期望结果 输入无效 输入无效 输入无效 输入无效 测试范围 ⑵ ⑶ ⑷ ⑸
43
2004-555-16 2004-5- 2004-5-166 2004516 0000-5-16 2004-0-16 2004-15-16 2004-5-0 2004-5-36 输入无效 输入无效 输入无效 输入无效 输入无效 输入无效 输入无效 输入无效 输入无效 ⑹ ⑺ ⑻ ⑼ ⑾ ⒀ ⒁ ⒃ ⒄ 表5.3 无效等价类的测试用例
5.4系统各模块的功能测试
各个模块中具有代表性的功能测试结果如表5.4所示:
编号 测试说明 期望结果 实际结果 成功/失败 1 测试员工信息添加是否成功。 员工信息成功写入数据库。 数据库中可以找到新添加记录。 成功 2 测试部门信息添加。 部门信息成功写入数据库。 数据库中可以找到新添加记录。 成功 3 测试考勤信息查询。 查询出期望结果。 按考勤时间查询失败。 修改后成功 将员工考勤情况4 测试考勤信息。 写入数据库中考勤信息。 考勤信息成功写入数据库。 成功 5 测试招聘信息添加。 招聘信息成功写入数据库。 数据库中可以找到新添加记录。 成功
44
表5.4 功能测试结果表
5.5测试结论
作者对此系统的功能、性能,以及可用性均进行了测试,通过对测试结果的分析总结得出:此系统的功能基本满足用户需求,性能基本达到需求,具有可用性和友好性。
但是测试用例有一定的局限性,测试环境和实际运行环境也存在着一定的差异,所以不能完全地、准确地测试出系统存在的问题,还需要在后期的维护过程中,对系统暴露出来的问题进行纠正和更新。
45
结束语
整个毕业设计到现在已经基本结束,总的来说整个毕业设计进展还是很顺利的。 Delphi的友好的可视化编程环境为程序的编写提供方便。
这次毕业设计,让我充分的把这几年所学到的专业知识融会贯通,从做需求分析、设计数据库、到系统整体设计和具体的代码实现。整个设计,让我学到了许多以前在课堂上面学不到的知识,很大程度的加强了自己的实践能力。除了对delphi有了一定的认识,还了解到了VB、VC的相关特性,对数据库的理解也更加全面和深刻了。在系统的不断完善过程中,我还学到了程序调试的一些宝贵方法和技巧。相信这次的经验对于我以后的工作会大有益处。
同时在设计过程中,我也发现了自己的不足,因为是首次进行这样的课题开发,在代码的实现上略现笨拙,整个程序在架构上也算不上完美,我相信通过今后的学习和实践,自己在开发能力一定能够得到大大的提高。
46
参考文献
[1] 纪红.人事管理信息系统的设计与实施[J],计算机与现代化2000年第3期,总第6期 [2] 莫停飞、白振兴、邓善.Delphi7环境下利用ADO与SQLServer2000数据库的链接[J]
现代电子技术,2004年第9期总第176期 [3] 郭荣、杨磊.浅谈MIS 系统平台模式的选择[J],广西科学院学报,Vol.19(3) [4] 刘毅,MIS系统开发中C/S模式与B/S模式之比较[J],乐山师范学院学报,2003.8 Vol.18(4)
[5] 于善慧,基于C/S模式的人事管理信息系统的研究[J],大连海事大学工程硕士论文 P27~P38
[6] 杨柳、张君静、苗丽,Delphi应用ADO技术解析[J],河南科学,2004.10 Vol.22(5) [7] 鱼 明,浅析Delphi数据录入与维护的三种方式[J] ,太原教育学院学报,Vol.21(7) [8] Yuechen Chi, Richard Troy,dmond Mesrobian,ESMDIS: Earth System Model Data Information System,Proceedings of the 9th International Conference on Scientific and Statistical Database Management,1997 [9] ZHANG Hao ,LIU Yougqing, The Design and Discuss of the Traffic and Road Management Information System[J],Journal of Systems Engineering 1998,Vol.7(4): P457~461
47
致谢
首先感谢山东交通学院为我提供了深造的机会,在三年的学习时间里,各位老师悉心教导,使我学到了很多知识也学会了独立处理问题的本领。在毕业设计过程中,我的导师 循循善诱的教导,在学习、工作和思想上都给予了我莫大的帮助和鼓励,在此,对 老师表示深深的感谢。老师深厚的学术造诣、严谨的治学态度和忘我的工作作风永远是我学习的榜样和追求的目标。
最后,衷心的感谢所有关心和帮助过我的老师和朋友。并向所有老师致以深深的谢意。
48
因篇幅问题不能全部显示,请点此查看更多更全内容