小型企业考勤管理系统 毕业论文

更新时间:2023-03-08 17:23:37 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

本科毕业设计(论文)

题目名称: 小型企业考勤管理系统的设计与实现

学 院: 计算机科学技术学院

专业年级: 计算机科学与技术 09级

学生姓名:

班级学号: 计09-1班18号

指导教师: 姜卓

二○一三 年 六 月 八 日

I

摘 要

本论文论述了企业考勤管理系统的开发背景、意义和发展现状。主要介绍了系统的分析,设计和开发的全部过程。运用用例图、逻辑框架、E-R图等对系统的设计过程进行详细的说明。系统采用B/S开发模式,Tomcat做后台服务器,Mysql做后台数据库,中间业务逻辑处理使用Struts +Hibernate+Spring框架技术,Strust用来处理页面的跳转,Hibernate用来处理对数据库的操作,Spring用来管理数据库的事务。本系统主要分管理员权限、部门负责人权限、普通用户权限三种权限。管理员权限可实现员工管理、角色管理、罚金审核等功能;部门负责人权限可实现打卡管理、考勤管理、员工考勤管理、警告管理等功能;普通用户可实现打卡管理、考勤管理、警告查询等功能。本系统功能全面、用户操作界面友好、运行快捷、风格统一、易维护,应用此系统能够实现企业考勤管理系统在考勤领域的智能化、自动化、高效化。

关键词:考勤系统;考勤管理;B/S模式;

I

Abstract

This paper discusses the development background, significance and current situation of the development of enterprise time and attendance management system. Mainly introduced the system analysis, design and development of the whole process. The design process of data flow diagram, logic framework, ER diagram of the system in detail. The full text is divided into introduction, system analysis, system design and implementation, testing, the conclusion of six parts. The system uses the B\\/S mode, Tomcat server, Mysql as the backstage database, business logic processing using Struts +Hibernate+Spring framework, Strust is used to process the page Jump, Hibernate used to deal with the operation of the database, Spring is used to manage database transaction. This system mainly realizes the functions of a clock management, attendance management, role management, authority management, departmental management, staff management, and the audit announcement. The system fully functional, friendly user interface, run fast, the style is unified, easy maintenance, the application of this system can realize the intelligent, automation, high efficiency in the attendance areas of enterprise time and attendance management system.

Key Words:check on work attendance system; attendance management; B/S

mode

II

目 录

摘 要 ......................................................................................................... I Abstract .................................................................................................... II 第1章 绪 论 .......................................................................................... 1 1.1 选题背景 .......................................................................................... 1 1.2 选题意义 .......................................................................................... 1 1.3 研究内容 .......................................................................................... 1 1.4 国内外发展动态 ............................................................................... 2 1.5 设计的指导思想 ............................................................................... 3 第2章 系统分析....................................................................................... 4 2.1 可行性研究 ...................................................................................... 4 2.1.1 技术可行性 ............................................................................... 4 2.1.2 经济可行性研究 ........................................................................ 5 2.1.3 运行、操作可行性 .................................................................... 5 2.1.4 法律可行性 ............................................................................... 5 2.1.5 方案可行性 ............................................................................... 5 2.2 需求分析 .......................................................................................... 6 2.2.1 需求获取 ................................................................................... 6 2.2.2 功能需求 ................................................................................... 6 2.3 数据库分析 .................................................................................... 10 2.3.1 数据库需求分析 ....................................................................... 11 2.3.2 数据库概念结构设计 ............................................................... 11 2.4 开发方案比较 ................................................................................ 12 第3章 系统设计与实现 .......................................................................... 14 3.1 总体功能框图 ................................................................................ 14 3.2 类图 ............................................................................................... 15 3.2.1 部门管理类图 ......................................................................... 16 3.2.2 次数类图 ................................................................................. 16 3.2.3 打卡类图 ................................................................................. 17 3.2.4 警告类图 ................................................................................. 17 3.3 数据库的设计 ................................................................................ 18 3.4 人机界面设计 ................................................................................ 20 3.4.1 登录页面 ................................................................................. 21 3.4.2 用户注册页面 ......................................................................... 21 3.4.3 系统主页面 ............................................................................. 22

I

3.4.4 员工管理页面 ......................................................................... 23 3.4.5 部门管理页面 ......................................................................... 24 3.4.6 罚金审核页面 ......................................................................... 24 3.4.7 打卡页面 ................................................................................. 25 3.4.8 考勤记录页面 ......................................................................... 26 3.4.9 员工考勤记录页面 .................................................................. 27 3.4.10 警告页面 ............................................................................... 29 第四章 测 试 ........................................................................................ 31 4.1 系统测试的定位 ............................................................................. 31 4.2 白盒测试 ........................................................................................ 32 4.3 黑盒测试 ........................................................................................ 33 4.4 系统测试结论 ................................................................................ 34 结 论 ................................................................................................... 35 致 谢 ................................................................................................... 36 参考文献 ................................................................................................... 37 附 录 ................................................................................................... 38

