基于UML的嵌入式软件开发

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于U M L 的嵌入式软件开发

枣庄学院计算机科学系 贾丽娜

[摘 要]嵌入式技术的广泛应用,使嵌入式系统核心技术得到很大发展,嵌入式软件开发环境的发展,使一直“深埋”于系统的嵌入式应用软件变得开放而易于开发。U M L 是一种面向对象的建模语言而不是一种方法,它独立于任何一种开发过程,但支持过程开发。U M L 开发者提出的开发过程采用用例驱动,是以体系的开发为中心的迭代、递增的过程,是开发嵌入式软件的理想过程。

[关键词]嵌入式系统 迭代增量式软件开发 U M L

1、什么是嵌入式系统

嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗要求的专用计算机系统。嵌入式软件开发环境始终是研究的热点之一。在航天航空、网络、智能电器、仪器仪表、工业自动控制、军事等领域得到广泛应用。

嵌入式系统设计模式主要有:基于A SIC 的嵌入式微处理器、D SP 系统、So C 系统、基于现场可编程逻辑器件FP GA 设计及SoP C 系统设计。随着嵌入式应用的不断的增长,嵌入式系统的需求的复杂性、不确定性也在不断地提高,系统规模逐步地扩大,产品的研发周期又在不停的缩短,这给嵌入式应用软件的开发带来了新的挑战,传统的设计方法已经不能满足设计要求,为

解决设计的困难,将软件工程的理论应用到嵌入式系统设计领域成为发展方向,特别是面向对象的迭代增量式软件设计方法和基于模型的仿真技术在嵌入式系统设计中的应用已成为近年来的研究重点。

2、迭代增量嵌入式软件开发方法传统的嵌入式软件开发环境的最大特点是以源程序的开发和测试为核心的。

嵌入式软件的开发过程和一般软件的开发一样,必须经过软件开发的分析、设计、编码、测试四个阶段。分析过程定义了软件要解决的问题的空间,设计过程定义了问题的解决办法,编码是对设计的具体实现,测试过程可以验证系统是否满足需求、实

现是否满足设计。下图是传统嵌入式软件开发的一般的过程。

图中上面部分就是软件的分析和设计过程,下面部分是软件的实现和测试过程。可以看出,在设计与实现之间存在着一堵

墙,它反应了软件开发过程中的需求分析、设计与具体的实现之间的脱节。这是由嵌入式产品的开发特点所决定的。嵌入式产品的更新很快,这就要求研发周期尽可能的短,同时在开发过程中能动态地调整需求。所以这种静态的开发方式不能适应研发的要求。再有,这种开发方法对需求和设计的验证是在开发过程的最后阶段进行的,这种软件完全实现后的验证往往会带来很大风险和开支,甚至由于分析或设计的错误或缺陷而影响产品的上市。

在嵌入式软件的开发过程中需要环境和工具的支持。传统的嵌入式软件开发环境主要是为开发人员提供了基于嵌入式操作系统的高级语言编程环境以及基于源程序调试的各种界面和手段。在软件开发过程的其它阶段也可以采用相应的CASE 工具(如需求分析工具等)以提高软件开发的效率。

在嵌入式软件开发过程中,若采用传统的顺序开发方法,往往造成在软件开发过程中的需求分析和设计与具体的实现之间的脱节。开发初期所做的需求分析及设计,在后期的实现和测试中往往要做变动,甚至是抛弃了前期的这些工作。而嵌入式产品的开发涉及多个环节,软件的需求很难很快的确定下来,常常是不断变化的,再加上开发的周期一般都很短,所以嵌入式软件开发都采用迭代递增的开发模式。

迭代增量式软件开发方法不是在项目结束时才一次性提交软件,而是分块逐次开发和提交。每一次迭代都包含了软件生命周期的所有阶段:分析、设计、实现和测试。因为迭代式软件开发方法可以尽早发现项目的风险,并在软件开发过程中对这些风险进行有效的控制,所以这种开发方法已得到肯定。

在开发初期,并不是所有的需求都确定,这时可以将那些已经确定的需求进行分析、设计、实现、测试和验证。这部分工作结束时,又有新的需求了,可以按上面的步骤进行,经过反复迭代,

系统就逐步设计完成。

3、基于U M L 的嵌入式软件开发环境

3.1U M L 概述

在迭代式的开发过程中如果采用传统的手工编码、基于源程序的测试手段,必将影响迭代周期,基于模型的调试就十分必要。

U M L 是面向对象的标准建模语言,是面向对象技术领域中的重要成果。U M L 的定义包括U M L 语义和U M L 表示法两个部分。U M L 为对象的结构模型和行为模型定义了语义,结构模型强调系统中对象的结构,它包括类、接口、属性和关系,行为模型强调系统中对象的行为,它包括它们的交互作用、合作性和

状态历史。

U M L 是一种语言,不是方法,它独立于任何一种开发过程,但支持过程。U M L 开发者提出的开发过程是用例驱动、以体系结构为中心、迭代递增的过程,这正是嵌入式实时应用软件开发的理想过程。在应用标准建模语言U M L 时、必须有相应的环境。

U M L 的目标是以面向对象图形的方式来描述任何类型的系统,可以为任何具有静态结构和动态行为的系统进行建模。因此,使用U M L 可以很好地完成嵌入式实时系统的建模。

3.2.基于U M L 的嵌入式软件开发环境组成

有效的嵌入式软件开发环境应该支持可视化建模、支持基于模型调试、支持迭代式开发方法。开发环境至少应该包括可视化建模、可执行的模型、模型代码的相关性、实时框架四个部分。

3.2.1可视化建模

面向对象的分析和设计应该从建模开始,建模是面向对象分析和设计的核心,也是分析和设计过程中最基本、最关键的活动之一。U M L 不仅适用于以面向对象技术描述的任何类型的系统,而且适用于系统开发的不同阶段。开发环境可采用标准的U M L 为系统建模。根据开发过程的不同阶段的具体要求,利用U M L 的不同的图来描述系统的各种静态结构模型和动态行为

模型。

3.2.2可执行的模型

基于模型的调试是迭代式开发方法的主要特点。通过模型级调试、验证,可以尽早发现系统的的设计错误或缺陷,从而较

早地确定或降低项目的风险。这就要求所建的模型应该是可执行的模型。开发环境应该支持模型的运行和调试,并提供各种基

于模型的调试的手段。(下转第538页)

相关文档
最新文档