1.3 UML 与面向对象的软件分析与设计(OOA&D)
每一位软件设计方法学家都有许多有关软件质量的理论,他们会讨论软件危机/软件质量低下以,及良好的设计的重要性.那么UML 对提高软件的质量有什么帮助吗?
1.3.1 标准的表示方法
UML
是一种建模语言,是一种标准的表示,而不是一种方法(或方法学)。方法是一种把人的思考和行动结构化的明确方式,方法需要定义软件开发的步骤、告诉人们做
什么,如何做,什么时候做以及为什么要这么做。而UML
只定义了一些图以及它们的意义,它的思想是与方法无关。因此,我们会看到人们将用各种方法来使用UML,而无论方法如何变化,它们的基础是UML的图,这
就是UML的最终用途——为不同领域的人们提供统一的交流标准。
我们知道软件开发的难点在于一个项目的参与包括领域专家、软件设计开发人员、客户
以及用户,他们之间交流的难题成为软件开发的最大难题。UML
的重要性在于,表示方法的标准化有效地促进了不同背景人们的交流,有效地促进软件设计、开发和测试人员的相互理解。无论分析、设计和开发人员采取何种不同
的方法或过程,他们提交的设计产品都是用UML来描述的,这有利地促进了相互的理解。
1.3.2 与软件开发的成功经验集成
UML尽可能地结合了世界范围内面向对象项目的成功经验,因而它的价值在于它体现了世界上面向对象方法实践的最好经验,并以建模语言的形式把它们打包,以适应开发大型复杂系统的要求。
在
众多成功的软件设计与实现的经验中,最突出的两条,一是注重系统架构的开发,一是注重过程的迭代和递增性。尽管UML
本身没有对过程有任何定义,但UML 对任何使用它的方法(或过程)提出的要求是:支持用例驱动(use-case driven)
以架构为中心(architecture-centric)以及递增(incremental)和迭代(iterative)地开发。
注重架构意
味着不仅要编写出大量的类和算法,还要设计出这些类和算法之间简单而有效地协作。所有高质量的软件中似乎大量是这类的协作,而近年出现的软件设计模式也正
在为这些协作起名和分类,使它们更易于重用。最好的架构就是“概念集成(conceptual
integrity)”它驱动整个项目注重开发模式,并力图使它们简单。
迭代和递增的开发过程反映了项目开发的节奏。不成功的项目没有进度节奏,因为它们总是机会主义的,在工作中是被动的。成功的项目有自己的进度节奏,反映在它们有一个定期的版本发布过程,注重于对系统架构进行持续的改进。
阅读(796) | 评论(0) | 转发(1) |