1 目的
实施过程 1的目的是实现指定的系统要素。
此过程将需求、架构和设计(包括接口)转化为创建系统元素的操作,根据所选实施技术的实践,使用适当的技术专业或学科。此过程的结果是满足指定的系统需求(包括分配和派生需求)、架构和设计的系统元素。
对于软件系统来说,实施过程的目的是实现软件系统元素。
软件系统元素可以包括硬件、软件和服务。对于软件实施,此过程将指定的设计、行为、接口和实施约束转换为操作,从而创建作为软件产品或服务实施的软件系统元素,也称为“软件项目”。
软件实施是通过验证满足指定要求和通过确认满足利益相关者 2要求的软件元素的结果。软件实施包括构建(新建软件元素的编码)、获取新软件包(例如,来自开源、商业或组织来源)或重新使用现有元素(有或无修改)的各种组合。
软件实施通常涉及使用协议流程 3来获取非开发项目(NDI),例如硬件和操作系统(平台)或启用系统和服务。软件实施通常与软件集成同时执行。实施通常与所有技术管理流程和许多技术流程一起执行,特别是:
验证过程4提供客观证据, 证明软件实施满足其规定的要求,并识别实施相关信息项(例如系统/软件需求、架构、设计或其他描述)、流程、软件元素、项目、单元中的异常(错误、缺陷、故障);
- 验证过程, 确认实施满足特定软件工作产品的预期用途。
2 结果
成功实施实施过程的结果是:
- 确定影响需求、 架构或设计的实施约束。
- 实现了系统元素。
- 系统元素被包装或存储。
d)实施所需的任何支持系统或服务均可供使用。
e)建立可追溯性 5。
3 活动和任务
项目应根据组织有关实施过程的适用政策和程序实施以下活动和任务。
a)准备实施。此项活动包括以下任务:
1)定义实施策略,考虑以下几点:
- 开发政策和标准, 包括管理适用的安全、隐私和环境实践的标准;编程或编码标准;单元测试政策;以及用于实施安全功能的特定语言标准;
二) 对于重用或改编的软件,确定所用系统要素的级别、来源和适用性以及供应链的安全性 6的方法;
三) 软件开发(构建)和单元测试开发的程序和方法;以及在实施过程中使用同行评审 7、单元测试和演练;
四) 在软件构建过程中使用CM控制;
五) 改变手动流程的管理考虑因素;
六) 实施优先事项,支持数据和软件迁移和过渡,以及淘汰遗留系统;
七) 创建手动或自动测试程序,在创建软件单元之前验证软件单元是否满足其要求(测试驱动开发);以及
八) 用于实现和管理需求、模型和原型、可交付系统或软件元素以及测试规范和测试用例的全面或专业的生命周期开发和支持环境。
注意:实施策略通常记录在项目的 SDP 或 SEMP 中,有时也记录在 PMP 中。
2) 识别实施策略和实施技术对系统/软件需求、架构特点、设计特点或实施技术的约束。
注:约束包括所选实施技术(如软件、操作系统、数据库管理系统、网络服务)的当前或预期限制、收购方为适应而提供的材料或系统元素,以及使用所需的实施支持系统而导致的限制。
注:软件的实施策略通常识别并分配“实施”标准,例如软件架构和设计特性、系统 / 软件要求(包括软件保证、可用性考虑、配置管理、可追溯性或其他需满足的条件)。这些标准可以阐明适当的单元聚合级别、规范和约束。
3)识别和规划必要且独特的软件环境,包括支持系统或支持开发和测试所需的服务。
注:软件的实施通常使用在配置控制下与操作(生产)环境分离的不同环境。常见的实施过程、支持系统和服务包括用于实现和管理需求、模型和原型、可交付元素和测试环境、规范和测试用例的全面或专门的生命周期开发和支持环境;外部系统的模拟器、培训系统;以及用户文档的内容管理系统。
- 获取或获得对软件环境和其他支持系统或服务的访问权。
注意验证过程用于客观确认集成支持系统是否实现了其预期用途和功能。
b)执行实施。此项活动包括以下任务:
注:在整个实施过程中,验证过程用于客观地确认系统要素符合要求。确认过程 8用于客观地确认要素适合根据利益相关者的要求在预期的操作环境中使用。
1)根据策略、 约束和定义的实施,实现或调整软件元素程序。
注:软件元素是从组织资产 9中获取、识别以供重复使用,或开发(构建)的。采购的软件元素范围可以从根据组织或项目采购规则进行的简单产品采购到涉及采购和供应过程的复杂软件系统采购。
适应性包括可重复使用或修改的软件元素的配置。构建可以涉及软件编码、现有单元的自适应重用和集成、重构、数据库开发以及为每个单元构建手动或自动测试程序。
注:对于已开发的软件元素,在最低的实施级别上构建可执行软件单元(通常带有相关的数据结构、应用程序编程接口、服务描述、用户文档、测试用例或其他元素)、进行控制、提供给授权角色 10,并根据开发工件的 CM 程序进行存储。
注:《软件工程知识体系指南》SWEBOK 对软件构造进行了详细的讨论。此知识领域涉及基础知识、管理、测量、实际考虑(例如,构造设计、语言、测试、重用和集成)、构造技术(例如,面向对象、 错误和异常处理、可执行模型、分布式软件)以及工具和环境。
2)实现或调整软件系统的硬件元素。
注:硬件元素是使用与所选物理实施技术和材料相关的适用技术来获取或制造的。适当时,将验证硬件元素是否符合指定的系统要求和关键质量特性。在重复实施系统元素(例如,大规模生产、更换系统元素)的情况下,应定义实施程序和制造过程,并可实现自动化,以实现一致和可重复的可生产性。软件系统中的一些常见硬件元素包括获取的 COTS 系统的集成、特殊修改(例如,用于测试或操作环境)以及带有嵌入式软件的硬件控制。
3)实现或调整软件系统的服务元素。
注:服务元素包括一组要提供的服务。ISO/IEC20000 (IEEEStd20000) 适用于管理以服务形式实现的系统元素,包括策略、设计和过渡。根据需要,验证服务元素是否符合系统要求和服务标准。例如,验证操作资源元素是否符合系统要求和操作概念。服务元素可以包括网络通信、培训、软件打包和分发服务、针对客户特定需求的软件定制服务、操作和安全监控以及用户协助。
4)根据实施策略评估软件单元及附属数据或其他信息和标准。
注:评估标准通常包括单元需求和测试标准的满意度、单元测试覆盖率、可追溯性要求、与软件元素需求或设计的一致性、内部单元需求一致性以及进一步过程活动的可行性,例如集成、验证、确认、操作和维护。
注:使用管理实施结果活动来记录施工和处理异常。
- 打包并存储软件系统元素。
注:包含软件系统元素以实现其特性的延续。运输和存储及其持续时间可能会影响指定的包含性。对于软件,已实施软件的主副本(电子版或物理媒体)存储在受控位置,并可供授权角色使用(例如,用于集成和过渡过程 11)。存储元素时,配置和产品信息由配置管理和信息管理过程捕获。
6)记录软件系统元素满足要求的客观证据。
注:证据是根据供应协议、法律和组织政策提供的。证据包括由于处理变更或在验证和确认过程中发现的不符合项而对元素进行的修改。客观证据是通过配置管理过程建立的元素实施配置基线的一部分,包括单元测试、分析、检查、走查和测试的结果。
通过活动、演示、产品或技术评审或其他验证练习。
c)管理实施结果。此项活动包括以下任务:
1)记录实施结果和遇到的异常情况。
注:这包括由于实施策略、实施支持系统或错误的软件系统定义而导致的异常。项目评估与控制和质量保证流程用于分析数据以确定根本原因 12、采取纠正或改进措施并记录经验教训。
- 保持已实施的软件系统元素的可追溯性。
注:为支持操作和维护期间整个生命周期的可追溯性,需记录供应链中的软件许可证和其他系统资产的来源。信息管理和配置管理流程用于维护软件应用程序及其所需基础设施(主机系统)的许可证和维护支持条款。ISO/IEC19770 标准为 IT 资产管理系统提供了要求。
注:在实施元素和软件系统架构、设计和相关需求(包括实施所需的接口要求和定义)以及确认和验证计划、程序和结果之间保持双向可追溯性。
- 提供已选定的基线关键工件和信息项。
注意配置管理流程用于建立和维护配置项和基线。此流程确定基线的候选者,而信息管理流程控制信息项。
对于此过程,软件系统元素(例如源代码)、软件包和单元测试结果是典型的基线工件。