1、江苏技术师范学院毕业论文摘 要 人事管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面.对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。系统分析部分,通过对企业人事管理的分析,确定了本系统应用于Windows NT,网络建立在 Windows 2000 Server 等操作系统软件平台之上。在人事管理系统的分析中确定了系统大概要完成的功能和使用DELPHI 6.0 和SQLSEVER2000作为开发工具.系统开发环境部分,着重介绍了开发工具DELPHI 6。0和SQL SEVER2
2、000的基本特性以及选择的原因.需求分析部分,分析了人事管理系统的基本目标和功能要求,包括项目背景和开发目标,系统的用户需求和具体系统功能需求描述。人事管理系统的详细设计部分说明了依据系统分析与设计时提出的要求,予以编程实现的过程,重点介绍了数据库的详细设计和人事管理系统各模块的详细设计以及系统的测试方案。关 键 词 :信息管理系统,数据库,人事管理系统,DELPHI【Abstract】The system of managing people file is a typical application of managing information system (know as MIS),
3、which mainly includes building up database of back-end and developing the application interface of frontend。 The former required consistency and integrality and security of data。 The later should make the application powerful and easily used .The parts of system analysis, the Windows NT system is or
4、dered applying the this system .The network build up Windows2000 Server of operation system soft plate 。By analysis the personnel manage system decides most function that the system must be finished and the DELPHI 6.0 and SQL SERVER2000 being used by developed tools .The parts of request analysis, i
5、t analysis the base object and function request of personnel manage system, including system analysis and request of design ,user request and specific function request of system 。The parts of particular design ,the request of system analysis and design ,the process of programs coming true ,keystone
6、introduce the particular design of database, data flow chart of system and modules particular design of personnel manage system and test project of system.Key Word:Information Management System,Database Management System, personal management system,Delphi。 目 录前言一 企业系统分析1.1企业管理系统简介 1.2人事管理系统简介二 系统开发环
7、境2.1 DELPHI 6。0 简介 2。2 SQL SEVER 2000 简介 三 人事管理系统的需求分析3。1 人事管理系统的简要分析3.2 项目背景及开发目标3.3 人事管理系统设计四 数据库的设计 4。1安装SQL7.0 FOR WIN2K数据库管理系统 4。2系统数据模型设计4.2。1关系模型 4.2.2 库概念结构设计 4.2.3数据库逻辑结构设计 五 功能模块设计 5.1三层结构 5。1。1表示层(common) 5.1。2业务逻辑层(BLL) 5.1.3数据访问层(DA) 5。2登陆程序设计 5.3人事管理模块设计 5.3.1功能设计 5.3.2机构管理 5。3。3 部门管理
8、5。4系统管理模块设计 第六章 总结 致谢 参考文献 前 言人事管理系统是企业管理系统中不可缺少的重要组成部分,它的内容对于企业的决策者和管理者来说都至关重要,所以人事档案管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件何数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对人事档案信息进行管理,具有着手工管
9、理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等.这些优点能够极大地提高人事档案管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情。第一章 企业系统分析1. 1企业管理系统简介:随着市场经济的发展,面临着信息技术的挑战,每个经营者都想提高商品流通效率,降低经营成本,发挥规模整合效应,消费者对商品的需求日益多元化,商品种类的多样化,商品经营方式更是连锁化和规模化,以及商品行为过程中信息数据化。为了满足消费者的需求,合理处理信息数据,把握市场动态,过去靠手工作坊式管理的商家,已无法适应瞬息万变的市
10、场运作。为了实现内部各个流通环节的密切合作,信息技术广泛应用于激烈的市场竞争,因此,基于市场的需求,应用国外的先进技术和经营理念,结合我国的商业现状,联合科研院所协同开发出一整套具有市场针对性的,以“信息流、资金流、商品流、票据流”为主体的商业自动化管理系统,给商家企业走出信息盲区,进入科学经营提供了先进手段。 系统软件均可应用于Windows NT网络,建立在 Windows 2000 Server 等操作系统软件平台之上。前台收款软件工作在Windows 2000上,全套系统用Delphi 6开发,MS中文 SQL Server 2000大型数据库。1.2人事管理系统简介本系统是人事管理系
11、统的一个组成部分,人事管理系统是针对企业力资源部门的大量业务处理工作而开发的管理软件。根据用户的要求,实现人员基本情况管理、工资管理、和考勤管理.等几个方面的功能。用户通过输入工资、考勤、职工履历等基本信息,由系统自行生成相应的统计数据及各类表以供用户查询、打印,另外用户还可以对这些基本信息进行定期的更新和删除, 人事管理系统力求给用户方便快捷的途径去管理这些繁琐的数据.人事管理系统能够更好的管理连锁超市的人员信息,工资信息和人员调动信息,能够使管理者和管理部门能够科学的合理的公平的对企业进行管理。第二章 系统开发环境2。1 DELPHI 6.0 简介:Delphi 6 是Inprise公司推
12、出的开发工具Delphi 5的升级版本,它在很多方面都有很大的改进,这是开发人员在开发程序时更加方便、快捷。Delphi 6在Internet的应用开发、快速直接的数据库访问、团队协作、集成化开发与集成调试环境方面作了很大的改进。特别是快速、直接的数据库访问方面,其支持ADO利用ADO,Delphi 6能够快速访问关系型和非关系型数据库.它是真正的面向对象的,它的基本语言是object pascal。Pascal语言以其丰富的数据类型、结构化编程思想和严谨的语法风格得到了广大程序员的钟爱.Object Pascal在Pascal语言的基础上扩充了面向对象的特性,支持封装、继承、派生、多态等基本
13、的面向对象的特性,使其成为了与C 一样的完全面向对象的语言。Delphi 6使用完全的编译和连接器,生成百分之百的可执行代码,避免了许多其它windows开发环境因采用非完全编译获生成伪代码而导致的系统性能的下降。因此,Delphi 6在系统开发和应用开发,尤其是在数据库应用开发方面显示了强大的功能,它是世界最优秀的开发工具之一。2.2 SQL2000 简介:SQL Server2000是微软公司推出的基于RDBMS(关系数据库管理系统)技术的数据库。它与ORACLE、SYBASE相比,有着安装方便、使用简单的优点,而且在性价比上有着其它数据库无法企及的优势。在我国,采用WINDOWS NT作
14、为局域网操作系统的占不小比例,而从技术角度来说,同DB2结合大型机一样,SQL Server同WINDOWS NT紧密的结合在一起。能很好的处理部门级的数据。作为SQL Server 系列中的新版本,SQL Server2000增强了很多功能,服务器性能主要有:新数据类型、数据仓库、分布式查询和更新、动态锁定、通过MICROSOFT代理服务器访问SQL Server、新的安全模型、XML支持等;管理性能增强有:数据转换服务工具(DTS)、管理控制台(企业管理器)、WEB助手向导等。SQL Server 2000所具有的将关系数据库管理系统(RDBMS)扩展为虚拟的对象数据库管理系统(ODBMS
15、)的能力,使SQL Server2000成为当今应用于Intranet、Internet及其extrnet中最具综合性的数据库开发环境。这就是我们采用SQL Server2000作为支持数据库的主要原因。第三章 人事管理系统的需求分析 3.1 人事管理系统的简要分析: 本系统是企业为大量人事工作而开发的管理软件。根据用户的要求,实现人员基本情况管理、工资管理、和考勤管理.等几个方面的功能。用户通过输入工资、考勤、职工履历等基本信息,由系统自行生成相应的统计数据及各类表以供用户查询、打印,另外用户还可以对这些基本信息进行定期的更新和删除,人事管理系统力求给用户方便快捷的途径去管理这些繁琐的数据。
16、3。2 项目背景及开发目标:a) 项目背景: 本系统是应江苏技术师范学院计算机系的要求,由本人在导师老师的指导下开发,属于企业管理系统的一个组成部分。b) 开发目标:能够对企业人事管理中的各种信息包括(人事基本档案管理,部门人员调动信息,考勤记录信息等)进行更加规范和科学的管理和应用。3.3 人事管理系统设计3.3。1.人事档案管理系统主要有几个功能要求:a。 新员工资料输入b. 人事变动的详细记录,包括(员工编码,门店编码,部门编号等)c。 员工信息的查询和修改,包括(员工编码,门店编码,部门编号,合同号,社会关系等)3.3.2系统功能模块3。3。3数据库设计分析第四章 数据库的设计 4.1
17、安装SQL7.0 for Win2K数据库管理系统 创建数据库: 在Enterprise Manager中打开本地服务器结点。如图所示: 首先选中数据库结点,然后从action菜单或在右面窗口点击鼠标右键,从弹出的菜单中选new database,系统弹出下图:在name中填上数据库的名字ckgl,在database files选项组中会自动产生此数据库的主文件,然后选择保存的相应路径.在transaction log标签中,对数据库的日志文件进行设置,并保存在相应的路径下。 4.2系统数据模型设计 4。2。1关系模型: 1、员工登陆日志表(日志ID号,用户ID号,登陆时间,登陆是否成功,登出
18、时间,登录主机IP地址,登录打败时间) 员工登陆日志表: 2、员工基本信息(员工号,姓名,所在系号,所在系名,性别,生日,籍贯,国籍,民族,身份证号,婚姻状况,健康状况,政治面貌,参加时间,血型,开始工作时间,家庭住址,电话,岗 位代号) 人员基本信息(MrBaseInf) 3、员工婚姻信息(员工号,爱人代号,爱人姓名,爱人生日,结婚时间,爱人工作,位,爱人政治面貌,爱人工作职务) 4、员工学历信息(员工号,学历,专业,毕业时间,毕业学校,学校类型,外语1,外语1级别,外语2,外语2级别) 5、员工考勤信息(员工号,姓名,日期,本月天数,公休假天数,应出勤天数,请假,节假日加班,其它加班) 6
19、、员工工资信息(员工号,姓名,底薪,补贴,奖金,加班,代扣养老金,代扣医疗保险,代扣住房公积金,所得税,房贴,房租,实发工资) 7、人员编码(人员编码,人员姓名,密码) 8、用户授权(序号,人员编码,程序号) 9、部门基本信息(部门名称,机构,负责人,电话号码1,电话号码2,传真) 部门基本信息(mrDepartment):4。2.2 库概念结构设计 这一设计阶段是在需求分析的基础上,设计出能够满足企业需求的管理。本实例根据上面的设计规划出的实体有人员理实体、日志实体、信息实体、照片实体、部门实体、项目实体。各个实体的ER图及其关系描述如下。 下图为人事管理实体E-R图。 下图为项目管理实体E
20、R图: 下图为日志实体ER图: 4.2.3数据库逻辑结构设计 在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系. (共两个关系表) 表一代码: SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO ALTER VIEW sysconstraints AS SELECT constid = convert(int, id), id = convert(int, parent_obj), colid = convert(smallint, info), spare1 = convert(tinyint, 0), statu
21、s = convert(int, CASE xtype WHEN PK THEN 1 WHEN UQ THEN 2 WHEN F THEN 3 WHEN C THEN 4 WHEN D THEN 5 ELSE 0 END + CASE WHEN info != 0 CNST_COLUMN / CNST_TABLE THEN (16) ELSE (32) END + CASE WHEN (status 16)!=0 - CNST_CLINDEX THEN (512) ELSE 0 END + CASE WHEN (status 32)!=0 - CNST_NCLINDEX THEN (1024)
22、 ELSE 0 END + (2048) CNST_NOTDEFERRABLE + CASE WHEN (status 256)!=0 - CNST_DISABLE THEN (16384) ELSE 0 END + CASE WHEN (status 512)!=0 - CNST_ENABLE THEN (32767) ELSE 0 END + CASE WHEN (status 4)!=0 - CNST_NONAME THEN (131072) ELSE 0 END + CASE WHEN (status & 1)!=0 - CNST_NEW THEN (1048576) ELSE 0 E
23、ND + CASE WHEN (status & 1024)!=0 CNST_REPL THEN (2097152) ELSE 0 END), actions = convert(int, 4096), error = convert(int, 0) FROM sysobjects WHERE xtype in (C, F, PK, UQ, D) AND (status & 64) = 0 GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO 表二代码: SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS
24、ON GO ALTER VIEW syssegments (segment, name, status) AS SELECT 0, system , 0 UNION SELECT 1, default , 1 UNION SELECT 2, logsegment , 0 GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO 第五章 功能模块设计 5。1三层结构 本系统采用3个逻辑层的设计模型,分别为表示层、业务逻辑层和数据访问层,这种模型使系统结构更清楚,分工更明确,有利于后期的维护和升级。 5.1.1表示层(common) 用户表示层为客户
25、端提供应用程序的访问,在本系统中该层用的即是ASP.NET页面。此层在本系统中的Web项目的形式实现. 5.1。2业务逻辑层(BLL) 业务逻辑层实现应用程序的业务功能。本系统中该层用的即是BLL项目的形式实现. 5.1。3数据访问层(DA) 数据访问层为业务逻辑或表示层提供数据服务.本系统中该层用的即是DA项目的形式实现. 表示层 业务逻辑层 数据访问层 数据库 图5-3-1一、数据访问策略 数据访问策略是应用程序用来存储、检索和管理数据的方式。本系统的系统数据访问策略旨在优化性能和可缩放性。主要采用了以下两个策略。 1、 数据访问层对数据库的访问基本上均采用存储过程的方式进行.利用存储过程
26、可以保持应用程序的执行效率并简化数据库,另外可以增加系统设计的灵活性,在数据库发生变化时,有时可以通过改变存储过程语句而无需改变程序代码即可实现.该数据库访问策略有效利用了SQL Server 数据库系统对性能优化的特点。 2、 将数据库资源保留最短的时间。数据库资源稀有且昂贵,本系统所用的系统数据库访问层尽可能推迟分配数据库资源,并尽可能快地释放数据库资源.并使用using 或 try catch finally 块对存储过程进行调用,此模式封装了对不受运行管理的资源的控制,可以尽可能快地释放数据库资源。 二、系统配置 本系统所用的系统配置主要是通过Web应用程序的Web。Config 配置
27、文件实现的.Web.Config 位于本系统的Webs项目的根目录中,它是XML格式的文件,可以使用任何标准文本编辑器或XML分析器编辑该文件,但不能使用Web浏览器远程访问该文件.本系统中的Web。Config 配置文件中有3点要注意的。 1、 保存数据库连接字符串 将数据库连接字符串保存在Web。Config配置文件中appSettings 节中,便于系统的各个页面进行调用.同时,在系统重新部署时,只要修改此处的数据库连接字符串,。NET框架运行时会自动检测Web。Config 中的更改,不必重新启动IIS这些更改即可生效。 要在其他页面中引用数据库连接字符串需要先添加对System。Co
28、nfiguration 命名空间的引用,在System。Configuration 命名空间中含有ConfigurationSettings 类,它提供对指定配置小节中设置的访问,其公共属性 ConfigurationSettions.AppSettings 属性可获取appSettings元素配置节中的设置,其读书到的值为String 类型。 2、 系统错误重定向 在Web。Config 配置文件中,通过对customErrors节进行设置,可以自定义默认的出错页面。 此节点可设定如下的3种报错模式,默认为RomoteOnly 模式。 关闭(Off)模式:一旦发生错误,ASP.NET把默认的
29、报错页面显示给本地和远程用户。 开启(On)模式:当报错模式属性被设为“开启时,ASP。NET 把自定义的出错页面而不是其默认的系统报错页面显示给本地和远程用户。 只有远程启动(RomoteOnly)模式:ASP.NET的报错页面只能被本地用户看到.远程用户用的访问请求,将会显示自定义的出错页面。 “defaultRedirect” 属性的值定义了默认的自定义的错误页面,此外还可以根据不同的出错值,设定不同的出错页面。 在本系统中,通过上面的代码可设置打开自定义出错页面显示,如果发生404错误(找不到页面)时,将转向“error404。aspx” ,发生其他错误时,页面时,页面将转向“erro
30、rpage.htm” 默认错误页面。 3、 设置请求和响应编码 在Web。config 配置文件中,通过对节设置本系统中的系统请求和响应编码默认为简体中文。 5.2登陆程序设计 登陆程序是人员管理系统运行后首先打开的界面。在这个界面,用户必须输入预先设定好的用户名以及密码才能进入,这样有利于防止他人在没有授权的情况下进入系统,修改系统中的数据,对单位造成不必要的损失. 登陆窗口的界面如图33-2所示: 图5-3-2该窗口中放置了2个文本框TextBox控件,分别显示“帐号”和“密码”。在窗口的下方还放置1个“确认” 按钮控件。 private void btnlogin_Click(objec
31、t sender, System.EventArgs e) EmpDB AloginUsr=new EmpDB(); String strLoginID= username。Text 。Trim (); String strPassword =password.Text 。Trim (); string strReason; string strUserID; string strValid; string NewLogin; String strLoginflag =AloginUsr.Login (strLoginID,strPassword); if(strLoginflag0=”use
32、rerrorstrLoginflag0=pwderror”strLoginflag0=noacount”) strUserID = username。Text 。Trim (); strValid= ”否”; strReason=strLoginflag1; NewLogin=new string strUserID, DateTime。Now .ToString (), strValid, , Request。UserHostAddress .ToString (), strReason ; DbManagerLogininfo myclassfologin=new DbManagerLog
33、ininfo (); myclassfologin。insertLoginUser (NewLogin); Response。Write(”script language=javascript”); Response.Write(”window。alert(”); Response.Write(strReason); Response。Write(”);); Response.Write(/script”); else Response。Cookies”empint”。Value=username。Text; Response。Cookies”empint”.Expires=DateTime.
34、Now。AddDays(1); strUserID=username.Text 。Trim (); strValid=”是; strReason=; strReason=strLoginflag1; NewLogin=new string strUserID, DateTime.Now 。ToString (), strValid, ”, Request.UserHostAddress .ToString (), strReason ; DbManagerLogininfo myclassfologin=new DbManagerLogininfo (); myclassfologin。ins
35、ertLoginUser (NewLogin); Session”EmpID”=Int32。Parse(strLoginflag0); Sessionusername”=username.Text; string tt=qminoa = window。open(+Request。ApplicationPath+/index.aspx+” +”,toolbar=no,menubar=no,titlebar=yes,directories=no,resizable=yes,status=yes,fullscreen=no,top=0;left=0,width=900,height=700); Re
36、sponse。Write(”script language=javascript”); Response.Write(tt); Response。Write(qminoa.moveTo(0,0);”); Response。Write(qminoa。resizeTo(screen.availWidth,screen.availHeight);); Response.Write(window。opener=null;”); Response。Write(window。close();); Response.Write(”/script); 该事件以用户输入的帐号和密码来连接数据库,并且提示用户帐号
37、和密码不能为空,如果为空将不能进入系统。当用户输入正确的帐号和密码后,将打开主窗口,并关闭当前的登陆窗口。 技术点总结: 在本系统中用户身份验证的方式是通过session方式实现的,这和以前ASP程序实现用户验证方式比较相近。在ASP。NET中还提供了另外3种验证方法:Windows验证、Passport验证和Cookie验证。 5。3人事管理模块设计 5.3.1功能设计 1、 机构信息 该模块面向企业或集团应用,能够添加企业或集团公司的各分支点部门和机构,但只有人力资源管理员相应权限才有权力添加或删改机构信息。此子模块提供信息的基本数据库操作:添加、修改和删除. 2、 部门信息 管理各分支机
38、构的所属的部门信息。包括各部门的负责人、电话号码、传真、地址等。只有人力资源管理员可对部门列表进行浏览、新增、编辑、删除等操作,其他人员只能看到相应权限的栏目. 3、 人员管理 包括员工的基本信息、个人信息、福利待遇、学历信息、履历信息、档案信息、合同信息;并提供简捷明了的按机构、部门、个人名字等条件进行检索、录入和修改. 4、 人员照片 提供以员工照片的形式浏览员工的基本信息,可按机构、部门和单个员工查阅详细信息资料。同时便于新员工、跨部门的员工相互间尽快认识和熟悉起来。 5。3.2 机构管理 1、 机构管理页面BranchInf.aspx 本页面主要包括机构添加模块和机构列表,机构列表实现
39、了机构的修改和删除功能. 机构添加模块主要由两个文本控件和验证控件组成. TD class=”tttable style=”WIDTH: 69px”机构名称 /TD /TD asp:requiredfieldvalidator id=”valName runat=”server” CssClass=td” ControlToValidate=”txtName” ErrorMessage=”机构名称必须输入! FontSize=”XSmall”*/asp:requiredfieldvalidator/TD TD class=”tttable style=WIDTH: 55px机构简称 /asp:
40、textbox/TD TD noWrap asp:requiredfieldvalidator id=valSimCode” runat=server” CssClass=td ControlToValidate=”txtSimCode ErrorMessage=机构简称必须输入! FontSize=X-Small*/asp:requiredfieldvalidator asp:linkbutton id=”cmdAdd runat=”server” CssClass=td” Font-Size=”X-Small”/TD /TR /TABLE 机构列表由DataGrid 实现,数据源设置为Br
41、aTB,它由后台代码提供。 asp:datagrid id=dgdBranch runat=”server” Width=445px” DataSource=”% BraTB DataKeyField=”branchid” BorderWidth=1px BackColor=”#F7F7F7 BorderColor=”#F7F7F7 CssClass=”table” BorderStyle=”Solid” AutoGenerateColumns=False” FontSize=XSmall SelectedItemStyle BackColor=”Transparent”/SelectedItemStyle EditItemStyle ForeColor=Black BackColor=”Black”/EditItemStyle AlternatingItemStyle BorderColor=”White” BackColor=White” ItemStyle CssClass=textcenter BackColor=DEDFDE”/ItemStyle FooterStyle CssClass=”headcenter”/FooterStyle Columns /asp:BoundColumn /asp:BoundColumn asp:TemplateColumn Head