C++人事管理系统设计报告_第1页
C++人事管理系统设计报告_第2页
C++人事管理系统设计报告_第3页
C++人事管理系统设计报告_第4页
C++人事管理系统设计报告_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、面向对象程序设计课程设计报告选题名称: 人事管理系统 系(院): 专 业: 计算机科学与技术班 级: 计算机1071 姓 名: 学 号: 指导教师: 学年学期: 学年 第 1 学期2008年 12 月 28 日19设计任务书课题名称人事管理系统设计目的1. 调研并熟悉人事管理系统的基本功能、数据流程与工作规程;2. 学习数据库创建、基于vc+集成环境的数据库编程技术;3. 通过实际编程加深对基本原理的理解,提高实践能力;4. 学习开发资料的收集与整理,学会撰写课程设计报告。实验环境1. 微型电子计算机(pc);2. 安装windows 2000以上操作系统,visual c+6.0开发工具。任

2、务要求1. 利用课余时间去图书馆或上网查阅课题相关资料,深入理解课题含义及设计要求,注意材料收集与整理;2. 在第15周末之前完成预设计,并请指导教师审查,通过后方可进行下一步工作;3. 本课题主要实现增加记录功能、修改记录功能、删除记录功能以及刷新记录功能等。4. 结束后,及时提交设计报告(含纸质稿、电子稿),要求格式规范、内容完整、结论正确,正文字数不少于3000字。工作进度计划序号起止日期工 作 内 容12008.12.222008.12.22在预设计的基础上,进一步查阅资料,完善设计方案,形成书面材料。22008.12.232008.12.24设计总体方案,构建绘制流程框图,编写代码,

3、上机调试。32008.12.232008.12.26测试程序,优化代码,增强功能,撰写设计报告。42008.12.272008.12.28提交软件代码、设计报告,参加答辩,根据教师反馈意见,修改、完善设计报告。指导教师(签章): 年 月 日 摘要:人事管理是任何企事业单位都需要进行的一项工作,开发制作人事管理系统具有现实的社会意义。现代管理学中被称作人力资源管理的就是人事管理。为了适应现代企业或公司经营发展的需要,人事管理也从以前的手工管理逐渐被规范化的管理信息系统所代替在现代管理中,运用现代化的科学方法,对管理系统中的人事进行合理的组织、调配、培训,协调人的因素与物的因素的关系,使两者经常保

4、持最佳比例,从而保证人主观能动性得到最大的发挥,也就是人尽其才、事得其人、人事相宜的管理状态。人事管理的任务是要协调人与人的关系、组织成员与组织目标的关系,创造有益于组织也有益于组织成员个人的环境,使管理系统的目标与组织成员个人的目标结合起来,充分调动起全体组织成员的积极性。人事管理制度在企业人事制度中的地位,正如宪法在诸法律中的地位一样。人事管理制度是基础性、概括性和原则性的制度,它规定了企业人事制度的基本框架。在这个大前提下,制定相应的实施细则。关键词:人事管理;数据库;数据表;数据源。目 录 1 课题综述11.1人事管理系统的概述11.2人事管理系统的特点11.3人事管理系统的开发11.

5、4预期目标11.5面对的问题22 系统分析22.1涉及的基础知识22.1.1如何创建一个数据库22.1.2应用程序框架资源22.1.3应用系统框架的文件分析32.2功能模块框图42.3总体方案43 人事管理系统设计43.1 硬件连接(图)53.2 算法描述53.3 详细流程图54 代码编写75 程序调试85.1 调试过程与步骤96 运行与测试9总 结15致 谢16参考文献17面向对象程序课程设计报告1 课题综述 1.1人事管理系统的概述伴随着计算机科学技术的突飞发展,计算机在企事业单位管理中的应用开始普及,利用计算机对企业档案的进行管理已经势在必行。人事管理系统是现代化企业管理工作中不可缺少的

6、一部分,是一切数据库应用系统的典范,具有数据库应用系统的特征,系统结构与现实生活紧密结合,具体直观,是数据库应用开发中经常进行例证的经典实例。是适应现代企业制度要求,推动企业劳动人事管理走向科学化,规范化的必经之路。1.2人事管理系统的特点 人事管理就是人们通常说的人事工作,在现代的管理学中被称作“人力资源管理”。在现代企事业单位管理中,运用现代化的科学方法,对管理系统中的人事进行合理的组织、调配、培训,协调人与物之间的关系,使二者之间保持最佳比例,从而保证人的主观能动性得到最大程度的发挥,也就是每一个人都能发挥自己的才能,做到人尽其才、事得其人、人事相宜的管理状态。人事管理的任务主要是要协调

