1、程序员-软件工程基础及答案解析(总分:137.00,做题时间:90 分钟)一、B单选题/B(总题数:95,分数:137.00)1.通常,在软件的输入输出设计中,合理的要求是:_。(分数:1.00)A.数据尽量由用户来输入,以便给用户提供更大的自主性B.输入过程应尽量容易,以减少错误的发生C.不能在输入过程中检验数据的正确性D.在输入过程中,为了不干扰用户,应尽量避免提示信息2.软件维护可分为改正性维护、适应性维护、完善性维护和预防性维护。在软件的整个维护活动中,_维护所占比重最大。(分数:1.00)A.改正性B.适应性C.完善性D.预防性3.如果用户对系统的目标不是很清楚,需求难以定义,这时最
2、好使用_进行系统开发。(分数:1.00)A.原型法B.瀑布模型C.V-模型D.螺旋模型在了解程序内部结构和流程后,通常采用U (1) /U验证程序内部逻辑是否符合设计要求,此时可使用U (2) /U技术设计测试案例。(分数:2.00)(1).(1)(分数:1.00)A.黑盒测试B.白盒测试C.等价类划分D.边界值分析(2).(2)(分数:1.00)A.等价类划分B.边界值分析C.因果图D.逻辑覆盖4.按照 ISO/IEC9126 软件质量模型的规定,软件的适应性是指_。(分数:1.00)A.软件运行于不同环境中的故障率B.软件运行于不同环境中的安全等级C.将一个系统耦合到另一个系统所需的工作量
3、D.软件运行于不同环境中的能力5.下列关于结构化设计与面向对象设计的叙述中,不正确的是_。(分数:1.00)A.结构化设计以过程设计为核心B.面向对象设计以对象设计为核心C.结构化设计比面向对象设计更易支持数据结构的修改D.面向对象设计比结构化设计更易支持系统的维护6._是算法的一种图形化表示。(分数:1.00)A.拓扑结构图B.流程图C.伪代码D.数据流图7.黑盒测试也称为功能测试。黑盒测试不能发现_。(分数:1.00)A.终止性错误B.输入是否正确接收C.界面是否有误D.是否存在冗余代码8.软件详细设计的主要任务是确定每个模块的_。(分数:1.00)A.算法和使用的数据结构B.外部接口C.
4、功能D.编程9.软件开发过程中,常采用甘特(Gantt)图描述进度安排。甘特图以_。(分数:1.00)A.时间为横坐标、任务为纵坐标B.时间为横坐标、人员为纵坐标C.任务为横坐标、人员为纵坐标D.人数为横坐标、时间为纵坐标10.不支持自定义类的程序设计语言是_语言。(分数:1.00)A.CB.C#C.C+D.Java11._是关于质量管理体系的一系列标准,有助于企业交付符合用户质量要求的产品。(分数:1.00)A.ISO9000B.CMMC.ISO1400D.SW-CMM面向对象程序设计以U (1) /U为基本的逻辑构件,用U (2) /U来描述具有共同特征的一组对象;以U (3) /U为共享
5、机制,共享类中的方法和数据。(分数:3.00)(1).(1)(分数:1.00)A.模块B.对象C.结构D.类(2).(2)(分数:1.00)A.类型B.抽象C.类D.数组(3).(3)(分数:1.00)A.引用B.数据成员C.成员函数D.继承12.为了改善系统硬件环境和运行环境而产生的系统更新换代需求而导致的软件维护属于 _。(分数:1.00)A.适应性B.正确性C.完善性D.预防性13.下面对对象概念描述错误的是_。(分数:1.00)A.任何对象都必须有继承性B.对象是属性和方法的封装体C.对象间的通信靠消息传递D.操作是对象的动态属性程序中的局部数据结构测试通常在U (1) /U阶段进行,
6、而全局数据结构测试通常在U (2) /U阶段进行。(分数:2.00)(1).(1)(分数:1.00)A.单元测试B.集成测试C.确认测试D.系统测试(2).(2)(分数:1.00)A.单元测试B.集成测试C.确认测试D.系统测试14._是错误的描述。(分数:1.00)A.Delphi 和 Visual Basic 都是可视化编程语言B.可视化编程中采用控件技术和事件驱动工作方式C.在可视化编程中,可以不编写程序代码来完成界面的设计工作D.使用 UML(Unified Modeling Languag 开发软件不需要编写程序15.在面向对象方法中,_机制是对现实世界中遗传现象的模拟。(分数:1.
7、00)A.封装B.继承C.多态D.抽象接口16.在软件开发中使用函数库可_。(分数:1.00)A.提高软件的执行速度B.降低系统负载C.提高软件各部分之间的耦合度D.提高软件的可重用性请从下列名词中区分类和对象。其中,U (1) /U全部是类,U (2) /U全部是对象。(分数:2.00)(1).(1)(分数:1.00)A.电影、序列号为 sw1987532 的电影胶片、足球赛B.电影、足球赛、电影胶片C.影片“卡萨布兰卡”、足球赛D.影片“卡萨布兰卡”、序列号为 sw1987532 的电影胶片(2).(2)(分数:1.00)A.电影、序列号为 sw1987532 的电影胶片、足球赛B.电影、
8、足球赛、电影胶片C.影片“卡萨布兰卡”、足球赛D.影片“卡萨布兰卡”、序列号为 sw1987532 的电影胶片17.系统测试计划应该在软件开发的_阶段制定。(分数:1.00)A.需求分析B.概要设计C.详细设计D.系统测试18.在面向对象设计中,对象有很多基本特点,其中“从外面看只能看到对象的外部特性,而对象的内部对外是不可见的”这一性质指的是对象的_。(分数:1.00)A.分类性B.标识唯一性C.多态性D.封装性19.瀑布模型突出的缺点是不适应_的变动。(分数:1.00)A.算法B.平台C.程序语言D.用户需求20.在结构化分析与设计方法中,为了在需求改变时对软件的影响较小,应该使_。(分数
9、:1.00)A.程序结构与问题结构相对应B.程序结构与问题结构相独立C.程序结构与用户界面相对应D.程序结构与用户界面相独立21.选择一个适当的测试用例,用以测试图 7-3 的程序,能达到判定覆盖的是_。 (分数:1.00)A.B.C.D.22.软件“做什么”和“怎么做”是软件开发过程中需要解决的关键问题,其中“怎么做”是在_阶段解决的。(分数:1.00)A.需求分析B.文档设计C.软件编码D.测试23.软件开发环境是支持软件产品开发的软件系统,它由_和环境集成机制构成,环境集成机制包括数据集成、控制集成和界面集成。(分数:1.00)A.软件工具集B.软件测试工具集C.软件管理工具集D.软件设
10、计工具集面向对象开发方法中,U (1) /U是把数据以及操作数据的相关方法组合在一起,从而可以把U (2) /U作为软件开发中最基本的复用单元。(分数:6.00)(1).(1)(分数:1.00)A.多态B.聚合C.封装D.继承(2).(2)(分数:1.00)A.类B.函数C.过程D.结构(3).(1)(分数:1.00)A.封装B.消息传递C.引用D.继承(4).(2)(分数:1.00)A.封装B.消息传递C.引用D.继承(5).(3)(分数:1.00)A.引用B.继承C.封装D.多态(6).(4)(分数:1.00)A.定义与实现B.分析与测试C.分析与设计D.实现与测试24.关于软件文档的叙述
11、,_是错误的。(分数:1.00)A.文档就是软件的操作说明书B.文档是软件产品的一部分,没有文档的软件就不成为软件C.高质量软件对于软件开发、维护和使用有重要的意义D.测试用例也是重要的软件文档25.以下关于程序测试的叙述,正确的是_。(分数:1.00)A.程序测试的目的是为了证明程序的正确性B.白盒测试也称为功能测试C.黑盒测试也称为结构测试D.程序测试要注意检验程序是否有多余的功能26.在进行单元测试时,常用的方法是_。(分数:1.00)A.采用白盒测试,辅之以黑盒测试B.采用黑盒测试,辅之以白盒测试C.只使用白盒测试D.只使用黑盒测试27._关系描述了某对象由其他对象组成。(分数:1.0
12、0)A.依赖B.一般化C.聚合D.具体化28._是关于质量管理体系的一系列标准,有助于企业交付符合用户质量要求的产品。(分数:1.00)A.ISO9000B.CMMC.ISO1400D.SW-CMM29.在软件的使用过程中,用户往往会对软件提出新的功能要求与性能要求。为了满足这些要求而进行的维护属于_维护。(分数:1.00)A.改正性B.适应性C.完善性D.预防性30.在面向对象方法中,实现信息隐蔽是依靠_。(分数:1.00)A.对象的继承B.对象的多态C.对象的封装D.对象的分类31._语言最适用于过程式程序设计。(分数:1.00)A.CB.HTMLC.JavaD.PROLOG32.软件测试
13、分为黑盒测试和白盒测试,其中,_方法属于黑盒测试。(分数:1.00)A.等价类划分和边界类划分B.循环覆盖以及基本路径测试C.错误推测和逻辑覆盖D.因果图和路径覆盖33.检查软件产品是否符合需求定义的过程称为_。(分数:1.00)A.确认测试B.集成测试C.验证测试D.验收测试34.软件的复杂性与许多因素有关。_不属于软件的复杂性参数。(分数:1.00)A.源程序的代码行数B.程序的结构C.算法的难易程度D.程序中注释的多少ISO 9000 系列标准和软件成熟度模型 CMM 都着眼于质量和过程管理。ISO9000系列标准的主导思想是:强调质量U (1) /U;使影响产品质量的全部因素始终处于U
14、 (2) /U状态;要求证实企业具有持续提供符合要求产品的U (3) /U;强调质量管理必须坚持进行质量U (4) /U,而 CMM 则强调持续的U (5) /U。(分数:5.00)(1).(1)(分数:1.00)A.形成于软件需求B.形成于软件设计C.形成于软件实现D.形成于生产的全过程(2).(2)(分数:1.00)A.可观察B.可控制C.可度量D.可跟踪(3).(3)(分数:1.00)A.能力B.条件C.工具D.环境(4).(4)(分数:1.00)A.度量B.跟踪C.改进D.保证(5).(5)(分数:1.00)A.质量度量B.质量改进C.过程改进D.过程度量35.结构化程序设计主要强调的
15、是_。(分数:1.00)A.程序的规模B.程序的易读性C.程序的执行效率D.程序的可移植性36.通常在软件开发的_活动中无需用户参与。(分数:1.00)A.需求分析B.维护C.编码D.测试37.软件测试中的 测试由用户在软件开发者指导下完成,这种测试属于_阶段的测试活动。(分数:1.00)A.单元测试B.集成测试C.系统测试D.确认测试38.传统的软件开发模型有瀑布模型、演化模型、螺旋模型和喷泉模型等。图 7-1 所示的软件开发过程属于_模型。(分数:1.00)A.瀑布B.演化C.螺旋D.喷泉39.对于如图 7-4 所示的程序流程,若采用语句覆盖法设计测试用例(使每条语句都至少执行 1 次),
16、则至少需要设计_个测试用例。 (分数:1.00)A.1B.2C.3D.4编制一个好的程序首先要确保它的正确性和可靠性,除此以外,通常更注重源程序的U (1) /U。此外,还应强调良好的编程风格,例如,选择标识符的名字时应考虑U (2) /U;在书写语句时应考虑U (3) /U;在书写功能性注解时应考虑U (4) /U。源程序中应包含一些内部文档,以帮助阅读和理解源程序,源程序的内部文档通常包括选择合适的标识符、注解和U (5) /U。(分数:5.00)(1).(1)(分数:1.00)A.易使用性、易维护性和效率B.易使用性、易维护性和易移植性C.易理解性、易测试性和易修改性D.易理解性、安全性
17、和效率(2).(2)(分数:1.00)A.名字长度越短越好,以减少源程序的输入量B.多个变量共用一个名字,以减少变量名的数目C.选择含义明确的名字,以正确提示所代表的实体D.尽量用关键字作名字,以使名字标准化(3).(3)(分数:1.00)A.把多个短的语句写在同一行中,以减少源程序的行数B.尽量使用标准文本以外的有特殊功效的语句,以提高程序的功效C.尽量消除表达式中的括号,以简化表达式D.避免使用测试条件“非”,以提高程序的可读性(4).(4)(分数:1.00)A.仅为整个程序作注解B.仅为每个模块作注解C.为程序段作注解D.为每个语句作注解(5).(5)(分数:1.00)A.程序的视觉组织
18、B.尽量不用或少用 GOTO 语句C.检查输入数据的有效性D.设计良好的输出报表40.关于对象封装的叙述,正确的是_。(分数:1.00)A.每个程序模块中都封装了若干个对象B.封装可实现信息隐藏C.封装使对象的状态不能改变D.封装是把对象放在同一个集合中程序中凡是引用_(1)_ 对象的地方都可以使用_(2)_ 对象代替。(分数:2.00)(1).(1)(分数:1.00)A.基类B.派生类C.基本类型D.用户定义类型(2).(2)(分数:1.00)A.基类B.派生类C.抽象类D.用户定义类型41.在软件开发的各个阶段中,对软件开发成败影响最大的是_。(分数:1.00)A.需求分析B.概要设计C.
19、详细设计D.编码42.程序中将多处使用的同一个常数定义为常量,其目的是为了_。(分数:1.00)A.提高程序的运行速度B.提高程序的可读性以及可维护性C.缩短源程序代码长度D.便于进行程序测试43.用黑盒技术测试用例的方法之一为_。(分数:1.00)A.因果图B.逻辑覆盖C.循环覆盖D.基本路径测试44.白盒测试方法一般适合用于_测试。(分数:1.00)A.单元B.系统C.集成D.确认45.对程序进行白盒测试时,可采用_法设计测试用例。(分数:1.00)A.等价类划分B.边界值分析C.逻辑覆盖D.因果图46.下列叙述中,良好编程风格的正确叙述,是_。(分数:1.00)A.使用括号以改善表达式的
20、清晰性。B.对递归定义的数据结构不要使用递归过程。C.应尽可能多输出中间结果。D.尽可能对程序代码进行优化。47.从工程管理角度,软件设计一般分为两步完成,它们是_。(分数:1.00)A.概要设计与详细设计B.数据设计与接口设计C.软件结构设计与数据设计D.过程设计与数据设计48.原型化方法是一种动态定义需求的方法,_不具有原型化方法的特征。(分数:1.00)A.简化项目管理B.尽快建立初步需求C.加强用户参与和决策D.提供严格定义的文档49.对建立良好的程序设计风格,下面描述正确的是_。(分数:1.00)A.程序应简单、清晰、可读性好B.符号名的命名只要符合语法即可C.充分考虑程序的执行效率
21、D.程序的注释可有可无50.在公有继承的情况下,基类的成员在派生类中的访问权限为_。(分数:1.00)A.公有B.私有C.保持不变D.受保护51.下列叙述中,良好编程风格的正确叙述,是_。(分数:1.00)A.可以尽量使用标准文本以外的语句B.对所有输入数据进行校验C.用计数方法而不是用文件结束符来判别输入的结束。D.可以显式说明变量,也可以隐式说明常见的软件开发模型有瀑布模型、演化模型、螺旋模型、喷泉模型等。其中,U (1) /U适用于需求明确或很少变更的项目,U (2) /U主要用来描述面向对象的软件开发过程。(分数:2.00)(1).(1)(分数:1.00)A.瀑布模型B.演化模型C.螺
22、旋模型D.喷泉模型(2).(2)(分数:1.00)A.瀑布模型B.演化模型C.螺旋模型D.喷泉模型52.对象之间通过消息机制实现相互作用与通信,_不是消息的组成部分。(分数:1.00)A.基类B.派生类C.抽象类D.用户定义类型53.C+语言兼容 C 语言,所以,_。(分数:1.00)A.C+的关键字与 C 语言的关键字完全相同B.C+的数据类型与 C 语言的数据类型完全相同C.C+编译器能编译 C 语言程序D.C+编译器能把 C 语言程序翻译成 C+程序54.数据流图包含的成分有_。(分数:1.00)A.关系、实体和属性B.数据流、加工和数据存储C.数据流、数据源和数据实体D.数据流、属性、
23、数据存储和加工在统一建模语言(Unified Modeling Language,UML)中,描述本系统与外部系统及用户之间交互的图是U (1) /U;按时间顺序描述对象间交互的图是U (2) /U。(分数:2.00)(1).(1)(分数:1.00)A.用例图B.类图C.对象图D.状态图(2).(2)(分数:1.00)A.部署图B.序列图C.协作图D.状态图55.采用面向对象技术开发的应用系统的特点是_。(分数:1.00)A.重用性更强B.运行速度更快C.占用存储量小D.维护更复杂56.计算机程序=算法+数据结构+程序设计方法+语言工具和环境,其中关于程序设计的叙述,正确的是_。(分数:1.0
24、0)A.程序设计语言与程序设计方法是一一对应的关系B.面向对象的程序设计语言只能支持面向对象的程序设计方法C.面向对象的程序设计技术与结构化程序设计技术是相互排斥的D.过程式程序设计是一种传统的程序设计方法57.软件设计活动中的_设计指定各个组件之间的通信方式以及各组件之间如何相互作用。(分数:1.00)A.数据B.接口C.结构D.组件58.消息传递是对象间通信的手段,一个对象通过向另一个对象发送消息来请求其服务。一个消息通常包括_。(分数:1.00)A.发送消息的对象的标识、调用的发送方的操作名和必要的参数B.发送消息的类名和接收消息的类名C.接收消息的对象的标识、调用的接收方的操作名和必要
25、的参数D.接收消息的类名59.瀑布模型是传统的软件开发过程模型,它强调各阶段的严格性,其主要缺点是_。(分数:1.00)A.需要软件人员和用户进行沟通B.需要付出较高的维护成本C.开发的软件不易于移植D.不适应需求不确定的软件开发某村领导需要估计该村某池塘中鱼的大致数量。技术人员想出了一个办法:先从池塘中捕出 30 条鱼,在每条鱼身上做一记号后,又放回池塘。几天后,再从该池塘中捕出 40 条鱼,发现其中有 2 条是有记号的。因此,他估计该池塘大致有U (1) /U条鱼。估计某程序中所含的错误个数,程序员 A 对该程序进行测试时发现了 5 个错误,程序员 B 独立对该程序进行测试时发现了 8 个
26、错误,但其中 2 个错误是程序员A 已经发现的。因此,人们可以估计,该程序中大致含有U (2) /U个错误。(分数:2.00)(1).(1)(分数:1.00)A.300B.400C.600D.1200(2).(2)(分数:1.00)A.12B.15C.16D.20将软件从一种计算机环境转换到另一种环境运行的难易程度是指软件的U (1) /U。在规定的条件下和规定的时间间隔内,按设计要求,软件成功运行的特性称为U (2) /U。(分数:2.00)(1).(1)(分数:1.00)A.可靠性B.可移植性C.可使用性D.灵活性(2).(2)(分数:1.00)A.可靠性B.可移植性C.可重用性D.正确性
27、60.关于对象和类的叙述,正确的是_。(分数:1.00)A.如果两个对象的所有成员变量的值相同,则这两个对象是同一对象B.编写代码时,不允许使用匿名类C.不同的对象一定属于不同的类D.每个对象都有唯一标识,以彼此区分图 7-5 所示的流程图描述了对 8 位二进制整数求补的算法。该算法的计算过程如下:从二进制数的低位(最右位)开始,依次向高位逐位查看,直到首次遇到“1”时,停止查看。然后,对该“1”位左面的更高位(如果有的话),逐位求反,所得的结果就是对原二进制数求补的结果。例如:对二进制整数 10101000 求补的结果是 01011000。设 8 位二进制整数中的各位,从低位到高位,依次存放
28、在整型数组 BIT 的 BIT1BIT8中。例如,二进制整数 10101000 存放在数组 BIT 后,就有 BIT1=0, BIT2=0, , BIT7=0, BIT8=1。若流程图中存在空操作,则用 NOP 表示。流程图中 (1) 处按“循环变量名:循环初值,增量,循环终值”格式描述。解析 本题考查求补运算。求补运算是对一个数的各二进制位按位求反后再加 1。例如:二进制10101000 按位求反后得到的二进制是 01010111,加 1 后为 01011000。也可以这样来看,原二进制从最右边开始到遇到的第 1 个 1 为止都不变,而后面剩下的位按位求反即可。(分数:5.00)填空项 1:
29、_填空项 1:_填空项 1:_填空项 1:_填空项 1:_61.某软件在应用初期,运行在 Windows NT 环境中。现因某种原因,该软件需要在 UNIX 环境中运行,而且必须完成相同的功能。为适应这个要求,软件本身需要进行修改,而所需修改的工作量取决于该软件的_。(分数:1.00)A.可扩充性B.可靠性C.复用性D.可移植性62.在面向对象的系统中,由于有了_,所以父类的数据和方法可以应用于子类。(分数:1.00)A.继承性B.封装性C.抽象性D.多态性63.下列选项中不属于软件生命周期开发阶段任务的是_。(分数:1.00)A.软件测试B.概要设计C.软件维护D.详细设计在面向对象方法中,
30、对象可看成是属性(数据)以及这些属性上的专用操作的封装体。封装是一种U (1) /U技术,封装的目的是使对象的U (2) /U分离。类是一组具有相同属性和相同操作的对象的集合,类中的每个对象都是这个类的一个U (3) /U。类之间共享属性和操作的机制称为U (4) /U。一个对象通过发送U (5) /U来请求另一对象为其服务。(分数:13.00)(1).(1)(分数:1.00)A.组装B.产品化C.固化D.信息屏蔽(2).(2)(分数:1.00)A.定义和实现B.设计和测试C.设计和实现D.分析和定义(3).(3)(分数:1.00)A.例证(illustratioB.用例(use-casC.实
31、例(instancD.例外(exceptio(4).(4)(分数:1.00)A.多态型B.动态绑定C.静态绑定D.继承(5).(5)(分数:1.00)A.调用语句B.消息C.命令D.口令(6).(1)(分数:1.00)A.类的引用B.类的说明C.类的实现D.类的标识(7).(2)(分数:1.00)A.类的引用B.类的说明C.类的实现D.类的标识(8).(3)(分数:1.00)A.开放性B.封装性C.兼容性D.继承性(9).(4)(分数:1.00)A.开放性B.封装性C.兼容性D.继承性(10).(5)(分数:1.00)A.多态性B.封装性C.兼容性D.继承性(11).(1)(分数:1.00)A
32、.继承性B.消息传递C.多态性D.静态联编(12).(2)(分数:1.00)A.函数库B.类库C.类型库D.方法库(13).(3)(分数:1.00)A.调用B.引用C.消息传递D.继承64.若程序中使用的变量未设置初始值,则_。(分数:1.00)A.编译时一定出错B.运行时一定会出错C.链接时一定出错D.运行结果可能出错65.在面向对象技术中,多态性的含义是_。(分数:1.00)A.一个对象可同时指向不同的类的对象B.同一消息在不同时刻可调用不同的方法C.对象的生存周期中包含对象的多种状态D.不同消息可以调用相同的方法66.在软件开发过程中,_。(分数:1.00)A.增加更多的程序员可以加快软
33、件开发速度B.只有对目标的一般描述还不能立即开始编码C.若项目需求有变化,应先在编码中进行处理以不耽误开发进度D.程序的质量只能在用户使用之后才能进行评估67.ISO/IEC9126 软件质量模型中第一层定义了六个质量特性,并为各质量特性定义了相应的质量子特性。其中易替换性子特性属于软件的_质量特性。(分数:1.00)A.可靠性B.可移植性C.效率D.可维护性68.下列叙述中正确的是_。(分数:1.00)A.软件测试应该由程序开发者来完成B.程序经调试后一般不需要再测试C.软件维护只包括对程序代码的维护D.以上三种说法都不对69.原型化方法是动态确定软件需求的方法之一,该方法适应于_的系统。(
34、分数:1.00)A.需求不确定性高B.需求确定C.结构简单D.可移植性好70.在面向对象技术中,抽象类是_。(分数:1.00)A.接口B.没有方法的类C.没有子类的类D.至少有一个未定义消息的类71.软件的易使用性反映了用户学习、使用该软件以及为程序准备输入和解释输出所需的工作量。按照ISO/IEC9126 软件质量度量模型定义,一个软件的易使用性不包括_。(分数:1.00)A.易理解性B.易操作性C.易改变性D.易学性软件测试通常可分为白盒测试和黑盒测试。白盒测试是根据程序的U (1) /U来设计测试用例,黑盒测试是根据软件的规格说明来设计测试用例。常用的黑盒测试方法有边值分析、等价类划分、
35、错误猜测、因果图等。其中,U (2) /U经常与其他方法结合起来使用。软件测试的步骤主要有单元测试、集成测试和确认测试。如果一个软件作为产品被许多客户使用的话,在确认测试时通常要经过 测试和 测试的过程。其中, 测试是U (3) /U进行的一种测试。在软件设计和编码时,采取U (4) /U等措施都有利于提高软件的可测试性。(分数:4.00)(1).(1)(分数:1.00)A.功能B.性能C.内部逻辑D.内部数据(2).(2)(分数:1.00)A.边值分析B.等价类划分C.错误猜测D.因果图(3).(3)(分数:1.00)A.在开发者现场由开发方的非本项目开发人员B.在开发者现场由用户C.在用户
36、现场由开发方的非本项目开发人员D.在用户现场由用户使用(4).(4)(分数:1.00)A.不使用标准文本以外的语句,书写详细正确的文档B.不使用标准文本以外的语句,采用良好的程序结构C.书写详细正确的文档,信息隐蔽D.书写详细正确的文档,采用良好的程序结构72.采用结构化方法开发软件时,常使用数据流图来描述系统数据处理过程,它是_阶段产生的。(分数:1.00)A.系统分析B.概要设计C.详细设计D.编码73.系统的硬件环境、软件环境和数据环境发生变化时需要对系统进行维护,这种维护属于_。(分数:1.00)A.改正性维护B.适应性维护C.完善性维护D.预防性维护74.在图 7-2 所示的流程图中
37、,如果标记为 b 的运算执行了 m 次(m1),那么标记为 a 的运算的执行次数为_。 (分数:1.00)A.1B.m-1C.mD.m+175.不能作为类成员的是_。(分数:1.00)A.自身类对象B.自身类对象的引用C.自身类对象的指针D.另一个类的对象76.在结构化方法中,软件功能分解属于下列软件开发中的阶段是_。(分数:1.00)A.详细设计B.需求分析C.总体设计D.编程调试77.面向对象程序设计中,采用_机制实现共享类中的方法和数据。(分数:1.00)A.引用调用B.封装C.动态绑定D.继承78.在软件开发过程中,软件设计包括四个既独立又相互联系的活动,分别为体系结构设计、数据设计和
38、过程设计。(分数:1.00)A.文档设计B.程序设计C.用户手册设计D.接口设计79._不是良好的编程风格。(分数:1.00)A.变量名采用单字母符号或单字母加数字串B.程序代码采用缩进格式C.为变量设置初始值D.程序中包含必要的注释80.源程序清单是在软件生存周期的_阶段产生的文档。(分数:1.00)A.软件概要设计B.编码C.软件详细设计D.测试程序员-软件工程基础答案解析(总分:137.00,做题时间:90 分钟)一、B单选题/B(总题数:95,分数:137.00)1.通常,在软件的输入输出设计中,合理的要求是:_。(分数:1.00)A.数据尽量由用户来输入,以便给用户提供更大的自主性B
39、.输入过程应尽量容易,以减少错误的发生 C.不能在输入过程中检验数据的正确性D.在输入过程中,为了不干扰用户,应尽量避免提示信息解析:解析 在输入设计中,应尽量保证在满足处理要求的前提下,使输入量最小。所以选项 A 的说法不正确。 在输入设计中,应对输入数据进行校验,且尽量接近源数据发生点,使错误能及时得到改正。因此选项 C 的说法也不正确。 为了使用户更好地理解输入的要求,在输入过程中应尽量提供相应的帮助。故选项 D 的说法也是错误的。 选项 B 的说法正确,为所选答案。2.软件维护可分为改正性维护、适应性维护、完善性维护和预防性维护。在软件的整个维护活动中,_维护所占比重最大。(分数:1.
40、00)A.改正性B.适应性C.完善性 D.预防性解析:解析 软件维护包括:正确性维护(改正性维护)、适应性维护、完善性维护和预防性维护。 正确性维护的工作量占整个维护工作量的 17%21%。 适应性维护的工作量占整个维护工作量的18%25%。 完善性维护的工作量占整个维护工作量的 50%60%。 预防性维护的工作量占整个维护工作量的 4%左右。 综上所述,本题正确答案为选项 C。3.如果用户对系统的目标不是很清楚,需求难以定义,这时最好使用_进行系统开发。(分数:1.00)A.原型法 B.瀑布模型C.V-模型D.螺旋模型解析:解析 利用原型化方法,可以获取用户需求,在用户的参与下,可以改善和加
41、快需求获取过程。选项 A 为正确答案。在了解程序内部结构和流程后,通常采用U (1) /U验证程序内部逻辑是否符合设计要求,此时可使用U (2) /U技术设计测试案例。(分数:2.00)(1).(1)(分数:1.00)A.黑盒测试B.白盒测试 C.等价类划分D.边界值分析解析:(2).(2)(分数:1.00)A.等价类划分B.边界值分析C.因果图D.逻辑覆盖 解析:解析 黑盒测试也称功能测试或数据驱动测试,它是对已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查
42、程序功能是否按照需求规格说明书的规定正常使用,程序是否 能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。 黑盒测试方法主要有等价类划分、边界值分析、因果图、错误推测等,主要用于软件确认测试。“黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。“黑盒”法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。 白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部
43、动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。“白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。“白盒”法是穷举路径测试。所以,对于第 1 个空,正确答案为选项 B。 在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。但即使每条路径都测试了仍然可能有错误。第一,穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序。第二,穷举路径测试不可能查出程序中因遗漏路径而出错。
44、第三,穷举路径测试可能发现不了一些与数据相关的错误。 第 2 空的选项:等价类划分、边界值分析、因果图,这些都是黑盒测试方法,逻辑覆盖、基本路径测试是白盒测试的测试用例设计方法。第 2 空的正确答案为选项 D。4.按照 ISO/IEC9126 软件质量模型的规定,软件的适应性是指_。(分数:1.00)A.软件运行于不同环境中的故障率B.软件运行于不同环境中的安全等级C.将一个系统耦合到另一个系统所需的工作量D.软件运行于不同环境中的能力 解析:解析 按照 ISO/IEC9126 软件质量模型的规定,软件的适应性是指软件运行于不同环境中的能力。选项 D 为正确答案。5.下列关于结构化设计与面向对
45、象设计的叙述中,不正确的是_。(分数:1.00)A.结构化设计以过程设计为核心B.面向对象设计以对象设计为核心C.结构化设计比面向对象设计更易支持数据结构的修改 D.面向对象设计比结构化设计更易支持系统的维护解析:解析 结构化设计是以过程为核心(选项 A 说法正确),而面向对象设计则是以对象设计为核心(选项 B 说法正确),因为面向对象设计支持封装,将数据及其对应的操作绑定在一起。因此,面向对象设计更容易支持数据结构的修改以及系统的维护。所以,选项 C 说法错误,为所选答案。选项 D 说法正确。6._是算法的一种图形化表示。(分数:1.00)A.拓扑结构图B.流程图 C.伪代码D.数据流图解析
46、:解析 对于选项 A,拓扑结构图经常用于表示网络中结点之间的连接方式。 对于选项 B,流程图是描述系统数据流程的工具,它将数据独立抽象出来,通过图形方式描述信息的来龙去脉和实际流程。为了描述复杂的软件系统的信息流向和加工,可采用分层的 DFD 来描述,分层 DFD 有顶层,中间层、底层之分。选项 B 为正确答案。 对于选项 C,伪代码实际上是计算机代码的简略形式,它比流程图更像计算机代码。 对于选项 D,数据流图(DFD)是 SA 方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。数据流图是从数据的角度来描述系统。7.黑盒测试也称为功能测试。黑盒测试不能发现_。(分数:1.00)A.终止性错误B.输入是否正确接收C.界面是否有误D.是否存在冗余代码 解析:解析 黑盒测试又称为功能测试,即将软件看成黑盒子,在完全不考虑软件内部结构和特性的情况下,测试软件的外部特性。黑盒测试主要发现如下错误:是否有功能错误或遗漏;界面是否有误,是否正确接收输入,输出是否正确;数据结构或外部数据库访问是否有错;是否能接受性能;是否有初始化和终止性错误。黑盒测试不可能发现是否存在冗余代码。本题的正确答案是选项 D。8.软件详细设计的主要任务是确定每个模块的_