- 需求不仅包含通常意义上的产品功能,而且包含行业规范中定义的标准
- 软件需求规格说明包含功能需求和非功能需求。描述了系统展现给用户的行为和执行的操作等。包含产品必须遵从的标准、规范和合约;外部接口的具体细节;性能要求;设计或实现的约束条件及质量属性。所谓约束是指对开发人员在软件产品设计和构造上的限制。
- 优秀需求规格说明书的特征
- 需求说明书的 7 大特征
- 完整性
- 正确性
- 可行性
- 必要性
- 划分优先级
- 无二义性
- 可验证性
- 每天需求规格说明的 4 大特点
- 完整性
- 一致性
- 可修改性
- 可跟踪性
- 需求说明书的 7 大特征
- 需求工程是指应用已证实有效的技术、方法进行需求分析,确定客户需求,帮助分析人员理解问题并定义目标系统的所有外部特征的一门学科。它通过合适的工具和记号系统系统的描述待开发系统及其行为特征和相关约束,形成需求文件,并对用户不断变化的需求演进给予支持。
- 需求工程分为
- 系统需求工程(由软硬件共同组成的系统)
- 软件需求工程(纯软件系统)
- 需求工程是一个在不断反复的需求定义、文件记录、需求演进的过程,并最终在验证的基础上冻结需求。
- 需求工程
- 需求开发
- 需求获取
- 需求分析
- 需求分析的工作包括
- 依据原始需求(显式需求)挖掘其背后的隐式需求:在挖掘隐式需求时,需要对业务非常了解。
- 对所有的需求(显式需求和隐式需求)精确定义其规格
- 功能的范围
- 性能的要求
- 其他属性要求(可移植性、可用性、安全性等)
- 接口规格(可用接口、外部软件接口、外部硬件接口等)
- 约束(操作系统、资源约束等)
- 用例建模的一个方法:首先找到系统中的活动者,也就是角色,从这些角色入手,分析其可能的所有活动以及这些活动之间的关系。这是分析复杂系统的一个有效方法。
- 需求分析的工作包括
- 需求定义
- 软件需求规格说明,也称为功能规格说明、需求协议以及系统规格说明。它精确的阐述一个软件系统必须提供的功能和性能以及它索要考虑的限制条件。
- 编写软件需求规格说明的可读性建议
- 对节、小节和单个需求的号码编排必须一致
- 在右边部分留下文本注释区
- 允许不加限制的使用空格
- 正确使用各种可视化强调标志(例如黑体、下划线、斜体)
- 创建目录表和索引表有助于读者寻找所需的信息
- 对所有图和表指定号码和标识号,并且可按号码进行查询
- 使用字处理程序中交叉引用的功能来查询文档中其他项和位置,而不是通过页码和节号
- 需求验证
- 需求管理
- 需求管理强调
- 控制对需求基线的变动
- 控制项目计划与需求一致
- 控制单个需求和需求文档的版本情况
- 管理需求和联系链之间的联系或管理单个需求和其他项目可交付产品之间的依赖关系
- 跟踪基线中需求的状态
- 需求管理包含
- 需求分配:当要开发的系统很大,需要分成不同的项目组进行开发时,才有必要进行需求分配
- 需求评审
- 技术评审:由一些非软件开发人员进行产品检查以发现产品所存在的问题
- 需求基线管理
- 基线就是一个配置项或一组配置项在其生命周期的不同时间点上通过正式评审而进入正式受控的一种状态,这个过程被称为“基线化”
- 建立基线的好处
- 重现性
- 可追踪性
- 版本隔离
- 需求基线管理的步骤
- 在需求评审后,将所有需求规格说明书相关的文档提交到配置库
- 对这些文档,确认其版本的正确性
- 对所有规格说明书文档建立基线标志
- 发布基线,通知项目组所有成员以及相关的人员,建立基线的文档存放位置和标志
- 需求变更并评审后,需求基线要重新建立并通知
- 需求变更控制
- 变更控制系统就是一套实现确定的修改需求文档时应该遵循的流程,其中包括必要的书面文件,责任追踪和变更审批制度、人员和权限。
- 需求跟踪:跟踪一个需求在软件生命周期的全过程,即从需求源到实现的前后生存期。为了实现可跟踪能力,必须统一的标识出每一个需求,以便能明确的进行查阅
- 在项目中使用需求跟踪的好处
- 审核可以帮助确保所有需求被应用
- 变更影响分析在增、删、改需求时可以确保不忽略每个受到影响的系统元素
- 维护可靠的跟踪,使得维护时能正确的、完整的实施变更,从而提高生产率
- 再设计(重新建造)
- 重复利用帮助在新系统中对相关的功能利用旧系统相关资源
- 减小风险是部门互联关系文档化可减少由于一名关键成员离开项目带来的风险
- 测试模块、需求、代码段之间的联系链可以在测试出错时指出最可能有问题的代码段
- 在项目中使用需求跟踪的好处
- 需求管理强调
- 需求开发
欢迎扫码关注微信公众号「一朵儿的软件测试之旅」一起学习交流