一、软件需求
在进行需求获取之前,首先要明确需要获取什么,也就是需求包含哪些内容。
软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。通常,这些需求包括功能需求、性能需求、用户或人的因素、环境需求、界面需求、文档需求、数据需求、资源使用需求、安全保密需求、可靠性需求、软件成本消耗与开发进度需求等,并预先估计以后系统口能达到的目标。此外,还需要注意其他非功能性的需求。具体内容如下:
1)功能需求。考虑系统要做什么,在何时做,在何时以及如何修改或升级。
2)性能需求。考虑软件开发的技术性指标。例如,存储容量限制、执行速度、响应时间及吞吐量。
3)用户或人的因素。考虑用户的类型。例如,各种用户对使用计算机的熟练程度,需要接受的训练,用户理解、使用系统的难度,用户错误操作系统的可能性等。
4)环境需求。考虑未来软件应用的环境,包括硬件和软件。对硬件设备的需求包括机型外设、接口、地点、分布、湿度、磁场干扰等,对软件的需求包括操作系统、网络、数据库等
5)界面需求。考虑来自其他系统的输入,到其他系统的输出,对数据格式的特殊规定,对数据存储介质的规定。
6)文档需求。考虑需要哪些文档,文档针对哪些读者。
7)数据需求。考虑输入、输出数据的格式,接收、发送数据的频率,数据的准确性和精度,数据流量,数据需保持的时间。
8)资源使用需求。考虑软件运行时所需要的数据、其他软件、内存空间等资源,软件开发、维护所需的人力、支撑软件、开发设备等。
9)安全保密要求。考虑是否需要对访问系统或系统信息加以控制,隔离用户数据的方法用户程序如何与其他程序和操作系统隔离以及系统备份要求等。
10)可靠性要求。考虑系统的可靠性要求,系统是否必须检测和隔离错误: 出错后,重启系统允许的时间等。
11)软件成本消耗与开发进度需求。考虑开发是否有规定的时间表,软/硬件投资有无限制等;
12)其他非功能性要求。如采用某种开发模式,确定质量控制标准、里程碑和评审、验收标准、各种质量要求的优先级等,以及可维护性方面的要求。
二、真题
真题1:
真题2: