1.软件结构图的形态特征有哪些指标?各有什么含义?

(1)深度:指结构图控制的层次,即模块的层数。

(2)宽度:指一层中最大的模块个数。

(3)扇出:指一个模块直接下属模块的个数。如模块M的扇出为3.

(4)扇入:指一个模块直接上属模块的个数。

2.软件结构有哪些优化原则?

(1)模块独立性准则

划分模块时,尽量做到高内聚、低耦合,保持模块相对独立性,以此原则优化初始的软件结构。

(2)软件结构的形态特征准则

软件结构的深度、宽度、扇入数和扇出数都要适当。

(3)模块的大小准则

按模块的独立性,即根据模块的功能来决定模块的大小。

过大的模块应该进行分解。过小的模块会增加模块间接口的复杂性,可以进行适当的合并,但不应降低模块的独立性。

(4)模块控制域与作用域之间的准则

一个模块的作用域应在其控制范围之内,且条件判定所在的模块应与受其影响的模块在层次上尽量靠近。

(5)模块的接口准则

模块的接口要简单、清晰,力求降低模块接口的复杂程度,设计单入口、单出口的模块

3.数据流模型的类型有哪些?各有什么特点?

有三种数据流类型:

(1)变换流:整个数据流体现了以输入、变换、输出的顺序方式,沿一定路径前行的特征,这就是变换型数据流,简称变换流。

(2)事务流:具有根据条件选择处理不同事务的数据流,就是事务型数据流,简称事务流。

(3)混合流:具有将事务流和变换流组合出现,就是混合型数据流,简称混合流。

4.简述面向数据流的变换以及事务设计方法的步骤。

第一步:复查基本系统模型,并精化系统数据流图

第二步:分析数据流类型,确定数据流具有变换流特征还是事务流特征

如果是变换流特征,确定输入流和输出流的边界(也分别称为最高输入/输出抽象点),输入流边界和输出流边界之间就是变换流,也称为“变换中心”。变换流加工处理的是某些形式的内部数据。

如果是事务流特征,则可确定一个接收分支和一个发送分支。其中发送分支包含一个“事务中心”和各个事务动作流。

5.结构化详细设计工具有哪几种?各有什么特点?

(1)图形工具:把过程的细节表示成一个图的组成部分,在这个图上,逻辑构造用具体的图形来表示。

(2)列表工具:用一个表来表示过程的细节,这个表列出了各种操作及其相应的条件,即描述了输入、处理和输出信息。

(3)语言工具:用伪代码来表示过程的细节,这种伪代码很接近于编程语言。