一、总体概述

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图,作为程序模块结构设计的依据。

HIPO图、IPO图、H图的关系相关推荐

  1. 图论学习--4 欧拉图与哈密尔顿图(思维导图)

    欧拉图与哈密尔顿图 Euler图 定义 经过G的每条边的迹被称为欧拉迹 迹的边,每个边只出现一次,但是点不一定,可以多次 能够闭合的迹被称为闭迹 存在欧拉闭迹的图称为欧拉图 欧拉闭迹又称为欧拉回路 欧 ...

  2. R语言ggplot2可视化:使用patchwork包绘制ggplot2可视化结果的组合图(自定义图像的嵌入关系)、使用patchwork包绘制ggplot2可视化结果的组合图(自定义组合形式)

    R语言ggplot2可视化:使用patchwork包绘制ggplot2可视化结果的组合图(自定义图像的嵌入关系).使用patchwork包绘制ggplot2可视化结果的组合图(自定义组合形式) 目录

  3. 浅谈UML类图中类之间的5种关系

    什么是UML类图? 类图显示了一组类.接口.协作以及他们之间的关系.在UML中问题域最终要被逐步转化,通过类来建模,通过编程语言构建这些类从而实现系统.类加上他们之间的关系就构成了类图,类图中还可以包 ...

  4. 论文浅尝 | 将文本建模为关系图,用于联合实体和关系提取

    论文笔记整理:余海阳,浙江大学硕士,研究方向为知识图谱.自然语言处理. 链接:https://www.aclweb.org/anthology/P19-1136 动机 本文提出了一种利用图卷积网络(G ...

  5. UML建模与软件开发设计(六)——类图设计与类之间的关系

    3.2.5.关联关系的分类 然而,通过关联关系来描述类与类时还是比较抽象,有些关系的细节难以通过关联关系表达出来,比如类A与类B的角色定位.数量关系,关联方向等都描述得不够清晰准确(但你不能说仅仅通过 ...

  6. UML 类图、类与类之间关系

    目录 类图 类的表示法 画类图 接口的表示法 类与类之间关系 泛化(Generalization)关系 依赖(Dependency) 关联(Association) 聚合(Aggregation) 组 ...

  7. 【Java基础】UML类图及各种线代表的关系含义总结

    文章目录 一.UML常见图 1.类图(Class Diagram) 2.对象图(Object Diagram) 3.时序图(Sequence Diagram) 二.UML类图线的概括 1.类(Clas ...

  8. html关系图数据可视化,可视化图表—网络关系图

    描述 也称为「网络地图」或「节点链路图」. 这种图表使用节点/顶点和连接线来显示事物之间的连接关系,并帮助阐明一组实体之间的关系类型. 这些节点通常是圆点或小圆圈,但也可以使用图标.节点之间的连接关系 ...

  9. mysql 图形插件_ECharts绘图解决方案——流动关系图(桑基图)

    | 导语 基于实际业务场景使用ECharts的经验,总结一些通用的解决方案. 应用场景 用流动关系图来映射品牌之间的有效换机数量,从而帮助运营对手机品牌的行情做分析和预测.图形说明 一期:图形中间为分 ...

  10. UML类图是描述类之间的关系

    UML类图是描述类之间的关系 概念 类(Class):使用三层矩形框表示. 第一层显示类的名称,如果是抽象类,则就用斜体显示. 第二层是字段和属性. 第三层是类的方法. 注意前面的符号,'+'表示pu ...

最新文章

  1. python selenium 下拉列表_从下拉列表中选择python selenium选项
  2. (zhuan) Recurrent Neural Network
  3. ASP.NET 调味品:AJAX
  4. PHP 错误与异常的日志记录
  5. 运筹学(最优化理论)学习笔记 | 共轭梯度法
  6. linux下面navicat调整字体
  7. 面对 this 指向丢失,尤雨溪在 Vuex 源码中是怎么处理的
  8. word List 19
  9. P4149-[IOI2011]Race【点分治】
  10. C语言程序的错误和警告
  11. 可达龙博客的第一篇文
  12. wow和scrollreveal动画
  13. 在苹果mac中使用excel时,如何快速求和多行数值?
  14. Git linux下保存密码方法
  15. 怎么做分布式存储的面试?
  16. Boost C++ 智能指针
  17. 软件各项会议评审意见模版
  18. jdbcTemplate测试报错:没有合适的驱动
  19. 如何安装红旗linux6.0声卡驱动
  20. Java医院管理系统完整代码_医院管理系统(JAVA代码)

热门文章

  1. 1104报表背景知识
  2. Java测试驱动开发(TDD)
  3. 开源又好用的录屏软件
  4. at91rm9200移植u-boot
  5. QTP11.0安装步骤及需要注意事项
  6. Linux安装JDK并配置环境变量
  7. SSH隧道putty使用
  8. php 开发商城 注意,thinkPHP商城公告功能开发问题分析
  9. 关于C笔记使用体验和比较
  10. 网站压测工具Apache-ab,webbench,Apache-Jemeter