软件工程 第三部分
第七章 软件生存周期过程与管理
生命周期的过程划分,即生命周期包含哪些过程 生命周期过程的类型:基本过程、支持过程、组织过程 每一过程包含哪些任务 每一种生命周期模型的特点
第一节 软件生存周期过程概述
- 《ISO/IEC软件生存周期过程12207-1995》 标准
- 《ISO/IEC软件生存周期过程12207-2008》 标准
- 基本思路是:1 => 1..n 过程类 => 过程 => 活动 => 任务
《ISO/IEC软件生存周期过程12207-1995》 标准
软件生存周期过程的分类:
- 基本过程
- 支持过程
- 组织过程
基本过程
(1)指那些与软件生产直接相关的活动集。 (2)包括5各过程:
获取过程
供应过程
开发过程 开发过程包含的活动
过程实现 过程实现包含的任务
- 选择合适的生存周期模型
- 选择相应的标准、方法、工具和程序设计语言
- 制定实施开发计划
- 可以使用一些非交付的软件项
系统需求分析
- 建立系统需求规格说明
- 对系统需求进行评估
- 有关获取方面需要的可追踪性
- 有关获取方面需要的一致性
- 可测试性
- 系统体系结构设计的可行性
- 运行与维护的可行性
系统体系结构设计
- 建立系统的顶层体系结构
- 对体系结构及每一项的需求进行评估
- 系统需求的可追踪性
- 与系统需求的一致性
- 所使用的设计标准和方法的适宜性
- 软件项满足其所分配的需求的可行性
- 运行与维护的可行性
软件需求分析
- 建立软件需求规格说明
- 对软件需求进行评估
- 联合复审
软件体系结构设计
- 把对软件项的需求转变为一种体系结构
- 对该软件项的外部接口和各构件之间的接口进行顶层设计
- 进行数据库的顶层设计
- 编制用户文档的最初版本
- 为软件集成定义初步的测试需求文档
- 对软件项的体系结构、接口和数据库设计进行评估
- 实施联合评审
软件详细设计
软件编码和测试
软件集成
软件合格性测试
系统集成
系统合格性测试
软件安装
软件验收支持
运行过程
维护过程
支持过程
是指有关各方按他们的目标所从事的一系列支持活动集。支持活动有助于提高系统或软件产品的质量。
文档过程
配置管理过程
- 过程实现:编制配置管理计划
- 配置标识:为项目需要标识的并加以控制的软件项及其版本,制定一个方案
- 配置控制:标识并记录变更请求
- 配置状态统计:编制管理记录和状态报告
- 配置评价
- 发布管理和交付
质量保证过程
验证过程
确认过程
联合评审过程
审计过程
问题解决过程
组织过程
- 与软件生产组织有关的活动集
- 包括4个过程:
管理过程
- 启动与范围定义
- 规划
- 测量
- 执行与控制
- 评审与评价
- 结束处理
基础设施过程
培训过程
改进过程
《ISO/IEC软件生存周期过程12207-2008》 标准
- 2个过程类、7个过程组、43个过程
2个过程类
- 系统语境的过程(1-4)
- 软件开发的过程(5-7)
7个过程组
- 协议过程组
- 项目过程组
- 技术过程组
- 组织上项目使能过程组
- 软件实现过程组
- 软件支持过程组
- 软件复用过程组
第二节 过程描述
结构:过程->活动->任务
过程: 过程名 意图 结果 活动: 活动名 任务: 任务名
供应过程
- 意图:为获取方提供满足所协商需求的产品或服务。
- 活动和任务
- 活动1:机遇标识
- 活动2:供应方投标
- 活动3:合同协商
- 活动4:合同执行
- 结果
- 标识了产品或服务的获取方
- 对获取方的要求作了必要的响应
- 建立了获取方和供应方之间的协议
- 供应方开发了满足所协商需求的产品或服务
- 按所协商的需求向获取方交付了相应的产品或服务
- 按所协商的需求安装了产品
软件实现过程
- 意图:把已规约的行为、接口和实现约束转换为一些动作,创建称为“软件项”的软件产品和服务作为系统元素。
- 活动和任务 活动:软件实现策略
- 结果
- 定义了实现策略
- 标识了有关设计方面的实现技术约束
- 实现了一个软件
- 按提供协议,把该软件打包成一个软件并存储
软件需求分析过程
- 意图:建立系统软件部分的需求
- 活动和任务
- 任务1:建立软件需求和文档
- 任务2:评估软件需求,并建立相应的评估结果文件
- 任务3:按软件复审过程进行软件需求复审
- 结果
- 需求已分配给系统的软件元素
- 已分析软件需求的正确性和可测性
- 已了解软件需求对运行环境的影响
- 在软件需求和系统需求之间建立了一致性和可跟踪性
- 已定义了实现软件需求的优先级别
- 软件需求已得到批准并按需求进行了调整
- 针对软件需求的更改对成本、进度和技术影响,已进行了相应的评估
- 建立了软件需求的基线,并与有关部门进行了沟通
软件体系结构设计过程
- 意图:为软件的实现和按需求进行验证提供涉及方案
- 活动和任务
- 软件体系结构设计
- 结果
- 开发一种软件体系结构设计,描述实现该软件需求的软件项
- 设计每一软件项的内部接口和外部接口
软件验证过程
- 意图:证明软件产品是否满足了所规约的需求
- 活动和任务
- 过程实现
- 验证
- 结果
- 开发并实现了验证策略
- 标识了验证准则
- 执行了所需要的验证活动
- 标识并记录了缺点
- 给出了可用于客户和其他参与人员的验证结果
软件确认过程
- 意图:证实所期望使用的软件产品是否满足需求
- 活动和执行
- 过程实现
- 确认
- 结果
- 开发并实现了确认策略
- 标识了所有需要的软件工作产品的确认准则
- 执行了所需要的确认活动
- 标识并记录了发现的问题
- 提供了证据证明:软件产品能够按照用户所期望的方式来使用
- 给出了可用于客户和其他参与人员的验证活动
第三节 应用说明
是对标准“ISO/IEC系统与软件工程-软件生存周期过程12207-2008”的应用说明
- 系统和软件
- 软件是整个系统的组成部分
- 区分系统需求分析和软件需求分析
- 与《ISO/IEC系统生存周期15288》的关系
- 当系统中包括非常重要的非软件因素时,要应用《ISO/IEC系统生存周期15288》。
- 组织层和项目层
- 项目可能由组织执行
- 过程之间的时序关系
- 没有明确过程、活动、任务之间的时间依赖的序列
- 支持活动之间的迭代和再现
- 过程分解
- 把过程划分为一些小的“片段”
- 生存周期模型和阶段
- 用生成周期模型对系统或软件产品的生存模型化
- 模型由阶段组成
- 剪裁
- 针对特定的情况,修改生存周期过程
P41 完
