《软件工程-第3章第6节.pptx

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

3.6软件详细设计表示法详细描述处理过程常用三种工具:图形、表格和语言。本节主要介绍结构化程序流程图、问题分析图两种图形工具和过程设计语言。IPO图也是详细设计的主要工具之一。表格工具,如8.5.2节介绍的判定表,可作为详细设计中描述复杂逻辑条件的算法。

3.6.1程序流程图程序流程图又称为程序框图,它是历史最悠久、使用最广泛的一种描述程序逻辑结构的工具,图3.8为流程图的三种基本控制结构。

3.6.1程序流程图流程图的优点是直观清晰、易于使用,是开发者普遍采用的工具,但是它有如下严重缺点:(1)可以随心所欲地画控制流程线的流向,容易造成非结构化的程序结构,编码时势必不加限制地使用GOTO语句,导致基本控制块多入口多出口,这样会使软件质量受到影响,与软件设计的原则相违背。(2)流程图不能反映逐步求精的过程,往往反映的是最后的结果。(3)不易表示数据结构。为了克服流程图的缺陷,要求流程图都应由三种基本控制结构顺序组合和完整嵌套而成,不能有相互交叉的情况,这样的流程图是结构化的流程图。

3.6.2PAD图PAD图指问题分析图(ProblemAnalysisDiagram),是日本日立公司于1979年提出的一种算法描述工具,它是一种由左往右展开的二维树型结构。PAD图的基本控制结构如图3.9所示。

图3.9PAD图的基本控制结构

PAD图的控制流程为自上而下、从左到右地执行。图3.10给出了将数组A(1)到A(10)进行选择法排序的算法描述的PAD图。3.6.2PAD图图3.10PAD图的示例

3.6.2PAD图从图3.10给出的例子可以看出PAD图的优点如下:(1)清晰地反映了程序的层次结构。图中的竖线为程序的层次线,最左边竖线是程序的主线,其后一层一层展开,层次关系一目了然。(2)支持逐步求精的设计方法,左边层次中的内容可以抽象,然后由左到右逐步细化。(3)易读易写,使用方便。(4)支持结构化的程序设计原理。(5)可自动生成程序。

3.6.3过程设计语言PDL过程设计语言(ProcessDesignLanguage,简称PDL)是在伪码的基础上,扩充了模块的定义与调用、数据定义和输入/输出而形成的。它的控制结构与伪码相同。PDL是一种用于描述模块算法设计和处理细节的语言。PDL与在8.5节中介绍的结构化语言的结构相似,一般分为内、外两层语法,外层语法应符合一般程序设计语言常用的语法规则,而内层语法则用一些简单的句子、短语和通用的数学符号来描述程序应执行的功能。PDL具有严格的关键字外层语法,用于定义控制结构、数据结构和模块接口,而它表示实际操作和条件的内层语法又是灵活自由的,使用自然语言的词汇。

3.6.3过程设计语言PDLPDL与结构化分析中描述加工逻辑的“结构化语言”所不同的仅是它们的作用不同,抽象层次不同,模糊程度不同。“结构化语言”是描述加工“做什么”的,并且使开发人员和用户都能看懂,因此无严格的外语法,内层自然语言描述较抽象、较概括。而PDL是描述处理过程“怎么做”的细节。开发人员将按其处理细节编程序,故外层语法更严格一些,更趋于形式化,内层自然语言描述实际操作更具体更详细一些。

3.6.3过程设计语言PDL1.PDL的特点PDL的特点如下:(1)所有关键字都有固定语法,以便提供结构化控制结构、数据说明和模块的特征。(2)描述处理过程的说明性语言没有严格的语法。(3)具有数据说明机制,包括简单的与复杂的数据说明。(4)具有模块定义和调用机制,开发人员应根据系统编程所用的语种,说明PDL表示有关程序结构。2.程序结构用PDL表示的程序结构一般有下列几种结构。1)顺序结构采用自然语言描述顺序结构:处理S1处理S2处理Sn

3.6.3过程设计语言PDL2)选择结构(1)?IF-EISE结构:IF条件IF条件处理S1或处理SELSEENDIF处理S2ENDIF(2)?IF-ORIF-ELSE结构:IF条件1处理S1ORIF条件2ELSE处理SnENDIF

3.6.3过程设计语言PDL(3)?CASE结构:

文档评论(0)

酱酱 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档