毕业设计企业考勤管理系统.docx

上传人:b****2 文档编号:23043997 上传时间:2023-04-30 格式:DOCX 页数:22 大小:204.84KB
下载 相关 举报
毕业设计企业考勤管理系统.docx_第1页
第1页 / 共22页
毕业设计企业考勤管理系统.docx_第2页
第2页 / 共22页
毕业设计企业考勤管理系统.docx_第3页
第3页 / 共22页
毕业设计企业考勤管理系统.docx_第4页
第4页 / 共22页
毕业设计企业考勤管理系统.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

毕业设计企业考勤管理系统.docx

《毕业设计企业考勤管理系统.docx》由会员分享,可在线阅读,更多相关《毕业设计企业考勤管理系统.docx(22页珍藏版)》请在冰豆网上搜索。

毕业设计企业考勤管理系统.docx

毕业设计企业考勤管理系统

毕业设计--企业考勤管理系统

 

绪论

随着计算机的发展及网络技术的应用,当今社会正快速向信息自动化社会前进,信息自动化的作用也越来越大,特别是各行业的管理领域,智能化信息处理已是提高效率、规范管理、客观审查的最有效途径。

考勤作为一个公司的基项管理,是单位对员工工作管理的基本依据。

开发考勤管理系统,正是完善企业信息化管理的重要环节。

对于员工考勤如果仍使用传统的手工方式录入将是一项复杂的工作。

面对庞大的信息量,该方式现主要存在以下弊端:

1、浪费人力、效率低下;

2、考勤结果反映速度慢(一月才能汇总一次),主管部门不能及时全面地监督员工的出勤情况;

3、难避免考勤中的弄虚作假现象。

一些单位上报的工资人数往往大于实际考勤和领工资的人数,造成公司大量工资流失;

4、由于考勤数据的不准确,公司劳动人事工资管理系统的许多基础数据也存在较大误差,给人事部门的许多全局性的统计工作也带来了不准确性;

5、考勤统计工作复杂繁重,难以保证统计结果的正确性、及时性。

因此,人工考勤已很难满足公司规范化管理的要求。

建立现代化的智能考勤管理系统势在必行。

通过考勤管理系统能满足公司多种考勤及管理要求,能为公司带来巨大的经济效益:

1、考勤管理系统通过考勤机判断并记录员工上下班关信息,可以保证考勤数据的准确、公正、安全,减少考勤人员的工作负担,避免人为因素的干扰和弄虚作假现象;

2、所有员工的考勤信息可一次读回,考勤系统对信息统一处理,迅速、全面;

3、能为人事工资管理系统提供可靠的数据资料,确保人事统计的准确、可靠;

4、各管理用计算机及管理软件用Windows环境下的全中文界面平台,能灵活处理各种特殊情况,方便的修改各种基本信息,提供丰富的统计报表,查询方便,管理安全,操作简便易学;

 

第1章系统目标及使用软件介绍

1.1系统的概述

1.1.1企业考勤管理系统的研究意义

随着电子计算机和通信技术的发展,人类已经逐渐地进入信息化社会。

信息和材料、能源一样成为一种社会的基本生产资料,在人类的社会生产活动中发挥着重要的作用。

同时人们对信息和数据的利用与处理也已进入自动化、网络化和社会化的阶段,因此,开发相关的管理信息系统已经成为各行各业的必要和必需了,这在企业运营和发展显的尤为重要。

随着计算机技术的发展及应用,当今社会正快速向信息自动化社会前进,信息自动化的作用也越来越大。

而考勤制度作为各企业中所必需的、最基本的管理制度,再使用“点名”的方式考察员工出勤情况显然是不可行的,这会浪费大量的时间从而阻碍企业的发展,而且工作量巨大。

因此使用较为成熟的计算机技术来代替人工考勤管理是十分必要的,也是具有实际意义和价值的。

1.1.2本系统的主要功能

1.能够方便地对上班时间进行设定;

2.能够提供员工出入单位的情况记录。

