根据IEEE软件工程标准词汇表(1997年),软件需求被定义为:
(1)用户解决问题或达到目标所需的条件或权能(Capability)。
(2)系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或权能。
(3)一种反映上面(1)或(2)所描述的条件或权能的文档说明。
简而言之,软件需求分析的任务就是解决目标系统“做什么”的问题,但不涉及系统如何做的问题。但是软件需求往往是相对的,具有层次性。一个软件系统的需求可能是企业解决方案的一部分,而软件系统的总体设计方案同时也决定了子系统的需求。因此,脱离业务背景分析软件需求,是不现实的,不顾总体系统的设计方案,分析子系统的需求,也是没有意义的。
软件需求是连接问题域和方案域的桥梁,是当前软件工程中的关键问题,可以说没有明确的需求就没有正确的软件,很多软件项目失败就是因为需求存在问题。
最初,需求分析仅仅是软件工程的一个组成部分,是软件生命周期的第一个阶段。虽然大家也都知道需求分析对软件整个生命周期的重要性,但对它的研究远远没有对软件工程的其他部分的研究那么深入。
在传统软件工程生命周期中,需求分析的作用仅仅是:
1)系统工程师描述软件的功能和性能,指明软件和其他系统成分的接口,并定义软件必须满足的约束;
2)软件工程师求精软件的配置,建立数据模型、功能模型和行为模型;
3)为软件设计者提供可用于转换为数据设计、体系结构设计、界面设计和过程设计的模型;
4)提供开发人员和客户需求规格说明,用于作为评估软件质量的依据。
但从当前的工程问题和研究现状来看,需求涉及的问题远不止这些。随着对需求的深入研究,需求已经从软件工程独立出
什么是软件需求?
最新推荐文章于 2024-06-25 15:48:43 发布
软件需求是用户解决问题或达到目标所需条件,连接问题域和方案域的关键。它涉及功能、性能、接口和约束的描述,是软件工程中的核心问题。需求分析不仅是软件生命周期的开始,还涉及需求获取、分析、确认和演化,构成了需求工程的一部分。需求工程的复杂性源于客观和主观因素,包括应用领域的广泛性、非功能性需求的分析难度以及多方沟通的挑战。
摘要由CSDN通过智能技术生成