软件工程18(结构化设计详细设计)

合集下载

2024年10月高教自考《软件工程》试卷含解析

2024年10月高教自考《软件工程》试卷含解析

2024年10月高教自考《软件工程》试卷一、单项选择题1、软件结构化设计中,支持“自顶向下逐步求精”的详细设计,并且能够以一种结构化方式严格地控制从一个处理到另一个处理的转移,这个详细设计工具是______。

A.PAD图B.程序流程图C.DFD图D.N-S图2、集成化能力成熟度模型(CMMI)针对每个过程域设定了能力等级,其中最高级为______。

A.3级B.4级C.5级D.6级3、面向对象方法源于面向对象______。

A.分析B.设计C.建模语言D.编程语言4、软件生存周期是指______。

A.开发软件的全部时间B.使用软件的全部时间C.开发和使用软件的全部时间D.从形成概念开始到最后淘汰让位于新的软件产品的时间5、使用用况图可以实现业务建模和系统建模,而得到业务模型和系统模型之间具有的关系是______。

A.整体/部分B.一般/特殊C.功能/过程D.静态/动态6、结构化分析方法给出了一种能表达功能模型的工具是______。

A.HIPO图B.PAD图C.N-S图D.DFD图7、下列不属于需求规约的基本性质是______。

A.可重复的B.重要性和稳定性程度C.完整的D.一致的8、下列不属于软件危机的主要表现是______。

A.软件生产效率低B.软件开发没有工具支持C.软件生产质量低D.软件开发缺乏可遵循的原理、原则、方法体系以及有效的管理9、在销售管理系统需求文档中出现下列描述,属于设计约束范畴的是______。

A.系统应能产生月销售报表B.系统应在5分钟内计算出给定季度的总销售税C.对要构建的账户接收系统,必须为月财务状况系统提供更新信息D.任取1秒钟,一个特定应用所消耗的可用计算能力平均不超过50%10、RUP中,用于捕获系统语境中的一些重要领域对象,其中领域对象表达系统工作环境中存在的事物或发生的事件,领域模型一般采用______。

A.PAD图B.流程图C.类图D.N-S图11、CMMI组织过程改善的成熟度等级中的2级是______。

软件工程导论(第5章)

软件工程导论(第5章)
10
11
5.1.2 选取若干个合理的方案
至少选取低成本、中等成本和高成本三种方案。
每种方案准备四份资料:



系统流程图; 组成系统的物理元素清单; 成本/效益分析; 实现这个系统的进度计划。
12
5.1.3 推荐最佳方案
分析员应该综合分析对比各种合理方案的利
弊,推荐一个最佳的方案,并且为推荐的方 案制定详细的实现计划。
发出较高质量的软件系统。
7
第一部分:设计过程 第二部分:设计原理 第三部分:启发原则 第四部分:软件结构图 第五部分:面向数据流的设计方法
8
5.1 设 计 过 程
总体设计过程通常由两个主要阶段组成: 系统设计:确定系统的具体实现方案。 结构设计:确定软件结构。 9个步骤: ① 设想供选择的方案 ② 选取合理的方案 ③ 推荐最佳方案 ④ 功能分解 ⑤ 设计软件结构 ⑥ 设计数据库 ⑦ 制定测试计划 ⑧ 书写文档 ⑨ 审查和复审
和理解; 可以使软件容易测试和调试,因而有助于提高软 件的可靠性; 能够提高软件的可修改性; 有助于软件开发工程的组织管理。
32
模块化五条标准
模块可分解性
把问题分解为子问题 模块可组装性 可复用 模块可理解性 无需参考其他模块,易于构造和修改 模块连续性 微小修改只导致对个别模块 模块保护性 异常影响局限在模块内部


“隐蔽”意味着模块彼此间仅仅交换那些为了完成系统功能而 必须交换的信息。 “局部化”是指把一些关系密切的软件元素物理地放得彼此靠 近。局部化有助于实现信息隐蔽。


设计和确定模块时,使得一个模块内包含的信息(过程和 数据)对于不需要这些信息的模块来说,是不能访问的。 模块内部的数据与过程,应该对不需要了解这些数据与过 程的模块隐藏起来。只有那些为了完成软件的总体功能而 必需在模块间交换的信息,才允许在模块间进行传递。

软件工程选择题[1]1

软件工程选择题[1]1