出入情况主要由考勤机来记录,但是需要设置人工添加的功能,如出勤记录、月度考勤统计、人员信息、部门设置等,已备特殊情况的处理;

3.能够提供请假、加班和出差情况的记录,并实现查询、添加、修改、删除、浏览等处理功能;

4.能够在每个月底进行整个月的出勤情况统计;

5.能够具有一定的安全性、协调性和完整性。

1.2相关工具与开发工具介绍

系统的整个设计使用结构化设计。

本系统采用VC作为开发环境,Access作为后台数据库,并且以Windows作为运行平台,以便更广泛的适应企业要求。

VC语言环境的功能比较强大,Access2003数据库也具有广泛的适应性,Windows操作平台具有很高的适应性,这样的组合有利于降低成本,服务于广泛的用户。

1.2.1VisualC++6.0开发环境

微软公司的VC++6.0是Windows应用程序开发工具,是目前最为广泛的、易学易用的面向对象的开发工具。

VC++6.0提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。

故而,实现本系统VC是一个相对较好的选择[1]。

VC++6.0编程语言是一个面向对象的集成开发系统。

它简单、高效的特点使它成为编程者的最爱。

它提供了灵活的可视化设计工具,将可视化界面与面向对象技术完善、紧密地结合起来,其友好的集成开发界面,可视化的双向开发模式,良好的数据库应用支持高效的程序开发和程序运行,备受广大程序开发人员的好评。

采用Access2007数据库环境开发,可缩短开发周期,提高开发效率的特点。

对系统的软硬件要求也低,减少用户的资金投入[2]。

1.2.2Access数据库介绍

数据库技术是计算机软件的一个重要分支,它产生于20世纪60年代,最早是由IBM公司推出的IMS数据库系统。

数据库技术从开始到现在大致经历了三个阶段,分别是:

人工管理阶段、文件管理阶段和数据库管理阶段。

Access是Office系列软件中用来专门管理数据库的应用软件。

所谓数据库是指经过组织的、关于特定主题或对象的信息集合。

数据库管理系统分为两类:

文件管理系统和关系型管理系统。

Access应用程序就是一种功能强大且使用方便的关系型数据库管理系统,一般也称关系型数据库管理软件。

它可运行于各种Windows系统环境中,由于它继承了Windows的特性,不仅易于使用,而且界面友好,如今在世界各地广泛流行。

Access数据库属于关系数据库的一种,不需要进行复杂的编程,利用提供的向导和一些图形化的界面和工具就能完成小型数据库管理系统的设计,因此数据库管理者不需要具有专业的程序设计水平,任何非专业的用户都可以用它来创建功能强大的数据库管理系统。

Access使用标准的SQL(StructuredQueryLanguage,结构化查询语言)作为它的数据库语言,从而提供了强大的数据处理能力和通用性,使其成为一个功能强大而且易于使用的桌面关系型数据库管理系统和应用程序生成器。

一个Access数据库中可以包含表、查询、窗体、报表、宏、模块以及数据访问页。

不同于传统的桌面数据库,Access数据库使用单一的*.mdb文件管理所有的信息,这种针对数据库集成的最优化文件结构不仅包括数据本身,也包括了它的支持对象。

第2章

可行性分析

可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。

在这个阶段,信息单位必须就时间、人力、物力、财力、效益、技术等要素来评估他们是否有足够的资源支持使用单位的需要。

要从技术可行性、经济可行性、操作可行性三个方面来进行研究。

2.1技术可行性

首先,企业考勤管理系统以考察员工出勤情况为主要功能,它应该是企业管理的大系统中的一个部分,而不是一个单独的系统,因此企业考勤管理系统属于中小型软件,这就决定了它的开发时间不能太久,在给定的17周里有足够的时间实现用户要求;其次是人力资源,开发该系统是有一个人独立完成的,虽然在开发前期优点困难,但在调试过程中总体看来要容易的多。

再次是技术能力方面。

本系统前台采用VisualC++6.0(VC),VC++是在结构化的C语言基础上发展起来的,采用面向对象的编程方法,是更具有结构化的程序设计语言,而且VB提供了可视化设计平台,还具有很强的数据库管理功能,可以有效的管理多种格式数据库。

