1 绪论
1.1 研究背景
随着互联网的不断发展,现在人们获取最新资讯的主要途径来源于网上新闻,当下的网上信息宣传门户网站的发展十分的迅速。而保险产品,作为当下人们非常关注的一款能够给人们带来医疗、生活、养老或者理财需求的产品逐渐的被广大的人们所接受。当前的保险公司对于保险门户网站的基础工作已经形成了十分成熟的运行模式,让人们能够通过网站就能了解到相关的保险产品知识以及与保险相关的新闻,跨越了信息流通的壁垒,从而实现信息的对称化。
1.2 研究现状
目前国内现有的保险推广的网站,或多或少都有自己的弊端,主要表现在:
1、保险产品网站内的内容模块非常繁杂,全部堆积在主页面中,虽然有进行分布分类,但是始终让使用者无法直观的找到想要的保险产品讯息。另外,现在网站内的弹窗广告非常多,这些广告十分扰乱用户的保险产品阅读,而且广告内容水平偏低,对网络的污染较大。
2、保险产品网站门槛低,当下的保险公司非常多,而且为了提高知名度和使用率,保险产品种类繁杂,且个性化的服务突出不明显,同质化严重。
3、需求调研缺失,很多网站在投入使用后,对客户的使用满意度调研较为匮乏,更新速度慢,网站的可扩展性不足。
1.3 功能需求
该资讯网站为了方便用户的使用,分别设计了一下模块来适应用户的需求:保险产品中心,热点保险产品,视频发布,系统简介、问卷调查等。
设计了如下板块来满足管理要求:系统用户管理、站内保险产品管理、新闻资讯管理、用户留言管理、系统管理等操作。在系统后台对信息实施增加、录入、修改、删除等操作,也就是在主页的对应栏目上输入内容,并在网页中展现出来。达到及时更新,及时实现网内信息的发布功能。
1.4 springboot框架技术
Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。Spring框架下的事务管理、远程访问等功能均可以通过使用SpringAOP技术实现。Spring的事务管理框架为Java平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在Java平台的任何环境中工作。Spring集成多种事务模板,系统可以通过事务模板、XML或Java注解进行事务配置,并且事务框架集成了消息传递和缓存等功能。Spring的数据访问框架解决了开发人员在应用程序中使用数据库时遇到的常见困难。它不仅对Java:JDBC、iBATS/MyBATIs、Hibernate、Java数据对象(JDO)、ApacheOJB和ApacheCayne等所有流行的数据访问框架中提供支持,同时还可以与Spring的事务管理一起使用,为数据访问提供了灵活的抽象。Spring框架最初是没有打算构建一个自己的WebMVC框架,其开发人员在开发过程中认为现有的StrutsWeb框架的呈现层和请求处理层之间以及请求处理层和模型之间的分离不够,于是创建了SpringMVC。
特点编辑 播报
SpringBoot基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。 [1]
SpringBoot所具备的特征有:
(1)可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;
(2)内嵌Tomcat或Jetty等Servlet容器;
(3)提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;
(4)尽可能自动配置Spring容器;
(5)提供准备好的特性,如指标、健康检查和外部化配置;
(6)绝对没有代码生成,不需要XML配置。。
1.5 MySQL数据库技术
MySQL是当下非常成熟的中小型数据库技术,他是在sql程序设计语言上进行了深入的开发一个全面化的数据库平台,具有丰富的接口,能够与微软的其他产品无缝融合,支持分布式的视图查看,对web页面的支持非常成熟。
1.6 java语言
Java语言风靡全球,有相关的统计显示,全球有超过90%的企业级桌面程序应用使用到了Java语言进行开发。Java已经成为了全球计算机课程中国首要学习的课程。Java经历了多年的发展,已经成为了一种十分成熟的语言,相对于当前市场上其他的主流开发语言,Java语言设计合理、内容简明扼要,容易被读写、容易移植等优点。基于java语言开发的技术在当前市场时已经熟不熟生疏,证明了JAVA语言仍然有着非常重要的地位,能够在计算机开发技术市场上继续的风靡下去。
2 系统需求设计
2.1 模型结构
该系统结构分为三个框架:
Web 层:也就是用户浏览的网页端,需要在这一层中进行界面的美化,并将代码进行隐藏处理。
业务层:包含各种业务规则和逻辑的实现。
数据访问层:数据访问层为业务层提供数据服务。
2.2 功能设计简介
2.2.1 模块功能设计
1.安全方面:该网站提供注册用户模块,因此对于用户的各种基本信息都需要得到足够的保障和安全,而其中个人信息更是我们每个人最不可泄漏的隐私。
2.先进方面: 目前当务之急,就是设计开发能够满足需求者的在线交流、浏览保险产品内容的网站,所以要取长补短参考优秀的作品。
3.今后扩展方面: 提高管理者对管理信息的便利性可以提高管理效率并吸引管理者的注意力。考虑到网站在开发过程中的未来可扩展性,它应该便于使用者日后的升级与更新。
此次设计的网站系统,需要具备的功能模块分为了前端和后端,具体的模块需求如下图所示:
1、管理员模块需求:
图2.1管理员功能结构图
2、用户功能需求:
图2.2用户功能结构图
由上图可以看出,此次设计的管理员模块的主要功能需求包括了系统的维护、保险产品的管理,新闻资讯的管理等。用户端功能比较简单,可以浏览保险产品、观看当下与保险有关的最新资讯以及在线留言等。
2.2.2 添加信息流程设计
添加信息流程:如下图所示,登陆后信息可以自行添加,用户输入数据后,信息合法会写入数据库,不合法则会返回到输入界面。
图2.3 添加信息流程图
2.2.3 修改信息流程实现
修改信息流程需要填写修改内容,并写入数据库,系统根据判断输入的信息是否合法,如果信息合法则修改成功,反之则失败。
图2.4 修改信息流程图
2.3 可行性分析
在整个设计过程中,通过低成本达到最终想要呈现的效果。我们最初的设计理念是为广大爱好者提供及时获取信息咨询、沟通交流平台,所以需要将他们的需求点进行了解,并在脑海中大致呈现出一个结构轮廓,把系统分为多个功能模块进行调查和分析,寻找可行的方法,最终实现大事化小,逐个攻破,最大限度的用专业知识降低错误。
2.3.1硬件可行性分析
理想保险系统对硬件的要求较低,我们日常生活中使用的电脑就可以实现,因此对于开发而言是没有问题的,硬件的配置只要满足以下条件即可:
配置:CPU:i3及以上;
硬 盘:80GB及上;
内 存:2G;
操作系统:我们常用的Windows系列都可以
数据库:MySQL
2.3.2软件可行性分析
网站的制作中使用了SPRINGBOOT框架、Java编程语言,MySQL数据库。这部分的专业知识在学习期间都有学习过,所以理想保险系统的总体构建也有了大致思路。困难点还是在与数据库的设计和操作,软件工程在设计前期有着不可或缺的作用,对于软件工程的构思和软件测试的了解,使我达到着手开发一个功能基本完善的理想保险系统的要求。
2.3.3经济可行性分析
由于理想保险系统对硬件的要求不高,我们日常使用的电脑都可以运行,所以在经济上是完全可以达到要求的。
2.3.4操作可行性
由于理想保险系统操作的简易性,管理员不需要费很大的精力就可以完成工作,同时还可以随时在后台和用户互动。
2.3.5发展可行性
在当下这个所谓的“新时代”,如何通过访问网站的方式,来获取最新鲜的资讯,并且可以深入了解开发背后的故事,已经成为爱好者们最关注的话题,因此建立一个理想保险系统,为处在行业内各个阶段,尤其是高端爱好者提供一共专业性的咨询分享平台,有其特殊的必要性。
3 其他相关技术
3.1 项目框架技术
SPRINGBOOT框架技术在管理业务中使用不同的接口实现对对象的使用和管理,使用接口对类进行管理不是正确的方式。SPRINGBOOT框架技术对于相关数据的管理中也是唯一的数据,设计简单而高效的数据库管理框架,最大限度的减少购买物品效率的出错可能。SPRINGBOOT框架在数据访问层构建数据访问架构,对于WEB开发者来说,SPRINGBOOT框架是一款非常强大的编程语言,因此本次开发过程首选应用最为广泛的SPRINGBOOT框架语言进行。
3.2 系统架构简介
将展示业务逻辑的代码放在一起,和数据库进行交互,这样开发起来更加简单而且思路也更清晰,使用和维护也提高了方便性,这就是MVC模式。M代表着业务逻辑代码与数据库代码。V代表对数据的展示代码,比如SPRINGBOOT框架页面,就是专门用来展示美化页面的。C代表控制,连接着View和Model,从View中获得指令,在从model中通过业务逻辑代码获取需要的数据,然后再通过Servlet去交给View层去显示。如图3.2.1。
图3.2.1 架构图
1、首先点击浏览器执行文件,打开浏览器,输入关键字或者网址,在连网的情况下可以连接到服务器请求页面,然后显示在展示SPRINGBOOT框架中,通过点击SPRINGBOOT框架页面中的内容连接到想要的网页,提交请求;
2、上一层的请求到了服务器中也就是到了Control这一块Servlet通过分析请求,知道用户需要什么,需要数据,通过模型数据库拿到需要的数据,将数据显示在SPRINGBOOT框架设计的页面中,通过访问模型数据获取到想要的数据,再将SPRINGBOOT框架反馈给浏览器;
3、SPRINGBOOT框架就是处于对话层,Servlet流的控制器设计数据并编写代码,业务逻辑就是模型。
3.3 开发管理工具简介
首先是了解完整项目的开发过程:需求分析、模拟原型、需求文档、交互文档、设计美化、前端设计、研发、测试验收。Java项目中的设计到开发中的很多环节,在每个环节中使用不同的开发工具,在开发中选择对应的工具进行开发。不同的java开发中的每个环节都有专门的人负责,每个环节的责任制会对此环节的效果有明显的影响。比如:通过调查设计原型是由产品经理去做,至于界面的美化是让专门负责美化的人去做,前端设计开发也是由专门的前端开发人员去做。对于开发人员来说主要就是编写和测试程序。
1、在编写代码时,设计一个能编写源代码的工具去做可以提高很多效率。例如:Notepad++;
2、在测试开发的网站时,设计一个编译、执行使用存储内存在本机上使用。例如:JDK;
3、网站开发好对每个模块分开进行模块设计,在测试时候需要选择专门的测试单元的工具。例如:JUnit、TestNG;
4、对于将要编写开发文档,调查市场和用户需求,设计选择专门开发文档需求的工具。例如:word、Excel、PPT;
5、在已经设计需求的基础上,已经做好了开发,对程序进行分析和优化,需要专门的工具对程序进行分析。例如:StarUML;
6、开发了网站需要管理源码和版本自动升级,此时需要选择适当的工具进行管理。例如:SVN,Git;
7、开发系统或者项目过程会用到很多的第三方类库和Jar包,选择一些第三方库的工具去支撑开发。例如:Maven、gradle;
8、分别使用这些工具可能会比较繁琐,开发过程中会遇到兼容性,需要选择一个可以开发很多环境支撑的项目有集成开发工具IDE。例如:Eclipse;
3.4 开发管理模式简介
开发人员在设计模式时经常使用设计模式,在这些设计开发编写代码的过程中,分类设计项目的过程是实现设计代码的过程,经过这样的分析和实现进行总结。为设计模式中,需要考虑代码的可重用性,在不同计算机的不同环境中配置好,在开发时写上注释使用增加可读性,让人比较好理解。设计模式在代码中真正实现模块化,设计模块是关键,尽量实现模块之间的独立性,分解问题解决问题,项目中多层次的模块设计可以完美实现很多问题,每个模型都由自己的独立性,互相不受影响,模块之间的设计和实现都有相应的原理与之对应,每个模块展示处它及其周围的可能会出现的问题,从而制定该问题的解决方案,出现问题就可以解决。
总体来说设计模式分为三大类:
创建型模式:共五种:工厂方法、抽象工厂、单例、建造者、原型模型。
模式:结构型,共七种:适配器、装饰器、代理、外观、桥接、等模式。
行为型模式:共十一种:策略、模板方法、观察者角度、迭代子、责任链、命令、备忘录、状态显示、访问者、中介者、解释器模式。
4 系统设计
4.1 数据库设计
数据库是信息的集散地,在这里可以完成信息的新增、储存、修改、分类、搜索、删除等工作。利用好数据库,可以完成数据的统计、排列、分析,归档等操作,更方便于管理员对于系统的管理,数据库是系统的核心组成部分,对整个系统的正常运转起到了决定性作用。数据库可以分为概念设计、逻辑设计、物理运用等步骤。
4.1.1 数据库实体
E-R模型能够充分的、直观的显示出数据库的结构特征,从各模块关联之间更为简洁的展示出数据库的整体架构。 此次涉及的功能数据库实体图如下图所示:
4.1.2 数据库表设计
系统实现原理需要建立在对网站的分析,对多个模块实现需求进行分析,从而确定数据库中需要使用的数据,分析这些数据属于什么实体的属性,分析理想保险系统管理员的要求,结合实际的需求分析,并对各个模块加以分析综合,在管理员功能基础上使用MySQL设计了以下表格:管理员表、用户表、新闻表产品表等。下面是数据库各个表的信息。
1、系统管理员表,如下:
列名 | 数据类型 | 长度 | 允许空 | 是否主键 | 说明 |
userId | int | 4 | 否 | 是 | 编号 |
userName | varchar | 50 | 否 | 否 | 用户名 |
userPw | varchar | 50 | 否 | 否 | 密码 |
2、保险用户信息表,如下:
列名 | 数据类型 | 长度 | 允许空 | 是否主键 | 说明 |
userId | int | 4 | 否 | 是 | 主键 |
userName | varchar | 50 | 否 | 否 | 用户名 |
userPw | varchar | 50 | 否 | 否 | 用户密码 |
user_realname | varchar | 50 | 否 | 否 | 用户真实姓名 |
user_sex | varchar | 50 | 否 | 否 | 用户性别 |
user_address | varchar | 3000 | 否 | 否 | 用户住址 |
user_tel | varchar | 50 | 否 | 否 | 电话 |
user_email | varchar | 50 | 否 | 否 | 邮箱 |
3、保险新闻信息表,如下:
列名 | 数据类型 | 长度 | 允许空 | 是否主键 | 说明 |
id | int | 4 | 否 | 是 | 主键 |
biaoti | varchar | 200 | 否 | 否 | 标题 |
neirong | varchar | 3000 | 否 | 否 | 内容 |
fujian | varchar | 255 | 否 | 否 | 附件 |
shijian | varchar | 50 | 否 | 否 | 时间 |
4、保险产品信息表,如下。
列名 | 数据类型 | 长度 | 允许空 | 是否主键 | 说明 |
id | int | 4 | 否 | 是 | 主键 |
leibieid | varchar | 50 | 否 | 否 | 类别编号 |
mingcheng | varchar | 255 | 否 | 否 | 产品名称 |
jieshao | varchar | 50 | 否 | 否 | 产品介绍 |
jiage | varchar | 50 | 否 | 否 | 产品价格 |
fujian | varchar | 50 | 否 | 否 | 产品附件 |
beizhu | varchar | 111 | 否 | 否 | 备注 |
5.系统的实现
5.1 前台功能设计
5.1.1 网站首页
首页的菜单栏中有保险产品介绍、保险产品搜索,新闻浏览以及在线留言等功能。网站内所有的重要信息都在这个首页展示出来
5.1.2 保险产品列表
如果想要在网站查看最新保险产品信息,可以点击这个站内保险产品列表菜单,就可以看到当前的最新的产品分类以及相关的产品介绍信息,
5.1.3 留言板界面
对于某一款产品感兴趣、或者有关于保险知识想要在线询问的用户,在注册登录后,能够在该留言板进行留言
5.1.4 产品查询界面
用户登录后可以在在线进行产品的查询,在搜索栏中输入相应的产品简称等内容,即可进行产品的搜索。
5.2后台管理设计
5.2.1系统用户登录管理
管理员用户可以点击首页菜单中的后台登陆系统管理页面,输入用户名,密码点击登录按钮,就可以进入到后台管理页面。进入后台选择系统用户管理,可以在此处修改自己的密码;进入注册用户管理,可以查看、修改、删除用户资料,并对注册用户的账号进行管理,拥有最高管理权限用户,可以连接到用户注册列表,对用户密码、姓名等进行审核,如果审核信息通过,就让其通过注册。
6 系统测试
理想保险系统设计、开发完成后,还必须要经过严格的软件的测试环节。软件测试是检验网页开发过程的重要的、必经的环节。通过软件测试,可以检验出网站在运行过程中是否存在问题。测试过程中,可以发现大模块与各个分子模块的运转契合程度,各子模块之间是否出现冲突、报错等情况,出现错误,解决错误。另外,还会给与特定的测试环境,在特定的测试环境下对网站进行压力测试,达到网页运行的稳定,高效压力件测试环节必不可少,其重要性不言而喻。好的测试能够检验网站的开发完整度,减少后期维护成本,特别是面向公众的网站,流畅的浏览效果能够给使用者更好的使用体验,增加客户粘度。
6.1 测试环境与条件
计算机处理器:AMD R4800H、因特尔酷睿i5
计算机内存:4GB、8GB、16GB
计算机硬盘容量:128G、256GB、512GB
计算机操作系统:Win7、win10、winXP
6.2 功能测试
通过使用不同的计算机配置,在不同的计算机上登陆该理想保险系统,经过每台计算机20次以上的测试,其测试结果均为正常。检测结果如表5.1所示:
表6.1 网站功能测试
6.3 安全测试
1、系统登录环节,在测试后系统显示必须填写用户名及密码登陆。
2、网站数据安全。管理员、用户的操作权限均为加密程序,且可以进行安全备份留档。
6.4 可用性测试
可用性用户体验的关键环节,主要测试窗口模块的应用可行性,模块的友好程度、布局的合理性等。具体测试方面如表6.2所示。
表6.2 可用性测试
6.5 性能测试
性能测试主要检测网站系统运行的稳定性、使用的便捷性等。主要测试如下:
1、启动速度:在不同的计算机内进行网站登录,观察登录网站的启动过程,未出现无法显示、无法响应等情况。
2、系统反应速度:启动速度快,响应及时。
6.6 用例测试
此次以登录用例,采用如下方式:
1、输入正确的用户名及密码,登陆成功;
2、输入错误的用户名及密码,登录不成功;
3输入正确的用户名和错误的密码,或者输入错误的用户名和正确的密码,登录不成功。
经过上述三种测试,此网站论坛可以正常浏览,测试环节成功。
6.7 测试结果分析
此次的理想保险系统从界面设计到网页开发,充分借鉴了国内外优秀网页的优点,方便管理人员和使用者使用。系统的主要功能和优点可以概括为:
1、该理想保险系统的功能覆盖性相对较高,基本涵盖了当下主流保险产品网站应有的所有功能,可以充分地对热点保险产品、热点新闻进行深入的了解。本网站在压力测试、安全测试中均表现良好,为用户提供极大的便利。
2、理想保险系统的管理者能及时综合处理综合内容,方便管理,各种错误及例外事项,均可以妥善处理,避免了不必要的情况发生。用户端设计者采用了友好的用户界面,并且可以在线论、留言,上手难易程度低,任何人都可以流程地进行操作。
经过全面测试分析,该网站功能完善、可操作性强、体验感良好,已基本达到使用要求。