软件工程---软件需求分析

目录

一、软件需求分析的任务

1问题识别

2、分析与综合

3、编制需求分析阶段的文档

4、需求分析评审

需求分析流程---数据流图(DFD图)

软件需求分析原则

软件需求规格说明的原则

二、结构化分析方法

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

数据流图注意事项

三、原型化方法

软件原型的分类

动态分析方法

状态迁移图

时序图

Petri网

需求规格说明书


本章内容:软件分析的任务和过程、结构化分析方法、原型化方法、动态分析法

要点:

1、了解软件需求分析目标和任务

2、了解软件需求的获得方法

3、掌握结构化分析方法

4、了解需求规格说明和需求评审的主要内容

形成关键性的文档:需求规则说明书

一、软件需求分析的任务

主要任务如下:

深入描述软件的功能和性能

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

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

软件需求规则说明书满足:一致性、完整性、现实性、有效性、可验证性

需求分析的任务就是借助于当前系统的逻辑模型推导出目标系统的逻辑模型,解决目标系统的“做什么”的问题。

需求分析的过程

1问题识别

从系统角度理解软件并评审,软件范围是否恰当

确定对目标系统的综合要求,即软件需求

提出这些需求实现条件,以及需求应达到的标准

软件需求包括功能需求、性能需求、环境需求、可靠性需求、安全保密需求、用户界面需求、资源使用需求、成本消耗需求、开发进度需求、预先估计以后系统可能达到的目标

问题识别另一项工作是建立分析所需要的通信途径,以保证能顺利的对问题进行分析。

2、分析与综合

从信息流和信息结构出发,逐步细化所有的软件功能,找出系统个袁旭之间的联系、接口特性和设计上的约束,分析他们是否满足功能需求,是否合理。

常用的分析方法:面向数据流的结构化分析方法(SA)、结构化数据结构的Jackson方法(JSD)、结构化数据系统开发方法(DSSD)、面向对象的分析方法(OOA)

3、编制需求分析阶段的文档

软件需求说明书

数据要求说明书

初步的用户手册

修改、完善与确定软件开发实施计划

4、需求分析评审

系统定义的目标是否与用户的要求一致

系统需求分析阶段提供的文档资料是否齐全

文档中的所有描述是否完整、清晰、准确的反映用户要求

与所有其它系统成分的中音号接口是否都已经描述。

 

需求分析流程---数据流图(DFD图)

圆圈表示加工

矩形框:原点和汇点(从哪开始到哪结束)

双横线:表示文档

箭头:表示数据流流向

用数据流的方法表示数据在系统中的流动

 

软件需求分析原则

需要能够表达和理解问题的信息域和功能域

要能以层次化的南方是对问题进行分解和不断细化

在开始建立分析模型前,先分析问题

开发原型,使得用户能够了解将如何发生人机交互

记录每个需求的起源以及原因

使用多个需求视图

给需求赋予优先级

努力删除含糊性,去掉模棱两可

软件需求规格说明的原则

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

要求使用面向处理的规格说明语言(或称系统定义语言)

注:一般越早的进入编程阶段越容易出现问题

 

二、结构化分析方法

面向数据流进行需求分析的方法

结构化分析方法适用于数据处理类型软件的需求分析

数据流图---DFD图

圆圈:表示数据加工

矩形框:表示数据源或终点(外部实体)

箭头:数据流

两条横线:表示数据存储文件存放

 

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

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

数据流图的主图必须包括前述四种元素,缺一不可

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

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

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

数据流图注意事项

图上每个元素都必须有名字、数据流图中不可夹带控制流、初画时可以忽略琐碎的细节,以集中精力于主要数据流

数据词典:数据词典与数据流图配合,能清楚的表达数据处理的请求

词条描述:对于在数据流图中每一个被命名的图像元素,均加以定义 。

其内容有:名字、别名或编号、分类、描述、定义、位置、其它

 

 

三、原型化方法

在开发初期,想得到一个完整准确的规格说明不是一件容易的事

用户往往对系统只有一个模糊的想法,很难完全准确的表达对系统的全面要求

软件原型的分类

在软件开发中,原型是软件的一个早期可运行的版本,它反映的最终系统的部分重要特性

分类:探索型、实验型、进化型

原型使用策略:废弃策略、追加策略

原型开发:可以在各个阶段进入到原型阶段进行修

 

动态分析方法

常用:状态迁移图、时序图、Petri网

状态迁移图

状态迁移图主要描述系统的状态如何相应外部的信号进行推移的一种图形表示。即从一个状态转为另一个状态。

圆圈“O"表示可得到的系统状态。

 

 

 

箭头"→"表示从一种状态向另一种状态的迁移

状态:运行状态、等待状态、就绪状态

状态迁移图优点:状态之间的关系可以只管的捕捉、由于状态迁移图的单纯性、能够机械的分析许多情况,可以很容易的建立分析工具、其它

时序图

时序图(Sequence Diagram),又名序列图、循序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,其中的每条消息对应一个类操作或状态机中引起转换的触发事件。

时序图中包括如下元素:角色,对象,生命线,控制焦点和消息。

时序图百度百科中的查询

https://baike.baidu.com/item/%E6%97%B6%E5%BA%8F%E5%9B%BE/3659178?fr=aladdin

Petri网

Petri网:广泛的应用于硬件与软件系统的开发中,适用于描述与分析相互独立、协同操作的处理系统,即并发执行的处理系统。

Petri网简称PNG(Petri Net Graph)有两种结点,

位置(place):符号为“O”,它用来表示系统的状态

转移(transition):符号为”?“,它用来表示系统中的事件

图中的有向边表示对转移的输入,或由转移的输出。

 

需求规格说明书

1.引言

1.1编写目的

1.2项目背景

1.3定义

1.4参考资料

2.任务概述

2.1目标

2.2运行环境

2.3条件与限制

3.数据描述

3.1静态数据

3.2动态数据

3.3数据库介绍

3.4数据词典

3.5数据采集

4.功能需求

4.1功能划分

4.2功能描述

5.性能需求

5.1数据精确度

5.2事件特性

5.3适应性

6.运行需求

6.1用户界面

6.2硬件接口

6.3软件接口

6.4故障处理

7.其它需求

根据不同项目和要求有所重点的书写说明书

猜你喜欢

转载自blog.csdn.net/dopdkfsds/article/details/82942990
今日推荐