7、人与人的关系、组织成员与组织目标之间的关系,使管理系统的目标与组织中成员的目标结合起来,充分调动起来组织中全体成员的积极性。1.3人事管理系统的开发 开发人事管理系统的目的就是要帮助企业的人力资源部门提高工作效率,实现企业人事信息管理的系统化、自动化和规范化。这个人事管理系统最终实现的主要功能如下:系统部分:主要能完成本人事管理系统的维护工作。员工基本信息部分:主要能够完成员工基本信息的管理和处理。数据库管理部分:主要能完成数据库的管理与维护。1.4预期目标希望通过本次课程设计能更好的掌握c+这门计算机语言,对于mfc编程和数据库的设计能有更深刻的认识和理解。人事管理系统可以应用于支持企业完成

8、劳动人事管理工作,这个系统有如下三个方面的目标:一是支持企业实现系统化、规范化和自动化管理。二是支持企业能更高效率的完成劳动人事管理,包括职工的姓名、性别、年龄等基本信息,便于增加、查找和删除等等。三是能够支持企业更好的进行劳动人事管理以及相关方面的重要科学决策。1.5面对的问题我对数据库的设计掌握的并不是十分牢固,其中还存在着一些问题,比如数据库设计时其中一些关键属性的设置,数据源的创建以及数据源与数据库的连接等等。本次设计中还遇到一些问题,比如:有些内容不能在界面上显示,因为该项内容的数据无法实现绑定,所以工作时间就无法显示。做该系统的实现过程较繁琐,有待开发简单化的程序。2 系统分析2.

9、1涉及的基础知识2.1.1如何创建一个数据库创建vc+的方法有很多,主要可以使用的方法有以下几种:1)利用vc+创建数据工程的方法创建数据库及其数据表。2)利用microsoft acess创建数据库及数据表。3)利用 visual basic的可视化数据管理器工具创建数据库与数据表。4)利用visual foxpro创建数据库与数据表。2.1.2应用程序框架资源:在视图管理器中,资源是以类并以文档形式保存在视图管理器中的,因此用户可以根据需要打开并显示资源文件。1)加速键(快捷键)集合器accelerator双击该键,会出现全部加速键的定义文档,用户可以根据需要对每个加速键钮进行新的属性设置

10、。2)about窗体往往每个应用系统中都需要制作一个窗体,向导生成的重新定义,以满足系统开发的个性化需要。3)oido_my_form它是系统在创建视图文件中自动生成的,它是系统开发的地主要对象,需要用户其他对象加载到其中。4)按钮图标资源向导过程为应用系统自动加入图标文件,图标文件可以对对话框进行修饰或作为标志。双击图标资源节点,选择图标文件,可对图标进行编辑和替换。5)菜单资源工程向导自动为用户创建了一个菜单资源,用户可以根据这一菜单资源创建新的菜单或修改已生成的菜单。一切的资源均可通过它的属性进行从新的定义和设置,通过编辑器用户可以进行菜单编辑。6)资源的字符串数据表在为应用程序进行向导

11、配置时,一并生成了一切对应的资源文件,同时工程还配置了一个资源字符串数据表,它记录了系统全部资源的定义,功能与作用等。7)工具条资源该资源为应用系统主窗体引入了一个工具条,用于对一些菜单功能进行快捷执行。8)系统版本信息2.1.3应用系统框架的文件分析1)mainfrm.cpp源文件该文件主要说明程序主框架中的类、头文件声明和对主框架的实现过程的记录。2) stdafx.cpp源文件该文件主要包括标准的文件,如预定义头文件等。3)人事管理系统.cpp文件该文件主要用于为工程定义类的文件。4)人事管理系统doc.cpp文件该文件主要是用于记录类的文件。5)人事管理系统set.cpp文件该文件主要

