2007-5-25 12:09:24

[讨论]ARIS和UML的关系

我很奇怪,这里的人好象很关注ARIS,但对UML似乎不怎么关注,不知道是什么原因.发起这个讨论,看是否对唤起大家对UML的重视有没有用.

ARIS和UML是什么关系呢?

在ARIS的中文培训教程中,我看到了关于ARIS和UML的介绍.似乎谈到如下含义:

1.ARIS中可以集成UML的表示方法;

2.ARIS的各种视图可以和UML的某些视图产生对应关系.

不知道我的上述理解是否正确,请这里的ARIS专家指正.

如果上面的理解没有大的偏差,我的疑问就来了:

如果UML只是一种表达工具,ARIS是一个体系结构,那么,ARIS这个体系结构当然可以用UML来部分或全部表达.

从ARIS自身的论述来看,认为,UML只能部分表达ARIS的视图.

从UML作为一种通用的表达工具来说,它是一个足够小的相对完整的语义集,应该可以用来表达大部分的体系结构?

这样就出来疑问1:

1.UML是否可以用来完整地表达ARIS的内容,而不需要使用ARIS的那些看似众多、凌乱、且无法封闭的语义符号?

在ARIS的中文培训教程中,我没有看到关于ARIS的思维范式的讨论。

在我看来,ARIS还是结构化的思维范式,也就是对同类结构要素进行分解/聚合,对于异类结构要素建立关联关系的基本范式。这是一种线性组合的平面思维范式。

而UML背后的思维范式是对传统结构化思维范式的继承和发展,对象的概念封装了异类结构要素及其关联集合,从而提供了一个在接近自然的更高层的表达单元.

于是,就出来疑问2:

2.ARIS能否在思维范式上整合UML面向对象的思维范式,是值得怀疑的.也就是说,ARIS不能将面向对象的思考方法,当成是传统结构化思考方法的一个特例来运用,因为,面向对象方法在思想层面扩展了传统的结构化方法.用数学语言说,就是面向对象方法比结构化方法多了一个维度.

还有几个疑问,回头再提.我要去吃饭了.


推荐到鲜果: 查阅更多相关主题的帖子: UML ARIS

评论

下面直接给出疑问及对疑问的解释 疑问3:是ARIS的抽象程度高还是UML的抽象程度高? 这个疑问是对疑问1的深入思考. UML是以面向对象为哲学的语言体系,认为面向对象的思想具有足够高的抽象层次,可以用面向对象方法来表达任何的观点和知识. ARIS实际上是一种对企业组织流程及其支持的计算机信息系统的集成化表达的一种模式,对于ARIS所面对的表达对象,完全可以有其他的模式来表达.从抽象层次上看,ARIS应该是应用层次上的东西,要比UML低.在ARIS所使用的表达语言才是可以和UML来对比讨论的事物. ARIS实际采用的表达语言体系是比较独特的,它借用了众多的结构化方法的语言符号,也发明了自己的语言符号,还企图应用UML的语言符号.所以,从其使用的语言符号来看,不成体系,有东拼西凑的感觉,所以我会感觉比较凌乱.这正是当初UML产生的理由.ARIS这种表面上的语言符号体系的紊乱,反映了其背后的哲学思考体系的模糊.不利于令人清晰易懂地来表达ARIS的体系结构. 疑问4:关于业务建模与系统建模的概念关系问题 ARIS在这个问题上没有明确做出界定,把业务流程问题和计算机信息系统设计构造问题混合在一起来进行了讨论.我不知道这个理论的提出者是否是在意识到二者的区别之后才这么做的。如果他意识到了,不可能不会在理论的阐述中谈到这个问题。也许是我不熟悉,没有看到,如果有ARIS的专家看到了,请指引我去学习学习。 业务建模和系统建模是两个范围不同但对象空间重叠的两个建模活动。这一点,在IBM的RUP中已经有清楚的定义。 业务建模是以业务系统为建模对象的,而系统建模才是以计算机信息系统为建模对象的,前者的结果为后者提供输入,后者的输出支持前者的目标。这是优越于不加区分的一段式建模的两段式建模的方法。 这是否说明ARIS是采用一段式建模方法的?

发布者 babituo
2007-5-25 13:19:23


在UML看来,ARIS主要包含了一个业务建模的架构模式,并参杂了一些实现方法,尤其是计算机信息系统的实现方法。 如果用UML来“重构”ARIS,应该可以表达得条理更清晰得多,或者会有新的发现。

发布者 babituo
2007-5-25 13:44:41


