结构化设计方法是在模块化思想、自顶向下逐步细化原则和结构化程序设计的基础上发展起来的。结构化设计与结构化分析密不可分,设计中的每一个步骤及产生的模型、文档都必须在需求分析中找到来源,其对应关系如图2-8所示。
结构化设计方法实施的步骤是:
(1)研究、分析和审查数据流图。从软件的需求规格说明中弄清数据流加工的过程,对于发现的问题及时解决。
(2)根据数据流图确定数据处理的类型。典型的数据类型有两种:变换型和事务型。针对两种不同类型分别进行分析处理。
(3)由数据流图推导出系统的初始结构图。
(4)利用一些启发式原则改进系统初始结构图,直到得到符合要求的结构图为止。
(5)修改和补充数据字典。
(6)制订测试计划。
图2-8 结构化分析与结构化设计的关联
软件结构图(SC图)是结构化设计中划分模块的重要工具,SC图中的模块分为以下4种:
(1)传入模块:从下属模块取得数据,进行某些处理后将其传送给上级模块。它传送的数据流叫做逻辑输入数据流。
(2)传出模块:从上级模块获得数据,进行某些处理后将其传送给下属模块。它传送的数据流叫做逻辑输出数据流。
(3)变换模块:从上级模块取得数据,进行特定的处理后将其转换成其他形式,再传送回上级模块。
(4)协调模块:对所有下属模块进行协调和管理的模块。
变换型数据处理是结构化设计中一类常见的问题,其工作过程大致分为三步,即取得数据、变换数据和给出数据。对应于取得数据、变换数据和给出数据,变换型系统结构图由输入、中心变换和输出三部分组成,如图2-9所示。
图2-9 一个变换型系统结构图示例
变换分析方法由以下四步组成:(www.xing528.com)
(1)审核数据流图。
(2)区分有效(逻辑)输入、有效(逻辑)输出和中心变换部分。
(3)进行一级分解,设计上层模块。
(4)进行二级分解,设计输入、输出和中心变换部分的中、下层模块。
图2-10是一个对数据流图进行变换分析进而设计出对应结构图的示例。
图2-10 对数据流图进行变换分析获取结构图的示例
模块化设计的原则:
(1)在选择模块化设计的次序时,必须在一个模块的全部直接下属模块都设计完成之后,才能转向另一个模块的下层模块的设计。
(2)使用“黑盒”技术:在设计当前模块时,先把该模块的所有下层模块定义成“黑盒”,在设计中利用它们时暂不考虑其内部结构和实现。上一步定义的“黑盒”在下一步中就可以对它们进行设计和加工。最后,全部“黑盒”的内容和结构应完全被确定。
(3)在设计下层模块时,应考虑模块的耦合和内聚问题,尽可能做到高内聚低耦合,以提高初始结构图的质量。
(4)划分模块时,一个模块的直接下属模块一般在5个左右。如果直接下属模块超过10个,可设立中间层次。
(5)如果出现以下情况,就应该停止模块分解:
①模块不能再细分为明显的子任务;
②分解成用户提供的模块或库函数;
④模块不宜再分解得过小。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。