1、程序员-软件开发和运行维护基础知识及答案解析(总分:53.00,做题时间:90 分钟)软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架。渐增模型是在快速开发一个 (1) 的基础上,逐步演化成最终的软件。螺旋模型综合了 (2) 的优点,并增加了 (3) 。喷泉模型描述的是面向 (4) 的开发过程,反映了该开发过程的 (5) 特征。(分数:5.00)A.简单模块B.执行环境C.原型D.程序界面A.瀑布模型和喷泉模型B.瀑布模型和演化模型C.演化模型和喷泉模型D.原型和喷泉模型A.风险分析B.进度控制C.版本控制D.质量控制A.数据流B.
2、数据结构C.对象D.构件(Component)A.迭代和有间隙B.无迭代和无间隙C.无迭代和有间隙D.迭代和无间隙1.下列关于对象消息的观点,不正确的是 (6) 。(分数:1.00)A.键盘、鼠标等设备有变化时,就会产生消息B.应用程序对象能向操作系统发送消息C.应用程序对象之间不可以相互发送消息D.发送与接收消息的对象通信机制与传统的子程序调用机制不同JACKSON方法是在软件开发过程中常用的方法,使用 JACKSON方法时可以得到 (7) ,使用 JACKSON方法时可以实现 (8) 。(分数:2.00)A.程序流程图B.具体的语言程序C.模块结构图及模块的功能说明书D.分层数据流图A.从
3、数据结构导出程序结构B.从数据流图导出初始结构图C.从模块结构导出数据结构D.从模块结构导出程序结构黑盒测试中常用的等价类划分方法是先把程序的 (9) 域划分成若干区间,然后从每个区间中选取少数代表性数据当作测试用例。在使用等价类划分方法时,通常会涉及到两种等价类: (10) 。因果图方法是根据 (11) 之间的因果关系来设计测试用例的。在实际应用中,对修改后的程序重新测试称为 (12) 。(分数:4.00)A.判断条件B.输出C.结构D.输入A.有效等价类和无效等价类B.输入等价类和输出等价类C.判断等价类和测试等价类D.数据等价类和结构等价类A.主程序与子程序B.设计与实现C.条件与结果D
4、.输入与输出A.强度测试B.验收测试C.回归测试D.系统测试一个良好的程序不仅要正确和可靠,而且通常更注重源程序的 (13) 。此外,还应养成良好的编程风格,例如,选择标识符的名字时应考虑 (14) ;在书写语句时应考虑 (15) ;在书写功能性注解时应考虑 (16) 。源程序中应包含一些内部文档,以帮助阅读和理解源程序,源程序的内部文档通常包括选择合适的标识符、注解和 (17) 。(分数:5.00)A.易理解性、易测试性和易修改性B.易使用性、易维护性和易移植性C.易使用性、易维护性和效率D.易理解性、安全性和效率A.多个变量共用一个名字,以减少变量名的数目B.名字长度越短越好,以减少源程序
5、的输入量C.选择含义明确的名字,以正确提示所代表的实体D.尽量用关键字作名字,以使名字标准化A.尽量消除表达式中的括号,以简化表达式B.尽量使用标准文本以外的有特殊功效的语句,以提高程序的功效C.把多个短的语句写在同一行中,以减少源程序的行数D.避免使用测试条件“非”,以提高程序的可读性A.仅为整个程序作注释B.仅为每个模块作注释C.为程序段作注释D.为每个语句作注释A.程序的视觉组织B.设计良好的输出报表C.检查输入数据的有效性D.尽量不用或少用 GOTO语句进行软件测试是为了 (18) ,通常可分为白盒测试和黑盒测试。白盒测试是根据程序的内部逻辑来设计测试用例,黑盒测试是根据软件的 (19
6、) 来设计测试用例。常用的黑盒测试方法有边值分析、等价类划分、错误猜测、因果图等。其中, (20) 经常与其它方法结合起来使用。软件测试的步骤主要有单元测试、集成测试和确认测试。如果一个软件作为产品被许多客户使用的话,在确认测试时通常要经过。测试和 测试的过程。其中, 测试是 (21) 进行的一种测试。在软件设计和编码时,采取 (22) 等措施都有利于提高软件的可测试性。(分数:5.00)A.发现程序中的所有错误B.尽可能多地发现程序中的错误C.证明程序是正确的D.证明程序做了应做的事A.编码B.性能C.规格说明D.内部数据A.边值分析B.因果图C.错误猜测D.等价类划分A.在开发者现场由开发
7、方的非本项目开发人员B.在开发者现场由用户使用C.在用户现场由开发方的非本项目开发人员D.在用户现场由用户使用A.不使用标准文本以外的语句,书写详细正确的文档B.不使用标准文本以外的语句,采用良好的程序结构C.书写详细正确的文档,信息隐蔽D.书写详细正确的文档,采用良好的程序结构面向对象程序设计语言不同于其它语言的主要特点是 (23) 。衡量一个面向对象程序设计语言成熟与否的一个重要标志是是否建立了丰富的 (24) 。一种在类及子类之间自动地共享数据和方法的机制是 (25) 。(分数:3.00)(1).A多态性 D消息传递 C继承性 D静态联编(分数:1.00)A.B.C.D.A.函数库B.类
8、库C.类型库D.方法库A.调用B.引用C.消息传递D.继承当程序中存在 (26) 时,程序运行容易陷于死循环。C 语言规定,函数定义及函数调用应该遵循的原则是 (27) 。求解同一个问题,采用递归方式编写的程序相对于递推方式的程序执行效率较低的原因是 (28) 。(分数:3.00)A.语法错误B.静态的语义错误C.词法错误D.动态的语义错误A.不可以进行函数的嵌套定义,可以进行函数的嵌套调用B.可以进行函数的嵌套定义,不可以进行函数的嵌套调用C.既可以进行函数的嵌套定义,也可以进行函数的嵌套调用D.既不能进行函数的嵌套定义,也不能进行函数的嵌套调用A.递归程序经编译后形成较长目标代码,所以需要
9、较多的运行时间B.递归程序执行时多次复制同一段目标代码占用了较多的时间C.递归程序执行时一系列的函数调用及返回占用了较多的时间D.递归程序执行过程中重复存取相同的数据占用了较多的时间2.测试一般可分为白盒测试和黑盒测试,其中白盒测试方法一般适合用于 (29) 测试。(分数:1.00)A.确认B.系统C.集成D.单元3.瀑布模型(Waterfall Model)各阶段间具有顺序性和依赖性,它能清楚地区分逻辑设计与物理设计,尽可能推迟程序的物理实现,但它突出的缺点是不适应 (30) 的变动。(分数:1.00)A.算法B.平台C.程序语言D.用户需求数据流图中有四种基本图形元素,其中表示 (31)
10、。表示 (32) 。(分数:2.00)A.加工B.外部实体C.数据流D.存储A.加工B.源/宿C.数据流D.存储4.结构化分析方法(SA)是结构化程序设计理论在软件需求分析阶段的运用,它的一个重要指导思想是 (33) 。(分数:1.00)A.自顶向下,逐步分解B.自底向上,逐步抽象C.自顶向下,逐步抽象D.自底向上,逐步分解软件使不同的系统约束条件和用户需求得到满足的容易程度是指软件 (34) 。在不合法的输入下,软件仍然能继续正常工作的能力称为 (35) 。(分数:2.00)A.兼容性B.可移植性C.可转换性D.可接近性A.可使用性B.可接近性C.可靠性D.稳定性5.英国的 M.Jackso
11、n提出的 Jackson设计方法是一种面向 (36) 的软件设计方法。(分数:1.00)A.控制结构B.数据流C.数据结构D.对象6.对象间为请求服务而发送的消息通常包括 (37) 。(分数:1.00)A.发送消息的对象的标识、调用的发送方的操作名和必要的参数B.接收消息的对象的标识、调用的接收方的操作名和必要的参数C.发送消息的类名和接收消息的类名D.接收消息的类名7.面向对象技术相对于其他开发技术的优势是 (38) 。(分数:1.00)A.系统重用性更强B.系统运行速度更快C.系统占用存储量小D.系统维护更复杂8.下列关于动态链接文件的说法正确的是 (39) 。(分数:1.00)A.可以自
12、由地插入到其他的源程序中使用B.本身不能独立运行,但可以供其他程序在运行时调用C.本身可以独立运行,也可以供其他程序在运行时调用D.本身是一个数据文件,可以与其他程序动态地链接使用根据模块的设计原则 (40) ,对于模块的控制范围和模块的作用范围,理想的情况是 (41) 。(分数:2.00)A.模块的内聚性高,模块之间的耦合度高B.模块的内聚性低,模块之间的耦合度低C.模块的内聚性低,模块之间的耦合度高D.模块的内聚性高,模块之间的耦合度低A.模块的作用范围应在控制范围之内B.模块的控制范围应在作用范围之内C.模块的作用范围与控制范围交叉D.模块的作用范围与控制范围分离9.软件的用户界面设计中
13、最重要的也是最基本的目标是 (42) 。(分数:1.00)A.灵活性B.风格多样性C.美观性D.易操作性进行软件测试是为了 (43) 。 (44) 方法常用于单元测试(分数:2.00)A.证明软件的正确性B.证明软件系统中存在错误C.找出软件系统中存在的所有错误D.尽可能多地发现软件系统中的错误和缺陷A.采用黑盒测试,辅之以白盒测试B.采用白盒测试,辅之以黑盒测试C.只使用白盒测试D.只使用黑盒测试10.原型化方法是一种动态定义需求的方法,原型化方法的特征是 (45) 。(分数:1.00)A.精确项目管理B.建立详尽的需求C.加强用户参与和决策D.提供严格定义的文档面向对象程序设计的基本逻辑构
14、件是 (46) ,用 (47) 来描述具有共同特征的一组对象;以 (48) 为共享机制,共享类中的方法和数据。(分数:3.00)A.模块B.对象C.结构D.类A.对象B.类型C.类D.数组A.成员函数B.数据成员C.引用D.继承11.递归函数 f(n)的功能是计算 1+2+n,且 n1,则 f(n)的代码段是 (49) 。(分数:1.00)A.if n1 then return 1 else return n+f(n-1)B.if n1 then return 1 else return n+f(n+1)C.if n1 then return 0 else return n+f(n+1)D.i
15、f n1 then return 0 else return n+f(n-1)12.在下面的流程图中,如果标记为 a的运算执行了 n次(n1),那么标记为 b的运算的执行次数为 (50) 。(分数:1.00)A.1B.n-1C.nD.n+113.软件的复杂性与许多因素有关。但 (51) 不会影响软件的复杂性。(分数:1.00)A.程序中注释的多少B.程序的结构C.算法的难易程度D.源程序的代码行数14.在结构化分析与设计方法中,做到 (52) ,就会在需求改变时对软件的影响比较小。(分数:1.00)A.程序结构与用户界面相对应B.程序结构与问题结构相独立C.程序结构与问题结构相对应D.程序结构
16、与用户界面相独立15. (53) 维护的含义是系统的硬件环境、软件环境和数据环境发生变化时需要对系统进行的维护。(分数:1.00)A.校正性维护B.适应性维护C.完善性维护D.预防性维护程序员-软件开发和运行维护基础知识答案解析(总分:53.00,做题时间:90 分钟)软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架。渐增模型是在快速开发一个 (1) 的基础上,逐步演化成最终的软件。螺旋模型综合了 (2) 的优点,并增加了 (3) 。喷泉模型描述的是面向 (4) 的开发过程,反映了该开发过程的 (5) 特征。(分数:5.00)A.简
17、单模块B.执行环境C.原型 D.程序界面解析:A.瀑布模型和喷泉模型B.瀑布模型和演化模型 C.演化模型和喷泉模型D.原型和喷泉模型解析:A.风险分析 B.进度控制C.版本控制D.质量控制解析:A.数据流B.数据结构C.对象 D.构件(Component)解析:A.迭代和有间隙B.无迭代和无间隙C.无迭代和有间隙D.迭代和无间隙 解析:解析 软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架。软件开发包括需求、设计、编码和测试等阶段,有时也包括维护阶段。软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要活动和任务,用
18、来作为软件项目工作的基础。典型的开发模型有:瀑布模型(waterfall model);渐增模型/演化/迭代(incremental model);原型模型(prototype model);螺旋模型(spiral model);喷泉模型(fountain model);智能模型(intelligent model);混合模型(hybrid model)。演化模型主要针对事先不能完整定义需求的软件开发。用户可以给出待开发系统的核心需求,并且当看到核心需求实现后,能够有效地提出反馈,以支持系统的最终设计和实现。螺旋模型基本的做法是在“瀑布模型”的每一个开发阶段之前,引入非常严格的风险识别、风险分
19、析和风险控制。直到采取了消除风险的措施之后,才开始计划下一阶段的开发工作。喷泉模型(fountain model,(面向对象的生存期模型,OO模型)与传统的结构化生存期比较,具有更多的增量和迭代性质,生存期的各个阶段可以相互重叠和多次反复,而且在项目的整个生存期中还可以嵌入子生存期。就像水喷上去又可以落下来,可以落在中间,也可以落在最底部。1.下列关于对象消息的观点,不正确的是 (6) 。(分数:1.00)A.键盘、鼠标等设备有变化时,就会产生消息B.应用程序对象能向操作系统发送消息C.应用程序对象之间不可以相互发送消息 D.发送与接收消息的对象通信机制与传统的子程序调用机制不同解析:解析 发
20、送、接收消息是对象间通信的手段,对象之间可以互相发送消息。JACKSON方法是在软件开发过程中常用的方法,使用 JACKSON方法时可以得到 (7) ,使用 JACKSON方法时可以实现 (8) 。(分数:2.00)A.程序流程图 B.具体的语言程序C.模块结构图及模块的功能说明书D.分层数据流图解析:A.从数据结构导出程序结构 B.从数据流图导出初始结构图C.从模块结构导出数据结构D.从模块结构导出程序结构解析:解析 Jackson 方法由 MJackson 提出的,Jackson 方法的基本思想和 SD方法是一致的,但它不是面向数据流,而是面向数据结构的,在数据结构基础上建立程序结构。该方
21、法特别使用于设计企事业管理一类的规模适中的数据处理系统。应用该方法的基本步骤依次是建立系统的数据结构;以数据结构为基础,对应地建立程序结构;列出程序中要用到的各种基本操作,再将这些操作分配到程序结构中适应的模块。黑盒测试中常用的等价类划分方法是先把程序的 (9) 域划分成若干区间,然后从每个区间中选取少数代表性数据当作测试用例。在使用等价类划分方法时,通常会涉及到两种等价类: (10) 。因果图方法是根据 (11) 之间的因果关系来设计测试用例的。在实际应用中,对修改后的程序重新测试称为 (12) 。(分数:4.00)A.判断条件B.输出C.结构D.输入 解析:A.有效等价类和无效等价类 B.
22、输入等价类和输出等价类C.判断等价类和测试等价类D.数据等价类和结构等价类解析:A.主程序与子程序B.设计与实现C.条件与结果D.输入与输出 解析:A.强度测试B.验收测试C.回归测试 D.系统测试解析:解析 黑盒测试中常用的等价类划分方法是先把程序的输入域划分成若干区间,然后从每个区间中选取少数代表性数据当作测试用例(由于数量太大,穷举测试一般情况下不可能实现)。在使用等价类划分方法时,通常会涉及到两种等价类:有效等价类和无效等价类。顾名思义,有效等价类就是对程序的规格说明是有意义的合理的输入数据集;无效等价类就是对程序规格说明书不合理或无效的输入数据集。我们在设计测试用例时,要兼顾这两种情
23、况。同时要注意一个测试用例只能覆盖一个无效等价类。这样便于错误定位,防止一个错误表征掩盖了另一个错误。因果图方法含义:仅仅将值输入,是不断验证单个数据的情况。有时候,我们需要将各个数据联系在一起考虑,从而引申出多种组合,这时候有些单个数据完好的功能就可能出现错误。回归测试是指对修改后的程序重新测试。一个良好的程序不仅要正确和可靠,而且通常更注重源程序的 (13) 。此外,还应养成良好的编程风格,例如,选择标识符的名字时应考虑 (14) ;在书写语句时应考虑 (15) ;在书写功能性注解时应考虑 (16) 。源程序中应包含一些内部文档,以帮助阅读和理解源程序,源程序的内部文档通常包括选择合适的标
24、识符、注解和 (17) 。(分数:5.00)A.易理解性、易测试性和易修改性B.易使用性、易维护性和易移植性 C.易使用性、易维护性和效率D.易理解性、安全性和效率解析:A.多个变量共用一个名字,以减少变量名的数目B.名字长度越短越好,以减少源程序的输入量C.选择含义明确的名字,以正确提示所代表的实体 D.尽量用关键字作名字,以使名字标准化解析:A.尽量消除表达式中的括号,以简化表达式B.尽量使用标准文本以外的有特殊功效的语句,以提高程序的功效C.把多个短的语句写在同一行中,以减少源程序的行数D.避免使用测试条件“非”,以提高程序的可读性 解析:A.仅为整个程序作注释B.仅为每个模块作注释C.
25、为程序段作注释 D.为每个语句作注释解析:A.程序的视觉组织 B.设计良好的输出报表C.检查输入数据的有效性D.尽量不用或少用 GOTO语句解析:解析 编制一个好的程序首先要确保它的正确性和可靠性,通常更注重源程序的易使用性、易维护性和易移植性。良好的编程风格包括:选择标识符的名字时应考虑选择含义明确的名字,以正确提示所代表的实体;在书写语句时应考虑避免使用测试条件“非”,以提高程序的可读性;在书写功能性注解时应考虑为程序段作注解。源程序的内部文档包括合适的标识符、注解和程序的视觉组织。进行软件测试是为了 (18) ,通常可分为白盒测试和黑盒测试。白盒测试是根据程序的内部逻辑来设计测试用例,黑
26、盒测试是根据软件的 (19) 来设计测试用例。常用的黑盒测试方法有边值分析、等价类划分、错误猜测、因果图等。其中, (20) 经常与其它方法结合起来使用。软件测试的步骤主要有单元测试、集成测试和确认测试。如果一个软件作为产品被许多客户使用的话,在确认测试时通常要经过。测试和 测试的过程。其中, 测试是 (21) 进行的一种测试。在软件设计和编码时,采取 (22) 等措施都有利于提高软件的可测试性。(分数:5.00)A.发现程序中的所有错误B.尽可能多地发现程序中的错误 C.证明程序是正确的D.证明程序做了应做的事解析:A.编码B.性能C.规格说明 D.内部数据解析:A.边值分析 B.因果图C.
27、错误猜测D.等价类划分解析:A.在开发者现场由开发方的非本项目开发人员B.在开发者现场由用户使用C.在用户现场由开发方的非本项目开发人员D.在用户现场由用户使用 解析:A.不使用标准文本以外的语句,书写详细正确的文档B.不使用标准文本以外的语句,采用良好的程序结构C.书写详细正确的文档,信息隐蔽D.书写详细正确的文档,采用良好的程序结构 解析:解析 软件测试的目的是尽可能多地发现程序中的错误,可分为白盒测试和黑盒测试。白盒测试是根据程序的内部逻辑来设计测试用例,黑盒测试是根据软件的规格说明来设计测试用例。常用的黑盒测试方法有边值分析、等价类划分、错误猜测、因果图等。其中,边值分析经常与其它方法
28、结合起来使用。 测试是在开发者现场由开发方的非本项目开发人员进行的一种测试; 测试是在用户现场由用户使用进行的一种测试。在软件设计和编码时,采取书写详细正确的文档,采用良好的程序结构等措施都有利于提高软件的可测试性。面向对象程序设计语言不同于其它语言的主要特点是 (23) 。衡量一个面向对象程序设计语言成熟与否的一个重要标志是是否建立了丰富的 (24) 。一种在类及子类之间自动地共享数据和方法的机制是 (25) 。(分数:3.00)(1).A多态性 D消息传递 C继承性 D静态联编(分数:1.00)A.B.C. D.解析:A.函数库B.类库 C.类型库D.方法库解析:A.调用B.引用C.消息传
29、递D.继承 解析:解析 面向对象程序设计语言相对于面向过程的程序设计语言有了很大的改进,它的主要特点是继承性、封装性、多态性,但继承性最具有特色,也是与传统方法最不同的一个,继承实际上是存在于面向对象程序中两个类之间的一种关系。当一个类拥有另一个类的所有数据和操作,就称这两个类之间具有继承关系。被继承的类称为父类或超类,继承了父类或超类的类成为子类。是否建立了丰富的类库是衡量一个面向对象程序设计语言成熟与否的一个重要标志。当程序中存在 (26) 时,程序运行容易陷于死循环。C 语言规定,函数定义及函数调用应该遵循的原则是 (27) 。求解同一个问题,采用递归方式编写的程序相对于递推方式的程序执
30、行效率较低的原因是 (28) 。(分数:3.00)A.语法错误B.静态的语义错误C.词法错误D.动态的语义错误 解析:A.不可以进行函数的嵌套定义,可以进行函数的嵌套调用 B.可以进行函数的嵌套定义,不可以进行函数的嵌套调用C.既可以进行函数的嵌套定义,也可以进行函数的嵌套调用D.既不能进行函数的嵌套定义,也不能进行函数的嵌套调用解析:A.递归程序经编译后形成较长目标代码,所以需要较多的运行时间B.递归程序执行时多次复制同一段目标代码占用了较多的时间C.递归程序执行时一系列的函数调用及返回占用了较多的时间 D.递归程序执行过程中重复存取相同的数据占用了较多的时间解析:解析 编译分析过程能够分析
31、出语法错误和词法错误。一般情况下静态的语义错误不会造成死循环,造成程序的死循环通常是动态的语义错误。C 语言允许嵌套调用,即允许在一个函数中调用另一个函数,而且允许在第二个函数中进一步调用其他函数;但是它不允许不允许嵌套定义,即在一个函数定义中定义其他函数。递归程序因为在执行过程中引起一系列的函数调用和返回,需要较多的时间开销以及空间开销,因此与实现同功能的非递归函数相比具有较低的执行效率。2.测试一般可分为白盒测试和黑盒测试,其中白盒测试方法一般适合用于 (29) 测试。(分数:1.00)A.确认B.系统C.集成D.单元 解析:解析 黑盒测试(Black-box Testing),软件测试的
32、主要方法之一,也可以称为功能测试、数据驱动测试或基于规格说明的测试。测试者不了解程序的内部情况,只知道程序的输入、输出和系统的功能,这是从用户的角度对程序进行的测试。白盒测试中,源程序对测试人员开放,允许测试人员根据程序的结构设计和选择相应的测试用例,以达到遍历程序的所有逻辑路径的目的,所以白盒测试一般适合用于单元测试。3.瀑布模型(Waterfall Model)各阶段间具有顺序性和依赖性,它能清楚地区分逻辑设计与物理设计,尽可能推迟程序的物理实现,但它突出的缺点是不适应 (30) 的变动。(分数:1.00)A.算法B.平台C.程序语言D.用户需求 解析:解析 按照传统的生命周期方法学开发软
33、件,各阶段的工作自顶向下从抽象到具体顺序进行,就好像奔流不息的瀑布,一泻千里,总是从高处依次流到低处。因此,传统的生命周期方法学可以用瀑布模型(Waterfallmodel)来模拟。瀑布模型规定各阶段按顺序完成,上一阶段完成后才能进入下一阶段。于是需求的变动在开发完成时才能体现,所以不适应用户需求的变动是它突出的缺点。数据流图中有四种基本图形元素,其中表示 (31) 。表示 (32) 。(分数:2.00)A.加工B.外部实体C.数据流 D.存储解析:A.加工B.源/宿 C.数据流D.存储解析:解析 数据流图中四种基本图形元素的含义是:圆圈表示加工,箭头表示数据流,方框表示源/宿,双横线加进入/
34、离开箭头表示数据存储。4.结构化分析方法(SA)是结构化程序设计理论在软件需求分析阶段的运用,它的一个重要指导思想是 (33) 。(分数:1.00)A.自顶向下,逐步分解 B.自底向上,逐步抽象C.自顶向下,逐步抽象D.自底向上,逐步分解解析:解析 结构化分析方法(Structured Method,结构化方法)是强调开发方法的结构合理性以及所开发软件的结构合理性的软件开发方法。结构是指系统内各个组成要素之间的相互联系、相互作用的框架。结构化开发方法提出了一组提高软件结构合理性的准则,如分解与抽象、模块独立性、信息隐蔽等。针对软件生存周期各个不同的阶段,它有结构化分析(SA)、结构化设计(SD
35、)和结构化程序设计(SP)等方法。结构化分析方法给出一组帮助系统分析人员产生功能规约的原理与技术。它一般利用图形表达用户需求,使用的手段主要有数据流图、数据字典、结构化语言、判定表以及判定树等。结构化设计方法给出一组帮助设计人员在模块层次上区分设计质量的原理与技术。它通常与结构化分析方法衔接起来使用,以数据流图为基础得到软件的模块结构。软件使不同的系统约束条件和用户需求得到满足的容易程度是指软件 (34) 。在不合法的输入下,软件仍然能继续正常工作的能力称为 (35) 。(分数:2.00)A.兼容性 B.可移植性C.可转换性D.可接近性解析:A.可使用性B.可接近性C.可靠性D.稳定性 解析:
36、解析 兼容性的含义是软件使不同的系统约束条件和用户需求得到满足的容易程度。可移植性指软件从一个系统转换到另一个系统的难易程度。可转换性,指其可以很容易从一个平台转到另一个平台上。可使用性指软件在需要它投入使用时能实现其指定的功能的概率。可靠性指在规定条件下和规定时间内,实现所指定的功能的概率。5.英国的 M.Jackson提出的 Jackson设计方法是一种面向 (36) 的软件设计方法。(分数:1.00)A.控制结构B.数据流C.数据结构 D.对象解析:解析 Jackson 方法把问题分解为可由三种基本结构形式(顺序,选择和重复)表示的各部分的层次结构。三种数据结构可以进行组合,形成复杂的结
37、构体系。这一方法从目标系统的输入、输出数据结构入手,导出程序框架结构,再补充其它细节,就可得到完整的程序结构图。Jackson 方法是最典型的面向数据结构的软件开发方法。6.对象间为请求服务而发送的消息通常包括 (37) 。(分数:1.00)A.发送消息的对象的标识、调用的发送方的操作名和必要的参数B.接收消息的对象的标识、调用的接收方的操作名和必要的参数 C.发送消息的类名和接收消息的类名D.接收消息的类名解析:解析 对象间传递的消息内需要声明要调用的方法调用相应的方法。它通常包括接收消息的对象的标识、调用的接收方的操作名和必要的参数。7.面向对象技术相对于其他开发技术的优势是 (38) 。
38、(分数:1.00)A.系统重用性更强 B.系统运行速度更快C.系统占用存储量小D.系统维护更复杂解析:解析 面向对象程序设计语言的主要特性是继承性、封装性、多态性,而继承性最具特色,继承实际上是存在子面向对象程序中两个类之间的一种关系。当一个类拥有另一个类的所有数据和操作,就称这两个类之间具有继承关系。正是这些特性使得面向对象技术开发的软件具有更强的重用性,更容易维护。8.下列关于动态链接文件的说法正确的是 (39) 。(分数:1.00)A.可以自由地插入到其他的源程序中使用B.本身不能独立运行,但可以供其他程序在运行时调用 C.本身可以独立运行,也可以供其他程序在运行时调用D.本身是一个数据
39、文件,可以与其他程序动态地链接使用解析:解析 动态链接文件主要由共享的代码构成,可以供其他程序在运行时调用,但本身不能独立运行。根据模块的设计原则 (40) ,对于模块的控制范围和模块的作用范围,理想的情况是 (41) 。(分数:2.00)A.模块的内聚性高,模块之间的耦合度高B.模块的内聚性低,模块之间的耦合度低C.模块的内聚性低,模块之间的耦合度高D.模块的内聚性高,模块之间的耦合度低 解析:A.模块的作用范围应在控制范围之内 B.模块的控制范围应在作用范围之内C.模块的作用范围与控制范围交叉D.模块的作用范围与控制范围分离解析:解析 模块设计的原则之一是使模块的内聚性高,模块间的耦合度低
40、。模块的控制范围包括它本身及它所有的从属模块,模块的作用范围是指模块内一个判定的作用范围,凡是受到这个判定影 Q向的所有模块都属于这个判定的作用范围。若模块的作用范围完全在控制范围之内,即该模块与其他模块之间是松耦合,则该设计中模块的内聚性高,耦合度低。9.软件的用户界面设计中最重要的也是最基本的目标是 (42) 。(分数:1.00)A.灵活性B.风格多样性C.美观性D.易操作性 解析:解析 软件的用户界面作为人机接口起着越来越重要的作用,用户界面应当追求整体美观大方,交互方式灵活多样,各界面的风格应当一致,这样做的目的都是为了达到友好的操作界面,所以易操作性是用户界面设计中最重要的也是最基本
41、的目标。进行软件测试是为了 (43) 。 (44) 方法常用于单元测试(分数:2.00)A.证明软件的正确性B.证明软件系统中存在错误C.找出软件系统中存在的所有错误D.尽可能多地发现软件系统中的错误和缺陷 解析:A.采用黑盒测试,辅之以白盒测试B.采用白盒测试,辅之以黑盒测试 C.只使用白盒测试D.只使用黑盒测试解析:解析 任何软件系统都存在或多或少的 bus,但是不可能找出一个软件系统的所有错误。软件测试的目的是尽可能多地发现软件系统中的错误或缺陷。单元测试的对象是软件设计的最小单位模块。单元测试的依据是详细设计描述,单元测试应对模块内所有重要的控制路径设计测试用例,以便发现模块内部的错误
42、。单元测试多采用白盒测试技术,系统内多个模块可以并行地进行单元测试。10.原型化方法是一种动态定义需求的方法,原型化方法的特征是 (45) 。(分数:1.00)A.精确项目管理B.建立详尽的需求C.加强用户参与和决策 D.提供严格定义的文档解析:解析 原型化方法是一种动态定义需求的方法,它要求尽可能快地建造一个粗糙的系统,这系统实现了目标系统的某些或全部功能,但是这个系统可能在某方面存在缺陷。建造这样一个系统的目的是为了考察某一方面的可行性,如算法的可行性,技术的可行性,或考察是否满足用户的需求等,然后根据用户的反馈,逐步增加系统的功能,得到最终产品。面向对象程序设计的基本逻辑构件是 (46)
43、 ,用 (47) 来描述具有共同特征的一组对象;以 (48) 为共享机制,共享类中的方法和数据。(分数:3.00)A.模块B.对象 C.结构D.类解析:A.对象B.类型C.类 D.数组解析:A.成员函数B.数据成员C.引用D.继承 解析:解析 面向对象程序设计中,可以一组具有共同特征的事物抽象为类,基本的逻辑构件就是这些类的实例,即对象。当一个类拥有另一个类的所有数据和操作,就称这两个类之间具有继承关系。被继承的类称为父类或超类,继承了父类或超类的类成为子类。11.递归函数 f(n)的功能是计算 1+2+n,且 n1,则 f(n)的代码段是 (49) 。(分数:1.00)A.if n1 the
44、n return 1 else return n+f(n-1)B.if n1 then return 1 else return n+f(n+1)C.if n1 then return 0 else return n+f(n+1)D.if n1 then return 0 else return n+f(n-1) 解析:解析 根据题意,当 n1 时结束递归,函数返回 0,否则返回 n+f(n-1)进行递归运算。12.在下面的流程图中,如果标记为 a的运算执行了 n次(n1),那么标记为 b的运算的执行次数为 (50) 。(分数:1.00)A.1B.n-1C.nD.n+1 解析:解析 若 a的计
45、算结果为“N”,此时(16)不再执行,至此它比 a多执行了一次,即 n+1次。13.软件的复杂性与许多因素有关。但 (51) 不会影响软件的复杂性。(分数:1.00)A.程序中注释的多少 B.程序的结构C.算法的难易程度D.源程序的代码行数解析:解析 注释只是供人阅读的,它不会对软件的复杂性造成影响,因为编译系统在编译程序时,会忽略所有的注释,注释不会对编译结果造成影响。14.在结构化分析与设计方法中,做到 (52) ,就会在需求改变时对软件的影响比较小。(分数:1.00)A.程序结构与用户界面相对应B.程序结构与问题结构相独立C.程序结构与问题结构相对应 D.程序结构与用户界面相独立解析:解
46、析 Jackson 方法的设计原则是将程序结构和数据结构相对应,该方法特别适用于设计企事业信息管理一类的规模适中的数据处理系统。这些系统处理的数据大多具有层次结构,如文件由记录组成,记录又由数据项组成,所以可以以数据结构为基础,相应地建立模块的层次结构,如处理文件的模块调用处理记录的模块,处理记录的模块又调用处理数据项的模块。15. (53) 维护的含义是系统的硬件环境、软件环境和数据环境发生变化时需要对系统进行的维护。(分数:1.00)A.校正性维护B.适应性维护 C.完善性维护D.预防性维护解析:解析 校正性维护是诊断和修正系统中遗留的错误。适应性维护是为了使系统适应环境的变化而进行的维护工作。完善性维护是指为了扩充原有系统的功能,提高其性能而进行的系统维护工作。预防性维护是指系统维护工作应进行主动的预防性维护,即选择那些还有较长使用寿命,目前尚能正常运行,但可能将要发生变化或调整的系统进行维护。