一种基于UML的嵌入式系统可视化开发方法

文章作者 100test 发表时间 2007:03:13 22:15:56
来源 100Test.Com百考试题网


摘 要  近年来,在嵌入式领域中缺乏一个成熟的始终一贯的形式化开发方法,这已成为制约嵌入式系统发展的瓶颈之一。本文结合统一建模语言UML,对嵌入式系统开发方法进行了有益的探索研究,提出了一种基于UML的适合于嵌入式系统的形式化开发方法,并以嵌入式远程温度监控系统为例,验证了该方法的可行性和有效性。

关键词  UML,嵌入式系统,形式化开发方法

中图分类号: TP31 文献标示码: A

1 引言

随着信息产业和微电子技术的发展,嵌入式系统的功能日渐强大,结构也愈加复杂,传统的嵌入式开发方法已不能满足开发要求,人们开始尝试用一些形式化的开发方法进行开发。一种适合于嵌入式系统的形式化开发方法,不仅能缩短嵌入式系统开发的周期,还能减少开发成本,提高系统质量。 本文结合统一建模语言UML,提出一种嵌入式系统可视化开发方法,并将其实际运用到了嵌入式远程温度监控系统的开发过程中,验证了该方法的可行性和有效性。

2 基于UML 的嵌入式系统可视化开发方法

2.1  统一建模语言UML

UML(Unified Modeling Language) 是一种定义良好、易于表达、功能强大且普遍适用的面向对象和基于构件的系统建模语言。它扩展了现有方法的应用范围,不仅可建立软件系统的模型,还可建立非软件系统的模型,可广泛用于描述系统软件、嵌入式系统、企业机构或业务过程等。 UML由图、视图、模型元素、通用机制和扩展机制等几个部分组成 [2] 。其中图是UML建模的关键,根据图在系统开发过程中不同阶段的应用,可以分为用例图、静态图、行为图、交互图、实现图等五类,这些图为系统的开发提供了多种图形表达形式,应用于建模的不同阶段。

2.2  将UML 语言应用于嵌入式系统开发的优势

随着嵌入式系统的日趋复杂化,较多的系统都需要由一个团队共同完成,因此,团队成员之间的相互合作,软硬件之间的协同开发,乃至开发人员和客户之间的交流都需要有一个统一的标准作为基础。UML正是这样一种标准的系统建模语言。它详细描述系统的内容和工作方法,先进行系统建模后再编写代码,在开始阶段就保证了系统结构的合理性。UML系统模型包含许多不同框图,使项目小组可以从不同角度了解整个系统。另外,UML可以用统一的形式表现软件和硬件,支持循环迭代并可多次修改软硬件方案直到满足要求,可实现软硬件协同设计。 特别的,UML是一种语言,不是方法,它独立于开发过程 [3] ,所以我们可以结合UML语言提出一套针对嵌入式系统的开发过程,从而为嵌入式系统的开发提供一条新的途径。来源:www.examda.com

2.3  基于UML 的嵌入式系统可视化开发方法

文中提出的基于UML的嵌入式系统开发方法支持需求、分析、设计、实现、测试的循环迭代,使用面向对象思想,通过细化分析和设计阶段的步骤,使得整个过程更有条理、充实,更适合于多任务的嵌入式系统开发。方法的需求、分析、设计过程被细化后分别包括了以下几个步骤:

· 需求阶段明确了系统所要实现的功能以及所要达到的性能,是整个系统开发的目标。

功能性需求:明确系统应该提供什么功能。

非功能性需求:明确系统的特定特性或者约束。

· 分析阶段主要是精化和结构化需求,清楚地描述系统内部,是设计阶段的基础。分为两个步骤:

系统架构分析:运用面向对象技术描述系统的静态结构。

系统行为分析:从动态的角度描述系统的对象间相互作用的特性。

· 设计阶段是在对系统各方面有了解的基础上来确定特定的解决方案。分为两个步骤:

分层结构设计:确定了具体实现时软件和硬件的最佳分界。

详细设计:在软件方面是深入到了系统低层信息,如操作的属性、类的流程等;硬件方面则是到了设计具体电路板的阶段。

本方法利用面向对象的概念将系统分成了相互关联却又较独立的模块,一方面方便了系统开发时的迭代过程以及系统的后期维护,设计人员可以根据不同的新的需要对各个步骤中相应部分进行调整来实现改进,这样就可以大量减少重复分析或设计的过程;另一方面,对象概念可以和嵌入式系统中的任务概念很好的映射起来。任务可看成是由一个或多个对象协作而成的,在分析、设计过程中确立对象的同时也就确定了系统的多个任务,为嵌入式系统的多任务特性提供了很好的支持。

本文后续部分将以嵌入式远程温度监控系统为例,简单阐述和验证此方法。

3 系统需求

3.1 功能性需求

功能性需求是系统功能的陈述。在UML中是应用用例图来描述系统功能的。如图1所示,系统大致由下述几个角色和用例组成:

图1 用例图

三个角色:数字式测温仪,Internet远端用户,本地用户。

五个用例:当前温度信息显示、更改最高警戒温度、更改最低警戒温度、修改测温仪工作状态以及登陆服务器(身份验证)。

以上的各个用例只是对系统功能的大致划分,主要目的是为后面的系统分析作基础。



相关文章


CIO:不要过分地痴迷自身领导力
CIO生涯:“五步走”与“进阶口诀”[2]
CIO生涯:“五步走”与“进阶口诀”[1]
8条用于分布式计算的架构技巧[1]
一种基于UML的嵌入式系统可视化开发方法
8条用于分布式计算的架构技巧[2]
Struts框架在小区物业管理系统中的应用
CIO商业技巧:建立一支有商业头脑的队伍
企业转型期CIO如何力挽狂澜
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