保险业务管理系统.zip资源-CSDN文库https://download.csdn.net/download/JW_559/89361419
保险业务管理系统的设计与实现
摘要
历经二十余年的高速发展,我国保险行业的市场竞争已经达到白热化的程度,在同一个城市往往有数十家主体参与保险业务的竞争。保险企业的竞争异常激烈,想要在现在这复杂多变的市场环境中跳出来,必须好好的进行业务的管理。广大保户在享受着竞争带来的实惠同时也变得更加挑剔,哪家保险公司能提供更好的服务往往成为其最终决定的关键因素。在这种环境下,越来越多的保险公司使用管理系统来提供更好的服务。目前保险公司的业务和管理信息平台,大多依从原来的内部开发思路搭建。一旦有新的应用要求,新开发出的系统又要考虑和以前系统的单独集成。而老系统的升级又会引发大量的系统更新和检测工作。因此一个好的系统对于企业是很重要的。
关键词:互联网;保险行业;Mysql;SSH ;B/S ;
Abstract
After more than twenty years of rapid development, China's insurance industry market competition has reached a white hot degree, in the same city, there are often several main players compete in the insurance business. The majority of households in the enjoyment of the benefits brought by the competition has become more critical, which insurance companies can provide better service is often a key factor in the final decision. In this environment, more and more insurance companies use the management system to provide better service. At present, the insurance company's business and management information platform, mostly with the original internal development ideas. Once a new application is required, the newly developed system will be considered separately from the previous system. The upgrading of the old system will lead to a large number of system updates and testing. So a good system is very important to the enterprise.
Key words : Internet; Insurance Industry; Mysql; SSH; B/S;
科技增长的日新月异,由于不断进步的科学技术以及社会生产化的趋向扩大使得人类的科技水平大大增强,人类文明思想的富裕堪称越来越加强,思维的灵活加强速率呈超速加速。市场争抢日益严厉的趋势,使得人们对新闻的观念产生了根本性的变革。使新闻成为了继物资、动力后,文字被摆为与其并发的人类社会发育的第三大物资。
在计算机基本普及的今天,网络科技的发展使得在家办公变得不再陌生,几乎家家户户都有一台以上的网络设备。最新数据截至到2016年9月,中国网民规模达7.4亿,互联网普及率超过50%,由此可见因特网的传播率之高。显然,互联网已经渐渐地成为了我们生涯的一个区域,上网环节的日益美满,以及越来越增长的变换因特网技术,终于使得各类互联网应用技术根据需求被逐渐的开发。
到了如今社会,在面临损失和灾难的时候人们通常希望能够保证自己财产的安全,而且他们也想尽各种办法来避免生活中的一些损失,因此保险业务得以派上用场,从古至今,人们都拥有保险意识,人类社会一直以来就面临着自然灾害和意外的事件的困扰,人们在与大自然抗衡的时候,就萌生了对付意外事故和伤害的保险。我国的历任王朝都十分重视粮食的储存,被称为孔圣人的孔子就提出过“耕三余一”的思想颇具代表性。在国外,古埃及的石匠之间就有一种互助基金组织,该组织向每一位会员收取会费,假使有个别会员死灭,收到的费用就用来领取故去成员的死亡赔偿金,还有古代落马中不对里面的兵士结构,会用收取来的会费来抚慰死去战士的家属,这就是原始的保险雏形。现代保险发源于意大利,14世纪中叶出现了世界最古老的保险,是海上保险的雏形,此后,安全的作法迅速传播尽欧洲各个康吹,到了十七时代,伦敦已经成为了全球保险行业的大旨。在上海创设了华安合群保寿单位,这是国内首家华人资产人保险单位。到了21世纪保险已成为人们生活不可或缺的一部分。各种各样的保险业务在现实生活中无处不在,已经成为人们正常生活不可或缺的一项业务。由于社会的发展、人们对保险意识增强因此保险业务的数量快速增加。但是保险公司为了确保公司业务可持续增长,公司因此来自己培养高效率和训练有素的销售队伍,并且在各个地区建立自己的分公司以用来扩展保险业务,以记录所有投保人的详细信息,但是直到目前为止,手工依然作为主要的纪录形式。
随着保险市场的逐渐增加,保险主体的市场已经逐渐完成。在1988年以前,只有中国人民保险公司在我国保险市场上经营。1988年以来,随着安平保险企业、太平洋保险公司的接踵创设,安全局势私家操作的款式被冲破。截至二零一一年终,国内国有中资、外国保险企业共一百五十八家。另外,保险中介介于保险机构之间或保险机构与投保人之间,专门从事保险中介服务,并从中遵章夺取回佣的企业和个人。部门也一直增长,截至二零一零年十二月底,我们国家保险市场上职业保险代购单位、安全经济企业和安全公共估算企业已经达到2461家左右,保险中介布局市场首先产生。
安全主要市场的多方位,有力地促进了保险企业管理意识的变化,使之逐步创立了服务思想、竞赛思想、利益思维和发育思维。安全市场的膨胀逐渐由量的转向质的升高。
然而随着业务的扩展和参保人数的增多,所要记录的信息必然会越来越多,每天让员工从几千堆的以硬盘形式存储的数据文件中查找客户的信息,不但费时、低效而且枯燥乏味。由此,保险公司为了合理方便的管理处理客户信息、业务运 作信息,让客户、员工、管理员方便的拥有自己的权限并对自己的信息模块进行操作,借助一个现代化计算机技术建立一个高效的管理信息系统是关键。
保险是指将通过约定模式集合起来的本钱,用来补充被保护人的金钱利润的行业。
安全是指投资人根据合约,向客户领取安全金,客户对于合约的可能爆发的事项因其发生而造成的物业承担损失补偿赔偿金职责,或者当客户死灭、伤亡和达到合同约定的春秋、限期时经受支付安全费职责的行为。
安全市级是生意安全即双方签订安全合约的场合。它可以是集中的市集,也可以是疏散的没有性的市场。
按照保险标的的不同,保险可分为财产保险和人身保险两大类。
安全金钱是指以物业及其有关职责为安全性的的安全,包括金钱丢失保险、职责保险、守信保险、确保保险、农民保险等。它是财产及其相关利益为保险标的的一项赔偿性保险。
人身保险是用的生命和身段为安全性的的业务。当人们遭遇祸患或因生病、垂老以致遗失工作力气、残疾、死灭或年老下岗时,根据安全合约,客户对被保险人或得利者支付保险金钱或年终奖,以办理其因病、残、老、死所造成的金币缺失。
按照与投资人有没有直接相关关系,安全可变为原保险和二次保险。发生在保险人和投保人之间的安全举动,被叫为原保险。发生在保险人与保险人之间的保险行为,称之为二次保险。
随着资产配置更加多元化,中国社会老龄化问题日益突出,巨大的保险需求仍是国内寿险保 费收入增长的原动力,因此预计未来一年国内寿险公司整体保费收入仍将增长,根据测算,预计 2017 年保费增速将达到 10%。保费的迅速增长也表明保险业务的快速增加,随之而来的管理问题以及工作效率的问题也被放大。
我国在加入世界贸易组织后组织后,国外的保险也对我国的业务产生了重大的影响,我国的保险业务开始体现出了国际化的特征,对中国保险行业的扩展有着很大的帮助,新的公司发展形势,对传统的保险业发展产生了很大的影响,是的对公司的能力要求产生了很大的增加,所以对保险的管理的依赖性就加强了很多,一个好的管理系统可以帮助公司脱颖而出,成为保险行业中的佼佼者。信息系统的好坏讲直接的影响到公司的发展。信息管理系统的好坏是未来保险公司想要在竞争中大白竞争对手的关键。
目前的通信结构已经无法越好地满足行业程序与处理措施高准侧的要求,不足国度衡量的准则以及领导指示各地根据地区的处境,创建自己的信息工程。有些地方的结构项目没有按照意图及标相关设计的要求,致使软件的多次开发;上网连接阻断;新闻系统搭建如今还没有准确的金钱源头,对于新闻系统的组建金钱明显不足;缺乏结构和精英上的能力确保。外界的安全中介组织在很多区域没有专业实际的外部经营部门。社会安全中介部门的计算器精英不足,这种情况严重约束着全部保险新闻体系的创建和发展。所以保险业务管理系统的设计的实现就显得十分重要了。
由于临时的区域知识和新闻模板的沟通,及这些年的阐明、设计安全业务员软件经历的积聚,外国安全业务使用设施在数字模板的构建上有一定的优点,具体反映在这多个方面,首先,具有完美的数据词典。数据字典是整个应用系统的基础,它包括各种数据项 的分类和定义,是保险行业应用软件的基石。第二,数据取值标准化。全面的数据取值定义,是系统标准化的基础,保证了软件系统的整体性、一致性和可操作性。第三,数据实体及关系。在数据项的基础上,数据实体及关系是表达保险行业 知识的最有效方法,在信息系统模型中占有重要地位。
国外的很多系统已有20—30年的使用历史,积累了各种成功和失败的经验,这些是非常宝贵的资料,从整个应用系统发展看,应当是教训多于经验,这对我国保险公司管理系统进一步的开发具有很强的借鉴作用。特别在组织管理经验方面。所以我们十分有必要学习外国公司的管理方法。常言道—取其精华,去其糟粕。向他们好的一方面学习,同时也要去掉其中一些不好的东西。一个好的东西是值得我们学习的。学习好国外优秀的保险管理机制,可以使我们国内的保险行业发展的更加的优秀。一个好的股息机制可以促进我们变得越好。国外的软件行业相对于国内来说得话,发展的比较早,所以说他们的系统相对的也就比较完善一些,所以我们需要借鉴他们的优秀管理系统,才能使我们的保险行业发展的更加壮大。
众所周知,不论什么公司想要发展都在不同程度上依赖一定的技术和知识才能够更好的发展与生存。尤其是在如今这知识经济和信息经济的时代,现在企业之间的竞争更多的是在于知识获取和信息获取使用能力的竞争。所以对企业对信息资源的有效管理和及时获取是当今时代更似想要更好发展的前提。只有在信息处理方面采取了有效的措施,才能够使公司企业在激烈的竞争中长期处于不败之地。不论任何一个行业,对需要一个优秀的管理机制,这样的话才可以公司发展得更加的完善。古语云:工预善其事,必先利其器。这就是一个充分的代表,一个好的公司想要在负载的环境中脱颖而出,就必须拥有一个优秀的管理系统,而现在互联网技术已经得到了非常迅速的发展,于是就特别的有必要建立一个可以是现在web浏览器上的一个系统来进行公司保险业务的管理,由此我们的系统就应孕而生了。
通过本系统可以使保险业务的管理更加方便,用户和管理人员通过管理系统可以更加方便的进行保险的买入和对业务的管理,比传统的手工管理方便了好多。为管理人员提供方便条件。且系统运行稳定,数据安全可靠。在现代化管理中,计算机系统已经成为企业管理不可缺少的帮手。它的广泛应用已经成为现代化管理的重要标志。面对越来越多的信息资源和复杂的企业环境,相信企业有必要创建高效率的、实用性强的信息管理系统。这是现代化管理的必然趋势。因此很有必要开发一个管理系统来进行企业的业务管理。
保险管理系统的开发目的是使保险业务的管理模式从手工记录转变成信息管理,为管理人员提供方便条件。对保险业务的实际情况进行调研之后,进行详细的需求分析,对现有的管理模式进行改进,开发出一套新型的管理系统,从中领悟系统开发的思想,掌握系统开发的流程和方法。开发这个管理信息系统优势主要体现在,极大提高了保险公司工作人员的工作效率,大大减少了以往出入存流程繁琐,杂乱,周期长的弊端。借助计算机系统对数据处理的严密性等特有机制,在改善保险业务的数据管理方式,降低业务人员的劳动强度,提高劳动生产率等等方面,保险业务管理系统都起到了良好的效果。同时还能使得业务流程更加规范化,信息和数据的处理更加高效准确,能适应信息化的要求,能帮助工作人员利用计算机,快速方便的对信息和数据流进行管理、输入、输出、查找的所需操作,使杂乱的业务数据能够具体化,直观化、合理化等。
保险业务系统的实施的现实意义:
系统处理业务更高效 , 节约人力资源。
基本信息的全面设置、数据录入方便、快捷。
最大限度的实现了易维护性和易操作性。
系统运行稳定,数据安全可靠。
本系统主要是为了开发一个操作方便、使用快捷、处理高效的保险管理系统。因此,本系统是从人工操作容易产生错误、过程繁琐、工作效率不高,保密性差不足之处,对系统的可操作性、稳定性和实用性有一定的限制,并能安全地保存数据于数据库中来提高其系统的保密性。使其真正实现保险管理系统的安全化、规范化、科学化、信息化。最终使公司能够更好地管理保险业务。本系统是从人工操作容易产生错误、过程繁琐、工作效率不高,保密性差不足之处,对系统的可操作性、稳定性和实用性有一定的限制,并能安全地保存数据于数据库中来提高其系统的保密性。使其真正实现保险管理系统的安全化、规范化、科学化、信息化。
JSP技术是开发Java Web应用程序的主要技术,全名为java server page,其根本是一个简化的Servlet设计。它是由Sun Microsystems在1996年开发的,和许多公司一起建立的一种动态网页技术标准。JSP是servlet技术的扩展,现在的版本是1.2(2.0版将很快定下来)。有人认为JSP是servlets的替代,但实际并不是这样的。Servlets和JSP是一起用于复杂的Web应用程序的。
JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp),而构成的JSP网页的程序片段可以控制数据库、对网页重新定向和发送E-mail等,从而满足建立动态网站所需要的功能。 简单来说JSP可用等式表示为:HTML+Java=JSP。JSP技术的运行原理为所有JSP页面,在执行的时候都会被服务器端的JSP引擎转换为Servelet(.java),然后又由JSP引擎调用Java编译器,将Servelet(.java)编译为Class文件(.class),并由Java虚拟机(JVM)解释执行。主要采用JSP技术的原因在于它对客户浏览器的要求不高因为所有操作都是在服务器端执行,客户只接收传送结果,就算客户端的浏览器不支持Java,同样可以访问JSP网页。Web应用如果用JSP开发就能跨平台使用,在Linux和其他操作系统上都能运行。
JSP技术通过Java语言来编写类的标签来进行对网页的处理逻辑的封装使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。JSP将网页逻辑与设计的显示分离,支持可重用的基于组件的设计,使基于Web的程序开发变得简单容易。 JSP(Java Server Pages)技术支持的网页是动态的,将逻辑和servlet进行了分离。
而本系统采用JSP技术的原因也是基于相比较于其他技术JSP有很多优势:
JSP代码跨平台, 即一次编写,处处运行
众所周知,微软公司的产品都具有垄断性,产品的可移植性也很差,ASP也不例外,而相较而言,JSP就避免了这些问题,可以在很多平台上使用,更加平民化人性化。
JSP组件跨平台
JSP组件包括企业JavaBeans,JavaBeans或定制的JSP标签,跟代码一样都是可以跨平台可重用的。企业JavaBeans组件可以访问传统的数据库并能以分布式系统模式工作于Solaris,Linux,UNIX和Windows平台。
支持多种网页格式
目前, JSP技术支持的网页格式没有特定的标准。一般来说,JSP技术既可以支持HTML/DHTML的传统浏览器文件格式,又适用于于无线通信设备如移动电话、PDA等设备进行网页预览的WML文件格式,还可以支持其他一些B2B电子商务网站应用的XML格式。
JSP标签可扩充性
JSP标签技术与XML兼容,所以使得开发网页的制作者充分的利用此技术来降低了对脚本语言的依赖,使网页建设变得越发简单容易。
健壮性与安全性
Java语言的存储管理具有健壮性,并且安全性更高,而JSP制作网页是基于Java语言的,因此也囊括了Java语言的优势。
“SSH 组合框架”是Struts + Spring + Hibernate的缩写,“SSH组合框架”体现的是“强强联手、各司其职、协调互补”的团队协作精神。SSH框架的流程大致是:Jsp页面----Struts------Service(业务逻辑处理类)---Hibernate(左到右)。而负责控制Service生命周期的Struts框架会加大层与层之间的依赖性,也就是通常所说的耦合。大型Java Web 应用程序的开发具有代码繁琐过多,难于维护和扩展的缺点,而“SSH 组合框架”能够很好的实现业务分层,为该问题提供了很好的解决平台。
1、Struts
最早的Java Web 程序全部使用JSP 实现, JSP 页面包含HTML 标签和Java 业务逻辑代码,使得整个JSP 页面显得过于繁琐复杂,并且难以维护,在系统出现问题时使得开发人员面对大批的代码束手无策。于是SUN 公司对Java Web 进行了规范,先推出模式1,在模式1中引入了JavaBean代码,以达到封装业务逻辑代码的目的,最终成功的将逻辑代码与JSP页面进行了分离,而模式1引入的JavaBean代码仍然存在对流程控制上的缺陷,由此在模式2中引入Servlet 技术,才将整个框架彻底分离为模型、视窗和控制器三部分,使得Java Web 应用开发更加规范化。之后推出模式2,Struts 2集结了组件的多重优点,同时也使得基于MVC 的Java Web应用程序的开发变的更加简单。Struts 2通过核心控制器Struts Prepare And Execute Filter(struts2.0.x到2.1.2版本的核心过滤器为FilterDispatcher,继2.1.3版本开始就改为truts Prepare And Execute Filter)和拦截器遵循一定模式更好的实现后台控制维护、前台表现和业务逻辑处理等多项功能。
Struts是用来做应用层的,它负责调用业务逻辑serivce层,从而控制了Service的生命周期。
2、Spring
服务器厂商对于很多技术支持没有进行统一,因此J2EE的应用缺少平台无关性,并且应用开发的效率低下,而Struts对逻辑service的调用会导致层与层之间的依赖性增强,发生耦合问题。这时Spring框架作为开源的中间件就起到了承上启下的作用,它控制Action对象(Strus中的)和Service类,使得两者关系变得松散,降低了层与层之间的依赖性来达到松散耦合的目的,这就是Spring的Ioc机制(控制反转和依赖注入)所起的作用。
Spring事实上充当了管理容器的角色,用来管理struts和hibernate之间的工作,作为管理者它在整个程序中充当了桥梁的角色,整个程序运行都需要通过这个桥梁,Spring致力于解决应用各层的方案,而不仅仅局限于一层。
可以说Spring的“一站式”功能贯穿表现层、业务层及持久层。但是Spring并没有取代整个框架而是与之完美的契合,就像一个服务者而不是霸占整个领域的统领者。Spring的核心技术是控制反转IOC 与AOP 代理机制,现在Spring使用基本的JavaBean就可以解决以前只能由EJB完成的事情,Spring 的用途并不局限于服务器端,从多方面角度来说,任何Java 应用都可以从Spring 中受益。
3、Hibernate
现在对很多的多层体系结构的开发都有一个缺点就是单凭使用JDBC 对持久层进行分离非常困难,负责业务逻辑代码编写的程序员在与数据库交互时需要书写大量的SQL语句,并且必须密切关注数据库各表的结构关系,以确保其SQL 语句工作的正常。而引入Hibernate 这样的持久层中间件的话,就对JDBC做了一个良好的封装,业务逻辑层的开发人员面对的就是对象而不必关心数据表,这样有利于分工合作,并且降低了产品的不可移植性。任何使用JDBC 的场合都可引入Hibernate,既可以在Java Application中使用,也可以在Servlet/JSP 的Web 应用中使用。
4、整合
Struts 2 标签库处理视图层,Struts 2 的核心控制器与业务控制充当控制层,Hibernate 与各业务逻辑组件处理业务层事务,最后由Spring 统管Bean 资源,对整个应用的JavaBean实例资源进行统一管理与调度。三个开源框架相辅相成,对所有资源进行一个良好的运转,就像团队分工协作,任务明确,因此“SSH框架”的引入推动了J2EE的开发。
- B/S模式简介
B/S(Browser/Server,浏览器/服务器)模式又称B/S结构。它是随着internet技术的兴起,对C/S模式应用的扩展。在这种结构下,用户工作界面是通过浏览器来实现的。B/S模式最大的好处是运行维护比较简便,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据析。B/S模式如图2-1所示
2-2 B/S模式图
任何程序的运行都需要数据库,这是网络开发过程中不可或缺的一部分,就像任何生物不管类别大小个头大小,它们生命的延续都需要心脏的跳动,同样的道理,无论程序大小,都需要数据库的支持。Web数据库一般为三层或多层体系结构,前端采用浏览器技术,通过中间件和服务器对数据库进行访问。
MySQL软件目前属于Oracle公司,由瑞典MySQL AB公司开发。以往的数据库都将数据集中存储在一个空间,就像一个大型仓库,因此容易造成数据过多冗余繁杂并且难以管理,而MySQL是一个关系型数据库管理系统,将数据分块保存于不同的表中,提高了数据的灵活性并且也解决了因为数据冗长而造成的运行速度过慢的问题。
MySQL软件由于其体积小、速度快、总体拥有成本低的,成为中小型网站开发的常用网络数据库,尤其是开放源码这一特点,用于访问数据库的SQL语言很普遍,使得很多企业更偏向于选择MySQL数据库。MySQL软件分为社区版和商业版,由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。
MySQL规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)的缺陷无法与其他大型数据库例如Oracle、DB2、SQL Server等并驾齐驱,但也并不磨灭许多中小型网站对它的使用热情。“麻雀虽小,五脏俱全”,MySQL提供的功能已经足够满足一般的个人使用者和中小型企业,并且源码开放使得总拥有成本大大降低,使得它更加受到这些使用者的青睐。
MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。
MyEclipse 是一个十分优秀的用于开发Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse目前支持Java Servlet,AJAX, JSP, JSF, Struts,Spring, Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse几乎囊括了目前所有主流开源产品的专属eclipse开发工具。
可行性分析是目前项目开发中必不可少的一项工作,具有决定性的意义。在一个项目开启之前,必须对项目进行全面科学的分析,从各个角度进行科学的研究,对自己的项目进行全面的分析。本项目主要是关于技术可行性、经济可行性、管理可行性和社会可行性进行研究。
可行性分析是在制定某一建设或科研项目之前,对该项目实施的可能性、有效性、技术方案及技术政策进行具体、深入、细致的技术论证和经济评价,以求确定一个在技术上合理、经济上合算的最优方案和最佳时机而写的书面报告。
可行性研究报告主要内容是要求以全面、系统的分析为主要方法,经济效益为核心,围绕影响项目的各种因素,运用大量的数据资料论证拟建项目是否可行。对整个可行性研究提出综合分析评价,指出优缺点和建议。
- 技术可行性
本管理软件的开发工具为Myeclipse,前台页面使用JSP技术,后台数据库为MySQL。
软件系统的实现使用了SSH框架来实现,使用该框架有很多的优点,SSH是典型的J2EE三层架构体现MVC思想,即将一个应用分成三个基本部分:M(模型)、V(视图)和C(控制器)。那边与迅捷的开发出新的需求,降低开发成本。它还具有良好的可扩展性,而且SSH还具有良好的可维护性,使用该框架实现了视图、控制器与模型的彻底分离,并且可以使业务逻辑层与持久层的分离。
可以极大的提高可复用性,这样的话,不管前端怎样的变化,模型层只需要小小的变化即可。而且前端也不会随着数据库变化。还因为不同的层之间耦合度小,可以方便工作,大大提高了效率。控制层依赖于业务逻辑层,只与接口耦合,但绝不与任何具体的业务逻辑组件耦合;同样,业务逻辑层依赖于DAO层,也不会与任何 具体的DAO组件耦合,而是面向接口编程。采用这种方式的软件实现,即使软件的部分发生改变,其他部分也不会改变。
通过使用SSH框架,配合数据库的连接,使此系统里的每个模块都能很好的实现。因此在技术上是可行的。
从经济可行性的角度出发,软件系统在开发过程中主要应该考虑的是怎样最大限度的节约成本,缩短软件的开发周期,用最小的投入取得最大的回报。该软件的实现是基于B/S架构的,B/S 架构即浏览器和服务器结构,在此结构下,用户的工作界面是通过浏览器实现此管理软件的一切操作基于WEB浏览器,很少的事务逻辑在前端实现,基本上主要的事物都是在服务器端实现,这样就大大简化了客户端电脑载荷,降低了用户的总体成本,减轻了系统维护与升级的成本和工作量,并且开发使用的软件直接安装在本机上,所以成本低廉且效率高,没有太多的经济负担。因此在经济上也是可行的。
本系统有管理员、客户两种角色。客户可以进行登陆用户账号,来进行下订单,申请赔付或者修改自己的信息。然而管理员可以通过登录管理员用户然后进行直接管理客户信息,并可以查看所有订单信息和赔偿信息,发挥了监督审查的作用,起到了监督管理的左右。因此在管理上是可行的。管理可行性是非常有用的,拥有一个好的管理可行性,系统的运行时是非常好的,十分有助于系统的完成。
- 社会可行性
当前的中国保险市场,是一个急速发展与变革的市场。保险行业 IT服务必须满足这种现状的要求。因此,他们对于IT服务的响应速度和服务质量有了更高的要求。
现阶段,我国经济环境诸多因素给保险业提出了新的要求。一方面,加入WTO后,外资保险公司的加盟对于我国保险业产生重大的影响 ,中国保险市场将呈现出国际化特征,有利于业务拓展;但是另一方面,新的市场发展形势 使得国内保险公司面临严峻考验,对于公司的经营运作能力提出了更高的要求。
现在,保险行业的特征决定了企业管理信息对保险公司尤为重要,公司的经营策略、业务运作、财务管理、分析决策无一不 建立在高质量信息管理的基础上。各家保险公司对于新险种开发、业务管理、自身风险管控以及服务水准提升等方面的要求 越来越强烈,这就要求其核心业务系统不能仅是对业务的简单支持,更重要的是到达支持、分析、管理、决策的层面。换句话说,保险信息系统的好坏将从根本上影响到保险公司的核心竞争力。
- 操作可行性
伴随着社会的不断发展,计算机的不断普及,越来越多的人已经可以熟练地掌握计算机的基本操作,本系统采用基于Windows的图形用户界面,通过web浏览器即可进行操作,而该系统是大家熟悉的操作系统,对于那些有一般的计算机知识的人员就可以轻松上手。整个保单管理系统采用友好的交互界面,简洁明了,不需要对数据库进行深入的了解便能轻松使用,无需对使用系统的人员进行培训。这样既减少投入成本又简化了操作环节。
软件需求分析是软件项目设计中非常重要的一部分。在软件工程的历史长河中,人们在很长一段时间里把需求分析当做是整个软件工程中的一个非常简单的步骤,但在过去十多年中越来越多的人逐渐认识到它是整个过程中最关键的一个过程。只有通过软件需求分析,才能把软件功能和性能的总体概念描述为具体的软件需求规格说明,从而奠定软件开发的基础。许多大型应用系统的失败,最后均归结到需求分析的失败:要么获取需求的方法不当,使得需求分析不到位或不彻底,导致开发者反复多次地进行需求分析,致使设计、编码、测试无法顺利进行;要么客户配合不好,导致客户对需求不确认,或客户需求不断变化,同样致使设计、编码、测试无法顺利进行。
需求分析之所以重要,就因为他具有决策性,方向性,策略性的作用,他在软件开发的过程中具有举足轻重的地位.大家一定要对需求分析具有足够的重视.在一个大型软件系统的开发中,他的作用要远远大于程序设计。需求分析在一个项目中是非常重要的,一个好的项目是离不开需求分析的,需求分析的好坏是一个项目成功须否的重要保证。所以一个项目的完成务必要做好需求分析环节,只有了解了需求之后,才能更好的进行业务逻辑的设定。这是一个项目完成的重中之重。我们要好好地完成需求分析。需求的好坏是一个设计完成的重要保障。需求分析做不好,后续工作就会出现很多的问题,就需要返工,导致效率的下降,所以我们有必要完善需求。
保险业务信息管理系统主要就是完成保险的下单,交费,申请赔偿,和对个人信息的管理等流程。其中可以分为客户部分和管理员部分。
客户主要就是进行注册自己的用户之后,通过自己的用户账号的登录系统,然后进行查看各种保险信息,选择自己所要购买的保险类别,进行下订单操作,在发生了意外之后可以进行申请赔偿的操作,还可以进入自己的个人用户界面进行个人信息的修改。
其中客户部分的需求总共可以分为以下四部分:
查看/购买保险产品信息、查看/确认订单信息、查看/申请赔偿信息、管理个人信息。
(1)查看/购买保险产品信息
客户在可以看到当前出售的保险信息:保险的名称、保险费用、发布时间、保险内容,选择合适的保险后,可以添加到订单中。
(2)查看/确认订单信息
客户选择需要购买的保险后可以在订单列表中查看订单名称、订单金额订单时间、订单人、订单状态,决定后确认订单。
(3)查看/申请赔偿信息
客户可以在个人赔偿信息管理界面管理个人申请赔偿列表。客户可以在购买保险后,在保险内容生效时申请赔偿。
(4)管理个人信息
通过个人信息管理面板客户管理个人注册信息:账号名、密码、姓名、年龄、电话、联系地址,客户可以在个人信息中修改自己的信息。
管理员在通过管理员用户登录之后,可以自己管理公司的保险列表下面的各类保险信息,其中包括增加和删除操作,还可以查看用户的订单选购情况,是否完成付款,另外还能够进行赔偿信息的管理,可以对用户申请的赔付选择同意或者不同意,最后还可以进行用户的管理操作,增加或者删除用户。管理员用户能够随意的管理用户,对用户的管理有着很大的帮助。
管理员的需求主要可以分为以下四个部分:保险信息管理、订单信息管理、赔偿信息管理、用户信息管理。
(1)保险信息管理
管理员在登录自己的管理员用户后,通过后台对保险信息管理进行新增或删除,从而完成自己对保险信息的管理。
(2)订单信息管理
管理员登录之后,进入订单管理界面之后,可以查看当前用户提交的所有的订单信息。
(3)赔偿信息管理
管理员可以查看用户提交的赔偿申请,根据实际的情况同意或者不同意用户的赔偿申请。
(4)用户信息管理
管理员可以在用户信息管理中维护所有客户的信息。包括增加删除用户,进行用户信息的管理。
SSH是 struts+spring+hibernate的一个集成框架,是目前比较流行的一种Web应用程序开源框架。Ssh架构图,如图4-2所示
4-1 ssh架构图
系统总共分为三层:表现层,业务层,持久层。
在表示层中,首先通过JSP页面实现交互界面,负责接收请求(Request)和传送响应(Response),然后Struts根据配置文件(struts-config.xml)将ActionServlet接收到的Request委派给相应的Action处理。
在业务层中,管理服务组件的Spring IoC容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。
在持久层中,则依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果。
Struts负责Web层:
ActionFormBean接收网页中表单提交的数据,然后通过Action进行处理,再Forward到对应的网页,在Struts-config.xml中定义了<action-mapping>,ActionServlet会加载进来。
Spring负责业务层管理,即Service:
Service为Action提供统一的调用接口,封装持久层的DAO,并集成Hibernate,Spring可对JavaBean和事物进行统一管理。
Hibernate负责持久层,完成数据库的CRUD操作:
Hibernate有一组hbm.xml文件和PO,是与数据库中的表相对应的,然后定义DAO,这些是与数据库打交道的类。
在Struts+Spring+Hibernate系统中,对象之间的调用流程如图4-2所示:
4-2 流程图
Struts——>Spring——>Hibernate
JSP——>Action——>Service——>DAO——>Hibernate
关于对保险业务信息管理的调研,选择了利用SSH框架编写,mysql作为数据库来进行保险业务管理系统的设计本系统主要分为保险业务管理和后台管理两部分,其中保险业务管理可以进行查看/购买保险产品信息、查看/确认订单信息、查看/申请赔偿信息、管理个人信息。后台管理部分主要是管理员进行登录管理员用户,从而进行管理,而管理员的权限可分为保险信息管理、订单信息管理、赔偿信息管理、用户信息管理。具体的功能结构图如图4-3所示。
4-3 功能结构图
E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。对于任何数据库,都可以创建任意多个数据库关系图;每个数据库表都可以出现在任意数量的关系图中。这样,便可以创建不同的关系图使数据库的不同部分可视化,或强调设计的不同方面。例如,可以创建一个大型关系图来显示所有表和列,并且可以创建一个较小的关系图来显示所有表但不显示列。系统ER图如图4—3所示。
4-3系统E-R图
通过数据库关系图我们可以看出表与表之间的联系,主要可以分为user_list,order_list和product_list,每个表所含项目如下图所示
用例图是用来表现设计出来的某某系统可以用来干什么的图,用路途主要关注的是系统的外在表现,人与人之间的交互,以及人与系统的交互,系统和其它系统的交互。
用例图里面有三个基本元素:用例、关系、角色
角色(Actor):是用来描述系统里面有那些角色,不同的角色占用的系统功能是不一样的,用例图里的一个个小人就是表示的角色。
用例:用例是对包括变量在内的一组动作序列的描述,系统执行这些动作,并产生传递特定参与者的价值的可观察结果。用例在用例图中用椭圆的圆圈来表示,在圆圈里用文字来描述该序列,一般用动词宾语来描述。
关系:就是用来用来描述角色与线条之间关系的,在用例图中用线条来表示。
线条是指角色与用例之间的线条,这些线条是用来联系角色(小人)和用例(圈圈)的,表示某某角色能“做”什么用例。
管理员用例图
管理员在整个管理系统中的权限主要包括保险信息管理,订单信息管理,赔偿信息管理,用户管理。其中保险信息管理主要包括查看新增保险信息和删除保险信息,订单信息管理包含查看订单信息,赔偿信息管理包含审批赔偿申请,用户管理主要包含查看新增用户和删除用户,管理员用例图如图4-4
4-4管理员用例图
客户是保险公司中最主要的资源。客户在登录自己的主业之后可以进行自己相关的权限操作,权限主要分为保险信息,订单信息,赔偿信息和个人信息管理四大模块,其中保险信息包括购买保险产品,订单信息包括确认取消订单信息,赔偿信息模块主要包括赔偿申请,个人信息管理模块用户可以修改和保存自己的个人信息。客户参与整个系统的用例图如图所示:
4-5客户用例图
保险业务管理系统设计共有3个数据字典,分别为:用户信息表(user_list),反馈评价信息表(product_list),软件信息表(order_list)。三个表底下分别有着不同的结构。
在普通用户的角度看起来,数据的逻辑关系模型就是一张简单的二维表,每一个表里面都保存着保险企业中涉及总体的业务的逻辑。该管理系统涉及到的主要实体及其属性如下:
用户信息表:user_list(主键、帐号、密码、姓名、性别、年龄、电话、地址、类型)
反馈评价信息表:product_list(主键、产品名称、产品内容、产品费用、发布时间)
软件信息表:order_list(主键、订单名称、订单金额、下单时间、下单人、下单人ID、订单状态、产品ID)
数据字典是对于数据模型中的数据对象或者项目的描述的集合,这样做有利于程序员和其他需要参考的人。分析一个用户交换的对象系统的第一步就是去辨别每一个对象,以及它与其他对象之间的关系。这个过程称为数据建模,结果产生一个对象关系图。当每个数据对象和项目都给出了一个描述性的名字之后,它的关系再进行描述(或者是成为潜在描述关系的结构中的一部分),然后再描述数据的类型(例如文本还是图像,或者是二进制数值),列出所有可能预先定义的数值,以及提供简单的文字性描述。
保险业务管理系统设计共有3个数据字典,分别为:
表 1 user_list表
属性名 | 存储代码 | 数据类型 | 长度 | 备注 |
主键 | user_id | int | 11 | 主键,唯一性 |
用户名 | username | varchar | 45 | |
密码 | password | varchar | 45 | |
姓名 | name | varchar | 45 | |
性别 | sex | varchar | 45 | |
年龄 | age | varchar | 45 | |
电话 | phone | varchar | 45 | |
地址 | address | varchar | 45 | |
类型 | type | varchar | 45 |
用户信息表主要包括用户的个人信息,其中包含用户名(username),密码(password),姓名(name),性别(sex),年龄(age),电话(phone),地址(address)和类型(type)几大部分。
表 2 product_list表
属性名 | 存储代码 | 数据类型 | 长度 | 备注 |
主键 | product_id | int | 11 | 主键,唯一性 |
产品名称 | product_name | varchar | 100 | |
产品内容 | product_desc | varchar | 2000 | |
产品费用 | product_cost | varchar | 45 | |
发布时间 | product_time | varchar | 45 |
反馈评价信息表包含了险种的详细描述信息,主要是保险单号。其中产品名称(product_name),产品内容(product_desc),产品费用(product_cost),发布时间(product_time)。主要是用来反馈产品的信息。这个表里包含的是所有的保险业务的信息,是用来保存保险产品的。里面所含的各项信息是保险产品的各个内容。
表 3 order_list表
属性名 | 存储代码 | 数据类型 | 长度 | 备注 |
主键 | order_id | int | 11 | 主键,唯一性 |
订单名称 | order_name | varchar | 100 | |
订单金额 | order_cost | varchar | 45 | |
下单时间 | order_time | varchar | 45 | |
下单人 | order_uname | varchar | 45 | |
下单人ID | order_uid | varchar | 45 | |
订单状态 | order_state | varchar | 45 | |
产品ID | product_id | varchar | 45 |
软件信息表主要是包括用户的订单信息,其中包含了订单名称(order_name),订单金额(order_cost),下单时间(order_time),下单人(order_uname),下单人ID(order_uid),订单状态(order_state),产品ID(product_id)。这些信息都是和用户有着紧要关系的。用户下了订单之后的状态都是显示在这个表里。这个表示整个系统的核心,所有的业务实现基本都在这个表里面,所以这个表很重要。
所有用户输入帐号、密码后,即可凭正确的信息登录系统。如图5-1所示
5-1 登陆界面
如通过管理员账号进入管理员界面,如图5-2所示
5-2 管理员界面
由用户账号登录进入用户界面,如图5-3所示
5-3用户界面
不同身份,功能的权限也不同。
登录所需代码:
public String login(){
UserList ul = userListService.login(userlist.getUsername(), userlist.getPassword(), "");
if (ul.getUser_id() != 0) {
session.put("login", ul);
return SUCCESS;
}else{
response.setContentType("text/html;charset=UTF-8");
response.setCharacterEncoding("UTF-8");//防止弹出的信息出现乱码
try {
PrintWriter out = response.getWriter();
out.print("<script>alert('用户名或密码错误!')</script>");
out.print("<script>window.location.href='http://localhost:8080/InsuranceBusiness/Login.jsp'</script>");
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
管理员登录进去所显示的界面,如图5-4所示
5-4管理员界面
管理员可以在保险信息管理中查询、新增或者删除保险产品信息。如图5-5所示
5-5 增加保险界面
客户可以在保险列表中查看所有保险产品。如图5-6所示
5-6 用户查看保险信息
客户选择需要购买的保险后,加入订单信息中,用户可以在订单中确认或取消订单。如图5-7所示
5-7 用户个人订单列表
public List<ProductList> selProductList() {
Session session = sessionFactory.openSession();
String sql="select * from product_list";
Transaction tran = session.beginTransaction();
SQLQuery sq = session.createSQLQuery(sql);
List<Object[]> list = sq.list();
List<ProductList> plist = new ArrayList<ProductList>();
for(Object[] obj : list){
ProductList pl = new ProductList();
pl.setProduct_id((Integer)obj[0]);
pl.setProduct_name((String)obj[1]);
pl.setProduct_desc((String)obj[2]);
pl.setProduct_cost((String)obj[3]);
pl.setProduct_time((String)obj[4]);
plist.add(pl);
}
tran.commit();
session.close();
return plist;
}
}
客户确认购买保险后,可以申请赔偿。如图5-8所示
5-8 个人用户赔偿列表
管理员可以根据实际情况同意或者否决用户的赔偿申请,如图5-9所示。
5-9管理员赔偿管理列表
public List<OrderList> selOrderList(String uid, String state) {
Session session = sessionFactory.openSession();
String sql="select * from order_list where order_uid = '"+uid+"' and order_state in ("+state+")";
Transaction tran = session.beginTransaction();
SQLQuery sq = session.createSQLQuery(sql);
List<Object[]> list = sq.list();
List<OrderList> olist = new ArrayList<OrderList>();
for(Object[] obj : list){
OrderList ol = new OrderList();
ol.setOrder_id((Integer)obj[0]);
ol.setOrder_name((String)obj[1]);
ol.setOrder_cost((String)obj[2]);
ol.setOrder_time((String)obj[3]);
ol.setOrder_uname((String)obj[4]);
ol.setOrder_uid((String)obj[5]);
ol.setOrder_state((String)obj[6]);
ol.setProduct_id((String)obj[7]);
olist.add(ol);
}
tran.commit();
session.close();
return olist;
}
public String selCompensateListByMe(){
UserList ul = (UserList)session.get("login");
List<OrderList> clist = orderListService.selOrderList(String.valueOf(ul.getUser_id()), "'1','2','n','9'");
session.put("clist", clist);
return SUCCESS;
}
- 用户信息模块
管理员登录管理员账号后,用户管理界面,如图5-10所示。
5-10管理员用户管理界面
管理员可以修改用户的个人信息,如图5-11所示
5-11管理员修改用户信息界面
客户可以在个人信息管理中修改自己的信息,如图5-12所示
5-12客户修改个人信息界面
增加更新用户
public UserList selUser(String uid) {
Session session = sessionFactory.openSession();
String sql="select * from user_list where user_id = '"+uid+"'";
Transaction tran = session.beginTransaction();
SQLQuery sq = session.createSQLQuery(sql);
List<Object[]> list = sq.list();
UserList ul = new UserList();
for(Object[] obj : list){
ul.setUser_id((Integer)obj[0]);
ul.setUsername((String)obj[1]);
ul.setPassword((String)obj[2]);
ul.setName((String)obj[3]);
ul.setSex((String)obj[4]);
ul.setAge((String)obj[5]);
ul.setPhone((String)obj[6]);
ul.setAddress((String)obj[7]);
ul.setType((String)obj[8]);
}
tran.commit();
session.close();
return ul;
}
public void updateUser(UserList ul) {
Session session = sessionFactory.openSession();
Transaction tran = session.beginTransaction();
String sql = "update user_list set password = '"+ul.getPassword()+"', name = '"+ul.getName()+"', sex = '"+ul.getSex()+"', age = '"+ul.getAge()+"', phone = '"+ul.getPhone()+"', address = '"+ul.getAddress()+"', type = '"+ul.getType()+"' where user_id = '"+ul.getUser_id()+"'";
session.createSQLQuery(sql).executeUpdate();
tran.commit();
session.close();
经过分析、设计和编码等阶段的开发后,得到了源程序,开始进入到软件测试阶段。然而,在测试之前的各阶段中都可能遗留下许多错误和缺陷,如果不及时找出并改正,这个软件产品就可能会导致巨大的损失。目前,程序的正确性证明尚未得到根本的解决,因此软件测试仍是发现软件中错误和缺陷的主要手段。
系统测试,就是将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试。系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案。系统测试发现问题之后要经过调试找出错误原因和位置,然后进行改正,是基于系统整体需求说明书的黑盒类测试,应复盖系统所有联合的部件。对象不仅仅包括需测试的软件,还要包含软件所依赖的硬件、外设甚至包括某些数据、某些支持软件及其接口等。比较常见的、典型的系统测试包括恢复测试、安全测试、压力测试。
软件测试方法从测试人员角度看,可分为人工测试和机器测试。人工测试又称为代码复审。主要有三种方法:个人复查、走查、会审。机器测试分为黑盒测试(又称功能测试)和白盒测试(又称结构测试)两种。
下面对本系统进行测试,以检查系统能否正确完成各种操作,是否能够实现预期具有的功能。
登录测试,如图6-1所示
6-1登录测试
管理员测试:
赔偿信息管理测试,如图6-2所示
6-2赔偿信息管理测试
赔付成功如图6-3所示
6-3赔付测试
用户管理测试:
测试要点:新增用户 。
测试路径:填写的用户信息是否完整。
测试结果:填写完整,系统增加新的用户信息;填写不完整,提示输入完整的用户信息。如图6-4所示
6-4增加用户测试
修改用户信息,如图6-5所示。
6-5修改用户信息测试
删除用户,如图6-6所示
6-6删除用户测试
保险信息管理测试,如图6-7所示
6-7管理员保险信息管理测试
新增保险,如图6-8所示。
6-8新增保险测试
删除保险产品如图6-9所示。
6-9删除保险测试
订单信息管理测试,如图6-10所示。
6-10订单信息管理测试
客户:
保险信息管理测试,如图6-11所示。
6-11用户保险管理测试
购买如图6-12测试
6-12保险购买测试
赔偿信息测试,如图6-13所示。
6-13赔偿信息测试
个人信息测试,如图6-14所示。
6-14个人信息测试