software work-5th.ppt

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

第5章????详细设计 详细设计以总体设计阶段的工作为基础的,但又不同于总体设计,主要表现为以下两个方面: (1)在总体设计阶段,数据项和数据结构以比较抽象的方式描述,而详细设计阶段则应在此基础上给出足够详细描述。 (2)详细设计要提供关于算法的更多的细节,例如:总体设计可以声明一个模块的作用是对一个表进行排序,详细设计则要确定使用哪种排序算法。在详细设计阶段为每个模块增加了足够的细节后,程序员才能够以相当直接的方式进行下一阶段的编码工作。 5.1 详细设计的任务和原则 一、详细设计的任务 (1)确定每个模块的算法。   (2)确定每一个模块的数据组织。 (3)为每个模块设计一组测试用例。 (4)编写详细设计说明书。 5.1 详细设计的任务和原则 二、详细设计的原则 (1)模块的逻辑描述正确可靠、清晰易读。 (2)采用结构化程序设计方法,改善控制结构,降低程序复杂度,提高程序的可读性、可测试性和可维护性。 5.2 结构程序设计 结构程序设计是一种设计程序的技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制结构。 5.3 详细设计的工具 一、程序流程图 二、N-S图 三、PAD图 四、PDL语言 五、详细设计工具的选择 程序流程图 程序流程图又称之为程序框图,它是软件开发者最熟悉的一种算法表达工具。 它独立于任何一种程序设计语言,比较直观和清晰地描述过程的控制流程,易于学习掌握。因此,至今仍是软件开发者最普遍采用的一种工具。 流程图也存在一些严重的不足: 程序流程图虽然比较直观,灵活,并且比较容易掌握,但是它的随意性和灵活性却使它不可避免地存在着一些缺点: (1)由于程序流程图的特点,它本身并不是逐步求精的好工具。因为它使程序员容易过早地考虑程序的具体控制流程,而忽略了程序的全局结构; (2)程序流程图中用箭头代表控制流,这样使得程序员不受任何约束,可以完全不顾结构程序设计的精神,随意转移控制; (3)程序流程图在表示数据结构方面存在不足。 流程图的五种基本控制结构: 流程图的五种基本控制结构: 程序流程图中常用的符号: 盒图(N-S图) N-S图应用举例 N-S图有以下一些特点: (1)功能域(即某一个特定控制结构的作用域)有明确的规定,并且可以很直观地从N-S图上看出来; (2)它的控制转移不能任意规定,必须遵守结构化程序设计的要求; (3)很容易确定局部数据和全局数据的作用域; (4)很容易表现嵌套关系,也可以表示模块的层次结构。 PAD图 PAD图应用举例 (P 107) PAD图提供的定义功能 PAD图的特点 清晰度和结构化程度高。 PAD图中的最左面的线是程序的主干线,即程序的第一层结构。随着程序层次的增加,PAD图逐渐向右延伸。因此,PAD图可读性强。 利用PAD图设计出的程序必定是结构化的程序。 容易将PAD图转化成高级语言源程序。 PAD图支持自顶向下逐步求精的方法。(利用扩充结构) 即可以用于表示程序逻辑,也可以用于描绘数据结构。 PDL(过程设计语言) PDL是所有非正文形式的过程设计工具的统称,到目前为止已出现多种PDL语言。PDL具有“非纯粹”的编程语言的特点。 也称为伪码 PDL具有严格的关键字外部语法,用于定义控制结构和数据结构; 另一方面,PDL表示实际操作和条件的内部语法通常又是灵活自由的,以便可以适应各种工程项目的需要; 是一种“混杂”语言,它使用一种语言(某种自然语言)的词汇,同时,却使用另一种语言(某种结构化的程序设计语言)的语法。 PDL语言的缺点是不如图形工具形象直观 PDL语言的特点 关键字采用固定语法并支持结构化构件、数据说明机制和模块化; 处理部分采用自然语言描述; 可以说明简单和复杂的数据结构; 子程序的定义与调用规则不受具体接口方式的影响。 PDL描述选择结构(P 109) PDL描述循环结构 子程序 输入/输出 举例 (P 64) Jackson System Development (JSD) 与SD的由DFD导出结构设计不同,JSD是以数据结构(data structure)为基础设计每个模块的处理过程。 分析的重点是构造于系统相关的现实世界,并建立现实世界的信息域模型,目标是生成软件的过程性描述。 JSD的特点:获得简单清晰的设计方案,因为这样的方案易于理解、易于修改。? JSD的设计原则:使程序结构同数据结构相对应。 例:一个正文文件由若干个记录组成,每个记录是一个字符串。要求统计每个记录中空格字符的个数,以及文件中空格字符的总个数。要求的输出数据格式是:每扫描一行输入字符串之后,换行打印出这个字符串中的空格数,最后打印出文件中空格的总个数。 用下述三条规则从描述

文档评论(0)

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

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

1亿VIP精品文档

相关文档