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

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

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

1. 定义

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

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

2. 作用

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

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

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

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

3. 内容

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

  • 分层

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

  • 转换

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

  • 功能

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

4. 能力

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

(1)建模与分析能力

(2)专业业务知识

(3)设计与实现的知识

5. 需求的分层

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

6. 需求的转换

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

相关推荐
宇钶宇夕3 小时前
CoDeSys入门实战一起学习(二十八):(ST)三台电机顺起逆停程序详解
运维·学习·自动化·软件工程
学嵌入式的小杨同学5 小时前
【Linux 封神之路】进程进阶实战:fork/vfork/exec 函数族 + 作业实现(含僵尸进程解决方案)
linux·开发语言·vscode·嵌入式硬件·vim·软件工程·ux
加密狗复制模拟7 小时前
破解加密狗时间限制介绍
安全·软件工程·个人开发
muddjsv10 小时前
软件工程核心课程学习规划表(按时间递进)
软件工程
明洞日记1 天前
【软考每日一练030】软件维护:逆向工程与再工程的区别与联系
c++·软件工程·软考·逆向工程
明洞日记1 天前
【软考每日一练026】软件工程深度解析:软件开发方法学的分类与应用实战
c++·ai·系统架构·软件工程·软考
喜欢吃豆1 天前
Ralph 架构深度解析报告:自主代理循环与软件工程的确定性重构
人工智能·重构·架构·大模型·软件工程
明洞日记1 天前
【软考每日一练028】软件工程考点:螺旋模型与构件组装模型深度解析
c++·ai·系统架构·软件工程·软考·开发模型
Warren2Lynch2 天前
2026年专业软件工程与企业架构的智能化演进
人工智能·架构·软件工程
MYPM_AndyLiu2 天前
对比 Codes、Jira、禅道、PingCode 等工具的需求管理方式
项目管理·产品经理·jira·项目经理·codes·需求管理对比