层次图和HIPO图---描绘软件结构的图形工具
层次图和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图---描绘软件结构的图形工具相关推荐
- (软件工程复习核心重点)第四章总体设计-第四节:描绘软件结构的图形工具
文章目录 一:层次图和HIPO图 二:结构图 (1)定义 (2)符号 A:基本符号 B:特殊符号 一:层次图和HIPO图 层次图用于描绘软件的层次结构,其中一个矩形框代表一个模块,方框间的连线表示调用 ...
- 描绘软件结构的图形工具:层次图和结构图(层次图和层次方框图的区别)
目录 层次图概念:用来描绘软件的层次结构. HIPO 图概念:
- 【软件工程】软件工程中应用的几种图辨析:系统流程图、数据流图、数据字典、实体联系图、状态转换图、层次方框图、Warnier图、IPO图、层次图、HIPO图、结构图、程序流程图、盒图、PAD图、判定表、
软件工程中应用的几种图辨析:系统流程图.数据流图.数据字典.实体联系图.状态转换图.层次方框图.Warnier图.IPO图.层次图.HIPO图.结构图.程序流程图.盒图.PAD图.判定表.判定树.Ja ...
- R语言ggplot2可视化:为层次聚类树状图dendrogram中的簇进行着色、在树状图dendrogram中为不同的层次聚类簇配置不同的色彩
R语言ggplot2可视化:为层次聚类树状图dendrogram中的簇进行着色.在树状图dendrogram中为不同的层次聚类簇配置不同的色彩 #层次聚类树状图dendrogram labs = pa ...
- 论文浅尝 | 面向视觉常识推理的层次语义增强方向图网络
论文笔记整理:刘克欣,天津大学硕士 链接:https://dl.acm.org/doi/abs/10.1145/3475731.3484957 动机 视觉常识推理(VCR)任务旨在促进认知水平相关推理 ...
- 层次聚类及谱系图 介绍及python实现
层次聚类及谱系图 1.谱系图介绍 2.代码实现 3.参数介绍 1.谱系图介绍 如何看懂谱系图 2.代码实现 数据:test.xlsx import pandas as pd import seabor ...
- 如何用Seaborn描绘柱状图(条形图),箱线图,小提琴图,分类散点图,分面网格分类图,散点图(3)
柱状图 x = ['金融','农业','制造业','新能源'] y = [163,86,125,58] sns.barplot(x,y) y = ['金融','农业','制造业','新能源'] x = ...
- 使用基于ggplot2的包ggalluvial绘制桑基图(冲积图)
1. 使用基于ggplot2的包ggalluvial绘制桑基图(冲积图) 参考:https://corybrunson.github.io/ggalluvial/articles/ggalluvial ...
- 图神经网络 | (2) 图神经网络(Graph Neural Networks,GNN)综述
原文地址 本篇文章是对论文"Wu Z , Pan S , Chen F , et al. A Comprehensive Survey on Graph Neural Networks[J] ...
- 【UML 建模】UML建模语言入门 -- 静态图详解 类图 对象图 包图 静态图建模实战
发现个好东西思维导图, 最近开始用MindManager整理博客 . 作者 :万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/deta ...
最新文章
- loadrunner 调用java_LoadRunner调用Java程序—性能测试
- 期末微积分考试试题求解 :利用python求解
- tensorflow环境下的识别食物_研究室秒变后厨,TensorFlow被馋哭!日本团队用深度学习识别炸鸡,救急便当工厂...
- 【分享】【养生】消灭小肚腩
- 不用软件,手动修复双系统引导进win7,xp的多种方法
- 大数据应用项目创新大赛_全国高校大数据应用创新大赛
- iOS/Android自动化云测试工具iTestin 1.0发布
- localhost,127.0.0.1,本机IP,三者的区别
- win10连接VMWare下的Ubutun系统进行FPT文件传输
- [轉]MS SQL 显示表结构
- jupyter安装php,Jupyter Notebook下安装PHP内核
- su: Authentication failure 的解决方案
- 关于生活工作学习之感悟-第一篇
- IDEA右键新建时没有Java Class选项
- 【T3】运行时错误3709
- 为什么有人一星期能看3本书,你却一个月看不了1本
- R语言快速画出ROC曲线和算出可信区间和p值
- 用不可描述的图片做可以描述的事情
- 利用YAKE进行文档关键词提取
- CSS的浮动属性,附架构师必备技术详解