计算机系企业考勤管理系统的设计与实现.doc

上传人:wj 文档编号:5340847 上传时间:2023-05-08 格式:DOC 页数:27 大小:743.20KB
下载 相关 举报
计算机系企业考勤管理系统的设计与实现.doc_第1页
第1页 / 共27页
计算机系企业考勤管理系统的设计与实现.doc_第2页
第2页 / 共27页
计算机系企业考勤管理系统的设计与实现.doc_第3页
第3页 / 共27页
计算机系企业考勤管理系统的设计与实现.doc_第4页
第4页 / 共27页
计算机系企业考勤管理系统的设计与实现.doc_第5页
第5页 / 共27页
计算机系企业考勤管理系统的设计与实现.doc_第6页
第6页 / 共27页
计算机系企业考勤管理系统的设计与实现.doc_第7页
第7页 / 共27页
计算机系企业考勤管理系统的设计与实现.doc_第8页
第8页 / 共27页
计算机系企业考勤管理系统的设计与实现.doc_第9页
第9页 / 共27页
计算机系企业考勤管理系统的设计与实现.doc_第10页
第10页 / 共27页
计算机系企业考勤管理系统的设计与实现.doc_第11页
第11页 / 共27页
计算机系企业考勤管理系统的设计与实现.doc_第12页
第12页 / 共27页
计算机系企业考勤管理系统的设计与实现.doc_第13页
第13页 / 共27页
计算机系企业考勤管理系统的设计与实现.doc_第14页
第14页 / 共27页
计算机系企业考勤管理系统的设计与实现.doc_第15页
第15页 / 共27页
计算机系企业考勤管理系统的设计与实现.doc_第16页
第16页 / 共27页
计算机系企业考勤管理系统的设计与实现.doc_第17页
第17页 / 共27页
计算机系企业考勤管理系统的设计与实现.doc_第18页
第18页 / 共27页
计算机系企业考勤管理系统的设计与实现.doc_第19页
第19页 / 共27页
计算机系企业考勤管理系统的设计与实现.doc_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

计算机系企业考勤管理系统的设计与实现.doc

《计算机系企业考勤管理系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《计算机系企业考勤管理系统的设计与实现.doc(27页珍藏版)》请在冰点文库上搜索。

计算机系企业考勤管理系统的设计与实现.doc

毕业设计(论文)

题目:

企业考勤管理系统的

设计与实现

姓名:

XXX

指导教师:

XXX

专业:

计算机XXXX

层次:

X科

成绩评定表

指导教师评语及评分

论文评分

指导教师(签名)年月日

评审教师评语及评分

评审评分

组长(签名)年月日

综合评分

成绩

评定人

签名年月日

毕业论文(设计)任务书

题目

企业考勤管理系统的设计与实现

学生姓名

XXX

专业

计算机XXXX

层次

X科

学号

XXXXXXX

指导教师

XXX

任务书下达时间

概述:

企业员工考勤管理系统是典型的信息管理系统(MIS)其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面:

对于前者要求建立数据一致性和完整性强,数据安全性好的数据库;而对于后者则要求应用程序功能完备,简单易学易使用等特点。

要求阅读或检索的参考资料及文献(包括指定给学生阅读的外文资料):

[1]丁有和,郑进,周怡君.VisualC++实用教程[M].北京:

电子工业出版社.2008年.

[2]侯奇峰,李晓华,李莎.VisualC++数据库通用模块开发与系统移植[M].北京:

清华大学出版社.2007年.

[3]郭玲文,丁永卫,张忠将等.中文版Access2007循序渐进教程[M].北京:

科学出版社.2008年.

[4]王珊,萨师煊.数据库系统概论(第四版)[M].北京:

高等教育出版社.2008年.

[5]Peter.Rob,Elie.Semaan.数据库设计与开发[M].北京:

电子工业出版社.2005年.

目录

摘要 1

0 前言 2

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

1.1 系统目标 3

1.2系统目标的调查 3

1.3 使用软件的介绍 4

2 可行性研究及设计思想 5

2.1 可行性研究 5

2.2 开发设计思想 5

3 需求分析 7

3.1 用户需求分析 7

