大话软工笔记—需求分析概述

需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定"需求"中确定出哪些需求最终要转换为确定的"功能需求"。

需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的、范围、深度等,同时分析的成果构成了需求工程主要交付物害求规格说明书中的核心内容。

1. 定义

需求分析,是对收集到的需求进行细致的分析、研判,准确地理解客户的目标、业务等对信息化的需求,最终将这些需求转换为准确地功能需求定义。

需求分析就是确定系统必须要做什么的过程,分析系统在功能上需要"实现什么",而不考虑如何去"实现"。

2. 作用

需求分析对需求调研的成果进行梳理、做可行性分析,给出客户的需求与功能之间的关联。

需求分析的结果会确定目标系统的完整、准确、清晰和具体的要求,包括系统覆盖的业务范围、功能需求、设计原则等。

需求分析的产出需求规格说明书,对客户确定了系统需要开发/交付的全部内容,是双方签订/验收合同的依据;对设计确定了规划系统范围、目标、原则,是具体设计的指导。

需求分析的结果,影响需求实际开发的功能数量,也影响着软件项目的开发成本,甚至对软件商技术的能力要求等。

3. 内容

对需求从高到低进行分层,分析工作包括:

  • 分层

将收集到的需求归集为目标需求、业务需求和功能需求。

  • 转换

将分层后的需求,按照目标需求--->业务需求--->功能需求顺序进行转换。

  • 功能

通过一系列的分析、转换,最终获得功能需求。

4. 能力

需求分析除了需掌握需求调研者的能力外,还需要具备以下能力:

(1)建模与分析能力

(2)专业业务知识

(3)设计与实现的知识

5. 需求的分层

需求调研记录的图、文、表可拆分为需求的三层,如下图所示:

6. 需求的转换

对"管理智能化"的需求转换如下图所示:

相关推荐
奋进的电子工程师14 小时前
热管理难题,交给TAITherm
软件工程
weixin_4462608515 小时前
SpecBench:软件工程中大型语言模型智能体的规范级推理评估
人工智能·语言模型·软件工程
workflower16 小时前
具身智能-三层结构
人工智能·设计模式·动态规划·软件工程·scrum
12点一刻1 天前
Superpowers — AI 驱动的软件工程方法论框架
人工智能·软件工程
PM老周1 天前
Agentic AI 如何提升项目决策速度?实践方法详解
ai·项目管理·agentic ai·项目决策
溜达的大象2 天前
《大模型驱动软件测试》| 软件工程3.0时代,大模型驱动测试实战指南
软件工程
crazyme_62 天前
软件工程实践:从零到一,开发 AI 提示注入闯关平台
人工智能·软件工程
忆~遂愿2 天前
《大模型驱动软件测试》| 软件工程3.0时代,大模型驱动测试实战指南
人工智能·深度学习·神经网络·机器学习·自然语言处理·软件工程·知识图谱
Dola_Zou2 天前
工业软件防破解避坑指南:CodeMeter 全流程入门与选型(上)
人工智能·自动化·视觉检测·软件工程·软件加密
铁皮哥2 天前
【agent 开发】Claude Code 的 Skill 是怎么被加载的?从 name/description 到 SKILL.md 再到资源文件
java·服务器·数据库·python·gitee·github·软件工程