企业人事管理系统_第1页
企业人事管理系统_第2页
企业人事管理系统_第3页
企业人事管理系统_第4页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、前言随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业人事管理势在必行。对于大中型企业来说,利用计算机支持企业高效率完成劳动人事管理的常事务,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件;计算机管理所无法比拟的优点检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事管理的效率 , 也是企业的科学化、正规化管理 , 与世界接轨的重要条件。不同的企业具有不同的人事管理制度,这就决定了不同的企业需要不同的人事管理系统。企业人事管理是企业管理的一个重要内容,随着时代的进步,企业也逐渐变的庞大起来。如何管理好企

2、业内部员工的信息,成为企业管理中的一个大问题。在这种情况下,一个可以规范化,自动化的企业人事管理系统就显得非常必要。本系统采用两层结构实现,后台数据库系统采用 Microsoft Office Access 2003, 前台开发工具采用 Microsoft Visual Studio2005, 系统结构采用 C/S 结构,数据库连接方式采用 ODBC连接方式。本系统实现了企业人事档案的插入、删除、查询、更改等操作。目录摘要 .3正文 .41、问题描述 .42、需求分析 .52.1系统需求和功能 .52.2数据流程图 .52.3数据字典 .63、 系统总体设计 .73.1概念结构设计( E-R

3、图) .73.2由 E-R 图转换得到的关系模式如下:. 73.3逻辑结构设计(数据库的设计) .84 、详细设计 .104.1人事管理系统的主要功能程序流程图. 104.2人事管理系统的主要功能程序流程图. 134.3用户界面与程序设计 .155.系统测试 .185.1测试方法 .185.2测试用例 .186、软件使用说明书 .20总结 .22参考文献 .23致谢 .24附件部分原程序代码 . 25摘要企业人事管理系统是典型的信息管理系统,其开发主要包括后台数据库建立和维护以及前端应用程序的开发两个方面。经过分析 , 整个系统采用两层结构。数据库系统采用 Microsoft Office A

4、ccess 2003, 前台开发工具采用 Microsoft VisualStudio2005, 系统结构采用 C/S 结构,数据库连接方式采用 ODBC连接方式。本系统实现了企业人事档案的插入、删除、查询、更改等操作。关键词:人事管理;数据库;管理系统正文1、问题描述该设计要求学生以企业人事管理业务为背景,设计、开发一套“企业人事管理系统”软件。通过该题目的设计、开发,使学生初步得到数据库开发的训练,全面培养软件开发过程中的分析、设计、编码、测试及文档规范书写的能力,得到软件开发的综合训练,提高解决实际问题的能力。2、需求分析2.1 系统需求和功能设计一个人事管理系统,使系统满足以下需求和功

5、能1)根据企业人事管理的需要,对企业以及企业中员工的信息进行添假删除等操作,并能对人事档案进行浏览,对人事资料进行查询,对人事资料进行统计。为企业的人事管理提供一个便利的管理系统。2)、系统功能包括:a 系统管理(设置用户和退出系统) 。b 基础数据管理(民族档案设置,职工类型设置,文化程度设置,政治面貌设置,部门类别设置,工资类别设置,职称类别设置,职务类别设置) 。c 人事档案管理(人事档案浏览,人事资料查询,人事资料统计) 。数据库管理(数据库的备份与恢复) 。2.2 数据流程图数据流图由四种基本的元素构成:数据流 (Data Flow) ,处理 (Process) ,数据存储和数据源(

6、数据终点) 。数据流 (Data Flow) :为具有名称且有流向的数据,用标有名称的箭头表示,一个数据可以是记录、组合项或基本项。处理 (Process) :表示对数据所进行的加工和变换,在图中用矩形框表示。指向处理数据流为该处理的输入数据,离开处理的数据为处理的输出数据。数据存储:表示用文件方式或数据库形式所存储的数据,堆砌进行的存取分别以指向或离开数据存储的箭头表示。数据源及数据终点:表示数据的来源或数据的去向,可以是一个组织或人员,它处于系统范围之外,所以又称它为外部实体,它是为了帮助理解系统界面而引入的,一般只出现在数据流图的起点和终点。数据流程图如图2.1 所示:个人信息信息信息更

