基于Qt的人事管理系统的设计与实现

摘要

近些年,互联网行业的发展带给了很多人在生活上的便利,互联网能够改变人们的生活和工作的模式。很多企业都在将普通的工作模式结合了互联网,利用互联网的优势提高管理员的工作效率。目前不少人事管理系统存在着许多问题,因此可以设计一个人事管理系统提高管理员的工作效率。

本系统所使用的开源框架为Qt,存储数据的数据库采用了MySQL,开发工具选择使用Vistual Studio。在实现人事管理系统之前,需要通过调研人事管理系统基本功能有哪些,设计出系统对应的总体架构,之后程序开发者可以编码实现人事管理系统,最后需要对人事管理系统利用测试用例进行测试,测试完成之后根据选择优化系统,本次编码实现的人事管理系统具有的功能包括登录、添加员工、查找员工、修改员工、删除员工、人事变动、退出系统。

关键词Qt;MySQL;Vistual Stduio;人事管理;

QT Personnel Management System

ABSTRACT

In recent years, the development of the Internet industry has brought many people convenience in life. The Internet can change the mode of people's life and work. Many enterprises are combining the common working mode with the Internet and using the advantages of the Internet to improve the work efficiency of administrators. At present, many personnel management systems have many problems, so we can design a personnel management system to improve the work efficiency of administrators.

The open source framework used in this system is QT, the database storing data adopts mysql, and the development tool chooses visual studio. Before implementing the personnel management system, we need to investigate the basic functions of the personnel management system and design the corresponding overall architecture of the system. Then the program developer can code to implement the personnel management system. Finally, we need to test the personnel management system with test cases. After the test, optimize the system according to the selection. The functions of the personnel management system realized by this coding include login, adding employees Find employee, modify employee, delete employee, personnel change, exit the system.

Keywords:Qt;MySQL;Vistual Stduio;Personnel Management;

目录

摘要

QT Personnel Management System

ABSTRACT

1 绪论

1.1 研究背景

1.2 选题意义

1.3 研究内容

2 开发技术

2.1 MySQL技术

2.2 UML语言

2.3 Qt框架

3 需求分析

3.1功能需求

3.1.1 用例概述

3.1.2 用例描述

3.2 性能需求

3.3 系统设计目标

3.4 可行性分析

3.4.1 技术可行性分析

3.4.2 经济可行性分析

3.4.3 操作可行性分析

3.5 非功能需求分析

4 总体设计

4.1 总体结构设计

4.2 概念数据模型设计

4.4 系统流程图设计

4.4.1 信息管理模块设计

4.4.2 绩效管理模块设计

4.4.3 薪资管理模块设计

4.4.4 考勤管理模块设计

4.5 物理模型结构

5 详细设计与实现

5.1 系统登录界面

5.2 用户管理

5.3 人事变动

5.4 员工绩效审批

5.5 考勤信息管理

6 软件测试

6.1 测试目标和方法

6.2 测试用例

6.3 性能测试

结论

参考文献

致谢

1 绪论

1.1 研究背景

当今世界处于高速发展的阶段,信息生产力是重要的社会生产力之一。微信和支付宝等的应用及普及,这些支付方式是社会信息化的产物,方便了企业和用户,这能够节省管理员和用户的时间[1],提高事情处理的效率。由此可知互联网信息化是社会发展的必然方向,是未来的趋势。

现今社会发展迅速,过去的xx管理模式已经不能够满足用户的要求,在当今互联网时代,便捷的人事管理系统成为人们的首要选择。传统对xx进行管理采用的是人工处理的方式,但是这样做的话不仅出错率高并且可参考的资料也不多,为了能够高效且顺畅地管理xx,设置质量更好的人事管理系统势在必行[2]。

1.2 选题意义

21世纪属于大数据时代,由于在信息管理方面数据量不少,因此管理员需要处理大量数据。由于计算机具有自动处理数据的优势,因此很多用户选择使用计算机处理大量的数据,这样能够提高人事管理系统的效率和安全性。处理越复杂的数据越能够体现出使用计算机管理的好处。在刚开始的时候,管理员处理数据的方式采用的是人工的方式进行管理,但是由于数据量巨大并且继续采用人工的方式进行管理的话,则会导致出现不少问题,当需要管理的数据量多的时候,数据容易丢失并且查找的时候也不容易找到,这样会导致管理员的工作效率低下[3]。

1.3 研究内容

针对本文的人事管理系统安排论文的章节如下:

第一章是绪论。本章主要介绍了课题研究背景与意义、课题研究现状和论文结构。

第二章是系统开发环境及技术。本章介绍了人事管理系统开发环境和所涉及到的技术。