软件工程选择题题号题目内容选项A选项B选项C选项D参考答案1在软件生命周期中,能准确确定软件系统的体系结构的功能阶段是()概要设计详细设计需求分析可行性分析A2下面不是软件工程的3个要素的是()过程方法环境工具C3下面不属于软件的组成的是()程序记录文档数据B 4在瀑布模型中,将软件分为若干个时期,软件项目的可行性研究一般归属于()维护时期运行时期计划时期开发时期C5在瀑布模型中,下面()是其突出的缺点。

不适应平台的变动不适应算法的变动不适应用户需求的变动不适应程序语言的变动C6软件工程过程通常包含4种基本活动,下面不属于4种活动之一的是()。

软件规格说明软件开发软件测试软件演进C7下面不属于软件的特点的是()。

软件是一种软件产品软件产品不会用坏,不存在磨损、消耗问题软件产品的生产主要是研制软件产品非常便宜D8文档是描述程序、数据和系统开发以及使用的各种图文资料。

下面不是文档的作用的是()。

记录提供源程序维护软件软件产品介绍B 9软件开发工具是协助开发人员进行软件开发活动所使用的软件或环境。

下面不是软件开发工具的是()。

维护工具编码工具测试工具需求分析工具A 10下列叙述中不属于软件生命周期模型的是()。

原型模型瀑布模型螺旋模型快速组装模型D11软件设计中,用抽象和分解的目的是()。

提高易读性降低复杂性增加内聚性降低耦合性B12软件由3部分组成,它们是()。

程序、数据和文档程序、数据和界面数据、文档和界面程序、界面和文档A13软件生命周期中所花费用最多的阶段是()。

详细设计软件编码概要设计软件测试和维护D14开发软件时对提高开发人员工作效率至关重要的是()。

操作系统的资源管理功能先进的软件开发工具和环境程序人员的数量计算机的并行处理能力B15开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作()。

软件投机软件危机软件工程软件产生B16软件开发的结构化生命周期方法将软件生命周期划分成()。

软件结构化设计之概要设计

软件结构化设计之概要设计

软件结构化设计之概要设计什么是概要设计?⼜叫总体设计。

即对全局问题的设计,也就是设计系统总的处理⽅案。

软件⼯程总体设计包括:计算机配置设计、系统模块结构设计、数据库和⽂件设计、代码设计以及系统可靠性与内部控制设计等内容。

软件功能分解属于下列软件开发中的总体设计阶段。

完成⼤型⼯程体系的总体⽅案和总体技术途径的设计过程。

在⼀般⼯程设计中总体设计则指按计划任务书的内容进⾏概略计算,附以必要的⽂字说明和图纸设计,⼜称初步设计。

对于⼯程系统⼯程总体设计是指前⼀种含义。

总体设计是⼯程项⽬开发过程中的⼀个重要阶段。

研制⼤型⼯程体系的基本问题是,怎样把⽐较笼统的初始研制要求逐步地变为成千上万个研制参加者的具体⼯作,以及怎样把这些⼯作最终综合成⼀个技术上先进、经济上合算、研制周期短、能协调运转的实际系统,并使这个系统成为它所从属的更⼤系统的有效组成部分。

1954年美国最早出现为导弹研制计划提供这种服务的系统⼯程公司──拉莫·沃尔德⾥奇公司。

50年代末中国开始研制⼈造卫星和运载⽕箭时,也建⽴了这样的机构,并称之为总体设计部。

总体设计部设计的是系统的总体,系统的总体⽅案和实现它的技术途径,并通过可⾏性研究和技术经济论证,确保项⽬在规划、设计、制造和运⾏各个阶段,总体性能最优。

这样可以避免因规划、研制和运⽤的缺陷造成⼈⼒、物⼒和财⼒的浪费。

软件⼯程的概要设计就是把系统的功能需求分配到⼀个特定的软件系统结构中。

基本⽬的就是回答“概括地说,系统应该如何实现”这个问题。

总体设计阶段的另⼀项重要任务是设计软件的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。

概要设计的主要任务是把需求分析得到的系统扩展⽤例图转换为软件结构和数据结构。

设计软件结构的具体任务是:将⼀个复杂系统按功能进⾏模块划分、建⽴模块的层次结构及调⽤关系、确定模块间的接⼝及⼈机界⾯等。

数据结构设计包括数据特征的描述、确定数据的结构特性、以及数据库的设计。

软件工程(第五版)--习题及答案

软件工程(第五版)--习题及答案

一、判断题1、(√)详细设计也称模块设计。

2、(×)在数据代码设计时,应尽量让一条代码代表多个信息。

