SMC-S-012 软件开发

SMC-S-012 软件开发

美国空军太空司令部空间与导弹系统中心(SMC)发布的“SMC-S-012软件开发”标准旨在为关键任务系统的软件开发活动定义统一的要求。该标准基于美国国防部制定的“MIL-STD-498军用标准:软件开发与文档编制”。

SMC-S-012 软件开发

本标准适用于包括软件(如硬件软件系统)、纯软件系统和独立软件产品在内的任务关键型系统的开发。该标准可适用于执行软件开发的承包商或购买的内部机构。该标准可适应其适用的每个软件类别。

该标准独立于任何特定的软件开发方法或工具。本标准并未要求强制使用任何特定的方法或工具。

用于组织软件开发过程中主要软件活动的框架称为软件开发生命周期模型。

  • 开发人员必须选择适合正在开发的软件的软件开发生命周期模型或模型。一个软件项目可以有多个软件开发生命周期模型,用于开发不同类别的软件。
  • 开发人员必须在附加的“软件开发计划”模板中记录所选的软件开发生命周期模型。
  • 开发人员必须在软件开发计划中提供项目将用到的每个软件开发生命周期模型的描述。
  • 对于要使用的每个软件开发生命周期模型,开发人员必须在软件开发计划中定义:
    • 它将在系统开发生命周期的哪个阶段被使用?
    • 它将在什么条件下使用?
    • 使用哪些软件元素
  • 开发者必须建立符合合同要求的软件开发流程。
  • 软件开发过程应包括以下主要活动和集成过程:
    • 项目规划与控制
    • 创建软件开发环境
    • 系统需求分析
    • 系统架构设计
    • 软件需求分析
    • 软件架构和设计
    • 软件实施和单元测试
    • 单元集成和测试
    • 软件元素资格测试
    • 软件-硬件元素集成和测试
    • 系统资格测试
    • 准备软件以过渡到运营
    • 准备软件过渡到维护
    • 集成流程:
      • 软件配置管理
      • 软件同行评审和产品评级
      • 软件质量保证
      • 纠正措施
      • 联合技术和管理评审
      • 软件风险管理
      • 软件测量
      • 居文利克和吉兹利利克
      • 软件团队成员管理
      • 与软件 IV&V 代理接口
      • 与合作伙伴开发商的协调
      • 改进项目流程

这些重要活动可能会重叠、迭代实施或以不同的方式实施。它涉及软件的各种元素,并且不一定按照上面列出的顺序执行。

  • 开发人员的软件开发过程应该在软件开发计划中描述。

软件开发的通用要求包括开发人员满足本标准定义的详细要求的一般要求。更详细的要求包含在标准附件(附件 H.1)中。

  • 软件开发方法:开发人员必须对所有软件开发活动采用系统的、记录的方法。这些系统的软件开发方法应该在软件开发计划中具体说明。
  • 软件产品标准:开发人员制定标准来表示需求、架构、设计、代码、测试用例、测试程序和测试结果。这些产品表示标准在软件开发计划中指定。开发人员应用软件开发计划中指定的标准来表示需求、架构、设计、代码、测试用例、测试程序和测试结果。
  • 可追溯性:可追溯性提供了两个相关产品的内容之间的关系,例如从每个软件需求到满足该需求的软件设计组件的关系。双向可追溯性确保两个相关产品的内容之间的双向关系。这种双向关系的一个例子是从每个软件需求到满足该需求的软件设计组件的可追溯性,以及从每个设计组件到设计组件满足的软件需求的可追溯性。本节中的双向可追溯性要求的目的是向上和向下追溯,以确保:
    • 证明所有需求都已分配给组件、实施并测试
    • 证明无需满足额外要求
    • 提供有关拟议变更影响的信息
    • 提供有关已发现问题的影响的信息
    • 提供软件维护的信息。
  • 可重复使用的软件产品:开发人员必须确定将用于满足合同要求的可重复使用的软件产品。应在软件开发计划中指定可重用软件产品的搜索范围。开发人员必须评估将用于满足合同要求的可重用软件产品。评估可重用软件产品的标准应按照软件开发计划中的规定执行。开发者必须至少使用标准附件中的评估标准来选择可重用的软件产品(附件B)。对于不同的软件类别和不同的关键要求,评估标准可能具有不同的权重。所选用的可复用软件产品必须满足合同中的数据权利要求。可重用软件产品可以按原样使用,也可以修改后使用,以满足全部需求或部分需求。

我们的组织多年来一直致力于通过广泛的测试、测量、分析和评估研究为各行各业的企业提供支持,拥有强大的员工队伍,密切关注世界科学技术领域的发展并不断完善自己。在此背景下,还按照“SMC-S-012软件开发”标准为企业提供测试服务。

WhatsApp