第三章是需求分析。本章介绍了人事管理系统的功能需求和非功能需求,绘制出系统功能模块图。

第四章是系统总体设计。对系统功能模块进行划分和数据库设计。

第五章是系统实现。具体为各个模块的功能实现,具体描述了员工和管理员注册登录,管理员工信息、查看个人的信息、绩效评分提交、绩效评分审批、核算薪资、发放工资条、查看工资、考勤记录管理、查看出勤、提交请假、审批请假等的实现过程。。

第六章是系统测试。本章阐述了使用黑盒测试对系统进行测试[4]。

2 开发技术

2.1 MySQL技术

MySQL数据库属于关系型数据库,性能较为优秀,属于Oracle旗下的公司之一。MySQL数据库通常应用在开发Web应用上,是当下比较流行的数据库软件,可以将人事管理系统的数据存放在数据库中,利用数据库SQL语句定义表格,不用一定将数据存储在同一个地方,这样可以提高对数据库记录访问的速度并增加访问的灵活性。MySQL数据库语句可以被人们轻松理解,简单易用的特点使得较多中小型企业选择使用。MySQL使用的线程为多线程的形式,这有助于支持多处理器进行处理。MySQL通常能够使用高性能库代替函数库,这样可以提高对数据的访问。如果只是想要查询数据库里的数据的时候,一般不会分配内存资源。

数据库实际是一个容器,通过数据结构组织、存储和管理。数据库很大的一个作用为能够管理大量的数据并且提供解决方案。MySQL是较为典型的关系型数据库,具有的特点包括便捷和免费等,中小型Web项目大多数选择的是MySQL数据库。如果使用MySQL数据库会节约不少的成本,很多中小型公司也选择使用MySQL数据库作为公司的数据库。在IT领域当中MySQL为使用人数最多的开源关系数据库中的一种,使用率仅次于目前的Oracle数据库。MySQL成功的关键很大可能在于它的无偿使用,MySQL数据库能够支持数据库查询语言SQL,还是一款非常适合个人和组织使用的数据库系统,因为它是开源并且免费给用户使用,深受很多程序开发者的喜爱,并且提供了很多链接,这也让它成为了很多中小型网站首选数据库的原因。MySQL能够将数据库的记录按照关系存放到不同的表当中,这种存储方式可以减少数据的冗余从而提高不少的工作效率。MySQL能够处理大量的数据,所以不用花费很多额外的资金,能够大大降低开发的成本。

2.2 UML语言

面向对象开发使用图形化建模语言通常采用是UML,全名称为统一建模语言,UML依靠强大的功能被许多程序开发者认可。UML能够通过符号表示面向对象系统的信息,在出现不久的时间被OMG标准所吸收。UML能够通过建模的标准描述现实世界的物体,系统在设计实现之前首先需要建模,统一建模语言从多个角度进行考虑,定义了用例图和类图等建模图,这些图能够从另外一个角度描述系统。系统模型将这些建模图整合成为一个整体,这样能够更好地分析状态。

建模语言能够统一不同的方法对不同系统的各种观点,这样可以减少不同建模语言之间的差异,UML是通用的一种建模语言,这样可以保证多个用户可以使用。

2.3 Qt框架

Qt框架是由QTCompany公司在1991年开发的,它是一个跨平台的开发框架。对于GUI的开发,具有一定的优势,同时它也支持非GUI的开发。Qt是面向对象的开发工具,有两种创建图形化界面的方法,一是通过系统自动生成的.ui文件,二是通过代码实现。Qt具有更好的代码扩展性,能够实现多组件的程序开发。

3 需求分析

3.1功能需求

基于Qt的人事管理系统对企业事业单人事部门的业务进行了方便高效的信息化管理,用户为企业人事部门的管理人员和企业的员工,不同角色的要实现的功能不同。员工的实现功能为:注册登录账号,查看个人信息,查看绩效,查看薪资,查看考勤记录,退出系统;管理员要实现的功能为:登录系统、员工信息管理、绩效管理、薪资管理、考勤管理、退出系统。用例图如图3-1所示。

图3-1 管理员与员工用例图

3.1.1 用例概述 

表3-1 用例描述

用例标识(UC)

用例名称

简要描述

1

登录

管理员和员工通过登录功能才可以使用系统的功能

2

添加员工

管理员登录系统之后可以添加员工

3

查找员工

管理员登录系统之后可以查找员工

4

修改员工

管理员登录系统之后可以修改员工

5

删除员工

管理员登录系统之后可以删除员工

6

人事变动

管理员登录系统之后可以改变人事信息

7

退出系统

管理员和员工登录系统之后可以点击退出按钮退出系统

8

绩效管理

管理员管理绩效信息

9

