Skip to content

软件工程 第三部分

第七章 软件生存周期过程与管理

生命周期的过程划分,即生命周期包含哪些过程 生命周期过程的类型:基本过程、支持过程、组织过程 每一过程包含哪些任务 每一种生命周期模型的特点

第一节 软件生存周期过程概述

  • 《ISO/IEC软件生存周期过程12207-1995》 标准
  • 《ISO/IEC软件生存周期过程12207-2008》 标准
  • 基本思路是:1 => 1..n 过程类 => 过程 => 活动 => 任务

《ISO/IEC软件生存周期过程12207-1995》 标准

软件生存周期过程的分类:

  1. 基本过程
  2. 支持过程
  3. 组织过程
基本过程

(1)指那些与软件生产直接相关的活动集。 (2)包括5各过程:

  1. 获取过程

  2. 供应过程

  3. 开发过程 开发过程包含的活动

    • 过程实现 过程实现包含的任务

      • 选择合适的生存周期模型
      • 选择相应的标准、方法、工具和程序设计语言
      • 制定实施开发计划
      • 可以使用一些非交付的软件项
    • 系统需求分析

      • 建立系统需求规格说明
      • 对系统需求进行评估
        • 有关获取方面需要的可追踪性
        • 有关获取方面需要的一致性
        • 可测试性
        • 系统体系结构设计的可行性
        • 运行与维护的可行性
    • 系统体系结构设计

      • 建立系统的顶层体系结构
      • 对体系结构及每一项的需求进行评估
        • 系统需求的可追踪性
        • 与系统需求的一致性
        • 所使用的设计标准和方法的适宜性
        • 软件项满足其所分配的需求的可行性
        • 运行与维护的可行性
    • 软件需求分析

      • 建立软件需求规格说明
      • 对软件需求进行评估
      • 联合复审
    • 软件体系结构设计

      • 把对软件项的需求转变为一种体系结构
      • 对该软件项的外部接口和各构件之间的接口进行顶层设计
      • 进行数据库的顶层设计
      • 编制用户文档的最初版本
      • 为软件集成定义初步的测试需求文档
      • 对软件项的体系结构、接口和数据库设计进行评估
      • 实施联合评审
    • 软件详细设计

    • 软件编码和测试

    • 软件集成

    • 软件合格性测试

    • 系统集成

    • 系统合格性测试

    • 软件安装

    • 软件验收支持

  4. 运行过程

  5. 维护过程

支持过程
  • 是指有关各方按他们的目标所从事的一系列支持活动集。支持活动有助于提高系统或软件产品的质量。

  • 文档过程

  • 配置管理过程

    • 过程实现:编制配置管理计划
    • 配置标识:为项目需要标识的并加以控制的软件项及其版本,制定一个方案
    • 配置控制:标识并记录变更请求
    • 配置状态统计:编制管理记录和状态报告
    • 配置评价
    • 发布管理和交付
  • 质量保证过程

  • 验证过程

  • 确认过程

  • 联合评审过程

  • 审计过程

  • 问题解决过程

组织过程
  • 与软件生产组织有关的活动集
  • 包括4个过程:
    • 管理过程

      • 启动与范围定义
      • 规划
      • 测量
      • 执行与控制
      • 评审与评价
      • 结束处理
    • 基础设施过程

    • 培训过程

    • 改进过程

《ISO/IEC软件生存周期过程12207-2008》 标准

  • 2个过程类、7个过程组、43个过程
2个过程类
  1. 系统语境的过程(1-4)
  2. 软件开发的过程(5-7)
7个过程组
  1. 协议过程组
  2. 项目过程组
  3. 技术过程组
  4. 组织上项目使能过程组
  5. 软件实现过程组
  6. 软件支持过程组
  7. 软件复用过程组

第二节 过程描述

结构:过程->活动->任务

过程: 过程名 意图 结果 活动: 活动名 任务: 任务名

  • 供应过程

    1. 意图:为获取方提供满足所协商需求的产品或服务。
    2. 活动和任务
      • 活动1:机遇标识
      • 活动2:供应方投标
      • 活动3:合同协商
      • 活动4:合同执行
    3. 结果
      • 标识了产品或服务的获取方
      • 对获取方的要求作了必要的响应
      • 建立了获取方和供应方之间的协议
      • 供应方开发了满足所协商需求的产品或服务
      • 按所协商的需求向获取方交付了相应的产品或服务
      • 按所协商的需求安装了产品
  • 软件实现过程

    1. 意图:把已规约的行为、接口和实现约束转换为一些动作,创建称为“软件项”的软件产品和服务作为系统元素。
    2. 活动和任务 活动:软件实现策略
    3. 结果
      • 定义了实现策略
      • 标识了有关设计方面的实现技术约束
      • 实现了一个软件
      • 按提供协议,把该软件打包成一个软件并存储
  • 软件需求分析过程

    1. 意图:建立系统软件部分的需求
    2. 活动和任务
      • 任务1:建立软件需求和文档
      • 任务2:评估软件需求,并建立相应的评估结果文件
      • 任务3:按软件复审过程进行软件需求复审
    3. 结果
      • 需求已分配给系统的软件元素
      • 已分析软件需求的正确性和可测性
      • 已了解软件需求对运行环境的影响
      • 在软件需求和系统需求之间建立了一致性和可跟踪性
      • 已定义了实现软件需求的优先级别
      • 软件需求已得到批准并按需求进行了调整
      • 针对软件需求的更改对成本、进度和技术影响,已进行了相应的评估
      • 建立了软件需求的基线,并与有关部门进行了沟通
  • 软件体系结构设计过程

    1. 意图:为软件的实现和按需求进行验证提供涉及方案
    2. 活动和任务
      • 软件体系结构设计
    3. 结果
      • 开发一种软件体系结构设计,描述实现该软件需求的软件项
      • 设计每一软件项的内部接口和外部接口
  • 软件验证过程

    1. 意图:证明软件产品是否满足了所规约的需求
    2. 活动和任务
      • 过程实现
      • 验证
    3. 结果
      • 开发并实现了验证策略
      • 标识了验证准则
      • 执行了所需要的验证活动
      • 标识并记录了缺点
      • 给出了可用于客户和其他参与人员的验证结果
  • 软件确认过程

    1. 意图:证实所期望使用的软件产品是否满足需求
    2. 活动和执行
      • 过程实现
      • 确认
    3. 结果
      • 开发并实现了确认策略
      • 标识了所有需要的软件工作产品的确认准则
      • 执行了所需要的确认活动
      • 标识并记录了发现的问题
      • 提供了证据证明:软件产品能够按照用户所期望的方式来使用
      • 给出了可用于客户和其他参与人员的验证活动

第三节 应用说明

是对标准“ISO/IEC系统与软件工程-软件生存周期过程12207-2008”的应用说明

  1. 系统和软件
    • 软件是整个系统的组成部分
    • 区分系统需求分析和软件需求分析
  2. 与《ISO/IEC系统生存周期15288》的关系
    • 当系统中包括非常重要的非软件因素时,要应用《ISO/IEC系统生存周期15288》。
  3. 组织层和项目层
    • 项目可能由组织执行
  4. 过程之间的时序关系
    • 没有明确过程、活动、任务之间的时间依赖的序列
    • 支持活动之间的迭代和再现
  5. 过程分解
    • 把过程划分为一些小的“片段”
  6. 生存周期模型和阶段
    • 用生成周期模型对系统或软件产品的生存模型化
    • 模型由阶段组成
  7. 剪裁
    • 针对特定的情况,修改生存周期过程

P41 完