现在的位置: 首页 > 综合 > 正文

保险政策参数介绍

2012年12月02日 ⁄ 综合 ⁄ 共 4675字 ⁄ 字号 评论关闭
http://tech.ccidnet.com/pub/article/c291_a36325_p1.html
保险政策参数介绍 (1)
作者:Wolfgang Keller 著,liwenhua 译 发文时间:2003.01.10 15:47:42
本文主要来介绍如何实现保险政策参数,并详细分析了险销售系统和表格系统的模式。

模式1:实例化政策参数

别名

镜像部件列表

示例

很高兴你刚完成了你的产品编辑器。你用了组合模式来实现它,并在界面上使用了分层的列表框。你已经在叶结点键入产品数据,对象事件补偿也加入了一些。

问题

如何表示保险产品政策参数

动机

一般动机:最大的动机是驱动保险应用设计的动机。关键是灵活性。如果你不能在后勤系统处理新产品,最好的产品服务器也是无用。因此,处理政策参数的系统应该像产品定义工具一样灵活。

方案

创建产品政策参数实例,并用Type Object模式来完成,那么政策参数就能够反映树型产品定义。

结构

图1 作为产品实例的政策参数

一些产品实例被当作原型保存在政策参数工厂中。用真实的数据实例化这些原型就形成了政策参数。

结果

· 灵活性:如同最具反射能力的系统一样,你将获得一个非常灵活柔性的系统,这个系统能够使你同产品定义保持同步。

· 可移植性:你必须提前考虑到系统的可移植性。假如你用这个模型在一台主机上实现了活动对象模型,如果系统不具有好的移植性的话,你可能需要花相当多时间在销售员的膝上电脑实现同样的系统。

· 性能:如果你不经常注意性能的话,就如同多数发射系统一样性能可能变得很差。如果你有一个6层深度的产品树,并用一个本地数据库存储,要想正常工作,你需要提取比如说100条数据库记录才能做到。要避免这种情况,你需要建立一个具更智能的数据库映射。

变种

实际上,你可以找到两种主要的模式变种。

单一数据库系统:这种情况下,产品数据定义系统和政策参数组件在单一的一个数据库实现。你可以使用产品编辑器在政策参数工厂中创建新的产品原型。这种情况下,政策参数工厂也是产品定义系统的数据池。

这种方式的不足:

过分紧密地耦合了产品开发和实际产品的生产。优点是,一旦你定义了产品,这个产品就马上可以在产品系统中使用(对于测试和发布来说,这实际是它的缺点)。

多数情况下,没有办法在一个销售员的膝上电脑上使用单一产品定义数据源。

如果天真地坚持这种商务对象,你会陷入巨大的性能麻烦。

去耦方法:中央政策参数管理系统和保险销售系统共用一个产品服务器:使用产品服务器,把政策参数工厂(参看图2)作为产品运行时系统的客户端,并且把产品定义对话框从图2移去。

这种方法的缺点:实现起来更复杂,不直观,并且有些冗余。

优点:产品定义系统与政策参数系统分离,有更多调整性能的余地。你可以建立其它客户端,例如保险销售系统。

图2 单一数据库产品定义和政策参数管理系统

相关模式

这种模式是组合和Type Object模式在特定环境中的递归使用。另一种叫法是活动对象模型,它是发射模式的变种。

你在产品定义系统中为产品树组件指定类型是第一次使用Type Object。第二次使用是将一个复杂的树型实例(产品树实例)当作保险政策参数原型(参看图1)。

使用复合类型建造产品树和政策参数树。一个具体的政策参数树是一种产品树。

已知应用

Generali Munich的PVS就是在一个主机上使用单一数据库。UDP系统虽然没有明确说使用了哪种变种,但是看起来更像使用单一数据库。在Generali 的Phoenix项目也使用了单一数据库的变种。

我们还没有看到去耦的实现,不过很可能我们后面的某个项目中就会实现它。

进一步阅读

关于在建造产品树方面的面向对象设计考虑的具体讨论,可以参考Ralph Johnson和Jeff Oakes的文章,他们给出了这个主题深层次的模式。本文就如何用解释器计算导出属性给出一个深层的讨论。

