软件工程导论试题11、软件开发中常采用的结构化生命周期方法,由于其特征面一般称一。选择其为(A)B、对象模型C、螺旋模型D.1、瀑布模型把软件生命周期划分为八个阶段:问题的定义,可行性研A、瀑布模型层次模型究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和12、软件开发的瀑布模型,。一般都将开发过程划分为、分析、设计、(C).A、详细计划C、运行阶段B、可行性分析编码和测试等阶段,一般认为可能占用人员最多的阶段是(C)D.D、测试与排错A、分析阶段B、设计阶段C、编码阶段测试阶段2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大(C)。二 填空A、详细设计阶段B、概要设计阶段C、需求分析阶段D、测试和运行阶段21.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的(信息流动)情况。3、在结构化的瀑布模型中,一个阶段定义的标准将成为软件测试中【解析】系统流程图是描述物理系统的传统工具,用图形符号表示系统的系统测试阶段的目标(A)。中的各个元素,如人工处理、数据处理、数据库、文件、设备等,表A、需求分析阶段B、详细设计阶段C、概要设计阶段达了元素之间的信息流动的情况。D、可行性研究阶段22.成本效益分析的目的是从(经济)角度评价开发一个项目是否可行。4、软件工程的出现主要是由于(C)。[解析成本效益分析首先是估算将要开发的系统的开发成本,然后与A.程序设计方法学的影响B.其它工可能取得的效益进行比较和权衡,其目的是从经济角度评价开发一个程科学的影响新的软件项目是香可行。C.软件危机的出现D.计算机23.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:的发展深度优先策略和(宽度优先策略)。[解析]渐增式测试法有自项向下结合和自底向上结合两种组装模块的5、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工方法,其中自项向下集成是构造程序结构的一种增量式方式,不需要程方法得以实施的主要保证是(C)编写驱动模块,只需要编写桩模块。它从主控模块开始,按照软件的B.A、硬件环境控制层次结构,以深度优先或宽度优先的策略,逐步把各个模块集成软件开发的环境在一起。C、软件开发工具和软件开发的环境D、开发人员的素24.独立路径是指包括一组以前没有处理的语句或条件的一条路径。质从程序图来看,一条独立路径是至少包含有一条(在其他独立路径中未有过)的边的路径。6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的[解析在基本路径测试中,以详细设计或源程序为基础,导出控制流应用中,它们之间的关系表现为(B)程图的拓扑结构一一程序图,在计算了程序图的环路复杂性之后,确D.A、相互排斥B、相互补充C、独立使用定只包含独立路径的基本路径图,其中独立路径是包括一组以前没有交替使用处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条在其他独立路径中未有过的边的路径。7、UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方25.汇编语吉是面向(机器)的,可以完成高级语言无法完成的特法(C)殊功能,如与外部设备之间的一些接口工作。A、基于瀑布模型的结构化方法B、基于需求动态【解析】汇编语言属于低级语言,是一种面向机器的语吉,它与高级语定义的原型化方法言相比有许多优越性:如操作灵活,可以直接作用到硬件的最下层,D、基于数据的数完成与外部设备的接口工作等,是能够利用计算机硬件特性直接控制C、基于对象的面向对象的方法据流开发方法硬件设备的唯一语言。26.在JSP方法中解决结构冲突的具体办法是(中间数据结构或中间8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要文件)。求最高(B)【解析]JSP方法是面向数据结构的设计方法。它定义了一组以数据结构A、结构化方法B、原型化方法C、面向对象的方法D、为指导的映射过程,根据输入、输出的数据结构,按一定的规则映射控制流方法成软件的过程描述,在JSP方法中解决结构冲突的具体办法是引入中间数据结构或中间文件,将冲突部分分隔开来,建立多个程序结构,9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调再利用中间文件把它们联系起来,构成一个系统的整体。B、数据流的是分析对象的(B)A、控制流c.27.详细设计的任务是确定每个模块的内部特性,即模块的算法、(使程序流D、指令流用的数据)。【解析】详细设计的基本任务是为每个模块进行详细的算法设计,为模10、软件开发的结构化生命周期方法将软件生命周期划分成(A)块内的数据结构进行设计,确定每个模块的内部特性,包括模块的算A、计划阶段、开发阶段、运行阶段、计划阶段、编程阶段、测试法和使用的数据。对数据库进行物理设计等。软件阶段28:所有软件维护申请报告要按规定方式提出,该报告也称(C.总体设计、详细设计、编程调动D、需求分析、功能定义、系统设问题)报告。计【解析]在软件维护的流程中,第一步就是制定维护申请报告,也称为软件间题报告,它是维护阶段的一种文档,由申请维护的用户填写
软件工程导论试题 一.选择 1、瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研 究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、 维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和 ( C )。 A、详细计划 B、可行性分析 C、运行阶段 D、测试与排错 2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的 几个选项中哪个环节出错,对软件的影响最大 ( C )。 A、详细设计阶段 B、概要设计阶段 C、 需求分析阶段D、 测 试和运行阶段 3、在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中 的系统测试阶段的目标 ( A )。 A、需求分析阶段 B、详细设计阶段 C、概要设计阶段 D、 可行性研究阶段 4、软件工程的出现主要是由于( C )。 A.程序设计方法学的影响 B.其它工 程科学的影响 C. 软件危机的出现 D.计算机 的发展 5、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工 程方法得以实施的主要保证是 ( C ) A、硬件环境 B、 软件开发的环境 C、软件开发工具和软件开发的环境 D、开发人员的素 质 6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的 应用中,它们之间的关系表现为 ( B ) A、相互排斥 B、相互补充 C、独立使用 D、 交替使用 7、UML 是软件开发中的一个重要工具,它主要应用于哪种软件开发方 法( C ) A、基于瀑布模型的结构化方法 B、基于需求动态 定义的原型化方法 C、基于对象的面向对象的方法 D、基于数据的数 据流开发方法 8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要 求最高( B ) A、结构化方法 B、原型化方法 C、面向对象的方法 D、 控制流方法 9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调 的是分析对象的 ( B ) A、控制流 B、数据流 C、 程序流 D、指令流 10、软件开发的结构化生命周期方法将软件生命周期划分成 ( A ) A、 计划阶段、开发阶段、运行阶段B、 计划阶段、编程阶段、测试 阶段 C、 总体设计、详细设计、编程调试D、需求分析、功能定义、系统设 计 11、软件开发中常采用的结构化生命周期方法,由于其特征而一般称 其为( A ) A、瀑布模型 B、对象模型 C、螺旋模型 D、 层次模型 12、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、 编码和测试等阶段,一般认为可能占用人员最多的阶段是 ( C ) A、分析阶段 B、设计阶段 C、编码阶段 D、 测试阶段 二.填空 21.系统流程图是描述物理模型的传统工具,用图形符号表示系统中 各个元素表达了系统中各种元素之间的( 信息流动 )情况。 [解析]系统流程图是描述物理系统的传统工具,用图形符号表示系统 中的各个元素,如人工处理、数据处理、数据库、文件、设备等,表 达了元素之间的信息流动的情况。 22.成本效益分析的目的是从( 经济 )角度评价开发一个项目是否 可行。 [解析]成本效益分析首先是估算将要开发的系统的开发成本,然后与 可能取得的效益进行比较和权衡,其目的是从经济角度评价开发一个 新的软件项目是否可行。 23.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略: 深度优先策略和( 宽度优先策略 ) 。 [解析]渐增式测试法有自顶向下结合和自底向上结合两种组装模块的 方法,其中自顶向下集成是构造程序结构的一种增量式方式,不需要 编写驱动模块,只需要编写桩模块。它从主控模块开始,按照软件的 控制层次结构,以深度优先或宽度优先的策略,逐步把各个模块集成 在一起。 24.独立路径是指包括一组以前没有处理的语句或条件的一条路径。 从程序图来看,一条独立路径是至少包含有一条( 在其他独立路径中 未有过 )的边的路径。 [解析]在基本路径测试中,以详细设计或源程序为基础,导出控制流 程图的拓扑结构——程序图,在计算了程序图的环路复杂性之后,确 定只包含独立路径的基本路径图,其中独立路径是包括一组以前没有 处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少 包含有一条在其他独立路径中未有过的边的路径。 25.汇编语言是面向( 机器 ) 的,可以完成高级语言无法完成的特 殊功能,如与外部设备之间的一些接口工作。 [解析]汇编语言属于低级语言,是一种面向机器的语言,它与高级语 言相比有许多优越性:如操作灵活,可以直接作用到硬件的最下层, 完成与外部设备的接口工作等,是能够利用计算机硬件特性直接控制 硬件设备的唯一语言。 26.在JSP 方法中解决结构冲突的具体办法是( 中间数据结构或中间 文件 )。 [解析]JSP 方法是面向数据结构的设计方法。它定义了一组以数据结构 为指导的映射过程,根据输入、输出的数据结构,按一定的规则映射 成软件的过程描述,在 JSP 方法中解决结构冲突的具体办法是引入中 间数据结构或中间文件,将冲突部分分隔开来,建立多个程序结构, 再利用中间文件把它们联系起来,构成一个系统的整体。 27.详细设计的任务是确定每个模块的内部特性,即模块的算法、( 使 用的数据 )。 [解析]详细设计的基本任务是为每个模块进行详细的算法设计,为模 块内的数据结构进行设计,确定每个模块的内部特性,包括模块的算 法和使用的数据。对数据库进行物理设计等。 28.所有软件维护申请报告要按规定方式提出,该报告也称( 软件 问题 )报告。 [解析]在软件维护的流程中,第一步就是制定维护申请报告,也称为 软件问题报告,它是维护阶段的一种文档,由申请维护的用户填写
29.有两类维护技术:在开发阶段使用来减少错误、提高软件可维护32.错误推测法性的面向维护的技术:在维护阶段用来提高维护的效率和质量的(维33.黑盒测试法护支援)技术。34.软件质量保证35.瀑布模型[解析面向维护的技术涉及软件开发的所有阶段,能够减少软件错误提高软件的可维护性。面维护支援技术则包含信息收集,错误原因分31.经济可行性解:进行开发成本的估算以及了解取得效益的评估,确定要开发的项析,维护方案评价等项,是在软件维扩阶段用来提高维护效率和质量的技术。目是否值得投资开发。【解析】对于一个系统所必须要衡量的是经济上是否合算,经济30.科学工程计算需要大量的标准库雨数,以便处理复杂的数值计算,可供选择的语言有:(FORTRAN语言)、PASCAL语言、C语和PL/1可行性的范围很广,包括效益分析、潜在市场前景等。语言。32.社会可行性[解析计算机语言根据不同行业的需求,使用的侧重点也不尽相同解:要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目目的运行方式在用户组在办公管理方面,一些数据库语言如FOXPRO、ORICAL有很多的应用织内是否行得通,现有管理制度、人员在工程行业,计算机语吉的科学计算能力就显得格外重要,如MTLAB、素质、操作方式是香可行。PL/1、FORTRAN语吉都是工程计算中常用的语言。解析门社会可行性包括合同、责任、侵权等技术人员不甚了解的诸多间题。三. 判断33.投资回收期1.软件的开发与运行经常受到硬件的限制和制约。(V)解:投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。2.模块内的高内聚往往意味着模块间的松耦合。(V)3Jackson图只能表达程序结构,不能表达数据结构。(x)【解析通常我们用投资回收期来衡量一个开发项目的价值,投上述数据流图表示数据A和B同时输入变换成C。()资回收期越短,就越快获得利润。5.软件的质量好坏主要由验收人员负责,其他开发人员不必关心。)34.对应关系解:即有直接因果关系在程序中可以同时处理。6.判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。(V)【解析对应关系是指数据单元在数据内容上、数量上和期序上7.应该尽量使用机器语吉编写代码,提高程序运行效率,而减少高级有直接的因果关系,对于重复的数据单元,重复的次序和次数都语言的使用。(X)相同才有对应关系。8.UML只能应用于软件系统模型的建立。(X)35.结构冲突9.容错就是每个程序采用两种不同的算法编写。(X)解:输入数据与输出数据结构找不到对应关系的情况,称为结构冲突,10。软件测试的目的是为了无一遗漏的找出所有的错误。()【解析使用JSP方法时会遇到此类结构冲突问题,对此,Jackson提出了引入中间数据结构或中间文件的办法,将冲突部分分四、名调解师题(本大题共5小题,每小题3分,共15分)隔开来,建立多个程序结构,再利用中间文件把它们联系起来,构31.软件开发环境成一个系统的整体。五、图a中,模块θ为判定,判断涉及到模块B、F、G,请指出设计中的错误,再根据改进模块图的基本原则,画出1~2个改进方案(不改变模块G的判断关系),并说明是按照哪条基本原则进行改进的。AG+CDba解:图b为一个改进方案,将模块G的位置提高,使其作用范围为控制范围的子集,减少模块之间的联系
29.有两类维护技术:在开发阶段使用来减少错误、提高软件可维护 性的面向维护的技术;在维护阶段用来提高维护的效率和质量的( 维 护支援 )技术。 [解析]面向维护的技术涉及软件开发的所有阶段,能够减少软件错误, 提高软件的可维护性。而维护支援技术则包含信息收集,错误原因分 析,维护方案评价等项,是在软件维护阶段用来提高维护效率和质量 的技术。 30.科学工程计算需要大量的标准库函数,以便处理复杂的数值计算, 可供选择的语言有:( FORTRAN 语言)、PASCAL 语言、C 语言和 PL/1 语言。 [解析]计算机语言根据不同行业的需求,使用的侧重点也不尽相同, 在办公管理方面,一些数据库语言如FOXPRO、ORICAL 有很多的应用, 在工程行业,计算机语言的科学计算能力就显得格外重要,如 MATLAB、 PL/1、FORTRAN 语言都是工程计算中常用的语言。 三.判断 1.软件的开发与运行经常受到硬件的限制和制约。(√) 2.模块内的高内聚往往意味着模块间的松耦合。(√ ) 3.Jackson 图只能表达程序结构,不能表达数据结构。(X) 上述数据流图表示数据 A和 B 同时输入变换成 C。(X) 5.软件的质量好坏主要由验收人员负责,其他开发人员不必关心。(X ) 6.判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。 (√) 7.应该尽量使用机器语言编写代码,提高程序运行效率,而减少高级 语言的使用。(X) 8.UML 只能应用于软件系统模型的建立。(X) 9.容错就是每个程序采用两种不同的算法编写。(X) 10.软件测试的目的是为了无一遗漏的找出所有的错误。(X) 四、名词解释题(本大题共 5 小题,每小题 3 分,共 15 分) 31.软件开发环境 32.错误推测法 33.黑盒测试法 34.软件质量保证 35.瀑布模型 31.经济可行性 解:进行开发成本的估算以及了解取得效益的评估,确定要开发的项 目是否值得投资开发。 [解析]对于一个系统所必须要衡量的是经济上是否合算,经济 可行性的范围很广,包括 效益分析、潜在市场前景等。 32.社会可行性 解:要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目 目的运行方式在用户组 织内是否行得通,现有管理制度、人员 素质、操作方式是否可行。 解析]社会可行性包括合同、责任、侵权等技术人员不甚了解的 诸多问题。 33.投资回收期 解:投资回收期就是使累计的经济效益等于最初的投资费用所需的时 间。 [解析]通常我们用投资回收期来衡量一个开发项目的价值,投 资回收期越短,就越快获 得利润。 34.对应关系 解:即有直接因果关系在程序中可以同时处理。 [解析]对应关系是指数据单元在数据内容上、数量上和顺序上 有直接的因果关系,对于 重复的数据单元,重复的次序和次数都 相同才有对应关系。 35.结构冲突 解:输入数据与输出数据结构找不到对应关系的情况,称为结构冲突。 [解析]使用 JSP 方法时会遇到此类结构冲突问题,对此, Jackson 提出了引入中间数据结构或中间文件的办法,将冲突部分分 隔开来,建立多个程序结构,再利用中间文件把 它们联系起来,构 成一个系统的整体。 五、图 a 中,模块 G 为判定,判断涉及到模块 B、F、G,请指出设计中的错误,再根据改进模块图的基本原则,画出 1~2 个 改进方案(不改变模块 G 的判断关系),并说明是按照哪条基本原则进行改进的。 解:图 b 为一个改进方案,将模块 G 的位置提高,使其作用范围为控制范围的子集,减少模块之间的联系
40.请使用PAD图和PDL语吉描述在数组A(1)~A(10)中找最大数的算法。解:PDL语言:N=1WHILEN<=10DOIFA (N) <=A (N+1) MAX=A (N+1);ELSEMAX=A(N)ENDIF;N=N+1;ENDWHILE;PAD图:TN=1MAX =A(N+1)A(N)c=A(N+1)WHILE N<=10MAX =A(N)N-N+I[解析]人工查找时,是从第一个元素开始查找,用当前元素与下一个元素比较,将较大者作为当前元素又与下一元素比较,如此循环,直到数组末尾。41.根据下列条件使用等价类划分法设计测试用例
40.请使用 PAD 图和 PDL 语言描述在数组 A(1)~A(10)中找最大数的算法。 解: PDL 语言: N=1 WHILE N<=10 DO IF A(N)<=A(N+1) MAX =A(N+1); ELSE MAX =A(N) ENDIF; N=N+1; ENDWHILE; PAD 图: [解析]人工查找时,是从第一个元素开始查找,用当前元素与下一个元素比较,将较大者作为当前元素又与下一元素比较,如此循环,直到数组末 尾。 41.根据下列条件使用等价类划分法设计测试用例
某一8位微机,其八进制常数定义为:以零开头的数是八进制整数,其值的范围是-177~177,如05,0127,-065解:(1)划分等价类并编号,如下表示:(4分)八进制整型常量输入条件的等价类表输入数据合理等价类不合理等价类3.以非0非-打头的串4.0打头含有非数字字符的串5.以-0打头含有非数字字符的串1.2-4位以0打头的数字串6.多于5个字符八进制整数2.以-0打头的3~5位数串7.-后非0的多位串8,-后有非数字字符9.-后多于4个数字11.小于-177八进制数范围围10,在-173~177之间12.大于177(2)为合理等价类设计测试用例,表中有两个合理等价类,设计两个例子(2分)测试数据期望结果覆盖范围0231,10显示有效输入显示有效输入-01562,10(3)为不合理等价类测试用例,至少设计一个测试用例(2分)测试数据期望结果覆盖范围3102显示无效输入4DA12显示无效输入5-0x33显示无效输入6-02212显示无效输入7显示无效输入-1A1显示无效输入8-12a49-2771显示无效输入11-0200显示无效输入022312显示无效输入[解析]等价类划分属于黑盒测试的一种,它将输入数据域按有效的或无效的划分成若干个等价类,测试每个等价类的代表值就等于对该类其他值的测试,这样用少量有代表性的例子代替大量测试目的相同的例子,可以有效提高测试效率。本题划分了3个合理等价类,9个不合理等价类进行测试,取到了预期的效果。42.某电器集团公司下属的厂包括技术科、生产科等基层单位。现在想建立一个计算机辅助企业管理系统,其中生产科的任务是:(1)根据销售公司转来的内部合同(产品型号、规格、数量、交获日期)制定车间月生产计划。(2)根据车间实际生产日报表、周报表调整月生产计划(3)以月生产计划为以及,制定产品设计(结构、工艺)及产品组装月计划
某一 8 位微机,其八进制常数定义为:以零开头的数是八进制整数,其值的范围是-177~177,如 05,0127,-065 解:(1)划分等价类并编号,如下表示:(4 分) (2)为合理等价类设计测试用例,表中有两个合理等价类,设计两个例子(2 分) (3)为不合理等价类测试用例,至少设计一个测试用例(2 分) [解析]等价类划分属于黑盒测试的一种,它将输入数据域按有效的或无效的划分成若干个等价类,测试每个等价类的代表值就等于对该类其他值的 测试,这样用少量有代表性的例子代替大量测试目的相同的例子,可以有效提高测试效率。本题划分了3 个合理等价类,9 个不合理等价类进行测 试,取到了预期的效果。 42.某电器集团公司下属的厂包括技术科、生产科等基层单位。现在想建立一个计算机辅助企业管理系统,其中: 生产科的任务是: (1)根据销售公司转来的内部合同(产品型号、规格、数量、交获日期)制定车间月生产计划。 (2)根据车间实际生产日报表、周报表调整月生产计划 (3)以月生产计划为以及,制定产品设计(结构、工艺)及产品组装月计划
(4)将产品的组装计划传达到各科,将组装月计划分解为周计划下达给车间技术科的任务是:(1)根据生产科转来的组装计划进行产品结构设计,产生产品装配图给生产科,产生外购需求计划给供应科,并产生产品自制物料清单。(2)根据组装计划进行产品工艺设计,根据产品自制物料清单产生工艺流程图给零件厂。试写出以上系统中生产科和技术科处理的软件结构图。解:生产科任务处理制定月生产计划调整月生制定结构、工艺分解组装周产计划设计与组装月计计划制定产生周计输入内部合同读入实际划牛产报表产生组装计划输入装配图技术科任务处理设计产品工输入组装计划设计产品艺结构产生工艺产品外购产生装配流程图图需求计划画出生产科图的给6分,画出技术科的给4分。【解析1软件结构图是软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制层次体系,软件结构往往用树状或网状结构的图形来表示,其主要内容有模块及模块的控制关系,根据题意,可绘制出生产科和技术科的软件结构图,其中生产科的结构图深度和宽度均为4,技术科的结构图的深度和宽度均为3
(4)将产品的组装计划传达到各科,将组装月计划分解为周计划,下达给车间 技术科的任务是: (1)根据生产科转来的组装计划进行产品结构设计,产生产品装配图给生产科,产生外购需求计划给供应科,并产生产品自制物料清单。 (2)根据组装计划进行产品工艺设计,根据产品自制物料清单产生工艺流程图给零件厂。 试写出以上系统中生产科和技术科处理的软件结 构图。 解: 画出生产科图的给 6 分,画出技术科的给 4 分。 [解析]软件结构图是软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制层次体系, 软件结构往往用树状或网状结构的图形来表示,其主要内容有模块及模块的控制关系,根据题意,可绘制 出生产科和技术科的软件结构图,其中生产科的结构图深度和宽度均为 4,技术科的结构图的深度和宽度 均为 3