企业人事管理系统开发与设计.doc_第1页
企业人事管理系统开发与设计.doc_第2页
企业人事管理系统开发与设计.doc_第3页
企业人事管理系统开发与设计.doc_第4页
企业人事管理系统开发与设计.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

企业人事管理系统开发与设计目 录摘要1关键词11 绪论21.1 管理信息系统的概述21.2 数据库理论介绍21.3 人事管理系统概述22 系统设计42.1 系统功能分析42.2数据流程图43 数据库设计53.1数据库需求分析53.2功能模块设计53.3数据库概念结构设计63.4 数据库逻辑结构设计64 数据库结构的实现74.1创建员工个人信息表:74.2创建部门信息表74.3创建安全管理信息表74.4创建学历信息表74.5创建职位信息表74.6创建职称信息表74.7创建政治面貌信息表84.8创建记录号计数数据表84.9必要初始数据的输入85 各个功能模块的创建95.1创建应用程序主窗体95.1.1创建菜单95.1.2创建图像列表和工具条105.1.3创建基他控件和设置属性105.2创建安全管理模块115.2.1创建用户登陆窗体115.3创建员工管理模块135.3.1创建员工信息管理窗体135.3.2创建员工信息输入修改查询窗体145.3.3创建员工个人资料快速报表155.4创建辅助资料报表16结论17致谢18参考文献19Abstract20Keywords2021企业人事管理系统设计与开发摘要:为提高企事业中人事管理的效率,提高企业综合管理能力,开发一个人事管理软件是必须的。本文介绍了一个企业人事管理系统的设计与开发的详细过程,包括系统建立的目的、系统分析、系统结构、系统设计等。系统使用开发工具C+Builder来进行设计与开发,主要用于员工个人资料的录入、查询、修改、统计具有密码和权限管理功能。关键词:C+Builder软件开发工具;人事管理系统;系统设计1 绪论1.1 管理信息系统的概述何为管理信息系统?就是人工编写程序通过计算机运行对现在复杂的事情进行科学的、方便的、更人性化的管理。用准确的话讲管理信息系统就是我们常说的MIS(Management Information System), MIS是一门新的学科,它跨越了若干个领域,比如管理科学、系统科学、运筹学、统计学以及计算机科学。在这些学科的基础上,形成信息收集和加工的方法,从而形成一个纵横交织的系统。管理信息系统在企业中的应用存在三个要素,这就是人,计算机和数据。1MIS是一项系统工程,不是只靠一些计算机开发人员就可以完成的,必须有企业管理人员,尤其是企业领导的积极参与。1计算机技术是MIS得以实施的主要技术。在这些技术中,软件开发是MIS开发的重点。第三个因素也不能忽视。企业的管理数据是MIS正常运行的基础。广义地说,各项管理制度是MIS建设成功的基础。11.2 数据库理论介绍现在市场上有许多种程序开发工具如Delphi、Vc+等,但仔细比较后感觉C+ Builder是功能最强大的,可以说,C+ Builder是集C+语言的高效性和RAD开发工具的快速性等优点完美结合的产物,也是基于Pascal程序设计语言的Delphi强大功能的合理扩展。C+Builder 6 提供了强大的数据库应用程序开发功能和数据库辅助工具,程序员利用这些工具能够迅速开发出功能强大的数据库应用程序。它与SQL Server 2000结合,也是开发C/S程序最有用和最强大的工具结合。1 SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的最新版本,该版本继承了SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能、具有使用方便、可伸缩性好与相关软件集成程度高等优点。可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。MSSQL Server不但可以应用于大中型数据库管理中建立分布式关系数据库,并且也可以开发桌面数据库。事实上,SQL Server数据库处理的基本结构,采取关系型数据库模式,尽管如此,相信大家都可以轻易的发现,在SQL Server的数据库处理方式,则是使用面向对象的操作方式与精神,也就是说,SQL Server的所有功能,都可以基于系统已经建立好的一些对象来达成,是相当OO(面向对象)的一个系统结构。21.3 人事管理系统概述企业人事管理系统是一个企业单位不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,所以企业人事管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理人事文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对人事资料信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高企业人事管理系统的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。 综上所述,本系统设计时应符合企业人事管理的规定,满足对企业人事管理需要,并达到操作过程中的直观、方便、实用、安全等要求。系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于示参与开发的技术人员维护人员补充、维护。系统应具有备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作。系统应具备安全管理机制,具有密码保护功能和权限管理功能。2 系统设计2.1 系统功能分析本系统主要任务是用于收集企业员工个人信息,以便集中进行企业员工信息管理,并且为企业其他各个管理系统提供员工的基本信息,其功能主要有: 1密码和权限管理功能,不同权限的用户具有不同的操作权限。 2员工个人信息的输入。 3员工个人信息的查询、修改和删除。 4员工个人资料报表和打印。概括的说包括1员工个人信息管理、2辅助信息管理、3安全管理。三个主要功能。2.2数据流程图数据流程图(Data Flow Diagram ,简称DFD)是系统逻辑模型的主要组成部分,它可以反映出系统的主要功能、系统与外部环境间的输入输出、系统内部的处理、数据传送、数据存储等情况。它的绘制依据是现行系统流程图,数据流程图是管理信息系统的总体设计图。该管理系统的流程图如图1.1所示。2.3 系统运行要求 此系统在98、2000和XP系统环境下都能稳定的运行,在硬件方面只需要P3以上的CPU和128的内存就足够了,硬盘只要20G足以存贮大量的资料和信息。数据库采用SQL Server 2000。员工注册员工信息管理报表处理员工信息统计报表信息管理统计信息管理其他数据接口员工信息输入图1-1 企业人事管理数据流程图3 数据库设计数据库是信息管理的基础。数据库结构直接关系到各种功能的实现和程序运行的效率。3.1数据库需求分析通过对企业人事管理的内容和数据流程分析,设计的数据项和数据结构如下:1员工个人信息记录:工号、姓名、性别、婚姻、生日、学历、职务、职称、政治面貌、部门、身份证号、籍贯、联系地址、电话、手机、电子邮件、开户银行、银行卡号、毕业学校、所学专业、毕业时间、工作时间、调职信息、调职时间、履历表、学习培训、主要业绩、奖励情况、备注。2用户信息记录:工号、用户名、密码、权限。3学历信息记录:记录号、学历名称。4职务信息记录:记录号、职务名称。5职称信息记录:记录号、职称等级。6政治面貌记录:记录号、政治面貌名称。7部门信息记录:记录号、部门名称。3.2功能模块设计 通过对数据库需求的分析,我们可以分析出该管理信息系统大致可以分为几个模块。得如图1.2所示的系统功能模块图 企业人事管理系统安全管理员工个人信息管理信息输入信息查询修改删除报表打印添加删除参数统计密码管理辅助信息管理权限管理用户管理图1.2企业人事管理系统功能模块(1)员工个人信息管理模块:本窗体主要实现管理员工个人信息资料输入、修改、删除、查询和打印。具体是:信息输入、 信息查询、修改或删除、参数统计、报表打印。 (2) 辅助资料模块:辅助资料管理相当于代码管理,仔细分析学历、职位、职称、政治面貌和部门辅助资料数据项可知。(3)安全管理模块:安全管理是数据库软件一项必备的功能、包括用户登录、用户注册模块、修改密码模块和修改权限模块。 (4)帮忙模块:提供一些信息和版本的介绍。3.3数据库概念结构设计根据以上的设计得出本系统的E-R 图,见图1.3岗位信息记录号职务名称职称等级部门信息部门编号部门名称主管.员工信息工号姓名性别.学历信息记录号学历名称面貌信息记录号政治面貌N:1N:11NN:1图1.3企业人事管理系统数据库E-R图3.4 数据库逻辑结构设计通过合理规划,需要设计一个数据表(员工个人信息表)来保存员工个人的基本信息,一个管理用户安全信息表(安全管理信息表)。为了数据记录实例的完整,系统中包括了应用程序中所需的5个外部数据表-学历信息表、职位信息表、职称信息表、政治面貌信息表、部门信息表。另外需要一个计数数据表(记录号计数数据表)来保存其他表格所需的记录号。4 数据库结构的实现 4.1创建员工个人信息表:/*表格名:Person_Employee, 主关键字Employee_ID*/.4.2创建部门信息表/*表格名:Person_Branch, 主关键字 Branch_num*/.4.3创建安全管理信息表/*表格名:person_User, 主关键字User_ID*/.4.4创建学历信息表/*表格名:Person_Diploma, 主关键字Diploma_ID*/.4.5创建职位信息表/*表格名:Person_Job, 主关键字Job_ID*/.4.6创建职称信息表/*表格名:Person_post, 主关键字Post_ID*/.4.7创建政治面貌信息表/*表格名:Person_Polity, 主关键字Polity_ID*/.4.8创建记录号计数数据表/*表格名:Person_Count,主关键字Count_Name*/.4.9必要初始数据的输入 数据表创建了以后,数据库还没有实际的数据。为使外部键能够使用,程序能够正常运行,学历信处表、职务信息表、职称信息、政治面貌信息表和安全管理信息表要求有数据输入。本例中的学历信息表、职务信息表、职称信息表、政治面貌信息表和安全管理信息表的初始输入数据如表所示,最后一表为计数数据表与具体记录号的对应该表学历信息表记录号指代说明0小学1中学2高中3大学4硕士5博士职务信息表记录号指代说明0软件工程师1硬件工程师2技术总监职称信息表记录号指代说明0无1低级2中级3高级政治面貌信息表记录号指代说明0无1共青团员2共产党员用户安全信息表工号用户名密码权限100001System0714=(原码是123456)Administrator计数数据表与记录号对应表计数器编号指代说明初值Employee工号计数器100000Diploma学历记录号1Job职务记录号1Post职称记录号1Polity政治面貌记录号1Branch部门编号15 各个功能模块的创建有了数据库为基础,就进入了代码开发阶段。编码的目的是实现人和计算机的通信,指挥计算机按人的意志正确工作。现在通过企业人事管理系统中各个模块的创建和功能的实现来用C+Builder来编写功能基本齐全数据系统的客户端程序,包括安全管理、信息处理和报表输出,在这里主要介绍在本系统中比较重要的部分。5.1创建应用程序主窗体5.1.1创建菜单 调整好窗体的大小,单击“Standare”控件,将它放到窗体上,双击“MainMenul”控件对象,进入菜单设计环境,如图5.1所示。选中菜单项,就可以在对象监视窗体中修改菜单项的属性。图5.1菜单设置窗口5.1.2创建图像列表和工具条图像列表控件用于管理菜单项或工具条按钮的图标。选择“Win32”控件组中的“ImageList”控件放置到窗体,双击“ImageListl”控件对象进入按钮图标管理环境,如图5.2所示。图5.2图像列表管理界面本主窗体创建一个“Win32”控件组中的“ToolBar”控件对象。将“ToolBar”对象的“Images”属性改为“ImageList”,在工具条位置单击右键,在弹出菜单中选择“New Button”添加按钮,选择“New Separator”添加分隔条。在本例中创建6按钮和2个分隔条。5.1.3创建基他控件和设置属性单击“Additional”控件组中的“Image控件,放置到窗体,修改其“Align属性为“aLCLient,单击“Picture属性添加一幅位图,以上用到的图标和位图在源程序目录下都可以找到,最后创建主窗体的界面如图5.3所示,.图5.3主窗体界面设计图本例中,在主窗体的初始化事件中添加了与数据库服务器连接代码。主窗体文件中的代码需要在做其他窗体的过程中逐步添加上的,其主要代码如下。_fastcall TF_Main:TF_Main(TComponent* Owner) : TForm(Owner) /*主窗体初始化事件*/ /*ADOConnection对象与数据库服务器系统初始化代码*/ char Name_ComMAX_COMPUTERNAME_LENGTH+1; /MAX_COMPUTERNAME_LENGTH已由系统定义 DWORD Size_Com = MAX_COMPUTERNAME_LENGTH+1; char Name_DSMAX_COMPUTERNAME_LENGTH+200; if(GetComputerName(Name_Com,&Size_Com) /GetComputerName是取得计算机名API函数 StrCopy(Name_DS,Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Person;Data Source=); /拷贝字符串 StrCat(Name_DS,Name_Com); /追加字符串/ StrCat(Name_DS,;Locale Identifier=2052;Connect Timeout=15;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=);/ StrCat(Name_DS,Name_Com); else ShowMessage(获取计算机名失败); F_Main-ADOConnection_PM-Connected = false; /断开连接 F_Main-ADOConnection_PM-ConnectionString = Name_DS; /设置与数据库服务器连接属性字符串 try /捕捉异常 F_Main-ADOConnection_PM-Connected = true; catch(.) /异常处理 Application-MessageBoxA(数据库服务器连接错误,异常对话框,MB_OK); 5.2创建安全管理模块安全管理是数据库软件一项必备的功能。5.2.1创建用户登陆窗体登陆窗体如图5.4所示。.图5.4登陆窗体登陆窗体程序完成判断工号和密码是否正确,判断用户权限并进行对数据库不同操作权限的初始化操作,登陆窗体需要添加的代码如下。void _fastcall TF_Login:BitBtn1Click(TObject *Sender) /*登录按钮点击事件*/if(Edit1-Text.IsEmpty() /用户工号输入框为空判断ShowMessage(请输入用户工号);Edit1-SetFocus(); /焦点仍在工号输入框中else /以下代码判断用户的合法性和权限ADOQ_Login-Close();ADOQ_Login-SQL-Clear(); /清除SQL语句ADOQ_Login-SQL-Add(SELECT * FROM Person_User); /增加SQL语句ADOQ_Login-SQL-Add(WHERE User_ID=:ID);/条件为用户工号等于输入工号,设置一个参数IDADOQ_Login-Parameters-ParamByName(ID)-Value = Edit1-Text;/参数ID赋值ADOQ_Login-Open(); /执行Add的SQL语句if(ADOQ_Login-RecordCount!=1|ADOQ_Login-FieldByName(User_Password)-AsString.SubString(1,E_Password-Text.Length()!=Encrypt(E_Password-Text) /如果用户工号或密码不对则提示密码错/另外AnsiString.Trim()函数可以去掉后面的空格,原字符串保持不变,上句可以使用此函数if(ADOQ_Login-RecordCount != 1)ShowMessage(用户工号不存在,请您重新输入);Edit1-SetFocus();if(Encrypt(E_Password-Text) != ADOQ_Login-FieldByName(User_Password)-AsString.SubString(1,E_Password-Text.Length()AnsiString str=ADOQ_Login-FieldByName(User_Password)-AsString;ShowMessage(用户密码不正确,请您重新输入);E_Password-SetFocus();elseif(ADOQ_Login-FieldByName(User_Popedom)-AsString.SubString(1,13) = Administrator) /管理员权限判断F_Main-MainMenu-Items-Items0-Items1-Enabled = true; /允许用户注册F_Main-BB_Registry-Enabled = true;F_Main-MainMenu-Items-Items0-Items3-Enabled = true; /允许修改权限F_PP_Modi-CheckBox2-Enabled = true;F_Main-TB_Pass_Modity-Enabled = true;F_Main-TB_Rele_Modify-Enabled = true;if(ADOQ_Login-FieldByName(User_Popedom)-AsString.SubString(1,4) = User) /客户权限判断F_Main-MainMenu-Items-Items0-Items1-Enabled = false; /禁止用户注册F_Main-BB_Registry-Enabled = false;F_Main-MainMenu-Items-Items0-Items3-Enabled = false; /禁止修改权限F_PP_Modi-CheckBox2-Enabled = false;F_Main-TB_Pass_Modity-Enabled = false;F_Main-TB_Rele_Modify-Enabled = false;F_Login-Close(); /关闭用户登录窗口5.3创建员工管理模块5.3.1创建员工信息管理窗体本窗体主要实现管理员工个人信息资料输入、修改、删除、查询和打印。员工信息管理窗体添加代码如下。 void _fastcall TF_Info:M_InputClick(TObject *Sender) /*输入记录菜单点击事件*/ F_Info_Input-ShowModal(); ADOQuery1-Insert(); /插入员工个人资料记录void _fastcall TF_Info:M_ModifyClick(TObject *Sender) /*修改记录菜单点击事件*/ F_Info_Input-ShowModal(); ADOQuery1-Edit(); /编辑员工个人资料记录void _fastcall TF_Info:M_DeleteClick(TObject *Sender) /*删除记录菜单点击事件*/ ADOQuery1-Delete(); /删除一条员工个人资料记录void _fastcall TF_Info:M_QueryClick(TObject *Sender) /*员工查询菜单点击事件*/ ShowMessage(在工号或者姓名输入框中输入内容,即可实现查询); F_Info_Input-ShowModal();void _fastcall TF_Info:M_PrintClick(TObject *Sender) /*个人打印菜单点击事件*/ F_Info_Print-QuickRep1-Preview(); /打印预浏5.3.2创建员工信息输入修改查询窗体员工信息输入修改查询窗体主要实现输入员工信息记录,修改员工信息记录,查询员工信息记录,其窗体如图5.5所示。.图5.5员工信息输入修改查询员工信息输入修改查询窗体添加的主要代码如下。void _fastcall TF_Info_Input:BB_ConfirmClick(TObject *Sender) /*确定按钮点击事件*/ F_Info-ADOQuery1-Post(); F_Info_Input-Close();void _fastcall TF_Info_Input:BB_CancelClick(TObject *Sender) /*取消按钮点击事件*/ F_Info-ADOQuery1-Cancel(); F_Info_Input-Close();5.3.3创建员工个人资料快速报表C+ Builder中提供了一组报表打印控件QuickReport,即“QReport”控件组,这组控件可以让程序员以可视化的方式来设计所需要的报表。这组控件主要是和数据库访问控件(Data Access Component)相互搭配运行。也就是说必须利用Table、Query、DataSource等控件来读取数据库的数据,再把QuickReportrt的控件连接上这些数据存取控件,那么数据就可以通过QuickReport的控件传输到打印机上。QuickReport是所谓的“带状”(Band)设计原理。首先必须拖拉一个QuickReport的控件到Form上,此时的可视化控件就会变成报表模式。然后再利用QRBand控件,将Form分割成一条一带状(Band)区域,并且分别设定每条QRBand控件代表的状况(属性BandType)。比如,报表的标题、表头、表身、页脚等,最后将各种类型的控件放在不同状况的Band上,如此即可完成一份报表的设计。员工个人资料快速报表窗体如图5.6所示。此窗体不用于实际的显示,只是QuickReport的一个载体。.图5.6员工个人资料快速报表创建报表的第一步在窗体上创建一个“QReport”控件中的“QuickRep”对象。它是其他快速报表组件放置的基础。接下来对其进行设置,首先是DataSet属性,这里是F_Info-ADOQueryl(员工信息管理窗体控件对象)。其次设置纸张大小,默认是A4。然后,将Bands中的Tiltle,Detail band,Page footer,Printlast page footer复选框选中。这样会在QuickRep 上产生3条Band。用鼠标拖动可以调整不同Band的高度。从上到下,依次是页面标题、详细列表行、页脚。页面标题和页脚会在每页的上下显示,详细列表行用来显示数据列表的各条记录。设置完成后可以单击“Preview”按钮预览当前的设置。预览也可以在QuickRep上单击右键,然后在弹出菜单中单击“Preview”来完成。本例中,页面标题行只需加入一个QRlabel控件对象,修改其Caption属性为“员工个人资料报表”,Font.Size属性为30最后在页脚行加入两个QRSysData控件对象,分别用来提取系统日期来显示打印日期,计算页数来显示打印页数。5.4创建辅助资料报表辅助资料管理相当于代码管理,仔细分析学历、职位、职称、政治面貌和部门辅助资料数据英可知。辅助资料管理窗体如图5.7所示。图5.7辅助信息管理窗体要实现本窗体DBLookupListBox控件对象对不同数据源中的数据字段进行显示,需要在进入辅助资料管理窗体的主窗体菜单单击事件中添加代码,即动态地改变DBLookupListBox对象的ListSource、ListField和KeyField属性。辅助资料管理窗体的代码如下void _fastcall TF_Assis:BitBtn1Click(TObject *Sender) /*添加按钮点击事件*/ int count_ID; /定义辅助资料数据表记录号变量 count_ID = ADOT_Count-FieldByName(Count_Value)-AsInteger; /取得course记录号的值 count_ID+=1; /记录号加1 if(!Edit1-Text.IsEmpty() /输入内容为空判断 DBLookupListBox1-ListSource-DataSet-Insert(); /插入一条辅助信息记录 DBLookupListBox1-ListSource-DataSet-FieldByName(DBLookupListBox1-KeyField)-AsInteger = count_ID; /选课信息记录号 DBLookupListBox1-ListSource-DataSet-FieldByName(DBLookupListBox1-ListField)-AsString = Edit1-Text; DBLookupListBox1-ListSource-DataSet-Post(); /执行插入操作 ADOT_Count-Edit(); /设置计数表为可编辑 ADOT_Count-FieldByName(Count_Value)-AsInteger = count_ID; /加1后的记录号存入计数数据表 ADOT_Count-Post(); /执行编辑操作 结论 至此已经完成了程序各个模块的编程和编译(主要介绍了比较重要的部分,完整程序请参考源代码),并且在Person数据库中添加了一些必要的初始化的数据,一个简单的人事管理系统基本完成。本系统涉及安全管理和数据代码管理,安全管理包括密码和权限认证等。其中安全管理和代码管理模块具有通用性。在数据获取方面,多用SQL控件,即ADOQurey控件。应用SQL控件,可以方便的进行数据单表或者多表组合查询,还可以简单的数据统计。由于本人水平有限本系统还有很多不完善的地方,还望大家能够体谅。致谢大学本科的学习生活即将结束,在此,我要感谢所有曾经教导过我的老师和关心过我的同学,他们在我成长过程中给予了我很大的帮助。感谢中南民族大学校提供的优秀学习环境和优良学术氛围,使得我在一个学术气氛浓厚,文献资料充足,互帮互助,共同进步的环境下,顺利完成论文。感谢李航高老师在系统开发的过程中给予的帮助和支持,她的教导和指点给予了我极大的鼓励;同时也感谢所有关心和

温馨提示

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

评论

0/150

提交评论