软件工程导论第6章详细设计说明.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
P141:4 下图给出的程序流程图代表一个非结构化的程序,请问: (1)为什么说它是非结构化的? (2)设计一个等价的结构化程序。 (3)在(2)题的设计中你使用附加的标志变量flag吗?若没用,请再设计一个使用flag的程序;若用了,再设计一个不用flag的程序 (1)通常所说的结构化程序,是按照狭义的结构程序的定义衡量,符合定义规定的程序。图示的程序的循环控制结构有两个出口,显然不符合狭义的结构程序的定义,因此是非结构化的程序。 (2)使用附加的标志变量flag,至少有两种方法可以把该程序改造为等价的结构化程序,图示盒图描绘了等价的结构化程序。 (3)不使用flag把该程序改造为等价的结构化程序的方法如图所示。 C EXAMPLE LOOP:DO WHILE X0 A=B+1 IF A10 THEN X=A ELSE Y=Z END IF IF Y5 THEN PRINT X,Y ELSE IF Y=2 THEN GOTO LOOP ELSE C=3 END IF END IF P142:8 画出下列伪码程序的流图,计算它的环形复杂度。你觉得这个程序的逻辑有什么问题吗? G=H+R END DO IF F0 THEN PRINT G ELSE PRINT K END IF STOP V(G)=弧数n - 结点E+1 =20-14+1=7 =判断结点 +1 =6 +1=7 =封闭的区域数 知识回顾Knowledge Review 从例2可以看到PDL的总体结构与一般程序完全相同。 外语法同相应程序语言一致,内语法使用自然语言,易编写, 易理解,也很容易转换成源程序。除此以外,还有以下优点: (1) 提供的机制较图形全面, 为保证详细设计与编码的质量创造了有利条件。 (2) 可作为注释嵌入在源程序中一起作为程序的文档,并可同高级程序设计语言一样进行编辑、修改,有利于软件的维护。 (3) 可自动生成程序代码,提高软件生产率。 程序 流程图 盒图 N-S 问题分析 图PAD 伪码 PDL 结构化 差 优 优 中 逻辑表达 中 良 良 良 易转换代码 良 良 优 优 直观性 中 良 良 中 使用频率 优 中 中 优 几种表示工具比较 6.4 面向数据结构的设计方法 6.4.1 Jackson图 面向数据结构的设计方法,也就是用面向数据结构作为程序设计的基础。 无论数据结构还是程序结构,都限于三种基本结构及它们的组合,因此给出了三种基本结构的表示。这三种基本结构不仅可以表示数据结构,还可以表示程序结构。 Jackson图表示方法 Jackson图的优点: (1)Jackson图不仅便于表示层次结构,而且也有利于对结构自顶向下分解; (2)Jackson图形象直观,可读性好; (3)Jackson图不仅能表示数据结构,也能表示程序结构(因为程序结构也可以由上述3种基本结构组成)。 Jackson图的缺点: 在选择结构和重复结构中,选择条件或循环结束条件不能直接在Jackson图中表示出来。这样就影响了图形的表达能力,也不利于直接把图翻译成程序。 改进的Jackson图 6.4.1 改进的Jackson图 例:高考后将考生的基本情况文件(简称考生基本情况文件)和考生高考成绩文件(简称考分文件)合并成一个新文件(简称考生新文件)。考生基本情况文件和考分文件都是由考生记录组成的。为简便起见,考生基本情况文件中的考生记录的内容包括:准考证号、姓名、通讯地址。考分文件中的考生记录的内容包括:准考证号和各门考分。合并后的考生新文件自然也是由考生记录组成,内容包括:准考证号、姓名、通讯地址和各门考分。 Jackson程序设计方法由五个步骤组成: 6.4.3 Jackson程序设计方法 第一步 数据结构表示 对要求解的问题进行分析,确定输入数据和输出数据的逻辑结构,并用Jackson图描述这些数据结构。 第二步 找出输入数据结构和输出数据结构的对应关系 找出输入数据结构和输出数据结构中有对应关系的数据单元,即有直接因果关系、在程序中可以同时处理的数据单元。需要注意的是,对于重复的数据单元,必须是重复的次序、次数都相同才有可能有对应关系。 第三步 确定程序结构图 根据下述三规则,由Jackson图导出相应的程序结构图: (1)为每对有对应关系的数据单元,按照

文档评论(0)

文档分享 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档