软件需求与软件需求规约
需求与需求获取
不论是自顶向下的软件开发,还是自底向上的软件开发,正确定义问题,是解决问题的前提
自顶向下:问题到平台
自底向上:平台到问题
——定义问题的基本要素是什么?
——定义问题的基本格式?
定义问题的基本要素
定义问题的基本要素是“需求”
需求:一个需求是一个有关“要予构造”的陈述,用以描述待开发产品(或项)功能上的能力、性能参数或者其他性质
功能:可以处理某操作任务的任选组合
性能:有能力支持100个以上的并发用户平均响应时间小于1秒,最大响应时间小于5秒
需求的5个基本性质
必要的(necessary)用户要求的
无歧义的(UNambiguous)只能有一种解释,没有其他
可测试的(testable)产品开出出阿里过后能否进行测试
可跟踪的(traceable)可以从一个开发阶段到另外的一个阶段
可测量的(measureable)该需求是可以进行测量的
注意:确定需求是否满足以上五个性质的复杂耗时的过程
需求分类
功能需求:功能需求桂月亮或者系统构件必须执行的功能
非功能需求:性能、外部接口、设计约束、质量属性
关于功能需求需要考虑的问题
- 功能源
- 功能共享的数据
- 功能与外部界面的交互
- 功能所使用的计算资源
可以见得,功能需求是整个需求的主体, 没有功能需求,就谈不上其他需求,即性能需求,外部接口需求,设计约束和质量属性。
性能需求:性能需求规约了一个系统或系统构件必须具有的性能特性