软件需求知识全解析
1. 软件需求基础概念
软件需求知识领域聚焦于软件需求的获取、分析、规范说明、验证以及在软件产品整个生命周期内的需求管理。若与需求相关的活动执行不佳,软件项目将面临巨大风险。
1.1 软件需求的定义
软件需求最基本的定义是,为解决现实世界中的某个问题,某个事物必须具备的属性。它可能旨在为某人自动化部分任务以支持组织的业务流程、纠正现有软件的缺陷或控制设备等。由于用户、业务流程和设备的功能通常较为复杂,特定软件的需求往往是组织内不同层级、不同人员的复杂组合。所有软件需求的一个重要属性是可验证性,无论是作为单个功能需求还是系统级的非功能需求。不过,验证某些软件需求可能具有难度或成本较高,例如验证呼叫中心的吞吐量需求可能需要开发模拟软件。此外,需求除了行为属性外,还具有其他属性,如优先级评级和状态值,并且通常会被唯一标识,以便在软件和功能的整个生命周期内进行配置管理。
1.2 产品需求和过程需求
产品需求是对要开发的软件的需求或约束,例如“软件应在学生注册课程前验证其是否满足所有先决条件”。过程需求本质上是对软件开发的约束,例如“软件应使用RUP过程进行开发”。有些软件需求会产生隐式的过程需求,如验证技术的选择或使用严格的分析技术以减少导致可靠性不足的故障。过程需求也可能由开发组织、客户或第三方(如安全监管机构)直接施加。
1.3 功能需求和非功能需求
功能需求描述了软件要执行的功能,如格式化文本或调制信号,有时也被称为能力或特性,并且可以编写一组有限的测试步骤来验证其行为。非功能需求则用于约束解决方案,有时被称为约束或质量需求,可进一步分为性能需求、可维护性需求、安全需求、
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



