软件工程——第三章 软件需求分析

时间:2022-07-13 03:24:26

第三章

软件需求分析

软件需求分析的任务

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

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

3、    定义软件的其它有效性需求

软件需求包括:

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

需求分析的过程

1、    问题识别

2、    分析与综合

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

4、    需求分析评审

常用的分析方法

1、    面向数据流的结构化分析方法(SA

2、    面向数据结构的Jackson方法(JSD

3、    结构化数据系统开发方法(DSSD

4、    面向对象的分析方法(OOA)等

数据字典(Data Dictionary简称:DD:是关于数据的信息的集合,对数据流图中的各个元素做完整的定义域说明,是数据流程图的补充工具。数据流图和数据字段共同构成系统的而逻辑模型。

数据字典的内容,数据字典有下列六类元素的定义组成:数据流、数据项、数据结构、数据存储、处理逻辑、外部实体。

 

用于写加工逻辑说明的工具:结构化英语,判断表,判定树。

1、    结构化英语:是一种介于自然语言和形式化语言之间的语言。其基本控制结构有三种:简单陈述句结构,重复结构,判定结构。

2、    判定表:如果数据流图的加工需要依赖于多个逻辑条件的取值,使用判定表来描述比较合适。

3、    判定树:也是用来表达加工逻辑的一种工具。有时候它比判定表更直观。

软件原型的分类:探索型,实验型,进化型。

原型使用策略:废弃策略,追加策略。

最常用的动态分析方法

状态迁移图,时序图,Petri

状态迁移图:是描述系统的状态如何响应外部的信号进行推移的一种图形表示。圆圈表示可得到的系统状态,箭头表示从一种状态向另一种状态的迁移。

状态迁移图的优点:状态之间的关系能够直观的捕捉到,优于状态迁移图的单纯性,能够机械的分析许多情况,可很容易的建立分析工具。

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