II

第1章 绪 论

1.1 选题背景

企业考勤管理系统是一个企事业单位不可缺少的一部分,它的内容对于企业的决策者和管理者来说都是至关重要的,因此,企业考勤管理系统应该能够为用户提供充足人事管理的信息和快捷的管理查询手段,但一直以来人们使用传统的人工方式管理员工的上下班等信息,这种管理方式存在着许多缺点,诸如效率低,保密性差等,而且时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。

作为计算机应用的一部分,使用计算机对企业考勤信息进行管理,具有着人工管理无法比拟的优点,它检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等,可减少更多的人力物力,这些都能够极大地提高企业的考勤管理效率,也是企业考勤管理科学化、正规化,与世界接轨的重要条件。因此,开发一个企业考勤管理系统是很有必要的,具有其特有的技术意义和管理意义。同时,企业管理系统对我来说是一个可以了解到的问题,我对此也有非常浓厚的兴趣,在技术上等各个方面我也能够得以实现,所以我选择了《小型企业考勤管理系统的设计与实现》。

1.2 选题意义

随着计算机技术的飞速发展,以计算机与通信技术为基础的信息系统正处于蓬勃发展的时期。同时,以计算机为基础的各种软件也渐渐走入规模不同的各种企业单位中。企业在对竞争日趋强烈的现代社会在不断提高自身产品质量的同时,对员工的要求也逐渐提高,考勤管理也就成为了一个大众化的课题。

企业考勤管理系统是为了解决员工考勤管理的而设计的,目的是建立一个能够初步实现企业考勤管理系统的智能化管理,提高考勤管理效率,工作人员能够在各个岗位上的工作状态得到及时的反馈,而系统所需的工作人员的数量少,效率高。同时《小型企业考勤管理系统的设计与实现》选择也使不成熟的我有一个很好的提高。

1.3 研究内容

本系统从节约企业的人力、财力、物力的角度出发,采用B/S模式的

1

架构方式,开发了基于Struts和Hibernate框架的企业考勤管理系统,充分体现了B/S模式架构的优势,使企业管理员工更加高效化、智能化。本系统操作界面简单,无需安装任何客户端,通过浏览器直接可访问系统,使员工考勤和管理更加简单化、高效化,员工可以随时查询自己的考勤记录,使员工的更好的了解自己的工作出勤情况,提高了员工的工作积极性。同时在外观和数据管理上应使用就有统一有好的操作界面,完全可靠的数据管理,以保证系统的易用性和可靠性,还有在设计上使其具有规范、完善的基础信息设置,以方便对基础信息进行全面的管理。本文通过Struts+ Hibernate+Spring、extjs技术完成以上功能,已达到方便用户使用的目的,本系统适合中小型企业。

1.4 国内外发展动态

随着计算机技术的诞生和发展,企业考勤管理系统的发展过程大体分为三个阶段:为了把企业考勤管理人员从大量的体力劳动中解脱出来,提高工作效率,20世纪60年代末期,第一代的企业考勤管理系统应运而生。利用计算机超强的计算能力和速度,大量的重复计算效率得到极大提高,并且计算机的计算准确性避免手工作业方式难以避免的错误和误差,使薪资的大规模集中处理成为可能。但是由于计算机的发展处于一个初级阶段和应用水平,计算机技术未得到普及应用,系统技术条件受到限制。并且系统功能不完善,主要提供薪资的自动计算功能,数据分析和决策功能有待增加。

随着计算机技术普及和飞速发展,20世纪70年代末企业考勤管理系统发展到第二代。特别是数据库技术发展,为企业考勤管理系统的开发和应用提供了强有力的技术保障。与第一代系统相比,第二代企业考勤管理系统在技术上解决了主要缺陷,功能上也得到较大的改善,但是系统实用方面仍然存在不足,主要是一种通用性软件,专业性方面比较欠缺,系统还需进一步完善和充实。20世纪90年代末,随着市场竞争的加剧,企业考勤管理工作得到企业领导层的高度重视,人事管理已成为关系企业兴衰的重要因素,人才已经成为企业最重要的软资产,社会或企业急待通过应用企业考勤管理系统提高人事考勤管理水平,第三代人事考勤管理系统应运而生。同时计算机技术进一步发展和应用普及,数据库技术、网络技术,使得第三代企业考勤管理系统技术上更加成熟和先进。功能方面覆盖比较全面,能够满足需求,功能如薪资福利、招聘、培训、专勤管理、统计报表及绩效管理等。使用方面更加实用和方便,企业考勤管理人员终于可以摆脱大量重复而繁重的日常工作,集中精力从事企业考勤管理的专业工作。针对企业考勤管理业务,各行各业均对人事管理研究和系统开发,如南航E-H人力资源系统流程及提醒管理剖析,铸造企业人事考勤管理的研究,

2

