描绘软件结构的图形工具
上一节
下一节
一、层次图和HIPO图
1. 层次图(H图)
层次图用来描绘软件的层次结构。很适于在自顶向下设计软件的过程中使用。
层次图和层次方框图的区别:

![K`~~([C9]6%~W%(Q]~PBVJV.png](https://p.ananas.chaoxing.com/star3/origin/5ed6f072d143e0ec406cdd2f0c1bc0b6.png)
2. HIPO图
HIPO图是美国IBM公司发明的“层次图+输入/处理/输出图”的英文缩写。
为了能使HIPO图具有可追踪性,在H图(层次图)里除了最顶层的方框之外,每个方框都加了编号。

和H图中每个方框相对应,应该有一张IPO图描绘这个方框代表的模块的处理过程。模块在H图中的编号便于追踪了解这个模块在软件结构中的位置。
二、结构图
Yourdon提出的结构图是进行软件结构设计的另一个有力工具。结构图和层次图类似,也是描绘软件结构的图形工具。
基本符号:
■方框代表一个模块;
■方框之间的直线表示模块的调用关系;
■尾部是空心圆箭头表示传递的是数据;
■尾部实心圆箭头表示传递的是控制信息。

附加符号:
■选择调用:判定为真时调用A,为假时调用B。
■循环调用:模块M循环调用模块A、B、C。
![]X60P$1{WGZK[XAFJOZ5TU8.png](https://p.ananas.chaoxing.com/star3/origin/f7192f18dbdbcc4cba104cc22101a943.png)
注意:
■层次图和结构图并不严格表示模块的调用次序,多数人习惯按调用次序从左到右画模块;
■层次图和结构图并不指明何时调用下层模块;
■层次图和结构图只表明一个模块调用那些模块,没有表示模块内还有没有其他成分;
■通常用层次图作为描绘软件结构的文档;
■由层次图导出结构图的过程,可以作为检查设计正确性和评价模块独立性的好方法。

