加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

软件结构化设计的图形工具

(2015-10-26 13:44:34)
标签:

软件

设计

hipo

结构图

状态状态表

分类: 软件过程改进

1. HIPO

       HIPOHierarchy plus Input, Process, Output)图是由IBM公司发明的“层次加输入处理输出图的英文缩写。

       层次图是软件概要设计阶段常用的表示形式之一,用来描述软件的层次结构。图中每个矩形框代表一个模块,框内注明模块的名称,方框之间的连线表示上层模块对下层模块的调用关系。为使HIHO图具有可追踪性,除顶层之外的每个框都标有编号,各层之间的编号关系如下图所示。


为了避免混淆,一个模块在层次中只能出现一次。为避免不同上层模块调用同一下层模块,形成交叉线,可采用模块3.2调用模块2.2.1的表示方法,或模块3.4调用模块2.1.1的表示方法。

       与层次图的每一个方框(模块)对应,由一张IPO图(见下图)描述这个方框代表的模块的输入数据、对数据的处理和输出数据的关系。它的基本形式是在左边的框中列出输入数据,中间的框中列出主要的处理,处理框中的处理次序隐含过程的执行次序,右边的框中列出生成的输入数据,三个框之间用粗箭头辅助表示数据变换情况。


2.结构图

       Yourdon 提出的结构图是软件结构设计的另一有力工具。
       结构图和层次图类似,图中一个方框代表一个模块,框中注明模块的名字或主要功能;方框之间的箭头(或直线)表示模块的调用关系。图中带注释的箭头表示模块调用过程中来回传递的信息。如果希望进一步标明传递的信息是数据还是控制信息,则可以利用注释箭头尾部的形状来区分:尾部是空心圆表示传递的是数据,实心圆表示传递的是控制信息,示例见下图


3. 状态转移表

      进行系统行为分析时,应按系统的外部可见状态和事件,用状态转移图(STDState Transition Diagram)显示功能的执行顺序。如果STD的逻辑关系复杂,可以采用状态转移表(STTState Transition Table)描述。

STT的各列为STD中引起状态转换的各项输入事件/条件,各行为STD的各项状态。STT的各列与各行对应的单元格填写STD的转移关系。每个单元格内有一条横线,横线上部填写该状态接收到该条件后的执行动作(转换时生成的输出事件:触发T、激活启动E、禁止D),横线下部填写转移的去向状态。如果单元格空白,表示对应的状态对输入事件无动作响应,并保持原状态不变。

在编制STD时,我们的思维是正向的;给定一个状态,在此状态下接收哪一个条件,而容易忽略在给定的状态,如果发生了我们没有期待发生的条件(可能是一个错误条件),应该如何处理。STT具有全部的状态和条件组合,因此能够提醒我们是否可以忽略这个条件,或者需要反馈一个信息,或者需要对系统进行诊断,或者需要进行保证系统不致瘫痪的处理。

STT的另一个优点是容易增加状态和转移条件。当在STD中考虑增加一些出错条件,进行恢复处理时,例如“电源故障”,从新绘制STD的工作很麻烦。而对状态转移表只是在表中增加一列而已。

       STT的例子见下表,此表只作为格式参考。


--------------END-----------------



0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有