毕业设计(论文)-基于MFC人事管理系统设计与实现.doc_第1页
毕业设计(论文)-基于MFC人事管理系统设计与实现.doc_第2页
毕业设计(论文)-基于MFC人事管理系统设计与实现.doc_第3页
毕业设计(论文)-基于MFC人事管理系统设计与实现.doc_第4页
毕业设计(论文)-基于MFC人事管理系统设计与实现.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计(论文) 题 目基于mfc人事管理系统设计与实现 学生姓名 学 号 系 别 计算机科学系 专 业 计算机科学与技术 届 别 指导教师 职 称 讲 师 2011年 12 月 20 日目 录第1章 绪论.1 1.1 国内外动态.1 1.2 选题的意义.1 1.3 设计实现的主要目标.2 1.4 实现的技术和方法.2 1.5 论文的结构.2第2章 技术的介绍.2 2.1 vc+ 6.0的简介.2 2.2 oracle 9i的简介.4 2.3 pl-sql的简介.4第3章 系统的需求分析.43.1 现状的析.43.2 系统要解决题.5 3.3 系统要实现的功能及实现的方法.5第4章 系统的设计.5 4.1 系统设计的概要.5 4.2 系统的设计原则.6 4.3 数据库的设计.6 4.4 系统模块的设计.8 4.5 系统界面的设计.10 4.6 典型代码的设计.10第5章 系统的实现.125.1 主要功能模块的实现.125.2 用户管理中添加用户信息的具体代码实现.12第6章 系统的测试.17 6.1 测试环境.14 6.2 主要测试模块.14 6.2.1 系统登陆模块的测试.14 6.2.2 系统信息管理模块的测试.16 6.2.3 系统日志管理模块的测试.17第7章 小结.18第八章 参考文献.19 第1章 绪论1.1 国内外的动态 从上世纪60年代,计算机技术就已经进入了实用阶段,大多数企业常用手工来统计数据,这样做很费时、费力而结果又很不如意,为解决这些问题,出现了能自动出来数据的第一代管理系统。但受到当时技术条件和实际需求等多方面的因素的影响,情况不怎么好。但是,这一系统的出现给管理系统的发展带来了美好的前景,即用计算机的高效率和智能化来取代手工出来数据。计算机的高准确性来防止手工记录的误差,让大批量的数据出来成为可能。 70年代末,相继出现了第二代人事管理系统。当时计算机技术的快速发展,无论是计算机的大量普及性,还是计算机系统工具和各种数据库技术的发展,都为人事管理系统的阶段性发展提供了有效的帮助。第二代的人事管理系统基本解决上一代的部分缺陷,对人事管理系统的发展非常重要,虽然这一代的缺点很明显。90年代人事部门管理系统产生了革命性的变化。为了当时市场的需求,特别是“合理、公正、公平”的企业管理观念和企业管理水平的提升,使社会对人事管管理系统有了更高水平的要求;同时由于计算机的大量普及,数据库技术,特别是internet技术的飞速发展,使得第三代人事管理系统的出现成为必然趋势。第三代人事管理系统的特点是从人事管理的角度出发,用集中的数据库将几乎所有与人事管理相关的数据统一管理起来,形成了一个数据信息库。友好的用户界面,强有力的报表生成器、分析工具和资源的共享使得人事管理工作人员得以摆脱繁忙的日常工作,集中精力从战略的角度出发来考虑人事管理系统的规划和政策的实施。1.2 选题的意义 人事管理是企业日常工作中不可或缺的重要部分,它对于企业的决策和管理都是至关重要的。人事管理的对象是员工的基本信息。作为计算机应用的分支,人事管理系统应该能为用户充足的信息和快捷的查询手段,同时,人事部门还要提供准确的统计数据,由于人员多,数据源复杂,统计管理所工作困难,以往每做一项工作,都需要花费很多的精力和时间。统计出来的数据又不够准确。传统的管理方式有很多的缺点。随着科学技术的不断发展,计算机科学日益成熟,作为计算机的一种应用,使用计算机对人事管理,会给使用者带来很多的方便,例如查找方便、可靠性高、保密性好、成本低等。这些优点能够极大的提高人事管理的效率。同时这也是企业的科学化、正规化管理以及与世界先进管理技术接轨的基础。因此,将人事管理使用计算机处理显得十分的必要。1.3 设计实现的主要目标 设计实现的主要目标是实现对系统的管理,对数据库的管理以及对人事档案的管理等功能实现。系统管理:主要实现对管理用户的增加、修改、删除,以及权限的设定。基本数据管理:主要实现人员的基本信息的设置,包括信息类别的增加、删除等功能。人事档案管理:主要实现人员的人事档案管理,包括人事档案浏览、人事资料查询、人事资料统计等功能。主界面:该模块提供管理系统的主界面,是系统唯一的入口和出口,该界面提供用户选择并调用各子模块。数据库管理:主要实现对数据库的备份和恢复等管理1.4 实现的技术和方法 主要使用oracle(9i),pl-sql,mfc,vc+语言等技术实现目标。采用分层的方法,层层细化的原则逐步完成。1.5 论文的结构 整个论文采用多层次的结构,从整体的框架逐步到细化每一个细节,这样层层推进的方式,一步一步的完善整个论文,结构严整,层次分明,条理清晰。第2章 技术的介绍2.1 vc+ 6.0的简介 visual c+ 6.0,简称vc或者vc6.0,是微软推出的一款c+编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序。visual c+是一个功能强大的可视化软件开发工具。自1993年microsoft公司推出visual c+1.0后,随着其新版本的不断问世,visual c+已成为专业程序员进行软件开发的首选工具。虽然微软公司推出了 visual c+.net(visual c+7.0),但它的应用有很大的局限性,只适用于windows 2000、windows xp和windows nt4.0。所以实际中,更多的是以visual c+6.0为平台。特色visual c+6.0由microsoft开发, 它不仅是一个c+ 编译器,而且是一个基于windows操作系统的可视化集成开发环境(integrated development environment,ide)。visual c+6.0由许多组件组成,包括编辑器、调试器以及程序向导appwizard、类向导class wizard等开发工具。 这些组件通过一个名为developer studio的组件集成为和谐的开发环境。microsoft的主力软件产品。visual c+是一个功能强大的可视化软件开发工具。自1993年microsoft公司推出visual c+1.0后,随着其新版本的不断问世,visual c+已成为专业程序员进行软件开发的首选工具。虽然微软公司推出了visual c+.net(visual c+7.0),但它的应用的很大的局限性,只适用于windows 2000,windows xp和windows nt4.0。所以实际中,更多的是以visual c+6.0为平台。 visual c+6.0以拥有“语法高亮”,自动编译功能以及高级除错功能而著称。比如,它允许用户进行远程调试,单步执行等。还有允许用户在调试期间重新编译被修改的代码,而不必重新启动正在调试的程序。其编译及创建预编译头文件(stdafx.h)、最小重建功能及累加连结(link)著称。这些特征明显缩短程序编辑、编译及连结的时间花费,在大型软件计划上尤其显著。 缺点由于c+是由c语言发展起来的,也支持c语言的编译。6.0版本是使用最多的版本,很经典。最大的缺点是对于模版的支持比较差。现在最新补丁为sp6,推荐安装,否则易出现编译时假死状态。仅支持windows操作系统。目前发现与windows 7兼容性不好,安装成功后可能会出现无法打开cpp文件的现象。mfc从理论上来讲,mfc也不是专用于visual c+,borland c+,c+builder和symantec c+同样可以处理mfc。同时,用visual c+编写代码也并不意味着一定要用mfc,只要愿意,用visual c+来编写sdk程序,或者使用stl,atl,一样没有限制。不过,visual c+本来就是为mfc打造的,visual c+中的许多特征和语言扩展也是为mfc而设计的,所以用visual c+而不用mfc就等于抛弃了visual c+中很大的一部分功能。但是,visual c+也不等于mfc。 2.2 oracle 9i的简介2000 年 10 月在 oracleopen world 上发布,为 oracle数据库、应用服务器和开发工具引进了许多新功能。oracle9i是业界第一个完整、简单的用于互联网的新一代智能化的、协作各种应用的软件基础架构。oracle9i 实际上是指 oracle9i database, oracle 9i application server 和oracle9i developer suite的完整集成。随着软件逐渐开始转变为一种托管服务( hosted services),具有internet上的高伸缩性能的、智能化的、和可靠的oracle9i 将成为高质量的电子商务服务实现的关键软件。oracle 9i的新特征: 关键基础结构领域的新特征,可伸缩性和性能,提供端到端的安全体系结构,电子商务应用程序的开发平台,可管理性,windows集成。2.3 pl-sql的简介pl/sql也是一种程序语言,叫做过程化sql语言(procedural language/sql)。pl/sql是oracle数据库对sql语句的扩展。在普通sql语句的使用上增加了编程语言的特点,所以pl/sql就是把数据操作和查询语句组织在pl/sql代码的过程性单元中,通过逻辑判断、循环等操作实现复杂的功能或者计算的程序语言。第3章 系统的需求分析3.1 现状的分析 人事管理是企业日常工作中不可或缺的重要部分,它对于企业的决策和管理都是至关重要的。人事管理的对象是员工的基本信息。作为计算机应用的分支,人事管理系统应该能为用户充足的信息和快捷的查询手段,同时,人事部门还要提供准确的统计数据,由于人员多,数据源复杂,统计管理所工作困难,以往每做一项工作,都需要花费很多的精力和时间。统计出来的数据又不够准确。传统的管理方式有很多的缺点。随着科学技术的不断发展,计算机科学日益成熟,作为计算机的一种应用,使用计算机对人事管理,会给使用者带来很多的方便,例如查找方便、可靠性高、保密性好、成本低等。这些优点能够极大的提高人事管理的效率。同时这也是企业的科学化、正规化管理以及与世界先进管理技术接轨的基础。因此,将人事管理使用计算机处理显得十分的必要。3.2 系统要解决的问题 在遵守系统设计原则的基础上要解决的问题主要是数据库的设计与链接,系统模块的设计,系统界面的设计和典型代码的设计等问题。3.3 系统要实现的功能及实现的方法系统要实现的功能如下:a)系统管理:主要实现对管理用户的增加、修改、删除,以及权限的设定。b)基本数据管理:主要实现人员的基本信息的设置,包括信息类别的增加、删除等功能。c)人事档案管理:主要实现人员的人事档案管理,包括人事档案浏览、人事资料查询、人事资料统计等功能。d)主界面:该模块提供管理系统的主界面,是系统唯一的入口和出口,该界面提供用户选择并调用各子模块。f)数据库管理:主要实现对数据库的备份和恢复等管理。系统使用的方法有:1)文献资料法,根据研究目的和研究内容,大量查阅国内外文献资料和著作。2)资料整理分析法:对所收集到的文献、资料利用归纳、分类、综合等方法进行整理、分析、研究获得论据,确保其客观、准备、完整。第4章 系统的设计4.1 系统设计的概要系统设计要在理解需求和分析需求之后才能正确搭建.理解需求是在问题及其最终解决方案之间架设桥梁的第一步。开发者只有和客户充分理解了需求之后才能开始设计系统。否则,对需求定义的任何改进,在设计上都必须大量返工。分析需求是从客户的需求中提取出软件系统能够帮助用户解决的业务问题,通过对用户业务问题的分析,规划出系统的功能模块,即定义用例。这个步骤是对理解需求的升华,直接关系到该系统的质量。根据第三章的需求分析,企业人事管理系统采用基于客户端/服务端(c/s)模式开发,服务端采用sql server2005数据库服务器作数据处理和存储平台,客户端应用程序采用visual stdio.net 2005进行开发,开发语言选用c。用户必须使用客户端应用程序才能对服务端数据进行操作4.2 系统的设计原则a、实用性原则 要力求最大限度地满足实际工作的需要,充分考虑各业务层次、各管理环节数据处理的实用性,把满足客户生产和管理业务作为第一要素进行考虑。b、可扩展性与可维护性原则 为适应将来的发展,mis系统应该具有良好的可扩展性和可维护性。软件设计尽可能模块化、组件化、是应用系统可灵活配置,适应不同的情况。c、安全可靠性原则 应用软件与数据库系统的设计要做到安全可靠,防止非法用户的入侵。数据库的备份策略恰当,以防灾难性事故发生。d、用户界面设计原则 图形化原则:用户界面的设计应做到美观大方。用户界面应直观、明了、条理清晰。实现“傻瓜型”管理易学、易用、易管理。e、数据库设计原则 对数据库的设计因该体现一致性、完整性、安全性、可伸缩性和规范化。4.3 数据库的设计根据需求分析,本系统后台数据库共分为4个表,以下分别给出各个数据库表的简单描述1.admin(用户信息表)该表存储用户基本信息。以供登录密码验证,显示用户身份用。如表1表4-1用户基本信息字段名字段类型是否主键说明idint是定义用户编号usernamenvarchar(50)否定义用户姓名passwordnvarchar(256)否定义用户登录密码departmentidint否定义用户所属部门号2.department(部门信息表)该表存储部门基本信息。如表4-2表4-2部门信息字段名字段类型是否主键说明idint是定义部门编号namenvarchar(50)否定义部门名称3.employee(员工信息表)存储员工的基本信息。如表4-3表4-3员工基本信息字段名字段类型是否主键说明idnvarchar(50)是定义员工编号员工证号nvarchar(50)否定义员工证号姓名nvarchar(50)否定义员工姓名学历nvarchar(50)否定义员工学历婚姻状况nvarchar(50)否定义员工的婚姻状况政治面貌nvarchar(50)否定义员工政治面貌类型nvarchar(50)否定义员工类型departmentidint否定义员工所属部门的编号加入时间datetime否定义员工进入公司的时间工资real否定义员工的工资备注ntext否备注员工的其它信息4. log(日志记录表)记录用户登陆系统的基本信息。如表4-4表4-4日志信息字段名字段类型是否主键说明idint是定义日志编号valuenvarchar(100)否定义访问用户timenvarchar(100)否定义日志时间各表之间的关系(如图4.1)本图由后台oracle 9i数据库关系图向导引导下自动生成。图4.1数据库关系图4.4 系统模块的设计经过对系统的整体需求有了深刻了解之后,确定本企业人事管理系统的功能管理模块包括:1.员工基本信息管理。2.部门基本信息管理。3.用户账号管理。4.用户信息管理。5.登陆日志管理。6.员工基本信息查询管理。企业人事管理系统员工基本信息管理部门基本信息管理员工信息查询管理用户账号管理用户信息管理登陆日志管理图4.2管理模块框架图用例图标记了企业人事管理系统的所有用例,并形象地描述了各用例与用户角色之间的关系。如图4.3所示。企业人事管理系统管理工作人员员工基本信息管理员工信息查询管理用户账号管理用户信息管理管理管理登陆日志管理部门基本信息管理图4.3用例图信息管理日志管理企业人事管理系统系统管理退出修改密码注销用户信息管理员工信息管理部门信息管理对系统有了详细设计之后,确定了本企业人事管理系统的模块关系图(4.4).图4.4模块关系图4.5系统界面设计虽然说程序设计最核心的地方是程序的功能,但程序的界面设计是不可忽视的,它直接影响到程序的易用性。尤其在windows时代,一个良好的应用界面会给你的程序锦上添花,甚至有画龙点睛之韵味。用户界面:又称人机界面,实现用户与计算机之间得通信,以控制计算机或进行用户和计算机之间得数据传送得系统部件。本企业人事管 理系统严格遵守用户界面设计规范.系统坚持图形用户界面(gui)设计原则,界面直观、对用户透明,用户接触软件后对界面上对应的功能一目了然、不需要多少培训就可以方便使用本应用系统。该企业人事管理系统在界面设计中也保持了界面的一致性。一致性既包括使用标准的控件,也指使用相同的信息表现方法,如在字体、标签风格、颜色、术语、显示错误信息等方面确保一致。对系统有了深刻分析之后,确定了此企业人事管理系统的界面主要由6部分组成:1.用户登录界面2.系统信息管理界面3员工信息管理界面4.部门信息管理界面5.用户信息管理界面6.日志信息管理界面并严格根据界面设计原则,设计出了该企业人事管理系统的全部界面。4.6典型代码设计用户登陆功能的代码设计:if用户名为空消息框显示请输入用户名if密码为空消息框显示请输入密码else读取用户名,密码if用户名不存在消息框显示用户名不存在返回if密码错误消息框显示密码错误返回else显示在线用户日志记录说明:此段代码设计主要是实现合法用户的正常登陆,如果用户名为空,密码为空,或用户名不存在,都将不能正常登陆该系统.合法用户正常登陆后,系统将显示当前在线用户名,并日志记录.更改密码功能的代码设计:if不输入密码消息框显示不允许密码为空if密码与确认密码不等消息框显示两次输入密码不一致else存储新的密码退出更改密码界面说明:此段代码设计主要是实现更改密码的功能.不允许密码为空,并且密码与确认密码要相同.成功修改密码后,数据库存储新的密码,然后退出更改密码的界面.第5章 系统的实现5.1 主要功能模块的实现登陆模块的实现经过上面各节的工作后,基本上完成了一个档企业人事管理系统的开发。经过编译后,在菜单中选择调试-启动调试命令,则会出现系统的登录界面,如图5.1所示。图5.1系统登陆图输入用户名和密码,单击“确定”按钮,当身份验证成功后进入企业人事管理系统主界面.如果密码错误则会显示出错提示,如图5.2所示。图5.2系统登陆界面用户登陆成功后.进入系统主界面.在主界面中可以进行系统的管理.比如更改密码,退出和注销. 5.2用户管理中添加用户信息的具体代码实现: private void btnok_click(object sender, system.eventargs e)if(txtusername.text = )messagebox.show(请输入用户名!,错误);return;/用户名为空则提示if(txtpassword1.text = )messagebox.show(不允许空密码!,错误);return;/密码为空则提示if(txtpassword1.text != txtpassword2.text)messagebox.show(两次输入密码不相同!,错误);return;/密码与确认密码应相同,不同则提示if(combdepartment.text = )messagebox.show(请选择部门!,错误);return;/部门选择不应为空,为空则提示username = txtusername.text;password = txtpassword1.text;departmentid = (department)combdepartment.itemscombdepartment.selectedindex).id;dialogresult = dialogresult.ok;/读取用户名,密码,选择的部门idprivate void userdialog_load(object sender, system.eventargs e)fillcombobox();private void fillcombobox()combdepartment.items.clear();string sql = select id,name from department;sqldatareader rs = null;tryrs = sqlhelper.executereader(common.con,commandtype.text,sql);while(rs.read()department d = new department(rs0.tostring(),rs1.tostring();combdepartment.items.add(d); if (combdepartment.items.count 0) combdepartment.selectedindex = 0;catch(exception ex)messagebox.show(ex.message);/如异常,则显示异常信息finallyrs.close();说明:此段代码主要是实现用户管理中添加用户的功能.添加的用户名不能为空,密码与确认密码应相同,所属用户部门在下拉菜单中选择,从而完成一次添加用户过程。由于篇幅有限,仅对部分功能给出设计思路和具体实现方法。第六章 系统的测试6.1 测试环境硬件环境:普通计算机配置。软件环境:系统软件:windowsxp;工具软件:vc+ 6.0,oracle 9i6.2 主要的测试模块6.2.1系统登陆模块经过上面各节的工作后,基本上完成了一个档企业人事管理系统的开发。经过编译后,在菜单中选择调试-启动调试命令,则会出现系统的登录界面,如图6.1所示。图6.1系统登陆图输入用户名和密码,单击“确定”按钮,当身份验证成功后进入企业人事管理系统主界面.如果密码错误则会显示出错提示,如图6.2所示。图6.2系统登陆界面用户登陆成功后.进入系统主界面.在主界面中可以进行系统的管理.比如更改密码,退出和注销. 测试更改密码功能如图6.3所示,用户输入新的密码,确认密码与密码相同,点确定按钮,则完成了密码更改的操作.如下图6.3所示。图6.3更改密码界面图单击退出选项,则会弹出一个对话框,点确定则退出整个系统,点取消则会返回到成功登陆系统后的状态.如图6.4所示。图6.4退出界面图6.2.2信息管理模块信息管理模块中包含员工信息管理子模块,部门管理子模块和用户管理子模块.首先测试员工信息子模块,企业人事管理人员通过该界面实现对员工信息的管理,在窗体中,管理人员可对员工的信息进行修改,添加,查询和删除操作。当管理人员在列表中选择修改员工信息时,其出现的“编辑区”内便会显示出该员工的详细信息。在原来的信息中修改员工相关的信息,修改完毕后点击确定按钮,则完成了员工信息修改的操作,如图6.5所示。图6.5员工信息管理中修改员工信息图然后我们来测试用户管理子模块,在此模块中可以完成用户的添加,删除和修改功能.以下是用户信息的添加界面.在用户名框里写入要添加用户的用户名,密码与确认密码必须相同,最后在所属部门框里,通过下拉菜单,选择用户所属部门,从而完成添加用户的整个操作.如图6.6所示。图6.6用户信息管理图最后是部门管理子模块的测试,在此模块中,能

温馨提示

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

评论

0/150

提交评论