基于VC的考勤系统设计与实现.docx
- 文档编号:28646904
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:20
- 大小:249.14KB
基于VC的考勤系统设计与实现.docx
《基于VC的考勤系统设计与实现.docx》由会员分享,可在线阅读,更多相关《基于VC的考勤系统设计与实现.docx(20页珍藏版)》请在冰豆网上搜索。
基于VC的考勤系统设计与实现
毕业设计(论文)
基于VC的考勤系统设计与实现
TheDesignandImplementationofAttendanceSystemBasedonVC
学生姓名
学号
专业班级
指导教师
2012年5月
作者声明
本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果,除了文中特别加以标注的地方外,没有任何剽窃、抄袭、造假等违反学术道德、学术规范的行为,也没有侵犯任何其他人或组织的科研成果及专利。
与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。
如本毕业设计(论文)引起的法律结果完全由本人承担。
毕业设计(论文)成果归武汉工程大学邮电与信息工程学院所有。
特此声明。
作者专业:
作者学号:
作者签名:
____年___月___日
摘要
随着现代科学技术的发展,越来越多的公司和企业对职工的考勤都实行了信息化管理,使用计算机系统代替复杂的手工方式来管理考勤事务。
考勤系统可以有效地管理公司员工的出勤情况,规范人事制度管理,保证公司正常的工作,是人力资源管理的重要组成部分。
因此,考勤管理系统的设计与实现有着十分重要的意义。
系统的开发主要包括后台数据库的建立,维护以及前端应用程序的开发两个方面,主要模块包括基本信息管理模块,考勤信息管理模块,统计查询模块和系统用户管理模块。
系统是使用VisualC++开发平台,使用MicrosoftVisualStudio作为工具软件,数据库为SQLSEVER2005。
系统采用目前比较流行的ODBC数据访问技术,并将每个数据库表的字段和操作封装到类中,它使应用程序的各个窗口都能够共享对表的操作,不需要重复编码,使程序更加易于维护,从而将面向对象的程序设计思想应用到数据库应用程序中。
本论文共分为5章。
第1章简要介绍了课题的背景,意义和研究方法;第2章对本系统所用的开发工具和数据库做了简要的介绍;第3章是本系统的概要设计,对系统进行了需求分析,主要分析其系统需求和功能需求,并对数据库表进行了一些设置,作出相应的流程图;第4章是详细设计,介绍了各个模块的详细实现;第5章对全文的内容作了总结。
关键字:
VisualC++;SQLSERVER,MFC;考勤管理;ODBC数据访问技术。
Abstract
Thecompetitioninthetelecommunicationmarkethasbecomemoreandmorefierce,whichcausearesultthattheserviceproviderpaymoreattentiontothequalityandthesecurityofthenetwork.Thetransmissionnetworkisthefoundationofthewholecommunicationnetwork,butduetothemassconstructionearlier,theshortcomingsaregettingmoreandclearer,andthenetworkoptimizationistheonlywaytosolvetheproblem.
Systemmainlyincludestheestablishmentofthebackgrounddatabase,front-endapplicationmaintenanceanddevelopmentoftwomainmodules,includingbasicinformationmanagementmodule,attendanceinformationmanagementmodule,statisticsmoduleandsystemqueriestheusermanagementmodule.SystemistouseVisualC++developmentlanguage,theuseofMicrosoftVisualStudioasatoolforsoftware,databaseforSQLSEVER2005.SystemiscurrentlymorepopularODBCdataaccesstechnology,anddatabasetablesforeachofthefieldandoperationoftheclasspackage,whichallowsapplicationstoshareallthevariouswindowsontheoperationtable,donotneedtoduplicatecode,sothatproceduresmoreeasytomaintain,sothatobject-orientedprogrammingdesignconceptsappliedtodatabaseapplications.
Thisthesisisdividedinto5chapters.Thefirstchapterbrieflyintroducesthebackgroundofthetopic,thesignificanceandresearchmethods;thesecondchapterofthesystemusedinthedevelopmenttools,andthedatabaseisbrieflyintroduced;thethirdchapteristhesummaryofthesystemdesign,analyzesthesystemdemandanalysisthesystemdemandandthefunctionofthedatabasetableandsomedesignandthecorrespondingflowchart;thefourthchapteristhedetaileddesign,introducedthevariousmodulesofthedetailedimplementation;thefifthchaptersummarizesthecontent.
Keywords:
VisualC++,SQLSever2005,MFC,attendancemanagement,ODBCdataaccesstechnology.
引言
二十一世纪人类已进入到了一个高速发展的信息时代。
社会的高度信息化要求各企事业单位不停的提高信息管理技术以适应社会的发展。
我国当前考勤管理在许多企业中还是停留在手工记录的方式,其操作相当繁杂。
考勤工作需要管理者深入到企业的各个部门中去统计员工的出勤情况。
由于企业部门繁多,导致经常会出现记录错误的情况发生。
极大的影响了企业对员工的管理。
在电脑考勤系统自90年代从中国台湾引进大陆之前,国内的考勤管理先后经过人工考勤和机械打卡钟阶段,但是考勤数据采集不精确,请假等数据录入采集不方便,考勤统计报表错误多需要大量的人工修正,大量考勤工作集中在HR(人力资源部)一个部门处理,不论是基层员工还是HR部门和企业的各级主管对考勤系统都有怨言。
新的考勤管理系统的特征:
报表准确,报表没有过多的异常数据需要HR部门二次干预;系统可以查询实时员工在岗情况,并可以提供集成请假记录;全员式参与考勤管理;员工考勤自助;考勤数据全员共享;具体日常考勤管理工作权限可以从HR部门下放到具体的各考勤群组.
新的考勤系统有两个重要意义:
其一,可以将考勤事务交给基本部门处理,交给每个员工自己处理,交给系统自动处理,用IT技术推动人事考勤管理的变革;其二,新的考勤系统的实施,不仅把HR人员从考勤的具体事务中解放出来,而且也推动了全员对人事管理的参与和互动。
HR人员的可以把工作重心可以放在服务员工、支持公司管理层的战略决策上,放在公司最重要的资产—员工和员工的集体智慧的管理上等核心业务上来。
在此讨论的考勤管理系统的开发,旨在探索一种新的考勤模式。
通过这种新的模式,为企业的传统考勤模式创造一种新的概念,提高考勤工作效率和标准化水平。
本系统运用SQLSEVER2005作为后台数据库同VisualC++共同设计了一个考勤管理软件。
使用该软件,管理者可以快速记录公司全体员工当日的出勤状况。
并可按月份统计员工出勤,出差,请假状况及正常工作时间。
很好的解决了前者在管理方面所存在的弊端。
且操作非常简单,用户只需要懂得操作Windows系统便可,无需再进行其他任何培训,方便用户使用。
在本软件的开发过程中主要使用了VisualC++中的MFC库来完成用户界面设计和求值、统计的算法设计。
运用SQLSEVER2005来建立系统数据库,并通过ODBC实现两者的连接。
第1章绪论
在当今社会,随着计算机的普及及网络技术的应用,考勤管理工作应该从繁琐的日常事务中解放出来。
并且,使用计算机对员工信息进行考勤管理,具有手工所无法比拟的优点。
例如:
查询迅速﹑查找方便、可靠性高﹑成本低﹑高效率等。
课题背景
长期以来,繁琐的考勤记录整理、统计、查询等,一直困扰着行政部门的人员。
因此考勤管理在生产管理过程中充当着一个十分重要角色,考勤管理的效率对企业工作效率的提高起着举足轻重的作用。
随着现代科学技术的发展,越来越多的公司和企业对职工的考勤管理都实行了信息化管理,使用计算机系统代替繁琐冗余的手工方式来管理考勤事务。
基于此,开发了一套考勤管理系统,不仅能够很好的管理员工考勤信息,也能更好的提高企业的工作效率。
本课题的研究意义
随着计算机的普及和计算机科学技术的飞速发展,人们开始越来越多地利用计算机解决实际问题。
考勤管理是商业信息管理的重要部分,面对大量的商品信息,采用人力处理将浪费大量的时间、人力和物力,而且统计数据麻烦。
因此,开发一个界面友好,易于操作的考勤管理软件进行自动化处理变得十分重要,这正是本系统开发的目的和意义。
本课题的研究方法
开发考勤管理系统需要选择两种工具,即前台开发语言和后台数据库。
一般开发C/S结构的应用程序时,前台开发语言通常可以选择VisualBasic、VisualC++、Delphi和PowerBuilder等,如果开发网络应用程序,则需要选择一个网络数据库系统,如Access、Oracle、SQLServer2000和IBMDB2等。
本设计是使用VisualC++的开发工具,使用SQLSEVER2005作为后台数据库开发,采用了比较流行的数据库访问技术ODBC(OpenDatabaseConnectivity),是提供对各种数据库的标准接口。
本次毕业设计应首先分析考勤管理系统的相关功能,结合本次毕业设计的相关要求写出需求分析;其次,综合运用以前所学的相关知识,在设计中以需求分析为基础,写出系统开发计划、实现流程及相关问题的实现方法;同时,在开发设计与实现中,要保存好相关的设计文档。
第2章开发工具
VisualC++
VisualC++是微软公司1998年推出的产品,是基于Windows操作系统的编程工具,是MicrosoftVisualStudio的组件之一,具有功能强大的可视化开发环境,为程序员开发软件提供了方便的条件,并且VisualC++集程序的代码编辑、编译、连接、调试等功能与一体,给程序员提供一个完整、全面而又方便的开发环境。
它采用一种巧妙的方法将Windows的编程复杂性封装起来,编程者可以比较轻松地进行Windows应用程序的设计。
VisualC++继承了以前版本的优点,为用户提供了更为友好的可视化开发环境。
它提供了强大的编译能力以及良好的界面操作性,具有功能强大、通用性强和易于扩充等特点,越来越多的被用来当作客户/服务器应用程序的前台应用工具,而且能够对WindowsNT、Windows2000以及WindowsXP下的C++程序设计提供完善的编程环境。
同时VisualC++对网络、数据库等方面的编程也都提供相应的环境支持。
随着可视化编程的蓬勃发展,越来越多的程序员开始使用可视化编程技术。
VisualC++拥有两种编程方式:
一种是传统的基于WindowsAPI的C编程方式,虽然代码效率较高,但开发难度与开发工作量也随着增高,目前使用这种编程方式的用户已经很少。
另一种是基于MFC的C++编程方式,虽然代码运行效率相对较低,但开发难度小,开发工作量小,源代码效率高,已经成为VisualC++开发windows应用程序的主流。
本系统选择的就是基于MFC的C++编程方式。
SQLSERVER2005数据库
SQLServer是一个全面的、集成的、端到端的数据解决方案,它为企业中的用户提供了一个安全、可靠和高效的平台用于企业数据管理和商业智能应用。
SQLServer2005为IT专家和信息工作者带来了强大的、熟悉的工具,同时减少了在从移动设备到企业数据系统的多平台上创建、部署、管理及使用企业数据和分析应用程序的复杂度。
通过全面的功能集、和现有系统的集成性、以及对日常任务的自动管理能力,SQLServer2005为不同规模的企业提供了一个完整的数据解决方案。
SQLServer数据平台包括以下工具:
(1)关系型数据库:
安全、可靠、可伸缩、高可用的关系型数据库引擎,提升了性能且支持结构化和非结构化(XML)数据。
(2)复制服务:
数据复制可用于数据分发、处理移动数据应用、系统高可用、企业报表解决方案的后备数据可伸缩存储、与异构系统的集成等,包括已有的Oracle数据库等。
(3)通知服务:
用于开发、部署可伸缩应用程序的先进的通知服务能够向不同的连接和移动设备发布个性化、及时的信息更新。
(4)集成服务:
可以支持数据仓库和企业范围内数据集成的抽取、转换和装载能力。
(5)分析服务:
联机分析处理(OLAP)功能可用于多维存储的大量、复杂的数据集的快速高级分析。
(6)报表服务:
全面的报表解决方案,可创建、管理和发布传统的、可打印的报表和交互的、基于Web的报表。
(7)管理工具:
SQLServer包含的集成管理工具可用于高级数据库管理和调谐,它也和其他微软工具,如MOM和SMS紧密集成在一起。
标准数据访问协议大大减少了SQLServer和现有系统间数据集成所花的时间。
此外,构建于SQLServer内的内嵌Webservice支持确保了和其他应用及平台的互操作能力。
ODBC数据访问技术
ODBC(OpenDatabaseConnectivity,开放数据库互连)是微软公司开放服务结构(WOSA,WindowsOpenServicesArchitecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。
这些API利用SQL来完成其大部分任务。
ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。
一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。
也就是说,不论是FoxPro、Access、SQL还是Oracle数据库,均可用ODBCAPI进行访问。
ODBC的体系结构由以下几个部分组成:
(1)应用程序:
就是我们使用ODBC访问数据库的应用系统
ODBCAPI:
Windows提供的使用ODBC访问数据库的接口函数,应用程序通过调用API中提供的函数,最终依靠SQL语句实现数据库的操作。
(2)驱动程序管理器(DriverManager):
驱动程序管理器存放在中,它主要负责装载和卸载ODBC驱动程序,并将ODBCAPI函数的调用转交给ODBC驱动程序。
(3)数据源:
其中记录了应用程序要访问的数据库的一些信息,比如数据库的位置和名称、数据库的类型等。
(4)ODBC驱动程序:
是DBMS系统提供的使用ODBC进行数据库访问的驱动,也就是ODBC和数据库之间的接口,以DLL的形式提供。
不同的数据库厂商提供的驱动是不同的,也就是说,不能使用一种数据库的ODBC驱动来访问另外一种数据库,比如不能使用SQLServer的ODBC驱动来访问Oracle数据库。
(5)ODBC数据源管理器(Administrator):
在Windows的控制面板中,我们可以找到该程序,它主要管理已经安装的ODBC驱动程序,并管理数据源(建立和删除等)。
应用程序要访问一个数据库,首先必须用ODBC管理器注册一个数据源,管理器根据数据源提供的数据库位置、数据库类型及ODBC驱动程序等信息,建立起ODBC与具体数据库的联系。
这样,只要应用程序将数据源名提供给ODBC,ODBC就能建立起与相应数据库的连接。
在ODBC中,ODBCAPI不能直接访问数据库,必须通过驱动程序管理器与数据库交换信息。
驱动程序管理器负责将应用程序对ODBCAPI的调用传递给正确的驱动程序,而驱动程序在执行完相应的操作后,将结果通过驱动程序管理器返回给应用程序。
在访问ODBC数据源时需要ODBC驱动程序的支持。
用VisualC++安装程序可以安装SQL Server、Access、Paradox、dBase、FoxPro、Excel、Oracle和MicrosoftText等驱动程序.
第3章考勤系统的概要设计
需求分析
系统需求
使用者通过计算机来管理员工的信息,比如对员工的员工号、姓名、到勤情况能及时的进行添加、查询等。
如何插入、删除员工的信息,如何浏览员工的所有信息,以及如何查询自己想要的信息。
当员工上下班请假、加班、出差时由领导登陆系统进行审批。
当然,领导也可以对已经审批的信息予以撤销。
系统考勤员具有设置上下班时间、添加员工信息的权限。
可以在当天设置下一天的上下班时间。
当有新员工进入时,要由考勤员把该员工的信息添加到数据库中。
本考勤管理系统只有本单位的员工可以登录,当有其他员工登录时,系统将提示员工号错或密码错;当有员工进行不正确的操作时,系统将给出相应的提示信息,对于不同的操作对象,系统设置了不同的操作权限,普通员工不能查看系统内部的信息。
系统设定了普通员工、考勤员、领导三种权限的用户,系统的维护和调整都将由考勤员完成,能满足考勤的要求。
功能需求
基于系统需求分析,该系统需要实现以下基本功能:
(1)签到功能:
当员工上班到公司后,通过输入自己的员工号进行某个操作,就可以把到达公司的时间记录下来,并且要求保存到数据库中,以备查询。
在记录下来的信息中应该包括员工的员工号,以及签到的具体时间,这包括上班时间和下班时间。
(2)查询功能:
签到功能中要求将员工上班的签到情况记录下来,供以后查看而用。
查询某个员工在某段时间或者某天的出勤情况,只要输入员工的员工号,并输入要查询的日期,即可将此员工在给定日期内的出勤情况显示出来。
(3)系统配置功能:
要记录考勤,就必须确定上班时间,对于不同的公司有着不同的规定,因此本系统将提供用户自行设定的功能。
自行设定的数据包括:
上午上班时间、上午下班时间、下午上班时间和下午下班时间。
(4)员工维护:
对于一个公司要考勤,显然是对属于这个公司的员工进行的,那么员工的信息就必须记录下来,包括员工的姓名、员工号。
增加员工:
当某个新人加入员工后,人事部分应该给他分配员工号,这样可以用此来签到,并且需要把此员工的信息增加到公司的员工信息库中;删除员工:
当某个员工离开这家公司后,应该把这个员工的信息删除,并且要求把他的所有的签到信息也删除。
(5)用户登录:
做为考勤系统来讲首先应该不是人人都可以进入的。
因此,应该通过输入用户名和用户密码后再进入,并且要根据不同的权限进行功能提供方面的区分。
这里,要求分为三种权限的用户:
一种是考勤员,一种是普通用户,最后一种是领导。
超级用户拥有系统提供的所有功能,包括“修改出勤”、“查询”、“员工维护”、“系统配置”、“签到”功能;而对于普通用户来说只有“签到”功能。
系统总体功能模块图如图所示:
图系统总体功能模块图
功能概述
系统登录就是输入用户名和密码进入考勤系统。
(1)系统管理:
用户进入考勤系统后,可以选择重新登录或退出系统。
(2)考勤管理:
员工非正常上班的情况下,做好统计记录,必备查询。
(3)查询管理:
查询员工上下班的情况。
(4)系统设置:
设定上下班时间,对于不同的企业,可以根据各自的规定自行设定。
员工上下班时要记录相应的时间,对相应记录进行查询,然后进行统计。
员工请假、值班、出差都要经过审批,审批通过以后,通过考勤员记录在相关表中,进行统计。
最终统计的各种信息生成统计表。
数据库结构设计
根据用户的需求,对需要保存的信息进行分析,然后,设计出合理的表。
下面是本系统数据库的设计。
为了运行程序的方便,本系统选择了SQLSEVER数据库。
数据库:
基于功能模块分析,为考勤系统创建的6个数据表实体关系图如图所示:
图实体关系图
当用户签到时,系统将自动获取当前时间,记录在考勤表中的上班字段中。
下班时也要获取当前时间存储在下班时间中,该信息用于与系统设置的上午上班时间和下午上班时间进行比对。
系统设置的时间在ini文件中,用来判断是迟到、早退,还是旷工。
请假、出差或加班则必须由领导批准后才能生效。
旷工分为两种情况:
第一,员工出差、请假超过了相应的时间;第二,员工正常上班时,未签到。
其数据库的设计如表到表所示:
表考勤表(ATTENDANCE)
字段名称
字段数据类型
字段描述
PERSON
text
员工号,唯一标志,外键
MIN_OUT
text
上午考勤出入类型
MIO_TIME
char
上午上班时间
AIN_OUT
char
下午考勤出入类型
AIO_TIME
char
下午上班时间
表考勤统计表(ATTENDANCE_STAT)
字段名称
字段数据类型
字段描述
YEAR_MONTH
datetime
统计时间
PERSON
text
员工号,外键
WORK_HOUR
int
工作时间
OVER_HOUR
int
加班时间
LEAVE_HDAY
text
请假情况
ERRAND_HDAY
text
出差情况
LATE_TIMES
int
迟到次数
EARLY_TIMES
int
早退次数
ABSENT_TIMES
int
缺勤次数
表考勤记录表(COUNTER)
字段名称
字段数据类型
字段描述
PERSON
text
员工号,外键
ID
text
考勤类型编号
COUNTER_VALUE
int
次数统计
表出差/请假表(ERRAND)
字段名称
字段数据类型
字段描述
PERSON
text
员工号,外键
START_TIME
datetime
开始时间
END_TIME
datetime
结束时间
DESCRIPTION
text
出差情况描述
FLAG1
int
出
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 VC 考勤 系统 设计 实现