矿山人事考勤管理的新探索,油藏经营人事考勤管理,学习型组织与人事考勤管理关系初探,大型科技企业人事管理开发与管理工作的探讨。同时国内外不少软件公司推出各类型的人事考勤管理系统商品化软件,如国外的Any Man Power和I—HRMS;国内较著名的软件有金蝶人事考勤管理系统、甲骨文人事考勤管理系统、和佳人事考勤管理系统、国臣B/S人事考勤管理系统和鼎丰人事考勤管理系统2005XP等。这些系统在技术上比较先进。

1.5 设计的指导思想

开发这个系统的目的就是为小型企业人事管理部门提高工作效率,实现企业人事信息管理的系统化,规范化和自动化。据此,系统最终实现的主要功能如下:

1.严格设置考勤管理每个环节的操作者的权限,权限分配控制操作简洁。

2.员工可以随时的登录系统查看自己的出勤情况。

3.请假申请和审批可按设定好的权限实现网上分级审批,并可按各级审批天数不同自动流转。

4.非正常出勤(迟到、早退、旷工)分析准确,分类查询方便。

5.提供员工自助功能,方便员工查询个人考勤记录,以及提交请假和加班单,及时了解领导审批意见。

因此本系统采用JAVA编程语言,使用Mysql数据库保存数据信息,可以随时备份数据信息。

3

第2章 系统分析

2.1 可行性研究

可行性研究是编制设计任务书的重要依据,也是进行初步设计和工程建设管理工作中的重要环节。可行性研究不仅对拟议中的项目进行系统分析和全面论证,判断项目是否可行,值得投资,要进行反复比较,寻求最佳建设方案,避免项目方案的多变造成的人力、物力、财力的巨大浪费和时间的延误。对技术、经济、财务、商业以至环境保护、法律等多个方面都要进行分析和论证。 2.1.1 技术可行性

在开发本平台中所用到的开发工具就是是知名的java项目开发工具MyEclipse。MyEclipse企业级工作平台是对Eclipse IDE的一种扩展,利用MyEclipse,我们可以在数据库和J2EE的开发、发布,以及在应用程序服务器的整合当中极大地提高系统的工作效率。MyEclipse是一个功能非常丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。

数据库使用的是MySQL开源数据库。MySQL的特性:使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性 。支持AIX、FreeBSD、HP-UX、Mac OS、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统 。为多种编程语言提供API。这些编程语言包括C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。支持多线程充分利用CPU资源。优化的SQL查询算法,有效地提高查询速度。既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。提供TCP/IP、ODBC和JDBC等多种数据库连接途径。提供用于管理、检查、优化数据库操作的管理工具。可以处理拥有上千万条记录的大型数据库。由于MySQL是开放源码软件,因此可以大大降低总体成本。

Tomcat 是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利

4

用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。

S.S.H框架是J2EE应用中struts2+spring+hibernate三大免费开源框架的结合使用, 它可以看成工具,也是中间件。他是用来提高我们的开发效率,提高我们软件产品的可维护性、可扩展性乃至敏捷性的。他们里面有很多优秀的设计理念及模式应用。比如,struts属于MVC框架,关键是要了解MVC的概念及大致原理;而hibernate属于ORM系统,属于持久层的解决方案,同样需要对ORM的概念及原理有一个总体的了解。而spring属于应用程序框架,其核心是IOC容器以及AOP,Spring中还集成了很多适用东西,比如对JDBC的封装、自己的MVC、对动态语言的简洁访问等。 2.1.2 经济可行性研究

本系统通过网络化的人事考勤管理系统,提高了企业的人事考勤工作效率。考勤工作效率的提高,既节省了企业的时间成本人员成本又提高了企业的管理能力,使企业适应了时代的网络化管理要求。由于本系统是在在学习与实践基础上开发完成的,开发使用的软件大部分为开源软件,不受过多限制。

2.1.3 运行、操作可行性

本系统界面统一规范,操作简单,提示信息功能完整,用户只要经过简单的培训即可上手。关于操作系统等要求都比较低,不存在问题。 2.1.4 法律可行性

本系统的开发属于个人测试作品,不涉及商业利益,因此不会触犯其他软件开发公司权益和国家的法律法规。 2.1.5 方案可行性

本系统基于B/S三层结构的MVC模式开发,使用S.S.H框架来增加系统的开发速度。S.S.H框架是J2EE应用中struts2+spring+hibernate三

大免费开源框架,在网上都可以直接下载使用,利用了他们的优点互补,巧妙的结合起来构建了一个企业考勤管理系统。同时,通过使用Myeclipse等开发工具能够有效的加快开发速度和效率,大大减少开发人员的手工编写代码的工作量。所以此方案是可行的。

5

2.2 需求分析

关于本考勤系统需要解决的方向列举公司的一些管理制度

1. 考勤范围:公司在册员工;特殊原因员工不考勤须总经理批准 2.考勤方法:考勤工作由人事部经理负责, 3.考勤时间:早:9:00前 晚:18:00后