3、(×)在数据代码设计时,应可能设计字母和数字混合代码。

4、(×)在输出界面设计时,要尽可能使用代码或缩写,以求简洁。

5、(×)详细设计评审应尽可能和概要设计评审一同进行。

二、选择题1、软件详细设计的主要任务是确定每个模块的(A )。

A 、算法和使用的数据结构、算法和使用的数据结构 B 、外部接口、外部接口 C 、功能、功能 D 、程序、程序2、借助于软件工具,可将(C )容易地转换为高级语言源程序。

)容易地转换为高级语言源程序。

A 、程序流程图、程序流程图 B 、N-S 图 C 、PAD 图 D 、判定表、判定表3、不属于详细设计工具的是(A )。

A 、DFD 图B 、PAD 图C 、PDlD 、N-S 图 4、程序的三种基本结构是(C )。

A 、过程、子过程和子程序、过程、子过程和子程序 B 、递归、堆栈和队列、递归、堆栈和队列 C 、顺序、选择和重复、顺序、选择和重复 D 、调用、返回和转移、调用、返回和转移 5、下面描述中,符合结构化程序设计风格的是(A )。

A 、使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B 、模块只有一个入口,可以有多个出口C 、注重提高程序的执行效率、注重提高程序的执行效率D 、不使用goto 语句 三、简答题1、软件的详细设计阶段完成的主要任务是什么? 答:(1)算法设计;(2)数据结构设计;(3)模块接口细节设计;(4)测试用例设计;(5)数据库物理设计;(6)数据代码设计;(7)其他设计;(8)编写详细设计说明书并进行评审。

编写详细设计说明书并进行评审。

2、数据输入界面设计的主要原则有哪些?答:在设计数据输入界面时应做到:尽量简化用户的工作、减少输入的出错率;减轻用户的记忆负担、尽可能减少输入量并实现自动输入;尽可能减少输入量并实现自动输入; 对共同的输入设置默认值;对共同的输入设置默认值; 使用代码或缩写;缩写; 自动填入已输入过的内容;列表式输入; 数据分组输入。

软件工程期末试题(部分答案)

软件工程期末试题(部分答案)

EB登记已收款车票D受理收款 A 乘客C 车费计算一个班学生的平均成绩存储成绩 关闭文件并打 记录(3) 印平均成绩(4)计算某个科目的平均成绩创建新的成 绩记录(2) 读取科目和 初始化变量 sum 并打开文件(1) 成绩P 1图3 程序模块互连图3r5ts6uq42图 4 程序流程图a=0,b=1a++Fa<=100a++a>=20TFTa<=100Fa++图 5 程序流程图输入 A/B/C/DA>0 and B>0X=A-B X=A+BC>A and D<BY=C-D Y=C+D终止T学生成绩成绩报告核对后的成绩报告E3 E1成绩 审查 结果成绩管理系统课程 完成 通知E4D2学生成绩D1核对后的 成绩报告验证学生信息无效成绩 有效成绩2记录有效成绩课程完 成通知D5E3D45生成最终成绩单成绩单3记录无效成绩无效成 绩通知4生成成绩列表成绩审查结果成 绩 报 告列表 请求生成 成绩 成绩列表D3E4E1E21生成成 绩列表 请求无效成绩 通知 成绩 列表E2成 绩 单。

软件详细设计


16
(9) 形成其它管理文档
- 开发者撰写用户手册; - 形成测试规范 单元测试由程序员完成,测试规范由软件工程师完成; 对于大型项目,系统测试和验收测试规范由第三方完成。 对于小型项目,系统测试和验收测试规范由开发者完成, 用户审核认可。
17

详细设计的工具
可以分为图形、表格和语言三类。 1.图形工具:包括程序流程图、N-S图和PAD图; 2.表格工具:包括判定表和判定树; 3.语言工具:包括PDL语言。
8
(2)构件分解 - 从ADD中的构件开始分解,直到构件可以利用所选编程 语言进行实现; - 分解过程所用的方法和工具应与体系结构设计阶段一致。
9
♦ 构件分解的基本原则: - 构件不能包含太多的功能 - 构件不能太复杂 - 构件应具有高内聚特征; - 注重构件重用。
10
(3) 软件重用
如: - 数据管理; - 人机交互构件; - 数学库; - 图形库等等。
5

详细设计过程(管理过程)
6