分布式保险系统

在一个典型的保险系统中,在某一假设下,你或许会发现有些子系统并非必要。这个假设就是,假想我们拥有一台虚拟超级计算机,它没有网络带宽的限值,它能够使保险组织中的每个人无延迟地访问而且无需任何费用。不幸的是,这样的系统不存在。现在,我们将搜寻能够处理分布式应用,比如保险销售系统和表格系统的模式。

模式2:保险销售系统

示例

你有一个灵活的后勤办公系统,你想要一个膝上前端办公系统使得你的销售代表能够帮助你更好地销售通过产品服务器定义的产品。

问题

如何在销售代表的膝上电脑上构造销售系统的结构?

动机

除了上述一般动机,你还要注意下面一些特殊动机:

系统发布:理想的保险系统应该具有一个分布式虚拟框架,这个框架提供给销售员一个图形用户界面,销售员只要轻轻按动手指就可以获取公司必要的信息。这个系统不能太贵,因为在内存存取,文件和数据库I/O,网络I/O上我们有不同的性能。毕竟没有免费的无限带宽。

低投资对比个人市场表现:今天你也许能够以较低的价格买到销售标准金融产品的系统。但是这并非你所要。你需要的是个人市场的表现而不是标准产品,你需要的是更快得到它们。

上面提到的一般动机详细讨论了这一点。

灵活性:缩短产品创新周期需要一个非常灵活性的系统。

重用和单一源:为了保证费用限值,避免多源带来的冗余问题,你需要一个单一的代码库,并在前端办公系统和后勤办公系统做到最大程度的重用。

创新方面:说“我也能够”,你无法吸引你的客户。你需要一个地方来在你的应用中插入革新的部件。

1 2 下一页>>

保险政策参数介绍 (2)
作者:Wolfgang Keller 著,liwenhua 译 发文时间:2003.01.10 15:47:42
方案

首先,把所有需要销售的产品和提供服务的东西都放在销售员的膝上电脑上。准备得越多越好。然后把这些功能分散到任何公司通用的外壳,一个合作伙伴子系统,一个销售记录,一个联系子系统,以及把投保转换为政策参数的核心销售部件。喜欢的话可以增加一个多媒体销售部件。把系统脱机连接到中央处理系统单元以便处理投保和交换客户数据。

结构

图3 一个保险销售系统应用的结构

系统中各个组件具有如下责任:

通用Shell(外壳)提供基于PC的面向对象方案,如MVC框架、保持框架所需要的所有基础部件。还提供你数据复制,通用应用驱动。通用应用驱动让你方便地插入新的应用。

合作伙伴子系统:允许销售代表收集关于你的客户,客户的金融状况,客户的兴趣爱好信息。所有的措施是使销售平滑,能够从目前群体中有选择地行动。一个合作伙伴子系统一般比后勤办公系统为销售员提供多得多的功能。

· 销售记录:允许你跟踪你的伙伴从你这里或者其它公司那里已经购买的产品。个性化程度取决于你想提供的分歧分析组件的质量。

· 联系子系统:这个组件用来跟踪你的约会,计划定制等等。

· 销售:提供对话框使得你能够依据一定格式同你的客户一起计算保险单。这些对话框是面向产品的,典型的是使用产品服务器。

· 分歧分析:一个典型的个性化部件。它能够收集客户的信息,并且把客户已有的产品同总需求作一个比较,最好列出客户可能从你这里购买的产品。

· 革新部件:任何能够帮助你销售产品部件的,比如多媒体产品信息,都将使你的分析受益。

示例

已经知道了使用外壳的实现方法,现在你正联系一个卖主,启动一个项目,那么你可以把你产品和创新的想法放入外壳。

结论

跨越网络的性能:离线系统优点是在性能上,缺点是无法存取企业所有的数据。你需要销售你的产品而非想像在POS上的最大功能。

· 功能:模式描述了你今天在POS看到的系统,而没有描述你将来会看到的系统——我们将看到更多的功能移到POS。这是一个实在的模式而不只是对未来的展望。

