地信1902李孟雪 第八章思考题
1.软件结构图的形态特征有哪些指标?各有什么含义?
答:
软件结构图的形态特征:
①深度:结构图控制的层次,即模块的层数。
②宽度:一层中最大的模块个数。
③扇出:一个模块直接下属模块的个数。
④扇入:一个模块直接上属模块的个数。
2.软件结构有哪些优化原则?
答:
①模块独立性原则。划分模块时,尽量做到高内聚、低耦合,保持模块相对独立性,以此原则优化初始的软件结构。
②软件结构的形态特征准则。软件结构的深度、宽度、扇入数和扇出数都要适当。
③模块的形态大小准则。按模块的独立性,即根据模块的功能来决定模块的大小。过大的模块应该进行分解,过小的模块会增加模块间结构的复杂性,可以进行适当的合并,但不应降低模块的独立性。
④模块控制域与作用域之间的准则。一个模块的作用域应在其控制范围之内,且条件判定所在的模块应与受其影响的模块在层次上尽量靠近。
⑤模块的接口准则。模块的接口要简单、清晰,力求降低模块接口的复杂程度。
3.数据流模型的类型有哪些?各有什么特点?
答:
①变换流。信息可以通过各种路径进入系统,信息在流入系统的过程中由外部形式变换为内部数据形式,被标识为输入流。在软件的核心,输入数据经过一系列加工处理,被标识为变换流。通过变换处理的输出数据,沿各种路径转换为外部形式流出软件,被标识为输出流。整个数据流体现了以输入、变换、输出的顺序方式,沿一定路径前行的特征,这就是变换型数据。
②事务流。当数据经过一个具有“事务中心”特征的数据处理时,它可以根据事务类型从多条路径的数据流中选择一条活动通路。这种具有根据条件选择处理不同事务的数据流称为事务流。
③混合流。具有将事务流和变换流组合出现的就是混合流。
4.简述面向数据流的变换以及事务设计方法的特征。
答:
面向数据流的变换:
它依据一定的映射规则,将需求分析阶段得到的数据描述,从系统的输入端到输出端所经历的一系列变换出来的数据流图转换为目标系统的结构描述。
变换设计方法的要点是分析数据流图、确定输入流、输出流便捷、根据输出流、变换流、输出流3个数据流分支将软件映射成一个标准的树形体系结构。变换设计方法是将具有变换流特征的数据流图映射为软件结构图,其设计过程除基本过程步骤外,不同之处是确定输入和输出的边界以及变换设计。
事务设计方法特征:
事务设计是把事务流映射成包含一个接受分支和一个发送分支的软件结构。接受分支的映射方法与变换设计映射出输入结构的方法相似,即从事务中心的边界开始,把沿着接收流通路的处理映射成一个个模块。发送分支结构包含了一个分类控制模块和它下层的各个动作模块。数据流图的每一个事务动作流路径应映射成与其自身信息流特征相一致的结构。
5.结构化详细设计工具有哪几种?各有什么特点?
答:
①图形工具。把过程的细节表示为一个图的组成部分,逻辑构造用具体的图形表示。
(1)流程图。优点:直观的描述过程的控制流程。缺点:本质上不是逐步求精的好工具,使得不考虑程序的全局结构,而是考虑程序的控制流程;流程图不易表示数据结构。
(2)盒图。功能域明确;限制了任意的控制转移,保证程序有良好的结构;很容易确定局部数据和全局数据的作用域;很容易表示嵌套关系,也可以表示模块的层次结构。
(3)PAD图。采用自顶向下、逐步细化和结构化设计的原则,力求将模糊的问题求解的概念逐步转换为确定的和详尽的过程,使之最终可采用计算机直接进行处理。
优点:使用表示结构化控制结构的PAD符号设计出来的程序必然是结构化程序;PAD图所描绘的程序结构十分清晰;用PAD图表现程序逻辑易读易懂易记,PAD图是二维树型结构的图形,程序从图中最左竖线上端的结点开始执行,自上而下,从左向右顺序执行,遍历所有结点;容易将PAD图转换为高级语言源程序,这种转换可用软件工具自动完成,从而可省去人工编码的工作,有利于提高软件可靠性和软件生产率;PAD图既可用于表示程序逻辑,又可用于描绘数据结构。
(4)HIPO图。采用功能框图和过程描述语言联合来描述程序逻辑。特点:这一图形表达方法容易看懂;适用范围很广,不限于详细设计。
②列表工具。用一个表来表示过程的细节,列出了各种操作及其相应的条件。
(1)判定表与判定树。常用于条件嵌套的复杂判定情况的分析和设计。
(2)PDL。PDL在自然语言基础上加了一些限定,使用有限的词汇和有限的语句来描述加工逻辑。
③语言工具。用类语言来表示过程的细节,接近于编程语言。
6.请使用面向数据流的设计方法对你的团队项目进行总体设计,将数据流图(DFD)变换得到系统的模块结构图(MSD)
7.请选择合适的结构化详细设计工具对你的团队项目的模块进行详细设计。

浙公网安备 33010602011771号