当前位置:文档之家› 软件详细设计教程

软件详细设计教程


if ( A < B ) goto L3; if ( B < C ) goto L2;
L1: printf ("%d", C ); goto L5;
L2: printf ("%d", B ); goto L5;
L3: if ( A < C ) goto L4; goto L1;
L4: printf ("%d", A ); L5:
图形工具:把过程的细节表示成一个图的组成部分。 列表工具:用一个表来表示过程的细节,表中列出了输入、 处理和输出的信息。 语言工具:用类语言(接近编程语言)来表示过程的细节。
数据描述
软件结构描述
软件的程序过程描述
5.2 结构化构造
详细设计中应采用合适的方式来描述模块 内问题解决过程的细节,采用结构化的 图形设计表示法是人们易于使用、易于 理解的方式。
每一套HIPO图都应当有一个图例,即图形符号说明。 附上图例,不管人们在什么时侯阅读它都能对其符号的意义 一目了然。 (3) 描述说明
它是对层次图中每一框的补充说明,在必须说明时才用, 所以它是可选的。描述说明可以使用自然语言
2、IPO图 IPO图为层次图中每一功能框详细地指明
输入、处理及输出。通常,IPO图有固定的格 式,图中处理操作部分总是列在中间,输入和 输出部分分别在其左边和右边。由于某些细节 很难在一张IPO图中表达清楚,常常把IPO图 又分为两部分,简单概括的称为概要IPO图, 细致具体一些的称为详细IPO图。
打印A,B,C三数中最小者
上例是使用C语言编写的一个打印A,B,C三 数中最小者的程序的流程图。其中出现了6个 GOTO语句,一个向前,5个向后,程序可读 性很差。
如果使用基本控制结构if-then-else构造, 则上述程序段可改成如下形式。 if ( A < B
&& A < C )
printf ("%d", A );
N-S图的使用,仍用图给出实例, 将上述流程图用N-S图表示。
N-S图,都是前面介 绍的五种基本控制结构相互组合与嵌套的结果。 当问题很复杂时,N-S图可能很大。
N-S图的特点
明确规定功能域即某一具体构造的功能 范围,并且很直观地从图形表示中看出 来。 不可能随意分支或转移 可以很容易地确定局部数据和全程数据 的作用域 容易表示出递归结构
1、可视目录表 说明三部分组成。
(1) 体系框图 又称层次图(H图),是可视目录表的主体,用它表明
各个功能的隶属关系。它是自顶向下逐层分解得到的,是一 个树形结构。它的顶层是整个系统的名称和系统的概括功能 说明;第二层把系统的功能展开,分成了几个框;第二层功 能进一步分解,就得到了第三层、第四层,…,直到最后一 层。每个框内都应有一个名字,用以标识它的功能。还应有 一个编号,以记录它所在的层次及在该层次的位置。一般每 层画3-10个功能模块为宜。 (2) 图例
IPO图用于表达对一个系统,或对其 中某一个子系统功能的概略表达,指明在完成 某一功能框规定的功能时需要哪些输入,哪些 操作和哪些输出。图3.35是表示销售/盘存系统 第二层的对应于H图上的1.1.0框的概要IPO图。
在概要IPO图中,没有指明输入―处理― 输出三者之间的关系, 用它来进行下一
步的设计是不可能的。故需要使用详细 IPO 图以指明输入―处理―输出三者之 间的关系,其图形与概要IPO图一样,但 输入、输出最好用具体的介质和设备类 型的图形表示。图3.36是销售/盘存系统 中对应于1.1.2框的一张详细IPO图。
else if ( A >= B && B < C )
printf ("%d", C ); 这种程序结构清晰,可读性好。
5.3 图形设计工具
5.3.1 程序流程图
A B (a) 顺序结构
F B
exp
T A
(b) 选择结构
A
T
exp

F
exp
F
T A
(c) 循环结构
结构化程序设计技术是60年代中期提出来 的,它主要包括两个方面:
• 在编写程序时,强调使用几种基本控制 结构,通过组合嵌套,形成程序的控制 结构。尽可能避免使用会使程序质量受 到影响的GOTO语句。
• 在程序设计过程中,尽量采用自顶向下 和逐步细化的原则,由粗到细,一步步 展开
结构化程序设计(Structured Programming)的主要原则 有:
软件设计工作内容
将软件需求转化为软件体系结构,

概要设计 确定系统级接口、全局数据结构或

数据库模式。




概 念
确立每个模块的实现算法、局部数
详细设计 据结构,用适当方法表示算法和数
据结构的细节。
第5章 软件详细设计
5.1 概述
详细设计必须无歧义的描述过程单位细节,而自然 语言不具有单义性,所以,必须使用设计描述工具.
5.3.3 HIPO图( Hierarchy plus Input
Process Output ) 层次加输入-处理-输出
HIPO最初只用做文档编写的格式要求,随后 发展成比较有名的软件设计手段。HIPO图采 用功能框图和PDL来描述程序逻辑,它由两部 分组成:可视目录表和IPO图。可视目录表给 出程序的层次关系,IPO图则为程序各部分提 供具体的工作细节。 HIPO能够表示输入/输出数据与软件的过程之 间的关系。
·使用语言中的顺序、选择、重复等有限的基本控制结构 表示程序逻辑。
·选用的控制结构只准许有一个入口和一个出口。 ·程序语句组成容易识别的块,每块只有一个入口和一个 出口。 ·复杂结构应该用基本控制结构进行组合嵌套来实现。 ·语言中没有的控制结构,可用一段等价的程序段模拟, 但要求该程序段在整个系统中应前后一致。 ·严格控制GOTO语句,仅在用一个非结构化的程序设计语 言去实现一个结构化的构造,或者在某种可以改善而不是损 害程序可读性的情况下才可以使用GOTO语句。
标准流程图符号
我国国家标准局批准的国家标准(GB1525-89) 流程图符号:
详 细 设 计
5.3.2 方块图(N-S图)
详 细 设 计
Nassi和Shneiderman 提出了一种符合结构化 程序设计原则的图形描述工具,叫做盒图,也 叫做N-S图。为表示五种基本控制结构,在NS图中规定了五种图形构件。。
相关主题