详细设计的原则
为了能够使模块的逻辑描述清晰准确,在详细设计阶段应遵循 下列原则。 (1) 将保证逻辑描述的清晰度放在首位 (2) 设计过程中应采用逐步细化的实现方法 (3) 选择适当的表达工具
7
详细设计的过程(技术过程)
(1) 定义设计标准
- 设计方法; - 文档; - 命名约定; - CASE工具; - 错误处理
11
(4) 定义构件处理
♦ 利用伪码(pseudo-code)勾画模块的处理步骤,然后逐步细 化; ♦ 对处理的描述应反映所选编程语言的特点。
12
♦ 每一个模块/方法应仅包含一个入口和一个出口; - 控制应从入口到出口; - 只有在循环中控制流可以逆向。

软件工程结构化分析与设计范文精简版

软件工程结构化分析与设计软件工程结构化分析与设计简介软件工程结构化分析与设计是软件工程领域中重要的一环,它涉及到软件系统的分析和设计阶段。

在软件工程领域,结构化分析与设计是指通过建立准确的抽象层次,将软件系统划分为各个模块,并规定各个模块之间的关系和功能,以实现系统的需求。

什么是结构化分析与设计结构化分析与设计是一种系统性的方法,它利用模块化和层次化的原则,对软件系统进行分析、设计和实现。

结构化分析关注的是系统需求,它通过分解需求,将系统划分为不同的模块,并定义它们之间的关系。

结构化设计则负责将分析得到的模块进行详细设计,并确定模块的功能和接口。

结构化分析与设计的目标是提高软件系统的可理解性、可维护性和可扩展性。

结构化分析与设计的流程结构化分析与设计通常包含以下几个步骤:1. 确定系统需求:定义软件系统的功能和性能要求。

2. 确定模块划分:将系统划分为不同的模块,并定义它们之间的功能和接口。

3. 定义模块内部逻辑:对每个模块进行详细设计,包括设计数据结构和算法等。

4. 确定模块间的通信方式:确定模块之间的数据交换和通信方式。

5. 验证和评估设计:对设计进行评估和验证,确保满足系统需求。

6. 实施和编码:根据设计编写代码,完成软件系统的实施。

7. 和调试:对软件系统进行和调试,确保其功能和性能的正确性。

结构化分析与设计的优势结构化分析与设计具有以下优势:1. 提高可理解性:通过模块化的设计原则,使系统的结构和功能更易于理解和掌握。

2. 提高可维护性:分解模块可以使系统的维护更加简单和方便,减少对其他模块的影响。

3. 提高可扩展性:模块化的设计可以使系统更易于扩展和修改,方便适应需求变化。

4. 提高开发效率:结构化分析与设计明确了各个模块的功能和接口,可以并行开发,提高开发效率。

5. 降低系统复杂性:通过模块化的设计,将大型系统划分为多个小模块,降低了系统的复杂性。

结构化分析与设计的工具和技术在软件工程中,有许多工具和技术可以用于结构化分析与设计。

软件工程(简答题)

1、典型的详细设计工具有流程图、盒图、、类程序设计语言。

问题反馈【教师释疑】正确答案:【PAD图】2、UML是一种语言。

问题反馈【教师释疑】正确答案:【可视化】3、类是一组具有属性、操作、关系和语义的对象的描述。

问题反馈【教师释疑】正确答案:【相同】4、对象是类的一个。

问题反馈【教师释疑】正确答案:【实例】5、用况图是一种表达系统模型的图形化工具。

问题反馈【教师释疑】正确答案:【功能】6、UML中的顺序图是一种交互图,即由一组对象以及按组织的对象之间的关系组成。

问题反馈【教师释疑】正确答案:【时序】7、模块的作用域是指受该模块内一个所影响的所有模块的集合。

问题反馈【教师释疑】正确答案:【判定】8、模块的控制域是指这个模块本身以及所有直接或间接它的模块的集合。

问题反馈【教师释疑】正确答案:【从属于】9、在数据流图中引入数据源和数据潭这两个术语的目的是为了表示系统的,可以使用它们和相关数据流来定义系统的。

问题反馈【教师释疑】正确答案:【环境|边界】10、模块结构图是系统的一个高层蓝图,允许设计人员在较高的层次上进行抽象思维。

模块结构图可用和两种形式来表示。

问题反馈【教师释疑】正确答案:【层次图|HIPO图】11、在设计模块结构图时要基于原则来设计模块。

