一:需求的作用
- 软件通常为一些产品
- 提供了控制功能
- 提供耦合功能
- 提供一些由软件本身所实现功能
- 需求分析
- 通过分析分配给软件的那些系统需求,确定软件需求及约束
- 软件体系结构设计
- 为软件需求及约束,确定一组解决方案
- 验证,确认及测试
- 以需求为准则,通过测试,演示,分析及审查等方式,评估最终产品和文档
二:需求的定义
- 定义:一个需求是一个有关“要予构造”的陈述,描述了待开发产品/系统功能上的能力,性能参数或者其它性质。
- 需求的基本性质
- 必要性
- 无歧义性
- 可测的
- 可跟踪的
- 可测量的
三.需求的分类
- 功能
- 功能需求:功能需求规约了系统或系统构件必须执行的功能
- 性能
- 性能需求:性能需求规约了一个系统或系统构件必须具有的性能特性
- 外部接口
- 外部接口需求:外部接口需求规约了系统或系统构件必须与之交互的硬件、软件或数据库元素
- 分类:
- 系统接口:
- 用户接口
- 硬件接口
- 软件接口
- 通讯接口
- 内存约束
- 操作
- 地点需求
- 设计约束
- 设计约束:设计约束限制了系统或系统构件的设计方案
- 质量属性
- 质量属性:质量属性规约了软件产品必须具有的一个性质是否达到质量方面一个所期望的水平
- 属性分类:
- 可靠性
- 存活性
- 可维护性
- 用户友好性
- 安全性
- 可移植性
四.需求发现
- 自悟:需求人员把自己作为系统的最终用户,审视该系统并提出问题
- 交谈:为了确定系统应该提供的能力,需求人员通过提出问题,用户回答,直接询问用户想要的是一个什么样的系统
- 观察:通过观察用户执行其现行的任务和过程,或通过观察他们如何操作与所期望的新系统有关的现有系统,了解系统运行的环境
- 小组会:举行客户和开发人员的联席会议,与客户组织的一些代表共同开发需求
- 提炼:复审技术文档,并提出相关的信息
五.需求规约的概念和格式
- 定义:一个需求规约是一个软件项/产品/系统所有需求陈述的正式文档,是一个软件产品/系统的概念模型
- 性质:
- 重要性和稳定性程度
- 可修改的
- 完整的
- 一致的
六.需求规约的作用
- 作用:
- 作为软件开发组织和用户之间一份事实上的技术合同书,是产品功能及其环境的体现
- 对于项目的其余大多数工作,它是一个管理控制点
- 对于产品的设计,它是一个正式的、受控的起始点
- 是创建产品验收测试计划和用户指南的基础
- 对应关系
- 有效性测试-------需求分析
- 集成测试 ---------总体设计
- 单元测试---------详细设计阶段
- 初始测试计划
- 主要内容:对未来系统中的哪些功能和性能指标进行测试,以及达到何种要求
- 作用:指导系统开发早期发现并修改错误,减少测试代价
- 用户系统操作描述
- 主要内容:从用户使用系统的角度,简要描述系统功能和性能,使用系统的主要步骤和方法,以及系统用户的责任
- 需求规约不能实现的作用
- 它不是设计文档,它是一个“为了“设计的文档
- 它不是进度或规划文档