智慧校园数据交互式报修平台设计与实现

2019-12-25 08:00黄昇
微型电脑应用 2019年12期
关键词:教职工管理员页面

黄昇

(上海旅游高等专科学校 设备处, 上海 201418)

0 引言

近几年,很多高校在信息化领域的建设已经初见成果,但离建成“智慧校园”还有一定的距离。设备报修和技术支持服务仍旧是电话的方式为主。随着校区新办公楼的建成,学校也投入了大量的资金希望能进一步建成“智慧校园”,原先的报修工作方式就显现出其弊端:

(1) 学校电子设备(计算机、复印机、网络设备等)的维护工作和技术支持都是由信息中心来承担,其工作压力和维护成本相当大。

(2) 由于电话报修消息传递有滞后,经常会出现,维护员刚回到办公室才得知同幢办公楼还有地方技术服务,来回奔波造成时间和人力上的浪费。出现大批量报修电话式,如果维修人员记录比较随意,很容易出现遗忘,造成双方不必要的误会。

(3) 信息中心对年度的工作量无法做出准确的统计数据。

鉴于以上问题,急需研发一套能摒弃过去原始纸质和电话报修的工作模式的网上报修系统。该系统前台教职工能通过校园门户网站进行设备报修,后台信息中心管理员能进行用户管理,对报修单进行分派和进度跟踪、统计和各类报表生成打印等功能。

1 开发设计及数据库架构探索

通过前期的细致的调研工作后,选择使用SSH框架模型开发[1],为软件在较短时间内按阶段完成,同时这种框架开发更便于后期版本的更新和功能的扩展。智慧校园数据交互式报修平台采用B/S架构体系研发,用户只需通过Web端(浏览器)登陆平台就可以发出报修和技术支持服务的请求,如图1所示。

表示层:浏览器实现表示层的功能。解决各类常用浏览器的兼容性问题(IE、FireFox、360浏览器、Google浏览器等等)、设计页面布局的合理性,易用性。

功能层:是指服务器(报修平台的应用程序),用于处理功能业务和数据逻辑的部分,它由三部分组成;

(1) 业务处理逻辑,平台所有的程序逻辑判断和功能业务都在这里实现;

(2) 控制请求转发,对系统用户进行身份的验证,根据用户不同角色赋予相应的权限,防止用户URL地址访问某些特定的资源;

图1

(3) 数据库操作层,出于对数据库的安全考虑,将业务服务器和数据库服务器物理分开,它们之间的交互由数据库操作层完成。比如:与数据库服务器建立连接,数据库的防护策略(如:非法数据查询、SQL注入等)。

数据库:是数据库管理系统,它负责数据的安全性、完整性和唯一性管理。

2 系统分析阶段

2.1 在线报修平台需求分析

信息化管理是为了提高服务水平和管理效率,但还是要保证被信息化重构后的业务流程的规范性和准确性[2-4]。所以,需要对线下工作流程进行详细分析,利用软件工程的理念,将其整理成需求分析文档。

通常情况下,教职工报修过程中所需的主要信息从保修平台数据库调取。教职工登录在线报修平台就能得到其名下的资产信息。那么,教职工只要填写需要报修设备的资产编号,系统就会自动加载设备的名称、设备类型、报修人联系电话等常规信息,然后报修人要做的只有填写对设备故障情况的简单描述、设备故障的截图上传和选择预约合适维修时间即可。我们可以将上述报修业务流程归纳如下:

(1) 教职工报修平台提交申请,完成必要信息的填写;

(2) 信息中心管理员网上收到新报修申请的提示后进行处理,将报修单推送给具体的维护人员。

(3) 维护员先和报修人联系了解具体情况,决定是去现场排除故障还是通过网上远程解决。如果判断设备需外送维修或是硬件故障,则通知报修人将设备送至设备处做下一步处理,最后维护员填写报修工单处理意见和完成情况;

(4) 对外修或维修完成的工单返回至信息中心管理员进行记录统计;

