流程图-ns图-pad图-pdl-hipo综述

合集下载

计算机软件技术基础知识点总结

计算机软件技术基础知识点总结

《计算机软件技术基础》第一章算法1.1算法的基本概念算法:指解题方案的准确而完整的描述算法的基本特征:能行性(算法中的每一个步骤必须能够实现;算法执行的结果要能够达到预期的目的)确定性(算法中的每一个步骤都必须是有明确定义的,不能摸棱两可,也不能有多义性)有穷性(算法必须能在执行有限个步骤之后终止)拥有足够的情报(算法执行的结果总是与输入的初始数据有关。

不同输入对应不同输出)算法:是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的、明确的,此顺序将在有限的次数下终止。

算法的基本要素:1.算法中对数据的运算和操作(算术运算、逻辑运算、关系运算、数据传输【赋值、输入、输出】)2.算法的控制结构(算法中各操作之间的执行顺序)1.2算法描述语言C语言描述和简单的算法描述语言(1)符号与表达式:符号主要用以表述变量名、数组名等(2)赋值语句(3)控制转移语句:无条件转移语句形式:GOTO 标号条件转移语句形式IF C THEN SIF C THEN S1ELSE S2(4)循环语句WHILE语句:WHILE C DO SFOR语句:FOR i=init TO limit BY step DO S(5)其他语句EXIT语句:退出某个循环,使控制转到包含EXIT语句的最内层的WHILE或FOR循环后面的一个语句去执行RETURN语句:结束算法的执行(允许使用用引号括起来的注释信息)READ(INPUT)和WRITE(PRINT/OUTPUT)语句:用于输入输出(6)算法中的注释总是用一对方括号【】括起来;复合语句用一对花括号{}括起来1.3算法设计基本方法1.列举法【例1.1】基本思想:根据提出的问题,列举所有可能的情况,并用问题中给定的条件检验哪些是需要的,哪些是不需要的(通常解决“是否存在”“有多少种可能”类型问题)特点:算法比较简单,但列举情况较多时,工作量将很大寻找路径、查找、搜索等问题采用列举法有效2.归纳法基本思想:通过列举少量的特殊情况,经过分析,最后找出一般的关系3.递推法(数学例题)指从已知的初始条件出发,逐次推出所要求的各中间结果和最后结果(本质属于归纳法)4.递归基本思想:将问题逐层分解的过程,实际上并没有对问题进行求解,而只是当解决了最后那些简单的问题后,再沿着原来分解的逆过程逐步进行综合【例1.3】自己调用自己的过程称为递归调用过程递归分为直接递归:一个算法P显式地调用自己间接递归:算法P调用另一个算法Q,而算法Q又调用算法P5.减半递推技术(分治法)减半:将问题的规模减半,而问题的性质不变递推:重复“减半”的过程【例1.4】6.回溯法通过对问题的分析,找出一个解决问题的线索;然后沿着这个线索逐步试探。

产品开发流程图-五个阶段及PDT组织示意图(V1.0)

产品开发流程图-五个阶段及PDT组织示意图(V1.0)

MFPDT-b40
参与概要设计 评审
MFPDT-b50 整合物料需求 计划
研发物料需 求计划
TEPDT-b50 参与优化商业
计划书
PROPDT-b40 参与优化商业
计划书
MFPDT-b60 参与优化商业
计划书
TSPDT-b30 参与优化商业
计划书
MKTPDT-b30 参与优化商业
计划书
FPDT-b10 优化财务评估
PROPDT-a40 参与TR1评审
MFPDT-a50 参与TR1评审
TSPDT-a50 参与TR1评审 MKTPDT-a40 参与TR1评审
TEPDT-a60 参与优化商业
计划书
PROPDT-a50 参与优化商业
计划书
MFPDT-a60 参与优化商业
计划书
TSPDT-a60 参与优化商业
计划书
MKTPDT-a50 参与优化商业
制造系统验证 方案模板
TR3评审
PQA-c10 组织TR3评审
参见TR评审 流程
视项目具体情况在风 险可控情况下可改按 V0版BOM提前采购物料
SE-c30 参与TR3评审
SE-c40
发布V1版 BOM
持续执行
准备早期销售
LPD-c30
NO
是否需要早期 YES 销售
LPDT-c40
准备早期销售决策 材料
MFPDT-a30 参与整合产TPDT-a30 参与整合产品
需求
技术可行性分析
PQA-a30 参与技术可行
性分析
RDPDT-a30 参与技术可行
性分析
SE-a20 主导技术可行
性分析
EE-a20 参与技术可行

