基于SpringBoot的软件统计分析系统设计与实现

2019-05-29 11:18王丹孙晓宇杨路斌高胜严
软件工程 2019年3期
关键词:数据统计

王丹 孙晓宇 杨路斌 高胜严

摘  要:本文为基于SpringBoot的软件管理及统计分析功能为一体的平台,依照这个管理体系能够对实验室的软件信息进行细致、有效的管理,解决了管理人员对繁杂数据难以处理的问题。本平台为了更好地增强数据的可读性,对杂乱的数据进行了分析生成统计图表,实时、直观地获取关键信息。本系统采用Spring、SpringBoot、Mybatis-Plus作为后台的框架方案,前端则引用了较为流行的功能强大,性能良好的模板引擎Beetl,最终设计了基于B/S架构的软件统计分析系统,具有实际应用价值。

关键词:SpringBoot;Mybatis-Plus;Beetl;软件管理;数据统计

中图分类号:TP317     文献标识码:A

Abstract:This paper introduces a SpringBoot-based software management and statistical analysis platform,by means of which,laboratory software information can be managed in detail and effectively,solving the management difficulties of complex data.In order to enhance the readability of the data,this platform analyzes the cluttered data,turns the data into charts,and obtains the key real-time information intuitively.Taking Spring+SpringBoot+Mybatis-Plus as the backstage framework and Beetl as the database to store information,the paper designs a software statistical analysis system based on SpringBoot,which has practical application value.

Keywords:SpringBoot;Mybatis-Plus;Beetl;software management;statistical analysis

1   引言(Introduction)

信息化是充分利用信息技術,开发利用信息资源,促进信息交流和知识共享,提高经济增长质量,推动经济社会发展转型的关键途径。20世纪90年代以来,信息技术不断创新,信息产业持续发展,信息网络广泛普及,信息化成为全球经济社会发展的显著特征,并逐步向一场全方位的社会变革演进。进入21世纪[1],信息化对经济社会发展的影响更加深刻。广泛应用、高度渗透的信息技术正孕育着新的重大突破。

随着计算机应用技术的迅速发展,学校各个专业对专业软件的数量的需求不断增长,如何有效地管理软件信息便成了急需解决的难题。为了充分解决这个问题,建立一套稳定、便利、有效的软件管理系统不可或缺。

数据分析是管理体系的基础,若存在直观、准确的数据分析工具,便能够对大量的数据进行分析,以求最大化地开发数据资料的功能,发挥数据的作用,提取有用信息并形成结论加以详细研究,可以有效地提高信息的利用率。通过这种方式可以针对性地对当前已知的情况进行概况了解,可以用过往数据来预测未来趋势,也可以对工作数据进行统计,作为工作人员考评参考。本平台的主要应用目标为管理计算机中心的软件的维护人员,方便其对计算机中心实验室的有效管理。

2   相关工作(Related works)

2.1   框架介绍

本系统以Spring+SpringBoot+Mybatis-Plus作为后台的框架方案,利用beetl模板引擎支持前端开发,以MySql作为数据库数据库实现信息的存储,shiro作为安全框架进行身份认证,设计了基于Web的软件统计分析系统。

2.2   SpringBoot简介

SpringBoot是由Pivotal团队提供的全新框架,目的是用来简化新Spring应用的初始搭建和开发过程。SpringBoot对于Java的快速开发是有帮助的,它简化了开发过程、配置过程、部署过程和监控过程。SpringMVC为Spring框架提供的构建Web应用程序的全功能MVC模块。

MVC(Model-View-Controller,即模型—视图—控制器[2])是Web[3,4]开发中的一种设计模式。Spring MVC框架提供了一个DispatcherServlet作用前端控制器来分派请求,同时提供灵活的配置处理程序映射、视图解析、语言环境和主题解析,并支持文件上传。Spring MVC[5]还包含了多种视图技术,例如JSP、Velocity、Tiles、iText和POI等。Spring MVC分离了控制器、模型对象、分派器,以及处理程序对象的角色,这种分离让它们更容易进行定制。图1显示了这三种组件的联系和功能的分工[6]。

3   系统设计方案(System design plan)

3.1   系统总体设计

如图2所示,系统设计包括系统管理、机房管理、统计图表三个模块。

(1)系统管理模块:主要管理系统中最基本的用户、角色、日志等信息。

(2)机房管理模块:主要负责统计和收集运维过程中的软件、机型、分区等基础数据,为了使管理流程更清晰,管理过程更便捷,我们将此模块又细分为基本信息管理、状态信息管理、日常管理三个子模块。

(3)统计图表模块:是系统功能模块中的核心模块,此部分主要负责将机房管理模块中统计的数据进行统计、加工和分析,最后生成多种类型的、直观的、可参照的数据分析图和表格。

3.2   统计图表模块介绍

统计图表模块主要对系统中六个部分的数据进行了分析。

(1)软件库平台统计:提供了饼状图、柱状图和趋势图来显示软件总数和软件所占百分比。

(2)实验室分区统计:饼状图显示各分区实验室的数量,柱状图显示各分区的使用密度。

(3)实验室机型统计:显示在用和停用机型占比,利用统计图表显示各类机型在实验室中的使用频率。

(4)软件发包统计:利用软件发包统计表,可动态选择校区、实验室和操作系统,显示各实验室的不同操作系统发包次数和发包频率,并给出月发包趋势图,显示往期的发包高峰和低谷,为后面的发包工作提供参照数据。

