软件工程——需求分析(生存周期),需求规格说明书,数据流图

简介: 在前面我们进行了项目的软件计划,完成了可行性研究报告,知道了要做什么的问题,而下一步,我们就需要进一步的了解项目具体要怎么做,回答必须要做什么的问题了。

在前面我们进行了项目的软件计划,完成了可行性研究报告,知道了要做什么的问题,而下一步,我们就需要进一步的了解项目具体要怎么做,回答必须要做什么的问题了。


20200602205614289.png


需求分析的地位


软件系统定义阶段的最后一个阶段,准确回答系统必须做什么的问题


结束的标志是什么?


形成需求规格说明书


需求分析的过程有哪些?


1.回答系统必须做什么,深入描述软件的功能和性能。在可行性研究报告的基础上更行更细的研究


2.确定软件设计的约束和软件同其他系统元素的接口细节


3.定义软件的其他有效性需求


             20200602205741925.png    


软件需求规格说明的原则

从显示中分离功能,即描述要“做什么”而不是“怎样实现”


要能以层次化的方式对问题进行分解和不断细化(把一个抽象的问题以层次化的方式进行分解,分解成功能不同的子问题)


分解方法:横向分解,纵向分解


  20200602205830151.png            


数据流图


数据流图是什么?


是描述数据处理过程的工具,它表示了系统内部信息的流向,并表示了系统的逻辑处理的功能


特性是什么?


抽象性、概括性、层次性


面向数据流的分析方法


结构化分析方法。使用数据流图DFD与数据字典DD来描述


核心是分解化简问题,将物理与逻辑表示分开,对系统进行数据与逻辑的抽象


优缺点有哪些?


1.总体概念强,每一层都明确强调“干什么”,“需要什么”,“给出什么”


2.可以反映出数据的流向和处理过程


3.由于自顶向下分析,容易及早发现系统各部分的逻辑错误,易修改


4.容易与计算机处理相对照


5.不直观,一般都要在作业流程分析的基础上加以概括、抽象、修正来得到


6.如果没有计算机系统帮助的化,人工绘制太麻烦,工作量较大


数据流图的主要图形元素


              20200602205857862.png        


分层数据流图(一般划分3层)


   20200602205929613.png                


实例说明


实例:计算机教材销售系统


20200602210617318.png


检查和修改数据流图的原则


数据流图上所有图形符号只限于前述四种基本图形元素


数据流图的主图必须包括期中基本元素,缺一不可


每个加工至少有一个输入数据流和一个输出数据流


在数据流图中,需按层给加工框编号。编号表明该加工所处层次及上下层的亲自关系


规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致


用于写加工逻辑说明的工具


结构化英语


判定表


判定树


总结


软件计划和需求分析是相互依存的,软件计划为需求分析提供依据,需求分析在软件计划的基础上进行拆解分析

软件计划最后需要生成可行性研究报告,需求分析形成需求规格说明书

相关文章
|
12月前
软件工程——软件开发阶段(概要设计、详细设计)
需求分析确定了系统的开发目标,下一步工作就是软件设计。软件设计可以进一步地 分为两个阶段:总体设计和详细设计。确定系统的具体 实现方案、给出软件的模块结构、编写各个文档
|
27天前
|
敏捷开发 算法 测试技术
【软件测试】 测试用例的基本要素与设计方法
【软件测试】 测试用例的基本要素与设计方法
|
2月前
|
UED
产品服务需求分析与概念设计阶段
产品服务需求分析与概念设计阶段
48 3
|
敏捷开发 人工智能 自然语言处理
测试思想-文档评审 需求分析和评审简述
测试思想-文档评审 需求分析和评审简述
93 0
|
测试技术
测试思想-测试计划 软件测试方法与测试策略简述
测试思想-测试计划 软件测试方法与测试策略简述
76 0
|
安全
【软件系统分析与设计】需求分析的任务、目标及方法
【软件系统分析与设计】需求分析的任务、目标及方法
912 0
【软件系统分析与设计】需求分析的任务、目标及方法
|
设计模式 测试技术
软件测试面试题:如何在脚本中组织测试用例,按什么模式设计?
软件测试面试题:如何在脚本中组织测试用例,按什么模式设计?
77 0
|
数据采集 安全 测试技术
软件测试工作流程概括与总结
软件测试工作流程概括与总结
254 0