【软件工程】软件需求分析

概述

一个正规的软件工程的第一步是软件计划,有了具体的计划后,第二步是软件需求分析。那什么是需求分析?

软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。需求分析是软件定义阶段中的最后一步,是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。

例如:某公司要为客户做一个机房收费系统,需求分析就是与客户进行沟通交流后,了解客户需要此系统拥有哪些功能,用户界面的要求,成本要求等等,但往往客户对系统的某些具体功能较模糊,我们还要帮助客户完善功能等一系列工作就是软件需求分析。

导图

【软件工程】软件需求分析_第1张图片

软件需求分析的过程

  • 问题识别
  • 分析与综合
  • 编制需求分析阶段的文档
  • 需求分析评审

用来描述软件需求分析阶段流程的工具是数据流图。

什么是数据流图?

数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。

为什么要使用数据流图?

可以自顶向下的分析系统信息流程
可在图上画出需要计算机处理的部分
进一步做数据分析,想数据库设计过渡
定出存取方式
用相应的语言,判定表等工具表达处理方法

数据流图的主要图形元素
【软件工程】软件需求分析_第2张图片
而只有数据流图是不够的,为了表达数据处理过程的数据加工情况,需要将数据流图进行分层。最顶层为0层,下面一层为上面一层的细化。
【软件工程】软件需求分析_第3张图片
用于写加工逻辑说明的工具的各方面比较如下表:

结构化英语 判定表 判定树
机器可读性 一般
描述主观性 一般 一般
逻辑验证 一般 一般
优化能力 一般 一般

最常用的动态分析方法:

状态迁移图
时序图
Petri图

状态迁移图: 是描述系统的状态如何相应外部的信号进行推移的一种图形表示。
【软件工程】软件需求分析_第4张图片
Petri(petri Net Graph)网: 适用于描述与分析相互独立,协同操作的处理系统,也就是并发执行的处理系统。
【软件工程】软件需求分析_第5张图片
【软件工程】软件需求分析_第6张图片

你可能感兴趣的:(---软件工程,软件工程)