资源描述
1引言在这个信息迅速膨胀的社会,各行各业所要管理、涉及的数据信息量越来越多、越来越大。随着当前许多的中、小型企业的发展壮大,员工的数量也在不断的增加。随之而来的管理成本也在不断的提高。考虑到当前大量企业的人事管理尚处于手工作业阶段,不但效率低下,还常常因为管理的不慎而出现纰漏。因此根据部分企业提供的需求,设计此企业人事管理系统,以帮助企业达到人事管理办公自动化、节约管理成本、提高企业工作效率的目的。企业人事管理系统是典型的管理信息系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。企业人事管理系统可以提供丰富的功能,降低企业人事管理工作的强度,提高企业人事管理工作的效率,并依靠系统的网络功能为人事管理的使用创造良好的条件,从而能够适应企业人事管理的要求,推动企业人事管理的信息化建设。根据大多数企业人事管理的需求,本论文就该人事管理系统的设计与实现进行了分析探讨:首先对系统的需求分析做了叙述,然后介绍了系统的设计和实现,最后进行了系统测试。该企业人事管理系统采用基于客户端/服务端(C/S)模式开发,服务端采用SQL Server2005数据库服务器作为数据处理和存储平台,客户端应用程序采用Visual Stdio.NET 2005进行开发,开发语言选用C。用户必须使用客户端应用程序才能对服务端数据进行操作。2企业人事管理系统开发基础2.1管理系统简介2.1.1管理信息系统管理信息系统(MIS)是一个由人、计算机等组成的能进行信息收集、传递、存储、维护和使用的系统。管理信息系统是信息系统的一个分支之一,经过30多年的发展,已经成为一个具有自身概念、理论、结构、体系和开发方法的集管理科学、信息科学、系统科学及计算机科学等覆盖多学科的综合性学科。管理信息系统的结构通常由四个部分组成:信息源、信息处理器、信息用户和信息管理者。管理信息系统的主要任务一般要实现对基础数据的严格管理,确定信息处理过程的标准化,高效的完成日常处理业务、优化分配各种资源,包括人力、物力、财力等。MIS是一个人机结合的辅助管理系统,管理和决策的主题是人,计算机只是辅助的设备。目前国内使用和发展的MIS平台模式大体上分为两种:客户机/服务器(Client/Server,简称C/S)模式和Web浏览器/服务器(Browser/Server,简称B/S)模式。当前企业信息管理系统正在从C/S结构向B/S结构转移,但是由于安全性等方面的因素,C/S结构的管理信息系统仍然占据企业管理信息系统的主流。C/S模式系统以服务器作为数据处理和存储平台,在终端设计有专门的应用程序进行数据的采集和初次处理,再将数据传递到服务器端,用户必须使用客户端应用程序才能对数据进行操作。C/S模式具有以下优点和缺点:C/S 模式的优点: 由于客户端实现与服务器的直接相连,没有中间环节,因此响应速度快。 软件功能设计个性化,具有直观、简单、方便的特点,可以满足客户个性化的功能要求;如自由制表的功能在C/S 模式下就能够实现,在B/S 模式下就很难实现或运行效率很低。 操作界面漂亮、形式多样,可以充分满足客户自身的个性化要求。 C/S结构的管理信息系统具有较强的事务处理能力,能实现复杂的业务流程。C/S 模式的缺点: 需要专门的客户端安装程序,分布功能弱,针对点多面广且不具备网络条件的用户群体,不能够实现快速部署安装和配置。 兼容性差,对于不同的开发工具,具有较大的局限性。若采用不同工具,开发成本较高,需要具有一定专业水准的技术人员才能完成。2.1.2 企业人事管理系统的开发方法企业人事管理系统的开发是一个复杂的工程,它涉及到计算机处理技术、系统理论、组织结构、管理功能、管理知识等各方面的问题,至今没有一种统一完备的开发方法。但是每一种开发方法都要遵循相应的开发策略:1.系统要解决的问题。2.系统可行性研究,确定系统要实现的目标。3.系统开发原则。4.系统开发前的准备工作。5.系统开发方法的选择和开发计划的定制。2.2 SQL Server 2005及C# 简介2.2.1 SQL Server 20005数据库简介SQL Server 2005和SQL Server 2005 Express 都是微软开发的,一个全面的数据库平台,Express是SQL Server2005的免费版本,他们功能完全相同2005Express使用集成的商业智能 (BI) 工具提供了企业级的数据管理。SQL Server 2005Express 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。 SQL Server 2005Express 数据引擎是本企业数据管理解决方案的核心。此外 SQL Server 2005Express 结合了分析、报表、集成和通知功能。这使您的企业可以构建和部署经济有效的 BI 解决方案,帮助您的团队通过记分卡、Dashboard、Web services 和移动设备将数据应用推向业务的各个领域。与 Microsoft Visual Studio、Microsoft Office System 以及新的开发工具包(包括 Business Intelligence Development Studio)的紧密集成使 SQL Server 2005 与众不同。无论您是开发人员、数据库管理员、信息工作者还是决策者,SQL Server 2005 都可以为您提供创新的解决方案,帮助您从数据中更多地获益。 为了锻炼我对SQL Server 2005的理解和操作,我选择了SQL Server 2005作为后台数据库设计。2.2.2 C#简介在过去的二十年里,C和C+已经成为在商业软件的开发领域中使用最广泛的语言。它们为程序员提供了十分灵活的操作,不过同时也牺牲了一定的效率。对于C/C+用户来说,最理想的解决方案无疑是在快速开发的同时又可以调用底层平台的所有功能。他们想要一种和最新的网络标准保持同步并且能和已有的应用程序良好整合的环境。另外,一些C/C+开发人员还需要在必要的时候进行一些底层的编程。C# (C sharp) 是微软对这一问题的解决方案。C#是一种最新的、面向对象的编程语言。它使得程序员可以快速地编写各种基于Microsoft .NET平台的应用程序,Microsoft .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。 正是由于C#面向对象的卓越设计,使它成为构建各类组件的理想之选无论是高级的商业对象还是系统级的应用程序。使用简单的C#语言结构,这些组件可以方便的转化为XML 网络服务,从而使它们可以由任何语言在任何操作系统上通过Internet进行调用。 最重要的是,C#使得C+程序员可以高效的开发程序,而绝不损失C/C+原有的强大的功能。因为这种继承关系,C#与C/C+具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。C#具有以下的优点:A.简单 1.C#中指针已经消失。 2.不安全的操作,比方说直接内存操作不被允许了。 3.C#中:或-操作符是没用的。4.因为它是基于.NET平台的,它继承了自动内存管理和垃圾回收的特点。5.原始数据类型可变的数据范围像Integer,Floats等。6.整形数值0和1不再作为布尔值出现.C#中的布尔值是纯粹的true和false值而且没有更多的=操作符和=操作符错误.=被用于进行比较操作而=被用做赋值操作。B.现代 1.C#建立在当前的潮流上,对于创建相互兼容的,可伸缩的,健壮的应用程序来说是非常强大和简单的。2.C#拥有内建的支持来将任何组件转换成一个web service,运行在任何平台上的任何应用程序都可以通过互联网来使用这个服务。C.面向对象的1.C#支持数据封装,继承,多态和对象界面(即java中的interface关键字)。2.( int , float ,double)在java中都不是对象,但是C#引入和结构体(structs)来使原始数据类型变成对象int i=1;String a=i Tostring();/转换(或者)Boxing。D.类型安全1.在C#中我们不能进行不安全的类型转换像将double转换成boolean.。2.值类型(常量类型)被初始化为零值而引用类型(对象和类被编译器自动初始化为零值.。3 企业人事管理系统设计方案3.1 系统需求分析性能需求:整个系统应当操作简便,界面友好,维护简便。数据库要求运行稳定,执行速度快,数据安全性高。软件系统本身运行对计算机硬件平台和操作系统平台要求适中。功能需求:系统功能主要包括以下几个方面:一,信息管理. 包含员工信息管理,用户信息管理和部门信息管理.二,日志管理. 三,系统管理.各模块功能如下:a) 员工基本信息管理此功能模块主要完成员工大量基本信息的管理,包括员工信息录入,员工信息删除,员工信息修改等子模块,主要目的是协助企业管理人员管理新老员工的大量信息,将以往大量分散的信息统一集中到数据库中。b) 员工基本信息统计查询此功能模块主要提供给管理员查询员工信息详情,协助管理人员根据条件快速定位员工以及对员工信息的统计分析。通过此功能模块,管理人员可以对大量员工的详细情况进行统计,例如年龄段分析,工龄分析等。c) 部门基本信息管理此功能模块主要是提供给管理员对公司的部门进行分类统计。完成对公司新增部门或精简部门完成添加或删除等功能。d) 用户信息管理此功能模块主要是提供给管理员分配企业人事管理的权限。设置合法用户对整个管理系统实施管理。具有添加或删除或修改管理用户的功能。e) 账号管理此功能模块对系统中的账号进行管理,将用户密码加密存储,主要为安全方面考虑而设置,使用基于角色的权限控制来区分用户。f) 日志管理此功能模块将用户登录登出情况以及对系统的操作等进行日志记录备案以供需要的时候追踪查询。g) 登录系统此模块实现系统用户的安全登录,保护系统只接受合法授权用户的访问。用户需求: 因为此管理系统主要是针对大多数企业的人事管理部门管理公司内部人事而开发的,它仅仅是提供给人事管理部门的工作人员使用,也就是说用户角色都是单一的,他们都是系统的管理者,享有平等的权限.系统管理员点击用户管理,可以对用户信息表进行查询,编辑,删除,添加新用户等操作。合法用户在成功登陆系统后可以进行系统的整体操作.3.2系统设计原则A、实用性原则要力求最大限度地满足实际工作的需要,充分考虑各业务层次、各管理环节数据处理的实用性,把满足客户生产和管理业务作为第一要素进行考虑。B、可扩展性与可维护性原则为适应将来的发展,MIS系统应该具有良好的可扩展性和可维护性。软件设计尽可能模块化、组件化、是应用系统可灵活配置,适应不同的情况。C、安全可靠性原则应用软件与数据库系统的设计要做到安全可靠,防止非法用户的入侵。数据库的备份策略恰当,以防灾难性事故发生。D、用户界面设计原则图形化原则:用户界面的设计应做到美观大方。用户界面应直观、明了、条理清晰。实现“傻瓜型”管理易学、易用、易管理。E、数据库设计原则对数据库的设计因该体现一致性、完整性、安全性、可伸缩性和规范化。4 企业人事管理系统的设计4.1 系统设计概要系统设计要在理解需求和分析需求之后才能正确搭建.理解需求是在问题及其最终解决方案之间架设桥梁的第一步。开发者只有和客户充分理解了需求之后才能开始设计系统。否则,对需求定义的任何改进,在设计上都必须大量返工。分析需求是从客户的需求中提取出软件系统能够帮助用户解决的业务问题,通过对用户业务问题的分析,规划出系统的功能模块,即定义用例。这个步骤是对理解需求的升华,直接关系到该系统的质量。根据第三章的需求分析,企业人事管理系统采用基于客户端/服务端(C/S)模式开发,服务端采用SQL Server2005数据库服务器作数据处理和存储平台,客户端应用程序采用Visual Stdio.NET 2005进行开发,开发语言选用C。用户必须使用客户端应用程序才能对服务端数据进行操作。4.2 数据库的设计根据需求分析,本系统后台数据库共分为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)本图由后台SQL数据库关系图向导引导下自动生成。图4.1数据库关系图4.3 系统模块的设计经过对系统的整体需求有了深刻了解之后,确定本企业人事管理系统的功能管理模块包括:1.员工基本信息管理。2.部门基本信息管理。3.用户账号管理。4.用户信息管理。5.登陆日志管理。6.员工基本信息查询管理。图4.2管理模块框架图用例图标记了企业人事管理系统的所有用例,并形象地描述了各用例与用户角色之间的关系。如图4.3所示。企业人事管理系统管理工作人员员工基本信息管理员工信息查询管理用户账号管理用户信息管理管理管理登陆日志管理部门基本信息管理图4.3用例图信息管理日志管理企业人事管理系统系统管理退出修改密码注销用户信息管理员工信息管理部门信息管理对系统有了详细设计之后,确定了本企业人事管理系统的模块关系图(4.4).图4.4模块关系图4.4系统界面设计虽然说程序设计最核心的地方是程序的功能,但程序的界面设计是不可忽视的,它直接影响到程序的易用性。尤其在Windows时代,一个良好的应用界面会给你的程序锦上添花,甚至有画龙点睛之韵味。用户界面:又称人机界面,实现用户与计算机之间得通信,以控制计算机或进行用户和计算机之间得数据传送得系统部件。本企业人事管 理系统严格遵守用户界面设计规范.系统坚持图形用户界面(GUI)设计原则,界面直观、对用户透明,用户接触软件后对界面上对应的功能一目了然、不需要多少培训就可以方便使用本应用系统。该企业人事管理系统在界面设计中也保持了界面的一致性。一致性既包括使用标准的控件,也指使用相同的信息表现方法,如在字体、标签风格、颜色、术语、显示错误信息等方面确保一致。对系统有了深刻分析之后,确定了此企业人事管理系统的界面主要由6部分组成:1.用户登录界面2.系统信息管理界面3员工信息管理界面4.部门信息管理界面5.用户信息管理界面6.日志信息管理界面并严格根据界面设计原则,设计出了该企业人事管理系统的全部界面。4.5典型代码设计用户登陆功能的代码设计:IF用户名为空消息框显示请输入用户名IF密码为空消息框显示请输入密码ELSE读取用户名,密码IF用户名不存在消息框显示用户名不存在返回IF密码错误消息框显示密码错误返回ELSE显示在线用户日志记录说明:此段代码设计主要是实现合法用户的正常登陆,如果用户名为空,密码为空,或用户名不存在,都将不能正常登陆该系统.合法用户正常登陆后,系统将显示当前在线用户名,并日志记录.更改密码功能的代码设计:IF不输入密码消息框显示不允许密码为空IF密码与确认密码不等消息框显示两次输入密码不一致ELSE存储新的密码退出更改密码界面说明:此段代码设计主要是实现更改密码的功能.不允许密码为空,并且密码与确认密码要相同.成功修改密码后,数据库存储新的密码,然后退出更改密码的界面.用户管理中添加用户信息的具体代码实现: 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();说明:此段代码主要是实现用户管理中添加用户的功能.添加的用户名不能为空,密码与确认密码应相同,所属用户部门在下拉菜单中选择,从而完成一次添加用户过程。由于篇幅有限,仅对部分功能给出设计思路和具体实现。5 系统测试5.1 测试环境5.1.1 硬件环境普通计算机配置。5.1.2 软件环境系统软件:WindowsXP工具软件:.NET 2005、SQL Server 2005。5.2 主要模块测试5.2.1系统登陆模块经过上面各节的工作后,基本上完成了一个档企业人事管理系统的开发。经过编译后,在菜单中选择调试-启动调试命令,则会出现系统的登录界面,如图5.1所示。图5.1系统登陆图输入用户名和密码,单击“确定”按钮,当身份验证成功后进入企业人事管理系统主界面.如果密码错误则会显示出错提示,如图5.2所示。图5.2系统登陆界面用户登陆成功后.进入系统主界面.在主界面中可以进行系统的管理.比如更改密码,退出和注销. 测试更改密码功能如图5.3所示,用户输入新的密码,确认密码与密码相同,点确定按钮,则完成了密码更改的操作.如下图5.3所示。图5.3更改密码界面图单击退出选项,则会弹出一个对话框,点确定则退出整个系统,点取消则会返回到成功登陆系统后的状态.如图5.4所示。图5.4退出界面图5.2.2信息管理模块信息管理模块中包含员工信息管理子模块,部门管理子模块和用户管理子模块.首先测试员工信息子模块,企业人事管理人员通过该界面实现对员工信息的管理,在窗体中,管理人员可对员工的信息进行修改,添加,查询和删除操作。当管理人员在列表中选择修改员工信息时,其出现的“编辑区”内便会显示出该员工的详细信息。在原来的信息中修改员工相关的信息,修改完毕后点击确定按钮,则完成了员工信息修改的操作,如图5.5所示。图5.5员工信息管理中修改员工信息图然后我们来测试用户管理子模块,在此模块中可以完成用户的添加,删除和修改功能.以下是用户信息的添加界面.在用户名框里写入要添加用户的用户名,密码与确认密码必须相同,最后在所属部门框里,通过下拉菜单,选择用户所属部门,从而完成添加用户的整个操作.如图5.6所示。图5.6用户信息管理图最后是部门管理子模块的测试,在此模块中,能完成部门的添加,修改和删除功能.如图5.7所示。图5.7部门管理界面图5.2.3日志管理模块进入日志管理中的查看日志,就可以看到如下图5.8所示的内容,在此模块中,主要记录了用户登陆登出的一些信息,如用户登入登出事件的信息,用户登陆时间.图5.8日志管理图由于篇幅所限,仅对企业人事管理系统的大部分功能进行了测试和讲解,其他功能模块的实现请通过系统操作查看。系统在上述软硬件环境下,通过对详细设计功能作出测试,结果能够达到预期功能。结 论在开发过程中,我深刻体会到了.NET技术的魅力,认识到在网络经济到来的今天,掌握好一门计算机语言,并把它运用到力所能及的应用程序开发中去的重要性和现实意义。我这次毕业设计的目标是建立一个基于C/S的企业人事管理系统,它用到的开发工具是Visual studio.NET 中的Visual C#语言,SQL Server数据库。最后完成了预定的功能的开发,包括:员工基本信息管理、员工基本信息统计、查询部门、基本信息管理、用户信息管理、账号管理、日志管理等功能的设计与实现。本学期的毕业设计使我经历了一个完整的软件开发过程。设计此软件,对于没有开发经验的我来说,无疑是一个巨大的挑战。从学习开发数据库,选择题目,需求分析,总体设计,详细设计直到最后编码测试,一步一步学习,一点一点积累,最后形成一个完整的系统,这对我来说也是一个很大的考验。由于是第一次编写这样的软件,没有经验,前期工作做的不是很好,多亏了老师的指导与同学的帮助,才得以重上征途,但已浪费了很多时间。由于个人能力及时间有限,有一些实际问题没有考虑到。软件中不可避免地存在着不足和疏漏,有待进一步完善。所以,最后所完成的系统还显得较为稚嫩,原计划的一些功能还来不及实现,比如报表打印,住房公积金和社保金的网上处理等都未实现。但是,通过本次程序设计,开阔了自己的视野,拓宽了自己的知识面,提高了认识和学习新事物的能力,特别是增强了自己在程序设计方面的信心和动手实践能力,这些对于未来的工作无疑将是一笔宝贵的财富。致 谢本文是在指导老师的热情关心和指导下完成的,他渊博的知识和严谨的治学作风使我受益匪浅,对顺利完成本课题起到了极大的作用。在此向他表示我最衷心的感谢!在论文完成过程中,本人还得到了所有教过我的老师和同学们的热心帮助,本人向他们表示深深的谢意!最后向在百忙之中评审本文的各位老师表示衷心的感谢!
展开阅读全文