软件工程之需求开发与管理:重要性、流程及相关要点解析

2025-06-29
来源:万象资讯

如何写需求

申和平 2013年11月

软件工程,从需求开始。

1. 需求知识概述

软件需求的重要性

软件需求基本概念

优秀需求应具备特征

需求开发的主要困难

需求分析员应备能力

2. 软件需求开发

需求获取

需求分析

需求规格说明

需求验证

3. 软件需求管理

需求版本控制

需求变更控制

需求跟踪控制

目录

典型的软件开发

软件需求的重要性

软件需求知识概述_软件需求开发流程_开发一款小程序如何写需求书

中国有句谚语:“好的开始就等于成功的一半”。

项目遇困几大原因

需求是制定项目计划的基础。

需求规格说明是软件设计和软件实现的基础。

需求规格说明是测试工作和用户验收的依据。

需求规格说明是软件维护工作的依据。

河的源头被污染,那么整条河也就被污染了。

缺乏用户的参与。(13%)

不完整规格说明。(12%)

不断变更的需求。(12%)

需求错误的代价

我们往往并不清楚究竟该做什么,却一直忙碌不停的开发。

若对需求缺乏明确了解便直接进入编码环节,预期后续进行修改,实际上更多情形是编写过程中同步进行修改。

软件的调节与调整具有极高的灵活性,无论需求如何变化,都能在软件中迅速得到体现。

你是如此吗?

这些见解主要源自于对小型项目的开发实践,而当你着手处理一个中等或大型项目时,?

软件需求的定义

IEEE软件工程标准词汇表(1977)中的需求定义:

开发一款小程序如何写需求书_软件需求开发流程_软件需求知识概述

用户解决问题或达到目标所需的条件或权能。

系统及其组成部分必须符合合同条款、行业标准、技术规范以及任何其他正式文件所要求的各项要求或功能。

一种反应上述所描述的条件或权能的文档说明。

简单来说,需求源自用户的各种需求点,经过细致的分析与核实,最终转化为一份详尽的文档,该文档详尽阐述了产品需实现或应具备的功能。

需求工程的定义

与需求紧密相关的各类活动被统称为需求工程,这一领域大致可划分为需求开发与需求管理两大环节。在需求开发环节,主要任务是生成需求规格说明;而在需求管理环节,则主要负责针对需求的变化,对需求规格说明的具体内容以及版本进行有效管理。

软件需求的层次(1)

软件需求的层次(2)

业务需求

表示组织机构或客户对系统或产品高层次的目标。

它们在项目视图与范围文档中予以说明。

描述组织为什么要开发一个系统。

用户需求

描述用户的目标,或用户要求系统必须完成的任务。

用例、场景描述都是表达用户需求的有效途径。

描述用户使用系统能做什么。

功能需求

明确了开发人员需实现的软件功能,确保用户能够顺利完成各自的任务,进而满足业务上的需求。

非功能需求

开发一款小程序如何写需求书_软件需求开发流程_软件需求知识概述

系统在实现其功能时,需遵守一系列补充性的约束条件,这包括必须遵循的各类标准、规范、协议,以及性能指标、设计或实施过程中的限制以及相关的质量特性。

软件需求的质量属性(1)

外部质量,对用户很重要。

正确性

软件需准确完成既定任务的功能。其准确性是衡量质量的首要且至关重要的标准。

健壮性

这指的是软件在遭遇异常状况时仍能保持正常运作的属性。健壮性包含两个层面,一方面是指其容错性,另一方面则是指其恢复性。

可靠性

这是指在特定条件与限定的时间框架内,软件能够持续稳定运行,未出现故障的可能性。

性能

这指的是软件对于特定事件的反应速度。它包括两个方面的考量:一是软件从接收到事件到做出响应所需的时间长度,二是软件在特定时间内能够处理的事件数量。

安全性

这是指软件抵御非法侵入的防御能力,既涉及技术层面的考量,也关联到管理层面的处理。

易用性

是指用户使用软件的容易程度。

兼容性

是指不同产品或者新老产品相互交换信息的能力。

分享