NGOSS是什么?
NGOSS是电信行业的所谓至高标准和方法论,关于背景网上可以查到,我不多说。
NGOSS的Business Contract来自OO领域的一个BPC设计思想,这个我已经在另外一个帖子说了,并阐述了它和Evans DDD这些真正设计方法思想的区别和联系。
http://www.jdon.com/jivejdon/thread/36303.html
其实如果掌握本站推荐的四色原型(有颜色的UML)和Evans DDD,对NGOSS理解会相当容易,可以说NGOSS就是这两个方法论的融合,当然又进行具化模板化,结合架构平台的一个中间东东。
这里,我们需要掌握逻辑哲学的一个基本原理,如果一个学问具化了,那么就在泛化上有缺陷,如果一个学问有模板了,就会在抽象灵活性上有所丧失,这个其实从OO基本概念的接口与继承区别看出来,也就是GoF设计模式中模板模式的局限,也就是Java中抽象类的局限,所以,我们都是尽量用接口替代抽象继承。
NGOSS试图在走模板 具化 继承这样的逻辑思路。虽然它宣称自己是框架的框架,元数据的元数据,实体的根实体,看到这些名词,你是否想到原来还有比如来佛更神通广大的佛啊?如果一个理论宣称到可能四海之内皆准的地步,你是否要有所怀疑了?它为何要如此强势?
其实,框架的框架就是人,实体的根,就是实体的设计者本身,我们人类的智慧,到现在,我们人类还没有设计出一个与我们自己智慧平齐的智慧理论体系来,所以,NGOSS有些忽悠大师之嫌哦。
首先我们用现有的人类智慧的思想方法来解剖NGOSS,这些就是OO理论典范:MF的分析模式 四色原型 和DDD以及DBC等等。
MF分析模式对Party组织人进行了特别建模分析,认为可以总结出一种抽象模型,所以,我们容易对NGOSS中的Party有一个认识。
Party在四色模型中可以演变为一个系统的参与角色Role,四色模型认为,任何一个软件系统都可以分解为四种颜色,这四种模型其实表达了业务交互的一种需求,也就是NGOSS中的BusinessInteraction,BusinessInteraction认为:服务、商品、规格Specification和角色发生业务互动,在四色图中,我们可以认为服务就是MI,而商品 规格可以认为是Thing或DES,四色图是告诉我们:什么人对什么事在什么地方做了什么行为,产生什么结果,BusinessInteraction就是明确地具化告诉你:什么人对什么商品在什么地方提供了什么服务。
至于NGOSS中根实体模型,我们就不必太在意,我前面说过,实体的根就是Evans DDD的实体模型,通过DDD建模方式,我们就可以把实体一个建立出来,就像Java中有一个抽象Object,每个对象都要继承实现,你觉得它有意义吗?用了它你就掌握OO分析设计了?
NGOSS中常提的Aggregate Business Entities (ABE),这个聚合和DDD的聚合是类似的,可以认为是通过DDD建模后的聚合实体,但是DDD在聚合基础上,指出聚合根和边界的重要性,这个对于NGOSS的ABE中那么多实体重要性界定也是有指导作用的。下图是ABE图:
NGOSS还展现了市场销售 商品服务具体子领域的建模,这些其实都是四色原型和DDD在具体应用领域的应用,可以看到四色原型原书中在ERP等领域具体应用,那么你做ERP设计开发的,这个书籍你就要看,同样,如果你做电信移动运营软件OSS/BSS等开发,那么NGOSS也需要看看,但是因为它具化到OSS/BSS这个与ERP同级的应用领域,必然有其因为具化带来的缺乏灵活性。就不能妄自再称为框架的框架。一个不灵活的框架的框架真的会成为框死你的架子。最后一张图是我结合四色模型和DDD画出的货运系统的简单领域图,如果再复杂起来,就成为一个物流行业的标杆图了。
无论如何,我们一定要坚持每个具体业务不能被任何所谓伟大的思想方法限制,这些思想方法框架都是我们用来分析设计自己业务的工具,而不能凌驾于我们的独特的业务之上。
[该贴被banq于2009-05-23 10:27修改过]