一、总体概述
HIPO(Hierarchy Plus Input/Processing/Output)图是美国IBM公司70年代发展起来的表示软件系统结构的工具。它既可以描述软件总的模块层次结构--H图(层次图),又可以描述每个模块输入/输出数据、处理功能及模块调用的详细情况--IPO图。HIPO图以模块分解的层次性以及模块内部输入、处理、输出三大基本部分为基础建立的。
二、绘制HIPO图步骤
因此我们可以这样来 绘制HIPO图:
1、总体IPO图:它是数据流程图的初步分层细化结果,根据数据流程图,将最高层处理模块分解为输入、处理、输出三个功能模块。
2、HIPO图:根据总体IPO图,对顶层模块进行重复逐层分解,而得到的关于组成顶层模块的所有功能模块的层次结构关系图。
3、低层主要模块详细的IPO图:由于HIPO图仅仅表示了一个系统功能模块的层次分解关系,还没有充分说明各模块间的调用关系和模块间的数据流及信息流的传递关系。因此,对某些输送低层上的重要工作模块,还必须根据数据字典和HIPO图,绘制其详细的IPO图,用来描述模块的输入、处理和输出细节,以及与其他模块间的调用和被调用关系。
三、经典比喻
打个形象的比喻,即为:HIPO图犹如一颗大树;大树的总体组成包括叶、花、树干、根,即为总IPO图;然后按照生长的规律,由下到上的顺序依次为根、茎、叶、花,这既可以理解为H图;而叶、花、树干、根每一部分给予树的生长起到什么作用以及与大树之间的联系,既可以理解为底层详细的IPO图。
四、案例分析
请根据某企业订单处理系统的数据流程图(如下图),应用HIPO图法进行模块层次功能分解。
(1)根据DFD把模块分解为输入、处理、输出三个功能模块,得到总体IPO图。
(2)根据总体IPO图将各模块逐层进行功能分解,画HIPO图。模块的执行顺序是从上到下,由左向右。
(3)在HIPO图基础上,绘制低层主要模块的IPO图,作为程序模块结构设计的依据。