第5章好像少了些,好耶!

详细设计概要

详细设计的根本目标是确定应该怎样具体地实现所要求地系统

结构程序设计

经典定义:如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。

更全面定义:结构程序设计是尽可能少用GOTO语句的程序设计方法。最好仅在检测出错误时才使用GOTO语句,而且应该总是使用前向GOTO语句。

为了实际使用方便起见,常常还允许使用DO-UNTIL和DO-CASE两种控制结构。

有时需要立即从循环(甚至嵌套的循环)中转移出来,允许使用LEAVE(或BREAK)结构。LEAVE或BREAK结构实质上是受限制的GOTO语句,用于转移到循环结构后面。

过程设计技术和工具

程序流图

盒图

PAD图

判定表

判定树

程序复杂程度的定量度量

流图

流图的表示:

所谓流图实质上是“退化了的”程序流程图,它仅仅描绘程序的控制流程,完全不表现对数据的具体操作以及分支或循环的具体条件。

结点:用圆表示,一个圆代表一条或多条语句。

边:箭头线称为边,代表控制流。在流图中一条边必须终止于一个结点,即使这个结点并不代表任何语句。

区域:由边和结点围成的面积称为区域,包括图外部未被围起来的区域。

McCabe方法

McCabe方法根据程序控制流的复杂程度定量度量程序的复杂程度,这样度量出的结果称为程序的环形复杂度。