3.2 数据分析——概念模型设计 7

3.2.1 数据描述 7

3.2.2 数据库建模 8

3.2.3 关系描述的设计 8

4 系统设计 10

4.1 Access2007数据库的建立 10

4.2 数据库连接 11

4.3 数据库操作 12

4.4 各个模块的设计与实现 13

5 主要技术 19

5.1 主要控件代码 19

5.2 ADO数据库访问技术 20

6 结论 21

致  谢 22

参考文献 23

摘要

 

随着计算机的普及和计算机科学技术的飞速发展,人们开始越来越多地利用计算机解决实际问题。

员工考勤信息管理是企业信息管理的重要部分。

面对大量的企业考勤信息,采用人力处理将浪费大量的时间、人力和物力,且数据的准确性低。

因此,开发一个界面友好,易于操作的员工信息管理软件进行自动化处理具有较大的社会现实意义。

同时,人事考勤管理系统是一切应用系统的典范,它具有一切应用系统的特征,系统结构与现实生活紧密结合,具体直观,开发应用简单,不失一般性。

企业考勤管理系统的特点是从企业考勤管理的角度出发,用集中的数据库将几乎所有与考勤相关的数据统一管理起来,形成了集成的信息源。

友好的用户界面,强有力的报表生成工具、分析工具和信息的共享使得企业考勤管理人员得以摆脱繁重的日常工作,集中精力从战略的角度来考虑企业考勤规划和政策。

本系统是一个用vfp编写的考勤管理系统,它实现了员工考勤操作,员工加班操作,日终处理操作,部门信息,员工信息,考勤记录的管理,对考勤记录、加班记录的按条件查询,对一个月内考勤记录、加班记录、日终处理记录的统计查询。

员工信息、部门信息的报表打印以及一个月内考勤记录、加班记录、日终处理记录的统计报表打印,大大减少了公司的人力和物力。

本软件的日终维护大大减少了考勤中存在的误差,特别是数据备份功能,保证了系统数据的安全。

关键词:

VisualFoxpro6.0企业管理系统考勤管理信息系统企业员工考勤管理系统的管理数据库

企业考勤管理系统的设计与实现

0前言

当今社会,资金是企业生存的主要元素,资金的流动影响到企业的整体运作,企业员工的工资是企业资金管理的一个重要的组成部分。

而随着企业人员数量的增加,企业的工资管理也变得越来越复杂。

企业员工的人数越多,工资的统计工作就越多,工资的发放困难就越大。

传统的纸张材料的数据信息管理方式已经不适合现代企业的发展,实现工资管理的系统化、规范化、自动化,将成为现代公司管理工资的首选。

随着计算机的诞生和普及以及计算机网络的发展,我们可以开发一个工资管理系统,用计算机代替大量的人工统计和计算,完成许多工资信息的处理,同时,使用计算机还可以安全地、完整地保存大量的工作记录。

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

1.1 系统目标

系统需符合考勤工资管理制度,并达到操作直观、方便、实用、安全等要求。

能够提供详细的员工基础信息,包括自然条件信息、工资情况、来源、去向、岗位变动情况。

能够随时查阅在职、非在职人员信息,提供出职工花名册,同时为财务部提供人员变动单及月基本工资汇总情况等。

针对这些要求,系统建立了职工信息查询、职工信息删除、职工工资信息管理、职工工资信息查询4个主要信息库。

系统根据增减人员、工资变动操作自动生成记录记载变动内容,以便用户查询其变动过程。

实现了对员工信息的查询、统计、增减、变动记录等功能。

1.2系统目标的调查

富士康成都科技园是富士康科技集团是专业从事电脑、通讯、消费电子、数位内容、汽车零组件、通路等6C产业的高新科技企业。

凭借扎根科技、专业制造和前瞻决策,自1974年在台湾肇基,特别是1988年在深圳地区建厂以来,富士康迅速发展壮大,拥有90余万员工及全球顶尖IT客户群,计划到2015年发展到150万人规模,现目前为全球最大的电子产业专业制造商。

连续8年雄居大陆出口200强榜首;2010年位居《财富》2010年全球企业500强第112名。