低投资对比个人市场表现:这种模式考虑到在相对低的投资下争取好的个人市场表现(产品和革新部件)。这个模式也为作为插件的革新预留了空间。

· 灵活性:在销售每个产品部件中,产品服务器提供了简短的产品革新周期。

· 重用和单一源:可以通过一系列方法达到重用:首先当你不打算重写一个单独的伙伴或者联系应用系统时,可以使用这种模式。其次,可以使用产品服务器。另外一个提高重用的好主意是在部件层次和商务对象层次使用组件的概念。

相关模式

一个销售系统经常使用产品服务器运行时组件,以及表系统和规则系统。

已知应用

有好几个定制产品的示例支持这种模式。例如NSE开发的FINAS系统(www.nse.de),CAF开发的SILVA系统(www.caf.de)。一些个性化产品如EA-Generali的KUBIS或者Interunfall的AdiPlus,都是相似的。

模式3:表系统

示例

保险系统,尤其是那些处理产品的保险系统,需要许多表格。这些表格用来提供关键字的合法集合,提供诸如从区域到相关利率映射实现自动保险策略。

问题

你如何提供灵活而且满足需要性能的系统,使得能够顺利存取那些大多数是只读的数据,能够把数据组织在表格中,提供给领域专家随时更新。

动机

性能对比冗余的功能:假如你要实现另一个比关系数据库性能更好,只是功能少一些的数据库系统,你就在制造系统的冗余。相反,提供一个本地只读数据库,它有非常好的存取速度,考虑到后期维护代价,这样的组件重复是完全值得的。

数据分发的投资和代价:在一个中央数据库中,你完全没有数据重复问题。而如果你有另外一个使用文件的数据库,系统在线时使用主存,离线时使用本地存储,这样就存在数据重复的问题。因此你需要在数据分发方便性和数据存取效率上权衡。

测试和新产品的分发:定义产品就象编写代码一样。在一个保险应用中,表中数据是定义的数据,因此必须像对待代码一样对待它:它们需要版本化,需要测试和发布过程代码。如果你想在一个中央数据库系统提供这种功能,无论如何你都得创造些额外的过程。

历史数据需要:保险系统非常依赖于历史数据。由于存在内部审核过程,你需要能够再现任何历史状态。更糟的是一旦政策参数发生变化,你必须能够在任何时间再现任何与保险合同相关的现在的和历史的数据。这就是所谓的二维历史。实际上没有哪个数据库能够天生就支持这种功能。

方案

使用一个表格系统,表格是这个系统的唯一数据提取层。这些表格驻留在运行时的主存中。

结构

对于客户,一个表格系统提供了一系列表格来存储中间抽取数据。

图4 保险应用中的包含了头衔合法集的表

对于一个表格系统,你需要一些基本部件。

· 一个表格编辑器,用于管理员输入合法数据。

· 需要分发到所有客户的表格。它们通常保存在文本文件或者其它文件系统格式中。

· 当客户系统启动时,需要把所有的表格装载到内存。如果客户系统没有足够的内存转载所有的表格,它可以使用缓存机制和交换机制只读取所需的表格。

结论

性能:表格系统的访问速度远远优于数据库系统(前者是纳秒级,后者是微妙级)

冗余和代价:在你的主存安装一个经过修正的数据库,不得不开发为数据分发,测试,编辑开发程序。一个表格系统不便宜。

变种

市场上可以找到表格系统,这种表格系统要么能够处理历史数据要么不能处理。

相关模式

有关历史数据的模式参看Fowler的分析模式集合:历史映射模式和二维历史模式。要想真正实现一个系统,目前给出的细节还不够。我们自己的Phoenix框架包含了一个实现,但是一个设计并非一个模式,而且我们的确知道仅有的另一个实现,但非常困难。

已知应用

Table/23是欧洲保险市场主机和客户系统使用广泛的产品。VP/MS包含了一个表格系统,这个系统作为产品服务器的一个组件(但是没有包含历史数据)。两个产品都使用在多个保险系统中。VAA包含了一个自己的表格系统规范,该规范使用在保险商务中。

『引自 UMLCHINA

(责任编辑 Sunny

<<上一页 1 2

抱歉!评论已关闭.