当前位置:
文档之家› 软件生存期过程控制-1-2011
软件生存期过程控制-1-2011
软件生存期各阶段的过程控制
鲍晓红 北航可靠性与系统工程学院
1
内容
1.软件生存期的阶段划分 2.软件生存期模型 3.生存期各阶段的过程控制
2
1.软件生存期的阶段划分
软件工程化是用系统工程方法处理软件生 存期的全部过程。
它首先要求软件开发一开始就要考虑整个软 件生存期, 将软件开发过程分为可控制的若干阶段,对 各阶段给出明确的定义。
概要设计说明 需求规格说明
概要设计
集成测试计划
集成测试
详细设计说明 详细设计 单元测试计划 单元测试
编 码
12
航空产品型号研制中系统研制阶段
方案(F) 初样(C) 试样(S) 定型(D) 或 原理样机 初样 正样
13
系统工程理论 神羊角模型
a15 信息 a16 (输入) 物质 能量 a14 a13 a12 a21 a11 a24 a23 a22 a31 a34 a33 a32 a43 a53 生产理想系统 (输出)
8
瀑布模型(Waterfall Model)
需求分析 概要设计
详细设计
编码,单元测试
测 试
验收与交付
使用与维护
9
V型模型(V Model )
系统分析与软件定义 用户使用
准备服役的软件
软件研制任务书 验收测试
需求分析
已测试的软件
系统测试
需求规格说明
已测试的软件
软件配置项测试 概要设计
集成的CSCI
主要质量控制手段
评审 规范 结构化分析及其工具(如数据流图DFD、 数据字典DD等等) 配置管理
阶段产品
① 软件开发计划; ② 软件需求规格说明; ③ 软件接口说明;(必要时编制,相关内 容不很多时可与软件需求规格说明合编) 软件需求规格说明及其配套文档经 评审通过后,纳入软件配置管理的受控库, 并以此形成软件配置管理的一条重要基 线——分配基线。
软件需求分析阶段
进入条件: 已产生获得评审通过的、交办方和承制 方签署的软件研制任务书; 软件开发项目组成立; 以软件研制任务书为代表的配置管理功 能基线已建立。
主要工作
软件需求分析主要解决的问题是系统(或用户)要软 件“做什么”。 软件需求分析阶段的任务是全面确定被研制软件的 运行环境、功能、性能等全部需求;对软件开发、 质量保证、配置管理工作进行策划;编写软件需求 规格说明和软件开发计划等重要文档。 软件需求规格说明是软件开发中最重要的技术文档, 它是整个软件开发工作的基础。 软件开发计划是贯穿整个软件开发过程的综合性管 理计划,是整个项目研制管理的依据。
5
硬
系统需求 分析/设计
件
初步 设计
研
制
详细 设计 制造
HWCI 测试
硬件要 求分析
PDR
DDR 系统 集成 和测试
试验与 评价 生产和 部署
系统 SRR SDR 求分析 设计
系统要
SSR PDR
+
DDR
+
软件需 求分析 概要 详细 设计 设计
TRR 编码和 CSU测试 CSC 集成 和测试
软 件 开
主要工作 (How to do )
软件概要设计阶段 本阶段任务是根据软件需求规格说明,建 立软件的总体结构和功能模块(软件部件) 间的关系 定义各功能模块的接口、控制接口,设计 全局数据库/数据结构,规定设计限制 编写软件概要设计说明。
主要工作
软件详细设计阶段
应对所有的软件单元进行详细设计,设计其 包括算法和内部数据结构在内的内部细节,为 编写源程序提供必要的说明。 编写软件详细设计说明 对于规模不大、层次较少的软件,可将软件 详细设计阶段和概要设计阶段合并成统一的软 件设计阶段,但也应分两步开展工作,先进行 结构设计,再细化进行详细设计,只不过这两 步之间不再需要经过阶段转移的批准和控制了。
软件集成的CSCI
概要设计说明
已测试的部件
详细设计
部件集成和测试
详细设计说明 模块编码 与单元测试
已测试的单元
10
采用V型模型,可以使软件测试工作与需 求分析、概要设计、详细设计过程并行进 行。
11
软件研制任务书 系统分析与软件定义 验收测试计划 验收测试
需求规格说明 需求分析 确认∕系统测试计划 确认∕系统测试
就象硬件研制程序一样,软件也要首先规 定研制程序,并称之为确定软件生存周期 模型,这是软件开发人员和管理人员进行 各自工作的共同依据。
3
软件生存周期模型 是从软件项目需求定义直至软件经使用后废 弃为止,跨越整个生存周期的系统开发、 运作和维护所实施的全部过程、活动和任 务的结构框架。
4
软件开发过程
主要质量控制手段
主要质量控制手段
评审 设计规范 结构化设计及其工具(如结构图SC、流程 图等等) 配置管理
阶段产品
①软件概要设计说明 ②软件详细设计说明
完成标志
① 完成了软件设计说明。 ② 软件设计说明通过了评审。 ③ 软件设计说明纳入配置管理受控库。
软件实现阶段
进入条件:
发
开发配置
CSCI 集成 和测试
SRR:系统要求评审 SDR:系统设计评审 SSR:软件需求评审 PDR:初步(概要)设计评审 DDR:详细设计评审 TRR:测试准备评审 CSC:计算机软件部件 CSU:计算机软件单元 HWCI:硬件技术状态项目 CSCI:计算机软件配置项 +:可能多次评审, 也可能 与硬件评审结合进行
16
3.生存期各阶段的过程控制
对软件生存期的每个阶段均应明确其: 进入条件 主要工作 方法和工具 基本要求 本阶段的主要质量控制手段 本阶段的主要质量度量 阶段产品 完成标志。
17
系统分析与软件定义阶段
本阶段的进入条件是: 用户(或使用部门)的任务需求书(或战 术技术指标 ); 约束条件(如资金限额,研制周期要求, 环境条件等)。
软件详细设计说明已通过评审。 软件详细设计说明已进入配置管理受控库。
主要工作
软件实现阶段要进行编码和单元测试两项工作:
首先,采用规定的编程语言,对所有软件单元 进行代码编制,并对编制的代码进行编译、调 试,直至编译无错误通过。 之后,对完成编码的模块进行单元测试。其任 务是检验所有软件单元的设计和实现。内容包 括测试模块的接口、局部数据结构、重要的执 行路径、出错处理、边界条件等五个基本特性。
a17
1
2
3
4
5
6
7 时间阶段 t
系统方案的产生过程具有迭代性和收敛性两大特点
14
某部门嵌入式系统开发阶段
原理样机阶段 初样阶段 正样阶段 软件需求分析(转阶段时进 行正式评审) 软件设计 软件需求分析(小修改) 软件设计(转阶段时进行正 式评审) 软件实现(根据需求变更修 改软件、单元测试 ) 软件测试(开发单位内部针 对更改做系统联试试) 软件需求分析(确定)
主要质量控制手段
评审 编码规范 结构化编程及其工具(如编程语言、调 试工具等) 单元测试工具 配置管理
阶段产品
① 软件源代码 ② 所有的测试用例、测试数据设计,以及 详细的测试结果记录。单元静态分析结果 和代码审查结果也应一并保留。 ③ 软件单元测试辅助程序,用于进行单元 测试的驱动程序,桩模块等辅助程序,属 于内部产品,也应仔细保存以便评审和回 归测试。
完成标志
① 软件单元无错误通过编译或汇编。 ② 完成代码静态分析和代码审查。 ③ 完成单元的动态测试并达到测试要求。 ④ 通过软件实现阶段评审。 ⑤ 所有软件单元纳入软件开发单位的配置 管理受控库。
谢谢!
36
本阶段的主要工作是: 分析系统要求和使用环境; 拟定软件研制任务书; 确定软件关键程度等级; 明确质量保证条款; 明确软件验收方法。
本阶段的主要质量控制手段是:
认真评审软件研制任务书, 拟定软件质量(含可靠性、安全性)保证大 纲要求。
本阶段的阶段产品是软件研制任务书。 本阶段的完成标志是软件研制任务书通过 评审。
7
2.软件生存期模型
软件生存期模型也是软件过程模型,它是 软件过程的一种抽象的表示。是从软件项 目定义直至软件经使用后废弃为止,跨越 整个生存周期的系统开发、运作和维护所 实施的全部过程、活动和任务的结构框架 每种模型都从一个特定的角度来描述软件 过程,并提供了不同的软件开发方法。本 节介绍几种常用的软件生存期模型,即: 瀑布模型、V型模型。
GJB2786-96(武器系统软件开发)规定,计算机软件开发 过程应与合同要求的正式评审和审核的进度相协调。 该标准还规定,软件开发过程应包括以下主要活动, 这些活动可以重叠,也可以交叉或循环进行: ① 系统要求分析和设计; ② 软件需求分析; ③ 概要设计; ④ 详细设计; ⑤ 编码和计算机软件单元测试; ⑥ 计算机软件部件集成和测试; ⑦ 计算机软件配置项测试; ⑧ 系统集成和测试。
功能基线 分配基线
产品基线
6
1.软件生存期的阶段划分
①系统分析与软件定义阶段; ②软件需求分析阶段; ③软件设计阶段(含概要设计和详细设计); ④软件实现阶段(含编码和计算机软件单元测试 ); ⑤软件测试阶段(含计算机软件集成测试、配置 项测试和系统测试); ⑥软件验收与交付阶段; ⑦软件使用和维护阶段。
完成标志
① 完成了所有的阶段产品。 ② 软件开发计划经批准后生效。 ③ 软件需求规格说明通过评审。 ④ 以软件需求规格说明为核心的配置管理 分配基线已建立。