赵星汉同学的技术博客 Software testing & software engineering

DO178C学习心得(一)软件过程


DO178C学习心得(一)软件过程

DO 178C的软件开发过程

原则

在软件开发过程中,“目标”比“方法”更重要,也更稳定,方法可能会涉及技术和设计工具的进步而发生变化,但是需要达到的目标一般是不会改变的。

因此,DO178C并没有制定采用的设计方法或开发工具,相反,它强调的是一种目标导向的做法:首先,它给出明确的功能和性能目标;其次,它要求给出验证这些目标的方式;最后,它还要求给出达成目标的指标及证明。

计划过程

DO178C规定了五个软件计划:

  1. 软件审定计划:纲领性文件,统领其他所有文档
  2. 软件开发计划:定义软件开发过程,方法和环境
  3. 软件验证计划:定义软件验证过程、方法及环境
  4. 软件构型管理计划:定义软件构型管理过程、方法和环境
  5. 软件质量保证计划: 定义软件质量过程、方法和环境

还规定了三个标准规范:

  1. 软件需求标准: 用于规范软件需求的编写、需求的质量要求和需求的开发及管理方法
  2. 软件设计标准: 用于对软件设计中的不安全特征进行限制和规定
  3. 软件编码标准:定义在所选定的编程语言和编程平台条件下应遵循的编码规则

开发过程

定义了四个子过程:

  1. 软件需求过程:输入为分配给软件的系统需求,输出是软件系统的高级需求(HLR)
  2. 软件设计过程:输入为软件高级需求,软件开发计划和软件设计标准,输出是设计描述,包括软件架构和低级需求
  3. 软件编码过程:根据软件低级需求和软件架构编写软件源代码,输出为代码和目标码
  4. 软件集成过程:该过程对软件源码和目标码进行编译、连接,并加载到系统和设备中,包含了软件集成和软硬件集成两个子过程。

软件综合过程

  1. 软件验证过程:由验证计划定义,用于检测和报告在软件开发过程中可能引入的错误
  2. 软件构型管理过程:由软件构型管理计划定义,与其他软件生命周期过程协同执行,其主要功能为:
    • 用于在执行生命周期中提供确定的、可控的软件构型
    • 提供可执行目标代码的复制能力,当需要检查和修改时可快速复制
    • 在软件生命周期中提供过程输入,输出控制能力,保证过程活动的一致性和可重复性
    • 通过控制构型项、建立构型基础,提供用于检查、判断状态、修改控制的节点
    • 提供控制,保证所有问题都被处理,所有修改都被记录,提交和实现
    • 通过控制软件生命过程的输出提供软件的证明
    • 辅助判断软件产品与需求是否兼容
    • 保证构型项维护了加密、恢复和控制数据等
  3. 软件质量保证过程:由软件质量保证计划定义,用于审核软件的生命周期过程及其输出,确保其目标被实现,错误被检测,评估,跟踪和解决,以保证其他软件生命周期数据能够满足软件需求。
  4. 审定联络过程:该过程用于在整个软件生命周期中建立应用程序与证明授权之间的通讯和理解,辅助软件的证明过程。

BTW: 构型管理和配置管理一个意思,不同圈子翻译的不一样。


Similar Posts

Comments