龙源期刊网 http://www.qikan.com.cn
基于JavaEE的知识管理系统设计与实现
作者:陈威
来源:《软件导刊》2015年第05期
摘 要:以湖北省科技信息研究院为例,介绍了基于JavaEE知识管理系统的设计与实现。系统采用流行的B/S结构,主要功能模块包括各部门业务模块、用户管理模块、数据决策分析模块等,以加强部门之间的业务联系,提高部门网上办公的业务覆盖面,提高办公效率。 关键词:办公自动化;JavaEE;B/S结构;在线审批 中图分类号:TP319
文献标识码:A 文章编号:1672-7800(2015)005-0107-03
作者简介:陈威(1980-),男,湖北黄石人,硕士,湖北省科技信息研究院信息技术研发中心助理工程师,研究方向为办公自动化。 0 引言
办公自动化[1](Office Automation,简称OA)是将现代化办公和计算机网络功能结合起来的一种新型办公方式。设计优秀的办公自动化系统可以优化管理组织结构,调整管理体制,在提高效率的基础上,增加协同办公能力,强化决策的一致性,最后实现提高决策效能的目的。
随着湖北省科技信息研究院的不断发展,各个部门之间的业务不断增多,部门之间的联系日趋紧密。老的信息源知识管理系统已不能满足现有需求,急需开发新的管理系统以满足单位的业务要求。首先,各部门各项业务不断增长,旧系统设计时未考虑对新业务的扩展,需要重新设计,使其能够涵盖现有的所有业务,并方便未来的业务模块扩展;其次,由于体制改革,单位的组织结构、部门、人员设置以及业务审批流程等都发生了很大变动,部门之间的交流合作日益紧密,而旧系统对这些改变及部门之间的数据交换支持不足;最后,旧系统的数据统计功能缺乏,难以为领导提供有力的决策分析支持。
新的知识管理系统的开发和应用,可以弥补旧系统的不足:①能够方便灵活地扩展各项业务,灵活定制业务审批流程以满足工作的不断变化;②各部门间可进行数据共享,以方便工作人员的查询、导出;③提供各项数据统计,支持领导作出准确、科学的决策分析。 1 系统需求分析与设计 1.1 系统需求分析
龙源期刊网 http://www.qikan.com.cn
(1)作为院内的办公系统,使用者主要是院内的工作人员,因此需要使用账号登录信息管理系统。
(2)工作人员登录系统后可以看到各自的业务事项,具体功能需求包括:修改密码、个人信息修改、各部门业务办理、文件上传、上报数据、在线审批、数据统计分析、在线学习等。
(3)后台管理人员可以进行功能模块管理、人员管理、审批流程管理。 1.2 系统总体设计 1.2.1 系统体系结构
本系统是基于JavaEE的平台,采用了B/S[7]架构,客户端使用jquery、easyUI等组件,解决了各浏览器之间的兼容问题。系统采用MVC[5]的设计模式,使用目前比较流行的hibertnate+struts+spring[4]的解决方案,数据库采用Oracle数据库,服务器操作系统采用最新的Linux操作系统。与过去的Windows Server操作系统相比,Linux操作系统更加安全、稳定。 1.2.2 功能结构设计
根据系统的需求分析,可以把系统分为个人中心、门户网站信息发布、系统设置、在线学习,以及分属各部门业务模块,其中包括党群纪检部门、人事部门、财务部门、科研部门、网络中心、后勤部门、档案部门、院领导功能模块等。系统功能模块具体如图1所示。 1.2.3 逻辑结构设计
系统按照MVC的模式设计,表现层采用JSP技术,页面的动态脚本采用JSTL标签和EL表达式,从而规避了在JSP页面中使用Java代码,使表现层和控制层做到完全分离。控制层使用Struts拦截器和控制器处理和返回用户请求,模型层分为业务逻辑层、数据访问对象层(DAO层)以及数据持久层(PO层),使用Hibernate 技术负责控制各层之间的数据交互。控制层负责表现层与业务逻辑层之间的数据交互;业务逻辑层接收用户请求数据,完成业务处理,然后通过控制层将处理结果返回表现层。业务逻辑层以DAO层为基础,完成对业务逻辑的具体实现;DAO层封装了最基本的增、删、改、查操作,数据持久层则通过数据对象的实体类(entity类)完成与数据库物理表之间的映射。DAO层通过与数据持久层的数据交互完成对数据库的操作。Hibernate技术负责处理模型层与数据库的数据交互。
Spring的主要技术是IOC和AOP(依赖注入和面向切面),IOC技术主要是帮助类初始化和实例化,然后把实体类注入到其它应用类。AOP技术主要负责系统安全、日志以及事务处理。
1.2.4 数据库设计
龙源期刊网 http://www.qikan.com.cn
通过需求分析,分析出系统有115个实体。仅列出系统管理模块的E-R图如图3所示。 通过对E-R图的分析,可得到120个数据表,其中系统设置模块包括了用户表、用户角色表、部门表、角色表、功能模块表、操作功能表。表1、表2分别列出了用户表和功能模块表的结构。
2 系统实现与系统界面展示 2.1 系统主界面
当用户使用系统管理员分配的用户名和密码登录成功后,进入系统主界面。系统主界面展示该用户可以办理的业务事项,界面展示直观,用户可以很方便地找到相应业务事项。 在系统主界面中显示各部门功能模块名称,以及各个功能模块下具体的业务事项。界面右下方还显示单位的最新信息动态,可以方便职工及时了解本单位最新的工作动态和改革措施。点击界面上方的“个人中心”图标,可以修改个人信息和登录密码,点击“退出系统”,则可退出登录。下面介绍系统中比较具有特色的文件上传与在线申报、审批功能。 2.2 文件上传功能
客户端采用Uploadify3.2上传控件实现文件上传功能。该控件基于jquery和Flash技术开发。优点是浏览器兼容性强,用户操作简单,用户定制功能强大。具体功能包括:①多文件上传,一次可以选择多个文件,无需多次提交表单;②拖放功能,控件允许拖放文件到队列中,添加即时可用;③实时显示文件上传进度。当上传文件时,进度条显示当前的上传进度;④自定义上传限制,可以设置文件大小、文件数及文件类型限制,上传限制可以确保服务器免受入侵。
2.3 在线申报和审批 2.3.1 在线申报
各部门可以根据自身的业务进行网上申报。
申报界面上半部分显示申报用户的申报信息记录,下半部分显示申报审批的流程。点击“添加申请表”,进入申报表填写界面。
在申报界面中右侧填写申报信息,点击“保存”按钮,界面左侧即能实时显示。申报人还可以在线签字、盖章。填写完成后点击“提交”,即完成了网上申报。 2.3.2 在线审批