在本软件中以Access2003作为后台数据库,在前台输入的数据都将直接进入数据库集中存放,由于Access2003具有广泛的适应性,用来做本软件的后台是数据库比较合适。

2.2经济可行性

就是该系统的经济效益能否超过它的开发成本。

一般情况下,一个软件的寿命是5年,本系统的开发时间是17周。

现在的总体投入大约在5000元,包括了购买开发本系统所需要的全部软、硬件及调研的费用。

今年的年利率是2.93%,根据公式:

(1-1)

公式中:

i—表示年利率;

n—表示软件使用时间;

P—表示实际投入资金;

F—表示n年后收入的资金;

那么在5年后的收入为5776.7,很明显对企业是有好处的,投资的回收率在15%以上,因此本投资项目是值得的。

2.3操作可行性

在整个考勤管理系统中的操作都是采用大众化的操作方式,员工只要进行简单的学习就能轻松掌握软件功能,并熟练的进行操作,所以操作方面可行。

2.4运行环境

2.4.1硬件配置

使用CPUP42.0GHz以上,内存在256M以上,硬盘容量在20G以上,就能完全保证本系统稳定、快速的运行。

2.4.2软件配置

本系统前台采用VisualC++6.0(VC),VC是在结构化的C语言基础上发展起来的,采用面向对象的编程方法,是更具有结构化的程序设计语言,而且VB提供了可视化设计平台,还具有很强的数据库管理功能,可以有效的管理多种格式数据库。

在本系统中以Access2003作为后台数据库,在前台输入的数据都将直接进入数据库集中存放,由于Access2003具有广泛的适应性,用来做本软件的后台是数据库比较合适。

本系统以WindowsXP作为运行平台,主要是因为WindowsXP操作系统在计算机用户中得到了广泛的认可和应用,另外与Windows其他版本相比,WindowsXP的各方面功能都比较成熟和完善。

第3章

需求分析

3.1系统环境的工作需求及流程

3.1.1系统环境的工作需求

企业为了适应当今社会快速发展的需求,提高工作效率,先拟订开发一个企业管理系统。

考勤管理系统作为整个系统中的一个组成部分,应具备以下功能:

首先,考勤管理系统应该只允许特定的管理员操作,因此必须具备管理员登陆界面(包括添加用户,修改密码等),只有正确的管理员帐户和密码才能登陆本系统并进行某些功能的操作;其次,还应具有简单的人事管理功能(添加、修改、删除员工资料,查询全部或任意员工资料,包括个人资料和当前职务等),通过此功能企业管理者可以了解到每个员工的具体情况;第三,应具备员工职务调度功能(查询当前员工职务,员工职务调度,调度时间及理由),通过此功能企业管理者可以随时查看企业内员工的所属部门和职务,并能根据员工的具体表现进行相应的职务任命;第四,具备设定上下班时间功能,规定员工上下班的时间;第五,必须具备的员工考勤情况记录功能(包括出勤、请假、加班、出差等情况的记录),并在月底对员工出勤情况进行累加统计(包括迟到、早退次数,加班时间,请假时间,出差时间等),然后导出或打印统计记录文件以便保存资料并存入档案。

3.1.2系统环境的工作流程

企业用一台小型计算机处理每天的考勤统计记录。

员工每天的出勤情况通过系统中的处理程序进行处理,并将处理结果写入数据库中。

这样,员工的出勤情况的数据每天都能更新,同时也方便于日后的考勤统计工作。

根据系统工作需求的描述,将系统工作流程图自上而下流动,每个符号用黑盒子形式定义系统的一个部件,并没有其具体工作过程。

图中箭头确定了信息通过系统的逻辑路径。

企业考勤系统的系统功能模块图如下:

 

系统功能模块图

3.2系统数据流图和数据字典

3.2.1系统的数据流图

数据流图是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。

在数据流图中没有具体的物理部件,只是描绘数据在软件中流动和被处理的逻辑过程。

此外,设计数据流图时只需考虑系统必须完成的基本逻辑功能,而不必考虑具体这样实现这些功能,也就是说数据流图的基本要点是描述“做什么”而不考虑“怎么做”,所以它也是今后进行软件设计的出发点。

数据流图有四种成分:

源点或终点,处理,数据存储和数据流。

显然企业考勤管理系统的源点应该是系统操作员,重点应该是企业管理者,系统操作员将员工出勤数据输入到系统中,通过系统中的处理程序把数据进行处理,然后将数据写入数据库中存储。

根据以上分析,可以得到考勤管理系统数据流程图:

 

考勤管理系统数据流程图

 

3.2.2数据字典

数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合

任何字典的最主要用途都是供人查阅对不了解的条目的解释,数据字典的作用也正是在软件分析和设计的过程中给人提供关于数据的描述信息。

数据字典和数据流图共同构成系统的逻辑模型,没有数据字典数据流图就不严格,没有数据流图数据字典也难以发挥作用。

只有数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明。

一般来说,数据字典应该由对下列4类元素的定义组成:

数据流、数据流分量、数据存储、处理。

数据字典中的定义就是对数据自上而下的分解。

一般来说,当分解到不需要进一步定义,每个和工程有关的人都清楚其含义的元素时,这种分解过程就完成了。

数据字典最重要的用途是作为分解阶段的工具。

数据字典中包含的每个数据元素的控制信息是很有价值的。

因为列出了使用一个给定的数据元素的所有程序(或模块),所以很容易估计改变一个数据将产生的影响,并且能对所有受影响的程序或模块做出相应的改变。

 

第4章总体设计

4.1总述

经过需求分析阶段的工作,我们已经清楚了系统必须“做什么”,接下来应该确定我们应该“怎么做”。

总体设计的基本目的就是回答“概括的说,系统应该如何实现?

”这个问题,因此,总体设计又称为概要设计或初步设计。

通过这个阶段的工作将划分出组成系统的物理元素——程序,文件,数据库,人工过程和文档等。

总体设计阶段的另一项重要任务是设计软件结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。

通常程序中的一个模块完成一个适当的子功能。

应该把模块组织成良好的层次关系,顶层模块调用它的下层模块以实现程序的完整功能,每个下层模块再调用更下层的模块,从而完成程序的子功能,最下层的模块完成最具体的功能。

软件结构可以用层次图或结构图来描绘。

如果数据流图已经细化到适当的层次,则可以直接从数据流图映射出软件结构。

4.2系统结构图

第5章数据库设计

数据库在一个信息管理系统中占有非常重要的地位,数据库设计的好坏将直接影响系统的效率以及实现效果。

合理的数据库设计可以提高数据存储的效率,保证数据的完整和一致。

同时,合理的数据库结构也将有利于程序的实现。

数据库除了用户的需求分析外,还包括概念、逻辑和物理设计三个阶段。

5.1概念设计

数据库一般分为三级模式:

外模式、概念模式和内模式。

其中概念模式是数据库中全部数据的逻辑结构和特征的描述,通常以某种数据模型为基础。

概念设计是对显示世界的一种抽象。

所谓抽象是对实际人、物、事和概念进行认为处理,抽取所关心的共同特征,忽略非本质的细节,并把这些特征用各种概念精确的假以描述,这些概念组成了某种模型。

数据库的概念设计任务是依据需求分析的结果转换成一个独立于具体数据库管理系统(DatabaseManagementSystem,简称DBMS)的概念模型,即实体关系图(E—R图)。

在概念设计阶段就要开始设计数据库的完整性。

通过对数据流图和数据字典的分析,可以得到如下E-R图:

 

5.2数据库需求分析

根据数据流程,可以列出以下管理系统所需的数据项和数据结构。

出勤记录:

记录号、员工、出入情况和出入时间。

如图

ATTENDANCE出勤记录表

月度考勤统计:

记录号、员工、年月、累计正常工作时间、累计请假时间、累计加班时间、累计出差时间、迟到次数、早退次数和旷工次数,如图

 

