第四章
一、名词解释
1.软件设计 2.模块化 3.信息隐蔽 4.模块独立性 5.耦合性 6.内聚性 7.模块的控制范围 8.模块的作用范围 9.软件结构 二、填空题
1.软件设计阶段产生的最重要的文档是______。 2.软件结构是以______为基础而组成的一种控制层次结构。 3.反映软件结构的基本形态特征是______。
4.一个模块把数值作为参数送给另一个模块,这种耦合方式称为______。 5.两个模块通过全程变量相互作用,这种耦合方式称为______。
6.将与同一张年报表有关的所有程序段组成一个模块,该模块的内聚性为______。 7.一个模块的作用范围指______的集合。 8.一个模块的控制范围指______的集合。 9.结构化设计以______为基础映射成软件结构。
10.为了防止软件概要设计的错误传播到开发的后续阶段,在概要设计文档完成以后,要进行______。 三、选择题
1.结构化设计方法在软件开发中,用于( )。
A.测试用例设计 B.软件概要设计 C.程序设计 D.软件详细设计 2.软件结构使用的图形工具,一般采用( )图。 A.DFD B.PAD C.SC D.ER
3.软件结构图中,模块框之间若有直线连接,表示它们之间存在着( )关系。 A.调用 B.组成 C.链接 D.顺序执行 4.在软件概要设计中,不使用的图形工具是( )图。 A.SC B.IPO C.IDEF0 D.PAD 5.划分模块时,一个模块的( )。
A.作用范围应在其控制范围之内 B.控制范围应在其作用范围之内 C.作用范围与控制范围互不包含 D.作用范围与控制范围不受任何限制 6.属于软件设计的基本原理是( )。
A.数据流分析设计 B.变换流分析设计 C.事务流分析设计 D.模块化 7.变换流的DFD由三部分组成,不属于其中一部分的是( )。 A.事务中心 B.变换中心 C.输入流 D.输出流 8.软件设计阶段一般又可分为( )。
A.逻辑设计与功能设计 B.概要设计与详细设计 C.概念设计与物理设计 D.模型设计与程序设计 9.好的软件结构应该是( )。
A.高耦合、高内聚 B.低耦合、高内聚 C.高耦合、低内聚 D.低耦合、低内聚 10.结构图中,不是其主要成分的是( )。
A.模块 B.模块间传递的数据 C.模块内部数据 D.模块的控制关系 四、简答题
1.什么是软件概要设计,该阶段的基本任务是什么? 2.软件设计的基本原理包括哪些内容? 3.模块的耦合性、内聚性包括哪些种类?各表示什么含义?4.简述软件结构优化准则。 5.变换分析设计与事务分析设计有什么区别?简述其设计步骤。 五、应用题
将第3章3.3节应用题中第1题的DFD转换成软件结构图。 参考答案 二、填空题
1.软件概要设计说明书 2.模块 3.深度、宽度、扇入、扇出4.数据耦合 5.公共耦合 6.通信内聚 7.受该模块内一个判定影响的所有模块 8.模块本身以及其所有下属模块 9.数据流图10.软件评审 三、选择题
1.B. 2.C. 3.A. 4.D. 5.A. 6.D. 7.A. 8.B. 9.B. 10.C. 五、应用题
第五章
一、名词解释
1.结构化程序设计 2.PAD 3.PDL4.结构冲突 5.对应关系 二、填空题
1.结构化程序设计方法使用______构造程序。
2.在详细设计阶段,一种历史最悠久、使用最广泛的描述程序逻辑结构的工具是______。 3.结构化程序设计技术指导人们用良好的思想方法开发______的程序。
4.详细描述处理过程常用的三种工具是图形、语言和______。5.Jackson图不仅可表示程序结构,还可表示______。6.PDL具有严格的关键字外层语法,用于定义控制结构、数据结构和______。 7.详细设计的目标不仅是逻辑上正确地实现每个模块的功能,还应使设计出的处理过程______。 8.用JSP方法导出程序结构后,还要列出______,并把它们分配到程序结构图的适当位置上去。 9.在详细设计阶段,除了对模块内的算法进行设计,还应对模块内的______进行设计。
10.在详细设计阶段,为了提高数据的输入、储存、检索等操作的效率并节约存储空间,对某些数据项的值要进行______设计。 三、选择题
1.在详细设计阶段,一种二维树型结构并可自动生成程序代码的描述工具是( )。 A.PAD B.PDL C.IPO D.判定树 2.结构化程序设计的一种基本方法是( )。 A.筛选法 B.递归法 C.迭代法 D.逐步求精法 3.JSP方法是一种面向( )的设计方法。
A.对象 B.数据流 C.数据结构 D.控制结构 4.JSP方法主要用于规模适中的( )系统的开发。 A.数据处理 B.实时处理 C.文字处理 D.科学计算 5.PDL是软件开发过程中用于( )阶段的描述工具。 A.需求分析 B.概要设计 C.详细设计 D.编程
6.在详细设计阶段,可自动生成程序代码并可作为注释出现在源程序中的描述工具是( )。 A.PAD B.PDL C.IPO D.流程图 7.Jackson图上下层之间的关系是( )。
A.调用关系 B.组成关系 C.继承关系 D.嵌套关系
8.JSP方法根据输入输出的数据结构按一定的规则映射成软件的( )。 A.体系结构 B.数据结构 C.程序结构 D.顺序结构 9.程序的三种基本控制结构是( )。
A.过程、子程序和分程序 B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移 10.程序的三种基本控制结构的共同特点是( )。
A.不能嵌套使用 B.只能用来写简单程序 C.已经用硬件实现 D.只有一个入口和一个出口 四、简答题
1.详细设计的基本任务是什么?2.结构化程序设计方法的基本要点是什么?3.详细设计主要使用哪些描述工具?各有什么特点?4.JSP方法有哪些设计步骤?该方法有哪些特点? 五、应用题
画出下面用PDL写出的程序的PAD图。 WHILE P DO
IF A>O THEN A1 ELSE A2 ENDIF; IF B>0 THEN B1;
IF C>0 THEN C1 ELSE C2 ENDIF ELSE B2 ENDIF; B3 ENDWHILE; 参考答案 二、填空题
1.三种基本控制结构 2.程序流程图3.易于理解、易于验证 4.表格5.数据结构 6.模块接口 7.清晰易读 8.操作与条件9.数据结构 10.代码 三、选择题
1.A 2.D 3.C 4.A 5.C6.B 7.B 8.C 9.B 10.D 五、应用题
PAD图如下图所示。
第六章
一、名词解释
1.编码 2.程序设计风格 二、填空题
1.程序设计语言的特性主要有_______三方面。
2.程序设计语言的心理特性在语言中的表现形式为_______。
3.程序设计语言的工程特性主要表现为_____。4.项目的应用领域一般有_____几种类型。
5.与编码风格有关的因素有数据说明、语句构造、输入输出、效率等,其中还有一个重要的因素是_______。 三、选择题
1.项目的应用领域是选择编程语言关键的因素之一,不适合作为项目应用领域的类型是( )。 A.系统软件 B.数据处理与数据库应用 C.实时处理 D.UNIX操作系统
2.为了提高易读性,源程序内部应加功能性注释,用于说明( )。
A.模块总的功能 B.程序段或语句的功能 C.模块参数的用途 D.数据的用途
3.程序设计语言的心理特性在语言中表现不应包括( )。 A.歧义性 B.简洁性 C.保密性 D.传统性 4.程序设计语言的工程特性其中之一表现在( )。 A.软件的可重用性 B.数据结构的描述性 C.抽象类型的描述性 D.数据库的易操作性 5.程序设计语言的技术特性不应包括( )。 A.数据结构的描述性 B.抽象类型的描述性 C.数据库的易操作性 D.软件的可移植性 四、简答题
1.在项目开发时,选择程序设计语言通常考虑哪些因素? 2.什么是程序设计风格?应在哪些方面注意培养良好的设计风格? 参考答案 二、填空题
1.心理特性、工程特性、技术特性2.歧义性、简洁性、局部性、顺序性和传统性 3.可移植性、开发工具的可利用性、软件的可重用性、可维护性
4.科学工程计算、数据处理与数据库应用、实时处理、系统软件、人工智能 5.源程序文档化 三、选择题
1.D. 2.B. 3.C. 4.A. 5.D.
第七章
一、名词解释
1. 软件测试 2.黑盒法 3.白盒法4.渐增式测试 5.非渐增式测试 6.调试 二、填空题
1.软件测试是为了_____而执行程序的过程。 2.运行被测程序的方法称为_______测试。
3.动态测试中,主要测试软件功能的方法称为______法。
4.选择测试用例,使得被测程序中每个判定的每个分支至少执行一次,这种逻辑覆盖标准称为_______。 5.要覆盖含有循环结构的所有路径是不可能的,一般通过限制_____来测试。
6.用等价类划分法设计测试用例时,如果被测程序的某个输入条件规定了取值范围,则可确定一个合理的等价类和_______。
7.凭经验或直觉推测程序中可能存在的错误而设计测试用例的方法是_______。 8.集成测试中的具体方法是______。9.确认测试阶段的两项工作是______。 10.在单元测试中,测试一个模块时,需要设计_______。 三、选择题
1.测试的关键问题是( )。
A.如何组织软件评审 B.如何选择测试用例 C.如何验证程序的正确性 D.如何采用综合策略 2.软件测试用例主要由输入数据和( )两部分组成。
A.测试计划 B.测试规则 C.预期输出结果 D.以往测试记录分析 3.成功的测试是指运行测试用例后( )。
A.未发现程序错误 B.发现了程序错误 C.证明程序正确 D.改正了程序错误 4.下列几种逻辑覆盖标准中,查错能力最强的是( )。