4.考勤规定:员工必须自觉遵守劳动纪律,不迟到、不早退。迟到早退者罚款处理,由部门经理审核。

5.请假、外出:员工请假外出需得到部门经理审批。 2.2.1 需求获取

1.运行环境 硬件平台:

CUP:P4 1.8GHz 内存:512MB以上 软件平台:

操作系统:Windows XP/2000/Windows7 数据库:Mysql

开发工具包: MyEclipse

浏览器:IE5.0或以上版本,推荐使用IE6.0 2.界面需求

界面美观,操作简单,提示信息功能完整。 3.输入输出模式需求

(1)输入模式以文字、下拉菜单、单选框; (2)输出模式为表格。 4.用户角色需求

系统使用者多是非计算机行业人员,因此系统应面向大众,界面简单,使用便捷。 2.2.2 功能需求

本系统主要分管理员、部门负责人和普通用户三部分。管理员包括部门管理、员工管理和用户罚金审核的功能。部门负责人包括打卡、考勤管理、警告管理、罚金管理和员工考勤管理。普通用户包括打卡、考勤查询、警告管理和罚金管理。如图2-1所示。

6

图2-1 系统整体用例图

本系统主要模块及功能如下:

1.管理员模块:部门管理、员工管理和用户罚金审核的功能。如图2-2所示。

图2-2 管理员模块用例图

2. 部门负责人模块:包括打卡、考勤管理、部门员工考勤管理、警告管理、罚金管理。如图2-3所示。

3.普通用户模块:包括打卡、考勤查询、警告管理和罚金管理。如图2-4所示。

4.员工考勤管理模块:部门负责人可以在此模块中查看到本部门所有员工的考勤情况,并对员工提交的申诉做审核,以及审核罚金,发起警告

等功能。如图2-5所示。

7

图2-3 部门负责人模块用例图

2-4 普通用户模块用例图

图2-5 部门员工考勤管理模块用例图

8

5.考勤管理模块:部门负责人和普通员工模块可在此模块中查看自己的考勤记录,可以进行备注申诉以及提交审核。如图2-6所示。

图2-6 考勤管理模块用例图

6.打卡模块:部门负责人以及普通员工都可在此模块中打卡,一天两次,第一次早9:00之前视为正常上班,第二次晚18:00之后视为正常下班,不满足条件的视为迟到或早退。如图2-7所示

图2-7 打卡模块用例图

7.员工管理模块:管理员可在此模块中查看修改删除员工所在部门信息以及指定部门负责人。如图2-8所示。

图2-8 员工管理模块用例图

9

8.罚金管理模块:部门负责人和普通员工都可在此模块中查看到自己的处罚金和审核状态,管理员可通过此模块进行罚金审核以及修改罚金。如图2-9所示。

图2-9 罚金管理模块

9.警告模块:部门负责人可对部门内普通员工发起警告,而且都可在此模块中查看到对自己的警告,此模块等同于公告模块。如图2-10所示。

图2-10 警告模块用例图

2.3 数据库分析

数据库是存储在计算机存储设备上,结构化的相关数据集合。既包含数据本身,又包含相关失误之间的联系。面向多种应用,可被多个用户多个应用程序共享。

数据库管理系统是为数据库的建立、使用和维护而配置的软件系统,位于用户与操作系统之间的数据管理软件。

数据库系统是只运行了数据库原理系统的计算机系统,能够对大量的动态数据进行有组织的存储与管理,提供各种应用支持。

数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率,以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。

10

2.3.1 数据库需求分析

数据库是对数据的有效组织和管理,是实现管理信息系统的中心环节。有效的数据组织取决于数据库的设计,而有效的数据管理则依赖于数据库管理系统(DBMS)的选择。在进行数据库设计时要注意以下原则:

数据库系统在逻辑上应有层次结构,数据自下而上逐层归纳、汇总。数据库结构必须规范化,必须保证数据的正确性和完整性。必须保证对数据的安全性,对故障应有预防能力、保护能力和恢复能力以及对数据库的保密能力。

2.3.2 数据库概念结构设计

数据库概念结构设计阶段的目标是通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。概念结构的设计方法有两种:

(1)集中式模式设计法:这种方法是根据需求由一个统一机构或人员设计一个综合的全局模式。这种方法简单方便,适用于小型或不复杂的系统设计,由于该方法很难描述复杂的语义关联,而不适于大型的或复杂的系统设计。

(2)视图集成设计法:这种方法是将一个系统分解成若干个子系统,首先对每一个子系统进行模式设计,建立各个局部视图,然后将这些局部视图进行集成,最终形成整个系统的全局模式。

概念模型设计的典型方法是用E-R图方法,即用实体-联系模型表示。E-R方法是用E-R图来描述显示世界,E-R图包含三个基本成分:实体、联系、属性。它直观易懂,能够比较准确地反映现实世界的信息联系,从概念上表示一个数据库的信息组织情况。概念模型用于信息世界的建模,是现实世界到机器世界的一个中间层次,是数据库设计的有力工具,是数据库设计人员和用户之间进行交流的语言。概念模型的基本要求:较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识,简单、清晰、易于用户理解。

