层次图和HIPO图
层次图用来描述软件的层次结构。虽然层次图的形式和描绘数据结构的层次方框图相同,但是表现的内容却完全不同。层次图中的一个矩形框代表一个模块,方框间的连线表示调用关系而不像层次方框图那样表示组成关系。下图是层次图的一个例子,最顶层的方框代表正文加工系统的主要模块,它调用下层模块完成正文加工的全部功能;第二层的每个模块控制完成正文加工的一个主要功能,例如“编辑”模块通过调用它的下属模块可以完成6钟编辑功能中的任何一种。
层次图很适合在自顶向下设计软件的过程中使用。
HIPO图是美国IBM公司发明的“层次图加输入/处理/输出图”的英文缩写。为了能使HIPO图具有可追踪性,在H图(层次图)里除了最顶层的方框之外,每个方框都加了编号。如下图:
和H图中每个方框相对应,应该有一张IPO图描绘这个方框代表的模块的处理处理过程。下面再详细介绍IPO图。但是有一点应该指出,那就是HIPO图中的每张IPO图内都应该明显地标出它所描述的模块在H图中的编号,以便追踪了解这个模块在软件结构中的位置。
IPO图是输入、处理、输出图的简称,它是由美国IBM公司发展完善起来的一种图形工具,能够方便地描绘输入数据,对数据处理和输出数据之间的关系。
IPO图使用的基本符号既少又简单,因此很容易学会使用这种图形工具。它的基本形式是在左边的框中列出有关的输入数据,在中间的方框内列出主要的处理,在右边的框内列出产生的输出数据。处理框内列出处理的次序暗示了执行的顺序,但是用这些基本符号还不足以精确描述执行处理的详细情况。在IPO图中还用类似向量符号的粗大箭头清楚的指出数据通信的情况。下图是一个主文件更新的例子,通过这个例子不难了解IPO图的用法。
小编建议使用一种改进的IPO图(也成为IPO表),使用图中包含某些附加的信息,在软件设计过程中将比原始的IPO图更有用。下图是改进的IPO图中包含的附加信息主要有系统名称、图的作者、完成的日期、本图描述的模块的名字、模块在层次图中的编号、调用本模块的模块清单、本模块调用的模块的清单、注释以及本模块使用的局部数据元素等。在需求分析阶段可以使用IPO图简略地描述系统的主要算法(即数据流图中各个处理的基本算法)。
当然,在需求分析阶段,IPO图中的许多附加信息暂时还不具备,但是在软件设计阶段可以进一步不充修正这些图,作为设计阶段的文档。这正是在需求分析阶段用IPO图作为描述算法的工具的重要优点。
摘自–《软件工程》张海藩编著
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/194227.html