流程图-ns图-pad图-pdl-hipo教学文案

流程图-ns图-pad图-pdl-hipo教学文案

流程图-n s图-p a d图-p d l-h i p o流程图、N-S图、PAD图、判定表、PDL、HIPO图程序流程图程序流程图独立于任何一种程序设计语言,比较直观、清晰,易于学习掌握。

但流程图也存在一些严重的缺点。

例如流程图所使用的符号不够规范,常常使用一些习惯性用法。

特别是表示程序控制流程的箭头可以不受任何约束,随意转移控制。

这些现象显然是与软件工程化的要求相背离的。

为了消除这些缺点,应对流程图所使用的符号做出严格的定义,不允许人们随心所欲地画出各种不规范的流程图。

例如,为使用流程图描述结构化程序,必须限制流程图只能使用图3.25所给出的五种基本控制结构。

图4.3 流程图的基本控制结构任何复杂的程序流程图都应由这五种基本控制结构组合或嵌套而成。

作为上述五种控制结构相互组合和嵌套的实例,图示给出一个程序的流程图。

图中增加了一些虚线构成的框,目的是便于理解控制结构的嵌套关系。

显然,这个流程图所描述的程序是结构化的。

图4.4流程图的基本控制结构N-S图Nassi和Shneiderman 提出了一种符合结构化程序设计原则的图形描述工具,叫做盒图,也叫做N-S图。

为表示五种基本控制结构,在N-S图中规定了五种图形构件。

参看图4.5。

为说明N-S图的使用,仍用图4.4给出的实例,将它用如图4.6所示的N-S图表示。

如前所述,任何一个N-S图,都是前面介绍的五种基本控制结构相互组合与嵌套的结果。

当问题很复杂时,N-S图可能很大。

图4.5 N-S图的五种基本控制结构图4.6 N-S图的实例PADPAD是Problem Analysis Diagram的缩写,它是日本日立公司提出,由程序流程图演化来的,用结构化程序设计思想表现程序逻辑结构的图形工具。

现在已为ISO认可。

PAD也设置了五种基本控制结构的图式,并允许递归使用。

图4.7 PAD的基本控制结构做为PAD应用的实例,图4.8给出了图4.4程序的PAD表示。

流程图-ns图-pad图-pdl-hipo综述

流程图-ns图-pad图-pdl-hipo综述

流程图、N-S图、PAD图、判定表、PDL、HIPO图程序流程图程序流程图独立于任何一种程序设计语言,比较直观、清晰,易于学习掌握。

但流程图也存在一些严重的缺点。

例如流程图所使用的符号不够规范,常常使用一些习惯性用法。

特别是表示程序控制流程的箭头可以不受任何约束,随意转移控制。

这些现象显然是与软件工程化的要求相背离的。

为了消除这些缺点,应对流程图所使用的符号做出严格的定义,不允许人们随心所欲地画出各种不规范的流程图。

例如,为使用流程图描述结构化程序,必须限制流程图只能使用图3.25所给出的五种基本控制结构。

图4.3 流程图的基本控制结构任何复杂的程序流程图都应由这五种基本控制结构组合或嵌套而成。

作为上述五种控制结构相互组合和嵌套的实例,图示给出一个程序的流程图。

