分享
 
 
 

UML在嵌入式系统设计中的应用(1)

王朝other·作者佚名  2008-06-01
窄屏简体版  字體: |||超大  

嵌入式系统设计是一个软、硬件结合的协同设计(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在嵌入式系统设计中的具体应用。

QQread.com

推出各大专业服务器评测 linux服务器的安全性能

SUN服务器

HP服务器

DELL服务器

IBM服务器

联想服务器

浪潮服务器

曙光服务器

同方服务器

华硕服务器

宝德服务器

2、 UML在车载GPS终端设计中的应用

2.1车载GPS终端系统简介

车载GPS终端是置于机动车内的实时定位装置,如图1所示。它的应用对象是需要定位、调度的车队,例如:运输车队和出租车等。车辆可以通过终端和GPS卫星进行实时、准确的定位,并通过无线通讯网络上报远程的中心系统。中心可以通过终端远程监视车行轨迹,甚至在非凡情况下通过终端控制车辆。同时,终端还可以起到车载电话的作用,并可在车辆遇险时进行报警。另外,通过终端车辆还可以接收少量的调度信息。

2.2 需求分析

在对系统进行需求分析时,可以使用Use Case图进行功能上的需求分析。Use Case图分角色(Actor)和案例(Case)两部分。角色是与系统交互的人或物,而案例是系统提供的功能块。使用Use Case观察系统能够将系统实现与系统目标分开,有助于开发人员了解最重要的部分,满足用户需求,而不会沉浸于实现细节。

对于车载GPS终端,主要的角色有两种:车载终端用户和监控中心用户。终端用户可以报警,打车载电话等;而监控中心可以查询车辆位置,发送调度信息。其Use Case框图如图2所示。

2.3 规格说明

规格说明比需求分析更具体,通过UML设计可以使规格说明更直观、更清楚。首先,使用Class框图描述系统处理的数据结构。例如在车载GPS终端的规格说明设计时可以使用Class框图描述需要接收的GPS卫星信号,如图3所示。

第二,在规格说明阶段,还需要识别出系统的对象。首先以功能块划分,广泛地找出系统的主要对象;然后使用Collaboration框图描述它们之间的关系。图4描述了车载GPS终端的主要对象,根据框图可以进行进一步的细化。

最后,在规格说明阶段进行系统的业务描述。即规范系统完成一定功能的主要流程。这可以利用Activity框图进行。图5显示了GPS数据到达时,车载GPS终端系统所进行的处理流程。

2.4 系统设计

规格说明完成后,需要对系统的各个模块及模块之间的关系仔细地分析,从而确定哪些部分使用硬件完成,哪些部分使用软件实现。在本例中,需要硬件实现的模块有:GPS接收模块、电源模块、用户控制模块、LCD显示模块和GSM通讯模块。所有的控制逻辑和数据计算全部由主控制器的软件实现。

随后,系统设计分为两个分支:硬件设计及软件设计。使用UML的Collaboration图和Component图对系统的硬、软件分别进行系统设计。图6用Component框图描述了车载GPS终端系统的软件系统架构。

2.5构件设计

接下来对每一个系统构件进行具体的设计。对于某些大型工程,甚至需要把每一个构件作为一个项目,重新以需求分析、规格说明开始展开构件设计循环。在构件设计中,除了可以使用前文介绍过的各种UML框图外,通常还需要使用State Chart、Sequence这两种框图描述具体的系统流程细节。

在本例中,GSM模块共有四个状态:待命、有问题、通话中、短消息通讯中。使用State Chart框图描述它们之间的转换关系,如图7所示。

Sequence框图显示了一个特定对象进行特定操作时所碰到的流程。图8显示了车载终端用户甲在碰到危险按下报警按钮后系统的处理过程。

2.6 集成测试和部署

在集成测试时,可以联合使用所有的UML框图认真分析每个构件的原理,针对每一个系统功能、每一个可能发生错误的过程写出相应的测试程序,进行完整而可靠的程序测试。

利用UML和系统的设计方法可以使传统的嵌入式系统设计离别“手工作坊”的开发方式,大大提高嵌入式系统的开发速度和产品质量,增强设计的可复用性。

但是UML是图形化描述语言,比较适用于面向对象的程序设计;对于精确的规格设计或非面向对象的语言设计来说就不尽如人意了。在具体应用中,灵活应用注释功能,把框图对应模块所需的具体规格要求以注释的形式写在框图中,充分利用State Chart和Sequence这些框图来完成面向过程部分的设计。 (责任编辑:铭铭)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有