本节向大家介绍一下UML建模语言,在软件开发过程中UML建模语言经常用来建立模型,这里和大家分享一下UML建模语言的有关知识,希望通过本节的介绍你UML建模语言有全面的认识。
新一代建模语言-UML慨述
UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言。它溶入了软件工程领域的新思想、新方法和新技术。UML将是面向对象技术领域内占主导地位的标准建模语言,目前UML获得了工业界、科技界和应用界的广泛支持,成为可视化建模语言事实上的工业标准。UML代表了面向对象方法的软件开发技术的发展方向,具有巨大的市场前景,也具有重大的经济价值。
UML建模语言的诞生
目前人们普遍开始采用面向对象的分析与设计,但是很少有开发人员使用形象化的设计方法,其主要原因就是缺乏统一的语言语义来为复杂软件系统的组件定义、可视化、构建和编制文档。而UML的出现彻底的改变了这一现状,并成为了面向对象建模的标准语言。
UML建模语言的行业特性
UML在各个行业都得到了广泛的应用,并迅速成为了一个事实上的工业标准,它成为人们用来为各种系统建模、描述系统架构、商业架构和商业过程的统一工具。
UML之所以得到普及的主要原因不外乎以下几点:
1UML是国际统一的标准,用它表示的产品符合国际标准,产品能够得到广泛的认可。
2作为国际标准,国际软件业和商业对UML的支持也相当普遍因而采用它将可以得到最广泛的技术支持和工具支持。
3UML采用图的形式来表述系统的视图,图形化易于理解的优势使得不同知识背景的客户用户、领域专家、系统分析以及开发人员可以方便的交流。
4UMl是一种标准的表示方法,任何方或者过程都可以采用UML,它与具体的方法和过程无关,具有通用性。
5UML具有良好的可扩展性,可适用到不同的领域,在具有通用性的同时还具有使自身专用化的能力。
6UML与最好的软件实践经验集成,其自身虽然没有表述任何方法或过程,但是却要求使用它的过程具有以下的特征:以架构为中心、用例驱动、支持迭代和递增地开发。这些特征体现了软件开发的成功经验。
7UML对软件设计和分析实践中涌现出来的新思想和新方法提供了很好的支持,它支持模式、框架和组件等概念,提供从“概念模型到现时代码”的可跟踪性。
什么是UML建模语言?
UML(UnifiedModelingLanguage)是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示。UML不是一种可视化的程序设计语言,而是一种可视化的建模语言;UML不是工具或者是知识库的规格说明,而是一种语言规格说明,是一种表示的标准;UML不是过程和方法,但是允许任何一种过程和方法使用它。
UML建模语言的使用目的
1UML易于使用,能够进行可视化建模;
2与具体的实现无关,可应用于任何语言平台和工具平台;
3与具体的过程无关,可应用于任何软件开发的过程;
4简单并且可扩展,具有扩展和专有化机制,便于扩展,无须对核心概念进行修改;
5为面相对象的设计与开发中涌现出的高级概念提供支持,强调软件在开发过程中对架构、框架、模式和组件的重用;
6与最好的软件工程实践经验集成;
7有利于面对对象工具的市场成长;
UML建模语言的架构
UML是由图和元模型组成的。图是UML的语法,而元模型则给出图的意思,是UML的语义。UML的语义是定义在一个四层建模概念框架中的,其层结构如下:
1元元模型层,组成UML的基本元素“事物”,代表要定义的所有事物;
2元模型层,组成了UML的基本元素,包括面向对象和面向组件的概念。这一层的每一个概念都是元元模型中“事物”概念的实例;
3模型层,组成了UML的模型,这一层的每个概念都是元模型中概念的一个实例,这一层的模型通常叫做类模型或者类型模型;
4用户模型层,这个层中的所有所有元素都是UML模型的例子。这一层中的每个概念都是模型层的一个实例,也是元模型的一个实例。这一层的模型通常叫做对象模型或实例模型。
UML建模语言的主要内容
客观世界是一个复杂巨系统,需要从不同的角度来考察,才能真正理解这个系统。为了能支持从不同角度来考察系统,标准建模语言UML定义了下列5类、共10种模型图:
第一类是用例图,从用户角度描述系统功能,并指出各功能的操作者。
第二类是静态图(Staticdiagram),包括类图、对象图和包图。
UML建模语言中类图描述系统中类的静态结构。不仅定义系统中的类,表示类之间的联系如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作)。类图描述的是一种静态关系,在系统的整个生命周期都是有效的。
对象图是类图的实例,几乎使用与类图完全相同的标识。他们的不同点在于对象图显示类的多个对象实例,而不是实际的类。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。
包由包或类组成,表示包与包之间的关系。包图用于描述系统的分层结构。
第三类是行为图(Behaviordiagram),描述系统的动态模型和组成对象间的交互关系。
其中状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。通常,状态图是对类图的补充。在实用上并不需要为所有的类画状态图,仅为那些有多个状态其行为受外界环境的影响并且发生改变的类画状态图。而活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。
第四类是交互图(Interactivediagram),描述对象间的交互关系。
UML建模语言中顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;合作图描述对象间的协作关系,合作图跟顺序图相似,显示对象间的动态合作关系。除显示信息交换外,合作图还显示对象以及它们之间的关系。如果强调时间和顺序,则使用顺序图;如果强调上下级关系,则选择合作图。这两种图合称为交互图。
第五类是实现图(Implementationdiagram)。
其中构件图描述代码部件的物理结构及各部件之间的依赖关系。一个部件可能是一个资源代码部件、一个二进制部件或一个可执行部件。它包含逻辑类或实现类的有关信息。部件图有助于分析和理解部件之间的相互影响程度。
配置图定义系统中软硬件的物理体系结构。它可以显示实际的计算机和设备(用节点表示)以及它们之间的连接关系,也可显示连接的类型及部件之间的依赖性。在节点内部,放置可执行部件和对象以显示节点跟可执行软件单元的对应关系。
从应用的角度看,当采用面向对象技术设计系统时,首先是描述需求;其次根据需求建立系统的静态模型,以构造系统的结构;第三步是描述系统的行为。其中在第一步与第二步中所建立的模型都是静态的,包括用例图、类图(包含包)、对象图、组件图和配置图等五个图形,是标准建模语言UML的静态建模机制。其中第三步中所建立的模型或者可以执行,或者表示执行时的时序状态或交互关系。它包括状态图、活动图、顺序图和合作图等四个图形,是标准建模语言UML的动态建模机制。因此,标准建模语言UML的主要内容也可以归纳为静态建模机制和动态建模机制两大类。#p#
UML建模语言的应用领域
1在不同类型系统中应用
UML的目标是以面向对象图的方式来描述任何类型的系统,具有很宽的应用领域。其中最常用的是建立软件系统的模型,但它同样可以用于描述非软件领域的系统,如机械系统、企业机构或业务过程,以及处理复杂数据的信息系统、具有实时要求的工业系统或工业过程等。总之,UML是一个通用的标准建模语言,可以对任何具有静态结构和动态行为的系统进行建模。
以下是常见的UML应用:
系统信息--向用户提供信息的存储、检索、交换和提交。处理存放在关系或对象数据库中大量具有复杂关系的数据;
技术系统--处理和控制技术设备,它们必须处理设计的特殊接口,标准软件相对较少,技术系统通常是实时系统;
嵌入式实时系统--在嵌入到其它设备硬件上执行的系统。通常是通过低级程序设计进行的,需要实时支持;
分布式系统--分布在一组机器上运行的系统,数据很容易从一台机器传到另一台计其。需要同步通信机制来确定数据完整性,通常是建立在对象机制上的。
2在软件开发过程中的应用
UML建模语言适用于系统开发过程中从需求规格描述到系统完成后测试的不同阶段。在需求分析阶段,可以用用例来捕获用户需求。通过用例建模,描述对系统感兴趣的外部角色及其对系统(用例)的功能要求。分析阶段主要关心问题域中的主要概念(如抽象、类和对象等)和机制,需要识别这些类以及它们相互间的关系,并用UML类图来描述。为实现用例,类之间需要协作,这可以用UML动态模型来描述。在分析阶段,只对问题域的对象(现实世界的概念)建模,而不考虑定义软件系统中技术细节的类(如处理用户接口、数据库、通讯和并行性等问题的类)。这些技术细节将在设计阶段引入,因此设计阶段为构造阶段提供更详细的规格说明。
编程(构造)是一个独立的阶段,其任务是用面向对象编程语言将来自设计阶段的类转换成实际的代码。在用UML建立分析和设计模型时,应尽量避免考虑把模型转换成某种特定的编程语言。因为在早期阶段,模型仅仅是理解和分析系统结构的工具,过早考虑编码问题十分不利于建立简单正确的模型。
UML模型还可作为测试阶段的依据。系统通常需要经过单元测试、集成测试、系统测试和验收测试。不同的测试小组使用不同的UML图作为测试依据;单元测试使用类图和类规格说明;集成测试使用部件图和合作图;系统测试使用用例图来验证系统的行为;验收测试由用户进行,以验证系统测试的结果是否满足在分析阶段确定的需求。
总之,标准建模语言UML适用于以面向对象技术来描述任何类型的系统,而且适用于系统开发的不同阶段,从需求规格描述直至系统完成后的测试和维护。
【编辑推荐】