图中增加了一些虚线构成的框,目的是便于理解控制结构的嵌套关系。

显然,这个流程图所描述的程序是结构化的。

图4.4流程图的基本控制结构N-S图Nassi和Shneiderman 提出了一种符合结构化程序设计原则的图形描述工具,叫做盒图,也叫做N-S图。

为表示五种基本控制结构,在N-S图中规定了五种图形构件。

参看图4.5。

为说明N-S图的使用,仍用图4.4给出的实例,将它用如图4.6所示的N-S图表示。

如前所述,任何一个N-S图,都是前面介绍的五种基本控制结构相互组合与嵌套的结果。

当问题很复杂时,N-S图可能很大。

图4.5 N-S图的五种基本控制结构图4.6 N-S图的实例PADPAD是Problem Analysis Diagram的缩写,它是日本日立公司提出,由程序流程图演化来的,用结构化程序设计思想表现程序逻辑结构的图形工具。

现在已为ISO认可。

PAD也设置了五种基本控制结构的图式,并允许递归使用。

图4.7 PAD的基本控制结构做为PAD应用的实例,图4.8给出了图4.4程序的PAD表示。

PAD所描述程序的层次关系表现在纵线上。

每条纵线表示了一个层次。

流程图-ns图-pad图-pdl-hipo

流程图-ns图-pad图-pdl-hipo
图4.9 不包含多分支结构的流程图实例
PDL(Program Design Language)
PDL是一种用于描述功能模块的算法设计和加工细节的语言。称为设计程序用语言。它是一种伪码。一般地,伪码的语法规则分为"外语法"和"内语法"。外语法应当符合一般程序设计语言常用语句的语法规则;而内语法可以用英语中一些简单的句子、短语和通用的数学符号,来描述程序应执行的功能。
为说明N-S图的使用,仍用图4.4给出的实例,将它用如图4.6所示的N-S图表示。
如前所述,任何一个N-S图,都是前面介绍的五种基本控制结构相互组合与嵌套的结果。当问题很复杂时,N-S图可能很大。
图4.5 N-S图的五种基本控制结构
图4.6 N-S图的实例
PAD
PAD是Problem Analysis Diagram的缩写,它是日本日立公司提出,由程序流程图演化来的,用结构化程序设计思想表现程序逻辑结构的图形工具。现在已为ISO认可。
分析此工作流程图,可得如图3.34所示的可视目录表。图4.11(a)是系统的层次图,图4.11(b)是后面IPO图的图例,图4.11(c)是描述说明。
图4.10 盘存/销售系统工作流程图
图4.11 盘存/销售系统的可视目录表
2、IPO图
IPO图为层次图中每一功能框详细地指明输入、处理及输出。通常,IPO图有固定的格式,图中处理操作部分总是列在中间,输入和输出部分分别在其左边和右边。由于某些细节很难在一张IPO图中表达清楚,常常把IPO图又分为两部分,简单概括的称为概要IPO图,细致具体一些的称为详细IPO图。
图4.8 PAD实例
判定表
当算法中包含多重嵌套的条件选择时,用程序流程图、N-S图或PAD都不易清楚地描述。然而,判定表却能清晰地表达复杂的条件组合与应做动作之间的对应关系。仍然使用图4.4的例子。为了能适应判定表条件取值只能是"T"和"F"的情形,对原图稍微做了些改动,把多分支判断改为两分支判断,但整个图逻辑没有改变。见图4.9。

02333自考 软件工程复习资料

02333自考 软件工程复习资料

一,第一章1.软件工程→1968年的NATO会议上提出解决“软件危机”2.倡导工程原理,原则,方法进行软件开发,以期解决“软危”3.软件工程:用计算机科学理论和技术和工程管理原则方法,按预算,进度满足用户要求的软件产品工程。

