- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课程05 软件详细设计
第5章 软件详细设计 从软件开发的工程化观点来看,在使用程序设计语言编写程序之前,需要对算法的逻辑关系进行分析,并给出清晰的表达,使之成为编码的依据。有了这一步,编码工作就容易多了,更重要的是会给以后的软件维护带来方便。 5.1 概 述 在详细设计阶段,必须无歧义地描述必要的过程细节,以便直接而简单地导出源程序。为了把这些一般处理步骤的描述转换为准确的结构和过程描述,就需要使用更具约束性的设计描述工具。 5.1 概 述 5.1 概 述 过程规格说明工具可分为以下几类: 图示工具 列表工具 语言工具 5.2 结构化构造 20世纪60年代后期,针对详细设计提出了一组逻辑构造,这组构造强调“维持一定的功能域”,每个构造有一个预定的逻辑结构,每个构造都从顶部进入并从底部离开,利用这组逻辑构造可以构成任何程序。 这些构造就是顺序构造、条件构造和重复构造。 5.3 图形设计工具 详细设计中的图形设计工具有程序流程图、方块图、HIPO图和PAD图等,这些图形工具提供了多种图形样式,可以方便地描述过程的细节。 5.3.1 程序流程图 程序流程图又称为程序框图,是程序设计中应用最广泛的算法描述工具。流程图独立于各种程序设计语言,且比较直观、清晰,易于学习掌握。 然而它也是经常被误用的一种方法,其最大不足就是不够规范,所用符号不统一,特别是任意使用箭头会使程序的质量受到很大影响。为此,必须对流程图的符号及使用加以严格限制,使之成为一个精确的、规范化的算法表达工具。 5.3.1 程序流程图 (1)限制流程图只能由几种基本控制结构组成,以使流程图能描述结构化程序。 任一程序流程图都应能由以下几种基本控制结构嵌套而成。 顺序构造用两个方框和控制线(箭头)表示。 条件构造,即if - then - else构造,用菱形判断框表示,如果判断为真,就执行then部分的处理,如果判断为假,就执行else部分的处理。 重复构造用两种稍有不同的形式表示。 选择构造(或者说select - case构造)实际上是if - then- else构造的一种扩充。 5.3.1 程序流程图 5.3.1 程序流程图 5.3.2 方块图 方块图(又称N-S图、蔡平图)是一种强制使用结构化构造的图示工具 。 5.3.2 方块图 方块图具有下列特点: 明确规定功能域(即某一具体构造的功能范围),并且能很直观地从图形表示中看出来。 不能随意分支或转移。 可以很容易地确定局部数据和全程数据的作用域。 容易表示出递归结构。 5.3.3 HIPO图 HIPO(hierarchy plus input-process-output,层次加输入-处理-输出)图是根据IBM公司研制的软件设计与文件编制技术发展而来的。在概要设计、详细设计、设计评审、测试和维护的不同阶段,都可以使用HIPO图对设计进行描述。 HIPO图是一种图示工具,其最重要的特征是能够表示输入/输出数据(外部数据和内部数据流程)与软件的过程之间的关系。 5.3.3 HIPO图 一组完整的HIPO图由下列各部分组成。 层次图(H图):以层次方框形式表达程序主功能模块与次功能模块的关系。 高层IPO图:针对H图中的主功能模块和次功能模块,描述其输入、处理及输出等。 低层IPO图:给出H图中最底层的具体设计。 5.3.3 HIPO图 实例:“订单处理子系统”的H图 5.3.4 PAD图 PAD(problem analysis diagram,问题分析图)是一种用于软件详细设计的表达形式,它综合了流程图、Warnier图、方块图和伪码等技术的一些特点,以二维树的形式描述程序的逻辑,其主要优点是程序结构清晰,能够直接导出程序代码。 PAD可应用于BASIC、FORTRAN、C等高级语言。在软件需求分析和概要设计阶段,PAD图是当前广泛使用的一种软件设计方法。PAD采用自顶向下、逐步求精和结构化设计的原则,力求将模糊的问题解的概念逐步转换成确定的、详尽的过程。 5.3.4 PAD图 5.3.4 PAD图 PAD图设置的4种基本控制结构。 5.4 伪码与程序设计语言 伪码(pseudo-code)是控制结构和某些编程语言元素的简写符号,可以任意插入注释,而且常采用词句而不是表达式,所以伪码实质上是“文字流程图”。 使用伪码时,控制结构一般用锯齿状缩格书写来表示控制的嵌套。熟悉某种程序设计语言的设计人员所用的伪码可能就是该语言的简化版本。 5.4 伪码与程序设计语言 程序设计语言(program design language,PDL,又称详细设计语言——DDL)弥补了上述缺点,它是一种“混杂式语言”。 在这种语言中,采
文档评论(0)