问题反馈【教师释疑】正确答案:【高内聚低耦合】12、在进行总体结构设计时,人们通过长期的软件开发实践,总结出一些实现模块“高内聚低耦合”的启发式规则,对初始的模块结构图进行精化,其中一条规则是“尽力使模块的在其控制域之内”。

问题反馈【教师释疑】正确答案:【作用域】13、在进行总体结构设计时,人们通过长期的软件开发实践,总结出一些实现模块“高内聚低耦合”的启发式规则,对初始的模块结构图进行精化,其中一条规则是“力求深度、宽度、扇出和扇入”。

问题反馈【教师释疑】正确答案:【适中】14、在进行总体结构设计时,人们通过长期的软件开发实践,总结出一些实现模块“高内聚低耦合”的启发式规则,对初始的模块结构图进行精化,其中一条规则是“改进软件结构,提高模块的”。

《软件工程》试题及参考答案(第8套)

电计系软件工程专业20 –20 学年度期《软件工程》试题(第8套)第一部分选择题一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1、软件可行性研究一般不考虑 ( )A、是否有足够的人员和相关的技术来支持系统开发B、是否有足够的工具和相关的技术来支持系统开发C、待开发软件是否有市场、经济上是否合算D、待开发的软件是否会有质量问题2、软件详细设计的主要任务是确定每个模块的 ( )A、算法和使用的数据结构B、外部接口C、功能D、编程3、为了提高软件的可维护性,在编码阶段应注意( )A.保存测试用例和数据B.提高模块的独立性C.文档的副作用D.养成好的程序设计风格4、快速原型模型的主要特点之一是( )A.开发完毕才见到产品B.及早提供全部完整的软件产品C.开发完毕后才见到工作软件D.及早提供工作软件5、软件需求分析的主要任务是准确地定义出要开发的软件系统是( )A.如何做B.怎么做C.做什么D.对谁做6、软件维护产生的副作用,是指( )A、开发时的错误B、隐含的错误C、因修改软件而造成的错误D、运行时误操作7、软件生命周期中所花费用最多的阶段是(D)A、详细设计B、软件编码C、软件测试D、软件维护8、因计算机硬件和软件环境的变化而作出的修改软件的过程称为 ( )A.校正性维护B.适应性维护C.完善性维护D.预防性维护9、一个模块内部各程序都在同一数据结构上操作,这个模块的内聚性称为( ) 。

A、时间内聚B、功能内聚C、信息内聚D、过程内聚10、结构化设计又称为( )A、概要设计B、面向数据流设计C、面向对象设计C、详细设计11. 协作图反映收发消息的对象的结构组织,它与()是同构的。

A 用例图B 类图C 活动图D 时序图12.黑盒测试在设计测试用例时,主要需要研究( )A.需求规格说明与概要设计说明B.详细设计说明C.项目开发计划D.概要设计说明与详细设计说明13.CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• PAD图的实例
4.6.4 PAD图
• PAD的扩充控制结构
4.6.4 PAD图
• PAD的优点

使用 PAD 符号所设计出来的程序必然是结 构化程序。 PAD 图描绘程序结构清晰,图中竖线的总

条数就是程序的层次数。

用 PAD 图表现程序逻辑易读、易懂、易记

4.6.4 PAD图
• PAD的优点
(3) 程序自顶向下、逐步细化,分解成树形结构。
任何一步发生错误,一般只影响它下层的结点
,同一层的其他结点不受影响。
4.6.6 自顶向下、逐步细化的设计过程

自顶向下、逐步求精的方法的优点 件时,可复用的代码量最大。
(4) 程序清晰和模块化,使得在修改和重新设计一个软 (5) 程序的逻辑结构清晰,有利于程序正确性证明。 (6) 每一步工作仅在上层结点的基础上做不多的设计扩
下课了。。。
休息一会儿。。。

容易将PAD图自动转换为高级语言源程序。 PAD图既可以表示程序逻辑,也可用于描绘 数据结构。

PAD图的符号支持自顶向下、逐步求精方法
的使用。
4.6.5 伪代码

