无论是哪种开发方式,软件需求都是软件开发的基础。
需求
- 定义:一个有关“要予构造”的陈述,描述了待开发产品/系统(或项)功能上的能力、性能参数或者其他性质(像是约束什么的)。
- 基本性质:① 必要性 ② 无歧义性 ③ 可测性 ④ 可跟踪性 ⑤ 可测量性
- 分类:功能,性能,外部接口,设计约束,质量属性(产品质量的量化值)。
- 发现需求的方式:自悟(自己从用户出发),交谈(谈话的艺术),观察(眼见为实),小组会,提炼(复审需求文档),综合运用。
需求规约
- 概念:一个产品所有需求陈述的正式文档,是一个软件产品/系统的概念模型。
- 基本性质:① 重要性和稳定性程度(需求分层次) ② 可修改的(容易修改单个需求) ③ 完整的(不漏) ④ 一致的(不抵触)
- 格式:
- 引言
1.1 目的
1.2 范围
1.3 定义,略缩语
1.4 参考文献
1.5 概述(项目范围) - 总体描述
2.1 产品概述
2.2 产品功能
2.3 用户特性
2.4 约束
2.5 假设与依赖 - 特定需求(技术核心,非功能性刻画)
附录
索引
- 引言
- 作用:① 开发者与用户间的技术合同,体现产品功能 ② 项目的管理控制基础 ③ 产品设计的起始点 ④ 测试计划(早期修改错误的代价低)与用户指南(用户角度的功能描述)的生成基础
但是需求规约不是设计文档,也不是进度或规划文档,开发进度,成本,开发方法不应该包含在内
项目的需求和需求规约
软件的需求:我要交个啥样的产品
项目的需求:开发组要做啥