12、用于说明关于类的设置,它将说明数据环境,数据连接等的的设置过程。6)人事管理系统view.cpp文件该文件可以对类进行查看并查看它的实现过程。2.2功能模块框图人事管理系统职 工的基本信息输入增加职工信息记录排序职工信息记录筛选职工信息记录删除职工信息记录图2-1 功能模块框图2.3总体方案创建人事管理数据库,启动microsoft access,在文件菜单上点击“新建”,在弹出的对话框中选择新建数据库的保存路径并填写新建数据库的名称,单击“完成”创建一个空的数据库。创建人事管理应用程序框架,我们要用vc+创建人事管理系统的应用程序框架。首先打开vc+,选择“文件/新建”菜单项,在出现的对话框

13、选择新建工程类型。在工程列表中选择mfc app wizard(exe)工程类型,创建一个应用程序框架。最后再制作人事管理主窗体,为系统实现增加,删除,排序与查询功能3 人事管理系统设计人事管理系统设计主要包括四个功能:增加记录、删除记录、排序记录和查询记录。3.1 硬件连接(图)mfc对odbc的封装(如图3-1所示):图3-1 硬件连接3.2 算法描述增加记录的功能描述:获取指向数据库的指针-确认对数据库的任何修改均已保存-获取新的id值-通过addnew函数来添加新记录-把新的id值设置为新增记录中的id字段值-调用requery函数更新记录-游标移到最后一条记录。删除记录的功能描述:删

14、除记录-游标移到下一条记录-如果游标在文件尾,将它移到最后一条记录-如果游标在文件头,则内容为空-更新表。排序的功能描述:在crecordset类中有数据成员m_strsort,可以通过设置该成员排序。将游标指向m_strsort-刷新数据库-更新表单。筛选的功能描述:为了编写查找功能的代码,增加菜单项“按员工编号查找” (id_search) ,映射的command消息处理函数为onsearch()。接收查询字符串-关闭原来的表单-将查询条件赋给过滤器-打开经过过滤的表单-计算满足条件的记录数-如果没有找到相关记录,就会打开全为空的表单-不论任何情况,都更新表单。3.3 详细流程图确认对数据

15、库的任何修改自己保存获取指向数据库获取新的id值添加新记录,并保存更新记录把游标移到最后一记录游标移到最后一条记录删除记录yes游标移到下一条记录记录内容为空更新表单游标在文件尾游标在文件头noyesno图3-2 增加记录的流程图 图3-3 删除记录的流程图将游标指向m_strsort刷新数据库更新表单图3-4 排序记录的流程图出现有此消息的对话框接收查询字符串更新表单将查询条件赋给过滤器计算满足条件的记录出现无此记录的消息对话框打开过滤器的表单按ok键没有找到相关记录noyesnoyes图3-5 筛选记录的流程图4 代码编写最后需要为创建好的各个按钮的事件响应函数添加代码。“增加记录”命令按

16、钮事件响应代码:void cmyview:onaddreco() m_pset-addnew(); /创建并初始化一个新的记录updatedata(false); /用后面的数据覆盖前面的数据“删除记录”命令按钮事件响应代码:void cmyview:onrecodele() m_pset-delete(); /删除当前记录m_pset-movenext(); /移动到下一个记录if(m_pset-iseof() /如果当前记录为空,则返回0否则返回1m_pset-movelast(); /移动到最后一个记录if(m_pset-isbof() /如果当前记录为空,则返回1否则返回0m_pset

17、-setfieldnull(null); updatedata(false);“排序记录”命令按钮事件响应代码:void cmyview:onsortreco() m_pset-m_strsort=职工编号;m_pset-requery();updatedata(false);“查询记录”命令按钮事件响应代码:void cmyview:onfilterreco() cdlgquery dlgquery; /调用dlgquery对话框cstring value;if(dlgquery.domodal()=idok) /判断dlgquery对话框返回值是否为idokvalue=职工编号 = +dl

18、gquery.m_query;m_pset-m_strfilter=value;m_pset-requery();updatedata(false);5 程序调试在做人事管理系统的过程中,出现的新问题和一些想法,经过同组人的探讨,找到了解决的方案,并在程序得以实现。而且在程序运行过程中总会有这样那样的错误,尤其是c+程序设计,很小的错误都会对程序运行结果产生巨大的影响,在本次课程设计中对于调试中遇到的很多问题都是代码打错,没有加头文件,或是类没有定义等等。5.1 调试过程与步骤编译并连接源程序,执行程序后,出现的问题是:1)第一次在实现增加记录功能的过程中,发现了它没有增加记录的功能。后来借助

19、老师上课的ppt,达到了该功能的要求。这里面还有一个问题就是必须添加成员函数getmaxid,来获取id号。需要在cmyset类中添加这个函数,函数类型为长整型,其代码如下。long cmyset:getmaxid()movelast();/移到最后一条记录return m_zgbh; /返回该id值2)在删除记录中,代码虽然没有错误,但不够完善,经过同组人的研究,我们决定添加消息对话框,以防删错。在程序里面添加messagebox函数,具体代码如下。messagebox(真的要删除吗?,删除记录,mb_yesno|mb_iconquestion)=idyes3)在筛选记录中,首先最大的问题是

