什么是UML _ UML是什么单位?
软件工程领域从1995到1997取得了前所未有的进步,其成就超过了过去15年软件工程领域成就的总和。其中最重要和划时代的成就是统一建模语言(UML)的出现。
在世界上,UML至少在10年内将是面向对象技术领域中占主导地位的标准建模语言。在中国采用UML作为统一的建模语言是完全必要的:首先,过去几十种面向对象的建模语言相互独立,UML可以消除一些潜在的不必要的差异,避免用户之间的混淆;其次,通过统一语义和符号表示,可以稳定我国面向对象技术的市场,使项目植根于一种成熟的标准建模语言,可以大大拓宽所开发软件系统的应用范围,大大提高其灵活性。
统一建模语言(UML)是一种用于描述、构造、可视化和记录软件密集型系统的语言。
首先,也是最重要的,统一建模集成语言引入了Booch、OMT和OOSE方法的概念,这是一种简单、一致和通用的建模语言,可以被上述和其他方法的用户广泛采用。
其次,统一建模语言扩展了现有方法的应用范围。特别值得一提的是,UML开发人员把并行分布式系统的建模作为UML的设计目标,也就是说,UML有处理这类问题的能力。
第三,统一建模语言是标准的建模语言,不是标准的开发流程。虽然UML的应用必须基于系统的开发过程,但是根据我们的经验,不同的组织,不同的应用领域需要不同的开发过程。举个例子,开发复杂的软件是很有趣的,但是开发这种软件和构建一个严格的实时航电系统是很不一样的,是至关重要的大事。因此,我们首先着眼于设计一个通用的元模型(统一不同方法的语义),然后建立一个通用的表示(提供这些语义的可视化表达)。虽然UML开发人员会继续倡导软件开发过程从用例驱动到以架构为中心,这是反复改进和添加的,但设计一个标准的开发过程并不是很有必要。
UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言。它融合了软件工程领域的新思想、新方法和新技术。其范围不限于支持面向对象的分析和设计,还支持从需求分析到软件开发的全过程。
面向对象技术和UML的发展过程可以用上图来表示,标准建模语言的出现是其重要成果。在美国,到1996,10年底,UML已经得到工业界、科技界和应用界的广泛支持,已经有700多家公司表示支持采用UML作为建模语言。到1996年底,UML已经稳定地占据了面向对象技术市场的85%,成为可视化建模语言事实上的工业标准。1997 165438+10月17,OMG采用UML1.1作为基于面向对象技术的标准建模语言。UML代表了面向对象软件开发技术的发展方向,具有巨大的市场前景和巨大的经济、国防价值。
标准建模语言UML的内容
首先,UML结合了Booch、OMT和OOSE方法中的基本概念,这些基本概念与其他面向对象技术中的基本概念大多相同。因此,UML必然会成为这些方法和其他方法的用户愿意采用的简单一致的建模语言。其次,UML不仅仅是上述方法的简单收敛,更是在这些方法的基础上全面征求意见,经过多次修改才完成,UML扩大了现有方法的应用范围;第三,UML是标准的建模语言,不是标准的开发过程。虽然UML的应用必须基于系统的开发过程,但是不同的组织和不同的应用领域需要采用不同的开发过程。
作为一种建模语言,UML的定义包括两部分:UML语义和UML表示。
(1)UML语义描述基于UML的精确元模型定义。元模型在语法和语义上为UML的所有元素提供了一个简单的、一致的、通用的定义描述,使开发人员能够达到语义的一致性,消除了因人而异的最佳表达方法的影响。此外,UML还支持元模型的扩展定义。
(2)UML符号定义了UML符号的符号,为开发人员或开发工具使用这些图形符号和文本语法进行系统建模提供了标准。这些图形符号和文字表达了一个应用级模型,这是语义上的UML元模型的一个例子。
标准建模语言UML的重要内容可以用以下五种图来定义(***9种图):
第一类是用例图,从用户的角度描述系统功能,指出每个功能的操作符。
第二类是Staticdiagram,包括类图、对象图和包图。类图描述了系统中类的静态结构。它不仅定义了系统中的类,还表示了类之间的关联、依赖、聚合等关系。,还包括类的内部结构(类的属性和操作)。类图描述了一种静态关系,这种关系在系统的整个生命周期中都是有效的。对象图是类图的一个例子,它使用了和类图几乎一样的logo。它们的区别在于对象图显示了类的多个对象实例,而不是实际的类。对象图是类图的一个例子。因为对象有生命周期,所以对象图只能存在于系统的某个时间段。包由包或类组成,表示包之间的关系。包图用来描述系统的层次结构。
第三类是Behaviordiagram,描述系统的动态模型和组件之间的交互。其中,状态图描述了该类对象的所有可能状态,以及事件发生时状态的转移条件。通常,状态图是对类图的补充。在实践中,不需要为所有的类绘制状态图,只需要为那些行为受外部环境影响而发生了变化的类绘制状态图。活动图描述了为满足用例需求而要执行的活动以及活动之间的约束,这有助于识别并行活动。
第四类是Interactivediagram,描述对象之间的交互关系。其中,序列图展示了对象之间的动态协作关系,强调了对象之间消息发送的顺序,展示了对象之间的交互;协作图描述了对象之间的协作关系,类似于序列图,展示了对象之间的动态协作关系。除了显示信息交换,协作图还显示对象及其关系。如果强调时间和顺序,就用序列图;如果强调上下级关系,选择合作图。这两个图统称为交互图。
第五类是实现图。其中,组件图描述了代码组件的物理结构以及组件之间的依赖关系。组件可以是资源代码组件、二进制组件或可执行组件。它包含关于逻辑类或实现类的信息。组件图有助于分析和理解组件之间的交互程度。
配置图定义了系统中软件和硬件的物理架构。它可以显示实际的计算机和设备(由节点表示)及其连接关系,还可以显示连接类型和组件之间的依赖关系。在节点内部,放置可执行部分和对象,以显示节点和可执行软件单元之间的对应关系。
从应用的角度来看,使用面向对象技术设计系统时,首先是描述需求;其次,根据需求建立系统的静态模型,构建系统的结构;第三步是描述系统的行为。第一步和第二步建立的模型都是静态的,包括用例图、类图(包括包)、对象图、组件图和配置图,这些都是标准建模语言UML的静态建模机制。其中,第三步建立的模型既可以执行,也可以表示执行过程中的时序状态或交互。它包括状态图、活动图、顺序图和协作图四种图形,是标准建模语言UML的一种动态建模机制。因此,标准建模语言UML的主要内容也可以概括为两大类:静态建模机制和动态建模机制。