软件工程课件第3章软件设计.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 软件设计 3.2 软件设计的基本原理 3.3 软件结构准则 3.4 基于IDEF0图的设计方法 3.5 软件详细设计 3.6 软件详细设计表示法 (2) 支持逐步求精的设计方法, 左边层次中的内容可以抽象, 然后由左到右逐步细化。 (3) 易读易写, 使用方便。 (4) 支持结构化的程序设计原理。 (5) 可自动生成程序。 PAD图有对照FORTRAN, Pascal, C等高级语言的标准图式。因此在有PAD系统的计算机上(如日立公司的M系列机),可以直接输入PAD图,由机器自动通过遍历树的办法生成相应的源代码,大大提高了软件的生产率。 PAD图为软件的自动化生成提供了有力的工具。 3.6.3过程设计语言 过程设计语言(Process Design Language, 简称PDL)是在伪码的基础上,扩充了模块的定义与调用、数据定义和输入输出而形成的。它的控制结构与伪码相同。PDL是一种用于描述模块算法设计和处理细节的语言。 PDL与在 8.5 节中介绍的结构化语言的结构相似,一般分为内外两层语法,外层语法应符合一般程序设计语言常用的语法规则,而内层语法则用一些简单的句子、短语和通用的数学符号,来描述程序应执行的功能。 PDL具有严格的关键字外层语法,用于定义控制结构、数据结构和模块接口,而它表示实际操作和条件的内层语法又是灵活自由的,使用自然语言的词汇。 PDL与结构化分析中描述加工逻辑的“结构化语言”有什么不同呢? 所不同的仅是它们的作用不同,故抽象层次不同, 模糊程度不同。 “结构化语言”是描述加工“做什么”的,并且使开发人员和用户都能看懂,因此无严格的外语法,内层自然语言描述较抽象、较概括。而PDL是描述处理过程“怎么做”的细节。 开发人员将按其处理细节编程序,故外层语法更严格一些, 更趋于形式化,内层自然语言描述实际操作更具体更详细一些。 1. PDL特点 PDL的特点如下: (1) 所有关键字都有固定语法, 以便提供结构化控制结构、 数据说明和模块的特征。 (2) 描述处理过程的说明性语言没有严格的语法。 (3) 具有数据说明机制,包括简单的与复杂的数据说明。 (4) 具有模块定义和调用机制,开发人员应根据系统编程所用的语种,说明PDL表示有关程序结构。 2. 程序结构 用PDL表示的程序结构一般有下列几种结构。 1) 顺序结构 采用自然语言描述顺序结构: 处理S1 处理S2 … 处理Sn 2) 选择结构 (1) IF-结构: IF 条件 IF 条件 处理S1 或 处理S ELSE ENDIF 处理S2 ENDIF (2) IF-ORIF-ELSE结构: IF 条件1 处理S1 ORIF 条件2  … (1) 模块:用方框表示,并用名字标识该模块,名字应体现该模块的功能。 (2) 模块的控制关系: 两个模块间用单向箭头或直线连接起来表示它们的控制关系,如图 3.2 所示。按照惯例, 总是图中位于上方的模块调用下方的模块,所以不用箭头也不会产生二义性。调用模块和被调用模块的关系称为上属与下属的关系,或者称为“统率”与“从属”的关系。如图 3.4 所示, 模块M统率模块A、 B、 C, 模块D从属于模块A,也从属于M。  (3) 模块间的信息传递: 模块间还经常用带注释的短箭头表示模块调用过程中来回传递的信息。有时箭头尾部带空心圆的表示传递的是数据, 带实心圆的表示传递的是控制信息,如图 3.2 所示。 图 3.2 模块间的控制关系及信息传递 (4) 两个附加符号: 表示模块有选择调用或循环调用, 如图 3.3 所示。 (5) 结构图的形态特征。 结构图的形态特征包括: ① 深度:指结构图控制的层次, 也是模块的层数, 见图 3.4,结构图的深度为5。 ② 宽度:指一层中最大的模块个数,如图 3.4 所示,宽度为 8。

文档评论(0)

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

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

1亿VIP精品文档

相关文档