7、 新查询管理员接受处理系 统信息事务信信息用户图 2.1 数据流程图2.3 数据字典数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。由于本次设计是小型软件系统的开发,所以采用卡片形式书写数据字典。每张卡片上保存描述一个数据的信息这样做更新和修改起来比较方便,而且能单独处理描述每个数据的信息。下面将列出若干数据元素的数据卡片信息。数据字典卡片如下:名字:管理员名称别名:描述:惟一地标识一门特定管理员的关键域定义:管理员名称 =10 字符 位置:管理员信息表名称:职工信息表别名:描述:对员工基本情况的描述定义:员工信息表 =员工号 +姓名位置:显示到屏幕保存到磁盘名字

8、:员工家庭表别 名:描述:惟一地标识一个员工的家庭状况定义:家庭名称 =10 字符 位置:家庭信息表员工信息表名称:员工表别名:描述:对整体员工基本情况的描述定义:员工信息表 =所有员工的基本信息的总和位置:显示到屏幕保存到磁盘3、 系统总体设计3.1 概念结构设计( E-R 图)经分析人事管理系统的E-R 图如图 3.1 所示:职称正式临时婚姻状况职务属于名称学历属性别员工部门负责于姓名编号用户籍贯用户用户口令图 3.1 人事管理系统E-R 图3.2 由 E-R 图转换得到的关系模式如下:用户(用户名,密码,是否管理员)民族档案设置(民族编号,民族名称)职工类型设置(职工类型号,职工类型名称

9、)文化程度设置 ( 文化程度编号,文化程度名称)政治面貌设置 ( 政治面貌编号,政治面貌名称)部门类别设置(部门类别编号,部门类别名称)工资类别设置(工资类别编号,工资类别名称)职称类别设置(职称类别编号,职称类别名称)职务类别设置 ( 职务类别编号,职务类别名称)职工表(职工编号,职工名,出生日期,年龄,民族,婚姻状况,身份证,家庭电话,电子邮箱,手机,籍贯,地址,毕业学校,所在部门,政治面貌,职称类别,职务类别,工资类别,文化程度)职工家庭情况(编号,员工工号,成员姓名,关系,出生日期,所在部门,担任职务,政治面貌,手机)3.3 逻辑结构设计(数据库的设计)建立数据库本设计用 Micros

10、oft Office Access 2003 作为后台数据库,在 MS SQL Server 2000 中创建一个名为 Manager1 的数据库,并在其中建立逻辑设计中涉及的表 .建立表:在 Access 中,可以查看所建立的表,并添加适当测试数据用户表如图 3.2 所示:图 3.2 用户表民族挡案表如图3.3 所示:职工类型表如图3.4 所示:图 3.3 民族档案表图 3.4 职工类型表文化程度表如图3.5 所示 :政治面貌表如图3.6 所示:图 3.5 文化程度表图 3.6 政治面貌表部门类别设置表如图3.7 所示:工资类别表如图 3.8 所示:图 3.7 部门类型设置表职称类别表如图

11、3.9 所示:图 3.8 工资类别表职务类别表如图 3.10 所示:图 3.9 职称类别表图 3.10 职务类别表4 、详细设计4.1 人事管理系统的主要功能程序流程图系统要实现基本信息录入、修改、查询等功能:员工各种信息的输入,包括员工基本信息、学历信息和工资信息等。员工各种信息的修改、删除。按照某种条件,查询统计符合条件的员工信息。工资表的打印。对查询、统计的结果打印输出。(1)用户编码信息表数据来源:用户管理模块的录入字段名是否主键字段类型字段长度是否允许空备注UserId是char10否用户名UserPassword否char8否用户密码UserKind否char20否用户状态(2)职

12、务编码信息表数据来源:基础数据管理模块的录入字段名是否主键字段类型字段长度(B) 是否允许为空备注Dutyld是char8否职务编码DutyName否char20否职务名称(3)文化程度编码信息表数据来源:基础数据管理模块的录入字段名是否主键字段类型字段长度(B) 是否允许为空备注Eduld是char2否文化程度编码EduName否char20否文化程度名称(4)民族编码信息表数据来源:基础数据管理模块的录入字段名是否主键字段类型字段长度(B) 是否允许为空备注NationId是char3否民族编码NationName否char20否民族名称(5)部门信息表数据来源:部门信息管理模块的录入字段

