初步了解UML

UML定义了5类,10种模型图

五种类图定义:

1.用例图:从用户角度描述系统功能,并指各功能的操作者。

2.静态图:包括类图,包图,对象图。

类图:描述系统中类的静态结构

包图:是包和类组成的,表示包与包之间的关系,包图描述系统的分层结构

对象图:是类图的实例

3.行为图:描述系统动态模型和对象组成的交换关系。包括状态图和活动图

活动图:描述了业务实现用例的工作流程

状态图:是描述状态到状态控制流,常用于动态特性建模

4.交互图:描述对象之间的交互关系

顺序图:对象之间的动态合作关系,强调对象发送消息的顺序,同时显示对象之间的交互

合作图:描述对象之间的协助关系

5.实现图:

配置图:定义系统中软硬件的物理体系结构

十种模型图定义:

(1)、用例图:展示系统外部的各类执行者与系统提供的各种用例之间的关系

(2)、类图:展示系统中类的静态结构

(3)、对象图:是类图的一种实例化图(对象图是对类图的一种实例化)

(4)、包图:是一种分组机制。在UML1.1版本中,包图不再看作一种独立的模型图)

特点

(1)UML统一了各种方法对不同类型的系统、不同开发阶段以及不同内部概念的不同观点,从而有效的消除了各种建模语言之间不必要的差异。它实际上是一种通用的建模语言,可以为许多面向对象建模方法的用户广泛使用。

(2)UML建模能力比其它面向对象建模方法更强。它不仅适合于一般系统的开发,而且对并行、分布式系统的建模尤为适宜。

(3)UML是一种建模语言,而不是一个开发过程。


图聚集了相关的事物及其关系的组合,是软件系统在不同角度的投影。图由代表事物的顶点和代表关系的连通图表示。下面对常用的几类图[2-12]进行简单介绍。

(1)类图(ClassDiagram)。展现了一组对象、接口、协作和它们之间的关系。类图描述的是一种静态关系,在系统的整个生命周期都是有效的,是面向对象系统的建模中最常见的图。

(2)对象图(ObjectDiagram)。展现了一组对象以及它们之间的关系。对象图是类图的实例,几乎使用与类图完全相同的标示。

(3)用例图(UseCaseDiagram)。展现了一组用例、参与者(actor)以及它们之间的关系。用例图从用户角度描述系统的静态使用情况,用于建立需求模型。

(4)交互图。用于描述对象间的交互关系,由一组对象和它们之间的关系组成,包含它们之间可能传递的消息。交互图又分为序列图和协作图,其中序列图描述了以时间顺序组织的对象之间的交互活动;协作图强调收发消息的对象的结构组织。

(5)状态图(StateDiagram)。由状态、转换、事件和活动组成,描述类的对象所有可能的状态以及事件发生时的转移条件。通常状态图是对类图的补充,仅需为那些有多个状态的、行为随外界环境而改变的类画状态图。

(6)活动图(ActiveDiagram)。一种特殊的状态图,展现了系统内一个活动到另一个活动的流程。活动图有利于识别并行活动。

(7)组件图(ComponentDiagram)。展现了一组组件的物理结构和组件之间的依赖关系。部件图有助于分析和理解组件之间的相互影响程度。

(8)部署图(DeploymentDiagram)。展现了运行处理节点以及其中的组件的配置。部署图给出了系统的体系结构和静态实施视图。它与组件图相关,通常一个节点包含一个或多个构建。

需要指出的是,UML并不限定仅使用这9种图,开发工具可以采用UML来提供其他种类的图,但到目前为止,这9种图在实际应用中最常用的。综合建模类型、模型图种类、建模机制,UML的建模体系见表1。

表1 UML建模体系

模型类型

模型图种类

建模机制

用例模型

用例模型图

静态建模

静态模型

类图、对象图、包图

静态建模

行为模型

状态图、活动图

动态建模

交互模型

序列图、协作图

动态建模

实现模型

组件图、配置图

静态建模

目前,UML已成功应用于电信、金融、政府、电子、国防、航天航空、制造与工业自动化、医疗、交通、电子商务等领域中。在这些领域中,UML的建模包括大型、复杂、实时、分布式、集中式数据或者计算,以及嵌入式系统等,而且还用于软件再生工程、质量管理、过程管理、配置管理的各方面。在软件无线电技术中,UML的应用是可行的,而且具有优势。

建模语言可被不同种类的无线电通信和H/S(Hardware/Software)描述语言所应用。软件无线电的对象需要具有可配置性及组件可重用性。系统设计阶段对语言的要求表现在功能和结构两个方面。功能设计需要一种对通信规范进行建模的语言,而结构设计要求一种对软件和硬件组件进行建模的语言。软件无线电可以选择许多语言,一般来讲,UML的性能在面向对象和适应性方面是较好的。

进行联合设计的UML在序列图、状态图、合作图以及实时扩展的帮助下,能很好地为组件和模块之间的相互联系构造模型,而且能在整个设计周期中使用,以帮助设计者缩短设计时间、降低改进成本并使软/硬件分割最优。与UML相比,一些建模语言有其自身的缺陷。比如SDL在传统意义上缺乏模块性,VHDL对软件建模来说效率不高等。

UML将硬件和软件作为一个整体来进行建模。例如,由于规范的不稳定性,设计者可以从硬件移动一些协议到软件。在UML的帮助下,硬件组件和软件组件之间将会有更大的透明度。便携性和综合效率将会增加。

通常来讲,对于使用UML进行硬件软件联合设计而言可以应用下面的技术[46]:

(1)UML的模型特性可帮助设计者将协议分割成硬件模块和软件模块,它们之间的相互关系可以用UML的类图或组件图进行描述;

(2)UML状态图或序列图可使交互处理的通信更加简明扼要;

(3)软件综合和硬件综合可通过使用实时嵌入式UML而被建模,实时嵌入式UML以将并行任务分配给一个特定的处理器为目标,并将计算步骤分解到各个时钟周期中;

(4)一旦设计者通过使用类图或组件图获得接口和组件的信息,则不同种类规范的并发执行和联合仿真都将变得更容易。

综合来看,UML作为一种最合适的建模语言,其应用于软件无线电之中是可实现的,也是非常有前途的。UML在软件无线电中得以应用,必将极大地促进软件无线电技术的发展。

ProcessOn在线设计器支持UML统一建模语言的定义和语义,同时支持UML的用例图和静态图在线建模。

Trufun plato UML2建模工具是支持UML2最新版本的桌面工具,同时支持UML模型生成分析设计文档和10多种面向对象的编程语言。

你可能感兴趣的:(初步了解UML)