伪代码是一种介于自然语言和形式化语 言之间的半形式化语言,是一种用于描 述功能模块的算法设计和加工细节的语 言 , 也 称 为 程 序 设 计 语 言 ( Program Design Language,PDL)。
软件工程
主讲:陈利平
计算机与信息科学学院 2015
概述:
• 一、主要内容 • 讲述详细设计的几种工具的表示。 • 二、目的与要求 • 了解结构化设计的表示工具,理解PAD图 和伪代码的应用。 • 三、重点与难点 • PAD图和伪代码的应用。
思考:
• 提问: • 1)什么是PAD图工和组织工作。
4.7 软件设计规格说明
• 国家标准 GB/T 8567—2006《计算机软件文档 编制规范》中有关软件总体设计的文档是《系
统/子系统设计(结构设计)说明(SSDD)》
, 描述了系统或子系统的系统级或子系统级设
计与体系结构设计。
小结
• 本次课主要讲述详细设计工具的表示。重点掌 握PAD图和伪代码的应用。
4.6.5 伪代码

伪码的语法规则分为“外语法”和“内语 法”。 外语法应当符合一般程序设计语言常用语 句的语法规则; 内语法可以用英语中一些简单的句子、短 语和通用的数学符号来描述程序应执行的


功能。
4.6.5 伪代码
• 伪代码的基本控制结构

简单陈述句结构:避免复合语句。 判定结构: IF_THEN_ELSE 或 CASE_OF 结 构。 重复结构: WHILE_DO 或 REPEAT_UNTIL
(4) 有子程序定义与调用机制,用以表达各种
方式的接口说明。
4.6.6 自顶向下、逐步细化的设计过程 主要包括两个方面:

一是将复杂问题的解法分解和细化成由若 干个模块组成的层次结构; 二是将每个模块的功能逐步分解细化为一 系列的处理。

4.6.6 自顶向下、逐步细化的设计过程 • 自顶向下、逐步细化方法举例

结构。
4.6.5 伪代码
• 伪代码实例:“检查订货单”例子
4.6.5 伪代码
• 伪代码的特点 (1) 有固定的关键字外语法,提供全部结构 化控制结构、数据说明和模块特征。外 语法的关键字是有限的词汇集,它们能 对伪代码正文进行结构分割,使之变得
易于理解。
4.6.5 伪代码
(2) 内语法使用自然语言来描述处理特性,为 开发者提供方便,提高可读性。 (3) 有数据说明机制,包括简单的(如标量和 数组)与复杂的(如链表和层次结构)的数 据结构。

检查A[ ]所有的数能否被B[j]整除并将能被整除的数从A[]中剔除;
/*输出A[ ]中所有没有被剔除的数*/ - - - - - - - 4 for (i = 2; i <= 100; i++)
若A[i]没有被剔除,则输出之
}
4.6.6 自顶向下、逐步细化的设计过程

自顶向下、逐步求精的方法的优点 的普遍规律。可提高软件开发的成功率和生产率
4.6.4 PAD图

PAD(problem analysis diagram)是日本日 立公司提出,由程序流程图演化来的,用 结构化程序设计思想表现程序逻辑结构的 图形工具。

PAD 也设置了 5 种基本控制结构的图式,
并允许递归使用。
4.6.4 PAD图
• PAD图的基本控制结构
4.6.4 PAD图
建立2到10的素数表B[ ],存放素数;- - - - 2
若A[i]=i是B[ ]中任一数的倍数,则剔除; - 3
输出A[ ]中所有没有被剔除的数; - -- - - - 4
}
4.6.6 自顶向下、逐步细化的设计过程
上述框架中每一个加工语句都可进一步细化成一个循环语句 main () { /*建立2到100的数组A[ ],其中A[i]=i*/ - - 1 for (i = 2;i <= 100;i++)A[i] = i; /* 建立2到10的素数表B[ ],存放2到10以内的素数*/ - 2 B[1] =2; B[2] = 3; B[3] = 5; B[4] = 7; /*若A[i]=i是B[ ]中任一数的倍数,则剔除A[i]*/ - - 3 for (j = 1; j <= 4; j++)
(1) 自顶向下、逐步求精方法符合人们解决复杂问题

(2) 用先全局后局部,先整体后细节,先抽象后具体
的逐步求精的过程开发出来的程序具有清晰的层
次结构,因此程序容易阅读和理解。
4.6.6 自顶向下、逐步细化的设计过程

自顶向下、逐步求精的方法的优点 在同一层的结点上做细化工作,相互之间没有 关系,因此它们之间的细化工作相互独立。在

用筛选法求100以内的素数。 2,3,5,7 的倍数,剩下的就是 100 以内的素 数。
所 谓 的 筛 选 法 , 就 是 从 2 到 100 中 去 掉
4.6.6 自顶向下、逐步细化的设计过程

首先按程序功能写出一个框架
main () { 建立2到100的数组A[ ],其中A[i]=i;- -- - 1
相关文档
最新文档