(5)软件系统统计:统计分析软件列表总数,给出各操作系统软件列表数量统计图。

(6)软件明细统计:统计显示了整个中心的软件明细,利用统计图表显示在库和在用的软件总数,并分类显示每种类型的软件所占百分比。

3.3   数据库设计

软件统计分析系统的数据库设计是针对不同用户的实际需求设计的,共有部门表(sys_dept)、字典表(sys_dict)、登录记录表(sys_login_log)、菜单表(sys_menu)、通知表(sys_notice)、操作日志表(sys_operation_log)、角色和菜单关联表(sys_relation)、角色表(sys_role)、管理员表(sys_user)、机型表(tb_cec_computer)、软件发包表(tb_cec_softsend)、实验室表(tb_cec_lab)、实验室机型表(tb_cec_labcomputer)、实验室分区表(tb_cec_labpart)、分区表(tb_cec_part)、软件列表表(tb_cec_softlist)、软件列表明细表(tb_cec_softlistdetail)、软件库表(tb_cec_softstore)、软件平台表(tb_cec_softtype)、操作系统表(tb_cec_system)总计19张数据库表单。

4   系统功能详解(Detailed function of system)

4.1   界面框架设计

如图3所示,整个网站的界面设计遵循简约风格。主体色彩简约、大方,突出功能性与实用性。主页面为网站的通知页。页面由五个基本模块组成。左上方显示个人信息、左侧导航栏、右上方搜索框、主操作导航栏、内容展示区。在每个左侧一级导航栏下设置了对应分类的二级、三级导航栏,方便用户快速找到操作界面。

4.2   餅状、柱状数据分析图

图4中涉及两类图表,左侧饼状分析图和右下方的柱状分析图,饼状分析图的优点在于能够直观的体现不同数据的占总体数据的比例,图4中分析了各软件平台中不同类别软件使用比例,在饼状图左侧显示了不同颜色对应的软件类别,用户可以手动点击选择是否展示该类别的分析数据。鼠标焦点停留在饼状图中任意扇形上时会显示该分类下软件数量、百分比等详细数据。

在柱状图中,我们给出了每种类型软件的数量,其中数据实时更新,通过显示这种分析数据,我们可以实时的了解当前实验课程中的热门软件,热门学科,促使维护人员去关注软件更新动态,给师生提供良好的学习和上机环境。

另外,为了展现除图表以外的详细分析数据,我们在右上方给出了数量和百分比两种统计类型的数据表格。

4.3   趋势图

除了各类体现数值类型的分析图,本系统同时给出了趋势图,如图5中所示,是对实验室的月发包数量进行统计,x轴代表月份,y轴代表发包的数量,后台自动绘制曲线趋势图,例如图中的发包低谷期是2018年2月,且突出发包数量为2,而发包高峰期为2018年9月,突出发包数量为78,第二高峰期为2018年3月。有了这些分析数据,部门可以根据当年的月发包任务量估算明年的发包工作,合理安排当月运维工作。

5   结论(Conclusion)

当前,大部分实验室的预约,以及教师和管理员的管理都处于手动状态,对于教学工作有很大的不便。因此,通过实验室资源管理系统的试用,可以促进各个实验室实验资源的利用。通过将实验室资源管理系统的数据库扩大,将学校所有的实验室资源录入其中,并将管理员的信息也录入其中。比如,可以加入计算机室、活动会议室、金融实验室等等。甚至可以将学校互动使用的资源都编入数据库中,这样形成一个体系,是整个校园都处于信息化管理的状态中。通过这些改进,实验室资源管理系统将会得到很大的改进,既有利于系统本身的提高和功能的完善,也有利于资源的智能化管理。

参考文献(References)

[1] Wu P,Yin K.Application research on a persistent technique based on Hibernate[C].International Conference on Computer Design & Applications.IEEE,2010:V1-629-V1-631.

[2] Zhang C Q,Ge L.The Development of Web Site Construction in E-commerce Based on MVC Structs[J].Advances in Future Computer and Control Systems,2012:47-51.

[3] 田军.浅谈jQuery技术在Web开发中的应用[J].电子世界,2012(24):8.

[4] 柳明,杨丰.基于B/S模式的网络考试系统设计与实现[J].电脑知识与技术,2009(36):10166-10168.

[5] 张宇,王映辉,张翔南.基于 Spring 的 MVC 框架设计与实现[J].计算机工程,2010,36(4):59-62.

[6] 李洋.SSM框架在Web应用开发中的设计与实现[J].计算机技术与发展,2016,26 (12):190-194.

作者简介:

王  丹(1991-),女,硕士,助理实验师.研究领域:协同计算,计算机技术.

孙晓宇(1996-),男,本科生.研究领域:软件工程,计算机技术.

杨路斌(1996-),男,本科生.研究领域:互联网开发,计算机应用.

高胜严(1996-),女,本科生.研究领域:计算机应用技术.

猜你喜欢
数据统计
基于ADO.NET实现的统计和分析算法的优化
“低头族”现象产生的原因及解决方案
新课改下初中化学教学水平的提高策略
大数据与大数据经济学
山西省不同导线电线积冰特征对比分析
高校招生数据采集及分析系统设计与实现
提高高校音体美专业英语教学实效研究