一、需求与需求获取
1、需求定义
一个需求是描述了待开发产品/系统功能上的能力、性能参数或其他性质。
对于一个单一的需求,必须具有以下5个基本性质:
① 必要的,该需求是用户所需要的;
② 无歧义的,该需求只能用一种方式来解释;
③ 可测试的,该需求是可进行测试的;
④ 可跟踪的,该需求是可以从一个开发阶段跟踪到另一个开发阶段的;
⑤ 可测量的,该需求是可以测量的。
2、需求分类
需求可以分为两大类:一类是功能需求,一类是非功能需求。而非功能需求又可分为性能需求、外部接口需求、设计约束和质量属性需求。
(1) 功能需求
功能需求规约了系统或系统构件必须要执行的功能。它是整个需求的主体,即没有功能需求,就没有派生的其他功能需求,就没有性能、外部接口、设计约束和质量属性等非功能需求。
(2) 性能需求
性能需求规约了一个系统或系统构件在性能方面必须具有的一些特性。性能需求隐含了一些满足功能需求的设计方案,经常对设计会产生一些关键的影响。
(3) 外部接口需求
外部接口需求规约了系统和系统构件必须与之交互的用户、硬件、软件或数据库元素,其中也可能规约交互格式、时间或其他因素等。
接口需求可以分为7类:用户接口、硬件接口、软件接口、通信接口、内存约束、运行、地点需求。
(4) 设计约束
它也是一种需求,它限制了软件系统或软件系统构件的设计方案的范围。它需求考虑各个方面的问题,如:法规政策、硬件限制、与其他应用的接口、并发操作、审