13、名是否主键字段类型字段长度(B) 是否允许为空备注DepId是char3否部门编号DepName否char20否部门名称Describe否char100是部门职能描述(6)职员家庭信息表数据来源:职员家庭信息管理模块的录入字段名是否字段字 段 长是 否 允备注主键类型度(B)许为空Id是char8否家庭成员编号EmpId否char8否职员编号Name否char30否家庭成员姓名Gender否char2是家庭成员性别Age否char4是家庭成员年龄Relationship否char20是与本人关系WorkingOrg否char50是所在单位(7)职员基本信息表数据来源:职员基本信息管理模块的录入

14、字段长度( B)是否允许字段名是否主键字段类型备注为空EmpId是char8否职员编号EmpName否char30是职员姓名Gender否char2是性别Age否intr4是年龄NationId否char3是民族编号Birthday否char8是生日PoliticalParty否char20是政治面貌MaritalCon否char6是婚姻状况DepId是char8是所在部门编号HireDate否char8是入职时间Eduld否char2是文化程度编号FamilyPlace否char20是籍贯IdCard否char20是身份证号Email否char30是电子邮箱Officephone否char2

15、0是办公电话State否char20是职员状态Residence否char100是居住地址Postcode否char10是邮政编码PRLocation否char50是户口所在地(8)职员月考勤信息表数据来源:考勤信息管理模块的录入字段名是否主键字段类型字段长度是否允许空备注RecordTime是char8否考勤年月EmpId否char8否职员编号DepId否char30否所在部门编号LeaveDays否char2是请假天数AbsentDays否char4是旷工天数OtDays否char20是加班天数workingDays否char50是当月全勤天数4.2 人事管理系统的主要功能程序流程图系统操

16、作流程图 :系统主界面错误信息系统登录界面系统管理输入操作员及密码数据库检查密码错误密码正确功能界面功能处理图 5.1 系统操作流程图人事管理系统员工各种信息的查询功能流程图如图5.2 所示:用户输入查询条件查询相应信息是否重新查询是否存在否是否信息确定是结束图 5.2 查询功能流程图2录入功能流程图如图5.3 所示管理员输入信息否重新输入否是否保存是是保存成功否是结束图 5.3 录入功能流程图3.删除功能流程图如图5.4 所示:管理员删除信息是重新删除确定是否否删除成功否是结束图 5.4 删除功能流程图4.3 用户界面与程序设计1. 一般交互设计一般交互涉及信息显示、数据输入和系统整体控制等

17、方面。( 1)一致性为客户交互界面中的菜单选择、命令输入、数据显示以及众多的其他功能,使用一致的格式。在设计的过程中,基本上保持了系统的格式一致。( 2)信息的反馈向用户及时提供视觉和听觉的信息反馈,以保证在用户和系统之间及时地建立双向通信。在本系统设计过程中,基本做到了信息的及时反馈,在信息显示的大部分窗体中包括了刷新按钮,会对数据库中的数据进行及时地显示。另外,在进行错误操作是,会弹出提示窗口并发出警告提示音。( 3)执行有较大影响的操作前提示用户确认在设计过程中,如果用户要执行删除操作,以及对数据库的读写操作时,都会有窗体弹出询问继续操作或者予以提示。( 4)减少两次操作间需要记忆的内容

18、为了避免用户为下一步操作而记忆大量数据,所以在设计过程中在需要数据传递的窗体中设置全局变量,来传递数据。( 5)对话、移动和思考的效率尽量减少用户击键的次数,在设计时考虑到了用户屏幕的布局以减少用户鼠标移动的距离,尽量避免用户在操作中发生疑问的情况。( 6)允许错误允许用户的误操作尽量不对系统造成伤害。( 7)按功能对动作分类,并据此设计屏幕布局屏幕布局尽量将软件所具有的所有功能在主页面展示,界面一目了然。2. 信息显示设计应当尽量为用户提供的界面显示时完整的、明确的和容易理解的。这样才能满足用户的需求。( 1)只显示与当前用户有关的信息在用户操作有关系统的特定功能的信息时,不必看到与之无关的

