描述程序处理过程的工具成为过程设计的工具,他们可以分为图形、表格和语言3类。不论是哪类工具,对他们的基本要求都是能提供对设计的无歧义的描述,也就是应该指明控制流程、处理功能、数据组织以及其他方面的实现细节,从而在编码阶段能把对设计的描述直接翻译成程序代码。
出于要有一种不允许违背结构程序设计精神的图形工具的考虑,Nassi和Shneiderman提出了盒图,又称为N-S图。它有下述特点:
功能域(即一个特定控制结构的作用域)明确,可以从盒图上一眼就看出来;
不可能任意转移控制;
很容易明确局部和全局数据的作用域;
很容易表现嵌套关系,也可以表示模块的层次结构。
下图给出了结构化控制结构的盒图表示,也给出了调用子程序的盒图表示方法。
盒图没有箭头,因此不允许随意转移控制。坚持使用盒图作为详细设计的工具,可以使程序员逐步养成用结构化的方式思考问题和解决问题的习惯。
摘自:《软件工程》张海藩编著