具体业务流程图如图2所示。

图2

2.2 系统功能设计

上述业务流程分析本人通过充分的需求分析,现将在线报修平台功能分为三个体系、一个辅助功能模块。分别为:设备申报处理体系、管理员后台管理体系、平台查询统计体系,另外考虑到多媒体教室教学设备报修实际情况,增加一个独立填报的功能模块。

设备申报处理体系:报修申请功能,报修工单审批功能,分配和处理功能(工单查询,维护进度监看,外送修理设备进度查询等);

管理员后台管理体系:各职能部门设备管理员设置,用户权限设置,推送消息内容设置;

平台查询统计体系:报修工单查询统计功能(各种条件查询),年度报表生成。

下面给出部分功能模块的用例图,如下图3所示。

根据用例图定义,校园报修平台报修人的时序图如图4所示,信息中心管理员模块时序图如图4所示。

图4

2.3 数据库设计原则

一个优秀的数据库设计方案将直接影响数据查询的响应速度和程序开发的效率[5]。首先,必须搞清楚所要开发的系统的性质到底是“事务处理类型”(Transactional)还是“分析类型”(Analytical)。“事务处理类型”就是经常要对数据进行CRUD(Creating/Reading/Updating/Deleting),而相对的“分析类型”的数据库更注重数据的分析,报表等功能,对数据库的数据“插入”和“更新”操作较少,从需求分析阶段来看我们这个报修平台更偏向于“事务处理类型”。

图5

故数据库的结构设计需要遵循以下几个原则[6-7]:

1) 一致性原则:已经确定系统的性质,“事务处理类型”的系统频繁地增删改查操作,如果出现并发现象,应保证数据的前后一致性。

2) 安全性原则:数据库的安全性有两个方面:其一,是指保护数据,防止数据库数据泄露、丢失和非法更改。其二,是指数据库结构的设计是否具备健壮性、容错性和可恢复能力。

3) 可扩展性原则:考虑到平台系统的升级和功能需求增加的情况,数据库的结构需要具备有良好的可扩展性和适度的冗余能力。

基于以上原因,校园在线报修平台不再单独开发数据库,除了平台系统一些必要的本地数据表意外,其他教职工个人信息以及固定资产信息统一通过已经成熟的校园信息门户的数据交换中心获取(该交互中心提供标准API接口),这样不仅保证数据的一致性,也保证数据安全性。

2.4 数据库数据字典设计

这里只罗列出两个主要的数据表结构,其一,是报修申请表(repair)表用来存储设备的报修信息,主要用来存储报修人上传的相关图片、问题描述和预约时间,其余字段都是通过数据中心自动获取的,具体数据库字段功能如表1所示。其二,是用户表(user)用来存储登陆用户的信息,具体数据表字段如表2所示。

表1

3 系统的实现

报修平台采用SSH(Struts+hibernate+spring)进行研发,SSH是一种开源的Web应用程序集成框架。

基于SSH框架开发报修平台将分为表示层(浏览器)、逻辑业务层(功能层)、数据层(数据库操作)和模块层(扩展功能)4个层次,这样的层次结构使得程序员进行快速开发,整个平台结构清晰、平台功能可扩展性好、后期维护方便等特点。SSH框架中Struts将作为报修平台的架构的底座支撑,负责将MVC(Model,View和Controller)业务流进行分离,控制功能业务之间的跳转。Hibernate对数据层提供支撑。Spring则只负责管理struts和hibernate。

表2

Struts还对Model,View和Controller提供了所对应的控制器。ActionServlet控制器作为核心控制器首先接收来自前台终端的请求,Action控制器根据ActionServlet收到的请求类型,再去调用Model的业务逻辑方法处理请求,并根据前台参数将最终的处理结果返回给前台JSP页面显示。

Model部分:由ActionForm和JavaBean组成,其中ActionForm用于将用户的请求参数封装成ActionForm对象,model文件夹与action文件夹内的方法一一对应,主要用于ActionForm中的方法接收前台参数