薪资管理

管理员管理薪资信息

10

考勤管理

管理员管理考勤信息

11

查看个人信息

员工查看个人信息

12

查看绩效

员工查看绩效

13

查看考勤记录

员工查看考勤记录

3.1.2 用例描述

(1)登录

登录用例描述能够描述系统中的登录功能,登录用例描述如表3-2所示。

表3-2 登录用例描述

用例标识

3.1

用例名称

登录

参与者

用户、管理员

前置条件

用户和管理员需要输入正确的用户名和密码

后置条件

登录

用例概述

用户和管理员登录

基本事件流

1.用户和管理员进入到登录页面当中

2.管理员和用户输入用户名和密码登录到系统当中

备选事件流

4a 输入的信息需要和数据库信息相匹配才能够登录

备注

(2)添加员工

添加员工用例描述能够描述系统中的添加员工功能,添加员工用例描述如表3-3所示。

表3-3 添加员工用例描述

用例标识

3.2

用例名称

添加员工的相关信息

参与者

管理员

前置条件

管理员需要输入正确的用户名和密码登录系统

后置条件

添加员工的相关信息

用例概述

管理员添加员工的相关信息

基本事件流

1.管理员输入正确的用户名和密码登录到系统当中

2.管理员在员工信息管理界面点击添加按钮提交新添加的员工信息

3.员工信息添加成功

备选事件流

4a 输入的信息需要合法才能够成功添加

备注

(3)查找员工

查找员工用例描述能够描述系统中的查找员工功能,查找员工用例描述如表3-4所示。

表3-4 查找员工用例描述

用例标识

3.3

用例名称

查找员工的相关信息

参与者

管理员

前置条件

管理员需要输入正确的用户名和密码登录系统

后置条件

查找员工的相关信息

用例概述

管理员查找员工的相关信息

基本事件流

1.管理员输入正确的用户名和密码登录到系统当中

2.管理员在员工信息管理界面输入员工名称查找员工

3.员工信息查找成功

备选事件流

4a 输入的信息需要合法才能够成功查询

备注

(4)修改员工

修改员工用例描述能够描述系统中的修改员工功能,修改员工用例描述如表3-5所示。

表3-5 修改员工用例描述

用例标识

3.4

用例名称

修改员工的相关信息

参与者

管理员

前置条件

管理员需要输入正确的用户名和密码登录系统

后置条件

修改员工的相关信息

用例概述

管理员修改员工的相关信息

基本事件流

1.管理员输入正确的用户名和密码登录到系统当中

2.管理员在员工信息管理界面输入员工名称修改员工

3.员工信息修改成功

备选事件流

4a 输入的信息需要合法才能够成功修改

备注

(5)删除员工

删除员工用例描述能够描述系统中的删除员工功能,删除员工用例描述如表3-6所示。

表3-6 删除员工用例描述

用例标识

3.5

用例名称

删除员工的相关信息

参与者

管理员

前置条件

管理员需要输入正确的用户名和密码登录系统

后置条件

删除员工的相关信息

用例概述

管理员删除员工的相关信息

基本事件流

1.管理员输入正确的用户名和密码登录到系统当中

2.管理员在员工信息管理界面输入员工名称删除员工

3.员工信息修改成功

备选事件流

4a 输入的信息需要合法才能够成功修改

(6)人事变动

人事变动用例描述能够描述系统中的人事变动功能,人事变动用例描述如表3-7所示。

表3-7 人事变动用例描述

用例标识

3.6

用例名称

人事变动

参与者

管理员

前置条件

管理员需要输入正确的用户名和密码登录系统

后置条件

人事变动

用例概述

管理员管理人事变动

基本事件流

1.管理员输入正确的用户名和密码登录到系统当中

2.管理员在人事变动界面管理人事变动的信息

备选事件流

4a 输入的信息需要合法才能够成功修改

(7)退出系统

退出系统用例描述能够描述系统中的退出系统功能,退出系统用例描述如表3-8所示。

表3-8 退出系统用例描述

用例标识

3.7

用例名称

退出系统

参与者

管理员和员工

前置条件

管理员和员工退出系统

后置条件

退出系统

用例概述

管理员和员工退出系统

基本事件流

1.管理员和员工输入正确的用户名和密码登录到系统当中

2.管理员和员工退出系统

备选事件流

备注

(8)绩效管理

绩效管理用例描述能够描述系统中的绩效管理功能,绩效管理用例描述如表3-9所示。

表3-9 绩效管理用例描述

用例标识

3.8

用例名称

绩效管理

参与者

管理员

前置条件

管理员管理绩效信息

后置条件

绩效管理

用例概述

管理员管理绩效信息

基本事件流

1.管理员和员工输入正确的用户名和密码登录到系统当中

2.管理员管理绩效信息

备选事件流

备注

(9)薪资管理

薪资管理用例描述能够描述系统中的薪资管理功能,薪资管理用例描述如表3-10所示。

表3-10 薪资管理用例描述

用例标识

3.9

用例名称

薪资管理

参与者

管理员

前置条件

管理员管理薪资信息

后置条件

薪资管理

用例概述

管理员管理薪资信息

基本事件流

1.管理员和员工输入正确的用户名和密码登录到系统当中

2.管理员管理薪资信息

备选事件流

备注

(10)考勤管理

考勤管理用例描述能够描述系统中的考勤管理功能,考勤管理用例描述如表3-11所示。

表3-11 考勤管理用例描述

用例标识

3.10

用例名称

考勤管理

参与者

管理员

前置条件

管理员管理考勤信息

后置条件

考勤管理

用例概述

管理员管理考勤信息

基本事件流

1.管理员和员工输入正确的用户名和密码登录到系统当中

2.管理员管理考勤信息

备选事件流

备注

(11)查看个人信息

查看个人信息用例描述能够描述系统中的查看个人信息功能,查看个人信息用例描述如表3-12所示。

表3-12 查看个人信息用例描述

用例标识

3.11

用例名称

查看个人信息

参与者

员工

前置条件

员工查看个人信息

后置条件

查看个人信息

用例概述

员工查看个人信息

基本事件流

1.员工输入正确的用户名和密码登录到系统当中

2.员工查看个人信息

备选事件流

备注

(12)查看绩效信息

查看绩效信息用例描述能够描述系统中的查看绩效信息功能,查看绩效信息用例描述如表3-13所示。

表3-13 查看绩效信息用例描述

用例标识

3.12

用例名称

查看绩效信息

参与者

员工

前置条件

员工查看绩效信息

后置条件

查看绩效信息

用例概述

员工查看绩效信息

基本事件流

1.员工输入正确的用户名和密码登录到系统当中

2.员工查看绩效信息

备选事件流

备注

(13)查看薪资信息

查看薪资信息用例描述能够描述系统中的查看薪资信息功能,查看薪资信息用例描述如表3-14所示。

表3-14 查看薪资信息用例描述

用例标识

3.13

用例名称

查看薪资信息

参与者

员工

前置条件

员工查看薪资信息

后置条件

查看薪资信息

用例概述

员工查看薪资信息

基本事件流

1.员工输入正确的用户名和密码登录到系统当中

2.员工查看薪资信息

备选事件流

备注

(14)查看考勤信息

查看考勤信息用例描述能够描述系统中的查看考勤信息功能,查看考勤信息用例描述如表3-16所示。

表3-16 查看考勤信息用例描述

用例标识

3.14

用例名称

查看考勤信息

参与者

员工

前置条件

员工查看考勤信息

后置条件

查看考勤信息

用例概述

员工查看考勤信息

基本事件流

1.员工输入正确的用户名和密码登录到系统当中

2.员工查看考勤信息

备选事件流

备注

3.2 性能需求

系统升级方面,可以根据实际需要对人事管理系统进行升级,提高系统的操作性,加强实用性,后期系统投入使用,可以根据用户需求和实际使用后的反馈完善功能或者添加新的功能。安全性方面,设置了账号注册和登录,系统会根据用户输入的用户名和密码进行检查,用户登录时若是身份账号不正确,会提示“用户名或密码错误”的警告,并且根据数据库该用户的身份设置对应权限,保证用户的信息安全。

3.3 系统设计目标

本次人事管理系统的设计目标为将线下的业务转移到计算机中进行,能够为用户提供更加便捷的服务。设计人事管理系统的过程当中,详细考虑了人事管理系统需要的相关功能模块[5],所以系统最后实现的时候需要具有以下的特征:

(1)稳定性:系统在运行的时候需要确保安全和稳定,如果需要更改电脑硬件的情况之下,也不会影响到系统的运行。如果其中某一个功能模块发生问题的时候也不会影响到其它功能模块的实现。

(2)准确性:人事管理系统需要提供使用手册,如果管理员调整了功能模块的话,那么需要符合使用的情况,系统不需要记录错误的信息和数据内容。

(3)可扩展性:如果人事管理系统提供了新的服务类型的时候,保持系统原有功能模块保持不变的话能够增加新的服务模块。

(4)可维护性:如果系统需要调整接口参数,要求不需要改变系统的框架也可以完成。

(5)独立性:人事管理系统功能模块需要独立存在,管理员可以根据用户的实际需求增加或减少相对应的功能模块。

3.4 可行性分析

3.4.1 技术可行性分析