ATTENDANCE_STAT月度考勤统计表

请假记录:

记录号、员工、假期起始时间/结束时间和请假缘由,如图

LEAVE请假记录表

加班记录:

记录号、员工、加班时间长度和日期,如图

OVERTIME加班记录表

出差记录:

记录号、员工、出差起始时间/结束时间和具体描述,如图

 

ERRAND出差记录表

人员信息:

员工号、密码、权限、姓名、部门和当前状态等,如图

PERSON人员信息表

部门设置:

部门编号、名称等,如图

 

DEPARTMENT部门设置表

 

5.3物理设计

物理结构设计是为数据模型在设备上选定合适的存储结构和存取方法,以获得数据库的最佳存取效率。

无论怎样设计数据库,我想都会遵从一个原则:

数据安全性和性能高效这两个主要方面,因为数据库良好的物理分布设计也是对数据安全性和性能高效影响比较大。

现实中我们在应用各种不同数据库的时候,往往会忽略数据库的物理布局,只有在数据库性能遇到问题的时候才去考虑,但这是得不偿失的,这样一来不仅会导致与设计相关的问题出现,而且会影响性能的调整效果,所以我们在创建数据库之前先进行规划数据库的物理布局也是很必要的,这也符合人们常说的“磨刀不误砍柴工”的道理。

数据库在物理设备上的存储结构与存储方法称为数据库的物理结构,它依赖于给定的计算机系统。

为一个给定逻辑数据模型选取一个最适合应用要求的物理结构的过程,就是数据库的物理设计。

数据库的物理设计通常分为两步:

1)确定数据库的物理结构。

确定数据库物理结构主要指确定数据库的存放位置和存储结构,包括确定关系、索引、聚簇、日志、备份等存储安排和存储结构。

对物理结构进行评价,评价的重点是时间和空间效率。

数据库是存储在物理设备上的。

逻辑数据库设计工作完成后,需要为逻辑数据模型选择适合应用环境的物理结构,即存储结构与存取方法。

这个选择工作就是数据库的物理设计。

由于物理结构依赖于给定的DBMS和和硬件系统,因此设计人员必须了解所用的DBMS的内部特征,特别是存储结构和存取方法;了解应用环境,特别是应用的处理频率和响应时间要求;以及了解外存设备特性。

数据库物理设计的任务是对给定的逻辑数据模型选取适合应用环境的物理结构,即在逻辑设计的基础上,为每个关系模式选择合适的存储结构和存取方法,使数据库的事务能够高效率地运行。

评价物理数据库的方法完全依赖于所选用的DBMS,主要是从定量估算各种方案的存储空间、存取时间和维护代价入手,对估算结果进行权衡、比较,选择出一个较优的合理的物理结构。

如果该结构不符合用户需求,则需要修改设计。

 

第6章详细设计

6.1菜单设计

在应用软件中,菜单设计是再常见不过的了。

菜单中集成了用户在程序窗口中所完成的绝大部分操作,是程序开发中的核心元素。

使用菜单的优点有两个:

第一,节省屏幕的显示空间,许多的功能选择项都能集合到仅占一行空间的菜单中,节省了大量的空间;第二,对系统功能的分类,菜单可以一级一级的展开,形成树型结构,条理清晰。

在设计窗口上适当的运用菜单,可以使生成的应用程序更贴近用户,使命令项更加直观,便于用户识别。

菜单大致可分为三个类型,分别为下拉菜单,弹出式菜单和级联菜单。

在应用程序中,下拉菜单是最直观、最常用的菜单类型,在本软件中,也使用了大量的下拉菜单来展示软件具有的功能。

下拉菜单的各菜单标题并排排列在应用程序顶部的菜单栏里,每一个菜单标题都分别对应一个含有多个不同菜单项的下拉菜单。

用户可以在当前窗口中选中所需的菜单标题执行相应的操作,当用户对某个菜单标题进行操作时,该菜单标题就会以特殊的颜色高亮度显示,提示用户确认当前操作对象。

