人事管理系统程序报告Word文件下载.docx
《人事管理系统程序报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《人事管理系统程序报告Word文件下载.docx(25页珍藏版)》请在冰点文库上搜索。
人事管理系统是一个数据库应用系统,员工的所有信息都是保存在数据库中。
本系统将主要实现以下功能:
增加记录功能、修改记录功能、删除记录功能以及刷新记录功能等等。
作为人事管理系统,我们将它作为一个数据库应用系统来进行开发制作。
数据库应用系统开发的前提是首先开发数据库和数据库中的数据表,数据库和数据表是数据库应用系统中进行不可缺少的工具,一切的开发工作都是围绕数据库和数据表的操作进行的,数据表可被VC++的数据工程和其他工程进行引用。
1.1人事管理信息系统来源
随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业人事管理势在必行。
对于大中型企业来说,利用计算机支持企业高效率完成劳动人事管理的日常事务,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件;
计算机管理所无法比拟的优点检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
1.2人事管理系统的意义
管理信息系统(ManagementInformationSystem,以下简称为MIS),是一个将企业生产和经营中的各种内、外部信息进行收集、加工、整理、传递,并有序地存储,以用于管理和决策,是企业增效的信息系统。
它能够使企业更加及时、准确、全面、详实的了解所需的信息数据。
同时管理信息系统对各种信息数据的进一步加工,能使企业领导层的生产、经营、管理决策依据更加充分,更具有合理性、科学性;
从而为社会创造出更多的价值,为企业的发展创造出更多的机会。
对于企、事业单位的人事管理系统来说,不需要大型的数据库系统。
只需要一个操作方便,功能实用,能满足本中心对数据的管理及需求的系统,能够提高人事管理的效率。
1.3预期目标
我们的设计目标就是在于开发一个功能实用、操作方便,简单明了的人事管理系统.能够录入人事的基本资料,在操作上能够完成诸如添加、修改、删除、
按条件进行查询,基本满足人事日常业务的需要。
四人合作完成了此课题的研究与开发,包括调研、分析、设计、编码、测试、文档编写等内容。
1.4面对的问题
这次课题主要的问题就是数据库的结构设计。
这里所说的数据库结构设计是指数据库中各个表结构的设计,包括信息保存在哪些表格中,各个表的结构如何以及各个表之间的关系。
人事管理虽然只有一个数据表,但仍然要进行数据链接,这其中也就带来了各成员之间的绑定问题。
1.5需解决的关键技术等
人事管理系统需解决的关键技术是与数据源进行链接,MicrosoftAccess的使用以及MFC的使用等。
2人事管理系统分析
人事管理系统主要进行对企业的人员管理,使企业的管理更加科学化、合理化、制度化、规范化;
为企业的管理水平跨上新台阶;
为企业持续、健康、稳定的发展奠定坚实基础。
进行人事管理系统需要VisualC++6.0语言环境。
2.1涉及的基础知识
2.1.1MFC编程
1)MFC简介
MFC是MicrosoftFoundationClassLibrary(微软基础类库)的缩写形式。
它是C++的类集,提供面向对象框架,利用这个框架,程序员可以轻松地创建Windows应用程序。
MFC还提供应用程序开发模型。
此模型被称为文档/视图模型。
文档/视图模型是将应用程序数据与用户界面元素分离的一种应用程序方法。
它允许这两部分程序独立存在,这样一来,程序员在更改其中一部分时,就无须大量更改另一部分。
MFC为程序员提供了更友好的C++类,使之更易于使用。
在很多情况下,MFC在幕后执行一些复杂操作,而向开发人员提供更简单的编程界面,并可以掩盖WindowsAPI的一些缺点。
1
2)AppWizard向导开发应用程序
图2-0New对话框
从File菜单中单击New(新建),显示New对话框的Projects(项目)选项卡,其中列出了VisualC++中的向导。
选择标有MFCAppWizard(exe)的图标,如图2-0所示,为项目输入一个名字。
在Location文本框中指定一个路径。
直到选择列表中的一个图标,并输入一个项目名后,单击OK按钮才能用。
步骤1
程序界面如图2-1所示。
图2-1AppWizard的第一步
AppWizard的第一步要求用户指定应用程序的类型,选择单文档界面(SDI)、多文档界面(MDI)或基于对话框的界面。
要创建不需要文档对象从磁盘文件中读取数据的简单的Windows应用程序,把标为Document/ViewArchitectureSupport(文档/视图结构支持)复选项禁用即可。
2
步骤2
在图2-2中所在的AppWizard的第二步中,要求提供项目所需要的数据库支持种类。
我们选择None,有使用数据库,Next(下一步)按钮跳过这一步,进到步骤3。
图2-2AppWizard的第二步
步骤3
在AppWizard的第三步(图2-3)中,设置程序的OLE和ActiveX支持类型。
对话框上半部分的五个单选按钮控制着AppWizard添加到程序中的复合文档支持的类型。
我们仍然选择None,单击Next按钮进到步骤4。
图2-3AppWizard的第三步
步骤4
在图2-4中所示的AppWizard的第四步中,可以控制AppWizard为程序创
3
建哪些用户界面元素。
图2-4AppWizard的第四步
AppWizard自动为程序主窗口的菜单系统、工具栏及状态栏生成代码和数据。
Normal(常规)InternetExplorerRebars单选按钮为应用程序的工具栏提供两种不同的风格。
激活Context-SensitiveHelp(上下文相关)复选项,会告诉AppWizard希望所创建的程序提供在线帮助。
这些说明清晰完整不需要再做更多的工作只需要说明那些自己添加到程序中的命令以加强帮助文件。
在AppWizard第四步的对话框的右下角有一个Advanced(高级)按钮,单击它,将显示一个标题为AdvancedOptions(高级选项)的包含两个选项卡的对话框。
步骤5
图2-5所示的AppWizard的第五步询问想创建的程序的风格、是否需要附加的源代码注释,及希望程序如何链接到MFC库。
图2-5AppWizard的第五步
4
步骤6
AppWizard的第六步列举了AppWizard将为项目创建的类,如图2-6。
图2-6AppWizard的第六步
单击Finish按钮后,AppWizard显示一个摘要表,其中列出了所选的项目特征。
单击OK会使AppWizard在摘要表底部所列的目录下创建项目。
2.1.2数据库的设计
利用MicrosoftAccess2003创建数据库及其数据表
微软公司的许多产品所支持的数据库结构和数据库驱动程序类型
均是通用的,因此,用户可以借助相关的工具创建数据库与数据表,
这里我们介绍采用MicrosoftAccess2003创建数据库及其数据表的方
法。
为此我们先定义一个“人事管理数据表”的结构,如表1.1所示。
表1.1人事管理数据表结构创建
5
字段名称
字段类型
字段大小
索引
必须填写
职工编号
数字
长整型
惟一、主索
引
是
职工姓名
文本
20
职工性别
所在部门
30
职工年龄
整型
工作时间
日期/时间
8
基本工资
单精度型
职称
简历
备注
默认
利用MicrosoftAccess2003创建数据库及其数据表的步骤如下:
(1)启动MicrosftAccess2003的MicrosoftAccess应用程序,出
现图1.8所示界面。
通过该界面就可以创建一个新的数据库或打开一个已经存在的数据库。
6
图1.8选择创建数据库的方式
(2)选择创建新数据库,即选择“空Access数据库”选项。
(3)单击“确定”按钮之后出现保存对话框,确定保存数据库文
件的位置(D:
\VC++写作案例\CH1\人事管理数据库)和文件名称之厉即创建了一个空的数据库然后出现图1.9所示窗口。
7
图1.9数据库中的数据表操作窗口
数据库只是数据表的容器,在数据库操作窗口中,用户可以打开
已经存在的数据表,也可以创建新的:
数据表+并可以对已经存在的数
据表进行删除。
创建一个数据表本质上就是创建一个数据表的结构-,
即定义数据表的字段名、宇段大小和数据类型等等。
这一切工作均是通过“设计”菜单进行的。
(4)单击“设计”菜单,可以打开一个新的数据表结构的设计器,如图1.10所示。
图1.10数据表设计器
在MicrosoftAccess2003数据表设计器中,用户可以定义数据表
的字段名称、字段类型、字段大小等内容。
数据表结构一经确定,可
以打开该数据表,在数据表中输入一些基本数据,以在后面的系统设
计中体现设计的效果(数据表记录可参考表1.2所示内容,注意,考
虑到表的宽度,表中的字段名缩写,实际运用时不能缩写,需要与数据表结构设计器中的字段名称一致)。
表1.2数据表记录内容
编号
姓名
性别
部门
年龄
100001
张成东
男
化工学院
48
85/12/12
650.00
讲师
略
100002
李英
女
机械学院
85/02/11
950.00
副教授
100003
张记成
数理学院
47
86/03/23
990.00
教授
9
200001
陈东方
生物学院
4885/12/12650.00
2.2解决问题的基本思路
建立数据库及数据表,并进行选择与之相适应的数据源。
MFC设计过程中相应的对话框中的控件进行数据绑定和对一些控件代表的编写。
2.3总体方案
使用在基础知识中数据库的设计先设计数据库和数据表。
用MFC设计应用程序框架,在创建MFC时,进入框架设计的第2步,应选择“查看数据库而不使用文件支持”,在“DataSource”里添加已经创建的数据库和数据表,即可完成。
然后制作人事管理主窗体,在里面最主要的是进行控件与数据表字段的绑定。
最后为系统实现增加、删除、排序与查询功能。
2.4功能模块框图
根据系统功能的要求,可以将系统分解成几个功能模块,它如图2-12所示。
图2-12人事管理系统功能模块图
3人事管理系统设计
人事管理系统设计主要进行四个功能:
增加记录、删除记录、排序记录、查询记录。
10
3.1算法描述
1)增加记录的功能描述(如图3-2所示):
获取指向数据库的指针->
确认对数据库的任何修改均已保存->
获取新的ID值->
通过AddNew函数来添加新记录->
把新的ID值设置为新增记录中的ID字段值->
调用Requery函数更新记录->
游标移到最后一条记录。
2)删除记录的功能描述(如图3-3所示):
删除记录->
游标移到下一条记录->
如果游标在文件尾,将它移到最后一条记录->
如果游标在文件头,则内容为空->
更新表单。
1)排序的功能描述(如图3-4所示):
在CRecordset类中有数据成员
m_strSort,可以通过设置该成员排序。
将游标指向m_strSort->
刷新数据库->
更
新表单。
4)筛选的功能描述(如图3-5所示):
为了编写查找功能的代码,增加菜单
项“按员工编号查找”(ID_Search)
,映射的COMMAND消息处理函数为
OnSearch()。
接收查询字符串->
关闭原来的表单->
将查询条件赋给过滤器->
打开经过过滤的表单->
计算满足条件的记录数->
如果没有找到相关记录,就会打开全为空的表单->
不论任何情况,都更新表单。
11
3.2详细流程图
游标在文件尾no
游标在文件头yes
yes
no
图3-2增加记录的流程图
图3-3删除记录的流程图
图3-4排序记录的流程图
12
按OK键
没有找到相关记录yes
图3-5筛选记录的流程图
4代码编写
4.1增加记录的代码
voidCMyView:
:
OnButtonaddnew()
{
CRecordset*pSet=OnGetRecordset();
//获取指向数据库的指针if(pSet->
CanUpdate()&
&
!
pSet->
IsDeleted())
//确认对数据库的任何修改均已保存
{pSet->
Edit();
if(!
UpdateData())return;
Update();
}
longm_lNewID=m_pSet->
GetMaxID()+1;
//获取新的ID值
m_pSet->
AddNew();
//添加一个新记录
m_ZGBH=m_lNewID;
//设置新的ID标识
13
//保存新的记录
Requery();
//刷新数据库
MoveLast();
//游标移到最后一条记录
UpdateData(FALSE);
//更新表单
4.2删除记录的代码
OnButtondelete()
if(MessageBox("
真的要删除吗?
"
"
删除记录"
MB_YESNO|MB_ICONQUESTION)==IDYES)
Delete();
//删除记录
MoveNext();
//游标移到下一条记录
if(m_pSet->
IsEOF())//如果游标在文件尾,将它移到最后一条记录m_pSet->
IsBOF())//如果游标在文件头,则内容为空m_pSet->
SetFieldNull(NULL);
4.3排序记录的代码
OnSORTRECO()
m_strSort="
职工编号"
;
//指定排序字段
Requery();
4.4筛选记录的代码
OnFILTERECO()
14
CDlgQueryDlgquery;
CStringvalue;
intrecCount=Dlgquery.DoModal();
if(recCount==IDOK)
value="
职工编号="
+Dlgquery.m_query+"
"
//接收查询字符串
Close();
//关闭原来的表单
m_strFilter=value;
//将查询条件赋给过滤器m_pSet->
Open();
//打开经过过滤的表单
intrecCount=m_pSet->
GetRecordCount();
//计算满足条件的记录数if(recCount==0)//如果没有找到相关记录
{MessageBox("
没有匹配的记录!
查找"
MB_ICONWARNING);
m_strFilter="
//将过滤结果给过滤器m_pSet->
else
{CStringstr1;
str1.Format("
havearecord!
recCount);
MessageBox(str1);
//不论任何情况,都更新表单
5运行与测试
编译并连接源程序,执行程序后:
1)初始界面(如图6-1所示)
2)增加记录的运行图(如图6-2所示)
15
3)删除记录的运行图(如图6-3所示)
4)排序记录的运行图(如图6-4所示)
5)筛选记录的运行图(如图6-5所示)
图6-1初始界面
图6-2
增加记录的运行图
16
图6-3删除记录的运行图
图6-4排序记录的运行图
17
图6-5筛选记录的运行图
18
结
这次课程设计结束后,不仅仅让我更加深刻地了解了MFC的使用,还让
我学会了用MicrosoftAccess创建数据库和数据表。
当然数据库的创建不仅只有一种方法,还有以下三种主要方法:
VC++创建数据工程的方法创建数据库及数据表、利用VisualBasic的可视话数据库管理器工具与数据表、利用Visual
FoxPro
创建数据库及数据表。
在这次设计中主要运用了VC++的创建和
MicrosoftAccess的创建。
这次课程设计提高了我实践操作能力。
人事管理系统是我学习计算机以来,做的第一个有实用功能的系统,做成后是很有成就感的。
由于有过一次做课程设计的经验,因此,在筛选知识,编写文档等方面就有了经验。
这次的课程设计让我认识到了我在计算机领域所学的东西还是很渺小的,所以以后就要加倍努力的学习与计算机有关的知识,作为一名软件工程专业的学生,我深刻体验到了软件个人们生活上带来的便利。
同时,我也认识到了,在设计一个程序时,时刻都要保持着冷静的心和清醒的头脑。
19