Bootstrap

论信息系统开发方法及应用

摘要
2022年5月,我所在的公司中标某集团全国保险一体化研发项目,该项目旨在将全国保险业务对接到各个战略合作伙伴,包括银行、支付宝、微信、抖音等,主要目标是想通过对接各个合作伙伴实现保险业务的快速增长,通过对接第三方快递公司,将成功签单的保单数据下发给第三方快递公司,实现保单的快速流转。在该项目中,我主要担任系统分析师。本文以该系统为例,主要论述了信息系统开发方法在该系统中的具体应用。在需求阶段,通过用户访谈、问卷调查等方式获取用户需求,以完成系统的规划与分析;在构建阶段,通过分析该系统包含的对象、对象的属性及对象的关联来产生初始对象模型,以构造初始原型;在迭代阶段,通过和保险专家组交流,在完善需求的基础上完善对象模型,以建造出最终系统。通过以上技术使得项目顺利上线,获得用户一致好评。

正文
2022年5月,我所在的公司中标了某集团全国保险一体化研发项目,在该项目中,我主要担任了系统分析师,负责该系统的设计与开发。该系统主要实现的是全国保险业务的处理、汇总、统计、扣款、发送邮件通知、对接第三方快递公司等,其中,还包括对接某些国有银行、中小银行、支付宝、微信等等。原有系统是一套比较老的系统,使用的是ssh框架实现的,且不支持24小时在线,系统在高并发场景下总是容易宕机,为了实现业务的快速增长以及考虑后续系统的可扩展性,该集团领导决定重新开发一套保险系统并跟一些合作伙伴达成战略意识,以期能更快占领保险市场。因此,要高质量的完成该系统,选择一种合适的方法至关重要。
目前常用的开发方法主要有三种,包括结构化方法、原型法、面向对象法。结构化方法假定待开发的系统是一个结构化的系统,其基本思想是将系统的生命周期划分为系统规划、系统分析、系统设计、系统实施、系统维护等阶段,这种方法遵循系统工程原理,按照事先设定好的程序和步骤,使用一定的开发工具,完成规定的文档,在结构化和模块化的基础上进行信息系统的开发工作。该方法比较注重开发过程的整体性和全局性,理论基础严密,但开发周期长,文档、设计说明繁琐,工作效率低,且不能很好地应对变化。原型法与结构化方法不同,原型法的核心在于先快速开发一个原型系统,然后通过反复修改来实现用户的最终系统需求。该方法适用于用户需求开始时定义不清、管理决策方法结构化程度不高的系统开发,更宜被用户接受。面向对象方法强调从现实世界中客观存在的事物(对象)出发来认识问题,使系统开发者大大减少了对问题域的理解难度,从而使系统能更准确地反映问题域;改善了人员之间的交流和协作,对软件复用提供了强有力的支持。
结合上述分析,我们最终决定采用快速原型法与面向对象法组合应用的开发方案。该方案把软件生命周期分为4个阶段:需求阶段、构建阶段、迭代阶段和验收阶段;本文着重从前3个阶段来展开论述。
1、需求阶段
需求阶段的目标是完成系统的规划与分析。由于该系统涉及部门众多,用户需求很难一次性收集完整,加之保险业务种类繁多,一些业务人员对新的保险系统的功能不是很明确。我采用用户访谈、问卷调查等方式取得了用户的基本需求,在此基础上利用UML工具 Powerdesigner设计出系统基本用例图,明确系统大概范围,勾勒出大致系统边界。系统整体架构我们决定采用三层C/S、B/S混合方式,因为系统存在“内外有别“的制约,采用单一的架构不能满足系统需求,“内外有别”是指系统与外单位(如银行)数据库不能相互访问,需要通过应用服务器(本系统又称为前置机)来完成保单提交人的基本信息向银行传递与接收银行返回的保单扣款信息,提高系统安全性和性能;在集团内部,登录保单系统可以实现对保单的统计以及保单扣款等各种行为的监督以及跟踪,保证每一个保单都能顺利闭环。
2、构建阶段
构建阶段的目标是构造初始原型。在基本调查的基础上,尽量完整的分析现该系统包含的对象、对象的属性及对象的关联,产生一个初始对象模型,再由对象产生系统数据结构的初始框架,对对象活动、驱动这些活动的事件以及对象在这些事件驱动下的前后状态变化进行分析,进而产生系统的用户界面,得到系统的一个最初始的原型,这个原型只是—个系统框架,很多操作只是空动作,目的是向用户说明系统的功能和操作方法,以后随着开发进程以及需求眀确再逐步求精。如与银行通讯服务功能只有收发数据包等基本功能,安全性及性能暂时不考虑。整个构建过程,让用户也参与到我的设计中来,集团保险部门专门成立了一个业务专家小组,里面有业务处室领导、信息技术人员以及来自一线的保单管理人员与操作人员。他们为我构建这个模型提供了工作流程方面、业务领域方面不可或缺的经验,也为以后模型通过评审提供了有力支持。
3、迭代阶段
迭代阶段的目标是通过反复循环最终建造出系统。在每一次迭代过程中,通过和保单专家组交流,在完善需求的基础上,完善对象模型。同时,在完善需求交互的基础上进一步明确用户界面间关系,通过交互完成功能模型,并验证它的正确性。每一次迭代开发都是一个小项目,对要求的用例进行分析、设计、编码、测试和集成。完成一次迭代后向用户演示,并完成系统测试表明所要求的用例可以移到下一次迭代中去开发。每一次迭代过程都利用面向对象的技术来实现,而且都必须是增量式的:增加功能,修改缺陷,这一阶段中,面向对象技术的易维护和扩充、便于复用的优点得到充分体现。在迭代过程中,保单专家组向我们提出一个需求“在较短时间内完成保单人信息提交,不能让保单人等待时间过长,录入的信息保证完整以及必要”,但无法明确"较短时间”是多少合适。为完成这一需求,通过现场观摩、问卷调查的方式,明确了这个时间应该在2分钟内,并反复修改原型,完成了这一迭代需求。
通过快速原型法与面向对象方法的成功运用,使系统在较短时间内交付使用。迭代过程中保单专家组积极参与,间接减少了系统测试与上线培训时间。经过6个月的设计开发,最终项目于2023年1月顺利上线,交付给用户一个高质量、高可靠性、高易用性的系统,用户也给予我们较髙的评价。但开发过程中也不是一帆风顺、尽善尽美。原型开发我们团队使用了RAD开发工具,有些开发人员为了节约时间,同时也要有较好的用户体验,使用了一些未经验证的第三方免费控件,这些控件在开发时没有问题,也确实起到了美化界面的作用,但在测试时发现部分控件有漏洞,我们不得不在迭代过程中更换控件,导致工期有轻度延迟。在这方面,我们制定了团队内部开发规范,指定相关开发人员只能使用公司内部控件,从而有效避免这个问题。

;