UML是由着名软件技术G.Booch、J.Rumbaugh和I.Jcobson倡导,并在Booch表示法、00SE表示法以及OMT方法的基础上,融合众家之长而形成的,1997年底被国际OMG组织采纳为基于对象技术的标准建模语言。它融入了软件工程领域的新思想、新方法和新技术,不仅支持面向对象的分析和设计,还支持从需求开始的软件开发过程,是近十年来有划时代意义的软件技术之一。
UML标准建模语言并不是针对硬件设计而产生的,但是由于其表达的可视化,支持面向对象的分析和设计,支持从需求开始的软件开发全过程,并且有9种从软件开发的不同阶段、不同视角和不同层次对所开发的项目进行描述的模型,因此虽然目前尚未看到将UML建模用于基于EDA技术的应用开发设计实例,但作者认为:UML的9种模型,有的可以直接应用于EDA开发设计的建模,有的可以稍做改动即可应用于EDA开发设计的建模,因此对UML标准建模语言进行适当的修改,并增加一些易于表达硬件设计的内容,完全有可能将UML标准建模语言移植到EDA设计中,解决现行的EDA开发设计中建模难的问题,并可能成为一种全新的EDA应用开发设计建模工具。
下面简单地介绍—下UML的9种模型以及UML建模的设计思想,详细情况请读者阅读UML建模的有关书籍和资料。
UML为软件系统的设计与开发提供了丰富的、功能强大的9种模型:用例图(Use CaseDiagram)、对象类图(C1ass Diagram)、对象图(Object Diagram)、顺序图(Sequence Diagram)、协同图(Co11aboration Diagram)、状态图(State Diagram)、活动图(Activity Diagram)、组件图(Component Diagram)、配置图(Dep1oyment Diagram)。这些模型可以从软件开发的不同阶段、不同视角和不同层次对所开发的项目进行描述。
(1)用例图(Use Case Diagram):它是一种描述Use Case的可视化工具,它用简单的图形元素表示出系统的活动者(Actor,是用户作用于系统的一个角色,它可以是人,也可以是作用于系统的外部系统)、Use Case以及它们之间的联系,准确地表达了活动者与系统的交互情况和系统所能提供的服务。
(2)对象类图(C1ass Diagram):对象类(C1ass)简称类,是面向对象模型的基本的模型元素。对象类图表达一组对象和它们的联系。在对象类图中,一方面描述各个对象类本身的组成,即类的属性、操作和对象的约束;另一方面描述系统中对象类之间的各种静态模型的联系。对象类图是一种静态结构图,它描述的是系统的静态结构,而不是系统的行为。
(3)对象图(Object Diagram):它表示一组对象以及它们之间的联系。对象图实质上是对象类图的实例,或者是交互图静态部分的实例。对象图的模型元素有对象和链接(Link)。从图形的角度看,对象图是由节点(对象)和弧(链接)构成的图。
(4)顺序图(Sequence Diagram):它是一种交互图,顺序图的重点是完成某个行为的对象类和这些对象类之间所传递的消息和时间顺序。顺序图是一个二维图形。在顺序图中水平方向为对象维,沿水平方向排列参与交互的对象类角色;竖向为时间维,沿垂直向下方向按时间递增顺序列出了各对象类角色所发出和接收的消息。
(5)协同图(Co11aboration Diagram):它包含一组对象和以消息交换为纽带的关联,用于描述系统的行为是如何由系统的成分合作实现的。所谓协同,是一种静态结构,它是一个系统对实现某些服务所涉及的对象及其交互的投影。一个协同定义了一组对某些服务有意义的参加者和它们的联系,这些参加者定义了交互中的对象所扮演的角色。协同图就是协同的图形表示。
(6)状态图(State Diagram):它表现了一个对象(或模型元素)的生存史,显示触发状态转移的事件和因状态而导致的动作。状态图由表示状态的节点和表示状态之间的转移的弧组成。在状态图中,若干个状态节点由一条或多条转移弧连接,状态的转移由事件触发。模型元素的行为模型化为在状态图中的一个周游,在此周游中状态机执行一系列的动作。
(7)活动图(Activity Diagram):它是系统的一种行为视图,它描述参与行为的对象类的活动的顺序,包括依赖于条件的行为和并发行为。活动图实质上也是一种流程图,只不过表示的是从一个活动到另一个活动的控制流。活动图描述活动的序列,并且支持对带条件的行为和并发行为的表达。
(8)组件图(Component Diagram):它由组件(是系统物理的可替换单位)、接口和组件之间的联系构成,其中的组件可以是源码、二进制码或可执行程序。组件图表示系统中的不同物理部件及其联系,它表达的是系统本身代码的结构。
(9)配置图(Dep1oyment Diagram):它由节点(存在于运动期间的系统的物理元素,节点代表计算机资源,通常为处理器或其他设备)和节点之间的联系构成,用于表示一个分布式系统的运动的结构。
UML建模过程的基本特征是“用例驱动(Use Case Driven)、以结构为中心(Architecture-Centric)、迭代增量(Iterative and Incrementa1)”。“用例驱动”就是在UML中,使用用例描述系统的功能需求,亦即系统从分析、设计、实现到测试都以用例作为终目标。“以结构为中心”就是强调一种以结构为中心的开发方式,以用例图为中心点,通过建立一个易于扩充、可重用的结构,来实现迭代式开发和增量式提交。“迭代增量”就是在每个周期内完成
对系统部分功能的开发、测试,并在每迭代的提交一个增加了部分新功能的系统,使系统进一步完善,即“迭代式开发,增量式提交”。基于UML的系统开发过程,从管理人员角度看,在系统开发的每次迭代过程中,主要包括四个阶段:决策阶段、计划阶段、构造阶段、提交阶段;从技术实现的角度来看,系统开发的每次迭代过程中亦包括四个阶段:分析、设计、实现和测试。在这四个阶段中,使用UML建立不同的模型来达到不同的目的。
对于软件开发的UML建模,我们可以使用UML建模的工具Rationa1 Rose来进行。Rationa1 Rose是美国Rational软件公司在软件工程Boodh、Jacobson、Rumbaugh等人的主持下研制的面向对象的CASE产品,是目前为流行的、先进的可视化软件开发工具之一。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。