C++具有较多的优点,其中包括了跨平台和稳定,因此本次设计系统的编程语言选用的是C++。前端框架采用的是Qt,它能够提供丰富的组件模块供软件开发者选择,且配合了常见的前端开发技术能够完成前端的开发。数据存储工具选择MySQL,MySQL是关系数据库中的一种,且是开源免费和功能强大的数据库,运行的时候不会占用过多的计算机资源,这有利于保证系统的高效性。人事管理系统是一个前后端结合的项目,使用的设计模式为分层设计。

3.4.2 经济可行性分析

要考虑该人事管理系统的研发成本是否大于收益。系统的成本主要有前期研发成本和后期运行维护成本,在系统的开发过程中,主要采用的是互联网上所提供的开源技术与平台,这些资源具有免费的特点与优点,其相关的使用文档和开源代码也很容易在互联网资源中找到,研发阶段与系统测试阶段所需要的硬件设施主要是一台能正常使用的笔记本或台式计算机,所以系统的研发成本低。基于互联网技术开发的应用能够为企业节约成本且提高服务的质量,本人事管理系统的开发能够打破时间和地点的限制,能为管理员创造不少的利益,对于用户来说,简洁方便操作的界面可以高效率提高用户的体验,收益高。

3.4.3 操作可行性分析

人事管理系统被程序开发者开发出来的目的是为了给用户群体访问和操作,所以程序开发者在设计实现系统的时候需要考虑到用户的不同需求,现代的用户能够接受系统信息化管理,所以用户的学习成本较低。对于用户来说,灵活方便又简洁的操作的界面可以高效率提高用户的使用体验,系统界面上以简单方便的原则进行设计。

3.5 非功能需求分析

人事管理系统需要有非功能需求分析,非功能性需求不仅能够提高系统的质量,还影响了系统功能的扩展。

(1)系统安全稳定性

本系统为人事管理系统,系统在运行的时候必须要保证安全稳定,能够满足用户的不同要求,管理员能够方便管理系统中的信息,因此数据库需要稳定和完整。

(2)系统可靠性

系统可靠性指的是人事管理系统能够在较短的时间内有效的完成需要完成的任务。本人事管理系统能够承载较多的用户登录系统,并且在系统大规模使用的时候保持信息的准确性。

(3)系统的可扩展性

如果后续人事管理系统需要增加功能模块的时候,可以修改较少的代码添加功能模块。

(4)系统页面可操作性

系统在设计页面的时候需要注意可操作性性的问题,页面设计得不用太过于复杂,用户不需要花费过多的学习成本就可以使用[6]。本人事管理系统以简单方便为目标设计系统页面。

(5)科学性原则

人事管理系统在设计上要符合科学性的原则,需要一定程度上避免信息有误,能够快速响应用户的请求。

4 总体设计

4.1 总体结构设计

总体结构设计又被称为总体模块设计,是系统设计的一部分,总体模块设计能够说明系统包含有哪几大模块,在大的模块下能够包含有小的模块。根据模块划分系统功能要确保每个模块具有响应的功能,每个模块分别有不同的功能可以响应用户的请求,如图所示为系统的具体模块功能图,总体结构设计进一步延申是具体模块结构设计。具体模块结构设计需要把大的模块分为小的模块,如果大模块分解能够分解更多的小模块,那么小模块之间的耦合度代表越低[6],在速度和效率上都会得到改善。在分解小模块的时候需要注意按逻辑和功能进行划分。

基于Qt的人事管理系统主要划分为四个模块,分别是员工信息管理模块,绩效管理模块,薪资管理模块,考勤管理模块。管理员操作界面实现的功能为员工基本信息管理、绩效评分审批、核算薪资、发放工资条、考勤信息记录、请假审批等。员工操作界面实现的功能为:查看个人信息、绩效评分提交、查看工资,查看出勤、提交请假等。如图4-1 就是该人事管理系统的功能模块的划分,在用户进行每一步操作时,数据库的信息会对应的更新,以满足管理员对人事管理的需求。

图4-1 功能模块图

4.2 概念数据模型设计

用户可以描述概念数据模型从而描述实体的概念化结构,用户理解系统实体之后可以采用概念性数据模块设计出系统中的关系,这样有利于用户和管理员交流,也有利于用户理解系统的功能关系[7]。

E-R设计通常还有另外一种说法,即实体联系设计,E-R图属于一种能够把现实世界转化为抽象化的概念模型,它一般由三部分组成,分别是实体、属性和联系。

图4-2 员工E-R图

4.4 系统流程图设计

4.4.1 信息管理模块设计

