考勤管理系统的设计与实现论文.docx
- 文档编号:7340802
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:29
- 大小:377.82KB
考勤管理系统的设计与实现论文.docx
《考勤管理系统的设计与实现论文.docx》由会员分享,可在线阅读,更多相关《考勤管理系统的设计与实现论文.docx(29页珍藏版)》请在冰豆网上搜索。
考勤管理系统的设计与实现论文
考勤管理系统的设计与实现
摘要
随着现代科学技术的发展,越来越多的公司和企业对职工的考勤都实行了信息化管理,使用计算机系统代替复杂的手工方式来管理考勤事务。
考勤管理系统可以有效地管理公司员工的出勤情况,规范人事制度管理,保证公司正常的工作,是人力资源管理的重要组成部分。
系统的开发主要包括后台数据库的建立,维护以及前端应用程序的开发两个方面,主要模块包括基本信息管理模块,考勤信息管理模块,统计查询模块和系统用户管理模块。
系统是使用VisualC++开发语言,使用MicrosoftVisualStudio6.0作为工具软件,数据库为SQLServer2000。
系统采用目前比较流行的ADO数据访问技术,并将每个数据库表的字段和操作封装到类中,它使应用程序的各个窗口都能够共享对表的操作,不需要重复编码,使程序更加易于维护,从而将面向对象的程序设计思想应用到数据库应用程序中。
关键词:
考勤管理;人力资源;数据库;数据访问技术
DesignandRealizationofAttendanceManagementSystem
Abstract
Alongwiththedevelopmentofthemodernscienceandtechnology,moreandmorecompaniesandenterprisesimplementedtheinformationmanagementtothestaff'scheckingattendance,andusecomputersysteminsteadofthecomplexmanualwaytomanagethecheckingattendancebusiness.Thecheckingattendancemanagementsystemmayeffectivelymanagethestaff'sgoingoutondutysituation,Standardpersonnelsystemmanagement,Guaranteesthecompanynormalwork.Itistheimportantpartofhumanresourcesmanagement
Thedevelopmentofthissystemmainlyincludestwoaspects:
theestablishmentofthebackstagedatabaseandthedevelopmentofthefront-sideapplication.Thissystemcontainsfollowingseveralmodules:
thebasicinformationmanagementmodule,theattendanceinformationmanagementmodule,thestatisticalinquirymoduleandthesystemuseradministrationmodule.VisualC++andSQLServer2000areusedinthedevelopmentofthesystem.ThesystemusesthepopularADOtechnology,andencapsulatesthefieldsandtheoperationsofeachtableintosomeclasses.Itcausestheoperationwhichtheapplicationprocedureeachwindowallcansharesynchronizestables.Ithasnotrepeatcodes,andmakestheapplicationtobeeasiertomaintain.Bythisway,theideaofobject-orientedprogrammingwillbeappliedinthedatabaseapplication.
.
Keywords:
Attendancemanagement;Humanresources;Database;Dataaccesstechnology
目录
论文总页数:
26页
1引言1
1.1课题背景1
1.2本课题研究意义1
1.3本课题研究方法1
2开发工具2
2.1VisualC++6.02
2.2SQLServer20002
3考勤管理系统的设计3
3.1需求分析3
3.2功能模块构成3
3.3数据库结构设计4
4考勤管理系统的实现6
4.1系统登陆功能的实现6
4.2基本信息管理模块7
4.2.1节假日信息管理7
4.2.2部门信息管理8
4.2.3员工信息管理9
4.3考勤管理模块11
4.3.1出勤信息管理11
4.3.2加班信息管理13
4.3.3请假信息管理14
4.3.4出差信息管理16
4.4统计查询模块17
4.4.1日考勤统计表17
4.4.2月考勤统计表18
4.4.3当日考勤人员列表20
4.5用户管理模块21
结论23
参考文献24
致谢25
声明26
1引言
1.1课题背景
无论公司还是企业,都会涉及到对职工的考勤管理。
考勤管理在生产管理过程中充当着一个十分重要角色,考勤管理的效率对生产的效果起着举足轻重的作用。
随着现代科学技术的发展,越来越多的公司和企业对职工的考勤管理都实行了信息化管理,使用计算机系统代替繁琐冗余的手工方式来管理考勤事务。
传统的手工方式不仅效率低下,而且容易出错,采用计算机技术进行货物管理可以克服手工管理的缺点,将人们从烦杂的劳动中解放出来。
先进的考勤管理思想在商业中实现就成为了一个时代的目标。
公司集团非常急需一套既有先进考勤方法又适合国内大商业的考勤管理系统,作为实现目标和提高现有水平的一种重要手段。
考勤管理系统是一个公司不可缺少的部分,它的执行对于公司的决策者和管理者来说是很有帮助的,随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
基于此,开发了一套考勤管理系统,其主要目的是为了统计员工的迟到、早退、旷工、事病假、加班以及出差情况,这些信息将直接作为公司对员工的奖惩、提升以及培训的依据。
1.2本课题研究意义
随着计算机技术和网络技术的发展,计算机网络给人们带来了很多便利,同样考勤管理系统也是如此,它主要是为了满足单位日常的考勤管理的需求,扩大工作空间,使单位管理过程更加快速、安全、高。
论文系统规划设计过程是从单位的业务流程出发展开分析,从而完成系统各个功能模块的分析过程,以及完成部分功能模块的设计,实现了数据库信息的浏览、录入、查询、修改、删除等各种操作,通过统一界面使得系统操作更为灵活、方便便捷。
随着计算机的普及和计算机科学技术的飞速发展,人们开始越来越多地利用计算机解决实际问题。
考勤管理是商业信息管理的重要部分,面对大量的商品信息,采用人力处理将浪费大量的时间、人力和物力,而且统计数据麻烦。
因此,开发一个界面友好,易于操作的考勤管理软件进行自动化处理变得十分重要,这正是本系统开发的目的和意义。
通过此考勤管理系统的开发锻炼了学生的实际动手能力对以后的学习和工作能力的培养也具有重要意义。
1.3本课题研究方法
开发数据库管理信息系统需要选择两种工具,即前台开发语言和后台数据库。
一般开发C/S结构的应用程序时,前台开发语言通常可以选择VisualBasic、VisualC++、Delphi和PowerBuilder等,如果开发网络应用程序,则需要选择一个网络数据库系统,如Access、Oracle和IBMDB2等。
本设计是使用VisualC++6.0的开发工具,使用MicrosoftSQLServer2000作为后台数据库开发,采用了最新的数据库访问技术ADO(ActiveXDataObjects),是提供对各种数据库的标准接口。
本次毕业设计应首先分析考勤管理系统的相关功能,结合本次毕业设计的相关要求写出需求分析;其次,综合运用以前所学的相关知识,在设计中以需求分析为基础,写出系统开发计划、实现流程及相关问题的实现方法;同时,在开发设计与实现中,要保存好相关的设计文档。
2开发工具
2.1VisualC++6.0
VisualC++6.0是微软公司1998年推出的产品,是基于Windows操作系统的编程工具,是MicrosoftVisualStudio6.0的组件之一,是一种面向对象程序设计语言。
它采用一种巧妙的方法将Windows的编程复杂性封装起来,编程者可以比较轻松地进行Windows应用程序的设计。
VisualC++6.0继承了以前版本的优点,为用户提供了更为友好的可视化开发环境。
它提供了强大的编译能力以及良好的界面操作性,具有功能强大、通用性强和易于扩充等特点,越来越多的被用来当作客户/服务器应用程序的前台卡法工具,而且能够对Windows9x、WindowsNT以及Windows2000下的C++程序设计提供完善的编程环境。
同时VisualC++6.0对网络、数据库等方面的编程也都提供相应的环境支持。
几乎所有世界级的软件,从业界领先的Web浏览器到面向任务的企业应用,都是使用MicrosoftVisualC++开发系统来开发的。
要用C++来开发Windows和Web上的高性能应用程序,VisualC++是效率最高的首选工具。
VisualC++6.0在不牺牲灵活性、性能和控制力度的同时,给C++带来了更高水平的生产效率。
除了IntelliSenseTechnology(智能感应技术)和EditandContinue(即编即调)等显著缩短开发时间的新特性外,VisualC++6.0还为Web开发和企业开发提供更良好的支持。
有了MicrosoftVisualC++6.0企业版,可以创建出面向Windows和Web的多层次可调节的应用程序。
有了它为Internet、SQL和COM开发所提供的优化了的支持,可以大大提高您的开发效率。
2.2SQLServer2000
MicrosoftSQLServer2000是一套完整的数据库和分析产品,可迅速提供下一代可扩展电子商务、各种业务和数据仓库解决方案。
MicrosoftSQLServer2000是一个分布式的关系型数据库管理系统,具有客户机/服务器体系结构,采用了Transact-SQL的SQL语言在客户机与服务器间传递客户机的请求与服务器的处理结果。
它一种应用广泛的数据库管理系统,具有许多显著的优点:
易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性价比等。
性能、可伸缩性及可靠性是基本要求,而进入市场时间也非常关键。
除这些核心企业品质外,SQLServer2000还为您的数据管理与分析带来了灵活性,允许单位在快速变化的环境中从容响应,从而获得竞争优势。
从数据管理和分析角度看,将原始数据转化为商业智能和充分利用Web带来的机会非常重要。
MicrosoftSQLServer2000是众多数据库开发软件的一种,它的版本包括企业版,标准版,个人版,WindowsCE版,开发版和评估版。
不同版本的功能和用户群不同。
SQL是访问数据库的标准语言,无论后台数据库是SQLServer,Oracle,还是IBMDB2,甚至是小型数据库ACCESS,都可以使用标准的SQL语句对它进行操作。
在这里,是采用SQLServer2000是作为后台数据库。
3考勤管理系统的设计
3.1需求分析
考勤管理系统的用户是各单位负责考勤管理的员工和领导,它可以有效的管理公司单位员工的出勤情况,规范人事制度的管理。
管理员可以创建用户,修改用户信息以及删除用户,和对公司一些员工信息的编辑等。
该系统包括基本信息管理,考勤信息管理,统计查询和用户管理等主要模块。
每一个功能模块都需要针对不同的表来完成相同的数据库操作,即添加记录,修改记录,删除记录以及查询显示记录信息。
具体功能有以下几个方面。
1、基本信息的添加,修改,删除和查询。
节本信息管理包括节假日日期设置,部门信息管理和员工信息管理。
2、考勤信息管理包括出勤管理,加班管理,请假管理和出差管理等功能。
3、统计查询功能包括日考勤统计表,月考勤统计表和当日缺勤人员列表。
4、用户管理包括Admin用户管理和其他用户管理。
3.2功能模块构成
考勤管理系统由基本信息管理模块、考勤信息模块、统计查询模块和用户管理模块四个主要功能模块构成。
基本信息管理模块,包括节假日日期设置,部门信息管理缓和员工信息管理。
节假日日期信息只包括具体的日期数据,部门信息包括部门名称和部门功能的描述,员工信息包括员工姓名,性别,生日,身份证号等。
考勤信息包括出勤,加班,请假,出差等信息。
出勤信息包括全勤,休息,旷工,迟到和早退等信息;加班信息包括员工信息,加班时间,加班类型和加班描述;请假信息包括员工信息,请假类型和原因;出差信息包括员工信息和出差原因。
统计查询模块包括日考勤统计表,月考勤统计表和当日缺勤人员列表。
日考勤统计表包括员工姓名,考勤日期,是否全勤,是否请假等信息,月考勤统计表包括员工姓名,考勤月份,全勤天数,出差天数等信息,当日缺勤人员列表包括系统当前日期缺勤员工的姓名,所在部门和联系电话等信息。
用户管理模块用户包括Admin用户和普通用户。
Admin用户可以修改自己的密码,创建修改和删除普通用户信息。
普通用户只能修改自身的信息
功能模块构成如图1:
图1功能模块
3.3数据库结构设计
考勤管理系统数据库采用MicrosoftSQLSERVER2000,在使用数据库过程中,接触最多的就是数据库中的表,表是数据存储的地方,是数据库最重要的部分。
这个系统数据库表由6个表构成,具体如下。
CheckInfo表是记录考勤信息的,记录员工迟到,早退,全勤,旷工,病假,事假,休息,出差等信息。
表1CheckInfo
字段
数据类型
长度
是否允许为空
字段描述
CheckDate
char
10
否
考勤日期
EmpId
int
4
否
员工编号
QuanQin
char
2
是
全勤
ChuChai
char
2
是
出差
BingJia
char
2
是
病假
ShiJia
char
2
是
事假
KuangGong
char
2
是
旷工
XiuXi
char
50
是
休息
ChiDao
char
50
是
迟到
Zaotui
char
50
是
早退
Memo
varchar
200
是
备注
DepInfo表是记录部门信息的。
DepId为主键。
表2DepInfo
字段
数据类型
长度
是否允许为空
字段描述
DepId
int
4
否
部门编号
DepName
varchar
50
否
部门名称
Describes
varchar
250
是
描述
UID
int
4
否
总的编号
EmpInfo表是记录员工的基本信息。
管理员可以查看员工信息,添加员工信息需要用的表。
EmpId是主键。
表3EmpInfo
字段
数据类型
长度
是否允许为空
字段描述
EmpId
int
4
否
编号
Name
varchar
50
否
姓名
Sex
char
2
是
性别
Birthday
varchar
20
是
生日
IdCard
varchar
20
是
身份证号
OfficePhone
varchar
30
是
办公电话
Mobile
varchar
30
是
手机电话
HireDate
Int
4
是
到岗日期
DepId
varchar
40
是
部门编号
Mission
varchar
50
是
工作岗位
Duty
varchar
20
是
职务
Memo
varchar
200
是
备注信息
HolidaySet表是设置节假日信息的。
Id为主键。
表4HolidaySet
字段
数据类型
长度
是否允许为空
字段描述
Id
int
4
否
编号
HolidayDate
char
10
否
节假日期
HolidayName
varchar
50
是
节假名称
OverTime表是记录加班信息的。
表5OverTime
字段
数据类型
长度
是否允许为空
字段描述
otDate
Char
10
否
加班日期
EmpId
int
4
否
员工编号
otHour
smallint
2
否
加班时间
otType
varchar
50
否
加班类型
Describes
varchar
200
是
描述
UserInfo表是记录用户信息的,包括用户名和密码。
表6UserInfo
字段
数据类型
长度
是否允许为空
字段描述
UserName
varchar
40
否
用户名
Passwd
varchar
40
是
密码
UserType
int
4
否
用户类型
4考勤管理系统的实现
4.1系统登陆功能的实现
用户要使用本系统,首先必须通过系统的身份认证。
如果用户名错误或者不存在,密码错误3次后,对话框自动关闭。
图2登陆对话框
具体代码如下:
voidCLoginDlg:
:
OnOK()
{UpdateData(TRUE);//将对话框中编辑框的数据读取到成员变量中
if(m_User=="")//没有输入用户名
{MessageBox("请输入用户名","信息提示");
GetDlgItem(IDC_USER_EDIT)->SetFocus();
return;}
CUserInfoUser;//定义用户信息表变量
if(!
User.IsExistUser(m_User))//判断用户是否存在
{count++;
if(count<3)
{MessageBox("用户名不存在,请重新输入!
","用户名错误",MB_ICONINFORMATION);
UpdateData(FALSE);
GetDlgItem(IDC_USER_EDIT)->SetFocus();
return;}
else
{MessageBox("重试次数已到,不能再输入用户名和密码,即将退出系统!
","用户名错误",MB_ICONEXCLAMATION);
exit(0);}}
User.GetInfo(m_User);//判断密码是否正确
if(User.Passwd!
=m_Passwd)
{……//同用户判断}
CDialog:
:
OnOK();//关闭对话框}
4.2基本信息管理模块
基本信息管理模块包括节假日信息管理,部门信息管理和员工信息管理。
4.2.1节假日信息管理
节假日信息管理,首先对节假日信息的编辑,判断节假日记录是否存在,存入数据。
在从HolidaySet中读取所有节假日记录,在对记录进行操作,即添加,修改和删除。
普通用户是不能打开这一块信息的,节假日管理对他们是不可见的。
图3节假日信息框
部分代码如下:
BOOLCHolidayManDlg:
:
OnInitDialog()//初始化
{CDialog:
:
OnInitDialog();
RefreshData();}
voidCHolidayManDlg:
:
RefreshData()//更新数据
{UpdateData(TRUE);
CStringcSource="SELECTId,HolidayDateAS节假日,HolidayNameAS名称""FROMHolidaySet";//设置Select语句
m_Adodc.SetRecordSource(cSource);//刷新ADOData控件的记录源
m_Adodc.RefreshData()}
voidCHolidayManDlg:
:
OnAddButton()//添加按钮
{UpdateData(TRUE);
CHolidayEditDlgdlg;//初始化HolidayEditDlg对话框中的变量
if(dlg.DoModal()==IDOK)
RefreshData();}
voidCHolidayManDlg:
:
OnModiButton()//修改按钮
{CHolidayEditDlgdlg;//设置HolidayEditDlg对话框中的变量
if(dlg.DoModal()==IDOK)//打开HolidayEditDlg对话框
RefreshData();}
voidCHolidayManDlg:
:
OnDelButton()//删除按钮
{cur.SqlDelete(m_Datagrid.GetItem(0));
RefreshData();}
4.2.2部门信息管理
部门信息管理模块包括部门信息编辑对话框,部门信息管理对话框和部门信息选择对话框。
部门编辑主要是用来添加和修改部门信息。
部门信息管理对话框,是系统管理员进行的操作,如果当前用户不是系统管理员,则添加,修改,和删除等按钮是不可以用,他们没有相关的权限。
在删除部门的时候要对部门信息进行判断,如果部门是根节点,包含下一级部门和员工时不能删除。
部门信息的选择,是为了方便用户选择部门,以后的其他模块程序可以通过此程序来获取选择的部门信息。
图4部门图
主要代码如下:
BOOLCDepManDlg:
:
OnInitDialog()//初始化
{CDialog:
:
OnInitDialog();}
voidCDepManDlg:
:
AddtoTree(HTREEITEMm_node,intUpperId)
{//使用递归方法将部门添加到TreeView控件中
inti;
HTREEITEMm_child;
if(UpperId==atoi(dep.a_UID.GetAt(i)))
{m_child=m_tree.InsertItem(dep.a_DepName.GetAt(i),m_node);
m_tree.SetItemData(m_child,atol(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 考勤 管理 系统 设计 实现 论文