《软件需求工程(第2版)》一2.4 软件需求的开发和管理过程

简介: 本节书摘来自华章出版社《软件需求工程(第2版)》一书中的第2章,第2.4节,作者 毋国庆 梁正平 袁梦霆 李勇华,更多章节内容可以访问云栖社区“华章计算机”公众号查看

2.4 软件需求的开发和管理过程

针对需求工程应解决的问题和面临的困难,需求工程采用工程化的方法来进行与软件需求相关的活动。需求工程的目标就是给出待开发或待完善的软件系统的一个清晰的、完整的、无二义性的和精确的描述,并最终产生高质量的软件需求规格说明。需求工程怎样达到其目标?这是通过需求工程中一系列的活动完成的。本节将概要地说明需求工程的过程及相关活动,有关这些活动的具体内容、实施方法和相关技术将在本书的后面几章分别给予说明。
软件需求的开发和管理过程是由导出、确认和维护软件系统需求规格说明的一系列活动组成的。实际上,一个完整的过程描述应该包括要执行的活动、活动的组织或调度、每个活动的负责人、活动的输入和输出、用于支持开发和维护需求的工具等。在过程的实际执行中出现问题时,还需要对过程进行改进。显然,这是过程管理方面的内容,可用CMM(Capability Maturity Model)方法来评估需求工程的成熟度问题[14]。
需求工程的开发和管理过程可大致划分为如图27所示的需求开发和需求管理两个阶段。需求开发主要产生正式的需求规格说明,需求管理主要根据需求的变化对需求规格说明的内容及版本进行管理。此外,对于需求开发阶段又可再细分为如下两个阶段:
1)用户的意图分析:收集、归纳和整理用户提出的各种问题和要求(比较含糊),弄清系统要做什么,应做什么,然后将它们明确化。
2)需求规范化:从逻辑上完整地和严格地描述所要开发的系统,并保证其能反映用户的需求。

image

但在需求工程的实际处理过程中,图27所示的需求过程过于简略,不能反映需求工程复杂的执行过程。因此,为了如实地反映出需求工程的实际执行过程,需求工程过程可进一步划分为如图28所示的若干阶段。

image

在图2-8中,需求开发阶段细分为需求获取、需求分析、需求描述和需求验证四个活动,其中每个活动的主要任务如下:
1)需求获取:确定和收集与软件系统相关的、来自不同来源和对象的用户需求信息。
2)需求分析:对获得的用户需求信息进行分析和综合,即提炼、分析和仔细审查已收集到的用户需求信息,并找出其中的错误、遗漏或其他不足的地方,以获得用户对软件系统的真正需求,建立软件系统的逻辑模型(或需求模型)。
3)需求定义:使用适当的描述语言,按标准的格式描述软件系统的需求,并产生需求规格说明及其相应文档。
4)需求验证:审查和验证需求规格说明是否正确和完整地表达了用户对软件系统的需求。
需求管理的任务是有效地管理软件系统的需求规格说明及其相应文档,评估需求变更带来的潜在影响及可能的成本费用,跟踪软件需求的状态,管理需求规格说明的版本等。
需求工程过程中各个阶段相对独立,基本按线性方式执行。但在实施过程中也存在反复的情况,如需求验证发现需求规格说明中有问题,则需要返回到需求分析阶段重新分析,甚至也可能返回到需求获取阶段重新收集需求信息等。

相关文章
|
7月前
|
运维 架构师 测试技术
|
22天前
|
机器学习/深度学习 自然语言处理 Devops
探索软件测试自动化的新思路
在当今快节奏的软件开发领域,传统的软件测试方法已经无法满足快速迭代和高质量交付的需求。本文将探讨如何借助最新的技术手段和方法,为软件测试自动化注入新的活力,提高测试效率和质量。
|
9月前
|
Web App开发 安全 数据安全/隐私保护
一文带你了解五款提高工作效率的软件,赶紧收藏!
人类与99%的动物之间最大差别在于是否会运用工具,借助好的工具,能提升几倍的工作效率。
122 0
|
6月前
|
存储 安全 网络安全
推荐5款助你高效工作的小软件
现在,有很多实用的工具和软件可以帮助我们更高效地完成各种任务。以下是5款值得推荐的工具软件,能够极大地提高我们的工作效率。
37 1
|
9月前
|
敏捷开发 测试技术 持续交付
互联网软件常见开发方法
互联网软件常见开发方法
158 0
|
11月前
|
消息中间件 分布式计算 NoSQL
如何了解一个软件的设计?
刚入职,接手新项目,面对一个全新项目,怎么快速研究它? 很多人直接看源码,一头扎入代码,很快就迷失其中,最初那股子探索精神,也会逐渐被迷茫所替。有多少次你满怀激情打开一个开源项目,结果多半坚持不了就放弃。问题出在哪?迷茫是因为缺少对软件整体了解,如同不带地图指南针就闯入热带雨林,迷路只是早晚。阅读源码是必经一步,却不是第一步。应先从了解软件设计开始。
105 0
sbs
|
SQL Oracle 关系型数据库
软件需求工程
前言之前看过一些系统分析相关,偏信管、软工专业的书:《系统分析与设计方法》,《软件需求》。 需求工程 部分对实际开发工作有不少帮助。相信很多开发也不太了解信管或者软工,更多关注于具体领域的前沿技术,所以这些概念应该能用到。文中部分是引用书中原文,部分是个人观点。文中产品,软件,系统是类似的含义。2020.7.10 —— by zz。需求需求一词的字典义是“被命令或强制性的东西;需要或者必要”,和软
sbs
564 1
软件需求工程