4.软工两时间:1. 60-80年代,系统规模,复杂性,关键领域应用,提出了waterfall, C, Pascal, Ada; Jackson方法,结构化方法。

2. 80年代后大量软件的实践,过程支持,软件生产技术,复用技术,生产管理。

《软件和存周期过程》,C++, Eiffel, Smalltalk5.软件=程序+文档,是逻辑实体,“无形”6.程序=处理对象+处理规则7.文档=理解程序所需的阐述性资料8.软件开发的本质:不同抽象层术语+处理逻辑之间的“映射”9.建模的方法:结构化方法,面向对象方法,诸多面向数据结构方法10.模型:待建系统的任意抽象,包括基本能力,特性,或其他方面;抽象上对物理系统的描述,系统边界,关系的主义描述。

11.软件系统模型:1,概念模型(用户)2,软件模型(开发者)a)需求→概念模型b)设计→软件模型c)实现→软件模型d)部署→软件模型12.软件开发有技术和管理上的问题二,第二章1.正确定义问题,是解决问题的基础2.需求是“要予构造”的陈述,描述了软件“能力”“性能参数”“其他性质”3.需求的性质:a)必要b)无歧义c)可测/测量d)可跟踪4.验证需求是不是歧义→需求复审5.需求分类:功能/非功能(性能,外部接口,设计约束,质量属性),6.需求发现:自悟,交谈,观察,小组会,提炼a)自悟要求高,要有想象力/需求不正确b)交谈依赖“正确提问”“揭示本意”/不能认识到合理需求→复审c)观察要有洞察力/客户抵触,客户认为熟悉了业务d)小组会人力资源,良好的需求发现能力,达成共识/客观条件限制,互相矛盾的需求e)提炼要有想像力和需求标识力熟悉技术和法规/无法验证需求是否正确7.需求规约是陈述的正式文档,表达概念模型a)重要性和稳定性程度b)可修改c)完整d)一致8. 需求规约表达:非形式化(规模小,不复杂,小型软件),半形式和形式化(主要为了验证程序正确)9. 需求规约作用:a) 技术合同,产品功能和环境体现b) 管理控制点c) 正式,受控的起点d) 初始测试计划,用户系统操作描述10. 需求规约不是一个设计文档,用于设计的文档,也不是进度和规划文档三,第三章1.软件需求中三挑战:1. 问题空间理解2. 人与人之间通信3. 需求的变化性2.20世纪70年代提出结构化方法3.基本术语1. 数据流程2. 加工3. 数据存储4. 数据源和数据潭4.数据流图DFD P375.按功能分解的设计思想:自顶向下,逐步求精6.数据字典:[=]定义为;[|]或者;[+]顺序;[{}]重复;[m.n]子界7.数据结构3种条目:数据流条目;数据存储条目;数据项条目8.结构化语言是形式化语言和自然语言之间的语言9.判定表;判定树P4311. 图元数7正负212. 15%的错误源自错误的需求13. 总体设计:模块和模块调用14. 总体设计:模块结构图/层次图/HIPO 图P4515. “高内聚,低耦合”16.数据流图分为:变换型和事务型17.模块化,软件分为简单的高内聚低耦合的模块(两部分:接口和模块体)18.耦合:依赖程度的度量。

PDP:世界级产品设计流程

PDP:世界级产品设计流程

生产投产支持
产品问题解决 持续的流程/ 产品改善
详述设计/ 流程概念
详细设计 试样加工开发
制造概念证明 样本 概念证明检验 评估制造能力
制造试样部品 设计/流程 验证测试 制造和原材料 计划
生产原型
设计验证测试 制造和供应商 能力 开发 & 订购 工具和设备
预生产建造 生产验证测试
生产和供应 基础准备就绪
核心产品 & 技术开发 (TD) 参与者
VP 总裁 工程 VP VP VP VP
VP
材料 制造
运作
市场
质量
财务
产品申请 (PA) 参与者
VP 产品线 Dir. Dir. 运作 Dir. 市场 Dir. 质量 Dir. 财务 Dir. 材料 制造
工程
阶段评审 (续)
确保项目被很好的计划及跟进
建立下一个阶段的团队 “合同”;包含风险和资金 解决内部项目冲突 坚持使用标准开发流程