管理员首先在系统录入员工的个人信息,员工的个人信息就会存在数据库中,管理员登录系统后,可以在用户界面上点击员工信息管理按钮,对员工的信息进行相应的操作,管理员在信息管理模块能实现以下的功能:

(1) 修改密码:实现管理员对本身密码的修改。

(2) 人员信息:实现员工入职、离职办理,员工信息登记。

(3) 信息查询:能够查询员工的信息。

(4) 信息修改:能够修改员工信息。

(5) 数据存储:使用数据库存储员工信息。

如果员工忘记了他们的密码,管理员通过员工信息管理页面中的员工信息模块,可以根据员工账号,查询到员工的基本信息以及账号和密码,帮助员工找回密码。员工登录账号后,在个人信息模块中查看自己的基本信息,也可以在搜索框内根据姓名查询其他员工的电话号码,方便找到对应的员工的联系方式。另外员工可以对自己登录密码进行修改,密码修改的流程如图4- 4所示。

图4-3 修改密码流程图

4.4.2 绩效管理模块设计

4.4.3 薪资管理模块设计

4.4.4 考勤管理模块设计

除了查看个人信息,修改密码外,员工还可以在人事管理系统上申请请假流程。在员工操作界面点击查看出勤模块,单击请假,选择请假类型,填写请假时间,提交流程,系统会保存数据到数据库,并将流程发动至管理员账号进行审批。

图4-5 请假流程图

4.5 物理模型结构

在实现系统之前,需要对数据库表进行具体的设计。

(1)用户信息表

表4-1 用户信息表

列名

数据类型

长度

关联

pid

integer

10

passwd

varchar

16

permission

varchar

10

name

varchar

10

sex

varchar

8

department

varchar

20

postion

varchar

20

edu_level

varchar

20

tel

varchar

13

 remark

varchar

50

(2)请假信息表

表4-2 请假信息表

列名

数据类型

长度

关联

id

integer

10

data

varchar

16

type

integer

10

pid

integer

10

isAgree

integer

8

reason

varchar

20

(3)考勤信息表

表4-3 考勤信息表

列名

数据类型

长度

关联

id

integer

10

data

varchar

255

pid

integer

10

arrive

integer

10

leave

integer

8

(4)部门信息表

表4-4 部门信息表

列名

数据类型

长度

关联

did

integer

10

name

varchar

20

manager

varchar

20

intro

varchar

100

5 详细设计与实现

5.1 系统登录界面

用户登录人事管理系统使用系统功能之前,首先需要做的是身份验证,只有当用户名和密码都正确的情况下才能够使用系统的功能,如果用户输入的密码不正确,则不能够使用系统功能,用户注册和登录的操作会将信息保存在Session里。

用户在输入用户名和密码之后,首先业务逻辑代码会进行非空和长度的校验,之后需要查询数据库用户表中的记录是否和用户输入的信息是否相同,如果相同则能够登录。

图5-1 登录界面

5.2 用户管理

管理员通过用户管理的功能可以对系统中的用户信息管理,管理功能实质是通过数据库SQL语句操作数据库的记录。管理员如果想要添加用户的信息,则需要管理员登录成功进入到用户管理功能中点击用户管理并进入到管理用户信息的页面当中,点击添加按钮并且输入新的用户信息,输入信息的时候要注意字符的合法性并且必要输入项需要有信息。

图5-2 用户管理界面

5.3 人事变动

管理员通过人事变动管理界面对人事变动信息进行管理,管理员需要先登录之后才可以进入到人事变动管理功能界面中。如果管理员想要修改人事变动的信息需要在人事变动管理界面中点击管理按钮,在修改人事变动功能界面中输入修改人事变动的信息,如果输入的人事变动信息字符不合法或者与数据库原有的人事变动表中的记录相冲突了,则应该在前端界面中提示修改失败。

图5-3 人事变动管理界面

5.4 员工绩效审批

在员工绩效审批功能中还可以删除用户的信息,管理员首先要登录之后进入到员工绩效审批界面当中,点击审批按钮对绩效信息审批,在审批的时候需要注意员工的绩效信息是否填写正确。

图5-4 员工绩效审批界面

5.5 考勤信息管理

管理员在考勤管理界面中还可以对考勤的信息作删除操作,需要注意的是考勤信息不能够直接删除,需要在数据库中设置外键的关系,如果被删除的信息与数据库记录中的其它数据有关联则不能够正常删除。

图5-5 考勤信息管理界面

6 软件测试

6.1 测试目标和方法

一个流程完整的软件开发流程需要软件开发者对软件进行功能和需求分析的测试,这能够检测该软件是否能够满足要求和尽快地查找出软件可能存在的bug,这就是软件测试的目标[9]。

