嵌入式软件协同开发方案
|
| 随着国内嵌入式芯片技术方面的突破,以及军方在电子战信息战环境下对更加智能化装备需求的增长,嵌入式系统在型号项目中将具有越来越重要的地位。持续不断地增强嵌入式软件研制能力和研制效率,对保障重点型号顺利完成具有十分重要的意义 |
| 在现有条件下,软件开发的大致流程如下 |
| |
根据任务书的要求写出概要设计和详细设计 |
| |
编程人员在软件开发环境中进行编写代码、调试和修改 |
| |
软件测试 |
| |
补充其他相关文档 |
| |
交付 |
|
| 这种开发方式带来一系列问题,表现为 |
| |
在项目早期无法验证软件设计是否符合任务书的要求以及软件设计本身的合理性,导致开发过程反复,影响交付周期和交付质量 |
| |
软件文档不全或与代码不一致、软件交付后维护和升级困难 |
| |
软件不容易重用 |
| |
代码质量参差不齐,受编程人员个人水平制约严重 |
| |
开发人员为开发进度疲于奔命 |
| |
不适应团队开发的需要等等 |
|
| 我们目前的面对现状是开发方式还停留在“手工作坊”阶段,对于规模比较大的项目没有合适的工具建立完善的系统模型,导致在系统实现分工、时间和消费估计方面都很不精确。同时工程师协同开发能力比较弱,目前还处于各自为政的状态,没有合适的工具让他们成为一个强大的开发团队,特别是在进行存在多种配置、多种开发版本的大型系统时,没有合适的交流沟通手段,不能形成应有的战斗力。 |
| 国际上一些优秀的国防电子设备供应商都很重视嵌入式软件工程化开发环境的建设。在这些先进的开发环境中,编写源代码只占整个开发过程的 30% ,从工程角度对产品功能进行划分,从设计角度对软件进行优化等工作则占去主要的开发时间,相关文档则采用自动生成的办法形成。而使用传统的开发方式,编写源代码占去了开发的绝大部分时间,文档还必须手工编写。两种方法开发出的产品成熟度是不言而喻的。要想缩短这种差距,一方面要加强技术人员软件工程化方面的培训,另一方面要进行软件开发环境的建设 |
| 从国际上来看,适应强实时性要求的嵌入式软件的开发技术已经进入到自动化、图形化开发阶段。用户通过功能强大的图形化软件开发工具对系统设计师提出的软件功能需求进行细化和分解,建立整套系统的模型。只要能够建立起正确的系统模型,好的图形化开发工具就可以根据该模型生成 C/C++/Java/Ada 语言的源代码、标准化的软件说明文档,甚至可对系统功能进行模拟仿真。开发者将主要精力用于软件设计,从而极大提高软件产品的开发效率 |
| 下面的“ V ”型图显示了图形化软件开发工具在整个产品开发过程中所占的地位 |
| |
| 通过引入和掌握这些高水平的开发平台和软件工程方法,可使一般缺乏管理经验的软件工程师迅速提升为系统工程师,使过去占开发比重很大的代码编写工作转为通过利用软件自动生成代码,并且在系统模型建立后就拥有了完善的支持文档。可有效节省 30% 到 70% 的开发工作量。借助自动化、图形化的嵌入式软件开发环境,开发团队的工程化能力和管理水平将大大提升,培养系统工程师的时间可以从 5 年以上缩减到 1 年左右 |
通过建立完善的嵌入式软件开发环境,可以提高开发嵌入式系统的规模,缩短开发周期,降低开发费用,提高员工的开发素质,并且开发的产品更健壮,更能满足需求。
综合国际上先进的经验、国内的现状和未来发展的需要,我们认为嵌入式软件协同开发环境的建设方案可以从以下几方面考虑:
| |
软件开发过程管理工具 |
| |
需求管理与跟踪工具 |
| |
配置管理 / 变更软件 |
| |
系统分析与系统设计工具 |
| |
软件开发与实现工具 |
| |
基于模型驱动的嵌入式应用软件可视化开发环境 |
| |
模型验证工具 |
| |
操作系统 |
| |
嵌入式代码调试编译环境和常用的嵌入式实时操作系统 |
| |
人机界面工具 |
| |
嵌入式软件测试环境,包括静态测试和动态测试 |
| |
硬件目标机 — 快速原型 |
| |
成熟的方法论指导 |
|
| |