20、,没有添加头文件。代码都是在myview.cpp中,即操作是在视图中完成的。但筛选条件是在“筛选”对话框中输入的,在视图中接收了对话框的输入内容,因此,需要在myview.cpp中加入如下代码。#include dlgquery.h4)在多次运行过程中,还发现了一次问题,那就是换了一台机子后,就会发现没有数据源,这就需要我们重新进行数据源的添加。具体的方法如下:在基础知识数据库的设计中,在创建数据库工程的步骤(9)中,应单击select按钮即可选择我们所需的数据库。数据源名必须与你所创建的数据库的名称一致。6 运行与测试编译并连接源程序,执行程序后1)初始界面(如图6-1所示)2)增加记录的运

21、行图(如图6-2所示)图6-1初始界面图6-2 增加记录的运行图3) 删除记录的运行图(如图6-3所示)4) 排序记录的运行图(如图6-4所示)5) 筛选记录的运行图(如图6-5所示) 图6-3删除记录的运行图 图6-4排序记录的运行图图6-5筛选记录的运行图总 结经过这一个星期的课程设计实践,我在刘作军老师的指导下,顺利完成“人事管理系统”课程设计,而且学到了好多新的东西,明白了实践的重要性。 一、 对实验原理有更深的理解 通过该课程设计,掌握了什么是人事管理,什么是数据库,怎样建立数据库,并对其进行连接,了解了其各阶段的基本任务,熟悉了程序总流程框图,了解了程序的生成过程、构造工具及其相关

22、的技术对课本上的知识有了更深的理解,mfc有两组数据库类:一组是基于odbc的,一组是基于dao的mfc是用消息映射表来实现消息与消息相应函数之间的映射的。mfc通过四个宏来声明和实现消息映射表。mfc的这种表驱动的机制使消息处理结构变得更加清晰,明了。mfc应用程序框架 应用程序类,框架窗口类,试图类,文档类构成了应用程序的框架,框架的功能是通过各类之间的协调工作实现的类。 二、 对该理论在实践中的应用有深刻的理解 通过把该算法的内容,算法的执行顺序在计算机上实现,知道和理解了怎样制一个人事管理系统, 对该理论在实践中的应用有深刻的理解 。三、 激发了学习的积极性 通过该课程设计,全面系统的

23、理解了数据库创建和连接以及mfc编程的原理,程序构造的一般原理和基本实现方法。把死板的课本知识变得生动有趣,激发了学习的积极性。在这次课程设计中,我就是按照实验指导的思想来完成。加深了mfc编程的内部功能及内部实现,培养实践动手能力和程序开发能力的目的。致 谢非常感谢学校和我们计算机工程系给我这个机会,给我们任务做课程设计,因为只有当我们自己真正的去实践才会学得更多的东西。让我们能够运用所学知识,从中发现自己的不足,提高自己的专业知识。本次设计系里为我们免费地提供了机房,老师为我们预约好上机时间,为我们创造了一个良好的学习和查阅资料的环境,这些有利的坏境加强了我们做课程设计的责任心,同时就在无形中提醒我们一定要好好把握这次机会,认真做好自己的课程设计。不管做什么事都不可能一帆风顺,我们做这次的课程设计当然也不例外。特别在我们程序调试和运行时,我们总会出现这样那样的错误,而有些错误我们自己是很难找出出错原因的,这时我们就要请教老师或者找同学帮忙。老师和同学不管何时都是耐心地帮助我们,所以在此我要感谢于长辉老师,感谢王春和丁甜甜等同学。是他们在我们困难时解决了我们的困难,是他们给了我们继续下去的决心,否则我们

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论