弹出菜单与下拉菜单实现机理有所不同,下拉菜单及下拉菜单中所执行的相应操作不需要编写程序代码实现。

相比之下,弹出菜单的使用更加随意、更具有灵活性。

级联菜单可以出现在前两种菜单中,在其父菜单项的后面有个箭头,指示该菜单后有级联菜单。

一般来说,级联菜单不宜太多,否则会破坏菜单的条理性。

菜单的设计方法也很简单,在VC6.0的开发软件中添加了菜单编辑器,在操作界面的“工具”选项中就能找到。

菜单编辑器如图:

 

图6.1菜单编辑器

6.2界面设计

在本系统中,为了提高安全性,首先设计的是一个系统登陆界面,通过该界面进行系统身份验证,只有系统操作者才有权利进入系统并对系统进行操作。

系统登陆界面设置了两个输入框,要求用户分别输入用户名和密码,只有用户名和密码全都输入并验证正确后,用户才能进入并使用软件,否则就不能进入软件操作界面。

当登陆界面开启时,系统自动进入记录状态,记录用户输入用户名和密码的次数,如果连续输入三次错误的用户名或密码,登陆界面会自动关闭,为系统的安全提供了必要保证。

设计思路如流程图所示:

根据该设计思路,设计出的登陆界面如图所示:

图6.3登录界面

首先创建窗体Form1,“Caption”设置为“登录界面”。

在窗体上添加Label1,Label2和Label3对其Caption属性分别设置为“用户名”,“密码”和“企业考勤管理系统”。

在窗体下方添加CommandButton1和CommandButton2,对其Caption属性分别设置为“确定”和“取消”。

同时也可以添加Image等控件,加入图片等内容,用于美化界面。

通过登陆界面就能进入到系统操作界面。

在操作界面中以菜单为主,通过菜单可以找到系统中的全部功能。

操作界面如图所示:

图6.4操作界面

 

图6.5操作界面

图6.6操作界面

部分代码如下:

CWorkplanDlg:

:

CWorkplanDlg(CWnd*pParent/*=NULL*/)

:

CDialog(CWorkplanDlg:

:

IDD,pParent)

{

//{{AFX_DATA_INIT(CWorkplanDlg)

m_Time1=0;

m_Time2=0;

m_Time3=0;

m_Time4=0;

//}}AFX_DATA_INIT

}

voidCWorkplanDlg:

:

DoDataExchange(CDataExchange*pDX)

{

CDialog:

:

DoDataExchange(pDX);

//{{AFX_DATA_MAP(CWorkplanDlg)

DDX_DateTimeCtrl(pDX,IDC_WORKSTAT_DATETIMEPICKER1,m_Time1);

DDX_DateTimeCtrl(pDX,IDC_WORKSTAT_DATETIMEPICKER2,m_Time2);

DDX_DateTimeCtrl(pDX,IDC_WORKSTAT_DATETIMEPICKER3,m_Time3);

DDX_DateTimeCtrl(pDX,IDC_WORKSTAT_DATETIMEPICKER4,m_Time4);

//}}AFX_DATA_MAP

}

BEGIN_MESSAGE_MAP(CWorkplanDlg,CDialog)

//{{AFX_MSG_MAP(CWorkplanDlg)

ON_BN_CLICKED(IDC_WORKPLAN_RESET,OnWorkplanReset)

ON_BN_CLICKED(IDC_WORKPLAN_MODIFY,OnWorkplanModify)

//}}AFX_MSG_MAP

END_MESSAGE_MAP()

//CWorkplanDlgmessagehandlers

voidCWorkplanDlg:

:

OnWorkplanReset()

{

CStringcstr[4];

charstr[4][9];

inti;

intnHour,nMinute,nSecond;

CStringstrFileName=".\\workplan.ini";

GetPrivateProfileString("WorkPlan","Time1","08:

00:

00",str[0],9,strFileName);

GetPrivateProfileString("WorkPlan","Time2","12:

00:

00",str[1],9,strFileName);

GetPrivatePro

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1