嘉文总是能产生正好我也感兴趣的问题! 我去年读过一本关于ARIS的中文书,我们公司用的IRP,据说也吸收了它的一些东西.

我的感觉是:ARIS的目标好像是在变换上,比如说知道了业务流程,可以自动给出组织部门之间的关系,知道了数据流关系,可以自动给出相应的功能模型等等,大概它列出了企业的六个方面,好像是在探讨它们之间的约束关系.UML似乎只是一个通用表达语言,它并没有深入到企业的约束关系中,以上只是我完全凭印象(也许很主观)的看法,还请嘉文兄指正.


发布者 yushan
2007-5-27 18:53:07


就像电脑的三维造象,只要有了一个角度的视图,就可以给出所有其他角度的视图(在数学上有射影几何算法为约束依据)

发布者 yushan
2007-5-27 18:56:18


是啊! 当初,Rambough(拼错了莫怪)提出面向对象的OMT方法时,就是典型的"三视图"概念.无非就是想勾勒出一个对象系统的"全息影象". 许多结构化方法当然也是用这个手法,但其采用的维度不够"正交",并有层次混叠,所以会出现信息冗余和概念交错.我认为ARIS中可能就存在这种现象,虽然它本身号称没有信息冗余,但我不大相信,因为,我看它的中文教程已经几遍了,还没有理出清晰的从整体到局部清晰贯通的构架体系. 面向对象方法和结构化方法作为系统建模方法已经在国内引起过因对面向对象方法无知而起的争论,如果类似ARIS这样的业务建模方法率先在国内推行,可能将来也会引发面向对象方法和结构化方法在业务建模领域内的因对面向对象方法无知而起的争论. 如果我们要追求"跨越式"发展,最好赶在洋人前面抓紧研究面向对象的业务建模方法.

发布者 babituo
2007-5-29 13:38:06


UML本身没有具体的企业业务表达元素,本身就象一个"数系",用什么数字表达企业的元素,用什么运算规则表达企业的运行规则,全靠使用者来发挥. 这保证了UML的足够的抽象性和应用的广泛性.当然,也会带来表达具体应用领域内较深的技术问题的晦涩性.这一方面有个习惯的问题,另一方面有个UML自身发展的问题. 关于UML用于业务建模,[是由Jacobson(对不起,楼上写的Rambough果然拼错了,应该是Rumbaugh)率先提出的,UseCase方法就是他的杰作.],我的大部份理论知识来自RUP的业务建模知识库的过程描述,当然,RUP的知识库"集成"了很多国外大师级人物的观点,我并不敢说,自己就完全精通了.我也等不到自己完全精通RUP的时候,就被逼要做一些实践和思考,所以才会有自己的一些"怪异"想法.

发布者 babituo
2007-5-29 13:59:31


UML和具体建模对象无关,表示它和建模对象维是正交的,UML是在哲学理念的维度上取"刻度"值为"面向对象"的值.而结构化方法则取"面向过程"的值.我曾经多次指出,面向对象之所以是对结构化方法的继承和发展,是因为"面向对象"是面向"过程中的对象"和面向"对象的过程".并非是直接把所有的事物都一概地看成是"对象"这种平面的理解,是如下命题的一个递归嵌套的理解:

一个对象包含一组属性和一组方法的集合.

一个过程是相关的对象的方法的时序逻辑组合;

一个对象的方法是一个过程的描述;

一个对象的属性是一个数据;

一个数据是一个过程的结果.

 这个递归结构可以形成非线性迭加的效果,如果把所有事物都直接理解为对象,世界是对象组成的,这样的理解就太线性化,太平面化,组合不来什么"突变".可以说,对象模型其实更象一个耗散结构.

有些人以平面思考,简单思考为荣,并没有错,但如果因此以复杂思考,立体思考为耻,就失去了很多机会.

 

再回到UML和业务建模的关系上来谈.

 UML对于业务建模,并非所有工作都必须从0开始.

在架构设计中,应用最多的概念是"模式".所以,业务建模包括业务架构的设计,在设计业务架构的时候,可以用到很多业务架构模式.

业务架构模式在RUP中有举例介绍,是针对常用业务系统问题的常用业务系统结构.

ARIS是一种作者认为是面对业务系统的通用的建模方法,实际上,就可以映射为一种业务架构模式,也就是说,我们不可否认,大部分的企业这样的业务组织,具有ARIS所描述的那样的结构形式和行为方式.

既然如此,ARIS就可以当作一个业务模式而用UML来一致\完整地作为一种业务架构模式来表达.面向复用的软件工程思想里提到的领域建模,我想大概就有这方面的含义,但RUP里的"领域建模",我理解就则没有这么宽泛的含义.

