需求工程是什么

308 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第30天

需求工程简介

定义

简单来说,需求工程是所有需求处理活动的总和,它收集信息、分析问题、整合观点、记录需求并验证其正确性,最终反应软件被应用后与其环境互动形成的期望效应。

从细节上来说,需求工程是软件工程的一个分支,它关注于软件系统所应予实现的现实世界目标、软件系统的功能和软件系统应当遵守的约束,同时它也关注以上因素和准确的软件行为规格说明之间的联系,关注以上因素与其随时间或跨产品族而演化之后的相关因素之间的联系

需求工程的三个任务:

① 需求工程必须说明软件系统将被应用的环境及其目标,说明用来达成这些目标的软件功能,还要说明在设计和实现这些功能时上下文环境对软件完成任务所用方式、方法所施加的限制和约束,即要同时说明软件需要“做什么”和“为什么”需要做

② 需求工程必须将目标、功能和约束反应到软件系统中,映射为可行的软件行为,并对软件行为进行准确的规格说明。需求规格说明是需求工程最为重要的成果,是项目规划、设计、测试、用户手册编写等很多后续软件开发阶段的工作基础。

③ 需求工程还需要妥善处理目标、功能和约束随着时间的演化情况。同时,为节约开支和进行需求规格说明的重用,需求工程还需要对目标、功能和约束在软件产品族中的演化和分布情况进行综合考虑与处理。

需求工程的基本活动:

image.png

需求获取 的目的是从项目的战略规划开始建立最初的原始需求。

需求分析 的目的是保证需求的完整性和一致性。

需求规格说明 的目的是将完整、一致的需求与能够满足需求的软件行为以文档的方式明确地固定下来。

需求验证 的首要目的是保证需求及文档的正确性,即需求正确地反映了用户的真实意图;另一个目的是通过检查和修正,保证需求及其文档的完整性和一致性。

需求管理 的主要工作是跟踪后续阶段中的需求实现与需求变更情况,确保需求得到正确的理解和实现。