http://tech.ccidnet.com/pub/disp/Article?columnID=292&articleID=36324&pageNO=1
本文包括了一些模式,这些模式在产品服务器建模保险产品非常有用。这些模式是:产品树和对象事件赔偿。建模产品有很广泛的方式,对象事件赔偿仅仅只是其中一种。
示例
你决心顺着保险价值链去建立一个产品服务器,在设计之前,你需要知道如何建模保险产品。
问题
什么是好的保险产品展示呢?
动机
除了驱动保险应用的常规因素,下列因素也需要考虑:
涉及用户同灵活性和通用性的对比:你需要采用用户能够理解的模型,而工程上使用的是非常难以理解的抽象数据模型。
重用和灵活性:好的方法能够在程序模块级别上实现重用。理想的方式是在产品开发过程中形成模块库,这些库可以直接重用或者经过组合以形成新的产品,就像制造工业一样。
方案
把你的保险产品建模成一颗树,就像平时组装自行车一样。
结构
树的节点是产品或者产品组件;
每个节点用属性描述;
加入保险费计算功能作为导出规则,模拟编译器解析树的语义功能,或者写你自己的规则系统(参看Ralph Johnson的关于UDP的论文)。
结果
产品灵活性:一旦你明确了保险产品的构成元素块,设计和建模新的产品将变得容易和直接得多。
用户包含:开发产品服务器的实际工作显示了,具备一些额外知识的领域专家就能够建模产品树。
重用:一旦你定义了产品构成块,你就能在无论是新的还是现有产品中重用。
实现
严格实现这个设计还需要作出一些额外的设计考虑。产品树建模并不意味你能最好地组织这些产品树,也不意味你有最好的产品模型设计。请参看对象事件赔偿获取一些技巧。
通常你会用组件和Type Object模型将保险政策建模为产品实例。组合这些模型和导出参数就可以得出完整的框架,这个框架在Ralph Johnson和Jeff Oakes正在进行的工作中有描述。
有两个非常基本的替代方式用于设计产品树的运行时系统
1.第一种方式假设产品编辑者工作在同一个数据库上,并且在生产性系统中当作活动实现来建模。这将引发Ralph Johnson和Jeff Oakes所描述的活动对象模型。
2.第二种方式假设开发空间和产品空间严格分离,这就是产品服务器方式。
变种
经常构建模块,那么就会有确定的属性用来共享。考虑下面两个产品元素:养老金组件和风险人寿保险,你会发现两者之间投保人都是相关对象的属性。在一个产品集合中要结合这两者就需要确定两个投保人的属性。这就产生了DAG表示(直接非循环图表)而不是树型表示。
相关模式
模式是根据保险价值链实现系统的关键。前面已经讨论过用来实现这种系统规划的模式。
已知应用
这种方法在保险业中非常常见。比如CAF的VP/MS产品定义系统。EA Generali开发的两个系统,如正在进行的财产保险系统KPS/S和快要完成的人寿保险系统Phoenix也都包含产品服务器的思想。其它保险公司也正在或者已经采用了这种方式。
模仿制造业部件分散制造的原理来建造保险系统的思想已经由Paul Schonsleben和Ruth Leuzinger在一定层面讨论过了。
Ralph Johnson和Jeff Oakes讨论了如何用面向对象方式实现同样的系统。
示例
你已经决定把你的保险产品建模成一个产品树,于是你开始工作了,你的同伴与你合作。当你把由不同人建立的两个系统结合到一起,你发现单单产品树范例就不允许你随意重组从前的构造块。
问题
使用树状结构来建模保险产品,有什么好的方法呢?什么是建模保险产品好的抽象呢?
动机
质量和可理解性:多种编程语言的存在,仅仅一种方法实现保险产品树会带来模型结构不良,不易理解,从而导致维护困难。相似的情况在许多领域也存在,都有一个相当高层的抽象的建模范例,比如对象建模,实体关系建模等等:你需要一些规则或者领域分析模式用以缩小解决方案的范围,另外还需要一些规范用以减轻建模难度。
重用
也要求建模规范。你的保险产品组件建模得越规范,以后在其它产品中重用就越容易。
方案
使用对象事件补偿模式建模保险产品。每个保险产品确保一个或者多个保险对象。如果那个对象相关的特定事件发生了,客户有权申请一定的补偿。
结构
你的产品树应该是如下模样:
每个对象具有递归性:一个对象可能包含其它对象,一个产品可能包含其它产品,等等。但是这个树型结构的基础是十分稳定的。
结果
生产力和重用:如果每个开发者都坚持相同或者相似的建模模式,那么大家对产品结构可以取得共同的理解,这样将可以获得更高的生产力和更好的可重用性。
相关模式
对象事件补偿模式只描述了高层产品结构,这里需要更细化的模式用作诸如属性的定义,语义规则,如何查表等等。要挖掘这些模式,你需要参考一些由不同人或者不同公司建立的产品模型。由于产品模型是竞争的机密信息,我们需要较长的时间才能等到它公开。
这个主题上没有书籍也没有文章予以介绍,但是像CAF这样的产品提供商提供培训和相关课程资料。
『引自 UMLCHINA』
(责任编辑 Sunny)