提升 R&D 生产力 – 通常提高20%-30%
PDP 项目管理元素
产品设计流程包括四个关键产品管理元素,并可以获得产品开发项目的
跨功能整合:
架构开发
阶段评审 核心小组 开发工具和技术
架构开发流程



核心产品 & 技术开发 阶段1 – 产品思想创新 阶段2 – 概念计划 阶段3 – 概念证明 阶段4 – 技术转换 产品申请 阶段5 – 客户需求评估 阶段6 – 定制设计 阶段7 – 验证 现有产品支持 阶段8 – 生产构建 阶段9 – 进行中的支持
驱动 TD 和 (产品申请)PA 项目
好的 核心小组领导是核心小组成功 的关键。 核心小组 对于驱动他们技术开发(TD) 和产品申请(PA)项目被期望:

冯铁《软件工程概论教学》第五章系统设计

冯铁《软件工程概论教学》第五章系统设计

一、判断题1、The results of decomposition form composite parts called modules or components.(T)2、Cohesion refers to the internal “glue” with which a component is constructed.(T)3、We say that two components are loosely coupled when there is a great deal of dependence between them.(F)4、Design is the creative process of transforming the problem intoa solution.(T)二、解释概念1、 what is design?Design is the creative process to transform the problem into a solution. 设计是将问题转化成解决方案的创造性的活动Design is the description of a solution. 是对解决方案的描述。

2、What is Coupling? States Coupling levels from low to high.Coupling耦合性是指模块间联系,即程序结构中不同模块之间互连程度。

耦合等级从低到高:Uncoupled 非直接耦合:通过上级模块进行联系,无直接关联。

Data coupling 数据耦合:参数传递的是一般类型的数据。

Stamp coupling 标记耦合:参数传递的是诸如结构类型的数据。

Control coupling 控制耦合:模块间传递的是诸如标记量的控制信息。

Common coupling 公共耦合:全局结构类型的数据。

Content coupling 内容耦合:病态连接,一个模块可以直接操作另一个模块的数据(如go to 语句的使用)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

流程图、N-S图、PAD图、判定表、PDL、HIPO图程序流程图程序流程图独立于任何一种程序设计语言,比较直观、清晰,易于学习掌握。

但流程图也存在一些严重的缺点。

例如流程图所使用的符号不够规范,常常使用一些习惯性用法。

特别是表示程序控制流程的箭头可以不受任何约束,随意转移控制。

这些现象显然是与软件工程化的要求相背离的。

为了消除这些缺点,应对流程图所使用的符号做出严格的定义,不允许人们随心所欲地画出各种不规范的流程图。

例如,为使用流程图描述结构化程序,必须限制流程图只能使用图3.25所给出的五种基本控制结构。

图4.3 流程图的基本控制结构任何复杂的程序流程图都应由这五种基本控制结构组合或嵌套而成。

作为上述五种控制结构相互组合和嵌套的实例,图示给出一个程序的流程图。

图中增加了一些虚线构成的框,目的是便于理解控制结构的嵌套关系。

显然,这个流程图所描述的程序是结构化的。

图4.4流程图的基本控制结构N-S图Nassi和Shneiderman 提出了一种符合结构化程序设计原则的图形描述工具,叫做盒图,也叫做N-S图。

为表示五种基本控制结构,在N-S图中规定了五种图形构件。

参看图4.5。

为说明N-S图的使用,仍用图4.4给出的实例,将它用如图4.6所示的N-S图表示。

如前所述,任何一个N-S图,都是前面介绍的五种基本控制结构相互组合与嵌套的结果。

