使用UML和Rational Rose建立系统模型(10)
发布时间:2021-06-08
发布时间:2021-06-08
(2) UML还吸取了面向对象技术领域中其他流派的长处,其中也包括非OO方法的影响。UML符号表示考虑了各种方法的图形表示,删掉了大量易引起混乱的、多余的和极少使用的符号,也添加了一些新符号。因此,在UML中汇入了面向对象领域中很多人的思想。这些思想并不是UML的开发者们发明的,而是开发者们依据最优秀的OO方法和丰富的计算机科学实践经验综合提炼而成的。
(3) UML在演变过程中还提出了一些新的概念。在UML标准中新加了模板(Stereo types)、职责(Responsibilities)、扩展机制(Extensibility mechanisms)、线程(Threads)、过程(Processes)、分布式(Distribution)、并发(Concurrency)、模式(Patterns) 、合作(Collaborations)、活动图(Activity diagram)等新概念,并清晰地区分类型(Type)、类(Class)和实例(Instance)、细化(Refinement)、接口(Interfaces)和组件(Components)等概念。
2.2 UML与面向对象的软件分析与设计(OOA&D)
每一位软件设计方法学家都有许多有关软件质量的理论,他们会讨论软件危机、软件质量低下、以及良好的设计的重要性。那么UML对提高软件的质量有什么帮助吗?
2.2.1 标准的表示方法
UML 是一种建模语言,是一种标准的表示,而不是一种方法(或方法学)。方法是一种把人的思考和行动结构化的明确方式,方法需要定义软件开发的步骤、告诉人们做什么如何做,什么时候做,以及为什么要这么做。而 UML 只定义了一些图以及它们的意义,它的思想是与方法无关。因此,我们会看到人们将用各种方法来使用 UML,而无论方法如何变化,它们的基础是 UML 的图,这就是 UML 的最终用途——为不同领域的人们提供统一的交流标准。
我们知道软件开发的难点在于一个项目的参与包括领域专家,软件设计开发人员、客户以及用户,他们之间交流的难题成为软件开发的最大难题。UML 的重要性在于,表示方法的标准化有效地促进了不同背景人们的交流,有效地促进软件设计、开发和测试人员的相互理解,无论分析、设计和开发人员采取何种不同的方法或过程,他们提交的设计产品都是用 UML 来描述的,这有利地促进了相互的理解。
2.2.2 与软件开发的成功经验集成
UML 尽可能地结合了世界范围内面向对象项目的成功经验,因而它的价值在于它体现了世界上面向对象方法实践的最好经验,并以建模语言的形式把它们打包,以适应开发大型复杂系统的要求。
在众多成功的软件设计与实现的经验中,最突出的两条,一是注重系统架构的开发,一是注重过程的迭代和递增性。尽管 UML 本身没有对过程有任何定义,但 UML 对任何使用它的方法(或过程)提出的要求是:支持用例驱动 (use-case driven)、以架构为中心(architecture-centric)以及递增(incremental)和迭代(iterative)地开发。 注重架构意味着不仅要编写出大量的类和算法,还要设计出这些类和算法之间简单而有效地协作。所有高质量的软件中似乎大量是这类的协作,而近年出现的软件设计模式也正在为这些协作起名和分类,使它们更易于重用。最好的架构就是:“概念集成(conceptual integrity)”,它驱动整个项目注重开发模式并力图使它们简单。
迭代和递增的开发过程反映了项目开发的节奏。不成功的项目没有进度节奏,因为它们总是机会主义的,在工作中是被动的。成功的项目有自己的进度节奏,反映在它们有一个定期的版本发布过程,注重于对系统架构进行持续的改进。
上一篇:中学生德育学分认定办法及标准