摘要
随着互联网趋势的到来,各行各业都在考虑利用互联网将自己推广出去,最好方式就是建立自己的互联网系统,并对其进行维护和管理。在现实运用中,应用软件的工作规则和开发步骤,采用Java技术建设冷链设备监控系统。
本设计主要实现集人性化、高效率、便捷等优点于一身的冷链设备监控系统,完成用户管理、设备监控管理、留言管理、通知管理、设备监控统计、系统管理等功能模块。系统通过浏览器与服务器进行通信,实现数据的交互与变更。只需通过一台电脑,动动手指就可以操作系统,实现数据通信管理。整个系统的设计过程都充分考虑了数据的安全、稳定及可靠等问题,而且操作过程简单。本系统通过科学的管理方式、便捷的服务提高了工作效率,减少了数据存储上的错误和遗漏。
冷链设备监控系统使用Java语言,采用基于 MVC模式的JavaEE技术进行开发,使用 MyEclipse 2017 CI 10 编译器编写,数据方面主要采用的是微软的SQL Server关系型数据库来作为数据存储媒介,配合前台HTML+CSS 技术完成系统的开发。
基于Java的冷链设备监控系统通过测试,确保在最大负载的情况下稳定运转,各个模块工作正常,具有较高的可用性。系统整体界面简洁美观,用户使用简单,满足用户需要。本系统的实现,可以给用户带来个性化的体验,还可以节约企业的成本。
1 绪论
1.1 研究意义
在中小型企业中,设备的监控管理业务一般是从设备的入库开始,其主要包括以下几个部分:
(1)设备开始采购时,设备部专业人员应检查设备状况,并填写《设备状况登记表》。然后由管理人员负责将《设备状况登记表》进行登记和存档,并对有关使用说明进行编号和存档,以备维修之用。对于一些附属设备,仅做登记入库管理,以便进行及时核对和调配。
(2)在设备的日常运行中,需要对日常检测到的所有数据进行存储和监督。并且在有经验的技术人员的指导下,根据日常使用记录,制定日常维护计划,努力减少因设备问题引起的计划外停机时间。
(3)在设备发生事故的情况下,登记事故记录,并向技术人员提交事故维修表。技术人员根据事故维修表和日常运行数据进行现场观察,确定维修标准和要求。以便进行及时,合理的维修。在维修结束后,技术人员需编写维修情况报告和设备状态报告。
管理人员对相关资产数据和产品报表进行统计,以便高级管理人员根据报表掌握设备运行的宏观情况。
1.2 国内外现状
国内研究现状:
随着我国工业水平的发展,最近几年我国也开始发展EAM,目前一般在交通、钢铁、电力、煤矿等企业己经得到了较好的应用,如中海油和大亚湾核电。根据CCW公布的信息,2006年EAM在中国的增长率为24._5070, 2008年中国EAM软件市场规模约为1 _5亿元,2010年约为30亿元。即使EAM在中国发展的速度已经很快,但是EAM的实施成功率仍然很低。原因如下:
技术档案管理和建立数据库是管理的基础和关键。基础的数据资料包括各种设备的性能参数、使用说明书、维修保养指南等。目前而言,国内所使用的EAM产品尚不符合国内煤矿企业设备管理流程的要求。数据库的建立是一个较为繁琐的过程,需要信息的获取、信息的整理、信息的归纳和分析、审核和验证批准、备案等。
可移植性是当今系统性能评价的一个重要指标,能否在多个操作系统之间、多个数据库之间平稳地移植很大程度上决定了EAM的使用范围。现有的EAM往往只是针对具体的某一个系统,尚不能移植,这就需要中间的复杂修改工作,付出更多的成本代价。
目前工矿企业所使用的EAM系统还是比较独立单一,不能为其他系统预留系统接口,无法与其他系统相互结合。煤炭企业一般是比较大型的企业,涉及到的人员、部门、机电设备都是比较多的,根据这些特点,EAM系统需要其他系统、平台结合组成更大更综合性的系统。以上这些问题和欠缺之处,也使得我们必须根据我国工矿企业的实际情况,定制符合我国煤矿企业特点的设备管理软件。
国外研究现状:
目前,国际上很多企业采用的设备管理系统是EAM ( Enterprise Asset Management,企业资产管理)。EAM的起源是计算机化的设备管理系统CMMS (ComputerizedMaintenance Management System)。随着设备的更新和技术的发展,目前EAM在发达国家的重型工业中得到了广泛的使用和推广。
EAM集中体验现代企业管理的技术和理念,围绕着设备管理尤其是设备的维修,将各方面资源(人力、物料、工具、资金、信息、时间、方法等)进行科学的规范、计划、管理、控制、反馈、分析及改善。
1.3 工作安排
冷链设备监控系统是从国内冷链设备的管理现状出发,对冷链设备的过程进行调研,开发一个基于Java的冷链设备监控系统。该系统可以基于管理人员的需求,录入冷链设备信息,对其进行管理。主要研究内容有以下几点:
1.本论文对传统的冷链设备管理模式进行了一定的调查和研究,以及同时对比了同类别的系统存在的弊端,说明了开发此冷链设备监控系统的必然性与可行性。
2.分析冷链设备监控系统的用户角色,分别得到普通用户和管理人员两类角色,得到了他们应具有的基本功能,还对两类角色的流程进行了一定的分析。
3.系统的总体框架。系统采用MVC分层思想,使系统模块化,增加了系统的灵活性。
4.系统的功能设计。准备实现的冷链设备监控系统有管理员和用户这两种角色。通过分析管理员和用户对冷链设备监控系统的需求,得到管理员在整个过程中所需要的工作,包括设备信息管理、用户信息管理、发布通知、管理留言信息等。从用户角度得到用户的主要需求为设备信息管理、个人信息管理、查看通知、发布留言等。
5.系统的实现。实现一个功能齐全、绿色健康,使用方便的冷链设备监控系统,以期更好地服务社会。
6.系统的测试。在前面所做工作的基础上,大量收集数据,对数据做出适当分析,从而对各个模块功能进行精准测试,完善系统的不足,使系统能够正常地运行。
7.总结冷链设备监控系统的特点和不足之处,对此平台做出一定的改进和展望。
1.4 论文结构
第一章是冷链设备监控系统绪论,主要对本系统的开发背景、研究背景和研究意义做一些介绍,最后介绍了本文的结构。
第二章介绍了冷链设备监控系统的所采用的开发技术和工具。
第三章是系统分析部分,包括系统总体需求描述、功能性角度分析系统需求、非功能性等各个方面分析系统是否可以实现。
第四章是系统设计部分,本文章的重要部分,提供了系统架构的详细设计和一些主要功能模块的设计说明。
第五章是系统的具体实现,介绍系统的各个模块的具体实现。
第六章主要描述了系统的测试。阐述系统测试的环境和测试方法,然后描述了对于各个模块的功能测试。
最后对本次项目进行了认真的总结,并对未来有新的展望。
2 相关技术介绍
2.1 J2EE技术
人可以掌握多门外语,而一个计算机科学家精通的大多是编程语言,它不是人类的自然语言,比如C语言、Java、Perl等等。由于不同的公司开发出的“中间件”不够规范,所以Sun公司推出J2EE(Java2企业版),用这个标准来解决弊病。它提供了良好的机制,让每个层次允许与之相对的服务器、组件运行,使得系统的搭建稳定可用、开发高效、维护方便[1][2]。
Sun公司的J2EE(Java2企业版)体系结构提供中间层集成框架用来满足没有太多费用而又需要高可用性,高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持Enterprise JavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。
2.2 模式
MVC并不是Java语言所特有的设计思想,也并不是Web应用所特有的思想,它是所有面向对象程序设计语言都应该遵守的规范。
MVC思想将一个应用分成三个基本部分:Model(模型)、View(视图)和Controller(控制器),这三个部分以最少的耦合协同工作,从而提高应用的可扩展性及可维护性。
视图(View)代表用户交互界面,一个 Web 应用就可能有很多的界面,在 MVC 模式中,视图仅仅处理的只有数据采集、处理,还有用户的请求, 并不包括业务流程的处理,业务流程由模型(Model)来处理[3]。
模型(Model)就是业务流程/状态的处理及业务规则的制定。模型处理业务流程的过程其它层是无法看见了的,它就像黑箱子,在接受视图请求的数据之后,然后返回最终的处理结果。MVC 最主要的核心就是业务模型的设计,一个典型的应用例子就是目前流行的 EJB 模型,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但是它不能作为应用设计模型的框架[4]。
控制器(Controller)可以理解为接收用户的请求,然后视图和模型匹配在一起,一起再完成用户请求。它有非常明显的作用在划分控制层上,可以很清晰地告诉你,它就是一个分发器,选择什么样的模型、视图,可以完成用户的什么样的请求。控制层不做所有的数据处理,比如说:用户点击一个连接,控制层接受到请求之后,并不处理业务信息,它只是向模型传递用户的信息,同时告诉模型做什么,然后选择符合需求的视图返回给用户[5][6]。
2.3 SQL Server数据库
MicrosoftSQL Server是一个关系型数据库管理系统,它的范围包括了膝上型计算机、台式机、企业服务器。20世纪,最初的SQL Server是由Sybase专门为UNIX系统开发的,后来微软将它移植到了WindowsNT系统上。从1994年开始,微软发布独立于Sybase开发的SQL Server版本,而Sybase在20世纪90年代后期,就已经停止使用SQL Server这个名称[7]。
SQL Server提供SQL Server多个拷贝之间以及其他数据库系统的复制服务。其中的分析服务是属于系统的一个完整部分,包括了:联机分析处理(OLAP)和数据挖掘工具。SQL Server提供了一个大的图形化工具集和向导,引导数据库管理员执行各种任务,例如建立定期备份、在服务器之间复制数据,以及调整数据库性能[8]。
2.4 B/S结构
B/S结构即Browser/Server(浏览器/服务器)结构,是伴随着互联网技术出现的一种对C/S结构的改变或者说是改进。在这种结构中,用户界面通过WWW来达到在前端充分实现部分逻辑的目的,但最主要的逻辑在服务器中实现,从而形成一个所谓的三层结构。B/S结构主要被用于成熟的WWW技术,与多种浏览器脚本语言(VBScript, JavaScript)相结合。
B/S(Browser/Server)比前身架构更为省事的架构。它借助Web server完成数据的传递交流。只需要下载浏览器作为客户端,那么工作就达到“瘦身”效果, 不需要考虑不停装软件的问题[9]
2.5 MyEclipse开发工具
MyEclipse是由Genuitec公司开发的,一款功能非常强大的JavaEE的集成开发环境,其中包括有:完备的编码、调试、测试和发布功能[10],完整支持JSP、Spring、CSS、JavaScript、SpringMVC、HTML、JSF、Mybatis、SQL等技术。在体系结构上,MyEclipse的特征可以被分为7类:JavaEE模型;Web开发工具、EJB开发工具、JavaEE项目部署服务、应用程序服务器的而连接器、数据库服务、MyEclipse整合帮助[11]。
对于以上每一种功能的类别,在MyEclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse在结构上的这种模块化,可以让它在不影响其他模块的情况下,对其中任意的一个模块进行单独的扩展和升级。强大的MyEclipse应用开发平台也不仅仅只是Eclipse的插件而已,同时更是一款功能强大的,用于JavaEE的集成开发环境[12]
2.6 tomcat服务器
Tomcat软件是在一个开放的、参与式的环境中开发的,许多人都喜欢使用它[13]。Tomcat主要实现了Java EE中的Servlet、JSP规范,同时也提供HTTP服务,是市场上非常流行的Java Web容器。Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。它可以独立的被应用,却不适用于并发访问较高的情况。它是一个小型的服务连接器,程序员用它来测试服务器页面。
Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。它的性能稳定、容易上手、不需要消费即可获得等,这些益处抓住开发者的眼球,使用者擢发难数[14]。
3 系统分析
3.1 可行性分析
本次设计基于B/S 模式,运用Java、JSP技术,采用SQL Server数据库和Myeclipse实现,总体可行性可分为以下三部分。
3.1.1 技术可行性分析
所谓的技术可行性就是在限定时间,前期拟定的功能能否被满足。在开发设计上是否会遇上解决不了的问题。做完的项目能否被很好地应用,如果存在缺点在后期的维护上是否存在很大的难度。在对本系统进行评估后,认定目前的技术能完成目标。用JSP技术来实现动态的页面,嵌入低依赖性的设计模式,灵活的数据库,配合稳定的服务器,整个系统的运行效率大大提升。由此可见,在技术层面达成目标是可以做到的。
3.1.2 经济可行性分析
在项目上使用的工具大部分都是是当下流行开源免费的,所以在开发前期,开发时用于项目的经费将会大大降低,不会让开发该软件在项目启动期受到经费的影响,所以经济上还是可行的。尽量用最少的花费去满足用户的需求。省下经费用于人工费,以及设备费用。将在无纸化,高效率的道路上越走越远。
3.1.3 操作可行性分析
本系统实现功能的操作很简单,普通电脑的常见配置就可以运行本软件,并且只要粗通电脑使用的基本常识就可以流畅的使用本软件。电脑具备连接互联网的能力,并且可以正常访问系统,并不需要操作者有什么高超的能力,只需了解业务流程,并且按照专业知识进行正确操作即可,所以冷链设备监控系统具备操作可行性。
3.2 功能需求分析
在系统开发设计前,应该对功能做初步设想,清楚这个管理系统有什么板块,每个板块有什么功能,整体的设计是否满足使用者的需求,接着对所开发的系统功能进行的详细分析总结,从而设计出完整的系统并将其实现。通过开发人员与用户的交流分析,使其达到最大理解程度,并使系统功能达到最佳。
用户用例图如下所示。
图3-1 用户用例图
管理员用例图如下所示。
图3-2 管理员用例图
冷链设备监控系统在对需求做解析后,整个系统主要分为两个部分:管理员和普通用户,每个模块下的分支功能不一样。对功能做出如下说明:
普通用户模块:
账号注册。
账号登录认证。
管理个人资料信息,修改可修改的信息项。
设备监控处理,同时查看历史已处理的记录。
通知查询,同时查看历史已查询的记录。
发表留言。
管理员模块:
对普通用户留下的留言数据进行维护,删除违规留言,可对其回复想要的留言。
维护普通用户,审核普通用户的账号,可以冻结普通用户的登录权限,或者删除普通用户账号。
发布设备监控,并可以销毁某个设备监控,更新设备监控数据,模糊搜索设备监控数据等。
发布通知,并可以销毁某个通知,更新通知数据,模糊搜索通知数据等。
管理设备监控处理数据。
3.3 非功能性需求分析
系统有很多的非功能性要求,如性能要求、可承载的最大用户数、易用性、稳定性要求等。本系统分析考虑到了易用性的需求,因为系统是给人用的,所以必须充分从用户的角度出发,考虑用户体验,这样系统才容易理解,容易使用,容易操作。
3.4 数据流分析
零层数据流程图包括了登录注册、用户功能和检索维护等模块,在登录注册模块使用到的数据存储有用户账户文档,用户功能模块需要的存储是用户各功能模块数据文档,检索维护是使用以上这些数据文档通过关键词进行检索。
系统的零层数据流图如下图所示。
图3-2系统数据流图(零层)
一层数据流程图是对零层数据流程图的细化,将登录注册细分为填制登录注册数据和完善数据,用户功能细分为用户基本功能和用户主要功能。
系统的一层数据流图如下图所示。
图3-3系统数据流图(一层)
二层数据流程是对一层数据流层图中填写登录注册信息、用户功能的细化。即:填写登录注册信息细化为填制信息、后台审核,用户功能细化为个人资料修改、设备监控查询、设备处理、留言反馈、通知查询等操作。
系统的二层数据流图如下图所示。
图3-4系统数据流图(二层)
4 系统设计
4.1 系统架构设计
目前B/S体系的系统主要的数据访问方式是:通过浏览器页面用户可以进入系统,系统可以自动对用户向服务器发送的请求进行处理,处理请求是在系统后台中进行的,用户在浏览器页面上进行相应操作,就能够看到服务端传递的处理结果。冷链设备监控系统主要分为视图-模型-控制三层架构设计。在视图层中,主要是操作在服务器端向客户端反馈并显示的数据,在模型层中,主要处理相关的业务逻辑、数据整合等,最后的控制层介于视图和模型之间,主要是调整两层之间的关系,最终实现数据的传递。
系统架构图如下图所示。
4.2 系统功能架构
系统设计的目的是分析系统包括的所有功能结构,为开发人员设计开发和实现系统做好准备工作。经过前期的需求调查、分析和整理之后,确定的总体需求主要包括多个模块,分别是:用户管理、设备监控管理、留言管理、通知管理、设备监控统计、系统管理。系统整体角色分为二个部分,一是普通用户、二是管理员。权限分布也是很明显,普通用户是在除去浏览信息之外还具有查询和管理自己账户信息、设备监控查询、设备处理、留言反馈、通知查询等权限;管理员是最高权限拥有者。
系统功能结构图如下图所示。
4.3 功能模块设计
用户管理模块
该模块是为所有用户登录设计的,如注册用户这种普通用户登录后只能进行自己的普通功能操作(如个人信息修改),管理员和超级管理员登录后有不同的权限,管理员不能超越权限。超级管理员能对整个系统的数据进行管理,主要是用户的登录权限以及用户登录后在系统里的操作权限。
设备监控处理模块
普通用户和设备监控存在处理关系,关系为一对多,根据设备监控编号来将设备监控数据传入到处理数据中,操作人为普通用户,然后生成处理列表,普通用户查看个人历史处理列表,可以进行数据销毁。
设备监控维护模块
操作人来录入设备监控数据,点击设备监控录入按钮,依次填写要录入的设备监控数据,点击提交按钮,将数据提交至数据库,然后刷新设备监控数据页面,每条数据右边有删除和编辑按钮,来完成相应的删除和更新功能。
通知维护模块
操作人来录入通知数据,点击通知录入按钮,依次填写要录入的通知数据,点击提交按钮,将数据提交至数据库,然后刷新通知数据页面,每条数据右边有删除和编辑按钮,来完成相应的删除和更新功能。
留言信息管理模块
用户登录系统后,可在留言板进行留言,管理员在后台可以查看或搜索留言信息,同时可回复或删除留言信息。
打印和导出模块
系统多个页面可以进行打印功能,包括信息详细页,信息列表页,打印时调用外部打印机,完成打印设置即可打印,在信息列表页可以将该信息列表导出至excel中,用户选择保存excel文件的路径,既可以下载至本地,在excel中可以自由编辑。
4.4 数据库设计
4.4.1 概念模型
对于一个要开发的系统来说,E-R图可以让别人能更快更轻松的了解此系统的事务及它们之间的关系。根据系统分析阶段所得出的结论确定了在冷链设备监控系统中存在着多个实体分别是用普通用户、管理员、设备监控、通知、留言。
系统总体ER图如下图所示。
4.4.2 关系模型
管理员(管理员id、用户名、密码、权限)
普通用户(普通用户id、账号、密码、姓名、性别、地区、手机、Email、照片)
留言(留言id、昵称、留言内容、回复内容、留言人)
通知数据(通知id、标题、类别、首页图片、点击率、发布人)
设备监控(设备监控id、设备名称、温度、湿度、噪音、状态、记录员)
4.4.3 数据表
数据库逻辑结构就是将E-R图在数据库中用具体的字段进行描述。用字段和数据类型描述来使对象特征实体化,最后形成具有一定逻辑关系的数据库表结构。冷链设备监控系统所需要的部分数据结构表如下表所示。
allusers表:
序号 |
字段名称 |
字段类型 |
大小 |
允许为空 |
最大长度 |
备注 |
1 |
ID |
Int |
4 |
自增编号 |
10 |
|
2 |
username |
VarChar |
50 |
是 |
255 |
|
3 |
pwd |
VarChar |
50 |
是 |
255 |
|
4 |
cx |
VarChar |
50 |
是 |
255 |
|
5 |
addtime |
DateTime |
8 |
是 |
23 |
liuyan表:
序号 |
字段名称 |
字段类型 |
大小 |
允许为空 |
最大长度 |
备注 |
1 |
ID |
Int |
4 |
自增编号 |
10 |
|
2 |
biaoti |
VarChar |
50 |
是 |
255 |
|
3 |
neirong |
VarChar |
500 |
是 |
255 |
|
4 |
huifu |
VarChar |
300 |
是 |
255 |
|
5 |
yonghu |
VarChar |
50 |
是 |
255 |
|
6 |
addtime |
DateTime |
8 |
是 |
23 |
shebeijiankong表:
序号 |
字段名称 |
字段类型 |
大小 |
允许为空 |
最大长度 |
备注 |
1 |
ID |
Int |
4 |
自增编号 |
10 |
|
2 |
shebeibianhao |
VarChar |
50 |
是 |
255 |
|
3 |
shebeimingcheng |
VarChar |
50 |
是 |
255 |
|
4 |
wendu |
VarChar |
50 |
是 |
255 |
|
5 |
shidu |
VarChar |
50 |
是 |
255 |
|
6 |
zaoyin |
VarChar |
50 |
是 |
255 |
|
7 |
zhuangtai |
VarChar |
50 |
是 |
255 |
|
8 |
jiluyuan |
VarChar |
50 |
是 |
255 |
|
9 |
addtime |
DateTime |
8 |
是 |
23 |
tongzhi表:
序号 |
字段名称 |
字段类型 |
大小 |
允许为空 |
最大长度 |
备注 |
1 |
ID |
Int |
4 |
自增编号 |
10 |
|
2 |
biaoti |
VarChar |
50 |
是 |
255 |
|
3 |
jianjie |
VarChar |
300 |
是 |
255 |
|
4 |
tongzhineirong |
Text |
16 |
是 |
255 |
|
5 |
faburen |
VarChar |
50 |
是 |
255 |
|
6 |
addtime |
DateTime |
8 |
是 |
23 |
yonghuxinxi表:
序号 |
字段名称 |
字段类型 |
大小 |
允许为空 |
最大长度 |
备注 |
1 |
ID |
Int |
4 |
自增编号 |
10 |
|
2 |
yonghuming |
VarChar |
50 |
是 |
255 |
|
3 |
mima |
VarChar |
50 |
是 |
255 |
|
4 |
xingming |
VarChar |
50 |
是 |
255 |
|
5 |
xingbie |
VarChar |
50 |
是 |
255 |
|
6 |
shenfenzheng |
VarChar |
300 |
是 |
255 |
|
7 |
lianxidianhua |
VarChar |
50 |
是 |
255 |
|
8 |
beizhu |
VarChar |
500 |
是 |
255 |
|
9 |
addtime |
DateTime |
8 |
是 |
23 |
5 系统实现
5.1 登录模块的实现
系统的登录窗口是用户的入口,用户只有在登录成功后才可以进入访问。通过在登录提交表单,后台处理判断是否为合法用户,进行页面跳转,进入系统中去。
登录合法性判断过程:用户输入账号和密码后,系统首先确定输入输入数据合法性,然后在login.jsp页面发送登录请求,调用src下的mainctrl类的dopost方法来验证。
用户登录模块的IPO如下所示:
输入:用户名和密码。
处理:
1)检测用户输入的账号、密码是否正确及在数据库已对应存在。
2)从数据库中提取记录,并储存在本地的session中(timeout默认=30min)。
3)根据用户名,将其显示在系统首页上。
输出:是否成功的信息。
登录流程图如下所示。
系统登录界面如下所示。
图5-2系统登录界面
用户登录的逻辑代码如下。 if(ac.equals("adminlogin")) { String username = request.getParameter("username"); String password = request.getParameter("pwd"); String utype = request.getParameter("cx"); request.setAttribute("random", ""); go("/login.jsp", request, response); else{ String sql1 = "select * from allusers where username='"+username+"' and pwd='"+password+"' "; List<HashMap> userlist1 = dao.select(sql1); if(userlist1.size()==1) { request.getSession(). setAttribute("username", userlist1.get(0).get("username")); request.getSession(). setAttribute("cx", userlist1.get(0).get("cx")); gor("main.jsp", request, response); }else{ request.setAttribute("error", ""); go("/login.jsp", request, response); } } }
5.2 注册模块
此页面实现普通用户的注册,必须注册登录后才能使用系统大部分功能,用户名不允许重复,如果重复将会注册失败,并弹出相应的提示,通过js实现对输入的验证。
用户注册流程图如下所示。
用户注册界面如下图所示。
用户注册关键代码如下所示。
<%
HashMap ext = new HashMap();
ext.put("issh","否");
new CommDAO().insert(request,response,"yonghuzhuce",ext,true,false,"index.jsp");
%>
5.3 留言模块
用户在lyblist查看留言信息,先使用sql语句查询出所有留言表的数据,然后调用PageManager.getPages(url,4,sql, request ),返回一个ArrayList的对象,在for循环里,使用jsp得到每个ArrayList对象的数据,然后放入页面模板中,用户点击我要留言则跳转至lyb.jsp。
用户留言流程图如下所示。
用户留言界面如图所示。
留言管理界面如图所示。
留言添加关键代码如下所示。 <%HashMap ext = new HashMap(); ext.put("tglparentid",tglparentid); ext.put("huifuneirong",""); new CommDAO().insert(request,response,"liuyanban",ext,true,false,"lyblist.jsp"); %>
5.4 设备监控管理模块
设备监控处理过程中,首先使用getmap(id,"xinxi"),通过设备监控ID得到设备监控数据,将设备监控数据赋值给设备监控处理,调用CommDAO的insert方法将处理数据插入处理表中,最后查看个人历史设备监控处理记录,可以销毁历史处理数据。
设备监控处理流程图如下所示。
设备监控处理界面如图所示。
处理添加关键代码如下所示。
<%
HashMap ext = new HashMap();
if(request.getParameter("f")!=null){
ext.put("issh","否");
new CommDAO().insert(request,response,"shujujilu",ext,true,false,"");
}
%>
5.5 用户管理模块
用户在yhzhgl查看用户信息,先使用sql语句查询出所有用户表的数据,然后调用PageManager.getPages(url,4,sql, request ),返回一个ArrayList的对象,在for循环里,使用jsp得到每个ArrayList对象的数据,在jsp页面中解析ArrayList对象,得到其各个键值对的值。
用户管理界面如下图所示。
系统用户管理关键代码如下所示。
<%
new CommDAO().delete(request,"yonghuzhuce");
String url = "yonghuzhuce_list.jsp?1=1";
String sql = "select * from yonghuzhuce where 1=1 ";
if(request.getParameter("yonghuming")=="" ||
request.getParameter("yonghuming")==null ){}else{sql=sql+" and
yonghuming like '%"+request.getParameter("yonghuming").trim()+"%'";}
if(request.getParameter("xingming")=="" ||
request.getParameter("xingming")==null ){}else{sql=sql+" and
xingming like '%"+request.getParameter("xingming").trim()+"%'";}
if(request.getParameter("QQ")=="" ||request.getParameter
("QQ")==null ){}else{sql=sql+" and QQ like '%"+request.getParameter
("QQ").trim()+"%'";}
if(request.getParameter("youxiang")=="" ||
request.getParameter("youxiang")==null ){}else{sql=sql+" and
youxiang like '%"+request.getParameter("youxiang").trim()+"%'";}
if(request.getParameter("dianhua")=="" ||
request.getParameter("dianhua")==null ){}else{sql=sql+" and dianhua
like '%"+request.getParameter("dianhua").trim()+"%'";}
if(request.getParameter("shenfenzheng")=="" ||
request.getParameter("shenfenzheng")==null ){}else{sql=sql+" and
shenfenzheng like '%"+request.getParameter("shenfenzheng").trim
()+"%'";}
sql+=" order by id desc";
//out.print(sql);
ArrayList<HashMap> list = PageManager.getPages(url,10,sql,
request );
int i=0;
for(HashMap map:list){
i++;
%>
6 系统测试
6.1 测试目的
在对该系统进行完详细设计和编码之后,就要对冷链设备监控系统的程序进行测试,检测程序是否运行无误,反复进行测试和修改,使之最后成为完整的软件,满足用户的需求,实现预期的功能。
6.2 测试过程
在软件的测试过程中,通常测试人员需要针对不同的功能模块设计多种测试用例。通过测试用例能够及时发现代码业务逻辑上是否与真实的业务逻辑相对应,及时发现代码上或逻辑上的缺陷,以此来来完善系统,提高软件产品的质量,使软件具有良好的用户体验。
注册测试用例表如下所示。
表6-1注册测试用例
测试性能 |
新用户注册 |
||
用例目的 |
测试系统新用户个人信息注册功能的功能和安全性 |
||
前提条件 |
进入注册页面填写个人信息 |
||
输入条件 |
预期输出 |
实际情况 |
|
各项基本信息输入不完整 |
不允许注册,无法点击注册按钮 |
一致 |
|
填写已存在的用户名 |
系统显示出提示信息,要求重新填写 |
一致 |
|
两次密码输入不一致 |
系统显示出提示信息,要求重新填写 |
一致 |
|
填写的各项信息没有符合提示的长度和字符要求 |
系统显示出提示信息,要求重新填写 |
一致 |
|
胡乱填写电话号码 |
收不到验证码 |
一致 |
|
填写验证码与收到的不一致 |
系统显示提示信息告知用户验证码错误,不予注册 |
一致 |
|
登录测试用例表如下所示。
表6-2登录测试用例
测试性能 |
用户或操作员登录系统 |
||
用例目的 |
测试用户或操作员登录系统时功能是否正常 |
||
前提条件 |
进入用户登录页面或操作员登录页面 |
||
输入条件 |
预期输出 |
实际情况 |
|
各项信息不予填写,直接点击登陆按钮 |
不允许登录,提示填写账号相关信息 |
一致 |
|
填写错误的登录名或密码后点击登录系统 |
提示用户名或密码错误,要求重新填写进行登录 |
一致 |
|
填写与验证码信息不一致的信息 |
系统显示出提示信息,表明验证码错误,要求重新填写 |
一致 |
|
设备监控处理测试用例表如下所示。
表6-3设备监控处理测试用例
测试性能 |
用户进行处理设备监控的操作 |
||
用例目的 |
测试用户进行处理设备监控操作时,系统的功能是否正常 |
||
前提条件 |
用户进入设备监控详情页,该设备监控能够被处理 |
||
输入条件 |
预期输出 |
实际情况 |
|
用户未登录,点击处理按钮 |
跳转至登录页面,提示用户先进性登录 |
一致 |
|
正常的登录用户,点击处理按钮 |
系统弹出提示框,提示用户处理成功,同时该设备监控的状态更改为已处理状态 |
一致 |
|
设备监控管理测试用例表如下所示。
表6-4设备监控管理测试用例
测试性能 |
设备监控相关信息管理功能 |
||
用例目的 |
测试系统后台操作员对设备监控相关信息进行管理的功能是否正常 |
||
前提条件 |
登录系统后台进入相关管理页面 |
||
输入条件 |
预期输出 |
实际情况 |
|
普通操作员登录,点击进入设备监控相关信息管理的页面 |
提示非超级用户,权限不够,无法进入相关页面 |
一致 |
|
超级操作员登入,删除某个已被处理的设备监控 |
提示该设备监控删除失败 |
一致 |
|
点击增加设备监控按钮 |
页面正常跳转 |
一致 |
|
增加设备监控是,填写已存在的设备监控编号 |
提示该编号已存在 |
一致 |
|
6.3 测试结果
经过对此系统的测试,得出该系统足以满足用户日常需求,在功能项目和操作等方面也能满足操作员对于其他用户的管理。但是,还有很多功能有待添加,这个系统仅能满足大部分的需求,还需要对此系统的功能更进一步的完善,这样使用起来才能更加的完美。
7 总结与展望
通过冷链设备监控系统的开发,本人巩固了之前学过的知识,如今将平时所学到的知识融合在设计中,在设计过程中,做了很多的准备,首先,在数据库系统的设计过程中,尤其是在数据库的工作原理、工作特点,对其深刻的讨论,与此同时,对于小型站点来说,最好服务器的选择,其次,利用所学的知识点分析所做的系统,并在此基础上设计。
目前本系统已经上线,正在试运行阶段,用户反馈良好,基本完成用户所需,试运行过程中没有出现阻断性问题,有一些不足和小问题也及时予以修正,系统上线后,为了保证数据的安全性,对系统进行了备份操作,系统备份是每两个月备份一次,数据库备份为每周备份一次,系统部署在租赁的云平台服务器中。
本次系统上线成功后,得到了用户的高度认可,但是在功能上和性能上还需做进一步的研究处理,使其有更高的性能和更好的用户体验。
系统在以后的升级过程中,需要解决一系列用户所提出的问题,例如打印过程中如何避免浏览器的兼容性问题,大量用户访问时,如何保持较高的响应速度,在系统今后的升级过程中将着重解决这些安全性问题。
参考文献
[1][美]MartinFowler.徐家福译《UML精粹:标准对象语言简明指南》[M],北京:清华大学出版社,2015.3,26-32
[2][美]TimothyBudd著.三联四方工作室译《面向对象Java编程思想》[M],北京:清华大学出版社,2012.8,132-146
[3][美]WayS.Horstmann等著.李如豹,刚冬梅,张雪莲等译.《最新Java2核心技术卷工:原理》[M].北京:机械工业出版社,2012.2,201-210
[4][美]2ScottOaks著.林琪译.(JavaTM安全第二版)[M],北京:中国电力出版社,2012.4,50-86
[5][美]GeorgeReese著.石永薪,宋隆译.《JDBC与Java数据库编程》[M]北京:中国电力出版社,2012.3.20-86
[6]王宝华.王宝石,《人力资源管理》[J].北京:机械工业出版社,2014.8,42-56
[7]姜承尧著.《MySQL高效编程》[J].北京:机械工业出版社,2012,56-72
[8]张海帆著,软件工程导论(第5版).北京:清华大学出版社,2008.3,60-97
[9][美]WritenbySteveMcConnell,RapidDevelopment:TamingWildSoftwareSchedules[J],MicrosoftPress,2017-7-11,324-403
[10]DonaldKnuth,TheArtofComputerProgramming[J].北京:清华大学出版社,2012(9),24-90
[11]WritenbyEricA.Smith,JavaServerPages[J].北京:电子工业出版社,2010,36-75
[12]WritenbyKimberlyC.Ward.KoreyManley.RichardKeen.JenniferKelly;AnneW.Lipe;JaneClemmer,Theeffectsofanartsinterventionprograminacommunitymentalhealthsetting[J]:AcollaborativeapproachTheArtsinpsychotherapy,2012,25-20
[13]阳小兰,罗明.基于Spring+SpringMVC+MyBatis网上论坛的设计与实现[J].黑龙江科技信息,2016(36):279-280.
[14]张瑞青,李铁柱.基于SpringMVC的用户登录系统的设计与实现[J].科技信息,2015(10):246-247.
[15]王玉英.基于JSP的MySQL数据库访问技术[J].现代计算机,2015,19(14):63-66.
[16]张波,张福炎.基于JSP技术的Web应用程序的开发[J].计算机应用研究,2014,18(5):99-101.
[17]高张,康小军.提高Tomcat服务器运行性能的研究[J].计算机与数字工程,2016,36(10):203-205.
[18]ArifS,OlariuS,WangJ,etal.DatacenterattheAirport:ReasoningaboutTime-DependentParkingLotOccupancy[J].IEEETransactionsonParallel&DistributedSystems,20115,23(11):2067-2080.
[19]LeeS,YoonD,GhoshA.Intelligentparkinglotapplicationusingwirelesssensornetworks[C]//InternationalSymposiumonCollaborativeTechnologiesandSystems.IEEE,2016:48-57.
[20]姜俊卿;刘波.《基于B/S的学生信息管理系统的设计与实现》[J]江西:大观周刊:下半月,2015, 104-109