当问题很复杂时,N-S图可能很大。

图4.5 N-S图的五种基本控制结构图4.6 N-S图的实例PADPAD是Problem Analysis Diagram的缩写,它是日本日立公司提出,由程序流程图演化来的,用结构化程序设计思想表现程序逻辑结构的图形工具。

现在已为ISO认可。

PAD也设置了五种基本控制结构的图式,并允许递归使用。

图4.7 PAD的基本控制结构做为PAD应用的实例,图4.8给出了图4.4程序的PAD表示。

PAD所描述程序的层次关系表现在纵线上。

每条纵线表示了一个层次。

把PAD图从左到右展开。

随着程序层次的增加,PAD逐渐向右展开。

PAD的执行顺序从最左主干线的上端的结点开始,自上而下依次执行。

每遇到判断或循环,就自左而右进入下一层,从表示下一层的纵线上端开始执行,直到该纵线下端,再返回上一层的纵线的转入处。

如此继续,直到执行到主干线的下端为止。

图4.8 PAD实例判定表当算法中包含多重嵌套的条件选择时,用程序流程图、N-S图或PAD都不易清楚地描述。

然而,判定表却能清晰地表达复杂的条件组合与应做动作之间的对应关系。

仍然使用图4.4的例子。

为了能适应判定表条件取值只能是"T"和"F"的情形,对原图稍微做了些改动,把多分支判断改为两分支判断,但整个图逻辑没有改变。

见图4.9。

与图3.31表示的流程图对应的判定表如图3.32所示。

在表的右上半部分中列出所有条件,"T"表示该条件取值为真,"F"表示该条件取值为假,空白表示这个条件无论取何值对动作的选择不产生影响。

在判定表右下半部分中列出所有的处理,画"Y"表示要做这个动作,空白表示不做这个动作。

判定表右半部的每一列实质上是一条规则,规定了与特定条件取值组合相对应的动作。

图4.9 不包含多分支结构的流程图实例PDL(Program Design Language)PDL是一种用于描述功能模块的算法设计和加工细节的语言。

称为设计程序用语言。

它是一种伪码。

一般地,伪码的语法规则分为"外语法"和"内语法"。

外语法应当符合一般程序设计语言常用语句的语法规则;而内语法可以用英语中一些简单的句子、短语和通用的数学符号,来描述程序应执行的功能。

使用PDL语言,可以做到逐步求精:从比较概括和抽象的PDL程序起,逐步写出更详细的更精确的描述。

PDL就是这样一种伪码。

它具有严格的关键字外语法,用于定义控制结构和数据结构,同时它的表示实际操作和条件的内语法又是灵活自由的,可使用自然语言的词汇。

下面举一个例子,来看PDL的使用。

从上例可以看到,PDL 语言具有正文格式,很像一个高级语言。

人们可以很方便地使用计算机完成PDL的书写和编辑工作。

PROCEDURE spellcheck IS 查找错拼的单词BEGINsplit document into single words 把整个文档分离成单词lood up words in dictionary 在字典中查这些单词display words which are not in dictionary 显示字典中查不到的单词create a new dictionary 造一新字典END spellcheckPDL作为一种用于描述程序逻辑设计的语言,具有以下特点:·有固定的关键字外语法,提供全部结构化控制结构、数据说明和模块特征。

属于外语法的关键字是有限的词汇集,它们能对PDL正文进行结构分割,使之变得易于理解。

为了区别关键字,规定关键字一律大写,其它单词一律小写。

·内语法使用自然语言来描述处理特性。

内语法比较灵活,只要写清楚就可以,不必考虑语法错,以利于人们可把主要精力放在描述算法的逻辑上。

·有数据说明机制,包括简单的(如标量和数组)与复杂的(如链表和层次结构)的数据结构。

·有子程序定义与调用机制,用以表达各种方式的接口说明。