沿着这样的思路探索下去,就会汇集到我提出的"基因软件"思路中来.软件的基因,实际上就是被建模对象的一个抽象模型,用一种"可积分"的方式表达出来.

这也是我为什么企图用UML来表达ARIS的原因.


发布者 babituo
2007-5-29 16:00:57


UML作为一个抽象的建模工具,其方法论已经从具体的业务模型中脱离出来进行抽象的对象和关系的分析。也就是已经把‘水份’压干来进行建模。这样的优势很明显,也就是uml的抽象和建模方法的理论应用领域非常广泛。但是,其不足也比较明显。也就是其抽象,搞得建模很晦涩,非专业人士很难理解。要知道这样就产生了业务领域和IT实现领域之间的隔阂。为什么it的反映速度跟不上业务的变化速度,为什么很严谨开发出来的应用系统还是无法得到客户的满意?
我是学计算机应用的,更多是站在最终客户的角度看问题,而不是纯理论上来思考。要知道解决客户的问题,提高满意度才是应用软件的最终目标。而对于应用系统分析和设计本身的优化,只限定在了开发过程本身,其目的是提高开发效率和提高开发质量。但不要忽略了一个严重的问题,如果我们的‘高质量’产品不是客户最需要的,那我们的开发过程优化意义还有多大?
ARIS作为一个面向业务过程建模的方式,很容易让最终客户接受。所谓得道者多助,有了群众基础才能增大有效的资源。我们现在从事的项目,根本不可能把UML的图拿出来和客户进行交流,那太专业,客户看不懂,也不关心系统如何实现。更不可能让客户画uml图。客户关心的是,应用软件提供商是否真正的理解了他们的需求。
ARIS的确在uml的基本元素上,实例化了很多更具体的模型对象出来,其初衷是配合不同业务对象,表述更确切的业务意义,以及通过特定业务对象的组合,提供具体建模方法和最佳实例库。这个实例库是用户可以理解的,甚至是用户可以自己提供的。这才是问题的关键。所以,作为咨询公司或管理软件开发商的业务分析来说,ARIS是更适合的建模和交流工具,它的设计初衷就是建立一个让客户,设计人员,人员,管理者都能够能够使用的统一平台和语言,而且其建模生命周期范围更广,在以下可以说明。
站在更高层看IT信息系统建模来说,信息系统经历了从 业务架构(ARIS流程建模)》应用架构(uml对aris业务流程模型进行分析和设计)》信息架构(主数据,安全,信息格式建模)》IT设备架构(部署,数据库,防火墙,网络拓扑) 个人感觉uml比较适合应用架构这一领域,对其他领域的应用,比较牵强,也不太直观。

发布者 szeng19
2008-7-8 13:28:30


很高兴szeng19朋友找到这个话题来聊。
确实,从事物实际浅显易懂的表面现象,到其内部深刻复杂的逻辑关系,是一个跨度很大的建模工程。到目前为止没有一种建模工具能完全让人满意地胜任这项工作。
人们在呼唤一种能在现象和本质之间自由徜徉的建模工具。我能预料的是:如果这种工具某一天能出来,其思想基础必然是面向对象的。

发布者 babituo
2008-7-8 14:55:29


恩,这点我也很赞同。现在行业在实践中进行不断的探索,总是在取长补短,求同存异。面向对象是抽象最高的层次,万变不离其中。
现在的应用软件越来越趋向于元素化,平台化就是面向对象应用的最佳实例。大家都在探索如何让面向过程的业务领域更快捷的映射到实现层次,也就是转化为对象的世界进行表达。因此模式,构件,配置平台层出不穷。
处于混沌边缘能够产生最大的效率,兵法曰:以正和,以奇胜,我想UML和AIRS的结合是一个很好的方式。纯粹的面向对象或者面向过程都不能很好的完整解决问题。在下对UML的认识尚属肤浅,忘有机会和babitou兄多切磋,呵呵。
szeng19@gmail.com

发布者 szeng19
2008-7-8 22:35:22


其实,我更看重的是UML背后的面向对象思想。
这个面向对象思想已经不是最早的面向对象思想了。
简单地说就是:
面向对象的过程和面向过程中的对象。

发布者 babituo
2008-7-9 11:28:27


您正在以 匿名用户 的身份发表评论  快速登录
(不得超过 50 个汉字)
       看不清,换一个
提示消息
(输入完内容可以直接按Ctrl+Enter提交)