层次图和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.51cto.com/mengdong/1398151

层次图和HIPO图---描绘软件结构的图形工具相关推荐

  1. (软件工程复习核心重点)第四章总体设计-第四节:描绘软件结构的图形工具

    文章目录 一:层次图和HIPO图 二:结构图 (1)定义 (2)符号 A:基本符号 B:特殊符号 一:层次图和HIPO图 层次图用于描绘软件的层次结构,其中一个矩形框代表一个模块,方框间的连线表示调用 ...

  2. 描绘软件结构的图形工具:层次图和结构图(层次图和层次方框图的区别)

    目录 层次图概念:用来描绘软件的层次结构. HIPO 图概念:

  3. 【软件工程】软件工程中应用的几种图辨析:系统流程图、数据流图、数据字典、实体联系图、状态转换图、层次方框图、Warnier图、IPO图、层次图、HIPO图、结构图、程序流程图、盒图、PAD图、判定表、

    软件工程中应用的几种图辨析:系统流程图.数据流图.数据字典.实体联系图.状态转换图.层次方框图.Warnier图.IPO图.层次图.HIPO图.结构图.程序流程图.盒图.PAD图.判定表.判定树.Ja ...

  4. R语言ggplot2可视化:为层次聚类树状图dendrogram中的簇进行着色、在树状图dendrogram中为不同的层次聚类簇配置不同的色彩

    R语言ggplot2可视化:为层次聚类树状图dendrogram中的簇进行着色.在树状图dendrogram中为不同的层次聚类簇配置不同的色彩 #层次聚类树状图dendrogram labs = pa ...

  5. 论文浅尝 | 面向视觉常识推理的层次语义增强方向图网络

    论文笔记整理:刘克欣,天津大学硕士 链接:https://dl.acm.org/doi/abs/10.1145/3475731.3484957 动机 视觉常识推理(VCR)任务旨在促进认知水平相关推理 ...

  6. 层次聚类及谱系图 介绍及python实现

    层次聚类及谱系图 1.谱系图介绍 2.代码实现 3.参数介绍 1.谱系图介绍 如何看懂谱系图 2.代码实现 数据:test.xlsx import pandas as pd import seabor ...

  7. 如何用Seaborn描绘柱状图(条形图),箱线图,小提琴图,分类散点图,分面网格分类图,散点图(3)

    柱状图 x = ['金融','农业','制造业','新能源'] y = [163,86,125,58] sns.barplot(x,y) y = ['金融','农业','制造业','新能源'] x = ...

  8. 使用基于ggplot2的包ggalluvial绘制桑基图(冲积图)

    1. 使用基于ggplot2的包ggalluvial绘制桑基图(冲积图) 参考:https://corybrunson.github.io/ggalluvial/articles/ggalluvial ...

  9. 图神经网络 | (2) 图神经网络(Graph Neural Networks,GNN)综述

    原文地址 本篇文章是对论文"Wu Z , Pan S , Chen F , et al. A Comprehensive Survey on Graph Neural Networks[J] ...

  10. 【UML 建模】UML建模语言入门 -- 静态图详解 类图 对象图 包图 静态图建模实战

    发现个好东西思维导图, 最近开始用MindManager整理博客 . 作者 :万境绝尘  转载请注明出处 : http://blog.csdn.net/shulianghan/article/deta ...

最新文章

  1. loadrunner 调用java_LoadRunner调用Java程序—性能测试
  2. 期末微积分考试试题求解 :利用python求解
  3. tensorflow环境下的识别食物_研究室秒变后厨,TensorFlow被馋哭!日本团队用深度学习识别炸鸡,救急便当工厂...
  4. 【分享】【养生】消灭小肚腩
  5. 不用软件,手动修复双系统引导进win7,xp的多种方法
  6. 大数据应用项目创新大赛_全国高校大数据应用创新大赛
  7. iOS/Android自动化云测试工具iTestin 1.0发布
  8. localhost,127.0.0.1,本机IP,三者的区别
  9. win10连接VMWare下的Ubutun系统进行FPT文件传输
  10. [轉]MS SQL 显示表结构
  11. jupyter安装php,Jupyter Notebook下安装PHP内核
  12. su: Authentication failure 的解决方案
  13. 关于生活工作学习之感悟-第一篇
  14. IDEA右键新建时没有Java Class选项
  15. 【T3】运行时错误3709
  16. 为什么有人一星期能看3本书,你却一个月看不了1本
  17. R语言快速画出ROC曲线和算出可信区间和p值
  18. 用不可描述的图片做可以描述的事情
  19. 利用YAKE进行文档关键词提取
  20. CSS的浮动属性,附架构师必备技术详解

热门文章

  1. iOS 整理iOS9适配中出现的坑
  2. cydia下载地址_Cydia下载完整安装包_cydia软件源官方下载-PChome下载中心
  3. 易语言64位进程注入DLL
  4. windows实用工具集
  5. 面向电缆行业的高级计划与排程(商简SPS)解决方案
  6. xshell5 可用注册码
  7. 引用阿里图标库的三种方式——多色图标我选symbol
  8. php商城如何解决订单高并发,thinkphp商城如何处理高并发,怎么使用memcache做缓存...
  9. 基于SSM的网上购物商城管理系统
  10. 十款好用的PDF编辑软件推荐