建模过程的盲点:软件集成中的软知识

发表于:2009-10-29来源:作者:点击数: 标签:盲点知识软件建模
建模过程的盲点:软件集成中的软知识 uml模型 关键字: UML 古今之成大事业、大学问者,必经过三种之境界,今之UML应用的三重境界能给你带来什么呢?本文主要讨论了两个问题:一是为什么软件 开发 过程需要建模,二是建模为什么要使用UML语言。 先从几年前的
建模过程的盲点:软件集成中的软知识 uml模型

关键字:UML

古今之成大事业、大学问者,必经过三种之境界,今之UML应用的三重境界能给你带来什么呢?本文主要讨论了两个问题:一是为什么软件开发过程需要建模,二是建模为什么要使用UML语言。

先从几年前的一次争论谈起吧。2002年5月某IT杂志刊登了一篇知名学者高展先生的文章:《UML三大“硬伤”》,文章说UML“上不着天、下不着地、一盘散沙”,后即引来业界关于UML的一场大讨论。

在细述这场论战之前,且让我们先来回答两个问题,第一个问题是为什么软件开发过程需要建模,第二个问题是建模为什么要使用UML语言。

想搭一个狗窝,备好木料、钉子和一些基本工具之后,就可以开始工作了,在没有别人帮忙的情况下,几个小时也可以完工;如果想为家庭建造一所房子,备好木料、钉子和一些基本工具之后,也能开始工作,但这将需要较长的时间,并且,除非曾经多次建造过房子,否则就需要事先制定出一些详细的计划,再开始动工,才能够成功;而如果要建设高楼时,仍然是先备好木料、钉子和一些基本工具就开始工作,那将是非常愚蠢的。

那么在软件开发中,如果我们不事先建立模型,做好计划,就开始仓促去实现,那就好比在使用建造狗窝的工具来建造一座大厦。而建模是一项经过检验并被广为接受的工程技术,模型提供了系统的蓝图。模型可以是结构性的,强调系统的组织。它也可以是行为性的,强调系统的动态方面。

通过建模,可以达到4个目的:模型有助于按照实际情况或按照所需要的样式对系统进行可视化;模型能够规约系统的结构或行为;模型给出了指导构造系统的模板;模型对做出的决策进行文档化。

下面让我们来到文章开头提到的那场论战。论战的发起者高先生也许当初也没有想到文章发表之后引来的激烈反应。综合高先生那篇文章的主旨,可以概括为UML“上不着天,下不着地,一盘散沙”,他认为:UML上不着天,也就是说用UML建立的模型无法与用户沟通;下不着地,采用UML设计的模型不能为程序员所用;一盘散沙,UML建立的各种模型之间关系凌乱,无法实际应用。

我的看法是,高先生此三点意见却恰恰就是UML的三大优点,关键在于应用。如果使用不好,则在应用过程中是会发生这样的错觉,认为使用了UML反而会给项目带来额外的负担;但是如果能有效地根据实际项目和人员情况对UML进行裁减,制定出适合的UML应用方法,并通过项目来逐步积累和推进,那么UML这个神兵宝器则会大放异彩,体现它应有的价值。就譬如金箍棒,倘若等闲之辈得之,不过是废铁一块;如若在悟空手中,则大如倚天之柱,小则化为绣花针,降妖除魔,变为至宝。

那么如何能有效利用UML呢?就如王国维所谈词作的三重境界,UML的利用也可以分为三种境界。

原文转自:http://www.ltesting.net