方块图(N-S图),全称为“行为图”(Notation for Systems Analysis and Design),是一种用于系统分析与设计的图形工具,它在结构化编程方法中占有重要地位。研制方块图的目标在于提供一个既能直观表达系统功能,又能遵循结构化原则的工具。其主要特点是:
1. **明确的功能域**:每个方块代表一个特定的功能模块,其功能范围清晰可见,使得系统结构一目了然。
2. **结构限制**:方块图不允许随意分支或转移,强调控制流程的线性执行,这有助于保持程序的逻辑清晰和结构化。
3. **数据作用域**:局部数据和全程数据的范围在图中易于区分,有助于理解和管理数据的生命周期。
4. **递归支持**:方块图能够方便地表示递归结构,对于处理复杂的循环和子任务非常有用。
与流程图相比,方块图更侧重于结构化,避免了流程图可能导致的控制流随意转移的问题。流程图符号如方框代表处理步骤,菱形表示条件判断,箭头指示控制流,但这种表示方式可能导致程序结构过于细化,不利于整体设计。
在详细设计阶段,模块结构设计是关键环节,涉及到对软件内部过程的描述,如算法设计,包括面向过程和面向对象的设计。面向过程设计通常使用结构化构造,如顺序、选择和重复,通过图形工具如流程图、方块图或PAD图来表示。流程图虽然直观,但可能不适合逐步求精,而方块图则更符合结构化原则。
PAD图(Problem Analysis Diagram),作为另一种详细设计工具,它采用结构化的控制结构符号来表示系统的逻辑流程,尤其适合处理复杂的控制逻辑和决策过程。PAD图的特点在于其清晰地展示了控制流程和条件判断,有助于减少程序设计中的错误和混乱。
设计模式在这个过程中扮演着微观体系结构模式的角色,它为类设计提供了原则和模板,帮助开发者合理规划和组织类,从而提高软件质量和可维护性。无论是面向过程还是面向对象的设计,都强调了设计模式在详细设计中的应用。
方块图、流程图和PAD图都是系统分析与设计中的实用工具,它们各自针对不同需求提供有效的表示手段,帮助开发人员构建结构清晰、易于理解和维护的软件系统。