View部分:浏览器页面展示的.jsp页面,以及js文件和css文件。Struts自带常用的标签库,研发可以调用标签库的内容,,减轻页面因为使用JS脚本的加载过程。同时,程序员也可以通过编写自定义的标签,使页面功能展现更加丰富。

Controller部分:由两个控制器组成,它们分别负责系统核心转发和业务逻辑处理:

(1) 系统核心控制器对应就是ActionServlet控制器,它继承的是HttpServlet类。

(2) 业务逻辑控制器对应就是Action控制器,本身不处理请求,而是将获取的参数传递给所调用Model的方法来完成处理。

Hibernate是一个开源的映射框架,该框架内封装了一个轻量级的JDBC,这样方便程序员用面向对象的思维模式来操作数据库。它一共有5个核心接口,分别为:Session、SessionFactory、Transaction、Query和Confguration。下面对这五个核心接口分别加以介绍。

(1) Session接口负责CRUD(增删改查)的数据库操作(该接口封装了许多常见的SQL语句)。

(2) SessionFactory接口负责初始化Hibernate,并创建Session的对象。

(3) Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。

(4) Transaction接口是系统的基类。研发人员也可以设计自定义的系统底层事务处理基类。

(5) Query和Criteria接口是数据库查询接口。它兼容HQL语言和SQL语句。HQL更加面向对象,因为它的调用是类和类的属性名。

Spring是一个开源框架,它适用于任何Java语言,使用基本的JavaBean来替代EJB,并提供了更多的常用应用功能,能很好地解决应用开发过程中的复杂性,使系统的代码编写更简洁、更易于管理、并且更方便程序员做代码走查。

由于是定制开发,不能完全沿用SSH的原有框架的配置,所以在报修平台的研发中增加了config文件夹该文件夹中主要存放报修平台系统框架配置,如图6所示。

图6

jdbcInfo.properties 数据库连接参数配置;

log4j.properties 控制台日志配置;

hibernate.cfg.xml 数据库映射配置;

beans-base.xml spring集成核心配置;

beans-dao.xml spring集成DAO层配置(数据映射底层);

beans-service.xml spring集成业务层配置(依赖DAO层);

beans-action.xml spring集成视图层配置(与用户交互层,依赖service层);

struts2.xml 前台路径跳转控制;

beans-time.xml 数据同步配置。

智慧校园数据交互式报修平台的程序流程图如图7所示。

图7

信息中心管理员后台有管理和打印功能:

(1) 人员维护模块:主要针对维修人员的增删改查的操作;

(2) 部门信息维护模块:包括部门设备管理员变更(部门设备管理员的权限是允许为本部门名下多有设备报修)、教职工密码修改和重置等功能;

(3) 打印模块:常规的就是外送维修记录打印和年度统计报表打印。还有报修类型的图片生成,为今后大数据的用户行为统计打基础。

报修申请代码如图8所示。

图8

管理员分配工单如图9所示。

图9

报修平台页面展示图10所示。

4 总结

本文对智慧校园数据交互式报修平台的整个设计研发过程进行了详细阐述。通过前期大量的调研和充分的需求分析,平台正式上线使用一段时间后,运行情况良好。有部分教职工也提出了一些合理化意见和新需求。本人在后期版本也计划做进一步的优化,平台页面布局设计上还有待做改进。同时,移动办公是今后的趋势,校园在线报修平台也将整合进校园手机微门户的接口中去,这样更方便教职工进行报修申请,也可实时了解维修的进度情况。

猜你喜欢
教职工管理员页面
渭南师范学院“喜迎二十大 奋进新征程”教职工书画作品选登(一)
刷新生活的页面
答案
我是图书管理员
我是图书管理员
让Word同时拥有横向页和纵向页
适应脱贫攻坚新形势,加快构建服务农村中小学教职工保障体系
可疑的管理员
从教职工福利谈高校工会工作的创新
让管理员管不了的名字