文章首发地址:https://www.canterdanai.top/?p=1110
1、引言
随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机在实现企业人事档案的管理势在必行。当今社会正快速向信息化社会前进,信息自动化的作用也越来越大。从而使我们从繁杂的事务中解放出来,提高了我们的工作效率。目前很多企业的人事管理还处于人工管理的阶段,效率低下,已经远远落后于当今技术的发展。并且人工管理的弊端也愈来愈严重,由于不可避免的人为因素,造成数据的遗漏、误报,而造成企业重大损失的事例层出不穷。计算机信息化管理有着储存信息量大,速度快等许多优点,提供给我们的处理信息及时快捷,同时也提高了我们工作人员的自身素质。因此我们利用计算机提供给我们信息,做出了这个人事信息管理系统。人事管理系统是现在企业管理工作不可缺少的一部分是适应现在企业制度的要求。推动企业劳动人事走向科学化、规范化的必要条件。传统的办公模式主要以纸介质为主,在信息革命的浪潮中,显然已经远远不能满足高效率、快节奏的现代工作和生活的需要。如何实现信息处理的自动化和办公的无纸化逐步得到了人们的重视。如今,随着计算机技术的普及人们开始采用MIS,它是集计算机技术、网络通信技术为一体的信息系统工程,能使企业运行的数据更加准确、及时、全面、详实,同时对各种信息进一步地加工,使企业领导层对生产、经营的决策依据更充分,更具有合理性科学性,并创造出更多的发展机会;另外也进一步加强企业的科学化、合理化、制度化、规范化管理,为企业的管理水平跨上新台阶,为企业持续、健康、稳定的发展打下基础。MIS是一门新的学科,它跨越了若干个领域,比如管理科学、系统科学,运筹学、统计学以及计算机科学。在这些学科的基础上,形成信息收集和加工的方法,从而形成一个纵横交织的系统。在强调管理,强调信息的现代社会中它变得越来越普及。目前国内使用和发展的MIS平台模式大体分两种:客户机/服务器(c/s)模式和web浏览器/服务器(b/s)模式。本文主要介绍一个简单的基于b/s模式的企业人事管理系统的实现,系统开发的总体任务是实现企业人事信息关系的系统化、规范化和自动化。
2、系统分析
2.1 系统需求分析
用户登录:用于登录系统;
招聘管理:应聘人员信息的详细查看、删除、添加以及信息入库;
培训管理:培训计划的详细信息、信息删除、添加培训计划;
人员管理:浏览人员信息、添加人员信息、人员信息的添加、人员信息的修改。
系统采用B/S模式。整个系统最关键的就是数据库系统,一个强大的数据库可以支持完善一个优秀的软件设计,通过软件系统与数据库系统的连接来实现通过软件界面观察和处理操作数据。
业务服务器
数据库服务器
事务逻辑
数据逻辑
Client
Browser
表示逻辑
Browser
表示逻辑
JSP网页
WWW服务器/业务逻辑服务器
JavaBean组件
中间件
JDBC
数据库服务器
数据库
SQL
图3-1 系统模式图
系统采用三层结构,在客户端用户通过浏览器完成数据下载与模拟操作,浏览器端的表现逻辑通过JSP网页完成。而系统内部复杂的业务逻辑主要通过JavaBean的组件(Component)实现,JavaBean组件在WWW服务器上运行,通过JSP返回到客户浏览器。通过表现逻辑与业务逻辑的分离,使网页内容简洁,系统的可维护性和可扩充性增强。在服务器端,系统使用JDBC中间件访问数据库,数据库服务器定义了本系统所需要的事务逻辑和数据逻辑。本系统使用JSP技术作为表现手段,服务器采用Tomcat 5.0.3作为JSP引擎,系统业务逻辑由JavaBean 组件完成,使用JDBC 3.0 驱动程序访问数据库。由于系统测试需要成熟的数据库支持,因此系统采用MY SQL数据库作为数据库服务器。
2.2 本系统采用的关键技术
2.2.1 JSP技术
JSP是由Sun微系统公司于1999年6月推出的一项技术,是基于JavaServlet以及整个Java体系的Web开发技术,利用这一技术可以建立先进、安全和跨平台的动态网站。JSP技术在多个方面加速了动态Web页面的开发。它主要有如下几个方面的特点:
- 将内容的生成和显示进行分离
使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者脚本来生成页面上的动态内容(内容是根据请求来变化的,例如请求帐号信息或者一本书的价格)。生成内容的代码被封装在Servlet和JavaBean组件中,并且结合在脚本中,所有的脚本在服务器端运行。
JSP引擎解释JSP标识和脚本程序,生成所请求的内容(例如,通过访问JavaBean组件,使用JDBC技术访问数据库,或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。
- 强调组件的重用
绝大多数JSP页面依赖于可重用的、跨平台的组件(JavaBean或者Enterprise JavaBean组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行组件,或者使得这些组件为更多的使用者或者客户团体所使用。此方法加速了总体开发进程。
- 采用标识简化页面开发
Web页面人开发人员不都是熟悉脚本语言的编程人员。JSP技术封装了许多功能:访问和实例化JavaBean组件、设置和检索组件的属性、下载Applet以及执行用其他方法更难于编码和耗时的功能。
JSP技术可以通过开发定制的标识库进行扩展。第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样执行特定功能的组件来工作。
当与Java2平台、J2EE和Enterprise JavaBean(EJB)技术整合时,JSP页面将提供企业级的扩展性和性能,这对于在企业中部署基于Web的应用是必需的。
与微软公司的ASP技术相比,JSP具有如下优点:
(1) 开放的技术:JSP技术基于平台和服务器的相互独立,技术支持来自广泛的、专门的、各种工具包,有服务器的组件和数据库产品开发商提供。相比之下,ASP技术主要依赖MICROSOFT支持。
(2) 平台和服务器的独立性:JSP编写的代码可运行在任何符合JAVA语法结构的环境中。这样JSP就能够运行在多种WEB服务器上并支持来自多家开发商提供的各种工具包。
(3) 开放的开发过程,开放的源码:自1995年以来,SUN用开放过程方法同国际JAVA组织合作开发和修改JAVA技术和规范。
(4) JSP标记可扩充性:JSP技术能够为开发者扩展JSP标记,充分利用与XML兼容的标记技术强大的功能,大大减少对脚本语言的依赖。
(5)JSP跨平台的可重用性:JSP组件(EJB,JavaBean或定制的JSP标记)都是跨平台可重用的。
2.2.2 springboot技术
Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。Spring框架下的事务管理、远程访问等功能均可以通过使用SpringAOP技术实现。Spring的事务管理框架为Java平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在Java平台的任何环境中工作。Spring集成多种事务模板,系统可以通过事务模板、XML或Java注解进行事务配置,并且事务框架集成了消息传递和缓存等功能。Spring的数据访问框架解决了开发人员在应用程序中使用数据库时遇到的常见困难。它不仅对Java:JDBC、iBATS/MyBATIs、Hibernate、Java数据对象(JDO)、ApacheOJB和ApacheCayne等所有流行的数据访问框架中提供支持,同时还可以与Spring的事务管理一起使用,为数据访问提供了灵活的抽象。Spring框架最初是没有打算构建一个自己的WebMVC框架,其开发人员在开发过程中认为现有的StrutsWeb框架的呈现层和请求处理层之间以及请求处理层和模型之间的分离不够,于是创建了SpringMVC。
特点编辑 播报
SpringBoot基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。 [1]
SpringBoot所具备的特征有:
(1)可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;
(2)内嵌Tomcat或Jetty等Servlet容器;
(3)提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;
(4)尽可能自动配置Spring容器;
(5)提供准备好的特性,如指标、健康检查和外部化配置;
(6)绝对没有代码生成,不需要XML配置。
2.2.3 JDBC技术
JDBC是Java的开发者——Sun的JavaSoft公司制定的Java数据库连接JavaDataBaseConnectivity技术的简称,是为各种常用数据库提供无缝联接的技术。JDBC在Web和Internet应用程序中的作用和ODBC在Windows系列平台应用程序中的作用类似。JDBC有一个非常独特的动态连接结构,它使得系统模块化。使用JDBC来完成对数据库的访问包括以下四个主要组件:Java的应用程序、JDBC驱动器管理器、驱动器和数据源。简单地说,JDBC能完成下列三件事:
(1)同一个数据库建立连接;
(2)向数据库发送SQL语句;
(3)处理数据库返回的结果。
JDBC是一种可用于执行SQL语句的JavaAPI(ApplicationProgrammingInterface,应用程序设计接口)。它由一些Java语言写的类、界面组成。JDBC给数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。
通过使用JDBC,开发人员可以很方便地将SQL语句传送给几乎任何一种数据库。也就是说,开发人员可以不必写一个程序访问Sybase,写另一个程序访问Oracle,再写一个程序访问Microsoft的SQLServer。用JDBC写的程序能够自动地将SQL语句传送给相应的数据库管理系统(DBMS)。不但如此,使用Java编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上编写不同的应用。Java和JDBC的结合可以让开发人员在开发数据库应用时真正实现“WriteOnce,RunEverywhere!”
Java具有健壮、安全、易用等特性,而且支持自动网上下载,是一种很好的与数据库线连接而使用的编程语言。它所需要的是Java应用如何同各种各样的数据库连接,JDBC正是实现这种连接的关键。
JDBC扩展了Java的能力,如使用Java和JDBCAPI就可以公布一个Web页,页中带有能访问远端数据库的Applet。或者企业可以通过JDBC让全部的职工(他们可以使用不同的操作系统,如Windwos,Machintosh或UNIX)在Intranet上连接到几个全球数据库上,而这几个全球数据库可以是不相同的。
2.2.4 用JDBC访问数据库
所有的数据库的对象和方法都在java.sql.* 里面,所以首先要import java.sql.*,要想连接数据库,首先要将驱动程序调入。
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);这是JDBC-ODBC 的驱动程序。
要想连接一个指定的数据库,必须创建Connection类的一个实例。
String url = “jdbc:odbc:Grocery prices”;
Connection con = DriverManager.getConnection(url);
注意在此用到的数据库名称是在ODBC设置控制面板中输入的数据资源名。URL语法对于不同类型的数据库会很不一样。 语法是这样的: jdbc:subprotocol:subname 开头都是JDBC,后面是子协议,然后是ODBC名称。
若要使用纯JDBC驱动程序,必须安装第三方软件提供的驱动程序,一般在数据库的官方网站上可以找到这里不做讨论。
本系统采用JDBC-ODBC的驱动程序连接数据库,并使用JavaBean组件,有效的避免了代码的重复,具体过程如下:
package exam;
import java.sql.*;
public class ExamBean {
String strDBDriver=”sun.jdbc.odbc.JdbcOdbcDriver”; //JDBC-ODBC驱动程序
String strDBUrl=”jdbc:odbc:exam”;
private Connection conn=null;
private Statement stmt=null;
ResultSet rs=null;
//<!–注册数据库驱动程序–>
public ExamBean() {
try {
Class.forName(strDBDriver);
}
//<!—异常处理–>
catch(java.lang.ClassNotFoundException e){
System.err.println(“exam():”+e.getMessage());
}
}
//<!—建立数据库连接及定义数据查询–>
public ResultSet executeQuery(String sql){
rs=null;
try{
conn=DriverManager.getConnection(strDBDriver); //创建数据库连接对象 stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);//支持数据回滚
rs=stmt.executeQuery(sql);
}catch(SQLException ex){
System.err.println(“aq.executeQuery:”+ex.getMessage());
}
return rs;
}
//<!—定义数据更新操作–>
public void executeUpdate(String sql){
stmt=null;
try{
conn=DriverManager.getConnection(strDBDriver);
stmt=conn.createStatement();
stmt.executeUpdate(sql);
stmt.close();
}catch(SQLException ex){
System.err.println(“aq.executeQuery:”+ex.getMessage());
}
}
//<!—关闭数据库连接–>
public void closeStmt(){
try{
stmt.close();
}catch(SQLException e){
e.printStackTrace();
}
}
public void closeConn(){
try{
conn.close();
}catch(SQLException e){
e.printStackTrace();
}
}
2.3 可行性分析
首先,技术可行性。本系统仅需要一台装有Office软件的计算机即可,对机器本身没有太高的要求,一般当前学校或个人电脑完全可满足要求。对于软件技术要求,现在的程序设计语言已非常成熟,要运用HTML样式,图形图象制作工具来制作生动活泼的网页及美观的图形文件或动画文件。
其次,经济可行性。由于本系统是为学生学习使用的系统,装上该应用软件,即可使用系统,系统成本主要集中在系统软件的开发上,当系统投入运行后可以为学校节约大量的人力,物力。所带来的效益远远大于系统软件的开发成本。在经济上完全可行。
第三,操作可行性。界面设计时充分考虑管理人员的习惯,使得操作简单;数据录入迅速、规范、可靠;统计准确;制表灵活;适应力强;容易扩充。
3、系统概要设计
根据系统的功能需求分析,将本系统划分为以下几大模块:
企业人事管理系统
管理员设置
修改登录密码
职工信息管理
职工信息查询
招聘信息管理
培训信息管理
企业部门设置
系统功能模块如下:
人员管理模块:该模块主要功能是对人事管理的基础信息、员工基本信息、合同信息等进行管理。
招聘管理模块:该模块主要是对企业招聘信息、企业的应聘信息、企业人才库进行管理。
培训管理模块:该模块主要是对企业的培训计划、培训实施、培训材料等信息进行管理。
系统管理模块:该模块主要功能是对操作员信息、操作员操作权限进入管理。
4、系统详细设计
4.1 后台数据库设计
4.4.1 Mysql介绍
Mysql是一个小型关系型数据库管理系统,开发者为微软公司。目前Mysql被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了Mysql作为网站数据库。
Mysql是一个基于关系型数据库模型建立的数据库管理系统软件(DBMS)。它帮助用户方使地得到所需信息,并提供强大的数据处理工具。它可以帮助用户组织和共享数据库信息,以便于根据数据库信息作出有效的决策。另外,仅有这样—个数据库管理系统软件(DBMS),则只能进行一些信息系统所需要的简单数据处理,且对操作者有较高的操作技能要求。因此,信息系统的开发者都是在某种数据库管理系统软件〔DBMS〕环境下编写相应的应川程序,以形成一个能够满足应用需求且操作尽可能简单的应用型信息系统,这被称之为二次开发。
Mysql 还具有以下特点:
1.使信息更易于查找和使用
Mysql继续为简便地查找信息提供易于使用的工具。
2.支持 Web 功能的信息共享
Mysql 可以通过企业内部网络Internet 很简便地实现信息共享,而且它可以很容易地将数据库定位到浏览器中,它将桌面数据库的功能和网站的功能结合在一起。
3.用于信息管理的强大解决方案
高级用户和开发人员可以创建那些将Mysql界面(客户端)的易用性和SQL服务器的可扩展性和可靠性结合在一起的解决方案。
4.改变了数据库窗口
可在Mysql容纳并显示新的对象,增强了Mysql 数据库的易用性。
5.提供名称自动更正功能
自动解决当用户重新命名数据库对象时出现的常见负面效应。例如,当用户重命名表中的字段时,将自动在诸如查询的相关对象中进行相应的更改。
6.具有子数据表功能
子数据表在同一窗口中,提供了嵌套式的视图,这样就可以在同一窗口中专注于相关的数据并对其进行编辑。
7. 用户只需简单地将Mysql对象(表、查询等)从数据库放到ODBC数据源中,即可从 Mysql中将数据导出到其他数据库中。
8.数据访问页功能
该功能可使用户快捷方便地创建数掂 HTML页,并通过数据 HTML页,将数据库应用扩展到企业内部网络 Internet上。这将帮助用户比以往更快捷、高效的方式共享信息。
9.共享组件的集成
Mysql利用新的 Web组件和位于浏览器中的 COM 控件,为用户提供了多种查看和分析数据的方式。
10.交互性
Mysql支持OLE DB,使用户可以将Mysql 界面的易用性与诸如SQL Server2000的后端企业数据库的可升级性相结合。
4.4.2 数据库表结构
设计表“admin”
Field Name | Datatype | Len | Default |
Id | Int | 4 | |
Username | Varchar | 50 | |
Password | Varchar | 50 | |
Creattime | Datetime | ||
Flag | Varchar | 50 | |
Isuse | Int | 4 | |
Logintime | Ints | 4 | |
Quanxian | Varchar | 100 |
设计表“depart”
Field Name | Datatype | Len | Default |
Id | Int | 4 | |
Name | Varchar | 40 | |
Addtime | Varchar | 50 |
设计表“emp”
Field Name | Datatype | Len | Default |
Id | Int | 4 | |
Name | Varchar | 40 | |
Sex | Varchar | 30 | |
Bir | Varchar | 50 | |
Departs | Varchar | 100 | |
Zhiwu | Varchar | 50 | |
Tel | Varchar | 50 | |
Address | Varchar | 100 | |
Remark | Varchar | 500 | |
Addtime | Varchar | 50 |
设计表“recruitmenu”
Field Name | Datatype | Len | Default |
Id | Int | 4 | |
Title | Varchar | 100 | |
Name | Varchar | 100 | |
Sex | Varchar | 100 | |
Bir | Varchar | 100 | |
Tel | Varchar | 100 | |
Address | Varchar | 100 | |
School | Varchar | 100 | |
Works | Varchar | 500 | |
Remark | Varchar | 500 | |
Addtime | Varchar | 50 |
设计表“training”
Field Name | Datatype | Len | Default |
Id | Int | 4 | |
Title | Varchar | 100 | |
Emp | Varchar | 100 | |
Ptime | Varchar | 100 | |
Place | Varchar | 100 | |
Content | Varchar | 100 | |
Summary | Varchar | 100 | |
Addtime | Varchar | 100 |
4.2 系统E-R图
密码
用户名
用户
管理
信息
培训管理
职工管理
部门管理
系统管理
4.3 处理流程设计
4.3.1 系统操作流程
系统登录界面
输入操作员及密码
系统主界面
系统管理
错误信息
数据库
检查
密码错误
密码正确
功能界面
功能处理
4.3.2 数据增加流程
添加信息时,编号字段由系统自动生成,且不能修改,其他信息由用户输入,之后对数据进行合法判断,合法则写入保存至数据库,不合法则重新输入数据。数据增加流程图:
开始
自动生成编号
输入数据
是否合法
写入数据库
结束
图3.2 数据增加流程图
4.3.3 数据修改流程
在修改信息时,先选中一条待修改的记录,然后直接输入数据,判断合法性,合法则保存至数据库,不合法重新输入。数据修改流程图如图3.3所示。
开始
选择需要修改记录
输入数据
是否合法
写入数据库
结束
图3.3 数据修改流程图
4.4.4 数据删除流程
当用户选定一条记录时,单击删除按钮,会提示用户是否确定删除,然后删除数据库相关内容。数据删除流程图如图3.4所示。
开始
选择需要删除记录
是否删除
更新数据库
图3.4 数据删除流程图
4.4 系统模块设计
4.4.1 管理员登陆
当登陆时,首先出现的是一个用户登陆的界面,主要是维护系统的安全性和完整性。
4.4.2 员工信息管理
管理员可以对员工信息进行管理,包括对员工信息的添加、修改、删除等操作。
———–