19、数据、菜单和图形。( 2)使用一致的标记、标准的缩写和可预知的颜色为了使系统所表达的含义准确、无误,就必须适用一致的标记、标准的缩写和可以预知的缩写,这样用户就无需参照其他信息源就能理解,而正确地适用软件。( 3)产生有意义的错误信息对于系统在运行过程中产生的错误尽量给用户返回一个容易理解的错误信息,以使用户保持对系统的信任,和系统的可用性。( 4)使用窗口分隔不同类型的信息使用不同的窗口显示、保存不同类型的信息。( 5)高效率的使用显示屏当使用多窗口时,应该有足够的空间使得每个窗口至少都能显示出一部分。此外,屏幕的大小应该选得和应用系统的类型相配套。在各个显示数据的窗口中,由于数据窗体项目较

20、多,所以在数据窗体空间中较多的是用了垂直和水平滚动条,以保证信息的全面正确显示。3. 数据输入设计用户的大部分时间用在选择菜单命令、键入数据和向系统提供输入。在系统中,键盘是主要的输入介质,但是鼠标等设备的也是重要的输入手段,所以,对于他们的数据输入操作有如下约定:( 1)保持信息显示和数据输入间的一致性为了方便用户的使用,鼠标应当尽量减少操作的幅度。( 2)保持显示信息和输入信息之间的一致性对于用户来说,要保证其输入的数据在显示上与其他显示的视觉特征(例如:文字大小、颜色、位置等)要一致。对于不同类型的用户在登录到系统后,由于有不同的权限,所以在主界面中会有一些项目受到限制而无法使用,所以要

21、使这些项目不发生作用,以保证系统安全。5. 系统测试5.1 测试方法软件的测试方法有两种,一种是黑盒测试(功能测试) ,另外一种是白盒测试(结构测试)。白盒测试在系统的实现过程和程序的调试过程中,遇到很多问题,此时应该对程序仔细阅读,设置断点,进行白盒测试。黑盒测试系统完成后,要进行黑盒测试,即设置一些测试用例,对系统的各个模块的功能进行测试,看能否得到正确的输出。在这里以管理员的身份登录系统,以便对系统的各个功能模块进行测试。5.2 测试用例登陆测试图 5.1 登陆界面密码错误时图 5.2 登陆错误提示界面查询职工表图 5.3 查询职工表职工家庭情况表图 5.4 职工家庭情况表测试大多数由我

22、的搭档徐霁业同学完成,所以详情见徐霁业的说明书。6、软件使用说明书1、运行环境:Windows xp 操作系统, Visual Studio20052、使用方法在安装了 Visual Studio2005 的系统,点击可执行文件,这样就自动在所使用的计算机中配置好 ODBC 数据源,并进入登陆界面。可以使用帐号 admin 和密码admin 登陆。登陆测试界面如图6.1 所示:图 6.1 登陆界面密码正确时正确的进入主界面的界面如图 6.2 所示:图 6.2 主界面人事档案查询功能测试的界面如图6.3 所示:图 6.3 人事查询界面其他说明见我的搭档徐霁业的说明书。总结通过这次课设,实践了Mi

23、crosoft Office Access 2003 的使用,巩固了数据库的知识。数据库本来就是软件编程很重要的一部分,许多软件都需要存储大量的数据,一个很好的数据库,其操作简单,功能强大。因此,学好数据库以及编程是很重要的。通过这次的课程设计,感觉颇有收获。在为期二周的课程设计当中感触最深的便是实践联系理论的重要性,当遇到实际问题时,只要认真思考,用所学的知识,再一步步探索,是完全可以解决遇到的一般问题的。我查阅了大量的资料文献,请教老师和同学,经过耐心的调试终于达到了题目的要求。课程设计让我真正做到了学有所用,在设计当中受益匪浅。通过课设,我认识到了自己的很多不足,以后我一定会把以前的知识

24、好好巩固,把编程语言技术学习好,才能温故而知新,学习更多新的知识。课程设计由两个人共同完成, 通过本项目我们学会了成员之间的协调、团队精神,加深了对数据库设计和应用软件开发过程的理解, 更了解到了数据字典在软件开发过程中的重要性。参考文献1郑阿奇 / 丁有和 . VisualStudio2005 教程,北京:机械工业出版社, 2004.92 李代平 . 软件工程 . 第二版 . 北京:冶金工业出版社, 2006.113 王珊 / 萨师煊 .数据库系统概论 . 第四版 . 北京:高等教育出版社, 2006.54 李春葆 / 曾平 . 数据库原理与应用,北京 : 清华大学出版社, 2005.5 张

25、海藩,软件工程导论,清华大学出版社6 萨师煊,王珊数据库系统概论 ,清华大学出版社, 2002 年 2 月致谢从确定设计方案到算法的实现再到编写程序,历时二个星期。在此,我謹向张老师致以最诚挚的谢意。在这段时间内老师不辞辛苦一直奔波忙碌于指导我们与完成自己的工作之间。张老师的严谨的工作作风、亲切的待人方式,渊博的专业知识都给我留下了深刻的印象,老师细心的讲解和指点使我从课程设计之中受益匪浅,使我从实际的算法实现中更好地掌握了理论知识。附件部分原程序代码实现人事档案浏览功能的主要代码如下:void CBrowseDlg:OnButtonSearch()UpdateData(TRUE);if(m_

26、nCondition<0) MessageBox("请选择查询条件! "); m_ctrCondition.SetFocus();return;if(m_strContent="") MessageBox("请输入查询内容! ");m_ctrContent.SetFocus();return;CString strSQL;if(0=m_nCondition)/ 按部门查询strSQL.Format("select * from person where dept='%s'",m_strCont

27、ent);RefreshData(strSQL); else if(1=m_nCondition)/ 按职工职务查询strSQL.Format("select * from person where duty='%s'",m_strContent);RefreshData(strSQL); else if(2=m_nCondition)/ 按职工职称查询strSQL.Format("select * from person where technical='%s'",m_strContent);RefreshData(st

28、rSQL); else if(3=m_nCondition)/ 按职工类型查询strSQL.Format("select * from person where isworker='%s'",m_strContent);RefreshData(strSQL); else if(4=m_nCondition)/ 按工资类别查询strSQL.Format("select * from person where aboutpay='%s'",m_strContent);RefreshData(strSQL); else if(5

29、=m_nCondition)/ 按职工性别查询strSQL.Format("select * from person where sex='%s'",m_strContent);RefreshData(strSQL); else if(6=m_nCondition)/ 按婚姻状况查询strSQL.Format("select * from person where ismarry='%s'",m_strContent);RefreshData(strSQL); else if(7=m_nCondition)/ 按职工民族查

30、询strSQL.Format("select * from person where folk='%s'",m_strContent);RefreshData(strSQL); else if(8=m_nCondition)/ 按政治面貌查询strSQL.Format("select * from person where political='%s'",m_strContent);RefreshData(strSQL); else if(9=m_nCondition)/ 按文化程度查询strSQL.Format(&quo

31、t;select * from person whereeducation='%s'",m_strContent);RefreshData(strSQL); / 设置按钮状态m_ctrNewBnt.EnableWindow(TRUE);m_ctrDelBnt.EnableWindow(TRUE);m_ctrSaveBnt.EnableWindow(FALSE);m_ctrCancelBnt.EnableWindow(FALSE);m_bNew = FALSE;m_ctrModify.EnableWindow(TRUE);void CBrowseDlg:OnButton

32、Search()UpdateData(TRUE);if(m_nCondition<0)MessageBox("请选择查询条件! ");m_ctrCondition.SetFocus();return;if(m_strContent="") MessageBox("请输入查询内容! ");m_ctrContent.SetFocus();return;CString strSQL;if(0=m_nCondition)/ 按部门查询strSQL.Format("select * from person where dept=

33、'%s'",m_strContent);RefreshData(strSQL); else if(1=m_nCondition)/ 按职工职务查询strSQL.Format("select * from person where duty='%s'",m_strContent);RefreshData(strSQL); else if(2=m_nCondition)/ 按职工职称查询strSQL.Format("select * from person where technical='%s'",

34、m_strContent);RefreshData(strSQL);else if(3=m_nCondition)/ 按职工类型查询strSQL.Format("select * from person where isworker='%s'",m_strContent);RefreshData(strSQL);else if(4=m_nCondition)/ 按工资类别查询strSQL.Format("select * from person where aboutpay='%s'",m_strContent);Refr

35、eshData(strSQL);else if(5=m_nCondition)/ 按职工性别查询strSQL.Format("select * from person where sex='%s'",m_strContent);RefreshData(strSQL); else if(6=m_nCondition)/ 按婚姻状况查询strSQL.Format("select * from person where ismarry='%s'",m_strContent);RefreshData(strSQL);else if(7=m_nCondition)/ 按职工民族查询strSQL.Format("select * from perso

温馨提示

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

评论

0/150

提交评论