统一建模语言UML在嵌入式系统设计中的应用
发布时间:2008/8/19 0:00:00 访问次数:770
嵌入式系统设计是一个软、硬件结合的协同设计(hardware/software co-design),需要不同技术背景的人共同开发。
这就带来了一个问题,如何使这些具有不同技术背景和专长的人联合开发、协同设计。在软、硬件设计领域中,统一建模语言uml(unified modling language)采用一种简单而直观的图形化方式描述系统设计中的各个问题和细节。不同技术背景的设计师只需懂得简单的 uml 符号就可以轻易地与对方交流、共同设计。正是因为这些特点,在嵌入式系统设计中使用 uml 建模并书写文档通常可以起到事半功倍的效果。
本文将重点讨论如何在嵌入式系统设计中使用 uml 技术,并用车载 gps 终端项目作为实例来具体演示采用 uml 的嵌入式系统设计过程。
1 统一建模语言 uml 及其特点
1.1统一建模语言 uml
统一建模语言 uml 是可视化建模语言中的一种。它将模型中的信息用标准图形元素直观地显示,使用户、开发人员、测试人员、管理人员和其他涉及项目的人员可以更好地交流。最常用的可视建模语言有 booch 法、对象建模技术(omt)和统一建模语言 uml。其中 uml 是 ansi 和 omg 所采用的标准,被世界上绝大多数公司所接受。
uml 是 grady booch、james rumbaugh 和 ivar jacobson 等许多科学家的集体智慧结晶。可以对任何静态结构和动态行为进行系统的建模,适用于系统开发的不同阶段。采用uml进行设计具有以下优势:
不同背景的开发人员和设计师可以互相交流;
可视化描述比较直观;
简单易学、易用;
是行业标准,被绝大多数业内人士认同;
有利于保存系统设计的精髓以供下次开发使用(而不仅仅是一堆电路图和代码);
有利于项目的回溯、测试。
1.2 uml 框图
作为一种可视化建模语言,uml 中的所有语素是一个个框图。设计人员就是用这一个个框图描述整个系统的设计。uml 模型的框图主要有以下几种:
business use case框图和use case框图,前者主要描述整个机构的功能,后者主要从用户的角度描述系统的功能。所以后者通常用于与系统客户交流,提取用户的需求。
class 框图,这一种是静态图,描述系统中的类。在此框图中可以体现类的主要内容和功能、类之间的结构和相互关系。
state chart 框图提供了建模对象的各种状态及它们之间的转换关系。它提供建模系统的动态功能。这些框图广泛用于建立实际的系统,将会生成系统的全部代码。
activity 框图与 state chart 框图同样描述系统的动态功能,但它着重于显示系统的功能流,显示 use case 框图中某个案例(case)的事件流。它定义了工作流从何时开始、哪里开始、按什么顺序发生、最终在哪结束。
sequence 框图显示了 use case 框图中各对象的具体功能流程。sequence 框图演示了业务过程的细节。值得注意的是,这个框图只显示对象,不显示类。即 sequence 框图是针对某个特定情况、特定对象进行的描述。
collaboration 框图与 sequence 框图同样描述对象间的相互关系。但它并不像 sequence 框图那样以时间顺序描述,而是着重显示对象与角色之间的交互。其目的是让质量保证工程师和系统建筑师分析对象之间处理过程的分布情况。如果分布不合理,系 统建筑师可能考虑重新分配处理工作。
component 框图显示模型的物理视图,也显示系统中软、硬件组件及其相互关系。
deployment 框图则显示了系统的物理布局和各组件的位置及配置方法。
这些框图为系统的分析、设计、建模提供了多种图形表达形式,可应用于开发的不同阶段。它们的有机结合可以构建一个完整而一致的系统。下面针对于车载 gps 终端这个具体项目说明 uml 在嵌入式系统设计中的具体应用。
2、uml 在车载 gps 终端设计中的应用
2.1 车载gps终端系统简介
车载 gps 终端是置于机动车内的实时定位装置,如图1所示。它的应用对象是需要定位、调度的车队,例如:运输车队和出租车等。车辆可以通过终端和 gps卫星进行实时、准确的定位,并通过无线通讯网络上报远程的中心系统。中心可以通过终端远程监视车行轨迹,甚至在特殊情况下通过终端控制车辆。同时, 终端还可以起到车载电话的作用,并可在车辆遇险
嵌入式系统设计是一个软、硬件结合的协同设计(hardware/software co-design),需要不同技术背景的人共同开发。
这就带来了一个问题,如何使这些具有不同技术背景和专长的人联合开发、协同设计。在软、硬件设计领域中,统一建模语言uml(unified modling language)采用一种简单而直观的图形化方式描述系统设计中的各个问题和细节。不同技术背景的设计师只需懂得简单的 uml 符号就可以轻易地与对方交流、共同设计。正是因为这些特点,在嵌入式系统设计中使用 uml 建模并书写文档通常可以起到事半功倍的效果。
本文将重点讨论如何在嵌入式系统设计中使用 uml 技术,并用车载 gps 终端项目作为实例来具体演示采用 uml 的嵌入式系统设计过程。
1 统一建模语言 uml 及其特点
1.1统一建模语言 uml
统一建模语言 uml 是可视化建模语言中的一种。它将模型中的信息用标准图形元素直观地显示,使用户、开发人员、测试人员、管理人员和其他涉及项目的人员可以更好地交流。最常用的可视建模语言有 booch 法、对象建模技术(omt)和统一建模语言 uml。其中 uml 是 ansi 和 omg 所采用的标准,被世界上绝大多数公司所接受。
uml 是 grady booch、james rumbaugh 和 ivar jacobson 等许多科学家的集体智慧结晶。可以对任何静态结构和动态行为进行系统的建模,适用于系统开发的不同阶段。采用uml进行设计具有以下优势:
不同背景的开发人员和设计师可以互相交流;
可视化描述比较直观;
简单易学、易用;
是行业标准,被绝大多数业内人士认同;
有利于保存系统设计的精髓以供下次开发使用(而不仅仅是一堆电路图和代码);
有利于项目的回溯、测试。
1.2 uml 框图
作为一种可视化建模语言,uml 中的所有语素是一个个框图。设计人员就是用这一个个框图描述整个系统的设计。uml 模型的框图主要有以下几种:
business use case框图和use case框图,前者主要描述整个机构的功能,后者主要从用户的角度描述系统的功能。所以后者通常用于与系统客户交流,提取用户的需求。
class 框图,这一种是静态图,描述系统中的类。在此框图中可以体现类的主要内容和功能、类之间的结构和相互关系。
state chart 框图提供了建模对象的各种状态及它们之间的转换关系。它提供建模系统的动态功能。这些框图广泛用于建立实际的系统,将会生成系统的全部代码。
activity 框图与 state chart 框图同样描述系统的动态功能,但它着重于显示系统的功能流,显示 use case 框图中某个案例(case)的事件流。它定义了工作流从何时开始、哪里开始、按什么顺序发生、最终在哪结束。
sequence 框图显示了 use case 框图中各对象的具体功能流程。sequence 框图演示了业务过程的细节。值得注意的是,这个框图只显示对象,不显示类。即 sequence 框图是针对某个特定情况、特定对象进行的描述。
collaboration 框图与 sequence 框图同样描述对象间的相互关系。但它并不像 sequence 框图那样以时间顺序描述,而是着重显示对象与角色之间的交互。其目的是让质量保证工程师和系统建筑师分析对象之间处理过程的分布情况。如果分布不合理,系 统建筑师可能考虑重新分配处理工作。
component 框图显示模型的物理视图,也显示系统中软、硬件组件及其相互关系。
deployment 框图则显示了系统的物理布局和各组件的位置及配置方法。
这些框图为系统的分析、设计、建模提供了多种图形表达形式,可应用于开发的不同阶段。它们的有机结合可以构建一个完整而一致的系统。下面针对于车载 gps 终端这个具体项目说明 uml 在嵌入式系统设计中的具体应用。
2、uml 在车载 gps 终端设计中的应用
2.1 车载gps终端系统简介
车载 gps 终端是置于机动车内的实时定位装置,如图1所示。它的应用对象是需要定位、调度的车队,例如:运输车队和出租车等。车辆可以通过终端和 gps卫星进行实时、准确的定位,并通过无线通讯网络上报远程的中心系统。中心可以通过终端远程监视车行轨迹,甚至在特殊情况下通过终端控制车辆。同时, 终端还可以起到车载电话的作用,并可在车辆遇险