软件开发的重要一个环节是软件测试,主要由验证和有效性确认这些部分组成。系统测试能够对人事管理系统全方面地测试,在测试之前需要确保系统能够运行起来并运行在确定的运行环境中,系统环境不仅包括硬件的环境还包括软件的。经过软件测试可以提前发现人事管理系统存在的潜在问题并作以修正,这有益于减少软件问题对使用者造成的损失。

黑盒测试能够使得软件测试人员即使不了解软件具体业务逻辑的情况下,使用大量的测试用例能够测试软件的输入和输出,通过这种方法可以保证系统的可靠性[10]。

6.2 测试用例

(1)用户管理

表6-1 用户管理用例表

功能描述:用户管理功能

用例目的:测试管理员是否能够正常管理用户功能

前提条件:管理员成功登录人事管理系统

输入或动作

输出或相应

实际情况

点击添加按钮

新添加了用户的信息到数据库记录中

如果输入的用户信息字符不合法或者数据库记录相冲突的情况下则不能够正常添加,如果添加的用户信息能够正常添加,则对应的数据库记录也需要更新

点击修改按钮

修改用户信息后把信息保存到数据库记录中

如果在修改输入框输入的用户信息不合法,则不能够成功修改用户的信息,修改完的信息需要保存到数据库记录中

点击删除按钮

删除用户的信息需要同步更新数据库记录

如果被删除的用户信息跟数据库记录的其它表有外键或者索引关系的时候,则不能够成功删除,需要先删除其它表的数据库记录才能够正常删除

在搜索输入框中输入内容

在搜索输入框中输入内容搜索用户的信息

如果管理员在输入框中输入的用户名称在数据库记录中不相匹配的情况下则不能够搜索出用户的信息

(2)考勤管理

表6-2 人事变动管理用例表

功能描述:人事变动管理功能

用例目的:测试管理员是否能够正常管理人事变动功能

前提条件:管理员成功登录人事管理系统

输入或动作

输出或相应

实际情况

点击添加按钮

新添加了人事变动的信息到数据库记录中

如果输入的人事变动信息字符不合法或者数据库记录相冲突的情况下则不能够正常添加,如果添加的人事变动信息能够正常添加,则对应的数据库记录也需要更新

点击修改按钮

修改人事变动信息后把信息保存到数据库记录中

如果在修改输入框输入的人事变动信息不合法,则不能够成功修改人事变动的信息,修改完的信息需要保存到数据库记录中

点击删除按钮

删除人事变动的信息需要同步更新数据库记录

如果被删除的人事变动信息跟数据库记录的其它表有外键或者索引关系的时候,则不能够成功删除,需要先删除其它表的数据库记录才能够正常删除

在搜索输入框中输入内容

在搜索输入框中输入内容搜索人事变动的信息

如果管理员在输入框中输入的人事变动名称在数据库记录中不相匹配的情况下则不能够搜索出人事变动的信息

6.3 性能测试

对系统进行性能测试一般需要等到系统功能测试完之后才可以进行,通过模拟不同的情况,如CPU占有率和内存平均占用率等进行测试。

表6-2 性能测试表

测试编号

测试内容

数据量

处理所用时间

CPU平均占有率

内存平均占有率

1

用户浏览系统的信息

一个用户

1.10

26.84

29.06

2

同个用户再次浏览系统的信息

一个用户

0.03

26.84

29.06

3

多个用户再次同时浏览系统的信息

2000个用户

0.20

41.03

38.88

结论

在开发人事管理系统之前,我对管理系统的了解知之甚少,学习知识的目的是为了通过考试,在软件开发经验上几乎为0,没有把知识融会贯通起来。通过这次设计的人事管理系统,我通过网络上的资源学习了相关的开发知识,完成了人事管理系统的设计与开发。在软件设计和论文撰写过程当中遇到了不少的问题,我在学习的过程当中慢慢克服了。非常幸运的是,在编写人事系统的代码和撰写论文的过程当中指导老师给了很多意见和建议,使得我通过这次毕业设计学到了很多动手知识。在这个过程当中,我查阅了大量资料,请教了老师同学们,前后有很多修改的地方,在每一次修改都能理解更多一点知识,遗憾的是有些功能无法实现,由于时间比较紧的关系,在接下来的时间中我会更加深入地研究编程语言。这次毕业设计是我在大学所学知识的应用,这相当于温习了大学所学的新知识。

最后,通过几个月的论文撰写和代码的设计,我最终完成了人事管理系统的开发,在开发人事管理系统的时候,我对C++语言和MySQL数据库结合理解的更加深层次一些,不足之处在于界面设计没有采用过多的CSS样式进行美化。在技术方面,通过开发人事管理系统,对软件体系结构有了更加深刻地认识。