概念模型的特点是:

(1)真实、充分的反映现实世界,包括事物和事物之间的联系;

(2)易于理解,可以用于和不熟悉计算机的用户交换意见; (3)易于修改和扩充;

(4)易于向数据模型转换。 本系统E-R图如图2-12所示。

11

部门 员工 管理 管理 管理员 审核 罚金 管理 部门负责人 管理 打卡 查询 查询 警告 打卡记录 历史考勤 本月考勤 查询 打卡 查询 查询

普通用户 图2-12 企业考勤管理系统E-R模型图

2.4 开发方案比较

通常体系结构包括两种模式:一种是传统的基于C/S(Client/Sever)的模式,即客户机与服务器模式;另外一种是新型的基于B/S (Browser /Server) 的模式,这种模式下客户端是标准的浏览器,服务器为标准的WEB服务器。

C/S (Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。

传统的C/S体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件支持。由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件, 加之产品的更新换代

12

十分快,已经很难适应百台电脑以上局域网用户同时使用。而且代价高, 效率低。

B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。

以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。

13

第3章 系统设计与实现

3.1 总体功能框图

本系统主要分管理员、部门负责人和普通用户三部分。总功能图如图3-1所示。

系统 管理员 部门负责人 普通用户 部门管理 员工管理 用户罚金审核 打卡 本月考勤管理 历史考勤管理 警告管理 罚金管理 员工管理 打卡 考勤查询 警告管理 罚金管理 员工考勤管理 员工考勤审核 员工警告管理 员工考勤查询

图3-1 系统功能框图

管理员权限模块:

管理员权限模块主要实现部门管理、员工管理和用户罚金审核等功能。管理员的功能图如图2所示。 管理员 部门管理 员工管理 罚金审核

图3-2 管理员功能图

14

部门负责人权限模块:

部门负责人权限主要实现打卡、本月考勤管理、历史考勤管理、警告管理、罚金管理和员工管理的功能。部门负责人的功能图如图3-3所示。

部门负责人 打卡 本月考勤管理 历史考勤管理 警告管理 罚金管理 员工管理 员工考勤管理 员工考勤审核 员工警告管理 员工考勤查询

图3-3 部门负责人的功能图

普通用户权限模块:

普通用户权限主要实现打卡、考勤查询、警告管理和罚金管理的功能。普通用户的功能图如图3-4所示。

普通用户 打卡 考勤查询 警告管理 罚金管理

图3-4 普通用户的功能图

3.2 类图

类图由许多(静态)说明性的模型元素(组成。类图可以组织在(并且属于)包中,仅显示特定包中的相关内容。它是最常用UML图,显示出类、接口以及它们之间的静态结构和关系;它用于描述系统的结构化设计,是最基本的元素是类或者接口。

没有类是单独存在的,他们通常和别的类协作,创造比单独工作更大的语义。因此,除了捕获系统的词汇以外,还要将注意力集中到这些类是

15

如何在一起工作的。使用类图就可以表达这种协作关系。然后确定此系统的建模机制。机制代表了部分你建模的系统的一些功能和行为,这些功能和行为是一组类、接口和其他事物相互作用的结果。 3.2.1 部门管理类图

图3-5 部门管理类图

User类负责存储用户的基本数据,包括用户的用户名、密码等; ManagrAction操作管理类,本系统所有操作都需要通过此类完成; Bumen类负责存储部门信息以及部门的增删修改; 3.2.2 次数类图

图3-6 Cishu类图

16

Cishu类有记录调用操作次数等作用; 3.2.3 打卡类图

图3-7 打卡类图

Daka类用户记录员工的用户名信息、考勤时间、系统提示; Time类存储的正常早中晚上下班的时间信息; 3.2.4 警告类图

图3-8 警告类图

17

Jinggao类记录员工的警告信息;

3.3 数据库的设计

系统按通用的B/S(浏览器、服务器)模式进行设计。

浏览器 Web服务器 图3-9 B/S设计图

数据库 数据库是一个单位或是一个应用领域的通用数据处理系统,它存储的是属于企业和事业部门、团体和个人的有关数据的集合。数据库中的数据是从全局观点出发建立的,按一定的数据模型进行组织、描述和存储。其结构基于数据间的自然联系,从而可提供一切必要的存取路径,且数据不再针对某一应用,而是面向全组织,具有整体的结构化特征。

数据库的特点: 1.数据结构化

数据库系统实现了整体数据的结构化,这是数据库的最主要的特征之一。这里所说的“整体”结构化,是指在数据库中的数据不再仅针对某个应用,而是面向全组织;不仅数据内部是结构化,而且整体式结构化,数据之间有联系。

2.数据的共享性高,冗余度低,易扩充

因为数据是面向整体的,所以数据可以被多个用户、多个应用程序共享使用,可以大大减少数据冗余,节约存储空间,避免数据之间的不相容性与不一致性。

3.数据独立性高

数据独立性包括数据的物理独立性和逻辑独立性。

物理独立性是指数据在磁盘上的数据库中如何存储是由DBMS管理的,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样一来当数据的物理存储结构改变时,用户的程序不用改变。

逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,也就是说,数据的逻辑结构改变了,用户程序也可以不改变。

数据与程序的独立,把数据的定义从程序中分离出去,加上存取数据的由DBMS负责提供,从而简化了应用程序的编制,大大减少了应用程序的维护和修改。

4.数据由DBMS统一管理和控制

数据库的共享是并发的(concurrency)共享,即多个用户可以同时存取数据库中的数据,甚至可以同时存取数据库中的同一个数据。

系统的定义数据库主要包含5张表:部门表,次数表,打卡表,警告

18

表,用户表。

表3-1 部门表

名称 id bumenlock name 类型 bigint(20) int(11) varchar(255) 空 no no yes 备注 主键 部门是否删除的标志 部门名 表3-2 次数表

名称 id chidao fajin shenhe weidaka yuefen zaotui zhengchangshangban zhengchangxiaban userid 类型 bigint(20) int(11) double varchar(255) int(11) varchar(255) int(11) int(11) int(11) bigint(20) 空 no no yes yes no yes no no no yes 备注 主键 迟到 罚金 审核 未打卡 月份 早退 正常上班 正常下班 关联的用户,外键 表3-3 打卡表

名称 id dakatime info qian resule shenhe status userid 类型 bigint(20) varchar(255) text double varchar(255) varchar(255) varchar(255) bigint(20) 空 no yes yes yes yes yes yes yes 备注 主键 打卡时间 打卡的信息 罚金 打卡的结果 审核内容 审核状态 关联的用户,外键 表3-4 警告表

名称 id content createtime userfromid usertoid 类型 bigint(20) text datetime bigint(20) bigint(20) 空 no yes yes yes yes 备注 主键 警告的内容 添加的时间 发起警告的用户 收到警告的用户 19

表3-5 用户表

名称 id createtime password role truename uuserlock username bumenid bumen2id 类型 bigint(20) datetime varchar(255) int(11) varchar(255) int(11) varchar(255) bigint(20) bigint(20) 空 no yes yes no yes no yes yes yes 备注 主键 注册时间 密码 用户权限 真实姓名 用户是否删除的标志 用户名 关联的部门ID 是否是部门经理的ID 3.4 人机界面设计

界面设计是人与机器之间传递和交换信息的媒介,FaceUI称包括硬件界面和软件界面,是计算机科学与心理学、设计艺术学、认知科学和人机工程学的交叉研究领域。近年来,随着信息技术与计算机技术的迅速发展,网络技术的突飞猛进,人机界面设计和开发已成为国际计算机界和设计界最为活跃的研究方向。

界面设计的原则: 1.简易性:界面的简洁是要让用户便于使用、便于了解、并能减少用户发生错误选择的可能性。

2.用户语言:界面中要使用能反应用户本身的语言,而不是游戏设计者的语言。

3.记忆负担最小化:人脑不是电脑,在设计界面时必须要考虑人类大脑处理信息的限度。人类的短期记忆极不稳定、有限,24小时内存在25%的遗忘率。所以对用户来说,浏览信息要比记忆更容易。

4.一致性:是每一个优秀界面都具备的特点。界面的结构必须清晰且一致,风格必须与游戏内容相一致。

5.清楚:在视觉效果上便于理解和使用。 6.用户的熟悉程度:用户可通过已掌握的知识来使用界面,但不应超出一般常识。

7.从用户的观点考虑:想用户所想,做用户所做。用户总是按照他们自己的方法理解和使用。通过比较两个不同世界(真实与虚拟)的事物,完成更好的设计。如:书籍对比竹简。

8.排列:一个有序的界面能让用户轻松的使用。

9.安全性:用户能自由的作出选择,且所有选择都是可逆的。在用户作出危险的选择时有信息介入系统的提示。

20

10.灵活性:简单来说就是要让用户方便的使用,但不同于上述。即互动多重性,不局限于单一的工具(包括鼠标、键盘或手柄)。

11.人性化:高效率和用户满意度是人性化的体现。应具备专家级和初级玩家系统,即用户可依据自己的习惯定制界面,并能保存设置。 3.4.1 登录页面

用户必须有相应的用户名和用户密码才能进入系统。登录分为两种情况:成功和失败。当用户的用户名和密码错误时登录失败,当用户的用户名和密码正确时登录成功。

图3-10 登录界面

3.4.2 用户注册页面

用户可通过此页面进行注册并选择自己所在的部门,非常简单易操作。

图3-11 注册界面

21

3.4.3 系统主页面

在主页面中,当用户点击菜单的某一按钮,就会显示出其按钮下的全部功能按钮,点击功能按钮时将显示其功能界面,支持多个显示页面添加和切换,使用这个网页布局的好处可以使程序的布局更加的有条里,功能和显示划分的非常明确,使用户方便的查询各个信息,避免重复的点击菜单显示。本系统分管理员登录、部门负责人登录、以及员工登录,所以系统主页面也有三种。

图3-12 管理员主页面

图3-13 部门负责人主页面

22

图3-14 普通员工主页面

3.4.4 员工管理页面

员工管理页面中,有删除用户、指定部门、指定部门经理三个功能,用户需选中所要操作的人再进行想要实现的功能。

图3-15 员工管理页面

23

3.4.5 部门管理页面

部门管理页面中,可实现添加部门、删除部门、修改部门的功能

图3-16 部门管理页面

3.4.6 罚金审核页面

罚金审核页面中,管理员可以对员工的罚款情况进行审核以及修改罚金。当审核通过时,将无权再修改罚金。

图3-17 罚金审核页面

24

图3-18 修改罚金页面

3.4.7 打卡页面

打卡页面中,打卡按钮,每天可以打卡两次,第一次早9点前为正常上班,晚18点后为正常下班,不满足条件为迟到/早退,没有打卡为打卡不完整。

图3-19 打卡页面

25

图3-20 打卡确认页面

3.4.8 考勤记录页面

部门负责人和普通用户可以在考勤记录页面总查看自己的本月考勤记录与历史考勤记录,同时此页面中可以添加备注信息并提交审核,等同于请假的功能。

图3-21 考勤记录页面

26

图3-22 申诉备注页面

3.4.9 员工考勤记录页面

员工考勤记录页面分为本月员工考勤管理、本月员工考勤审核、本月员工考勤排行、历史员工考勤管理、历史员工考勤排行、警告管理6部分。本月员工考勤管理页面可以查看本部门员工的本月考勤记录;本月员工考勤审核页面可以审核部门员工提交的备注申请;本月考勤排行页面可以进行本月员工考勤排行,有多种排序方式,并且在此页面中可以对部门员工进行警告;历史月员工考勤管理页面可以查看部门员工的历史考勤记录;历史月员工考勤排行页面可以对部门员工的历史考勤进行排行同时也拥有多种排序方式;警告管理页面中,可查看到部门内的所有警告信息。

图3-23 本月员工考勤管理页面

27

图3-24 本月员工考勤审核页面

图3-25 本月员工考勤排行页面

图 3-26 历史月员工考勤管理页面

28

图3-27 历史月员工考勤排行页面

图3-28 警告管理页面

3.4.10 警告页面

警告页面中,员工可查看到部门负责人对自己的全部警告信息。

29

图3-29 警告页面

30

第四章 测 试

软件测试是发现软件中错误和缺陷的主要手段。在一般情况下,软件测试过程与整个软件开发过程基本上是平行进行的。当然,测试计划应该在需求分析阶段就已经开始制定了。随后的工作则会伴随着软件开发的过程逐步展开。软件测试是发现并指出软件系统缺陷的过程。缺陷在开发和维护的任何阶段都有可能发生,并由此产生一个或多个“漏洞”,包括错误、误解和冗余,有时甚至会误导开发者。测试包括寻找缺陷,但不包括跟踪漏洞及修复,即测试不包括调试和修复。

软件测试是软件工程过程的一个重要阶段,是在软件投入运行前,对软件需求分析、设计和编码各阶段产品的最终检验,是为了保证软件开发产品的正确性、完全性和一致性,从而检测软件错误、修正软件错误的过程。软件开发的目的是开放出实现用户需求的高质量、高性能的软件产品,软件测试以检查软件产品内容和功能特性为核心,是软件质量保证的关键步骤,也是成功实现软件开发目标的重要保障。

4.1 系统测试的定位

按照软件工程的思想,在本系统交付使用前,我对该软件系统的所有功能模块进行了详细的测试,测试的目的在于:寻找问题,纠正错误,提高系统技术能力,使系统早日投入运行。测试的参加人员除技术人员外还包括用户,最终由用户对每个模块提出问题或批示。

本次测试分别采用软件工程中的白盒测试和黑盒测试。白盒测试是一种验证技术,即我们是否在正确的构造一个系统;黑盒测试是一种确认测试,即我们是否在构造一个正确的系统。

通过本次系统测试,希望发现的主要错误可以分为以下几类。 1.语法错误 语法错误是经常碰到的错误,它是由不正确的脚本语法导致。例如:命令拼写错误或传递始函数的参数不正确都将产生错误。语法错误可能导致脚本不能运行。

2.运行时错误

运行时错误是脚本在执行过程中脚本指令试图执行不可能的动作而导致的。必须纠正导致运行时的错误,这样才能使脚本在运行时不被中断。

3.逻辑错误

逻辑错误通常可能是在潜在的和难以预测的。如果有因键入错误或程

31

序逻辑流程错误引起的逻辑错误,脚本可能会成功运行,但产生的结果却是错误的。

4.2 白盒测试

第一阶段测试采用白盒测试。白盒测试是一种测试用例设计方法,全面了解程序内部逻辑结构、对所有逻辑路径进行测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。白盒测试的目的是通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试;在程序不同地方设立检查点,检查程序的状态,以确定实际运行状态与预期状态是否一致。

测试用例:

1.打卡流程图:

开始 打卡 第一次打卡 No 第二次打卡 Yes 9:00前 Yes 输出:已打卡,正常上班 输出:迟到 No Yes 输出:已打卡,正常下班 输出:早退 18:00后后 结束

图4-1 打卡流程图

2.根据流程图我们可以确定环形复杂性度量V(G): 1V(G)=E-N+2=12-10+2=4 ○

2V(G)=4个(区域) ○

3V(G).=P+1=10+1=11 ○

32

1 2 7 3 8 9 4 5 6 10

图4-2 登录流程图

3.确定基本路径集合:

路径1:1——2——3——4——6——11 路径2:1——2——3——4——5——11 路径3:1——2——7——9——11 路径4:1——2——7——8——11 4.路径1的测试用例:

第二次打卡,时间为18:00之前 期望结果:早退

路径2的测试用例:

第二次打卡,时间为18:00之后 期望结果:已打卡,正常下班 路径3的测试用例:

第1次打卡,时间为9:00之后 期望结果:迟到

路径4的测试用例:

第一次打卡,时间为9:00前 期望结果: 已打卡,正常上班

通过以上几步测试,所得结果均与设计要求符合,也就是说测试结果准确无误。

4.3 黑盒测试

第二阶段测试采用黑盒测试。黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。黑盒测试法注重于测试软件的功能需求,采用黑盒测试我们可以发现的错误包括功能不正确或遗漏;界面

33

错误;输入和输出错误;数据库访问错误;性能错误;初始化和终止错误等。

测试用例:

1. 用户登录测试(正确输入)

表4-1 用户登录测试(正确输入)表

输入 期望输出 实际输出 用户名:admin 密码:111111 登录成功,显示主页 登录成功,显示主页 2. 用户登录测试(无该用户)

表4-2 用户登录测试(无该用户)表

输入 用户名:07 密码:1 期望输出 员工号或密码错误 实际输出 员工号或密码错误 3. 用户登录测试(密码错误)

表4-3 用户登录测试(密码错误)表

输入 用户名:01 密码:111111 期望输出 员工号或密码错误 实际输出 员工号或密码错误 4.4 系统测试结论

在系统测试中,难免发现问题,但是即时的进行了修正。总体上,本次系统的设计与开发基本实现了最初的信息管理需求,达到了需求分析中的功能要求,实现了小型企业考勤管理系统,个人来讲比较满意。

34

第五章 结 论

回顾大学阶段的学习、研究和实践,论文的主要研究工作和结论如下: 1.分析和研究了人事考勤管理系统的发展,根据原有考勤管理系统的缺失,以及当前人事考勤管理现状,论证了对人事考勤数据进行分析和统计的必要性,提出研发人事考勤数据分析和应用系统的迫切性。

2.针对公司的人事考勤管理业务现状不足和功能需求,依据人事管理理论、思想和方法,按照软件工程思想,完成了人事考勤管理系统的调研和分析,需求分析、功能设计和数据库设计。

3.根据当前已有的人事考勤管理的基础数据,对开发的人事考勤数据分析与应用系统进行了实例验证,应用效果较好。

通过大学阶段的学习研究,论文就此完成,但依然任重道远,尚有许多研究工作有待进一步深入学习和实践,这里择其要者简要讨论如下:

1.随着科技进步,人力资源管理理论也不断发展和更新,先进的管理模式和技术不断支撑着人力资源管理理论发展和科技探新,因此,要加强人力资源理论学习,指导实践研究。

2.由于作者研究水平的不足和技术条件限制,系统某些功能还不够完善,有待于进一步的研究与探索。

从一开始设计系统的整体结构到局部的功能实现,代码的编写,运行的纠错直至系统的测试完成,我都不断和我的指导老师进行交流和沟通,认真听取指导老师的意见和建议,这给我很大的帮助。

在系统开发过程中,我深切体会到软件开发工具对程序开发人员的影响,各种开发工具之间的兼容性也是十分重要的。开发此软件采用了S.S.H,它是用来提高我们的开发效率,提高我们软件产品的可维护性、可扩展性乃至敏捷性的,这为我提供了很多的方便。现在我所要做的便是尽我最大的努力让开发成果更接近完美。

在这段软件开发的时间里,我更加认识了自己,对自己的优缺点有了更多的认识,只要有面对困难的勇气,再加上更多的努力,正确解决问题的方法,就能够度过一个个难关,达到一个更高的高度,就会有勇气去创造自己的未来。

35

本文来源:https://www.bwwdw.com/article/2256.html

Top