正在加载图片...
图43模块大小、模块数目与费用的关系 (4)控制层次 控制层次也叫做程序结构,它表明了程序构件(模块)的组织情况。控制层次往往用程 序的层次(树形或网状)结构来表示。如图44所示。位于最上层根部是顶层模块,它是程 序的主模块。与其联系的有若干下属模块,各下属模块还可以进一步引出更下一层的下属模 块。模块M是顶层模块,如果算做第0层,则其下属模块A、B和C为第1层,模块D、E K、L和N是第2层,…,等等。 扇出 王 深 度 白面的面面∥ 扇入 宽度 图44程序的层次结构图示例 ·程序结构的深度:程序结构的层次数称为结构的深度。结构的深度在一定意义上反映 了程序结构的规模和复杂程度 程序结构的宽度:层次结构中同一层模块的最大模块个数称为结构的宽度 模块的扇入和扇出:扇出表示一个模块直接调用(或控制)的其它模块数目。扇入则 定义为调用(或控制)一个给定模块的模块个数。多扇出意味着需要控制和协调许多下属模 块。而多扇入的模块通常是公用模块 要注意的是,程序结构是软件的过程表示,但并未表明软件的某些过程性特征。比如, 进程序列、事件/决策的顺序或其它的软件动态特性 (5)结构划分 程序结构可以按水平方向或垂直方向进行划分。水平划分按主要的程序功能来定义模块 结构的各个分支。顶层模块是控制模块,用来协调程序各个功能之间的通信和运行。其下级 模块的最简单的水平划分方法是建立三个分支:输入、处理(数据变换)和输出。这种划分 的优点是:由于主要的功能相互分离,易于修改、易于扩充,且没有副作用。缺点是:需要 通过模块接口传递更多的数据,使程序流的整体控制复杂化 垂直划分也叫做因子划分。主要用在程序的体系结构中,且工作自顶向下逐层分布:顶 层模块执行控制功能,少做实际处理工作,而低层模块是实际输入、计算和输出的具体执行 者。这种划分的优点是:对低层模块的修改不太可能引起副作用的传播,而恰恰对计算机程 序的修改常常发生在低层的输入、计算或输出模块中。因此,程序的整体控制结构不太可能 被修改,便于将来的维护 (6)数据结构 数据结构是数据的各个元素之间的逻辑关系的一种表示。数据结构设计应确定数据的组 织、存取方式、相关程度、以及信息的不同处理方法。数据结构的组织方法和复杂程度可以4 图 4.3 模块大小、模块数目与费用的关系 (4) 控制层次 控制层次也叫做程序结构,它表明了程序构件(模块)的组织情况。控制层次往往用程 序的层次(树形或网状)结构来表示。如图 4.4 所示。位于最上层根部是顶层模块,它是程 序的主模块。与其联系的有若干下属模块,各下属模块还可以进一步引出更下一层的下属模 块。模块 M 是顶层模块,如果算做第 0 层,则其下属模块 A、B 和 C 为第 1 层,模块 D、E、 K、L 和 N 是第 2 层,…,等等。 图 4.4 程序的层次结构图示例 ▪ 程序结构的深度:程序结构的层次数称为结构的深度。结构的深度在一定意义上反映 了程序结构的规模和复杂程度。 ▪ 程序结构的宽度:层次结构中同一层模块的最大模块个数称为结构的宽度。 ▪ 模块的扇入和扇出:扇出表示一个模块直接调用(或控制)的其它模块数目。扇入则 定义为调用(或控制)一个给定模块的模块个数。多扇出意味着需要控制和协调许多下属模 块。而多扇入的模块通常是公用模块。 要注意的是,程序结构是软件的过程表示,但并未表明软件的某些过程性特征。比如, 进程序列、事件∕决策的顺序或其它的软件动态特性。 (5) 结构划分 程序结构可以按水平方向或垂直方向进行划分。水平划分按主要的程序功能来定义模块 结构的各个分支。顶层模块是控制模块,用来协调程序各个功能之间的通信和运行。其下级 模块的最简单的水平划分方法是建立三个分支:输入、处理(数据变换)和输出。这种划分 的优点是:由于主要的功能相互分离,易于修改、易于扩充,且没有副作用。缺点是:需要 通过模块接口传递更多的数据,使程序流的整体控制复杂化。 垂直划分也叫做因子划分。主要用在程序的体系结构中,且工作自顶向下逐层分布:顶 层模块执行控制功能,少做实际处理工作,而低层模块是实际输入、计算和输出的具体执行 者。这种划分的优点是:对低层模块的修改不太可能引起副作用的传播,而恰恰对计算机程 序的修改常常发生在低层的输入、计算或输出模块中。因此,程序的整体控制结构不太可能 被修改,便于将来的维护。 (6) 数据结构 数据结构是数据的各个元素之间的逻辑关系的一种表示。数据结构设计应确定数据的组 织、存取方式、相关程度、以及信息的不同处理方法。数据结构的组织方法和复杂程度可以
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有