c++-课程设计--人力资源管理系统(共20页).doc
精选优质文档-倾情为你奉上课 程 设 计 报 告 课程名称:面向对象程序设计C+ 设计题目:人力资源管理系统 专 业:计算机科学与技术 姓 名: 学 号 指导教师:李 晓 虹2016 年 1 月 10 日摘要:现在人力资源的管理趋向于复杂化和多元化,随着计算机的广泛应用,越来越多的企业均采用了计算机化的管理模式。查询、修改、录入、删除等基本操作都采用了计算机的数据库技术。比起以前使用卡片的方法有了很大的进步,方便管理,易于更新,极大的方便了员工信息的管理工作。关键词:员工信息;数据库; 系统维护Abstract:The management of the human resource of the university of now information trends to complicate and pluralism, with the wide application of the computer, more and more universities have adopted the management mode of computerization。Have inquired about, revised, input, deleted etc. and operated and adopted the database technology of the computer basically. Using the method of the card to been greatly improved compared with before, it is convenient to manage, easy to upgrade, the great management of facilitating workers information.Key words:system maintain, database0引言21世纪的今天,计算机技术飞速发展,计算机在企业管理中已经广泛普及,利用计算机实现企业人事管理已成为必然趋势。人事管理系统是一个公司不可缺少的部分,它的内容对于公司的决策者和管理者来说都至关重要, 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。尤其是对于大中型企业来讲,利用计算机支持企业高效率完成劳动人事管理的日常事务,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必备条件;计算机管理所无法比拟的优点有检索迅速、可靠性高、查找方便、保密性好、存储量大、成本低以及寿命长等。这些优点能够极大地提高人事管理的效率,也是企业的科学化、正规化管理与世界接轨的重要条件。而不同的企业具有不同的人事管理制度,这也就决定了不同的企业需要不同的人事管理系统。1.技术准备1.1 Visual C+ 6.0开发工具本系统是基于Visual C+ 6.0 编程环境而开发的,利用Microsoft SOL Server 2008建立数据库,通过ADO访问数据库。1.2 Visual C+ 6.0简介本学生信息管理系统是基于Visual C+ 6.0环境而进行开发的。Visual C+ 6.0 是Microsoft Visual Studio 6.0 系列组件之一,是微软公司推出的一款C+集成开发工具。Visual C+是现在最为通用的开发工具之一,它提供了相当齐备的类库和友好的界面,为数据库开发提供了比较好的开发环境,提供了多种数据库访问技术,可视化的编程环境,使操作更加直观简便,因此借助Visual C+可以开发出功能强大、速度快、应用广泛并且占用资源少的中小型数据库信息管理系统。1.3 C+语言简介 C+语言是一种优秀的面向对象程序设计语言,它在C语言的基础上发展而来,但它比C语言更容易为人们学习和掌握。C+以其独特的语言机制在计算机科学的各个领域中得到了广泛的应用。面向对象的设计思想是在原来结构化程序设计方法基础上的一个质的飞跃,C+完美地体现了面向对象的各种特性。C+所提供的抽象机制能够被应用于那些对效率和可适应性具有极高要求的程序设计任务之中。 C+的一个目标就是提供更易用并具有一定承受能力的设计思想和程序设计技术,进一步提高程序的质量。然而,C+的设计目标总还是在于要支持一定范围内的各种程序设计风格和设计思想。这与一般在语言设计方面的观点形成一定对比。一般在语言设计上总是试图将所有系统内建于单独一个被重点支持的、带有强制性的程序设计风格之中(或称典范paradigm)。C+提供了class、namespace和访问控制,使设计决策的各异化(locality)成为可能。1.4 ADO技术简介 ADO 是ActiveX 数据对象(ActiveX Data Object), 是Microsoft开发数据库应用程序的面向对象的新接口。ADO 访问数据库是通过访问OLE DB 数据提供程序来进行的, 提供了一种对OLEDB 数据提供程序的简单高层访问接口。ADO 库包含三个基本接口: _ConnectionPtr 接口、_CommandPtr 接口、_RecordsetPtr 接口。ADO 技术对对象之间的层次和顺序关系要求不是太严格。这种模型有力地简化了程序设计, 增强了程序的灵活性。1.5 SQL Server数据库Microsoft SOL Server 2008是基于客户机/服务器(Client/Server)模型的关系型数据库管理系统(DBMS)4,其在电子商务、数据仓库和数据解决方案等应用中起着重要核心的作用,为企业的数据管理提供了强大的支持。Microsoft SOL Server 2008在Microsoft SOL Server 2005的基础上进行开发的,不仅对原有的功能进行了改进,而且还增加了许多新的特性,如新添了数据集成功能,改进了分析服务、报告服务,以及Office集成等。SOL Server 2008将提供更加安全、更具延展性、更高的管理能力,从而成为一个全方位企业资料、数据管理平台。2.系统总体设计作为各部门运作的枢纽人事管理部支配着一个部门高效、有条不紊的发展。面对着庞大的信息量,传统的人工方式管理会导致人事部管理上的混乱,人力与物力过多浪费,各部门的规模的扩大,从而使人事部负担过重,影响人事部门的运作和管理,因此,必须制定一套合理、有效,规范和实用的人事管理系统,对整个部门资料进行集中统一的管理。我们的目标就是在于开发一个功能实用、操作方便,简单明了的人事管理系统。提高人事管理工作效率,做到信息的规范管理,科学统计和快速查询,让人事部门更好的为公司、为社会服务。使用该人事管理系统,便于公司领导掌握人员的动向,及时调整人才的分配。本系统主要是录入人事的基本资料,在操作上能够完成诸如添加、修改、删除、按各种条件进行查询、新用户的设置及密码修改等方面的工作,基本满足人事日常业务的需要。通过现代计算机技术与企业管理相结合,实现人事管理系统的科学化、信息化、现代化,并且能够适合于一般人群使用。2.1 系统需求分析随着科学技术的不断提高,计算机科学日渐成熟,人事管理系统其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对人事信息进行管理,有着手工管理所无法比拟的优点。这些优点能够极大地提高人事管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。根据以上情况,决定实施建立人事信息管理系统,因为人事信息管理是一个企业单位不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,所以人事信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。可以解决一直以来人们使用传统人工的方式管理文件档案存在着的许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着计算机技术在企业管理中应用的普及,利用计算实现企业人事档案的管理势在必行。当前企业信息管理系统正在从US结构向B/S结构转移,但是由于安全性等方面的因素,C/S结构的管理信息系统仍然占据企业管理信息系统的主流。人事管理系统是现代企业管理工作不可缺少的一部分,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件。人事信息管理系统是针对企业人事处的大量业务处理工作用计算机进行全面现代化管理,必须具有以下基本功能:(1)系统需要对不同的用户给出不同的权限,比如,公司董事长应该可以看到公司的所有信息;公司的人事管理者只能进行部门管理、员工管理、考勤管理和考评管理,他不能看到各个员工的工资信息;公司的财务管理者不能进行部门管理、员工管理、考勤管理和考评管理,他只能看到和操作各个员工的工资信息;公司还有一个超级管理者,添加用户,并为其余人员分配各种权限。(2)系统在公司新成立部门之后,人事管理者负责建立主管和人数等各个部门的基本信息,如果取消了一个部门,人事管理者负责删除,如果部门人数等信息有变化,人事管理者负责更新,以便它反映最真实的情况。管理者可以查询各部门的主管和人数等信息。(3)系统在员工进入公司时,人事管理者为员工建立人事档案,人事档案应该包含员工报到的时间、员工姓名、员工所在部门和员工的家庭成员和学习/工作经历以及其他基本信息等,如果员工获得了晋升和调岗,可以对用户的基本信息进行修改,另外,可以方便的查询和浏览员工的基本信息,浏览时,通过双击员工的基本信息,可以看到员工的家庭成员和学习/工作经历。(4)员工到公司上班时应该刷卡签到,签到的信息能够自动转到人力资源管理系统:离开公司时刷卡,下班的信息也能够自动转到人力资源管理系统。如果办事外出或者出差应由上级领导确认考勤情况。缺勤或者迟到按一定数额罚款。加班后可以调休,也可以发放相应的工资。(5)员工的考评由部门主管和人事人员决定,通过部门主管的评价来得到一个系数,通过人事人员的评价得到一个系数,这两个系数,共同决定了员工的年终奖和工资的增长幅度。(6)员工的工资包括基本工资和奖金两个部分。员工实际得到的工资是总工资加上加班费,扣除保险和个人所得税等之后的部分。 (7)系统运行在w indows平台上,要求有一个较好的图形用户界面,操作要求简单。(8)系统应该有很好的可扩展性,以便企业根据实际情况添加新的功能。2.2系统流程分析系统的流程图主要是描述系统各元素和行为类的活动。下面是管理员对人力资源管理系统的操作流程图,如图2-1所示,该图直观地反映进入系所做的整个过程。图21 系统流程图2.3 功能模块划分根据学生管理系统的需求分析,把系统的功能划分为以下4个模块,即人事管理员模块、员工模块、.用户模块、系统管理员模块,模块如图2-2所示。 图2-2 系统功能模块2.3.1 员工信息管理模块(1)全部显示:显示员工号、员工姓名、性别、年龄、家庭住址、部门、工资、职称、电话。(2)查询:输入员工号即可查询员工号、员工姓名、性别、年龄、家庭住址、部门、工资、职称、电话。(3) 修改:选中列表项即可修改员工号、员工姓名、性别、年龄、家庭住址、部门、工资、职称、电话。(4)删除:选中列表项点击删除,弹出对话框询问是否删除,点击确定按钮即可删除。 2.3.2 部门模块(1)全部显示:部门编号、部门名称、部门经理、部门总数。(2)查询:输入部门编号即可查询部门编号、部门名称、部门经理、部门总数。(3) 修改:选中列表项即可修改部门编号、部门名称、部门经理、部门总数。(4)删除:选中列表项点击删除,弹出对话框询问是否删除,点击确定按钮即可删除。2.3.3 考勤模块(1)全部显示:迟到天数、请假天数、总天数。(2)查询:输入员工编号即可查询迟到天数、请假天数、总天数。(3) 修改:选中列表项即可修改迟到天数、请假天数、总天数。(4)删除:选中列表项点击删除,弹出对话框询问是否删除,点击确定按钮即可删除。2.3.4 奖惩模块(1)全部显示:奖惩金额、奖惩时间、奖惩事件。(2)查询:输入员工编号即可查询奖惩金额、奖惩时间、奖惩事件。(3) 修改:选中列表项即可修改奖惩金额、奖惩时间、奖惩事件。(4)删除:选中列表项点击删除,弹出对话框询问是否删除,点击确定按钮即可删除。2.3.5 培训模块(1)全部显示:工号、姓名、培训训内容、培训时间、地点、经费、考核成绩。(2)查询:输入员工编号即可查询工号、姓名、培训训内容、培训时间、地点、经费、考核成绩。(3) 修改:选中列表项即可修改工号、姓名、培训训内容、培训时间、地点、经费、考核成绩。(4)删除:选中列表项点击删除,弹出对话框询问是否删除,点击确定按钮即可删除。2.3.6 工资模块(1)全部显示:基本工资、月工资、补助、罚金。(2)查询:输入员工编号即可查询基本工资、月工资、补助、罚金。(3) 修改:选中列表项即可修改基本工资、月工资、补助、罚金。(4)删除:选中列表项点击删除,弹出对话框询问是否删除,点击确定按钮即可删除。2.3.7 权限模块(1)全部显示:权限编号、权限名称、权限身份ID。(2)查询:输入权限编号即可查询权限编号、权限名称、权限身份ID。(3) 修改:选中列表项即可修改权限编号、权限名称、权限身份ID。(4)删除:选中列表项点击删除,弹出对话框询问是否删除,点击确定按钮即可删除。2.3.8 总体E-R图2.4 开发环境操作系统Windows Win7/XP语言开发工具Microsoft Visual Studio 6.0界面设计技术MFC数据库SQL Server 2008表2.1 开发环境表2.5 系统运行环境操作系统Windows XP/Win72.6 系统的数据库设计本系统的后台数据库采用SQL Sever 2008,它是以高级结构化查询语言(SQL)为基础的中型关系数据库,也是目前流行的客户/服务器体系结构的数据库之一。根据对系统的功能要求分析,得到了学生管理系统E-R图。3 系统实现 下面将详细阐述本系统的设计与实现,所有功能都将分别从前台学生用户使用操作的代码介绍实现过程。3.1 用员工信息管理模块实现1 员工信息管理模块员工信息管理模块包括了全部显示、查询、修改、删除、 等子菜单,把员工号、员工姓名、性别、出生年月、籍贯、部门,储到SQL Sever 2008数据库中添加员工信息:void CStudentView:OnAdd1() CstuDlg dlg; if(dlg.DoModal()!=IDOK)return; CxsxinxiSet eSet;eSet.Open();eSet.AddNew();eSet.m_SNO =dlg.m_sno;eSet.m_SNAME =dlg.m_sname;eSet.m_SEX =dlg.m_sex;eSet.m_SDATE =dlg.m_bir;eSet.m_SCITY =dlg.m_address; eSet.m_ZYDM =dlg.m_zyhao;eSet.Update();eSet.Requery();eSet.Close();MessageBox("稍等几秒钟后,单击确定按钮!","特别提示",MB_OK|MB_ICONINFORMATION);m_strFilter.Format("SNO='%s'",dlg.m_sno);DispXSxinxiInfo("");(2)员工信息修改:void CStudentView:Onchange1() / TODO: Add your command handler code hereint nItem = GetListCtrlCurSel();if (nItem<0) return;CListCtrl& m_ListCtrl = GetListCtrl();CString strNO = m_ListCtrl.GetItemText( nItem, 0 );CxsxinxiSet eSet;eSet.m_strFilter.Format("SNO='%s'", strNO);eSet.Open();CstuDlg dlg;dlg.m_strOKText= "修改"dlg.m_sno = eSet.m_SNO;dlg.m_sname = eSet.m_SNAME;dlg.m_sex = eSet.m_SEX;dlg.m_bir = eSet.m_SDATE;dlg.m_address = eSet.m_SCITY; dlg.m_zyhao = eSet.m_ZYDM;if (IDOK != dlg.DoModal()if (eSet.IsOpen() eSet.Close();return;eSet.Edit(); eSet.m_SNO =dlg.m_sno; eSet.m_SNAME =dlg.m_sname;eSet.m_SEX =dlg.m_sex; eSet.m_SDATE =dlg.m_bir; eSet.m_SCITY =dlg.m_address; eSet.m_ZYDM =dlg.m_zyhao; eSet.Update();eSet.Requery();if (eSet.IsOpen() eSet.Close();/ 更新列表视图MessageBox("稍等几秒钟后,单击确定按钮!","特别提示",MB_OK|MB_ICONINFORMATION);m_strFilter.Format("SNO='%s'", dlg.m_sno);DispXSxinxiInfo( m_strFilter ); (3)员工信息删除: void CStudentView:OnDel1() / TODO: Add your command handler code here int nItem = GetListCtrlCurSel();if (nItem<0) return;CListCtrl& m_ListCtrl = GetListCtrl();CString strItem, str;strItem = m_ListCtrl.GetItemText( nItem, 0 );str.Format("你确实要删除 %s 列表项(记录)吗?", strItem );if ( IDOK != MessageBox(str, "删除确认", MB_ICONQUESTION | MB_OKCANCEL )return;CString strEno=m_ListCtrl.GetItemText(nItem,0);CxsxinxiSet infoSet; infoSet.m_strFilter.Format("SNO='%s' ",strEno);infoSet.Open();if (!infoSet.IsEOF() CRecordsetStatus status;infoSet.GetStatus(status);infoSet.Delete();if (status.m_lCurrentRecord=0)infoSet.MoveNext();elseinfoSet.MoveFirst();if (infoSet.IsOpen() infoSet.Close();MessageBox("稍等几秒钟后,单击确定按钮!","特别提示",MB_OK|MB_ICONINFORMATION);DispXSxinxiInfo("");(4)员工信息查询: void CStudentView:Onfind1() / TODO: Add your command handler code hereFindDlg dlg;dlg.m_strTitle="输入员工号:"CString Temp;CListCtrl& m_ListCtrl=GetListCtrl();int nItemCount=m_ListCtrl.GetItemCount();dlg.m_ItemArray.RemoveAll();for(int nItem=0;nItem<nItemCount;nItem+)Temp=m_ListCtrl.GetItemText(nItem,0);dlg.m_ItemArray.Add(Temp);if(IDOK!=dlg.DoModal()return;CString str;str.Format("SNO='%s'",dlg.m_sno);DispXSxinxiInfo(str);4 系统应用实例由于本系统是基于C/S的模式,在本地就可以实现,无须连网能进校园网就可以进行讲座预定。4.1 部署系统首先在窗口->首选项中把Tomcat设置好,然后在包资源管理器中,右键点击项目名,选Myeclipse->add and remove deployments,然后在弹出对话框中部署Web项目。4.2 访问系统直接运行程序就可以使用。其各个界面如下所示:4.2.2 功能实现系统主界面通过菜单栏,导航到不同的功能模块即可以执行相应的操作。学生用户进系统后,想查看学生信息,点击【人事档案管理】有四个子菜单选项供选择,想看所有的数据,点击【显示全部】;想添加信息,则点击【添加】即可,想删除信息,则点击【删除】即可,想查看信息,则点击【查看】即可。这些按钮按下都可以通过输入员工号来进行操作。其他几个模块的功能都与它相似。5 结束语本系统采用模块化设计,从上到下逐一分解。本系统易于操作,易于理解,采用按钮较多,主要功能大都集中在所使用的窗口界面上,通过按钮直接对窗口进行操作,用户操作起来比较方便直观。本系统运行比较稳定,同时对用户的权限进行了限制,保证了系统的安全性、完整性。由于知识和经验方面的不足,本系统的设计还存在很多不完善的地方,有待于加强改进。专心-专注-专业