软件工程中的需求分类

2024-09-09  本文已影响0人  需求探索

软件需求分类在软件开发过程中非常重要。它将我们的需求分为不同的类别,使其更易于管理、优先排序和跟踪。软件需求的主要类型是功能性需求、非功能性需求和领域需求。

什么是软件需求?

根据 IEEE 标准 729,需求定义如下:

软件需求的类型

软件需求主要分为三类:

1.功能需求

定义:功能需求描述软件应该做什么。它们定义系统必须具备的功能或特性。

例如

解释:功能需求指定软件需要执行的操作。这些是用户期望软件具有的基本特性和功能。

2.非功能性需求

定义:非功能性需求描述的是软件如何执行任务,而不是它应该做什么。它们定义了质量属性 [1]、性能标准和约束。

例如

解释:非功能性需求与系统的行为、质量和约束有关。它们确保软件满足一定的性能、可用性、可靠性和安全性标准。

3. 领域需求

定义:领域需求特定于软件运行的领域或行业。它们包括与该特定领域相关的术语、规则和标准。

例如

解释:领域需求反映了特定行业的独特需求和限制。它们确保软件与行业特定的法规和标准相关且符合该法规和标准。

什么是功能需求?

功能需求是最终用户明确要求系统应提供的基本设施。它可以是计算、数据处理、业务流程、用户交互或任何其他定义系统可能执行的功能的特定功能。所有这些功能都必须作为合同的一部分纳入系统。这些以要提供给系统的输入、执行的操作和预期的输出的形式表示或陈述。

它们是用户提出的需求,与非功能性需求不同,可以直接在最终产品中看到。例如,在医院管理系统中,医生应该能够检索其患者的信息。

每个高级功能需求可能涉及系统与外界之间的几次交互或对话。

为了准确描述功能需求,必须列举所有场景。

表达功能需求的方式有很多种,例如自然语言、没有严格语法的结构化或格式化语言、以及具有适当语法的形式化规范语言。

软件工程中的功能需求也称为功能规范。

什么是非功能性需求?

这些基本上是系统根据项目合同必须满足的质量约束。非功能性需求与系统功能无关,而是定义系统应如何执行。这些因素的实施优先级 [2]或程度因项目而异。它们也称为非行为需求。它们主要处理以下问题:

非功能性需求分为以下类型:

指定非功能性需求的过程需要了解系统的功能,以及系统运行的环境。

它们主要分为两类

领域需求是什么?

领域需求是特定类别或领域的项目所特有的需求。领域需求可以是功能性的,也可以是非功能性的。领域需求工程是一个持续的过程,它积极地定义软件产品线中所有可预见的应用程序的需求。特定领域的系统必须具备的基本功 [4]能属于这一类别。例如,在保存学校或学院记录的学术软件中,能够访问每个年级的教师名单和学生名单的功能就是领域需求。因此,这些需求是从该领域模型中识别出来的,而不是特定于用户的。

软件需求的分类

其他常见的软件需求分类包括:

通过对软件需求进行分类,可以更轻松地管理、确定优先级并有效地记录这些需求。它还有助于确保在开发过程中考虑到系统的所有重要方面。

对软件需求进行分类的优点

对软件需求进行分类的优点包括:

软件需求分类的缺点

对软件需求进行分类的缺点包括:

总体而言,对软件需求进行分类的优点大于缺点,因为它有助于确保软件系统满足所有利益相关者的需求,并按时、在预算内、以要求的质量交付。

总而言之

对软件需求进行分类有很多好处,例如更好的组织、改善沟通、提高质量和增强可追溯性。通过系统地对需求进行分类,开发团队可以确保软件满足利益相关者的要求,同时遵守标准并高效、有效地交付。

本文同步发表在 软件需求探索http://www.srs.pub/theory/srs-type-in-ieee.html


  1. 软件的质量属性分析.http://www.srs.pub/theory/ruan-jian-de-zhi-liang-shu-xing.html

  2. 商业分析中的五十种分析方法和技巧之33-优先级.http://www.srs.pub/babok/youxianji.html

  3. 商业分析中的五十种分析方法和技巧之31-观察.http://www.srs.pub/babok/guancha.html

  4. 商业分析师必备的六项技能与知识.http://www.srs.pub/theory/competency.html

  5. 商业分析中的五十种分析方法和技巧之25-访谈.http://www.srs.pub/babok/fangtan.html

上一篇 下一篇

猜你喜欢

热点阅读