参考文献

  1. 李曼.MySQL数据库系统中文乱码问题及解决方案[J].电子技术与软件工程,2021(12):176-177.
  2. 徐洋,宋阳.分布式数据库系统安全的分析[J].电子技术与软件工程,2021(10):257-258.
  3. 李宇明. 数据库系统性能评测与质量管理[D].华东师范大学,2019.
  4. AlZahrani Ali,Wani Mohamad Ahtisham,Bhat Wasim Ahmad. Forensic analysis of Twitch video streaming activities on Android.[J]. Journal of forensic sciences,2021:
  5. 查燕.软件测试的策略和方法[J].信息与电脑(理论版),2021,33(10):67-69.
  6. Høidalen Hans Kr.,Rocha Angelica C.O.. Analysis of gray Box Modelling of Transformers,[J]. Electric Power Systems Research,2021,197:
  7. 丁凝.软件测试过程的质量控制分析[J].网络安全技术与应用,2021(05):65-66.
  8. 朱海燕.计算机软件测试技术及其应用研究[J].信息记录材料,2021,22(04):187-188.
  9. Sudianto Lande,Simon Petrus. Development application of a quality assurance management information system for Paulus Indonesia Christian University[J]. IOP Conference Series: Materials Science and Engineering,2021,1088(1):
  10. Zhaozhou Chen, Hean Liu. Network Mall System Inb/S Mode[J]. International Journal of Intelligent Information and Management Science,2019,8(3)

致谢

大学生活一转眼就过去了,虽然不舍得,但我们终究还是要步入成年人的世界,去承担起自己的那份责任,四年青春短暂,但是却包含了很多的情感,让人感觉念念不舍,我衷心地感谢这几年来学院的领导和老师对我的培养,你们教会了我知识和文化,让我能够更好地适应社会。

在设计人事管理系统的过程中,由于之前没有开发人事管理系统的相关经验,因此会有不少的错误,如果没有同学们的支持和老师的监督,人事管理系统可能最终会完成不了。指导老师在系统设计和论文撰写的过程中给予了我许多有建设性的意见,认真和负责的态度也是非常值得我学习的。通过这次软件设计和论文撰写提高了我很大的能力,虽然指导老师平时有不少的事情需要处理,但是老师还是抽出时间给我建议,对我的论文进行指点。如果没有指导老师的帮助,系统最后可能实现不了,指导老师对我的帮助让我铭记于心。还要感谢学院的老师,不仅教会了我很多的知识,还教会了我除了学习之外的很多能力,教会了我为人处世,这对我的工作和学习都有很大的帮助。毕业设计不仅能够总结多年以来学习的知识,还是对即将踏入社会工作的一份检测,在这个过程当中,我将在大学学习的知识进行结合,学会了独立思考和学习的能力,从零开发实现一个系统让我收益颇丰。在开发软件和论文撰写过程当中,我身边的朋友和舍友给了我很大的帮助。通过这次的经历,我充分了解到了未来工作将要面临的难度,在今后的生活和工作中会不断地努力学习新的知识。

对于你的问题,我可以给出以下建议: 1. 所有界面设计可以使用Qt的QSS样式来实现。QSS样式允许你自定义界面的外观,包括颜色、字体、边框等。你可以通过在Qt的控件上应用相应的样式来实现你想要的界面设计。 2. 要实现和STM32通信完成指纹录入,你可以使用Qt的串口通信功能。通过配置正确的串口参数,你可以发送指令给STM32并接收指纹数据。你需要编写相应的代码来解析和处理串口数据。 3. 要完成打卡员工信息显示,你可以使用Qt的界面控件,如表格控件或列表控件来展示员工信息。你可以从数据库或者其他数据源中获取员工信息,并将其展示在相应的控件中。 4. 要完成考勤数据导出到Excel表格,你可以使用Qt提供的Excel导出库,如QXlsx。通过该库,你可以将考勤数据写入Excel文件中,并保存到指定路径。 5. 要实现插入U盘自动导出考勤到U盘,你可以使用Qt的文件系统监控功能。通过监控U盘的插拔事件,当检测到U盘插入时,你可以自动将考勤数据导出到U盘中。 6. 员工打卡记录查询可以通过在界面上提供相应的搜索框或下拉菜单来实现。当用户输入员工信息或选择相应的条件时,你可以通过查询数据库或其他数据源来获取对应的打卡记录,并展示在界面上。 7. 要支持语音交互,你可以使用Qt的语音识别和语音合成功能。通过调用相应的API,你可以实现语音输入和输出,从而实现语音交互功能。当用户说出相应的指令时,你可以解析语音内容并执行相应的操作。 希望以上建议对你有帮助!如果还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值