第一章 绪论
1.1 课题研究背景
2020年初,新冠疫情在武汉爆发,造成多人感染,社会治安和医疗体系面临巨大挑战。在这前所未有的严峻形式中,国家领导统一指挥,全面部署,积极应对挑战。在这次疫情灾难面前,大数据,互联网线下技术发挥了关键作用。医护人员线下依靠科学的医疗技术为社区民众保驾护航,线上通过信息技术发布预防措施保障安全。各种管理系统,网站实时动态的更新新冠疫情发展情况,稳定会员恐慌的心态。对接国家和地方卫生健康委网站,报告新闻,通过社区网站,社区公众号多样化的方式传递专业科学信息,包括疫情分布,灾情地图,疫情预防,日常生活注意事项等。
另外,我国地理位置特殊,地震多发,各种自然灾害多样。重灾面前,面对面沟通无疑面临巨大风险,而通过在线管理的方式可以有效避免传播的可能。收集灾民的疑惑和问题,采取一问一答的方式把信息展示到管理网站界面,让其他用户都可以获取救助,提高反馈沟通效率,积极开展救助工作。
目前国外对于灾情救助管理系统的研究,笔者几乎没有收集到相关的信息,但就国外的灾情救助管理系统发展研究来看,与政府的电子政务发展进程基本相同,经历由电算化向自动化转变,再由网络化向集成化的转变,现在到了协同化的阶段。
国内对于灾情救助管理系统的研究也很少,在灾情救助管理系统研究中,具体表现是在国内建设了一些网站,这些网站体现在国内政府门户网站系统建设上,并且建立了一些地方政府疫情防控网站,它们的出现为我国灾情救助系统标志,为我国灾情救助的管理开辟了新的方向和发展提供有力的帮助。
1.2 课题研究意义
虽然自然灾害频发,但在我国政府强有力的管控手段中,都在极短的时间内得到控制,保障了灾民的生命安全。所以,开发灾情救助系统有着重大现实意义。
由此,开发的灾情救助系统全方位的对灾情救助进行管理,提高灾情救助信息化水平。设计应急管控方案,对重点人群和单位的排查要细。然后及时发布灾情救助条例,让灾民早知道,避免意外情况发生。对灾情公告通过视频、短片、文字相结合的方式进行传播。最后,对会员的灾情救助、灾情公告的宣传和管理。系统为每一个用户提供账号,登录后查询个人求助情况。
灾情救助系统提供多个功能,通过数据库存储信息。系统界面简单,后台操作流程简明,无需专业的技术人员即可使用,满足了灾情救助管理者的需求,为灾区的应急管理提供了帮助。
1.4 主要研究内容及论文框架
本论文首先介绍灾情救助系统的研究背景,目前现状和管理存在的问题,分析目前灾情救助管理的工作重点。结合计算机信息技术开发灾情救助系统,研究系统开发的意义。本灾情救助系统设计了前后台开发,包括灾情公告、用户管理、灾民求助、灾情救助等。通过各模块的实现,完成智能化管理,提高灾情救助管理人员的管理效率。
本灾情救助系统的论文结构如下:
绪论为第一章,对灾情救助现状进行分析,提出开发灾情救助系统的必要性。通过信息化管理系统实现智能化管理工作,分析灾情救助系统的开发意义和实际价值。
相关技术为第二章,灾情救助系统是通过JAVA和MySQL进行开发,本章对系统实现技术进行介绍,分析其优越点。
需求分析为第三章,通过需求分析文档,整理灾情救助系统的需求,分析灾情救助系统的功能模块,使用用例图等方式剖析需求。
系统设计是第四章,设计灾情救助系统的系统框架,对系统功能进行拆分,通过功能模块图来展示系统功能。最后进行数据库设计,包括数据库表的字段、类型和备注信息等。
系统实现是第五章,对灾情救助系统进行具体的编程,介绍实现过程,实现的界面截图等。
系统测试是第六章,完成灾情救助系统后,进行系统测试,通过功能性测试,发现系统的bug,对问题进行整理和修改。
最后进行了总结,介绍本文做了那些工作,遇到什么问题,如何解决问题。以及将来可以达到什么程度等。
第二章 技术分析
2.1 JAVA技术
JAVA是一种服务器端的编程语言,它的源代码是免费的,具有操作简单、易用性广泛、安全性高的特点。JAVA同时可以在Windows和Linux操作系统中运行,安装JAVA服务器后即可运行,而且JAVA服务器也有多种。JAVA是一种面向对象的语言,它可以和多种数据库进行连接,比如微软的SQLServer、MySQL数据库。通常情况下,JAVA和MySQL是最佳的搭配,许多服务器安装程序中包括了服务器和MySQL实例。对于新手来说,JAVA以上手学习快,通过一段简单的HTML语言就可以嵌入JAVA的标签,通过JAVA的基本的数据库操作,如增删改查就可以实现数据库表的管理,如果进一步学习JAVA深入的函数,可以查找对应的文档进行理解。总之,接触JAVA后可以快速的入门。JAVA的数据处理也很智能,当数据库表数据量很大的时候,JAVA可以对这些数据进行拆解,减少内存的压力,可以快速的响应浏览器的请求。据调查,在目前比较流行的语言中,如C#、Java语言、python语言、JAVA语言中,在网站建设方面,小程序开发方面,JAVA占据很大的份额,这也是JAVA独特的性能和优势确定的。
JAVA兼容和继承了C语言的语法格式,并进行了一系列的优化,容易上手。和其他的语言比起来,反应速度更加的快捷。总体来说JAVA的优势如下:
JAVA的开放性,完成JAVA网站后,所有的代码都发布在服务器中。用户可以对PPT层具有更深刻地理解。
JAVA的免费性,任何人都可以免费使用开发者。学习的时候成本更低,还对于建站者来说,成本也前降低了不少。
JAVA的快捷性体现在学习速度快,语法简单。网页运行的速度快。JAVA是和HTML混合使用的,创建一个页面的时候后缀名为点JAVA,也可以单独支持HTML源。在需要和后台数据库交互的时候,调用JAVA的相关方法进行读取数据或者逻辑判断。
2.2 MySQL数据库
数据库是灾情救助系统不可或缺的组成部分,因为整个系统的数据全部保存在数据库中,数据库存储了项目中用户信息、资源信息和对应的权限信息等。数据库的表是对这些数据进行分类,包括了数据的增删改查操作。当程序请求数据时,数据库把对应表中的数据提取出来或者插入进去,完成信息的管理。
本系统使用了MySQL数据库进行管理,MySQL是市面上比较流行的数据库之一,他是Oracle旗下的一个分支产品。具有轻小、简单、安全的特特点。MySQL本身是一个关系型数据库,广泛应用在中小型项目中。
MySQL是开源免费的,任何人和组织都可以免费使用,其开发成本相对其他大中型数据库来说会节省很多。深受程序员的喜爱,但是MySQL的性能也很强大,具有基本表的功能和视图,存储过程、触发器等。MySQL的优势在于开源,运行速度快,安装简单,安全性高,可靠性强。MySQL的底层是C语言编写的,可以实现大数据的查询,并保证项目的计算速度,MySQL为JAVA、Java、.net等语言提供连接接口。在当前小程序和APP流行的趋势下,MySQL也支持JSON的存储,可以在网络协议中快速的传递,包括数据格式和数据内容,提升系统的开发效率。
其中,MySQL数据库中存储的数据不单单是文本内容,也可以包括一些图像、声音等二进制数据,这些数据占的内存较大,所以在本系统中,图片存储使用的是路径的形式,程序中对这路径进行解析,链接到服务器中指定的位置,这样可以节省数据库的存储空间和执行效率。
2.3 微信小程序技术
微信小程序实际上是一个外部应用,通过远程服务器端部署项目,然后手机通过嵌入浏览器的功能,实现管理系统的操作。所以在一定程度上,小程序必然没有APP的功能全面,而且不能够替代APP,因为小程序不能调用手机端核心的硬件接口,不能对硬件进行操控。
微信小程序解决了传统Android应用的缺点,不需要占用手机资源就可以实现APP的功能。用户点开小程序中的系统之后进行操作,完成操作后即可离开,不需要下载第三方应用,节省了手机的资源。
小程序也不需要额外注册账号,可以和微信用户进行绑定,通过建立在微信接口之上获取权限进行进行操作。
微信小程序操作简洁,用户体验良好。开发难度低,成本小,大大的节省了开发时间。
微信小程序也可以实现一些比较复杂的功能。通过后台服务器和数据库的支持,存储了大量的信息数据,并完成复杂的业务逻辑判断,进而提供给小程序的最终的结果,体现了小而大的特点。
2.4 Springboot框架
Springboot是全新的java框架,目的是简化Spring框架搭建和开发的过程,优化配置。使用传统的框架配置方式整合各种jar包,通过web.xml加载Spring和SpringMVC,配置数据库,加载配置文件的读取和注解,并配置日志文件。总的来说,Springboot可以通过很少的配置完成web项目或者微服务架构。
Spring是J2EE的一个标准,Spring将表现层、业务层耦合降低,因为它包含IOC控制反转,支持依赖注入。Spring支持七个模块,每个模块可单独使用,也可以相互之间进行调用。Spring核心容器是通过工厂模式实现,代码的依赖和配置分离,另外一个是面向切片,也就是AOP,通过配置文件的配置,很轻松的实现切片管理,比如说实现事务管理。Spring也提供了数据访问对象,通过数据库操作,并将异常和数据提供给业务逻辑。
Springboot是基于Spring4.0设计,在Spring基础之上进行优化,并集成大量的依赖包来完成项目搭建。Springboot基于Maven插件创建,应用程序内嵌tomcat服务器,提供自动化配置对象模型。Springboot还具有开箱即用和约定配置的方法,在Maven项目中通过pom文件导入依赖包。通过注解方式配置文件管理代码的生命周期,使得开发人员解脱依赖管理工作,使用更多的精力完成项目的业务逻辑。约定优于配置是指通过软件设计增加项目目录结构。减少XML的配置,实现测试编译自动化工作,使得界面和设计逻辑分离。
第三章 系统需求分析
3.1 系统可行性分析
3.1.1操作可行性
本系统安装部署在Windows操作系统中,一般人员对微软的操作系统比较熟悉,系统流程和其他软件极为相似,不需要复杂的培训或者技术就可以。加上本系统使使用JAVA语言开发,便于部署,操作简单。即使没有受过高等教育的人员,也可以根据菜单上面的文字说明进行录入信息,稍微复杂的操作过程也有简单的介绍。所以,从整体来看,本系统在操作上具有可行性。
3.1.2经济可行性
在经济上,目前许多社区已经具备Internet网络条件,包括社区内部WiFi的搭建,开发本系统后不需要专门购置网络设备,只需要将代码部署在社区服务器中即可运行。在开发方面,结合本系统的功能特点,也没有复杂的逻辑,成本较低。而在本系统后期运行中可以节省人员的成本以及提高灾情救助管理水平,对灾区具有很大的帮助,并可以推广在其他灾区使用,所以在经济上具有可行性。
3.1.3技术可行性
技术方面,本系统使用JAVA语言开发,MySQL数据库存储数据,这类技术在市场上比较成熟稳定,开发成本小,应用范围广,对服务器的要求低。搭建在服务器中后,客户端通过浏览器进行访问,开发过程遇到一些技术问题,也可以很好的找到类似问题的解决方案,所以在技术开发方面具有可行性。
3.2 系统需求分析
3.2.1非功能性需求
(1)系统的安全性
灾情救助系统安全性包括系统安全、数据安全、代码安全。系统安全中主要是对服务器上操作系统的要求,使用Windows10系统,及时更新最新补丁,打开防火墙。并防止其他软件的安装,控制文件的访问权限。数据安全上,定时对本系统数据库数据进行备份,存储在安全的服务器硬盘中,密码方面也需要进行加密,目前通用的MD5加密,在程序中可以使用一个常量字符串结合密文,保证密码的安全。系统代码安全主要是对代码修改控制、代码备份以及和其他软件是否冲突的限制,定期对代码进行升级和维护,以适应浏览器或者操作系统的更新要求。
(2)数据的完整性
分析本灾情救助系统的功能要求,在设计数据库字段时尽量完善,比如用户信息的收集,尽可能多的收集到该用户的个人信息、家庭信息等。在数据操作方面,如果遇到不可抗力或者业务逻辑判断过程中断,需要设置事务的控制,遇到问题及时回滚,避免残缺的数据保存到数据库中。对系统的界面风格做到统一布局,功能操作规范、流程统一。对于系统一些运算设计,设置固定的精度,包括日期、整数或者金额的完整。对系统整体设计和规划,才能更完整的保证系统长期稳定的运行。
(3)可维护性
本灾情救助系统在结构上使用B/S框架开发,比起C/S具有更高的可维护性。项目部署在服务器后不需要对客户端进行管理,升级操作只是针对服务器上面的程序即可。每一个程序开发后都不是一成不变的,遇到需求变更、业务扩展都需要进行升级,这就要求在开发系统上尽可能的规范编程,变量类名符合设计要求,功能结构上不相互调用。尽量多的设计数据库字典表,把基础信息剥离出来,软件编程上分离业务层和数据层,关系清晰,使得后期维护更加的便捷。
3.2.2功能需求
灾情救助系统设计的用户包括管理员、会员。其管理员用例图如图3.1所示。
从管理员用的图可以看到,管理员具有会员管理,前台信息展示管理、救助管理、求助管理、系统管理、志愿者管理,其中会员管理但是对灾区群众的管理,在本系统中的会员,也就是灾民,通过前台注册后。管理员可以查看会员的基本信息、地址信息、手机和邮箱等联系方式。前台管理包括灾情视频、灾情公告、信息咨询、论坛管理。管理员及时发布灾情公告信息,对日常灾情自救方法,如何防范,在线救助政策等信息进行发布。如果灾民对相关政策信息需要咨询了解的,可以发布咨询问题。管理员查看信息咨询列表审核回复的内容,以便做统一的政策调整。系统管理包括系统的轮播图管理。管理员发布最新的轮播图,首页通过轮播图进行显示。
<<include>>
<<include>>
管理员
图3.1 管理员用例图
在线视频的管理,发布最新的灾情视频。在线救助管理,根据相关的政策,新增在线救助名称,救助的标准,救助部门的联系方式。发布救助后,灾民救助申请中,提交申请,救助部门对申请内容进行审核,审核通过后发放救助物资。救助咨询中,对救助的问题进行审核并回复,对应的问题最终会显示在问题列表中。对会员申请的志愿者进行审核。
会员用例图如3.3所示。
会员
图3.3 救助会员用例图
会员通过前台进行注册,登录的会员可以查看灾情视频,灾情救助内容、灾情公告。会员在线申请救助,申请时需要上传申请材料才能审核通过。如果不能提供正确的材料将审核失败。在个人的后台中发布求助的信息,并提供个人联系方式。其他用户看到求助内容后,及时提供帮助,对其他用户发布的求助信息,也可以进行转发或者回复。
用户在线提供物资捐献,提交申请信息,由救助部门审核,进行回复,后台进行记录。申请志愿服务,选择志愿类型,提交相关信息,由救助部门审核,等待回复。
小程序端可以查询灾情公告,通过热点关键字查看当前主要的关注信息。用户通过注册,提交个人信息,使用用户名和密码进行登录,并可以维护个人信息。在交流模块提交发布需要了解的内容或者疑惑。
第四章 系统设计
4.1 软件架构设计
灾情救助系统的Springboot框架包括Controller、View、Mapper三个层次。也就是表示层、业务逻辑层,数据访问层。用户从View层发送请求到Controller层,通过方法调用Mapper,对应数据库获取数据,把结果返回到View层次。
表示层是UI层,位于三层结构中最上部。在B/S信息管理系统中,用户通过外部浏览器进行访问。用户通过操作界面上的控件或者按钮把数据传递到业务逻辑层,返回结果后再进行显示。界面层存在许多前端框架,通过框架可以更友好的对这些数据进行处理,提高用户体验效果,界面层作为所见即所得的直接层次,设计的好坏关系到系统体验,所以在设计上表示层很重要。
业务逻辑层是三层框架中核心的层次,所有的业务处理和数据传递都是在本层操作的。业务逻辑层接收到用户端发送来的请求后,连接数据库操作层。对返回的数据进行业务逻辑判断。系统不需要关注具体算法的实现,只需要得到最终数据即可,所以提高了软件的松耦合度。
数据库层实现了数据库的操作,包括增删改查以及单表的操作、视图的查询、存储过程的调用等。数据访问层没有逻辑判断,只是对表的操作。实体类对象是数据库表的反映,在软件开发中建立实体对象,方便业务逻辑层的操作。当然,实体类和数据库表也不单单是一对一的关系。在业务逻辑层需要处理某一个实体时,这个实体也可能是一个虚拟存在的对象,完成数据处理后保存在实体中,这就需要根据具体的业务进行处理。
4.2 系统功能模块划分
根据需求分析,灾情救助系统包括两个部分,小程序端和后台。其中灾情救助系统功能结构图如4.1所示:
基于微信小程序的灾情救助系统
系统管理
会员管理
灾情公告管理
论坛管理
回复管理
管理员后台
会员(小程序)
灾情视频管理
救助管理
灾情救助申请管理
审核志愿者
用户注册登录
发布求助
灾情救助申请
物品捐赠
个人中心
图4.1 系统功能结构图
小程序端是会员使用的,包括系统首页,灾情视频、灾情救助、灾民求助、论坛信息、灾情公告。用户注册登录,在线交流留言,求助信息的查看。用户通过注册后,管理员审核信息后,使用自己的账号进行登录,通过关键字查询最新的灾情公告,也可以通过关键字进行检索,获取需要的信息。用户登录后还可以发布求助信息,查看个人信息,在线申请救助。物品捐赠。用户在线提供物资捐献,提交申请信息,由救助部门审核,进行回复,后台进行记录。志愿者申请。申请志愿服务,选择志愿类型,提交相关信息,由救助部门审核,等待回复。
管理员是管理系统后台信息的用户,通过数据库预设信息,保存管理员的登录账号,通过验证后进入系统后台,对会员进行管理,删除非法的用户。根据前台浏览情况设置具体的关键字,对系统的论坛进行管理,定期维护信息。查看会员的留言评论信息,删除过期的或者违法违规的内容。管理灾情视频救助,管理灾情救助申请,信息咨询回复。其中灾情视频管理和灾救助管理都是信息发布功能模块,包括信息的录入、修改、删除、查询功能,救助申请管理中下载灾民申请的材料,查看是否符合救助标准,然后进行审核,审核状态包括通过和不通过。其审核标准就是根据用户的申请内容和申请材料确定,审核完成后改变审核的状态。会员可以在救助申请中查看是否申请通过。管理灾情救助系统的数据库,及时备份,最后进行系统退出。
4.3 数据库设计
4.3.1逻辑结构设计
灾情救助系统的数据核心是数据库,在数据库系统支持下保存所有的数据信息。本系统逻辑结构包括实体,实体的属性和实体之间的联系。通过实体之间的联系,可以看到各表之间的关系,数据库设计反映本系统质量的好坏。
其中灾情救助系统的整体ER图如4.9所示:
图4.9 系统整体E-R图
4.3.2物理结构设计
灾情救助系统包括了多个数据库表,分为公告信息表、会员信息表、咨询信息表、留言评论表、灾民求助表、灾情救助表、管理员信息表等。
下面对个表进行详细设计。
- 表: huiyuan信息表
编号 | 数据字段名称 | 对应类型 | 主键 | 允许空 | 字段的备注信息 |
No1 | C_id | bigint(8) | PK | No | 主键 |
No2 | C_addtime | timestamp(8) | NO | No | 创建时间 |
No3 | C_yonghuming | nvarchar(400) | NO | No | 用户名 |
No4 | C_mima | nvarchar(400) | NO | No | 密码 |
No5 | C_xingming | nvarchar(400) | NO | No | 姓名 |
No6 | C_xingbie | nvarchar(400) | NO | Null | 性别 |
No7 | C_touxiang | nvarchar(400) | NO | Null | 头像 |
No8 | C_dizhi | nvarchar(400) | NO | Null | 地址 |
No9 | C_shouji | nvarchar(400) | NO | Null | 手机 |
No10 | C_youxiang | nvarchar(400) | NO | Null | 邮箱 |
- 表: config信息表
编号 | 数据字段名称 | 对应类型 | 主键 | 允许空 | 字段的备注信息 |
No1 | C_id | bigint(8) | PK | No | 主键 |
No2 | C_name | nvarchar(200) | NO | No | 配置参数名称 |
No3 | C_value | nvarchar(200) | NO | Null | 配置参数值 |
- 表: jiuzaibumen信息表
编号 | 数据字段名称 | 对应类型 | 主键 | 允许空 | 字段的备注信息 |
No1 | C_id | bigint(8) | PK | No | 主键 |
No2 | C_addtime | timestamp(8) | NO | No | 创建时间 |
No3 | C_jiuzaibumenbianhao | nvarchar(400) | NO | No | 救助部门编号 |
No4 | C_mima | nvarchar(400) | NO | No | 密码 |
No5 | C_jiuzaibumenmingcheng | nvarchar(400) | NO | No | 救助部门名称 |
No6 | C_tupian | nvarchar(400) | NO | Null | 图片 |
No7 | C_dizhi | nvarchar(400) | NO | Null | 地址 |
No8 | C_xingzhi | nvarchar(400) | NO | Null | 性质 |
No9 | C_lianxiren | nvarchar(400) | NO | Null | 联系人 |
No10 | C_lianxidianhua | nvarchar(400) | NO | Null | 联系电话 |
- 表: xinxizixun信息表
编号 | 数据字段名称 | 对应类型 | 主键 | 允许空 | 字段的备注信息 |
No1 | C_id | bigint(8) | PK | No | 主键 |
No2 | C_addtime | timestamp(8) | NO | No | 创建时间 |
No3 | C_zixunbiaoti | nvarchar(400) | NO | No | 咨询标题 |
No4 | C_zixunneirong | text(16) | NO | Null | 咨询内容 |
No9 | C_yonghuming | nvarchar(400) | NO | Null | 用户名 |
No10 | C_xingming | nvarchar(400) | NO | Null | 姓名 |
No11 | C_shouji | nvarchar(400) | NO | Null | 手机 |
No12 | C_sfsh | nvarchar(400) | NO | Null | 是否审核 |
No13 | C_shhf | text(16) | NO | Null | 审核回复 |
- 表: news信息表
编号 | 数据字段名称 | 对应类型 | 主键 | 允许空 | 字段的备注信息 |
No1 | C_id | bigint(8) | PK | No | 主键 |
No2 | C_addtime | timestamp(8) | NO | No | 创建时间 |
No3 | C_title | nvarchar(400) | NO | No | 标题 |
No4 | C_picture | nvarchar(400) | NO | No | 图片 |
No5 | C_content | text(16) | NO | Null | 内容 |
- 表: storeup信息表
编号 | 数据字段名称 | 对应类型 | 主键 | 允许空 | 字段的备注信息 |
No1 | C_id | bigint(8) | PK | No | 主键 |
No2 | C_addtime | timestamp(8) | NO | No | 创建时间 |
No3 | C_userid | bigint(8) | NO | No | 用户id |
No4 | C_refid | bigint(8) | NO | Null | 收藏id |
No5 | C_tablename | nvarchar(400) | NO | Null | 表名 |
No6 | C_name | nvarchar(400) | NO | No | 收藏名称 |
No7 | C_picture | nvarchar(400) | NO | No | 收藏图片 |
- 表: jiuzhushenqing信息表
编号 | 数据字段名称 | 对应类型 | 主键 | 允许空 | 字段的备注信息 |
No1 | C_id | bigint(8) | PK | No | 主键 |
No2 | C_addtime | timestamp(8) | NO | No | 创建时间 |
No3 | C_zaiqingmingcheng | nvarchar(400) | NO | Null | 岗位名称 |
No4 | C_xingye | nvarchar(400) | NO | Null | 类别 |
No5 | C_jiuzaibumenbianhao | nvarchar(400) | NO | Null | 救助部门编号 |
No6 | C_jiuzaibumenmingcheng | nvarchar(400) | NO | Null | 救助部门名称 |
No7 | C_chengshi | nvarchar(400) | NO | Null | 城市 |
No8 | C_yingpinneirong | text(16) | NO | Null | 救助内容 |
No9 | C_qiuzhijianli | nvarchar(400) | NO | Null | 救助材料 |
No10 | C_beizhu | nvarchar(400) | NO | Null | 备注 |
No11 | C_yonghuming | nvarchar(400) | NO | Null | 用户名 |
No12 | C_xingming | nvarchar(400) | NO | Null | 姓名 |
No13 | C_zhuanye | nvarchar(400) | NO | Null | 地址 |
No14 | C_shouji | nvarchar(400) | NO | Null | 手机 |
No15 | C_sfsh | nvarchar(400) | NO | Null | 是否审核 |
No16 | C_shhf | text(16) | NO | Null | 审核回复 |
- 表: zaiminqiuzhu信息表
编号 | 数据字段名称 | 对应类型 | 主键 | 允许空 | 字段的备注信息 |
No1 | C_id | bigint(8) | PK | No | 主键 |
No2 | C_addtime | timestamp(8) | NO | No | 创建时间 |
No3 | C_qiuzhubiaoti | nvarchar(400) | NO | Null | 标题 |
No4 | C_tupian | nvarchar(400) | NO | Null | 图片 |
No5 | C_qiwangbangzhu | nvarchar(400) | NO | Null | 期望帮助 |
No7 | C_gongzuochengshi | nvarchar(400) | NO | Null | 所在城市 |
No8 | C_qitayaoqiu | nvarchar(400) | NO | Null | 其它要求 |
No9 | C_qiuzhineirong | text(16) | NO | Null | 内容 |
No10 | C_yonghuming | nvarchar(400) | NO | Null | 用户名 |
No11 | C_youxiang | nvarchar(400) | NO | Null | 邮箱 |
- 表: forum信息表
编号 | 数据字段名称 | 对应类型 | 主键 | 允许空 | 字段的备注信息 |
No1 | C_id | bigint(8) | PK | No | 主键 |
No2 | C_addtime | timestamp(8) | NO | No | 创建时间 |
No3 | C_title | nvarchar(400) | NO | Null | 帖子标题 |
No4 | C_content | text(16) | NO | Null | 帖子内容 |
No5 | C_parentid | bigint(8) | NO | Null | 父节点id |
No6 | C_userid | bigint(8) | NO | No | 用户id |
No7 | C_username | nvarchar(400) | NO | Null | 用户名 |
No8 | C_isdone | nvarchar(400) | NO | Null | 状态 |
- 表: users111信息表
编号 | 数据字段名称 | 对应类型 | 主键 | 允许空 | 字段的备注信息 |
No1 | C_id | bigint(8) | PK | No | 主键 |
No2 | C_username | nvarchar(200) | NO | No | 用户名 |
No3 | C_password | nvarchar(200) | NO | No | 密码 |
No4 | C_role | nvarchar(200) | NO | Null | 角色 |
No5 | C_addtime | timestamp(8) | NO | No | 新增时间 |
- 表: kongzhongxuanjianghui信息表
编号 | 数据字段名称 | 对应类型 | 主键 | 允许空 | 字段的备注信息 |
No1 | C_id | bigint(8) | PK | No | 主键 |
No2 | C_addtime | timestamp(8) | NO | No | 创建时间 |
No4 | C_jiuzaibumenmingcheng | nvarchar(400) | NO | Null | 救助部门名称 |
No10 | C_xuanchuanshipin | nvarchar(400) | NO | Null | 视频 |
No12 | C_xuanjiangneirong | text(16) | NO | Null | 内容 |
- 表: zaiqingjiuzhu信息表
编号 | 数据字段名称 | 对应类型 | 主键 | 允许空 | 字段的备注信息 |
No1 | C_id | bigint(8) | PK | No | 主键 |
No2 | C_addtime | timestamp(8) | NO | No | 创建时间 |
No3 | C_zaiqingmingcheng | nvarchar(400) | NO | No | 救助名称 |
No5 | C_gangweiyaoqiu | nvarchar(400) | NO | Null | 要求 |
No7 | C_gangweixingzhi | nvarchar(400) | NO | Null | 性质 |
No8 | C_tupian | nvarchar(400) | NO | Null | 图片 |
No9 | C_chengshi | nvarchar(400) | NO | Null | 城市 |
No11 | C_jiuzaibumenmingcheng | nvarchar(400) | NO | Null | 救助部门名称 |
No12 | C_lianxiren | nvarchar(400) | NO | Null | 联系人 |
No13 | C_lianxidianhua | nvarchar(400) | NO | Null | 联系电话 |
No15 | C_clicktime | datetime(8) | NO | Null | 最近点击时间 |
No16 | C_clicknum | int(4) | NO | Null | 点击次数 |
No17 | C_jiuzhubiaozhun | nvarchar(510) | NO | Null | 救助标准 |
No18 | C_gongzuoshijian | nvarchar(510) | NO | Null | 日期 |
第五章 系统实现
5.1小程序端的实现
搭建微信小程序环境后,进入到首页,首页包括头部的logo,导航条,中间部分的轮播图和信息类别。
首页如下图所示:
图5-1 首页
该页面包括头部文件header、信息栏轮播图,通过JS代码进行控制,读取数据库中最新的信息,显示图片和对应的链接。在首页中先引入相关的JS和CSS样式。在对应模块中调用数据库操作方法,把读取的结果赋赋给数据集合对象,通过循环显示信息。
点击导航菜单中的注册即可打开注册页面,注册页面是由文本框、选择框、和注册按钮组成,在文本框中输入需要填写的基本注册信息,点击注册进行信息提交。
如下图所示:
图5-2用户注册界面
首先验证填写的信息是否为空,如果通过验证,才把信息构造为插入语句,调用数据库保存操作,插入信息到数据库,返回保存成功的信息到界面,进行登陆,或者返回到首页。
用户打开本系统后,可以查看灾情公告详情信息。如下图所示:
图5-4灾情公告详情界面
点击灾情公告,先打开灾情公告的列表界面,在列表界面读取信息,详细显示所有相关灾情公告信息,通过数据库操作把列表绑定到数据集合中,使用循环,把所有的信息显示到灾情公告界面。点击灾情公告,通过该条信息的ID值传递到灾情公告的详情页面,在详情页面根据当前的ID值查询对应的具体信息。
用户打开本系统后,可以搜索相关灾民救助信息。在灾情救助终,通过灾情名称、灾情类别,灾情日期、灾情所在城市、灾情管理部门搜索对应的灾情,所得到的是灾情列表结果,通过点击灾情图片或者灾情名称,查看灾情的详细信息,详细信息又包括了灾情类别、灾情救助标准、救助的要求、救助部门的名称和救助部门的联系方式。
灾民通过咨询该灾情信息,点击救助申请,填写救助申请内容,上传申请材料、提交材料都到后台。
其中灾情救助申请如下图所示:
图5-5灾情救助申请界面
在灾情信息搜索中,中先填写需要搜索的标题,然后点击搜索按钮,触发验证事件,判断有没有输入条件。通过验证后执行查询事件,查询中,先根据关键字进行构造语句进行查询,使用like模糊查找,所有类似关键字的信息即可搜索出来,把得到的结果我保存在数据集合中,并对数据集合进行分页设置,每页数量为十,如果小于十,显示在一个页面大于十进行分页。
用户登录本系统后,可以发表在线交流信息。如下图所示:
图5-6在线交流界面
在线交流包括评论信息的提交和查询显示,在线交流前需要先进行登录,如果没有登。录界面提示登录后才能进行评论,登陆后的信息是通过session进行判断。如果session存在登录信息,就说明已经登录,在评论中输入评论的内容,点击提交,把评论信息保存到数据库中,评论结束之后进行查询。查询通过当前信息的ID进行条件查询,查询的结果保存在数据集合中,对数据集合进行循环显示。
5.2后台功能模块的实现
5.2.1 管理登录
用户在文本输入框上输入用户名、密码可登陆系统。其中登录如5.7所示。
图5.7:登录页面
后台管理员登陆是在Login页面,本页面首先构造登录样式,包括登录信息的输入和登录按钮。在表单下点击登录,首先进行check验证,这个函数是使用vue.js方法判断填写的信息是否为空,最终返回true或者flase。通过表单登录验证后,获取用户名和密码信息,通过查询语句,判断管理员表是否存在这条记录,并把查询到的信息保存在session中,如果没有该用户使用,Jquery提示用户名。或者密码错误,并返回登录页面。
5.2.2 会员管理
在菜单导航页面中,点击会员管理的灾民信息管理。可以对灾民信息进行管理,包括查询,修改,添加和删除。如5.10所示:
图5.5:会员管理界面
管理员对会员信息进行管理,包括增删改查,在添加中,填写会员的基本信息后把信息插入到数据库中,返回到会员管理列表,在列表中通过关键词搜索可以查询某一个会员。在列表中存在编辑和删除链接,点击删除,通过对应的ID值构造删除语句,删除成功后,更新列表信息。点击编辑跳转到用户修改列表页面,在用户修改页面对信息进行更正后,提交信息即可把更新后的信息保存到数据库,再返回到用户列表页面。
5.2.3留言管理
在系统主界面中的导航菜单中,有信息咨询管理按钮,点击按钮,就可以在信息咨询管理界面进行信息咨询信息添加和管理。其中信息咨询管理的界面如下:
图5.6:信息咨询管理页面
信息咨询信息是前台用户提交的,后者对这些信息进行审核,所以管理员不需要对交流信息进行插入,只需要管理这些信息或者删除信息。在评论信息列表中,点击删除,通过评论的ID为条件,到数据库中删除这条记录后返回评论列表,并刷新评论记录。
5.2.4 灾情公告管理
在系统主界面中的导航菜单中,有灾情公告管理按钮,点击按钮,就可以在灾情公告管理界面进行信息添加和管理。
其中,灾情公告界面为5.7所示:
图5.7:灾情公告页面
管理员对灾情公告信息进行管理,包括增删改查,在添加中,填写灾情公告的基本信息后把信息插入到数据库中,返回到灾情公告管理列表,在列表中通过关键词搜索可以查询某一个灾情公告。在列表中存在编辑和删除链接,点击删除,通过对应的ID值构造删除语句,删除成功后,更新列表信息。点击编辑跳转到用户修改列表页面,在用户修改页面对信息进行更正后,提交信息即可把更新后的信息保存到数据库,再返回到用户列表页面。
5.2.5 志愿者申请管理
在系统主界面中的导航菜单中,有志愿者申请按钮,点击按钮,就可以在志愿者申请界面进行信息管理。
其中,志愿者申请管理界面为5.8所示:
图5.8:志愿者申请管理页面
管理员对志愿者申请信息进行管理,包括删改查和评论查看,在列表中通过关键词搜索可以查询某一个志愿者申请。在列表中存在编辑和删除链接,点击删除,通过对应的ID值构造删除语句,删除成功后,更新列表信息。点击编辑跳转到志愿者申请修改列表页面,在志愿者申请修改页面对信息进行更正后,提交信息即可把更新后的信息保存到数据库,再返回到志愿者申请列表页面。
5.2.6 灾情救助管理
在救助部门系统主界面中的导航菜单中,有灾情救助按钮,点击按钮,就可以在灾情救助界面进行信息添加和管理。
其中,会员灾情救助管理界面为5.8所示:
图5.8:灾情救助管理页面
救助部门对灾情救助信息进行管理,包括增删改查,在添加中,填写灾情救助的基本信息后把信息插入到数据库中,返回到灾情救助管理列表,在列表中通过关键词搜索可以查询某一个灾情救助。在列表中存在编辑和删除链接,点击删除,通过对应的ID值构造删除语句,删除成功后,更新列表信息。点击编辑跳转到用户修改列表页面,在用户修改页面对信息进行更正后,提交信息即可把更新后的信息保存到数据库,再返回到用户列表页面。
第六章 系统测试
6.1 测试环境
为了保证灾情救助系统可以正常运行、稳定的工作,所以在上线前需要进行系统测试,发现系统的功能问题、性能问题、兼容性问题、和安全性问题,并对这些问题进行修改后完善系统才能进行上线。
其中本系统的测试环境,包括硬件环境和软件环境,硬件环境分为服务器端和客户端,服务器端要求较高,Cpu为I5或者以上版本,内存至少32G,硬盘2t。客户端的要求较低,一般普通的电脑即可。软件环境包括服务器的操作系统为Windows server2012、Wamp软件服务器和MySQL数据库。
6.2 测试过程
灾情救助系统的会员管理测试用例如下:
表6.1 新建会员信息测试用例
测试系统名称 | 灾情救助系统 | 系统版本 | V1版本 | |
测试模块 | 会员管理 | 修改跟踪 | 功能符合,并完善 | |
收集数据 | 运行灾情救助系统,在会员界面进行数据录入收集 | |||
测试功能 | 测试用例 | 实际结果 | 是否通过 | |
添加测试 | 会员信息为空时,不能提交。录入会员信息后,成功保存,列表和数据库信息一致。 | 可以保存会员信息 | 通过 | |
修改测试 | 会员信息为空时,不能修改。修改会员信息后,成功修改,列表和数据库信息一致。 | 可以成功修改会员 | 通过 | |
删除测试 | 点击删除后提示是否删除,确定删除后成功删除会员信息,查询数据库记录,查看是否删除。 | 成功删除会员 | 通过 | |
查询测试 | 使用模糊查找,查看是否把相关的会员信息都检索到信息列表。 | 查询结果和数据库一致 | 通过 |
灾情救助系统的灾情公告管理测试用例如下:
表6.2 新建灾情公告信息测试用例
测试系统名称 | 灾情救助系统 | 系统版本 | V1版本 | |
测试模块 | 灾情公告管理 | 修改跟踪 | 功能符合,并完善 | |
收集数据 | 运行灾情救助系统,在灾情公告界面进行数据录入收集 | |||
测试功能 | 测试用例 | 实际结果 | 是否通过 | |
添加测试 | 灾情公告信息为空时,不能提交。录入灾情公告信息后,成功保存,列表和数据库信息一致。 | 可以保存灾情公告信息 | 通过 | |
修改测试 | 灾情公告信息为空时,不能修改。修改灾情公告信息后,成功修改,列表和数据库信息一致。 | 可以成功修改灾情公告 | 通过 | |
删除测试 | 点击删除后提示是否删除,确定删除后成功删除灾情公告信息,查询数据库记录,查看是否删除。 | 成功删除灾情公告 | 通过 | |
查询测试 | 使用模糊查找,查看是否把相关的灾情公告信息都检索到信息列表。 | 查询结果和数据库一致 | 通过 |
灾情救助系统的灾情救助管理测试用例如下:
表6.3 新建灾情救助信息测试用例
测试系统名称 | 灾情救助系统 | 系统版本 | V1版本 | |
测试模块 | 灾情救助管理 | 修改跟踪 | 功能符合,并完善 | |
收集数据 | 运行灾情救助系统,在灾情救助界面进行数据录入收集 | |||
测试功能 | 测试用例 | 实际结果 | 是否通过 | |
添加测试 | 灾情救助信息为空时,不能提交。录入灾情救助信息后,成功保存,列表和数据库信息一致。 | 可以保存灾情救助信息 | 通过 | |
修改测试 | 灾情救助信息为空时,不能修改。修改灾情救助信息后,成功修改,列表和数据库信息一致。 | 可以成功修改灾情救助 | 通过 | |
删除测试 | 点击删除后提示是否删除,确定删除后成功删除灾情救助信息,查询数据库记录,查看是否删除。 | 成功删除灾情救助 | 通过 | |
查询测试 | 使用模糊查找,查看是否把相关的灾情救助信息都检索到信息列表。 | 查询结果和数据库一致 | 通过 |
6.3 测试结论
本系统功能比较完善,系统的整体错误率小于1%,系统功能都可以正常运行,本系统所有的链接可以在短时间内得到响应。模块之间的传递数据表现良好,通过测试发现和实际预期结果相符,达到了客户满意的效果,在实际应用中具有一定的价值。