由于集团的发展现在成都建厂并已投产。

(成都富士康工业园建成并完全投产预计将在2014年达到40万人规模)。

1.3 使用软件的介绍

(1) 应用程序开发工具

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

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

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

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

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

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

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

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

(2) 关系型数据库的选择

Access2007就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。

Access的优点在于它能使用数据表示图或自定义窗体收集信息。

数据表示图提供了一种类似于Excel的电子表格,可以使数据库一目了然[3]。

另外,Access允许创建自定义报表用于打印或输出数据库中的信息。

Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。

Access是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。

如上所述,Access作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。

2 可行性研究及设计思想

2.1 可行性研究

(1) 技术可行性

随着国内软件开发的日益发展壮大,各种中小企事业单位已具备独立开发各种类型的软件的能力,能够满足不同行业的特别的需求。

而这个系统尽管其在组织关系上存在着很大的复杂性,繁琐性,但是就整个系统的技术构成上来看,它还是属于一个数据库应用类的系统。

其基本操作还是对存在数据库进行添加、删除、查找、编辑等。

所以就单纯的数据库应用来看,暂不存在太大的技术问题。

(2) 经济可行性

对于整个系统而言,在系统未运行之前,初期投资比较大,花费相对而言比较多。

各部门必须配置电脑、服务器、打印机、传真机及相关的网络设备,但是在整个系统投入运行之后,因为现在计算机已经普及了,相关的人员培训费可以减少很多。

而同时又减少了数据的流通环节,不必要花费那么多的时间,也就是说最重要的就是提高了效率,而又保证了各项数据的准确性,也避免了工作人员的流动造成的收据丢失等问题,适应了当前的发展形式。

(3) 管理可行性

随着时代的发展,人员素质的提高,不论是对于电脑系统的基本操作还是对于系统的维护都有了一定的基础。

同时还可以配置专业的电脑维护人员来维护电脑,不必担心电脑故障问题。

(4) 开发环境可行性

我采用的VC++6.0开发工具,它首先是一个开放的协作式系统,可以和多种PC产品集成,并可以通过专用接口或ODBC接口连接许多比较常用的数据库;其次它具有可视化的开发环境,使代码的编写更为直观,并且在可视化环境下的调试和维护也相对容易。

而为方便用户界面的开发,VC++6.0提供了大量控件,这既丰富了应用程序的表达能力,也加快了项目的开发速度。

同时,它拥有多平台的开发环境,如果需要把一个平台上开发的代码移植到另外一个平台上,只要重新编译就可以了。

2.2 开发设计思想

本系统开发设计思想:

(1) 尽量利用企业现有软件环境,采用先进的管理系统方案,从而达到充分利用企业现有资源,提高系统开发水平和应用效果的目的。

(2) 系统应符合企业工资管理的规定,满足企业相关人员日常使用的需要,并达到操作过程的直观、方便、实用、安全等要求。

(3) 系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于技术维护人员进行补充、维护。

(4) 系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作。

3 需求分析

3.1 用户需求分析

随着社会现代化的发展,单位日常管理相关的信息随之急剧增加,传统的人力手工管理模式越来越不能适应现在的工作效率和准确性。

在这个高节奏的信息时代,安全、准确的管理信息系统是每个管理者所需求的。

建立一个适应现代化社会经济体制的管理信息系统势在必行。

在大量地调查和研究的基础上,包括访问用户,了解财务系统模型,熟悉现有的工作流程和数据流程等工作,采集和分析有关资料和、报表和业务规定,进行了财务管理软件的开发。

在整个系统的设计和开发过程中,积极采纳最终用户的意见。

对于开发财务管理系统进行了认真仔细的分析,在实施过程中不断地加以修改和完善,使这套财务管理系统能更好地运行。

该系统的具体任务就是设计一个电脑公司财务的数据库管理系统,由计算机来代替人工执行一系列诸如增加、删除、修改、查询、统计及打印等操作。

这样就使办公人员以轻松快捷地完成财务管理的任务。

3.2 数据分析——概念模型设计

3.2.1 数据描述

(1) 静态数据

静态数据是系统内部有关的数据结构与操作规程。

具体可包括:

