a、软件系统中所有的信息流都可以认为是事务流
b、软件系统中所有的信息流都可以认为是变换流
c、事务分析和变换分析的设计步骤是基本相似的
A、a B、b C、c D、b和c
C.软件开发工具和软件开发的环境 D、 开发人员的素质
C.证明软件系统中存在错误 D.尽可能多的发现软件系统中的错误
A、程序的内部逻辑 B、程序的复杂程度
C、该软件的编辑人员 D、程序的功能
C、中级程序设计语言 D、低级程序设计语言
三.程序设计与算法描述题(共15分)
START
IF C1
THEN
WHILE C2 DO
f
ENDDO
ELSE
BLOCK
g
p
ENDBLOCK
ENDIF
REPEAT UNTIL C3
q
r
ENDREP
STOP
START
INPUT (M,N)
IF M>=10
THEN X=10
ELSE X=l
ENDIF
IF N>=20
THEN Y=20
ELSE Y=2
ENDIF
PRINT(X,Y)
STOP
设计该程序的语句覆盖和路径覆盖测试用例。(7分)
设计该程序的语句覆盖和路径覆盖测试用例。
1.M=9(或 2.M=l0(或>=10),N=20(或>=20) 路径覆盖的测试用例为 一、单项选择题 1、在结构化设计(SD)方法中全面指导模块划分的最重要的原则是( D ) 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、只有单重继承的类层次结构是( C )层次结构。 A、网状型 B、星型 C、树型 D、环型 8、下列属于维护阶段的文档是( C ) A、软件规格说明 B、用户操作手册 C、软件问题报告 D、软件测试分析报告 9、不适合作为科学工程计算的语言是( D ) A、Pascal B、 C C、Fortran D、 Prolog 10、研究开发所需要的成本和资源是属于可行性研究中的( B )研究的一方面。 A. 技术可行性 B. 经济可行性 C. 社会可行性 D. 法律可行性 11、中级结构性成本模型COCOMO是一个( A ) A、静态单变量模型 B、动态单变量模型 C、静态多变量模型 D、动态多变量模型 12、PAD图为( B )提供了有力的工具。 A、系统分析 B、软件的自动化生成 C、自动分析数据 D、测试软件 13、下列关于JSP方法不正确的说法是( B ) A、JSP方法主要用于规模不大的数据处理系统 B、JSP方法不明确的划分软件概要设计和详细设计的两个阶段 C、JSP方法适用于输入数据和输出数据之间有对应关系的问题求解 D、JSP方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。因此它只适用于详细设计阶段 14、在详细设计阶段,经常采用的工具有( A ) A、PAD B、SA C、SC D、DFD 15、确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于( C ) A、集成测试 B、恢复测试 C、验收测试 D、单元测试 16、盒图(N-S图)为( B )提供了有力的工具。 A、系统分析 B、软件的自动化生成 C、自动分析数据 D、测试软件 17、(D )是比较理想的可重用软构件。 A.子程序库 B.源代码包含文件 C.对象 D.类 18、需求分析阶段的任务是确定( D ) A、软件开发方法 B、软件开发工具 C、软件开发费 D、软件系统的功能 19、下列文档与维护人员有关的有( C ) A、软件需求说明书 B、项目开发计划 C、概要设计说明书 D、操作手册 20、程序的三种基本控制结构是( B ) A、过程、子程序和分程序 B、顺序、选择和重复 C、递归、堆栈和队列 D、调用、返回和转移 21、软件生存周期中时间最长的是( D )阶段。 A、总体设计 B、需求分析 C、软件测试 D、软件维护 22、为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,所以( C )的编制是很重要的。 A、需求说明 B、概要说明 C、软件文档 D、测试计划 23、软件部件的内部实现与外部可访问性的分离,是指软件的( C )。 A、继承性 B、共享性 C、封装性 D、抽象性 24、单元测试是发现编码错误,集成测试是发现模块的接口错误,确认测试是为了发现功能错误,那么系统测试是为了发现( C )的错误。 A、接口错误 B、编码错误 C、性能、质量不合要求 D、功能错误 25、软件工程管理对软件项目的开发管理,即对整个软件( B )的一切活动的管理。 A、软件项目 B、生存期 C、软件开发计划 D、软件开发 一、单项选择题 1、瀑布模型本质上是一种( C) A、线性顺序模型 B、顺序迭代模型 C、线性迭代模型 D、及早见产品模型 2、使用程序设计的控制结构导出测试用例的测试方法是( B ) A、黑盒测试 B、白盒测试 C、边界测试 D、系统测试 3、软件结构图的形态特征能反映程序重用率的是( C ) A、深度 B、宽度 C、扇入 D、扇出 4、软件结构图中,模块框之间若有直线连接,表示它们之间存在( A ) A、调用关系 B、组成关系 C、链接关系 D、顺序执行关系 5、需求分析最终结果是产生( B ) A、项目开发计划 B、需求规格说明书 C、设计说明书 D、可行性分析报告 6、快速原型模型的主要特点之一是( D ) A、开发完毕才见到产品 B、及早提供全部完整的软件产品 C、开发完毕后才见到工作软件 D、及早提供工作软件 7、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( C ) A、条件覆盖法 B、等价分类法 C、边界值分析法 D、错误推测法 8、软件详细设计主要采用的方法是( C ) A、模块设计 B、结构化设计 C、PDL语言 D、结构化程序设计 9、开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( B ) A. 软件工程 B. 软件周期 C. 软件危机 D. 软件产生 10、按软件生命周期方法设计软件的过程中,画数据流图属于下面哪个阶段的工作( C) A、需求分析 B、概要设计 C、详细设计 D、软件维护 11、在快速原型模型的开发过程中,仅作为需求说明的补充形式的原型是( A ) A、探索型模型 B、演化型模型 C、实验型模型 D、提交型模型 12、程序设计语言的工程特性之一为(C ) A、软件的可重用性 B、数据结构的描述性 C、抽象类型的描述性 D、数据库的易操作性 13、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( A ) A.可用性 B.可靠性 C.正确性 D.完整性 14、模块设计中,最不希望的内聚是(C ) A、功能内聚 B、通信内聚 C、过程内聚 D、偶然内聚 15、实施快速原型模型方法开发软件的关键在于(D ) A、CASE工具的支持 B、如何开发演化型模型 C、项目主管的支持D、开发人员的素质 16、程序流程图(框图)中的箭头代表( A )。 A.数据流 B.控制流 C.调用关系 D.组成关系 17、一个只有顺序结构的程序,其环形复杂度是(B )。 A.0 B.1 C.3 D.不确定的 18、可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据, 因此必须给出什么样的回答。( B ) A.确定 B.行或不行 C.正确 D.无二义 19、结构化程序设计主要强调的是( D ) A、程序的规模 B、程序的效率 C、程序设计语言的先进性 D、程序易读性 20、对象实现了数据和操作的结合, 使数据和操作( C )于对象的统一体中。 A、结合 B、隐藏 C、封装 D、抽象 21、软件概要设计结束后得到(B ) A、初始化的软件结构图 B、优化后的软件结构图 C、模块的接口图和详细算法 D、程序编码 22、软件需求是度量软件质量的基础,不符合需求的软件就不具备(B ) A、软件的特点 B、质量 C、软件产品 D、功能 23、软件特性中,程序能够满足规格说明和完成用户业务目标的程度,称作( A ) A、正确性 B、移植性 C、可靠性 D、完整性 24、为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,所以( C )的编制是很重要的。 A、需求说明 B、概要说明 C、软件文档 D、测试计划 25、系统因错误而发生故障时,仍然能在一定程度上完成预期的功能,则把该软件称为( A )。 A、软件容错 B、系统软件 C、测试软件 D、恢复测试 一、选择题 1.软件产品的开发主要是( D )。 A.复制 B.再生产 C.拷贝 D.研制 2.作坊式小团体合作生产方式的时代是( C )时代。 A.程序设计 B.软件生产自动化 C.程序系统 D.软件工程 3.软件工程与计算机科学性质不同,软件工程着重于( C )。 A.理论研究 B.原理探讨 C.建造软件系统 D.原理的理论 4.将每个模块的控制结构转换成计算机可接受的程序代码是( A )阶段的任务。 A.编码 B.需求分析 C.详细设计 D.测试 5.可行性研究的目的是决定( B )。 A.开发项目 B.项目值得开发否 C.规划项目 D.维护项目 6.SA方法用DFD描述( D ) 。 A.系统的控制流程 B.系统的数据结构 C.系统的基本加工 D.系统的功能 7.软件概要设计结束后得到( B )。 A.初始化的软件结构图 B.优化后的软件结构图 C.模块详细的算法 D.程序编码 8.软件设计阶段一般又可分为 ( B )。 A.逻辑设计与功能设计 B.概要设计与详细设计 C.概念设计与物理设计 D.模型设计与程序设计 9.软件设计中划分模块的一个准则是( C )。 A.低内聚低耦合 B.低内聚高耦合 C.高内聚低耦合 D.高内聚高耦合 10.PDL是软件开发过程中用于( C )阶段的描述工具。 A.需求分析 B.概要设计 C.详细设计 D.编程 A.试验性运行软件 B.发现软件错误 C.证明软件正确 D.找出软件中全部错误 12.软件测试中,白盒法是通过分析程序的( B )来设计测试用例的。 A.应用范围 B.内部逻辑 C.功能 D.输入数据 13.黑盒法是根据程序的( C )来设计测试用例的。 A.应用范围 B.内部逻辑 C.功能 D.输入数据 14.下面的逻辑测试覆盖中,测试覆盖最弱的是( C ) A.条件覆盖 B.条件组合覆盖 C.语句覆盖 D.条件及判定覆盖 15.把一组具有相似特性的对象组合在一起,称之为( C )。 A、多态性 B、继承性 C、类 D、消息 16.面向对象的主要特征除对象唯一性、封装、继承外,还有( A ) A、多态性 B、完整性 C、可移植性 D、兼容 17.软件生存周期中时间最长的是( D )阶段。 A.需求分析 B.概要设计 C.测试 D.维护 18.与计算机科学的理论研究不同,软件工程是一门( C )学科。 A.理论性 B.原理性 C.工程性 D.心理性 19.从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大( C )。 A、详细设计阶段 B、概要设计阶段 C、 需求分析阶段 D、 测试和运行阶段 20.软件工程的出现主要是由于( C )。 A.程序设计方法学的影响 B.其它工程科学的影响 C. 软件危机的出现 D.计算机的发展 21.在软件工程项目中,不随参与人数的增加而使软件的生产率增加的主要问题是( D ) A、 工作阶段间的等待时间 B、 生产原型的复杂性 C、 参与人员所需的工作站数 D、 参与人员之间的通信困难 22. SA方法的基本思想是( C ) A.自底向上逐步抽象 B.自底向上逐步分解 C.自顶向下逐步分解 D.自顶向下逐步抽象 23.软件结构图中,模块框之间若有直线连接,表示它们之间存在着( A )关系。 A.调用 B.组成 C.链接 D.顺序执行 具有如下哪种特点( C ) A、 运行效率低,开发效率低 B、 运行效率低,开发效率高 C、 运行效率高,开发效率低 D、 运行效率高,开发效率高 25.为了提高软件测试的效率,应该( D )。 A.随机地选取测试数据 B.取一切可能的输入数据作为测试数据 C.在完成编码以后制定软件的测试计划 D.选择发现错误可能性较大的数据作为测试用例 26. 与设计测试用例无关的文档是( A )。 A.项目开发计划 B.需求规格说明书 C.设计说明书 D.源程序 27. 使用白盒测试方法时确定测试数据应根据( A )和指定的覆盖标准。 A.程序的内部逻辑 B.程序的复杂程度 C.使用说明书 D.程序的功能 28. 软件部件的内部实现与外部可访问性的分离,是指软件的( C )。 A.继承性 B.共享性 C.封装性 D.抽象性 29.一个面向对象系统的体系结构通过它的成分对象和对象间的关系确定,与传统的面向数据流的结构化开发方法相比,它具有的优点是( A ) . A、设计稳定 B、变换分析 C、事务分析 D、模块独立性 30. 软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( C ) A、 硬件环境 B、软件开发的环境 C、软件开发工具和软件开发的环境 D、 开发人员的素质 31.软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为( A ) A、 瀑布模型 B、 对象模型 C、 螺旋模型 D、 层次模型 32. 对于分层的DFD,父图与子图的平衡指子图的输入、输出数据流同父图相应加工的输入、输出数据流( A )。 A.必须一致 B.数目必须相等 C.名字必须相同 D.数目必须不等 33. 软件需求分析阶段的工作,可以分为四个方面:对问题的识别.分析与综合.编写需求分析文档以及( B ) A. 软件的总结 B. 需求分析评审 C. 阶段性报告 D. 以上答案都不正确 34.在结构化分析方法中,用以表达系统内数据的运动情况的工具有( B ) A. 数据流图 B. 数据字典 C. 结构化语言 D. 判定表与判定树 35. 为了提高模块的独立性,模块内部最好是( C )。 A.逻辑内聚 B.时间内聚 C.功能内聚 D.通信内聚 37.数据流图是常用的进行软件需求分析的图形工具,其基本图形符号是( C ) A. 输入.输出.外部实体和加工 B. 变换.加工.数据流和存储 C. 加工.数据流.数据存储和外部实体 D. 变换.数据存储.加工和数据流 38. 软件结构使用的图形工具,一般采用( C )图。 A.DFD B.PAD C.SC D.ER 39. 在面向数据流的软件设计方法中,一般将信息流分为( A ) A、 变换流和事务流 B、 变换流和控制流 C、 事务流和控制流 D、 数据流和控制流 40. 程序的三种基本控制结构是( B )。 A.过程、子程序和分程序 B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移 41. 白盒测试方法重视( A )的度量。 A.测试覆盖率 B.测试数据多少 C.测试费用 D.测试周期 42. 软件的集成测试工作最好由( D )承担,以提高集成测试的效果。 A.该软件的设计人员 B.该软件开发组的负责人 C.该软件的编程人员 D.不属于该软件开发组的软件设计人员 43. 软件生命周期的最后的一个阶段是( B ) A.书写软件文档 B.软件维护 C.稳定性测试 D.书写详细用户说明 44. 每个对象可用它自己的一组属性和它可以执行的一组( C )来表征。 A、行为 B、功能 C、操作 D、数据 45. 软件重用的单位是( A )。 A.软件模块 B.性能 C.系统 D.功能 46、下列不属于软件工程方法学三要素的是( D ): A、方法 B、工具 C、过程 D、操作 47、软件开发中大约要付出( C )%的工作量进行测试和排错。 A.20 B.30 C.40 D.50 48、系统分析员是( B ) A、用户中系统的直接使用者 B、用户和软件人员的中间人 C、软件的编程人员 D、用户和软件人员的领导 49、结构化分析SA方法以数据流图、( D )和加工说明等描述工具,即用直观的图和简洁的语言来描述软系统模型。 A、DFD图 B、PAD图 C、IPO图 D、数据字典 50、制定软件计划的目的在于尽早对欲开发的软件进行合理估价,软件计划的任务是( D ) A、 组织与管理 B、 分析与估算 C、 设计与测试 D、 规划与调度 51、结构设计是一种应用最广泛的系统设计方法,是以( A )为基础、自顶向下、逐步求精和模块化的过程。 A、数据流 B、数据流图 C、数据库 D、数据结构 52、如果某种内聚要求一个模块中包含的任务必须在同一段时间内执行,则这种内聚为( A )。 A、时间内聚 B、逻辑内聚 C、通信内聚 D、信息内聚 53.在软件结构化设计中,好的软件结构设计应该力求做到( B )。 A、顶层扇出较少,中间层扇出较高,底层模块低扇入 B、顶层扇出较高,中间层扇出较少,底层模块高扇入 C、顶层扇入较少,中间层扇出较高,底层模块高扇入 D、顶层扇入较少,中间层扇入较高,底层模块低扇入 54、程序的三种基本控制结构是( B ) A、过程、子程序和分程序 B、顺序、选择和循环 C、递归、堆栈和队列 D、调用、返回和转移 55、软件测试的手段有多种,通过人工来评审文档或程序,借以发现其中错误,该手段是( D )。 A、黑盒测试 B、正确性测试 C、动态测试 D、静态测试 56、黑盒测试在设计测试用例时,主要需要研究( A ) 。 A、需求规格说明与概要设计说明 B、详细设计说明 C、项目开发计划 D、概要设计说明与详细设计说明 57、在整个软件维护阶段所花费的全部工作中,( C ) 所占比例最大。 A、改正性维护 B、适应性维护 C、完善性维护 D、预防性维护 58.作坊式小团体合作生产方式的时代是( C )时代。 A.程序设计 B.软件生产自动化 C.程序系统 D.软件工程 59.在结构化分析方法中,用以表达系统内数据的运动情况的工具有( A )。 A. 数据流图 B. 数据词典 C. 结构化语言 D. 判定表与判定树 60.SA方法的分析步骤是首先调查了解当前系统的工作流程,然后( A )。 A.获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型 B.获得当前系统的物理模型,抽象出目标系统的逻辑模型,建立目标系统的物理模型 C.获得当前系统的物理模型,建立当前系统的物理模型,抽象出目标系统的逻辑模型 D.获得当前系统的物理模型,建立当前系统的物理模型,建立目标系统的物理模型 61.模块的独立性是由内聚性和耦合性来度量的,其中内聚性是( B ) A、 模块间的联系程度 B、 模块的功能强度 C、 信息隐蔽程度 D、 接口的复杂程度 62、PAD图的控制执行流程为( C ) A、自下而下、从左到右 B、自上而下、循环执行 C、自上而下、从左到右 D、都不对 63. 在软件工程中,白盒测试方法可用于测试程序的内部结构。此方法将程序可作为( A ) A.路径的集合 B.循环的集合 C.目标的集合 D.地址的集合 64、软件维护工作的最主要部分是( C ) A.校正性维护 B.适应性维护 C.完善性维护 D.预防性维 65.结构分析方法就是面向( D)自顶向下逐步求精进行需求分析的方法。 A.目标 B.功能 C. 对象 D.数据流 66. 软件是一种( B )产品。 A.物质 B.逻辑 C.有形 D.消耗 67. 结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的( B ) A、控制流 B、数据流 C、程序流 D、指令流 68. 在软件的可行性研究中,可以从不同的角度对软件的可行性进行研究,其中是从软件的功能可行性角度考虑的是( B ) A、 经济可行性 B、技术可行性 C、 操作可行性 D、 法律可行性 69.软件设计的主要任务是设计软件的结构、过程和模块,其中软件结构设计的主要任务是要确定( C )。 A.模块间的操作细节 B.模块间的相似性 C.模块间的组成关系 D.模块的具体功能 70、下述任务中,不属于软件工程需求分析阶段的是( D ) 。 A.分析软件系统的数据要求 B.确定软件系统的功能需求 C.确定软件系统的性能要求 D.确定软件系统的运行平台 71.为了提高模块的独立性,模块内部最好是( C )。 A.逻辑内聚 B.时间内聚 C.功能内聚 D.通信内聚 72. PDL是软件开发过程中用于( C )阶段的描述工具。 A.需求分析 B.概要设计 C.详细设计 D.编程 73.在软件测试中,逻辑覆盖标准主要用于( B ) A.黑箱测试方法 B.白盒测试方法 C.灰箱测试方法 D.软件验收方法 74.火车是一种陆上交通工具,火车和陆上交通工具之间的关系是( D )关系。 A.组装 B.整体成员 C.关联 D.一般特殊 75、面向对象方法中动态模型的描述工具是( C )。 A.对象图 B.结构图 C.状态图 D.设计图 76.数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺序是( B ) A.数据、公共、标记、控制 B.数据、标记、控制、公共 C.控制、数据、标记、公共 D.控制、数据、公共、标记 77.在SD方法中全面指导模块划分的最重要的原则是( D ) A.程序模块化 B.模块高内聚 C.模块低耦合 D.模块独立性 78. 需求分析最终结果是产生( B )。 A. 项目开发计划 B. 需求规格说明书 C. 设计说明书 D. 可行性分析报告 79. 软件详细设计的主要任务是确定每个模块的( C )。 A. 功能 B. 外部接口 C. 算法和使用的数据结构 D. 编程 80. 对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。 A. 结合 B. 隐藏 C. 封装 D. 抽象 81.指出PDL是下列哪种语言( A )。 A.伪码 B、高级程序设计语言 C. 中级程序设计语言 D、 低级程序设计语言 82.为了提高软件的可维护性,在编码阶段应注意( D ) A.保存测试用例和数据 B.提高模块的独立性 C.文档的副作用 D.养成好的程序设计风格 二、填空题 1、软件是 数据结构 、 计算机程序 及其说明程序的 各种文档 。 2、概要设计主要是把各项 功能需求 转换成系统的 体系结构 。 3、面向对象开发方法包括 OOA 、OOD 、 OOP 、OOT四部分。 4、结构化设计中以数据流图为基础的两种具体分析设计方法是 变换分析 、 事物分析 设计。 5、子类自动共享父类的 属性 和 操作 的机制称为继承。 6. 软件工程管理的具体内容包括对开发人员、组织机构、 用户 、 文档资料 等方面的管理。 7、可行性研究的三个方面是 技术可行性 、 社会可行性 和__经济可行性__。 8、在画分层的DFD时,父图与子图的输入输出数据流要__平衡__。 9、在详细设计阶段,除了对模块内的算法进行设计,还应对模块内的__数据结构_进行设计。 10. 对象的抽象是___类___。 11. 软件工程包括软件开发技术和__软件工程管理__两大部分内容。 12、子类只继承一个父类的属性和操作,这称为__单重继承__。 13、需求分析阶段产生的最重要的文档是__需求规格说明书_。 14、两个模块都使用同一张表,模块的这种耦合称为___公共耦合__。 15、被测试程序不在机器上运行,而是采用人工检测和计算机辅助分析检测的手段称为_静态_测试。 16、结构化方法是一种面向数据流的开发方法。由结构化分析、_结构化方法_、结构化程序设计构成。 17、 对象之间通过_消息_进行通信。 18、概要设计主要是把各项功能需求转换成系统的__体系结构__。 19、类具有操作,它是对象__行为 _的抽象。 20、集成测试中的具体方法是___渐增式 和 非渐增式___测试方法。 21、结构化分析方法的分析策略是__自顶向下逐步求精__。 22、可行性研究实质上是要在较高层次上以较抽象的方式进行___需求分析和设计__的过程。 23、衡量模块独立性的两个定性标准是__耦合性与内聚性___。 24、继承性是子类自动共享其父类的__数据结构和方法__机制。 25、在面向对象方法中,人们常用状态图描述类中对象的_动态行为_。 26、规定功能的软件,在一定程度上能从错误状态自动恢复到正常状态,则称该软件为___容错__软件。 27.软件工程包括3个要素,即方法、工具、过程。 28.软件生存周期是指一个软件从提出开发要求开始直到该软件报废不止的整个时期。通常,软件生存周期包括问题定义、可行性研究,需求分析,总体设计, 详细设计 ,_编码_,测试,维护活动,可以将这些活动以适当方式分配到不同阶段去完成 29.数据流图中的箭头表示__数据流__。软件结构图中的箭头方向表示___模块调用__。 30.___可行性研究___的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。 31.数据流图仅反映系统必须完成的逻辑功能,所以它是一种__功能_模型。 32. 面向对象方法学 = 对象+ 类 + 继承 +消息传送。 33. 软件概要设计的主要任务就是_怎么做_。 34. 软件的生产经历了程序设计、程序系统和 软件工程3 个阶段。 35. 软件工程的结构化生命周期方法中,一般将软件设计阶段划分为概要设计和详细设计两个阶段。 36. 软件的详细设计可采用图形、表格和过程设计语言3种形式的描述工具表示模块的处理过程。 37. 需求分析阶段的任务是确定软件系统需要解决的问题。 38. 程序是按既定算法,用某种计算机语言所规定的指令和语言编写的一系列指令或语言的集合。软件是程序再加上程序实现所需的数据和维护程序所需的文挡的总称。 39. 由于软件生产的复杂性和高成本,使大型软件生产出现了很多问题,即出现软件危机;软件工程正是为了克服它而提出了一种概念及相关方法和技术。 40. 数据流图包括4种基本符号:园框代表变换/加工,方框代表外部实体,箭头代表数据流,双杠代表数据存储。 41. 内聚是从功能的角度来度量模块内的联系,耦合是度量模块之间联系的程度。 42. 软件结构中各模块之间相互连接关系的一种度量常称为模块的耦合。 43. 软件测试分为单元测试、集成测试、确认测试、系统测试4个阶段。 一、选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内,每小题1分) 1.软件产品的开发主要是( D )。 A.复制 B.再生产 C.拷贝 D.研制 2.作坊式小团体合作生产方式的时代是( C )时代。 A.程序设计 B.软件生产自动化 C.程序系统 D.软件工程 3.软件工程与计算机科学性质不同,软件工程着重于( C )。 A.理论研究 B.原理探讨 C.建造软件系统 D.原理的理论 4.将每个模块的控制结构转换成计算机可接受的程序代码是( A )阶段的任务。 A.编码 B.需求分析 C.详细设计 D.测试 5.可行性研究的目的是决定( B )。 A.开发项目 B.项目值得开发否 C.规划项目 D.维护项目 6.SA方法用DFD描述( D ) 。 A.系统的控制流程 B.系统的数据结构 C.系统的基本加工 D.系统的功能 7.进行需求分析可使用多种工具,但( C )是不适用的。 A. 数据流图(DFD) B. 判定表 C. PAD图 D. 数据字典 8.结构化分析(SA)方法将欲开发的软件系统分解为若干基本加工,并对加工进行说明,下述是常用的说明工具,其中便于对加工出现的组合条件的说明工具是( A )。a.结构化语言;b.判定树;c.判定表。 A. b和c B. a,b和c C. a和c D. a和b 9.软件概要设计结束后得到( B )。 A.初始化的软件结构图 B.优化后的软件结构图 C.模块详细的算法 D.程序编码 10.软件设计阶段一般又可分为 ( B )。 A.逻辑设计与功能设计 B.概要设计与详细设计 C.概念设计与物理设计 D.模型设计与程序设计 11.软件设计中划分模块的一个准则是( C )。 A.低内聚低耦合 B.低内聚高耦合 C.高内聚低耦合 D.高内聚高耦合 12.PDL是软件开发过程中用于( C )阶段的描述工具。 A.需求分析 B.概要设计 C.详细设计 D.编程 13.下列语言中哪个语言是低级语言( D ) A. PASCAL B.VISUAL BASIC C. C++ D.汇编语言 14.软件测试的目的是( B )。 A.试验性运行软件 B.发现软件错误 C.证明软件正确 D.找出软件中全部错误 15.软件测试中,白盒法是通过分析程序的( B )来设计测试用例的。 A.应用范围 B.内部逻辑 C.功能 D.输入数据 16.黑盒法是根据程序的( C )来设计测试用例的。 A.应用范围 B.内部逻辑 C.功能 D.输入数据 17.下面的逻辑测试覆盖中,测试覆盖最弱的是( C ) A.条件覆盖 B.条件组合覆盖 C.语句覆盖 D.条件及判定覆盖 18.把一组具有相似特性的对象组合在一起,称之为( C )。 A、多态性 B、继承性 C、类 D、消息 19.面向对象的主要特征除对象唯一性、封装、继承外,还有( A ) A、多态性 B、完整性 C、可移植性 D、兼容 20.下列模型属于成本估算方法的有( A ) A、COCOMO模型 B、McCall模型 C、McCabe度量法 D、时间估算法 21.软件生存周期中时间最长的是( D )阶段。 A.需求分析 B.概要设计 C.测试 D.维护 22.与计算机科学的理论研究不同,软件工程是一门( C )学科。 A.理论性 B.原理性 C.工程性 D.心理性 23.从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大( C )。 A、详细设计阶段 B、概要设计阶段 C、 需求分析阶段 D、 测试和运行阶段 24. 程序的三种基本控制结构的共同特点是( D )。 A.不能嵌套使用 B.只能用来写简单程序 C.已经用硬件实现 D.只有一个入口和一个出口 25.软件工程的出现主要是由于( C )。 A.程序设计方法学的影响 B.其它工程科学的影响 C. 软件危机的出现 D.计算机的发展 26.在软件工程项目中,不随参与人数的增加而使软件的生产率增加的主要问题是( D ) A、 工作阶段间的等待时间 B、 生产原型的复杂性 C、 参与人员所需的工作站数 D、 参与人员之间的通信困难 27. SA方法的基本思想是( C ) A.自底向上逐步抽象 B.自底向上逐步分解 C.自顶向下逐步分解 D.自顶向下逐步抽象 28.判定表和判定树是数据流图中用以描述加工的工具,它常描述的对象是( D ) A. 逻辑判断 B. 层次分解 C. 操作条目 D. 组合条件 29.软件需求说明书是软件需求分析阶段的重要文件,下述哪个(些)是其应包含的内容( D ) a.数据描述 b.功能描述 c.模块描述 d.性能描述 A. b B. c和d C. a,b和c D. a,b和d 30.软件结构图中,模块框之间若有直线连接,表示它们之间存在着( A )关系。 A.调用 B.组成 C.链接 D.顺序执行 31.软件设计中一般将用到图形工具,下列哪种(些)可用作设计的图形工具( C ) a.结构图 b.实体联系图 c.IPO图 d.层次图 A、 a和b B、 c和d C、 a,c,d D、 全部 32. 程序设计语言一般简单来说,可划分为低级语言和高级语言两大类,与高级语言相比,用低级语言开发的程序,具有如下哪种特点( C ) A、 运行效率低,开发效率低 B、 运行效率低,开发效率高 C、 运行效率高,开发效率低 D、 运行效率高,开发效率高 33. 下面的叙述哪些是正确的( C ) (1)在软件开发过程中,编程作业的代价最高。 (2)良好的程序设计风格应以缩小程序占用的存储空间和提高程序的运行速度为原则。 (3)为了提高程序的运行速度,有时采用以存储空间换取运行速度的方法。 (4)对同一算法,用高级语言编写的程序比用低级语言编写的程序运行速度快。 (5)COBOL是一种非过程型语言。 (6)LISP是一种逻辑型程序设计语言。 A、 (1)、(3)、(5) B、 (2)、(3)、(4) C、 (3) D、 (4)、(6) 34、为了提高软件测试的效率,应该( D )。 A.随机地选取测试数据 B.取一切可能的输入数据作为测试数据 C.在完成编码以后制定软件的测试计划 D.选择发现错误可能性较大的数据作为测试用例 35. 与设计测试用例无关的文档是( A )。 A.项目开发计划 B.需求规格说明书 C.设计说明书 D.源程序 36. 使用白箱测试方法时确定测试数据应根据( A )和指定的覆盖标准。 A.程序的内部逻辑 B.程序的复杂程度 C.使用说明书 D.程序的功能 37. 软件部件的内部实现与外部可访问性的分离,是指软件的( C )。 A.继承性 B.共享性 C.封装性 D.抽象性 38、一个面向对象系统的体系结构通过它的成分对象和对象间的关系确定,与传统的面向数据流的结构化开发方法相比,它具有的优点是( A ) . A、设计稳定 B、变换分析 C、事务分析 D、模块独立性 39、软件管理的主要职能包括( D ) A.人员管理、计划管理 B.标准化管理、配置管理 C.成本管理、进度管理 D.(A)和(B) 40、任何项目都必须精心做好项目管理工作,最常用的计划管理工具是( D ) A.数据流程图 B.程序结构图 C.因果图 D.PERT图 41. 软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( C ) A、 硬件环境 B、软件开发的环境 C、软件开发工具和软件开发的环境 D、 开发人员的素质 42. 在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高( B ) A、结构化方法 B、原型化方法 C、面向对象的方法 D、控制流方法 43. 软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为( A ) A、 瀑布模型 B、 对象模型 C、 螺旋模型 D、 层次模型 44. 对于分层的DFD,父图与子图的平衡指子图的输入、输出数据流同父图相应加工的输入、输出数据流( A )。 A.必须一致 B.数目必须相等 C.名字必须相同 D.数目必须不等 45. 软件需求分析阶段的工作,可以分为四个方面:对问题的识别.分析与综合.编写需求分析文档以及( B ) A. 软件的总结 B. 需求分析评审 C. 阶段性报告 D. 以上答案都不正确 46.在结构化分析方法中,用以表达系统内数据的运动情况的工具有( B ) A. 数据流图 B. 数据字典 C. 结构化语言 D. 判定表与判定树 47. 为了提高模块的独立性,模块内部最好是( C )。 A.逻辑内聚 B.时间内聚 C.功能内聚 D.通信内聚 48. 面向数据流的设计方法把( C )映射成软件结构。 A、数据流 B、模块化 C、控制结构 D、信息流 49. .数据流图是常用的进行软件需求分析的图形工具,其基本图形符号是( C ) A. 输入.输出.外部实体和加工 B. 变换.加工.数据流和存储 C. 加工.数据流.数据存储和外部实体 D. 变换.数据存储.加工和数据流 50. 软件结构使用的图形工具,一般采用( C )图。 A.DFD B.PAD C.SC D.ER 51. 在面向数据流的软件设计方法中,一般将信息流分为( A ) A、 变换流和事务流 B.变换流和控制流 C. 事务流和控制流 D、 数据流和控制流 52. 程序的三种基本控制结构是( B )。 A.过程、子程序和分程序 B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移 53. 白箱测试方法重视( A )的度量。 A.测试覆盖率 B.测试数据多少 C.测试费用 D.测试周期 54、软件的集成测试工作最好由( D )承担,以提高集成测试的效果。 A.该软件的设计人员 B.该软件开发组的负责人 C.该软件的编程人员 D.不属于该软件开发组的软件设计人员 55. 据国家标准GB8566-8计算机软件开发的规定,软件的开发和维护划分为八个阶段,其中组装测试的计划是在( C )阶段完成的? A.可行性研究和计划 B.需求分析 C.概要设计 D.详细设计 56. 软件生命周期的最后的一个阶段是( B ) A.书写软件文档 B.软件维护 C.稳定性测试 D.书写详细用户说明 57. McCall提出了表明软件质量的11个质量特性。它们是正确性、可靠性、可使用性、完整性、( D ) 、可移植性、可复用性、效率、可测试性、互联性。 A.模块独立性、安全性 B.文档完备性、灵活性 C.可维护性、安全性 D.可维护性、灵活性 58、每个对象可用它自己的一组属性和它可以执行的一组( C )来表征。 A、行为 B、功能 C、操作 D、数据 59、面向对象软件技术的许多强有力的功能和突出的优点,都来源于把类组织成一个层次结构的系统,一个类的上层可以由父亲,下层可以有子类,这种层次结构系统的一个重要性质是( B ),一个类获得其父亲的全部描述(数据和操作) A、传递性 B、继承性 C、复用性 D、并行性 60、软件开发在需求分析、设计、编码、测试这几个阶段所需不同层次的技术人员大致是( C ) A.初级、高级、高级、初级 B.中级、中级、高级、中级 C.高级、中高级、初级、中高级 D.中级、中高级、中级、初级 61、软件重用的单位是( A )。 A.软件模块 B.性能 C.系统 D.功能 62、下列不属于软件工程方法学三要素的是( D ): A、方法 B、工具 C、过程 D、操作 63、软件开发中大约要付出( C )%的工作量进行测试和排错。 A.20 B.30 C.40 D.50 64、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为 ( B ) A、 相互排斥 B、 相互补充 C、 独立使用 D、 交替使用 65、系统分析员是( B ) A、用户中系统的直接使用者 B、用户和软件人员的中间人 C、软件的编程人员 D、用户和软件人员的领导 66、结构化分析SA方法以数据流图、( D )和加工说明等描述工具,即用直观的图和简洁的语言来描述软系统模型。 A、DFD图 B、PAD图 C、IPO图 D、数据字典 67、制定软件计划的目的在于尽早对欲开发的软件进行合理估价,软件计划的任务是( D ) A、 组织与管理 B、 分析与估算 C、 设计与测试 D、 规划与调度 68、在E-R 模型中,包含以下基本成分( C )。 A、数据、对象、实体 B、控制、联系、对象 C、实体、联系、属性 D、对象、属性、操作 69、结构设计是一种应用最广泛的系统设计方法,是以( A )为基础、自顶向下、逐步求精和模块化的过程。 A、数据流 B、数据流图 C、数据库 D、数据结构 70、如果某种内聚要求一个模块中包含的任务必须在同一段时间内执行,则这种内聚为( A )。 A、时间内聚 B、逻辑内聚 C、通信内聚 D、信息内聚 71、初步用户手册在( B )阶段编写。 A.可行性研究 B.需求分析 C.软件概要设计 D.软件详细设计 72、在软件结构化设计中,好的软件结构设计应该力求做到( B )。 A、顶层扇出较少,中间层扇出较高,底层模块低扇入 B、顶层扇出较高,中间层扇出较少,底层模块高扇入 C、顶层扇入较少,中间层扇出较高,底层模块高扇入 D、顶层扇入较少,中间层扇入较高,底层模块低扇入 73、结构图(SC)和层次方框图是不同的,前者 ( B )。 A、描述程序的过程特性 B、描述程序的层次特性 C、描述程序的过程特征和层次特征 D、即不描述程序的过程特征,也不描述程序的层次特征 74、软件详细设计主要采用的方法是( D )。 A、模块设计 B、结构化设计 C、PDL语言 D、结构化程序设计 75、程序的三种基本控制结构是( B ) A、过程、子程序和分程序 B、顺序、选择和循环 C、递归、堆栈和队列 D、调用、返回和转移 76、软件设计将涉及软件的构造、过程和模块的设计,其中软件过程是指( B ) A、 模块间的关系 B、 模块的操作细节 C、 软件层次结构 D、 软件开发过程 77、软件测试的手段有多种,通过人工来评审文档或程序,借以发现其中错误,该手段是( D )。 A、黑盒测试 B、正确性测试 C、动态测试 D、静态测试 78、黑盒测试在设计测试用例时,主要需要研究( A ) 。 A、需求规格说明与概要设计说明 B、详细设计说明 C、项目开发计划 D、概要设计说明与详细设计说明 79、在整个软件维护阶段所花费的全部工作中,( C ) 所占比例最大。 A、改正性维护 B、适应性维护 C、完善性维护 D、预防性维护 80、下列哪个改变不属于软件维护中的副作用?( C ) A.修改代码 B.修改数据 C.修改需求分析 D.修改文档 81.作坊式小团体合作生产方式的时代是( C )时代。 A.程序设计 B.软件生产自动化 C.程序系统 D.软件工程 82.软件需求分析阶段的工作,可以分为以下4个方面:对问题的识别、分析与综合、编写需求分析文档以及( C )。 A. 总结 B. 阶段性报告 C. 需求分析评审 D. 以上答案都不正确 83.在结构化分析方法中,用以表达系统内数据的运动情况的工具有( A )。 A. 数据流图 B. 数据词典 C. 结构化语言 D. 判定表与判定树 84.如果一个软件是给许多客户使用的,大多数软件厂商要使用几种测试过程来发现那些可能只有最终用户才能发现的错误,( A )测试是由一个用户在开发者的场所来进行的.测试的目的是寻找错误的原因并改正之。 A. α B. β C. γ D. σ 85.来辅助软件开发、运行、维护、管理、支持等过程中的活动的软件称为软件开发工具,通常也称为( D )工具。 A.CAD B.CAI C.CAM D.CASE 86. 螺旋模型综合了( A )的优点,并增加了风险分析。 A.瀑布模型和演化模型 B.瀑布模型和喷泉模型 C.演化模型和喷泉模型 D.原型和喷泉模型 87.SA方法的分析步骤是首先调查了解当前系统的工作流程,然后( A )。 A.获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型 B.获得当前系统的物理模型,抽象出目标系统的逻辑模型,建立目标系统的物理模型 C.获得当前系统的物理模型,建立当前系统的物理模型,抽象出目标系统的逻辑模型 D.获得当前系统的物理模型,建立当前系统的物理模型,建立目标系统的物理模型 88. 在软件需求规范中,下述哪些要求可以归类为过程要求( A ) A. 执行要求 B. 效率要求 C. 可靠性要求 D. 可移植性要求 89. 数据流图是常用的进行软件需求分析的图形工具,其基本图形符号是( C ) A. 输入.输出.外部实体和加工 B. 变换.加工.数据流和存储 C. 加工.数据流.数据存储和外部实体 D. 变换.数据存储.加工和数据流 90. 设计软件结构一般不确定( C )。 A.模块的功能 B.模块的接口 C.模块内的局部数据 D.模块间的调用关系 91. 模块的独立性是由内聚性和耦合性来度量的,其中内聚性是( B ) A、 模块间的联系程度 B、 模块的功能强度 C、 信息隐蔽程度 D、 接口的复杂程度 92. Jackson方法实现从( A )导出( C )。 A.数据结构 B.数据流图 C.程序结构 D.软件模块层次结构 93.下列语言中哪个语言是低级语言( D ) A、 PASCAL B、 VISUAL BASIC C、 C++ D、 汇编语言 94、PAD图的控制执行流程为( C ) A、自下而下、从左到右 B、自上而下、循环执行 C、自上而下、从左到右 D、都不对 95. 程序设计语言的心理特性在语言中表现不应包括( C )。 A.歧义性 B.简洁性 C.保密性 D.传统性 96. 在软件工程中,白箱测试方法可用于测试程序的内部结构。此方法将程序可作为( A ) A.路径的集合 B.循环的集合 C.目标的集合 D.地址的集合 97.集成测试的主要方法有两个,一个是_____一个是_____ ( B ) A.白箱测试方法、黑箱测试方法 B.渐增式测试方法、非渐增式测试方法 C.等价分类方法、边缘值分析方法 D.因果图方法、错误推测方法 98、软件维护工作的最主要部分是( C ) A.校正性维护 B.适应性维护 C.完善性维护 D.预防性维 99、软件产品质量是生产者和用户都十分关心的问题,质量管理只看到产品的质量,近年来质量管理向( A )发展,重要的基本假设是过程的质量直接影响产品的质量。 A.过程质量的控制 B.过程的改进 C.产品的改进 D.技术的革新 100.结构分析方法就是面向( D)自顶向下逐步求精进行需求分析的方法。 A.目标 B.功能 C. 对象 D.数据流 101. 软件是一种( B )产品。 A.物质 B.逻辑 C.有形 D.消耗 102. 瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和( C )。 A、详细计划 B、可行性分析 C、 运行阶段 D、 测试与排错 103. 结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的( B ) A、控制流 B、数据流 C、程序流 D、指令流 104. 在软件的可行性研究中,可以从不同的角度对软件的可行性进行研究,其中是从软件的功能可行性角度考虑的是( B ) A、 经济可行性 B、技术可行性 C、 操作可行性 D、 法律可行性 105. 需求规格说明书的内容还应包括对( B )的描述。 A.主要功能 B.算法的详细过程 C.用户界面及运行环境 D.软件的性能 106、系统测试是将软件系统与硬件、外设和网络等其他因素结合,对整个软件系统进行测试。( A )不是系统测试 的内容。 A.路径测试 B.可靠性测试 C.安装测试 D.安全测试 107、在结构化分析方法中,数据字典是重要的文档。对加工的描述是数据字典的组成内容之一,常用的加工描述方法( C )。 A.只有结构化语言 B.有结构化语言和判定树 C.有结构化语言、判定树和判定表 D.有判定树和判定表 108、项目管理工具中,将网络方法用于工作计划安排的评审和检查的是( A )。 A.Gantt图 B.PERT网图 C.因果分析图 D.流程图 109、软件设计的主要任务是设计软件的结构、过程和模块,其中软件结构设计的主要任务是要确定( C )。 A.模块间的操作细节 B.模块间的相似性 C.模块间的组成关系 D.模块的具体功能 110、下述任务中,不属于软件工程需求分析阶段的是( D ) 。 A.分析软件系统的数据要求 B.确定软件系统的功能需求 C.确定软件系统的性能要求 D.确定软件系统的运行平台 111. 加工是对数据流图中不能再分解的基本加工的精确说明,下述哪个是加工的最核心( B ) A. 加工顺序 B. 加工逻辑 C. 执行频率 D. 激发条件 112. 为了提高模块的独立性,模块内部最好是( C )。 A.逻辑内聚 B.时间内聚 C.功能内聚 D.通信内聚 113. PDL是软件开发过程中用于( C )阶段的描述工具。 A.需求分析 B.概要设计 C.详细设计 D.编程 114、适合在互联网上编写程序可供不同平台上运行的面向对象程序设计语言是( B ) A、 ALGOL B、 JAVA C、 SMALLTALK D、 LISP 115. 软件测试是软件质量保证的主要手段之一,测试的费用已超过( A )的30%以上,因此提高测试的有效性非常重要。 A.软件开发费用 B.软件维护费用 C.软件开发和维护费用 D.软件研制费用 116. 在软件测试中,逻辑覆盖标准主要用于( B ) A.黑箱测试方法 B.白箱测试方法 C.灰箱测试方法 D.软件验收方法 117. 在软件维护工作中进行的最少的部分是( D ) A.校正性维护 B.适应性维护 C.完善性维护 D.预防性维护 118、火车是一种陆上交通工具,火车和陆上交通工具之间的关系是( D )关系。 A.组装 B.整体成员 C.has a D.一般具体 119、动态模型的描述工具是( C )。 A.对象图 B.结构图 C.状态图 D.设计图 120、McCall提出的软件质量的11个质量特性分为三组,下面哪一个不属于这三组( A ) A.产品需求 B.产品运行 C.产品修正 D.产品转移 121.瀑布模型的存在问题是( B ) A.用户容易参与开发 B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求 122.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C ) A.软件工程 B.软件周期 C.软件危机 D.软件产生 123.数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺序是( B ) A.数据、公共、标记、控制 B.数据、标记、控制、公共 C.控制、数据、标记、公共 D.控制、数据、公共、标记 124.在SD方法中全面指导模块划分的最重要的原则是( D ) A.程序模块化 B.模块高内聚 C.模块低耦合 D.模块独立性 125.软件测试的目的是( B )。 A. 评价软件的质量 B. 发现软件的错误 C. 找出软件的所有错误 D. 证明软件是正确的 126.在设计测试用例时,( A )是用得最多的一种黑盒测试方法。 A. 等价类划分 B. 边界值分析 C. 因果图 D. 判定表 127. 需求分析最终结果是产生( B )。 A. 项目开发计划 B. 需求规格说明书 C. 设计说明书 D. 可行性分析报告 128. Jackson图中,模块框之间若有直线连接,表示它们之间存在( B )。 A. 调用关系 B. 组成关系 C. 链接关系 D. 顺序执行关系 129. 软件详细设计的主要任务是确定每个模块的( C )。 A. 功能 B. 外部接口 C. 算法和使用的数据结构 D. 编程 130.为了提高软件的可维护性,在编码阶段应注意( D ) A.保存测试用例和数据 B.提高模块的独立性 C.文档的副作用 D.养成好的程序设计风格 131.设年利率为i,现存入p元,若计复利,n年后可得钱数为( B ) A.p﹡(1+i﹡n) B.p﹡(i+1)n C.p﹡(1+i)﹡n D.p﹡(i+n) 132.在考察系统的一些涉及时序和改变的状态时,要用动态模型来表示。动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是( A )。 A .状态图 B. 数据流图 C. 系统结构图 D. 时序图 133. 对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。 A. 结合 B. 隐藏 C. 封装 D. 抽象 134.具有风险分析的软件生存周期模型是( C ) A.瀑布模型 B.喷泉模型 C.螺旋模型 D.增量模型 135.软件生命周期中所花费用最多的阶段是( D ) A.详细设计 B.软件编码 C.软件测试 D.软件维护 136. 在整个软件维护阶段所花费的全部工作中,( C )所占比例最大。 A. 校正性维护 B. 适应性维护 C. 完善性维护 D. 预防性维护 137.模块( B )定义为受该模块内一个判断影响的所有模块集合。 A. 控制域 B. 作用域 C.宽度 D. 接口 138.指出PDL是下列哪种语言( A )。 A.伪码 B、高级程序设计语言 C. 中级程序设计语言 D、 低级程序设计语言 139.在对数据流的分析中,主要是找到中心变换,这是从( C )导出结构图的关键。 A. 数据结构 B.实体关系 C. 数据流图 D. E—R图 140.结构分析方法就是面向( B )自顶向下逐步求精进行需求分析的方法。 A. 目标 B.数据流 C.功能 D. 对象 141.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C ) A.软件工程 B.软件周期 C.软件危机 D.软件产生 142.快速原型模型的主要特点之一是( D ) A.开发完毕才见到产品 B.及早提供全部完整的软件产品 C.开发完毕后才见到工作软件 D.及早提供工作软件 143.模块的内聚性最低的是( C ) A.逻辑内聚 B.时间内聚 C.偶然内聚 D.功能内聚 144.软件详细设计主要采用的方法是( D ) A.模块设计 B.结构化设计 C.PDL语言 D.结构化程序设计 145.程序的三种基本控制结构是( B ) A.过程、子程序和分程序 B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移 146.软件生命周期中所花费用最多的阶段是( D ) A.详细设计 B.软件编码 C.软件测试 D.软件维护 147.通过( B )可以完成数据流图的细化。 A. 结构分解 B、 功能分解 C、 数据分解 D、 系统分解 148.Jackson方法是面向( B )的设计方法。 A. 系统设计 B、 数据结构 C、 DFD D、 OO 149.软件测试的目的是( B )。 A. 评价软件的质量 B. 发现软件的错误 C. 找出软件的所有错误 D. 证明软件是正确的 150.在考察系统的一些涉及时序和改变的状态时,要用对象-行为模型来表示。动态模型着重于系统的控制逻辑,它包括三个图:一个是事件轨迹图和事件流图,另一个是( A )。 A .状态转换图 B. 数据流图 C. 系统结构图 D. 时序图 151.结构分析方法就是面向( B )自顶向下逐步求精进行需求分析的方法。 A. 目标 B.数据流 C.功能 D. 对象 152.在多层次的结构图中,其模块的层次数称为结构图的( A )。 A. 深度 B. 跨度 C. 控制域 D. 粒度 153. 研究开发所需要的成本和资源是属于可行性研究中的( B )研究的一方面。 A. 技术可行性 B. 经济可行性 C. 社会可行性 D. 法律可行性 154. 软件详细设计的主要任务是确定每个模块的( A )。 A. 算法和使用的数据结构 B. 外部接口 C. 功能 D. 编程 155. 软件结构图中,模块框之间若有直线连接,表示它们之间存在( A )。 A. 调用关系 B. 组成关系 C. 链接关系 D. 顺序执行关系 156. 需求分析最终结果是产生( B )。 A. 项目开发计划 B. 需求规格说明书 C. 设计说明书 D. 可行性分析报告 157. 在详细设计阶段,经常采用的工具有( A )。 A. PAD B. SA C. SC D. DFD 158.因计算机硬件和软件环境的变化而作出的修改软件的过程称为( C ) A.教正性维护 B.适应性维护 C.完善性维护 D.预防性维护 159. 对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。 A. 结合 B. 隐藏 C. 封装 D. 抽象 160.为了提高软件的可维护性,在编码阶段应注意( D ) A.保存测试用例和数据 B.提高模块的独立性 C.文档的副作用 D.养成好的程序设计风格 二、填空题(请把答案写在相应的横线上,每小题1.5分) 1、软件是 数据 、 计算机程序 及其说明程序的 各种文档 。 2、概要设计主要是把各项 功能需求 转换成系统的 体系结构 。 3、面向对象开发方法包括 OOA 、OOD 、 OOP 三部分。 4、结构化设计中以数据流图为基础的两种具体分析设计方法是 变换分析 、 事物分析 设计。 5、在单元测试时,需要为被测模块设计 驱动模块 和 桩模块 。 6、CMM把软件过程从无序到有序的进化分成5个阶段,排序而形成5个逐层提高的等级,分别是初始级、可重复级 、已定义级、 已管理级 和可优化级。 7.子类自动共享父类的 属性 和 操作 的机制称为继承。 8. 软件工程管理的具体内容包括对开发人员、组织机构、 用户 、 文档资料 等方面的管理。 9、可行性研究的三个方面是 技术可行性 、 社会可行性 和__经济可行性__。 10、在软件概要设计阶段,建立软件结构后,还应为每个模块写一份 处理说明 和_接口说明__。 11、在画分层的DFD时,父图与子图的输入输出数据流要__平衡__。 12、在详细设计阶段,除了对模块内的算法进行设计,还应对模块内的__数据结构_进行设计。 13. 对象的抽象是___类___。 14. 基线的作用是把各阶段的开发工作划分得更加明确,便于检查与确认阶段成果。因此,基线可以作为项目的一个___检查点__。 15. 软件工程包括软件开发技术和__软件工程管理__两大部分内容。 16、开发过程管理包括项目计划、控制和___任务管理__等。 17、CASE是多年来在软件开发管理、软件开发方法、软件开发环境和__软件工具__等方面研究和发展的产物。 18、数据字典中有四类条目,分别是___数据流 、数据项、 数据存储 、基本加工。 19、用于描述基本加工的小说明的三种描述工具是结构化语言 、 判定表 、 判定树_。 20、子类只继承一个父类的属性和操作,这称为__单重继承__。 21、 McCabe复杂性度量又称__环路度量_。 22、喷泉模型是一种以用户需求为动力,以__对象__为驱动的模型。 23、Jackson图不仅可表示程序结构,还可表示___数据结构__。 24、详细设计的任务是确定每个模块的内部特性,即模块的 算法 和 数据结构 。 25、UML提供的构建系统动态模型的机制有 动态视图 视图(包括顺序图和协作图)、 静态视图 视图、功能视图。 26、软件质量管理由软件质量保证、 软件质量规划 和 软件质量控制 三方面活动组成。 27、用等价类划分法设计一个测试用例时,使其覆盖__尽可能多的__尚未被覆盖的合理等价类; 覆盖__一个_不合理等价类。 28、需求分析阶段产生的最重要的文档是__需求规格说明书_。 29、两个模块都使用同一张表,模块的这种耦合称为___公共耦合__。 30、被测试程序不在机器上运行,而是采用人工检测和计算机辅助分析检测的手段称为_静态_测试。 31、采用手工方法开发软件只有程序而无文档,维护困难,这是一种__非结构化__维护。 32、结构化方法是一种面向数据流的开发方法。由结构化分析、_结构化方法_、结构化程序设计构成。 33、 对象之间进行通信的构造叫做_消息_。 34、 按软件服务对象的范围可以把软件划分为 项目 软件和 产品 软件。 35、瀑布模型将软件生命期划分为若干阶段,各个阶段之间是通过 文档 实现过渡的。 36、概要设计主要是把各项功能需求转换成系统的__体系结构__。 37、详细设计的任务是确定每个模块的内部特性,即模块的 数据结构 和 算法 。 38、结构化程序设计方法提倡开发人员的组织形式是__主程序员组_。 39、软件质量管理由软件质量保证、软件质量规划和 软件质量控制 三方面活动组成。 40、类具有操作,它是对象__行为 _的抽象。 41、产品管理包括版本管理和__配置管理___。 42、集成测试中的具体方法是___渐增式 和 非渐增式___测试方法。 43、增量模型适合于__软件需求_不明确、设计方案有一定风险的软件项目。 44、结构化分析方法的分析策略是__自顶向下逐步求精__。 45、可行性研究实质上是要在较高层次上以较抽象的方式进行___需求分析和设计__的过程。 46、衡量模块独立性的两个定性标准是__耦合性与内聚性___。 47、Jackson方法是一种面向__数据结构__的设计方法。 48、维护阶段是软件生存周期中花费精力和费用___最多___的阶段。 49、继承性是子类自动共享其父类的__数据结构和方法__机制。 50、在面向对象方法中,人们常用状态图描述类中对象的_动态行为_。 51、规定功能的软件,在一定程度上能从错误状态自动恢复到正常状态,则称该软件为___容错__软件。 52.软件工程包括3个要素,即方法、工具、过程。 53.软件生存周期是指一个软件从提出开发要求开始直到该软件报废不止的整个时期。通常,软件生存周期包括问题定义、可行性研究,需求分析,总体设计, 详细设计 ,_编码_,测试,维护活动,可以将这些活动以适当方式分配到不同阶段去完成 54.数据流图中的箭头表示__数据流__。软件结构图中的箭头方向表示___模块调用__。 55.___可行性研究___的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。 56.数据流图仅反映系统必须完成的逻辑功能,所以它是一种__功能_模型。 三、简答题(简要回答下列问题,每小题4分*5=20) 1、什么是软件工程?它目标和内容是什么? 软件工程就是用科学的知识和技术原理来定义,开发,维护软件的一门学科。 软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。 软件工程内容:包括开发技术和开发管理两个方面。 2、软件开发中有哪几种过程模型?哪些适用于面向对象的软件开发? 软件开发中常见的软件过程模型有瀑布模型、原型模型、螺旋模型、喷泉模型、统一软件过程等。 其中喷泉模型、统一软件过程适用于面向对象的软件开发。 4、什么是软件概要设计?该阶段的基本任务是什么? 基本任务: ⑴设计软件系统结构 ⑵进行数据结构及数据库的设计 ⑶编写概要设计的文档 ⑷评审 6、软件测试要经过哪些步骤?这些测试与软件开发各阶段之间有什么关系?(答案不是很好,书本上的V模型,画出V模型) 软件测试要经过的步骤是:单元测试→集成测试→确认测试→系统测试。 单元测试对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。该阶段涉及编码和详细设计文档。 集成测试是为了检查与设计相关的软件体系结构的有关问题,也就是检查概要设计是否合理有效。 确认测试主要是检查已实现的软件是否满足需求规格说明书中确定了的各种需求。 系统测试是把已确认的软件与其他系统元素(如硬件、其他支持软件、数据、人工等)结合在一起进行测试。以确定软件是否可以支付使用。 7、什么是软件生存周期?它有哪几个活动? 软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。 包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护。 8、衡量模块独立性的两个标准是什么?各表示什么含义? 内聚和耦合。 内聚:又称为块内联系,指模块内部各成分之间相互关联的程度,以高内聚为设计目标。 耦合:也称块间联系,模块之间相互联系程度的度量,联系越紧密,耦合性越强,独立性越差,以低耦合为设计目标。 10、什么是需求分析?需求分析阶段的基本任务是什么? 需求分析:开发人员准确地理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的需求规格说明的过程。 基本任务: ⑴问题识别 ⑵分析与综合,导出软件的逻辑模型 ⑶编写文档 12、单元测试有哪些内容? 单元测试主要针对模块的以下五个基本特征进行测试: (1)模块接口 (2)局部数据结构 (3)重要的执行路径 (4)错误处理 (5)边界条件 14、软件设计的基本原理包括哪些内容? ⑴模块化:模块是软件的组成部分,是具有独立功能且可命名的一段程序,所有模块组成整体,可以满足问题的要求。 ⑵抽象:认识复杂现象过程所使用权的工具,只考虑事物本质的共同特性,忽略细节和其它因素。通过抽象确定组成软件的过程实体。 ⑶信息隐蔽:将模块实现自身功能的细节与数据"隐蔽"起来。模块间仅交换为完成系统功能所必须的信息。 ⑷模块独立性:每个模块只完成系统要求的独立的子功能。 21、说明面向对象的特征?(答案错误,自己去整理答案) 面向对象的特征是: (1)对象唯一性。每个对象都有自身唯一的标识,在对象生存期中,其标识不变,不同的对象不能有不同的标识。 (2)分类性。是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类 (3)继承性。是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。 (4)多态性。是指相同的操作或函数过程可以作用于多种类型的对象上并获得不同的结果。 24、请简述黑盒测试和白盒测试有何区别,黑盒测试有哪些常用方法? 黑盒测试和白盒测试的区别:前者基于功能,后者基于结构; 黑盒测试常用方法有:边界值、等价类、因果图、错误推测法等。 26、CMM全称是什么?分为哪几个级别? CMM全称是软件能力成熟度模型; 从无序到有序的进化分成5个级别,分别为: 1 初始级;2 可重复级;3 已定义级;4 已管理级;5 优化级。 28、软件生命周期划分为哪几个阶段? 软件生命周期分为三个时期八个阶段: 软件定义:问题定义、可行性研究; 软件开发:需求分析、概要设计、详细设计、编码、测试; 软件运行:软件维护 四、应用题(每小题10分*3=30) 1.某培训中心要研制一个计算机管理系统。它的业务是: 将学员发来的信件收集分类后,按几种不同的情况处理。 (1)如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出发票给学生。 (2)如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。 (3)如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。 要求: (1)对以上问题画出数据流程图。 (2)画出该培训管理的软件结构图。 解答: (1)数据流图 (2)软件体系结构 2.建立窗口系统的对象模型,问题陈述如下:“窗口分为对话窗、图形窗、滚动窗三种。对话窗中有若干对话项,由唯一的项名字来确定;对话项分为按钮、选择项和正文项三种,选择项中有若干选择项入口。图形窗中有若干形状元素,形状元素分为一维形状和二维形状。一维形状又分为直线、圆弧、折线;二维形状分为圆、椭圆、矩形、多边形,其中折线与多边形由若干有序顶点组成。正文窗是滚动窗的一种,而图形滚动窗既是图形窗又是滚动窗。” 解答:(泛化关系) 3.假设某航空公司规定,乘客可以免费托运行李的重量不超过30公斤。当行李的重量超出30公斤时 ,对一般舱的国内乘客超重部分每公斤收费4元,对头等舱的国内乘客超重部分每公斤收费6元。对国外乘客 超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。试画出相应判定表。 4.下图描述了某个子程序的处理流程,根据判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖等五种覆盖标准,从供选择的答案中分别找出满足相应标准的最小的测试数据组。 (1) a=5 b=1 (2) a=5 b=-1 (3) a=5 b=1 (4) a=5 b=1 a=-5 b=-1 a=0 b=-1 (5) a=5 b=-1 (6) a=5 b=1 a=-5 b=1 a=0 b=0 a=-5 b=-1 a=-5 b=-1 (7) a=5 b=1 (8) a=5 b=1 a=0 b=1 a=0 b=-1 a=0 b=-1 a=-5 b=1 a=-5 b=1 a=-5 b=-1 流程图如下: 解答: 达到判定覆盖为(4); 达到条件覆盖为(3); 达到判定/条件覆盖为(6); 达到条件组合覆盖为(8); 达到路径覆盖为(7)。 7.某银行计算机储蓄系统的工作流程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人的姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存款单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。 请用数据流图描绘本系统的功能,并画出系统的E-R图。 解答: DFD图: ER图: 8.请对下列子程序进行测试: 该子程序接受x, y, z的值,并将计算结果x的值返回给调用程序。 要求: (1)画出程序流程图。 (2)依据条件组合覆盖标准设计测试用例。 (1)程序流程图 (2)条件组合覆盖设计测试用例 ① y=2, z=0, x=4; ② y=2, z=1, x=1; ③ y=1, z=0, x=2; ④ y=1, z=1, x=1. 9.自学考试报名过程中有个“记录报名单”的加工。该加工主要是根据报名表(姓名、 性别、身份证号、课程名)和开考课程(课程名、开考时间)、经校核,编号、填写、输出准考证给报 名者, 同时记录到考生名册中(准考证号、姓名、课程)。 请绘制该加工的DFD图,并写出数据词典中的数据流条目。 解答: (1)DFD图: (2)数据流词典 报名单 = 姓名 + 性别 + 身份证号 + 课程名 开考课程 = 课程名 + 开考时间 考生名册 = 准考证号 + 姓名 + 课程 12.某“调整工资”处理模块接受一个“职称”的变量,根据职称的不同(助教,讲师,副教授,教授)作不同的处理,其中若是助教还必须输入工龄,只有工龄超过两年才能调整工资。请用等价类划分法设计测试用例。 解答; 划分等价类: 计测试用例: 17.某校制定了教师的讲课课时津贴标准。对于各种性质的讲座,无论教师是什么职称,每课时津贴一律是50元;而对于一般的授课,则根据教师的职称来决定每课时津贴费:教授30元,副教授25元,讲师20元,助教15元。请用判定表描述上述问题。 解答: 判定表: 1 2 3 4 5 教授 T F F F 副教授 F T F F 讲师 F F T F 助教 F F F T 讲座 T F F F F 50 ╳ 30 ╳ 25 ╳ 20 ╳ 15 ╳ 五、分析题(每小题15分*1=15) 4.(写下每一个内聚的特征)
把一个软件需求转换为软件表示时,首先设计出软件总的体系结构。称为概要设计或结构设计。