统一建模语言UML概述
统一建模语言UML:可视化建模语言,属于第三代面向对象建模语言。它将模型中的信息用标准图形元素直观地表示出来,便于人员交流。
特点:
1) UML语言简单,易学、易用;
2) UML采用可视化的图形描述,比较形象直观;
3) 可使不同技术背景的开发人员和设计人员很容易的相互交流;
4) UML语言是第三代面向对象建模语言的标准,被绝大多数业内人士认同;
5) UML采用图形化的设计,将系统的核心部分描述出来,可以供以后系统开发使用;
6) 有利于项目的回溯和测试。
UML组成
UML采用图形表示法,它的重要内容是由一些图来定义的。设计人员就是用这些图来描述整个系统的功能和设计。
UML包括4部分:
(1)视图(View):UML的视图并不是图形,而是由许多图(Diagram)组成的一个抽象,视图显示表达系统的各个不同方面。
(2)图(Diagram):描述UML视图内容的图形。UML共有9种不同类型的图,通过它们的相互组合来表示出被建模系统的所有的视图。
(3)模型元素(Model Element):UML图中使用的概念就是模型元素。模型元素代表普通的面向对象的概念,例如类、对象、消息以及这些概念之间的关系。
(4)通用机制(General Mechanism):UML提供的通用机制为模型元素提供一些附加的信息、注释、语义。这些通用机制也提供扩展机制,允许用户对UML进行扩展,以便适应一个特定的方法/过程、组织或用户。
UML中的视图
5种视图:
(1)用例视图(Use Case View):描述系统应该交付的功能,是外部参与者(Actor)观察到的系统功能。用例视图利用用例图、活动图进行描述。
一个用例就是对系统的一个功能的通用描述。
用例视图是核心。系统的最终目标,系统提供的功能在用例视图中被描述。用例视图会对所有其他的视图产生影响。
(2)逻辑视图(Logical View):从系统的静态结构和动态行为角度显示如何实现系统的功能,描述如何实现用例视图中提出的那些系统功能,逻辑视图注重的是系统的内部。
(3)组件视图(Component View):显示代码组件的组织结构,描述模块以及它们之间的依赖关系。组件是不同类型的代码模块,通过代码模块的结构和依赖关系来表示。
(4)并发视图(Concurrency View):显示系统的并发性,解决并发系统中存在的通信和同步问题。主要考虑资源的有效利用、代码的并行执行以及系统环境中异步事件的处理。
(5)部署视图(Deployment View):显示系统的具体部署,将系统部署到有计算机和设备(称之为Node)组成的物理结构上。
UML中的图1
9种图:用例图、类图、对象图、状态图、顺序图、协作图、活动图、组件图和部署图。
(1)用例图(Use Case Diagram)
显示多个外部参与者(Actor)以及它们与系统提供的用例之间的连接,定义系统的功能需求。
一个用例是对系统提供的某个功能的描述,用例只是描述系统活动者从外部观察系统所得到的那些功能,并不描述这些功能在系统内部是如何实现的。
一个评分系统的用例图 :

UML中的图2
(2)类图(Class Diagram)
显示系统中各个类的静态结构。类图是静态图。
类代表系统内处理的事务,这些类可以多种方式连接:关联、依赖、特殊化或者打包。
一个类的内部结构使用该类的属性和操作表示。
一个系统一般有几个类图,并不是所有的类都放在一个类图中,一个类可以参与到多个类图中去。
评分系统的类图:

UML中的图3
(3)对象图(Object Diagram)
类图的一个实体。对象图中,对象名带下划线。
与类图的区别:对象图显示的不是实际的类,而是类的多个对象的实例。因此,对象图就是类图的一个例子,显示系统执行时的一个可能的快照。

UML中的图4
(4)状态图(State Diagram)
显示类的对象可能具备的所有状态,以及那些引起状态改变的事件。状态图是对类的描述的补充。
对象的一个事件可以是另一个对象向其发送的消息,例如到了某个指定的时刻,或者已经满足了某个条件。
状态的变化称之为转换,一个转换也可以有一个与之相连的动作,后者用以指定完成该状态转换应该执行的操作。

UML中的图5
(5)顺序图(Sequence Diagram)
显示多个对象之间的动态协作。
重点是显示对象之间发送消息的时间顺序。
由多个用垂直线显示的对象组成,图中时间从上到下推移,并且顺序图显示对象之间随着时间的推移而交换的消息或函数。
消息用带消息箭头的直线表示,位于垂直对象线之间。

UML中的图6
(6)协作图(Collaboration Diagram)
显示动态协作。
选择顺序图还是协作图的决定条件:
(1)重点强调上下文,选择协作图。
(2)重点强调时间或顺序,选择顺序图。

UML中的图7
(7)活动图(Activity Diagram)
显示一系列顺序的活动,主要描述在一个操作内执行的那些活动。
由多个动作状态组成,这些动作状态包含将被执行的活动(一个动作)的规格说明。
当动作完成后,动作状态将会改变,转换为一个新的状态,从而控制就在这些互相连接的动作状态之间流动。

UML中的图8
(8)组件图(Component Diagram)
用代码组件显示代码物理结构。
组件可以是二进制组件、源代码组件或一个可执行的组件。
根据组件图中显示的那些组件之间的相互依赖关系,可以很容易地分析出其中某个组件的变化将会对其他组件产生什么样的影响。

UML中的图9
(9)部署图(Deployment Diagram)
显示系统中的硬件和软件的物理结构。
可以显示实际的计算机和设备(或者Node),它们之间必要的连接、连接的类型。
也可以显示组件之间的依赖关系。

UML中的模型元素
模型元素:在UML各种图中使用的概念。
一个模型元素是用语义、该元素的正式定义或者用一条明确的语句中该元素所代表的准确意义来定义的。
一个模型元素也有一个与之相对应的视图元素,这些视图元素是模型元素的图形表示或者在UML图中表示元素的图形符号。
常用的模型元素:类、对象、状态、节点、包和组件等。
模型元素对应的视图元素

模型元素中的关系
关系:模型元素之间的相互连接。
UML中定义的关系:
(1)泛化(Generalization):一个元素是另一个元素的特化,也称为继承关系。
(2)关联(Association):类实例之间连接的描述。
(3)聚合(Aggregation):一种关联的形式,一个元素包含其他一些元素。
(4)依赖(Dependency):两模型之间的关系,显示一个元素在某种程度上依赖于另一元素。

UML中的通用机制
UML在所有的图形中都使用一些通用机制来描述图的附加信息。
通用机制包括三个方面的内容:修饰、注解、规格说明。
UML提供的这些视图和图为系统的分析、设计、建模提供了多种图形表达形式,可应用于开发的不同阶段,它们的有机结合可以构建一个完整而一致的系统。
下面针对车载GPS终端说明UML在嵌入式系统设计中的具体应用。