HIPO图(Hierarchy plus Input Process Output)HIPO最初只用做文档编写的格式要求,随后发展成比较有名的软件设计手段。

HIPO图采用功能框图和PDL 来描述程序逻辑,它由两部分组成:可视目录表和IPO图。

可视目录表给出程序的层次关系,IPO图则为程序各部分提供具体的工作细节。

1、可视目录表可视目录表由体系框图、图例、描述说明三部分组成。

(1)体系框图又称层次图(H图),是可视目录表的主体,用它表明各个功能的隶属关系。

它是自顶向下逐层分解得到的,是一个树形结构。

它的顶层是整个系统的名称和系统的概括功能说明;第二层把系统的功能展开,分成了几个框;第二层功能进一步分解,就得到了第三层、第四层,…,直到最后一层。

每个框内都应有一个名字,用以标识它的功能。

还应有一个编号,以记录它所在的层次及在该层次的位置。

(2)图例每一套HIPO图都应当有一个图例,即图形符号说明。

附上图例,不管人们在什么时侯阅读它都能对其符号的意义一目了然。

(3)描述说明它是对层次图中每一框的补充说明,在必须说明时才用,所以它是可选的。

描述说明可以使用自然语言。

例如,应用HIPO法对盘存/销售系统进行分析。

得到如图4.10所示的工作流程图。

分析此工作流程图,可得如图3.34所示的可视目录表。

图4.11(a)是系统的层次图,图4.11(b)是后面IPO 图的图例,图4.11(c)是描述说明。

图4.10 盘存/销售系统工作流程图图4.11 盘存/销售系统的可视目录表2、IPO图IPO图为层次图中每一功能框详细地指明输入、处理及输出。

通常,IPO图有固定的格式,图中处理操作部分总是列在中间,输入和输出部分分别在其左边和右边。

由于某些细节很难在一张IPO图中表达清楚,常常把IPO图又分为两部分,简单概括的称为概要IPO图,细致具体一些的称为详细IPO图。

概要IPO图用于表达对一个系统,或对其中某一个子系统功能的概略表达,指明在完成某一功能框规定的功能时需要哪些输入,哪些操作和哪些输出。

图4.12是表示销售/盘存系统第二层的对应于H图上的1.1.0框的概要IPO图。

图4.12 对应H图上1.1.0框的概要IPO图在概要IPO图中,没有指明输入―处理―输出三者之间的关系,用它来进行下一步的设计是不可能的。

故需要使用详细IPO 图以指明输入―处理―输出三者之间的关系,其图形与概要IPO图一样,但输入、输出最好用具体的介质和设备类型的图形表示。

图4.13是销售/盘存系统中对应于1.1.2框的一张详细IPO图。

图4.13 对应于H图1.1.2框的详细IPO图3、利用HIPO进行迭代式细化设计在软件设计时,解决设计问题通常需要经历一个认识逐步发展的过程,并且对一些问题还要经过反复的考虑才可能达到比较满意的设计效果。

我们称此为迭代式细化设计。

HIPO能很好地适应这一要求。

图 4.14是利用HIPO进行迭代式细化设计的示意图。

从图中可看到,把可视目录表和IPO图结合起来,反复交替地使用它们,可使得设计工作逐步深化,最终取得完满的设计结果。

其实这正是自顶向下,逐步求精的结构化程序设计思想。

HIPO有自己的特点。

首先,这一图形表达方法容易看懂。

其次,HIPO的适用范围很广,绝不限于详细设计。

事实上,画可视目录表就是与概要设计密切相关的工作。

如果利用它仅仅表达软件要达到的功能,则是需求分析中描述需求的很好的工具。

因为HIPO是在开发过程中的表达工具,所以它又是开发文档的编制工具。

开发完成后,HIPO图就是很好的文档,而不必在设计完成以后,专门补写文档。

图4.14 利用HIPO进行迭代式细化设计。

相关文档
最新文档