1、需求的定义
- 解决用户问题或达到用户目标所需的条件或能力
- 为遵循合同、标准、规格或其他要求的正式文档,系统必须满足或拥有的条件或能力
- 按文档化表现1、2中的条件或能力,就是SRS
注:强调做什么而不是怎么做。
2、SRS
定义:对在特定环境下要完成一定功能的软件产品、程序或一组程序的说明
目的:
- 在客户与开发者之间达成一致
- 为编制计划和成本计价提供基础
- 为设计提供了基础
- 为确认和验证提供一个基础
- 提高开发效率
- 便于移植
SRS的特点(5C):正确性、无歧义性、完整性、一致性、可验证性、可追踪性
3、需求
分类:原始需求、产品需求、软件需求、测试需求
属性:优先级、工作量、风险
需求表达应避免的问题:超出规格、过度限制、不确定性、需求描述基于未经确认的假设
项目介绍、产品环境介绍、软件功能、用户特征、假设和依赖关系、
功能需求(简要介绍、输入、处理、输出)、性能需求、用户接口、软件接口、硬件接口、标准符合度、硬件约束、技术限制和本地化
需求分级:
- 必须的
- 重要的
- 最好有的
- 需求分配
- 需求评审
- 需求基线
- 需求跟踪
- 变更控制
- 需求获取
- 需求分析
- 需求定义
- 需求验证
- 需求工程包含需求管理
- 需求管理侧重于需求工程中的管理活动
- 需求管理是CMM二级的第一个KPA
- 确保需求被实现
- 确保需求验证
- 了解需求变更影响的范围
- 工作任务书
- SRS、HLD、LLD、代码、UT、IT、ST
- 已经基线化的需求、设计文档、代码等的变更请求
4、需求管理中各项活动的定义
5、需求开发中各项活动的定义
6、需求工程和需求管理的关系
7、需求跟踪矩阵的目的
8、软件需求跟踪输入
7、需求阶段需求跟踪——测试人员
需求跟踪责任人:PM(测试)
需求跟踪的步骤:在STP评审之前,由PM组织完成系统测试项录入
需求跟踪方法:在SRS和系统测试项之间建立对应关系
8、概要设计阶段需求跟踪——测试人员
需求跟踪责任人:PM(测试)
需求跟踪的步骤:A.在系统测试方案、系统测试用例评审之前,由PM组织完成系统测试子项、系统测试用例录入
B. 在ITP评审之前,由PM组织完成集成测试项录入
需求跟踪方法:A.在系统测试项和系统测试子项、系统测试子项和系统测试用例之间建立对应关系
B.在概要设计项和集成测试项之前建立对应关系
9、详细设计阶段需求跟踪——测试人员
需求跟踪责任人:PM(测试)
需求跟踪的步骤:A.在集成测试方案、集成测试用例评审之前,由PM组织完成集成测试子项、集成测试用例录入
B.在UTP评审之前,由PM组织完成单元测试项录入
需求跟踪方法:A.在集成测试项和集成测试子项、集成测试子项和集成测试用例之间建立对应关系
B.在详细设计项和单元测试项之前建立对应关系
10、编码阶段的需求跟踪——测试人员
需求跟踪责任人:PM(测试)
需求跟踪的步骤:在单元测试方案、单元测试用例评审之前,由PM组织完成单元测试子项、单元测试用例录入
需求跟踪方法:在单元测试项和单元测试子项、单元测试子项和单元测试用例之间建立对应关系
11、需求变更流程
对已经基线化的SRS的CRs——PM将修改意见、方案、影响范围、工作量估计等提交给CCB——CCB裁决——修改SRS/RTM——评审、签发SRS——更新的SRS/RTM
12、软件需求管理工具
QualityCenter DOORS
13、同行评审的基本概念
是一种通过作者的同行来确认缺陷和需要变更区域的检查方法。需要进行同行评审的特定产品在定义项目软件过程的时候被确定并且作为软件开发计划的一部分被安排了进度(需要前期准备,计划和时间进度表,越早越好)
14、同行评审的作用
- 早期发现缺陷
- 去除缺陷
- 降低成本
- 提高质量
15、同行评审的类型
15、1 正规检视
概念:是在软件开发过程中进行的、发现、排除软件在开发周期各阶段存在的错误、不足的过程,是一种软件静态测试方法,其生存周期为软件的开发周期,应用于开发过程中产生的(非阶段性)软件文档和程序代码
特点:最正规、最严格的流程,参与者受过专业训练,一般以发现缺陷为目
15、2 技术评审
概念:是由一个正式的组织对产品进行评价,它确认任何与规格和标准不一致的地方或者在检查后给出可替换的建议,或者包含这两者。技术评审的严格程度小于正规检视。技术评审的参与者包括作者、以及产品技术领域内的专家
特点:会成立一个团队,但没有严格的流程,一般以裁决方案的优劣为目的
15、3 走读
目的:评价一个产品,通常是软件代码,最重要的是发现缺陷,遗漏和矛盾的地方;改进产品,设计思想的介绍等
特点:没有规范的流程,形式松散,没有小组也没有会议,通常以代码为主
16、通用评审流程步骤
计划阶段——介绍会议?——准备阶段——评审会议——第三小时会议?——返工阶段——跟踪阶段