员工基本信息表(PersonInfo)、员工工种情况表(Department)、员工考勤情况表(Attendance)、员工缺勤情况表(Absent)、员工加班情况表(Duty)、部门表(Dept)、工资表(PersonPay)。

(2) 动态数据

动态数据包括程序运行时输入和输出的数据,具体是数据库的各个表的各个不同元组与属性值.

(3) 数据库描述

根据上面的分析就可以设计出能够满足用户需求的各种数据实体,以及它们之间的关系,为后面的逻辑结构设计打下基础,这些实体包括各种具体信息,通过相互之间的作用形成数据的流动。

概念型数学模型是一种面向问题的数学模型,是按用户的观点来对数据和信息建模。

最常用的表示概念数据模型的方法是实体——联系方法(Entity——RelationshipApproach)。

这种方法用E—R图描述现实世界中的实体,而不涉及这些实体在系统中的实现方法,该方法又称E—R模型。

E—R图中共有三种符号:

实体、属性和联系。

通常实体用矩形来表示,属性用椭圆或圆角矩形来表示,联系用菱形来表示[4]。

联系又分为一对一、一对多和多对多三种类型。

3.2.2 数据库建模

经过上面的分析,能够提取出以下几个实体:

员工、工种、考勤情况、月工资等。

它员工姓名

所在部门

员工编号

员工

所属工种

性别

们的实体图如图3.1至3.2所示。

图3.1 员工信息实体图

工种

基本工资

工种编号

工种名称

部门名称

图3.2 工种实体图

3.2.3 关系描述的设计

根据以上各实体图和考勤管理系统的E—R图,经过转换,可以得出各个关系。

其转换规则为:

首先每个实体应转化为一个关系,有属性的联系也应转化为一个关系,然后需要给出每个关系的关键字。

根据以上规则,直接给出所有关系。

员工基本信息(PersonInfo),见表3.1。

表3.1 员工基本信息

员工编号

员工姓名

性别

所在部门

所属工种

工种编号

PersonID

PersonName

PersonSex

Dept

Job

DeptNO

部门信息(Department),见表3.2。

表3.2 部门信息

工种编号

所在部门

工种名称

基本工资

DeptNO

Dept

Job

Pay

员工考勤情况(Attendance),见表3.3。

表3.3 员工考勤信息

员工编号

员工姓名

执勤天数

加班天数

缺勤天数

所在月份

PersonID

PersonName

AtDays

DutyDays

AbDays

AtMonth

员工缺勤情况(Absent),见表3.4。

表3.4 员工缺勤情况

员工编号

员工姓名

缺勤天数

请假类型

所在月份

备注

扣除工资

PersonID

PersonName

AbDays

AbReason

AbMonth

AbRemarks

AbPay

员工加班情况(Duty),见表3.5。

表3.5 员工加班情况

员工编号

员工姓名

加班天数

所在月份

加班工资

PersonID

PersonName

DutyDays

DuMonth

DutyPay

员工工资信息(PersonPay),见表3.6。

表3.6 员工工资信息

员工编号

员工姓名

工种

编号

基本工资

加班

工资

扣除

工资

总工资

月份

PersonID

PersonName

DutyNO

BasePay

DutyPay

AbPay

SumPay

PMonth

在得出以上关系后,根据关系数据库的理论要求,需要对所有关系进行关系规范化,至少要求各个关系达到第三范式的要求,按照第三范式的要求对比以上各个关系,在所有关系中都不存在非主属性对关键字的部分依赖,即满足第三范式。

4 系统设计

4.1 Access2007数据库的建立

为了在操作过程中使用数据的方便,选用Access作为数据库,启动Access建立一个空白的数据库:

(1) 打开Access2007,点击【空白数据库】,为数据库命名Attendance,选择好存储路径,单击创建,如图4.1所示。

图4.1 数据库创建图

(2) 在工资数据库中创建部门信息表,月工资表,管理员,考勤记录,员工信息表等表,如图4.2所示。

图4.2 考勤数据库图

4.2 数据库连接

首先,需要在stdafx.h中添加如下代码:

#import"C:

\ProgramFiles\CommonFiles\System\ado\msado15.dll"no_namespacerename("EOF","adoEOF")

然后,在CAttendanceApp中的InitInstance函数下添加如下代码:

AfxOleInit();

HRESULThr;

m_pConnection.CreateInstance(__uuidof(Connection));

try

{

m_pConnection->ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=Attendance.mdb";

m_pConnection->ConnectionTimeout=10;

hr=m_pConnection->Open("","","",adModeUnknown);

if(hr!

=S_OK)

AfxMessageBox("无法连接到数据库,请确定数据库路径正确!

");

}

catch(_com_errore)

{

CStringerrormessage;

errormessage.Format("连接数据库失败!

\r\n错误信息:

%d",e.ErrorMessage());

AfxMessageBox(errormessage);///显示错误信息

}

利用externCAttendanceApptheApp;在所有的操作页面类中声明一个外部的对象,就可以对数据库进行操作了。

4.3 数据库操作

要对数据库进行操作,首先需要声明一个数据集,以便用它操作,例如:

_RecordsetPtrm_pRecPer;

m_pRecPer.CreateInstance(__uuidof(Recordset));///进行实例化…

打开指定记录集:

try

{

m_pRecPer->Open("select*fromPersonInfo",_variant_t((IDispatch*)theApp.m_pConnection,true),adOpenDynamic,adLockOptimistic,adCmdText);

}

catch(_com_errore)

{

CStringstr;

str.Format("数据库打开失败!

\r\n错误信息:

%s",e.ErrorMessage);

AfxMessageBox(str);

}

向表中添加信息(打开记录集方法同上,更换所需要的SQL语句即可):

m_pRecPer->AddNew();

m_pRecPer->PutCollect("PersonID",(_variant_t)(dlg.m_strNO));

m_pRecPer->PutCollect("PersonName",(_variant_t)(dlg.m_strName));

m_pRecPer->PutCollect("PersonSex",(_variant_t)(strSex));

m_pRecPer->PutCollect("Dept",(_variant_t)(dlg.m_strDept));

m_pRecPer->PutCollect("Job",(_variant_t)(dlg.m_strJob));

m_pRecPer->Update();

m_pRecPer->Close();

修改表中信息:

m_pRecPer->PutCollect("PersonID",(_variant_t)(dlg.m_strNO));

m_pRecPer->PutCollect("PersonName",(_variant_t)(dlg.m_strName));

m_pRecPer->PutCollect("PersonSex",(_variant_t)(strSex));

m_pRecPer->PutCollect("Dept",(_variant_t)(dlg.m_strDept));

m_pRecPer->PutCollect("Job",(_variant_t)(dlg.m_strJob));

m_pRecPer->Update();

m_pRecPer->Close();

删除选中信息:

m_pRecPer->Delete(adAffectCurrent);

m_pRecPer->Update();

m_pRecPer->Close();

4.4 各个模块的设计与实现

(1) 登陆模块

系统登录模块用于验证用户登录系统时输入的用户名,密码是否正确,只有合法的用户才可以进入系统。

为了实现此功能,需要在数据库中加入表Login,表内容见表4.1:

表4.1 Login表内容

字段名称

数据类型

必填字段

相关属性

备注

ID

自动编号

——

主键

userName

文本

字段大小=12

用户名

userPassword

文本

字段大小=16

密码

实现验证用户名,密码功能的代码如下:

CStringstrName;

strName.Format("selectuserPasswordfromLoginwhereuserName='%s'",m_strName);

BSTRbstrSql=strName.AllocSysString();

try

{

m_pRecordset->Open(bstrSql,_variant_t((IDispatch*)theApp.m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);

}

catch(_com_errore)

{

CStringstrOpen;

strOpen.Format("数据库打开失败!

\r\n错误信息:

%d",e.ErrorMessage);

AfxMessageBox(strOpen);

}

if(!

m_pRecordset->adoEOF)

{

if(m_strPass==(_bstr_t)m_pRecordset->GetCollect("userPassword"))

CDialog:

:

OnOK();

else

AfxMessageBox("密码不正确!

");

}

else

AfxMessageBox("该用户不存在!

");

该系统还实现了注册

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

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

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2