IEEE软件工程标准词汇表将需求定义为:用户解决问题或达到目标所需的条件或能力;系统或系统部件满足合同、标准、规范或其他正式规定文档所需具有的条件或能力;反映上述所描述条件或能力的文档说明。
一个常规的方法是将需求按照功能性和非功能性来分类。
功能性需求指有具体的完成内容的需求,比如客户登录、邮箱网站的收发邮件、论坛网站的发帖留言等。
非功能性需求指软件产品为满足用户业务需求而必须具有且除功能需求以外的特性,包括系统的性能、可靠性、可维护性、可扩充性、对技术和对业务的适应性等。
例如,要求系统能满足100个人同时使用,页面反应时间不能超过6秒,这属于性能需求;要求系统能7×24小时连续运行,年非计划宕机时间不能高于8小时,并且能快速地部署,特别是在系统出现故障时能够快速地切换到备用机,这属于可靠性需求。
在统一过程(UP)中,需求按照“FURPS+”模型进行分类。“FURPS+”中的“FURPS”具体指以下需求:
(1)功能性(Functional):特性、功能、安全性。
(2)可用性(Usability):人性化因素、帮助、文档。
(3)可靠性(Reliability):故障频率、可恢复性、可预测性。
(4)性能(Performance):响应时间、吞吐量、准确性、有效性、资源利用率。
(5)可支持性(Supportability):适应性、可维护性、国际化、可配置性。(www.xing528.com)
在以上需求中,功能无疑是最基础和最重要的,因此本书的内容也首先针对功能建模展开。
“FURPS+”中的“+”是指一些辅助性的和次要的因素,用来强调各种不同的属性。比如:
(1)实现(Implementation):资源限制、语言和工具、硬件等。
(2)接口(Interface);强加于外部系统接口之上的约束。
(3)操作(Operation):对其操作设置的系统管理。
(5)授权(Legal):许可证或其他方式。
此模型最早是由惠普公司的罗伯特·格雷迪(Robert Grady)及卡斯威尔(Caswell)提出,被业界广泛使用。
IEEE在软件需求规格说明标准中,把好需求定义为正确、无歧义、可检验和可跟踪的需求;把好的需求集合定义为完整、一致和可修改的需求集合;把高品质软件需求特性定义为正确性、完整性、一致性、明确性、可验证性、依照重要程度及稳定度进行优先排序、可修改性、可追溯性、可理解性。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。