南 京 工 程 学 院
毕业设计说明书(论文)
作 者: 李俊 学 号: 202090633 院 系: 计算机工程学院 专 业: 电子信息科学与技术 题 目: 基于Eclipse的人事管理系统的设计
指导者: 韩磊 讲师
评阅者: 陈敏聪 讲师
2013年6 月 南 京
毕业设计说明书(论文)中文摘要
在当今社会,互联网空前的发展,给人们的工作和生活带来了极大的便利和高效,信息化、电子化已经成为节约运营成本,提高工作效率的首选。考虑到当前还有一些企业的人事管理尚处于手工作业阶段,不但效率低下,还常常因为管理的不慎而出现纰漏。因此根据部分中小型企业的需求,设计此企业人事管理系统,以帮助企业达到人事管理办公自动化、节约管理成本、提高企业工作效率的目的。 本人事管理系统以B/S模式实现,以MySQL数据库作为开发数据库。在添加了网站开发插件的Eclipse中创建工程,使用Java语言设计操作控件和编写操作程序,完成数据输入、修改、存储、调用查询等功能,在前端用jsp页面对操作结果进行显示。MySQL数据库中存储了系统所需的所有数据表,根据系统的功能需求在程序中执行SQL语句就可以对数据表中的信息进行修改。本文设计的系统的主要功能有:对部门、职员和文档进行添加、删除等处理。 本设计中文档模块是人事管理系统的创新点,它能够促进公司文化的交流,有助于公司的发展。 关键词:人事管理系统、Eclipse、MySqL、tomcat
毕业设计说明书(论文)外文摘要
Title Design of The Human Resource Management System Based on Eclipse Abstract In our society, the unprecedented development or Internet has brought us great convenience and efficiency. Informatization and electronization have become the first choice of saving operation cost and improving work efficiency. Some enterprises’ personnel administration systems lie in the phase of manual management which is inefficient and easy to go wrong by carelessness. Therefore, this Management Information System is designed to make the personnel administration more scientific, normative and efficient. The personnel management system adopts the structure mode of browser/server(B/S). It is based on the MySQL database as a development database and create the project in the Eclipse which is added the Web Development plugs. The use of Java design, operation control and the preparation of operating procedures, data entry, modification, storage, call the query function; and the use of JSP page from displaying the operation result. MySQL database stores all the data table needed by the system. According to the functional requirements of the system,we can modify the information in the data table by executing SQL statements in the program. The main function of the system are: the Department, staff and document to add, delete and so on. The document module is an innovation of the system, it can promote the communication and contributes to the development of the company. Keywords: Human Resource Management System, Eclipse, MySqL, tomcat
目 录
前言 .................................................................. 1 第一章 绪论 ........................................................... 2
1.1 课题研究意义 ................................................... 2 1.2 国内外研究现状 ................................................. 2 1.3 课题研究内容 ................................................... 3 第二章 开发工具的选择 ................................................. 4
2.1 Java语言 ...................................................... 4 2.2 MySQL数据库 ................................................... 5 2.3 tomcat服务器 .................................................. 6 第三章 系统分析 ....................................................... 8
3.1 可行性分析 ..................................................... 8 3.2 运行环境分析 ................................................... 9 3.3 需求分析 ....................................................... 9 第四章 系统总体设计 .................................................. 12
4.1 功能描述 ...................................................... 12 4.2 数据库设计 .................................................... 13 第五章 系统详细设计 .................................................. 15
5.1 机构模块设计 .................................................. 15 5.2 部门模块设计 .................................................. 19 5.3 员工模块设计 .................................................. 24 5.4 文档模块设计 .................................................. 27 第六章 系统测试 ...................................................... 31
6.1 测试意义 ...................................................... 31 6.2 测试方法 ...................................................... 31 6.3 进行测试 ...................................................... 31 第七章 结束语 ........................................................ 34 参考文献 ............................................................. 35 致谢 ................................................................. 36 附录:英文技术资料翻译 ............................................... 37
—i—
英文原文 .......................................................... 37 中文译文 .......................................................... 42
—ii—
南京工程学院毕业设计说明书(论文)
前言
随着计算机、网络技术和信息技术的发展,现在的办公系统更加趋于系统化、科学化及网络化。网络办公自动化系统是计算机技术和网络迅速发展的一个办公应用的解决方案,它的主要目的是实现信息的交流和信息的共享,提高办公效率。现在还有一些中小型企业的人事管理仍然需要人力通过在纸张上来实现,这种企业信息的管理方发已经不能够适应时代的发展,因为耗费了很多物力以及人力,在信息迅速发展的时代这种管理机制必然会被现代化的管理系统所取代。随着国际市场经济快速的发展,人事管理系统在企业日常管理中发挥着越来越重要的作用。人事管理系统可以进行公司的信息管理、员工档案的管理、公司文化交流等,方便处理企业内部结构、员工的相关信息。
在这个信息迅速膨胀、计算机技术及网络技术飞速发展的社会,计算机在企业管理中的应用也得到了普及,利用计算机实现企业人事的管理势在必行。
信息涉及到不同的领域蕴含着不同的意义,就管理科学领域而言,信息通常被认为是一种经过有次序符号排列加工处理的一种数据形式,它是供系统传输和处理的对象。在信息迅速发展的今天,信息所凸显出来的巨大作用慢慢被人们所洞悉。研究投资策略,制定工作计划,都需要收集大量的信息并加以从分的利用。管理信息系统是一种“人机系统”,它以一种特定的模式支持一个组织内各级组织机构之间的信息管理,对信息数据进行快速的加工、处理,大大的提高了组织管理的效率,同时也能够及时的为决策分析提供信息。
人事管理系统的开发主要包括前端应用程序的开发以及后台数据库的建立与维护。对于前者要求应用程序具有功能完备、易操作等特点,而对于后者则要求建立一个具有一致性数据和数据安全性好、完整性强的数据库。本文就人事管理系统的设计与实现进行了分析:首先对系统的需求进行了分析,然后介绍了系统的整体设计,之后阐述了系统的详细设计与实现,最后进行了系统测试。本人事管理系统采用基于网页端/服务端 (B/S) 模式开发,服务端采用 MySQL 数据库服务器作为数据处理和存储平台,开发语言选用开发环境中 Java 的语言。用户使用前端网页对服务端数据进行操作。
-1-
南京工程学院毕业设计说明书(论文)
第一章 绪论
本章主要介绍课题的研究目的与意义、课题的国内外研究现状及本文研究的主要研究工作和内容安排。
1.1 课题研究意义
现代化的企业管理要求各级决策部门及时、果断地给出计划和决策,其中包括人员的调整和安排、干部的配备以及技术人员的合理使用等。所有这些都需要人事管理部门及时、准确地提供有关信息。传统管理方法以手工检索为主,用人工摘录、统计、综合来分析人事数据,既费时又费力,还容易造成漏、误检。随着计算机技术和网络技术的快速发展,档案管理的现代化步伐越来越快,以纸介质为基础的人事档案管理机制已经满足不了新形势发展的需要,借助计算机来管理人事档案已经势在必行。代替传统的管理方式,使用计算机等现代技术管理人事档案,实现人事档案的电子化是人事管理工作的发展趋势。 随着计算机、网络技术和信息技术的发展,办公系统更趋于系统化、效益化和网络化。网络办公的自动化系统是计算机技术、网络迅速发展的一个办公解决方案,主要目的是提供协同工作手段,实现信息的共享和交流,使人们从低效、繁琐的传统办公中解脱出来,提高办公效率。目前还有一些中小型企业的人事管理水平任停留在完全使用纸介质上,这种办公机制已经不能够适应时代的发展,即要耗费大量的人力,又要耗费大量的物力,在信息迅速发展的时代这种管理方式必将被以计算机为承载环境的软件管理系统所取代。随着我国市场经济的快速发展,人事管理系统在企业的日常管理中发挥着越来越重要的作用。人事管理系统可以进行公司信息管理、员工档案管理、公司文化交流等,方便处理企业内部结构、员工的相关信息。
1.2 国内外研究现状
国内的人事管理系统的开发技术已经非常成熟,主要是因为人事管理系统自身具有数据处理规范、业务清晰等诸多优点,为其在计算机上的信息化提供了人事管理必需的优越条件。由于近十几年来国内各应用单位的高度重视,以及计算机技术的飞速发展,人事管理系统在国内已经基本进入了应用普及的阶段,再加上国内计算机应用开发商以及国家劳动人事部的共同努力,国内目前已有多种通用的人事管
-2-
南京工程学院毕业设计说明书(论文)
理系统软件供应用单位挑选使用,而且还有多种人事管理系统开发的通用工具供用户开发自己的人事管理系统。可以说,人事管理系统的开发以及应用在国内已进入了一个相当成熟的时期。
在国外,与我国的人事管理信息系统相对应的是人力资源管理系统 (HRMS,Human Resources Management System),该系统本身与其相应的计算机信息应用技术都已非常成熟。国外几乎所有的发达国家都建立了自己的人力资源管理信息系统,这个系统是全国性的,覆盖了全国的人力资源管理。国外公司的劳工部或人事部一般都被建立了计算机信息系统,负责公司内部的劳工或人力资源管理。在国外一些发达国家的企、事业单位非常注重决策的支持与人力资源管理系统的开发与应用。特别是一些跨国公司,更是不吝惜巨大的投资来开发相应的决策支持与人力资源管理系统。决策的支持与人力资源管理系统在跨国公司,既不是一个普通的人事部门,也不是一个福利部门,它是围绕提高工作的效能设立的由多种信息、数据和活动形成的开放性系统。
1.3 课题研究内容
本文开发了一个采用网页端/服务端(B/S)模式实现的人事管理系统,服务端采用 MySQL 数据库服务器作为数据处理和存储平台,开发语言选用开发环境中 Java 的语言,使用小型开发服务器 tomcat 承载运行。用户使用前端网页对服务端数据进行操作。课题的主要任务是设计出一个可供用户阅览和操作的 Web 前端,可供使用的功能主要有:对部门、职员和文档进行添加、删除等处理。此次设计的人事管理系统主要是用于单个企业的管理,所以只在公司的内网中联通。
-3-
南京工程学院毕业设计说明书(论文)
第二章 开发工具的选择
2.1 Java语言
选择Java作为开发语言主要是是因为 Java 语言具有面向对象、平台无关性、安全性、并发性的特性,一下对这几点特性做以介绍。
面向对象:面向对象是一种很优秀的程序设计方法,它的基本思想是使用类、对象、继承、封装、消息等基本概念来进行程序设计。它从现实世界中客观存在的事物(即对象)出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式,强调直接以现实世界中的事物(即对象)为中心来思考、认识问题,并根据这些事物的本质特点,把它们抽象地表示为系统中的类,作为系统的基本构成单元(而不是用一些与现实世界中的事物相关比较远,并且没有对应关系的过程来构造系统),这使得软件系统的组件可以直接影像到客观世界,并保持客观世界中事物及其相互关系的本来面貌。采用面向对象方式开发的软件系统,其最小的程序单元是类,这些类可以生成系统中的多个对象,而这些对象则直接影像成客观世界的各种事物。面向对象的软件系统由多个类组成,类代表了客观世界中具有某种特种的一类事物,这类事物往往有一些内部的状态,比如人有身高、体重、年龄、爱好等各种状态数据——当然程序没必要记录该事物所有的状态数据,程序只要记录业务关心的状态数据即可。面向对象比面向过程的编程粒度要大:面向对象的程序单位是类;面向过程的程序单位是函数(相当于方法),因此面向对象比面向过程更简单、易用。
平台无关性:用 Java 写的应用程序不用修改就可在其它不同的软硬件平台上运行。平台无关性有两种级别:源代码级别和目标代码级别。 C 和 C++ 具有一定程度的源代码级平台无关性,表明用 C 或者 C++ 编写的应用程序不用修改只需重新编译就可以在不同的平台上运行。 Java 主要依靠 Java 虚拟机(JVM)在目标码级实现平台无关性。JVM是一种抽象的机器,它附着在具体的操作系统上,本身具有一套虚拟机器指令,并有自己的栈、寄存器组等。但Java虚拟机通常是在软件上来实现而不是在硬件上。目前, SUN 统公司已经设计实现了 Java 芯片,主要使用在网络计算机 NC 上。另外, Java 芯片的出现也会使 Java 更容易嵌入到家用电器
-4-
南京工程学院毕业设计说明书(论文)
中。 Java 虚拟机是 Java 平台无关的基础,在 Java 虚拟机上,有一个 Java 解释器用以解释 Java 编译器编译后的程序。 Java 编程人员在编写完软件以后,通过 Java 编译器将 Java 源程序编译为 Java 虚拟机的字节代码。任何一台机器只要是配备了 Java 解释器,就可以运行这个程序,而不用管这种字节码是在哪一种平台上生成的。另外, Java 采用的是基于 IEEE 标准的数据类型。通过 Java 虚拟机保证数据类型的一致性,也确保了 Java 的平台不相关性。
安全性:在 iSeries 服务器上运行的大多数的 Java(TM) 程序都是应用程序,而不是 applet,所以砂箱安全性模型对它们起不到限制的作用。从安全性的观点来看,Java 应用程序所受到的安全性限制与 iSeries 服务器上的其它任何程序相同。要在 iSeries 服务器上运行 Java 程序,你必须对集成文件系统中的类文件具有权限。程序一旦被启动,它就会在该用户的权限控制下运行。你可以使用沿用权限来访问具有运行程序的用户权限和程序拥有者的权限的对象。沿用权限临时的将用户原先无权访问的对象权限授予用户。
并发性:JAVA 支持多线程编程技术,就是多个线程并行执行的机制,多线程是 Java 的一个重要的处理方法,特别是有利于在程序中实现并发的任务。 Java 提供 Thread 线程类,实现了多线程的并发机制。然而,程序并发的执行必定会出现多个执行线程互相排斥访问临界资源的局面,因此并发系统要解决的关键问题就是对临界资源的管理和分配,而在进行临界资源分配的时候有两方面需要我们考虑,即安全性及公平性,文中首先对多线程并发系统中的安全性和公平性问题做了讨论,指出安全性和公平性在并发系统访问临界资源时的重要性。当然本文设计的人事管理系统在当前设计的功能中还未涉及到多线程并发的问题。
2.2 MySQL数据库
MySQL 是一个精巧的开源 SQL 数据库管理系统,它是一种开放源代码的关系型数据库管理系统(RDBMS), MySQL 数据库系统运用最常用的数据库管理语言,即结构化查询语言(SQL)进行对数据库的管理。由于 MySQL 是开放源代码的,您可以自由的使用。由于它强大的功能、灵活性、丰富的应用编程接口(API)及精巧的系统结构,受到广大自由软件爱好们者甚至是商业类软件用户的青睐,特别是与
-5-
南京工程学院毕业设计说明书(论文)
Apache 和 PHP/PERL 结合,给建立基于数据库的动态网站提供了强大的动力。
MySQL 是一个真正意义上的多用户、多线程的 SQL 数据库服务器。SQL(结构化查询语言)是世界上最流行和标准化的数据库语言。 MySQL 是以一个客户机/服务器结构来实现的,它是由一个服务器守护程序 mysqld 和很多个不同的客户程序和数据库组成的。
SQL 是一种标准化的语言,它使得存储、更新和获取信息变得更加容易。比如,你可以用 SQL 语句为一个网站检索产品信息和存储顾客的信息,同时 MySQL 也是足够的快和灵活可以让你存储记录的文件和图片。
MySQL 的主要目标是健壮、快速和易用。一开始是因为我们需要这样一个数据库服务器,它能处理与任何可以不在昂贵硬件平台上提供数据库的厂商在一个数量级上的大型数据库,但是速度更快,所以MySQL就应运而生了。自1996年以来,许多应用的开发使用了MySQL数据库,其环境有超过40个数据库,包含10,000个表,其中500多个表超过7百万行,这大约有100 个吉字节(GB)的关键应用数据。MySQL数据库的主要功能只在组织和管理很庞大或复杂的信息和基于WEB的库存查询请求不仅仅为客户提供信息,而且还可以为您自己使用数据库可以提供如下功能:
1)减少记录编档的时间 2)减小记录检索时间 3)灵活的查找序列 4)灵活的输出格式 5)多个用户同时访问记录
在运行数据库系统时,MySQL的使用相当简单,且进行MySQL安装和使用所需的工作也很少。
2.3 tomcat服务器
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级的应用服务器,在中小型的系统和并发访问的用户不是很多的场合下被普遍的使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好 Apache 服务器后,可利用它来响应对 HTML 页面的访问请求。事实上
-6-
南京工程学院毕业设计说明书(论文)
Tomcat 部分是 Apache 服务器的扩展,但它是独立运行的,所以当你在运行 tomcat 的时候,它实际上是作为一个与 Apache 独立的进程在单独的运行。 选择Tomcat还因为它具有以下几个特点:
部署简单:与传统的桌面应用程序不同,Tomcat中的应用程序是一个WAR(WebArchive)文件。WAR是Sun提出的一种Web应用程序格式,与JAR类似,也是许多文件的一个压缩包。这个包中的文件按一定目录结构来组织。你只需将你的WAR放到Tomcat的Webapp目录下,Tomcat会自动检测到这个文件,并将其解压。另外Tomcat也提供了一个应用管理器,通过这个应用,辅助于Ftp,你可以在远程通过Web部署和撤销应用,当然本地也可以。可见一个Web应用在Tomcat中的部署与管理都是如此的简单方便。Tomcat短小精悍,配置方便,能满足实际的需求,这种情况下自然会选择Tomcat。
易操作:基于Tomcat的开发其实主要是JSP和Servlet的开发,开发JSP和Servlet非常简单,可以用普通的文本编辑器或者IDE,然后将其打包成WAR即可。只需要写一个build.xml文件,然后运行Ant就可以完成xml文件中定义的工作,这个工具对于一个大的应用来说非常好,只需在xml中写很少的东西就可以将其编译并打包成WAR。事实上,在很多应用服务器的发布中都包含了Ant。另外,在JSPl.2中,可以利用标签库实现Java代码与HTML文件的分离,使JSP的维护更方便。
集成方便:Tomcat也可以与其他一些软件集成起来实现更多的功能。如与 OpenJMS 集成起来开发JMS应用,与 Cocoon (Apache的另外一个项目)集成起来开发基于XML的应用,与 JBoss 集成起来开发 EJB 。除了提到的这几种外,还有很多软件可以与Tomcat集成进行开发。Tomcat目前已经被许多软件集成,例如有Eclipse、JBoss、NetBeans、WebSphereApplicationStudi0、JBuilder等IDE软件,它们能够方便地集成Tomcat的各种版本。这些IDE软件在开发中能够自由的配置指向Tomcat的安装路径,可以随意选择Tomcat的不同安装版本,在开发环境中即可嵌入Tomcat运行环境,进行集成调试。这时的Tomcat就好比一个插件,即插即用,十分方便。Eclipse等使用Tomcat进行开发为当前许多的开发人员所应用。本文的设计就是在Eclipse中集成Tomcat来开发的。
-7-
南京工程学院毕业设计说明书(论文)
第三章 系统分析
3.1 可行性分析
经济可行性:
现代社会,计算机的价格已经是十分的低廉,性能却是有了长足的进步。而运行于计算机上的本系统的开发,为企业的工作效率和经济效益带来了一个质的飞跃,主要表现有以下几个方面:
1)本管理系统的运行能代替人工进行很多繁杂的劳动; 2)本管理系统的运行能节省很多资源,比如如纸质和笔墨; 3)本管理系统的运行能大大的提高企业的工作效率; 所以,本系统在经济上是可行的。 技术可行性:
技术上的可行性分析,主要是分析技术条件能否允许顺利完成开发工作,软、硬件能否满足开发者的需求等。该管理系统采用了当前流行的Browser/Server模式进行开发,引入了数据访问层、业务逻辑层、表现层——三层的架构体系,是技术发展的必然趋势,它把管理系统带入了一个崭新的发展时代。本设计的数据库服务器选取MySQL 数据库,因为MySQL数据库能够处理大量的数据,同时数据在经过处理后能够保持完整性,并且MySQL数据库还提供了许多高级管理的功能。SQL语句的易用性、安全性和灵活性为数据库的编程提供了良好的条件。所以,系统开发的软件条件已经成熟可行。硬件方面,在科技快速发展的今天,硬件的更新速度是越来越快,容量也越来越大,可靠性也越来越高,价格更是越来越低,其硬件条件完全能满足本系统的设计需求。 时机可行性:
目前,企业、事业单位内部大多都实现了数字化办公,办公室的有线、无线网络的覆盖情况也相当理想,企业、事业单位良好的硬件设施为公司人事管理系统提供了坚实的基础。 管理可行性:
企业、事业单位的人员管理是否支持数字化管理,现有的管方法和理制度科不
-8-
南京工程学院毕业设计说明书(论文)
科学,规章制度齐不齐全,原始数据正不正确等问题,需要企、事业高层管理人员作出进一步的肯定。管理方法和规章制度是该管理系统的制度保障。
综上所述,此管理系统的开发目标已经明确,在经济上和技术等方面都是可行的,并且投入少、见效快。所以此管理系统的开发是完全具有可行性的。
3.2 运行环境分析
本文设计的人事管理系统是采用网页端/服务端 (B/S)模式开发的,服务端采用MySQL数据库服务器作为数据处理和存储平台,开发语言选用开发环境中Java的语言。用户使用前端网页对服务端数据进行操作,所以一台能上网的电脑是必须的,至少对公司的内网是可以联通的。系统运行在Microsoft Windows98以上,对服务器即承载电脑的最低硬件配置大致如下:
CPU: Intel Pentium II 内存:128M 硬盘:10G 网卡:10M/100M
3.3 需求分析
系统需求的分析是开发管理信息系统的关键性步骤,是一个不断认识及逐步细化的过程,是开展下一阶段工作的基础,是为开展下一阶段物理方案设计、解决“怎么做”提供依据,其关键性主要是表现在“理解需求”以及“表达需求”两方面。
通过对现行管理系统的详细调研,主要是从系统的角度来理解用户的需要,确定新管理系统的综合要求,并且提出这些需求的实现条件和需求应该达到的标准,也即是确定新管理系统要做什么,要做到什么程度。这些需求包括:
1)功能需求。确定新管理系统应该包含哪些主要功能,这是最主要的功能需求。 2)性能需求。给出所要开发的新管理系统的技术性能指标,包括存储容量限制、运行时间限制、安全保密性等。
3)环境需求。这是对系统运行以及所处环境的要求。例如,在软件方面,采用什么系统软件(指操作系统、数据库管理系统)支持系统的运行;在硬件方面,用什么机型、对硬件有什么要求、还需要其它什么硬件设备等。
-9-
南京工程学院毕业设计说明书(论文)
4) 未来需求。这类要求主要是指目前还不属于系统的开发范围,但是将来随着外界环境的变化以及系统的不断发展可能会提出来的要求。了解这一类要求的目的在于,在开发的过程中可以对将来系统可能的修改与扩展做准备。一旦需要时,就可比较容易的进行修改和补充了。
通过对课题研究意义的分析以及对国内外研究现状的调研,可以看出人事管理系统在将来会有更广阔的发展前景,随着企、事业管理的效益化、人性化、系统化,更多易用、丰富的功能将会被加入到人事管理系统中,而这个过程将会随着各个企、事业单位的不断发展而完成,同时针对不同企、事业单位的管理需求人事管理系统也会具有相对的差异性,但是对系统完善的最终目标都是一致的,那就是对自己公司的实用性。通过对系统运行环境的分析基本上对性能需求和环境需求就有了一个大致的了解,当然性能的高低和所需的运行环境在一定程度上取决于开发所用的工具和承载的服务器。一个系统从设计到测试贯穿整个开发过程的是系统的功能,系统的每一个功能在不同的开发阶段都引导着开发者去想下一步该做什么要怎么做。
下面就着重的介绍一下本文设计的系统的功能需求。本管理系统的数据流程如图
3-1所示。
员工 文档管理 员工 员工管理 管理员 部门管理 管理员 机构管理 图3-1 数据流程图
首先,本系统是采用网页端/服务端(B/S)模式实现的,所以要将内容以网页的形式呈献给用户,用户群就是使用本管理系统的企业的所有人员。用户要想进入主页必须通过登录页面登入系统,因为本系统只给公司的人员使用,所以登录页面没有注册入口,即使知道网址但是在数据库中没有用户信息记录就不能自行通过注册来使用本管理系统。只有具有最高权限的管理员才可以将新员工作为公司职员录入
-10-
南京工程学院毕业设计说明书(论文)
人事管理系统。这样便于人事管理系统的维护和人员变动的管理。因此每个用户都拥有各自的roleId,不同的roleId对应不同的用户权限。
然后,就是系统的主要功能了。考虑到一个企业可能会有多层的企业结构,所以要求系统根据企业的结构划分出不同层级的模块,对于企业中某一部门的变动系统中要有相应的处理功能,比如说新增加一个部门,管理员可以通过操作将此部门添加到人事管理系统中。如果公司职员的信息有变动,管理员也要通过人事管理系统来进行修改。一个企业能否稳健的发展取决于该企业的综合实力,而综合实力的保持与企业文化有着很大的关系,出于此考虑可以在人事管理系统中附加一个模块。通过此模块公司职员可以把对公司发展有利的意见和建议或一些好的想法写成文档上传到管理系统供公司员工参考和讨论,有助于公司作出好的决策和快速、稳步的发展。职员也可以写一些生活和工作上的体会或者摘录一些好的文档、段落上传到系统供大家分享,以促进公司人文的发展,为公司创造一个好的公司文化环境,让员工有一个舒心的工作环境,提高公司的前进步伐。
-11-
南京工程学院毕业设计说明书(论文)
第四章 系统总体设计
本章主要介绍系统的总体设计,包括系统的结构和系统所具有的主要功能。在第一节主要对系统结构和功能进行描述同时给出了用户界面的布局;在第二节中主要是对数据库设计进行描述,同时给出了E-R图。
4.1 功能描述
本文设计的管理系统可以在Windows XP、Windows 7平台上运行,开发工具采用Java语言开发。由于本设计开发的应用系统所面对的是懂得微机基本操作,但是又不一定具有较强的计算机专业知识的用户,所以从简洁、易用的设计原则出发,争取把最简单的操作留给用户。各功能的实现只须用户选择或点击确认,不需要太多的学习就可直接使用系统。开发的总体任务是实现企业人事管理的规范化、系统化和自动化,所以系统的功能应能够满足这些要求。本人事管理系统的工作流程为:用户登录后在进行下一步操作时系统会对其使用权限进行判断,普通用户不能浏览、查询和修改机构、部门和员工的信息,指定的管理员可以进行这类模块的操作,管理员可以进行这些模块的信息录入、修改和删除操作。有一点需要指出的是,用于促进企业文化交流、发展的文档模块,所有用户都可以对模块中的文件进行浏览、阅读和查询等操作。系统结构如图4-1所示。
机构变动
档案管理 人员变动 部门变动 员工管理 部门管理 文件管理 回收站管理 机构管理 文件管理 人事管理系统 图4-1 系统结构图
-12-
南京工程学院毕业设计说明书(论文)
系统主要功能及特点有: (1)系统登录表
该表单的功能是在系统被访问之前,要对进入系统的用户进行安全性检查,防止非法用户进入系统破坏数据及威胁系统安全,避免不必要的损失。只有合法的(已被系统录入的)用户在输入正确的密码和验证码后方可进入系统。 (2)主界面
系统的主界面利用框架布局,一共分为三部分,每一部分对应一个页面显示,用于将信息呈现给用户。页面布局如图4-2所示。
图4-2 页面布局
区域?是界面中的置顶页面,此页面在系统的整个操作过程中是不变的,其主要用于公司Logo的显示或提供对全局进行操作的功能菜单或者显示一些其它信息等。
区域?是系统的主要功能菜单页面,用于提供给用户操作菜单选项,此页面中的菜单以树形结构分布。
区域?主要是用于系统提供的信息的显示,它对于用户做出的不同的操作将给予相应的内容显示,在显示页面中相应的地方也会给出相应的操作选项,方便用户对信息的管理。
? ? ? 4.2 数据库设计
数据库表在一个信息管理系统中占有非常重要的地位,数据库表结构设计的好坏,将直接对应用系统的效率以及实现的效果产生影响,合理的数据库表结构设计
-13-
南京工程学院毕业设计说明书(论文)
可以提高数据库数据存、取的效率,保证数据的完整性和一致性。同时也有利于程序的实现。设计数据库表时应该考虑到用户各方面的需求,包括现有的以及将来的可能增加的需求。同时,还需要考虑到由于用户对数据的错误操作而可能引起的问题,以及解决这类问题的办法。
负责名称 拥有 机构 名称 简称 1 人 部门 n 创建日期 文件名 地址 固话 类型 手机 姓名 传真 属于 1 n 员工 1 拥有 n 文件 密码 性别 角色 头像 图4-3 E-R图
数据库中的数据表分为:机构表、部门表、用户表、角色表、文件表、文件类型表。由于角色是员工的属性,而其与员工又是一对多的关系,所以在E-R图中未将角色的实体列出。类似员工的角色属性,文件类型也是文件的属性,其和文件也是一对多的关系,所以文件类型的实体也没有列出。数据库E-R图如图4-3所示。
-14-
南京工程学院毕业设计说明书(论文)
第五章 系统详细设计
本章主要介绍了系统各个模块的详细设计和实现,依次分为机构模块设计、部门模块设计、员工模块设计和文档模块设计这四节来详细的进行阐述,并且在每一个模块的结尾附上了流程图。由于整个系统实现下来涉及到很多知识点,所以文中未能详尽的对设计中的每一个细节进行说明。文中主要针对数据的处理和有难点的功能实现做了比较详细的描述,其中包括了说明性的文字和部分核心代码。
5.1 机构模块设计
在一个正规的企业中一定会有一定的组织层次结构,根据企业规模的大小和企业主营业务的需求,企业结构的划分也有所不同。企业组织结构是企业组织内部各个有机构成要素相互作用的联系方式或形式,以求有效、合理地把组织成员组织起来,为实现共同目标而协同努力。 组织结构是一个企业资源以及权力分配的载体,它是在人的能动行为之下,通过信息的传递,承载着整个企业的业务流动,推动了或者阻碍着企业使命的进程。因为组织结构在企业中站着基础地位并起着关键性作用,所以企业所有的战略意义上的变革,都必须首先从组织结构上开始。组织结构按模式类型分可分为:U型组织结构、M型组织结构、矩阵制结构、多维和超级事业部制结构、H型组织结构、模拟分权制结构。针对不同的企业结构需求,组织结构可以有相应的变化。为了增强人事管理系统的实用性,本设计的结构形式采用直线式。直线制式是一种最早的也是最简单的组织形式。它的主要特点是企业各级行政单位从上级到下级实行垂直领导,下属部门只接受一个上一级的指令,各级的主管负责人负责所属单位的一切问题。厂部内不另设职能机构(可设相应的职能人员协助主管人员得工作),一切的管理职能基本上都是由行政主管人员自己执行。
本文的设计是先对企业结构进行研究,然后将企业结构融入到人事管理系统中,这样有助与企业人员的管理。在整个层次结构的最顶端是企业的机构划分,机构划分的具体内容根据不同的企业需求而定。所以本系统中机构的内容由管理员来决定,管理员可以根据企业的需要添加一个机构、删除一个机构,可以根据企业内部结构的微调修改一个机构。数据库表格如表5-1所示。
-15-
南京工程学院毕业设计说明书(论文)
表5-1 机构数据库表说明
列名 BranchId BranchName BranchShortName 建表SQL语句:
drop table if exists BranchInfo; create table BranchInfo (
BranchId integer not null auto_increment, BranchName Varchar(50) not null, BranchShortName Varchar(50) not null, primary key (BranchId)
)ENGINE=InnoDB default CHARSET=utf8;
说明 机构ID 机构名 机构简称 数据类型 integer varchar varchar 可为空 否 否 否 一、机构列表首页 Web页面设计:
机构的信息以表格的样式进行显示,采用迭代算法将所有机构信息列入表格。 页面从服务器获取机构信息部分核心代码:
Integer orderNumber = 1; List
= (List
后台请求处理:
机构管理模块只有管理员才有权限访问,当用户想进入此模块时后台会对用户身份进行验证,管理员通过验证会进入到机构管理主页面并可以进行相关操作,普通
-16-
南京工程学院毕业设计说明书(论文)
用户经过验证会进入友好提示页面没有对机构信息进行浏览和对机构进行管理的功能。后台在处理机构模块访问请求的部分主要核心代码:
HttpSession session = request.getSession();
UserInfo userCurrent = (UserInfo)session.getAttribute(\int roleId = userCurrent.getRoleInfo().getRoleId(); if(roleId==1){
branchInfos = branchInfoService.getByPage(0, 10); request.setAttribute(\request.setAttribute(\
request.getRequestDispatcher(\return; }else{
response.sendRedirect(\
二、机构录入与信息修改 Web页面设计:
机构的添加页面就是简单的表格填写,管理员将机构的相关信息填入到表格中,通过点击确认按钮用post请求将表单信息发送到服务器。信息录入表格代码在这里就不粘贴了。 后台请求处理:
后台服务器响应添加机构请求的主要操作就是数据入库,响应代码段的部分核心代码为:
String branchName = request.getParameter(\
String branchShortName = request.getParameter(\branchInfoService.addBranchInfo(branchName, branchShortName); response.sendRedirect(\
这里将数据写入数据库的方法的代码就不做粘贴了。
机构信息修改对数据库所做的处理与机构录入的相类似,只是在信息修改页面获取了原始机构信息并将其初始化入了表格。
-17-
南京工程学院毕业设计说明书(论文)
三、机构删除
此功能只需点击机构列表中一行后面的删除按钮便可以实现,后台在响应请求处理时将所选的机构在数据库中进行删除,主要是通过在删除方法中执行删除数据的SQL语句。
否 选择操作菜单 开始 否 是否选择添加机构 是否选择修改机构 是否选择删除机构 否 否 是 填写机构信息 修改信息 是 是 否 确认添加 确认修改
是 结束 是后台数据处理 图5-1 机构管理流程图
-18-
南京工程学院毕业设计说明书(论文)
5.2 部门模块设计
前文有了对人事管理系统中机构模块的设计,机构下面就是部门的分支,本部分就对部门模块的设计做详细的说明。数据库表格如表5-2所示。
表5-2 部门数据库表说明
列名 DeparId DepartName PrincipalUser CpnnerctTelNo ConnectMobileTelNo Faxes BranchId 建表SQL语句:
drop table if exists DepartInfo; create table DepartInfo (
DepartId integer not null auto_increment, DepartName Varchar(50) not null, PrincipalUser int not null, ConnectTelNo bigint, ConnectMobileTelNo bigint, Faxes bigint, BranchId int not null, primary key (DepartId)
)ENGINE=InnoDB default CHARSET=utf8;
说明 部门ID 部门名称 负责人 固话 移动电话 传真 机构ID 数据类型 integer varchar int bigint bigint bigint int 可为空 否 否 是 是 是 否 否 一、部门列表首页 Web页面设计:
-19-
南京工程学院毕业设计说明书(论文)
部门管理模块的首页同样以表格的样式对部门信息列表进行显示,采用迭代算法将所有部门信息列入表格。
页面从服务器获取部门信息部分核心代码:
Integer orderNumber = 1; List
= (List
orderNumber = (Integer)request.getAttribute(\if(null!=(Integer)request.getAttribute(\orderNumber = (Integer)request.getAttribute(\request.removeAttribute(\
后台请求处理:
部门管理模块也是只有管理员才有权限访问,当用户想进入此模块时后台也会对用户身份进行验证,管理员通过验证后会进入到部门管理主页面并可以进行相关操作,普通用户经过验证后会进入友好提示页面没有对部门信息进行浏览和对部门进行管理的功能。后台在处理部门模块访问请求的部分主要核心代码:
HttpSession session = request.getSession();
UserInfo userCurrent = (UserInfo)session.getAttribute(\int roleId = userCurrent.getRoleInfo().getRoleId(); if(roleId==1){
IDepartInfoService departInfoService = new DepartInfoService(); departInfos = departInfoService.findByPage(0, 10); request.setAttribute(\request.setAttribute(\
request.getRequestDispatcher(\}else{
response.sendRedirect(\
二、部门录入与信息修改 Web页面设计:
-20-
南京工程学院毕业设计说明书(论文)
部门的添加页面虽然也是表格填写但是要比机构的添加复杂,因为部门的上一级还有机构要考虑所添加的部门属于哪一个机构,而且每个部门都有一个负责人要从用户(公司职员)中选取,在跳转到部门添加页面之前先要获取机构信息和用户信息并将其传到添加页面,实现代码如下:
List
request.getRequestDispatcher(\
跳入添加页面后,管理员将部门的相关信息填入到表格中并选好部门所属机构和部门的负责人,通过点击确认按钮用post请求将表单信息发送到服务器。信息录入表格代码在这里就不粘贴了,主要讲一下机构和负责人的选取。首先在页面获取服务器传过来的机构和用户信息代码如下:
<%
List
= (List
List
= (List
%>
request.removeAttribute(\
部门的表单选择实现如下: