软件开发和运行维护基础知识.docx
《软件开发和运行维护基础知识.docx》由会员分享,可在线阅读,更多相关《软件开发和运行维护基础知识.docx(18页珍藏版)》请在冰豆网上搜索。
![软件开发和运行维护基础知识.docx](https://file1.bdocx.com/fileroot1/2022-11/17/2675e81e-2ebc-4dbc-b115-7441da3f09c9/2675e81e-2ebc-4dbc-b115-7441da3f09c91.gif)
软件开发和运行维护基础知识
[模拟]软件开发和运行维护基础知识
单选题
软件开发模型(SoftwareDevelopmentModel)是指软件开发全部过程、活动和任务的结构框架。
渐增模型是在快速开发一个
(1) 的基础上,逐步演化成最终的软件。
螺旋模型综合了
(2) 的优点,并增加了(3) 。
喷泉模型描述的是面向(4) 的开发过程,反映了该开发过程的(5) 特征。
第1题:
A.简单模块
B.执行环境
C.原型
D.程序界面
参考答案:
C
第2题:
A.瀑布模型和喷泉模型
B.瀑布模型和演化模型
C.演化模型和喷泉模型
D.原型和喷泉模型
参考答案:
B
第3题:
A.风险分析
B.进度控制
C.版本控制
D.质量控制
参考答案:
A
第4题:
A.数据流
B.数据结构
C.对象
D.构件(Component)
参考答案:
C
第5题:
A.迭代和有间隙
B.无迭代和无间隙
C.无迭代和有间隙
D.迭代和无间隙
参考答案:
D
软件开发模型(SoftwareDevelopmentModel)是指软件开发全部过程、活动和任务的结构框架。
软件开发包括需求、设计、编码和测试等阶段,有时也包括维护阶段。
软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要活动和任务,用来作为软件项目工作的基础。
典型的开发模型有:
①瀑布模型(waterfallmodel);②渐增模型/演化/迭代(incrementalmodel);③原型模型(prototypemodel);④螺旋模型(spiralmodel);⑤喷泉模型(fountainmodel);⑥智能模型(intelligentmodel);⑦混合模型(hybridmodel)。
演化模型主要针对事先不能完整定义需求的软件开发。
用户可以给出待开发系统的核心需求,并且当看到核心需求实现后,能够有效地提出反馈,以支持系统的最终设计和实现。
螺旋模型基本的做法是在“瀑布模型”的每一个开发阶段之前,引入非常严格的风险识别、风险分析和风险控制。
直到采取了消除风险的措施之后,才开始计划下一阶段的开发工作。
喷泉模型(fountainmodel,(面向对象的生存期模型,OO模型))与传统的结构化生存期比较,具有更多的增量和迭代性质,生存期的各个阶段可以相互重叠和多次反复,而且在项目的整个生存期中还可以嵌入子生存期。
就像水喷上去又可以落下来,可以落在中间,也可以落在最底部。
第6题:
下列关于对象消息的观点,不正确的是(6) 。
A.键盘、鼠标等设备有变化时,就会产生消息
B.应用程序对象能向操作系统发送消息
C.应用程序对象之间不可以相互发送消息
D.发送与接收消息的对象通信机制与传统的子程序调用机制不同
参考答案:
C
发送、接收消息是对象间通信的手段,对象之间可以互相发送消息。
JACKSON方法是在软件开发过程中常用的方法,使用JACKSON方法时可以得到(7) ,使用JACKSON方法时可以实现(8) 。
第7题:
A.程序流程图
B.具体的语言程序
C.模块结构图及模块的功能说明书
D.分层数据流图
参考答案:
A
第8题:
A.从数据结构导出程序结构
B.从数据流图导出初始结构图
C.从模块结构导出数据结构
D.从模块结构导出程序结构
参考答案:
A
Jackson方法由M.Jackson提出的,Jackson方法的基本思想和SD方法是一致的,但它不是面向数据流,而是面向数据结构的,在数据结构基础上建立程序结构。
该方法特别使用于设计企事业管理一类的规模适中的数据处理系统。
应用该方法的基本步骤依次是建立系统的数据结构;以数据结构为基础,对应地建立程序结构;列出程序中要用到的各种基本操作,再将这些操作分配到程序结构中适应的模块。
黑盒测试中常用的等价类划分方法是先把程序的(9) 域划分成若干区间,然后从每个区间中选取少数代表性数据当作测试用例。
在使用等价类划分方法时,通常会涉及到两种等价类:
(10) 。
因果图方法是根据(11) 之间的因果关系来设计测试用例的。
在实际应用中,对修改后的程序重新测试称为(12) 。
第9题:
A.判断条件
B.输出
C.结构
D.输入
参考答案:
D
第10题:
A.有效等价类和无效等价类
B.输入等价类和输出等价类
C.判断等价类和测试等价类
D.数据等价类和结构等价类
参考答案:
A
第11题:
A.主程序与子程序
B.设计与实现
C.条件与结果
D.输入与输出
参考答案:
D
第12题:
A.强度测试
B.验收测试
C.回归测试
D.系统测试
参考答案:
C
黑盒测试中常用的等价类划分方法是先把程序的输入域划分成若干区间,然后从每个区间中选取少数代表性数据当作测试用例(由于数量太大,穷举测试一般情况下不可能实现)。
在使用等价类划分方法时,通常会涉及到两种等价类:
有效等价类和无效等价类。
顾名思义,有效等价类就是对程序的规格说明是有意义的合理的输入数据集;无效等价类就是对程序规格说明书不合理或无效的输入数据集。
我们在设计测试用例时,要兼顾这两种情况。
同时要注意一个测试用例只能覆盖一个无效等价类。
这样便于错误定位,防止一个错误表征掩盖了另一个错误。
因果图方法含义:
仅仅将值输入,是不断验证单个数据的情况。
有时候,我们需要将各个数据联系在一起考虑,从而引申出多种组合,这时候有些单个数据完好的功能就可能出现错误。
回归测试是指对修改后的程序重新测试。
一个良好的程序不仅要正确和可靠,而且通常更注重源程序的(13) 。
此外,还应养成良好的编程风格,例如,选择标识符的名字时应考虑(14) ;在书写语句时应考虑(15) ;在书写功能性注解时应考虑(16) 。
源程序中应包含一些内部文档,以帮助阅读和理解源程序,源程序的内部文档通常包括选择合适的标识符、注解和(17) 。
第13题:
A.易理解性、易测试性和易修改性
B.易使用性、易维护性和易移植性
C.易使用性、易维护性和效率
D.易理解性、安全性和效率
参考答案:
B
第14题:
A.多个变量共用一个名字,以减少变量名的数目
B.名字长度越短越好,以减少源程序的输入量
C.选择含义明确的名字,以正确提示所代表的实体
D.尽量用关键字作名字,以使名字标准化
参考答案:
C
第15题:
A.尽量消除表达式中的括号,以简化表达式
B.尽量使用标准文本以外的有特殊功效的语句,以提高程序的功效
C.把多个短的语句写在同一行中,以减少源程序的行数
D.避免使用测试条件“非”,以提高程序的可读性
参考答案:
D
第16题:
A.仅为整个程序作注释
B.仅为每个模块作注释
C.为程序段作注释
D.为每个语句作注释
参考答案:
C
第17题:
A.程序的视觉组织
B.设计良好的输出报表
C.检查输入数据的有效性
D.尽量不用或少用GOTO语句
参考答案:
A
编制一个好的程序首先要确保它的正确性和可靠性,通常更注重源程序的易使用性、易维护性和易移植性。
良好的编程风格包括:
选择标识符的名字时应考虑选择含义明确的名字,以正确提示所代表的实体;在书写语句时应考虑避免使用测试条件“非”,以提高程序的可读性;在书写功能性注解时应考虑为程序段作注解。
源程序的内部文档包括合适的标识符、注解和程序的视觉组织。
进行软件测试是为了(18) ,通常可分为白盒测试和黑盒测试。
白盒测试是根据程序的内部逻辑来设计测试用例,黑盒测试是根据软件的(19) 来设计测试用例。
常用的黑盒测试方法有边值分析、等价类划分、错误猜测、因果图等。
其中,(20) 经常与其它方法结合起来使用。
软件测试的步骤主要有单元测试、集成测试和确认测试。
如果一个软件作为产品被许多客户使用的话,在确认测试时通常要经过。
测试和β测试的过程。
其中,β测试是(21) 进行的一种测试。
在软件设计和编码时,采取(22) 等措施都有利于提高软件的可测试性。
第18题:
A.发现程序中的所有错误
B.尽可能多地发现程序中的错误
C.证明程序是正确的
D.证明程序做了应做的事
参考答案:
B
第19题:
A.编码
B.性能
C.规格说明
D.内部数据
参考答案:
C
第20题:
A.边值分析
B.因果图
C.错误猜测
D.等价类划分
参考答案:
A
第21题:
A.在开发者现场由开发方的非本项目开发人员
B.在开发者现场由用户使用
C.在用户现场由开发方的非本项目开发人员
D.在用户现场由用户使用
参考答案:
D
第22题:
A.不使用标准文本以外的语句,书写详细正确的文档
B.不使用标准文本以外的语句,采用良好的程序结构
C.书写详细正确的文档,信息隐蔽
D.书写详细正确的文档,采用良好的程序结构
参考答案:
D
软件测试的目的是尽可能多地发现程序中的错误,可分为白盒测试和黑盒测试。
白盒测试是根据程序的内部逻辑来设计测试用例,黑盒测试是根据软件的规格说明来设计测试用例。
常用的黑盒测试方法有边值分析、等价类划分、错误猜测、因果图等。
其中,边值分析经常与其它方法结合起来使用。
α测试是在开发者现场由开发方的非本项目开发人员进行的一种测试;β测试是在用户现场由用户使用进行的一种测试。
在软件设计和编码时,采取书写详细正确的文档,采用良好的程序结构等措施都有利于提高软件的可测试性。
面向对象程序设计语言不同于其它语言的主要特点是(23) 。
衡量一个面向对象程序设计语言成熟与否的一个重要标志是是否建立了丰富的(24) 。
一种在类及子类之间自动地共享数据和方法的机制是(25) 。
第23题:
参考答案:
多态性D.消息传递C.继承性D.静态联编
详细解答:
第24题:
A.函数库
B.类库
C.类型库
D.方法库
参考答案:
B
第25题:
A.调用
B.引用
C.消息传递
D.继承
参考答案:
D
面向对象程序设计语言相对于面向过程的程序设计语言有了很大的改进,它的主要特点是继承性、封装性、多态性,但继承性最具有特色,也是与传统方法最不同的一个,继承实际上是存在于面向对象程序中两个类之间的一种关系。
当一个类拥有另一个类的所有数据和操作,就称这两个类之间具有继承关系。
被继承的类称为父类或超类,继承了父类或超类的类成为子类。
是否建立了丰富的类库是衡量一个面向对象程序设计语言成熟与否的一个重要标志。
当程序中存在(26) 时,程序运行容易陷于死循环。
C语言规定,函数定义及函数调用应该遵循的原则是(27) 。
求解同一个问题,采用递归方式编写的程序相对于递推方式的程序执行效率较低的原因是(28) 。
第26题:
A.语法错误
B.静态的语义错误
C.词法错误
D.动态的语义错误
参考答案:
D
第27题:
A.不可以进行函数的嵌套定义,可以进行函数的嵌套调用
B.可以进行函数的嵌套定义,不可以进行函数的嵌套调用
C.既可以进行函数的嵌套定义,也可以进行函数的嵌套调用
D.既不能进行函数的嵌套定义,也不能进行函数的嵌套调用
参考答案:
A
第28题:
A.递归程序经编译后形成较长目标代码,所以需要较多的运行时间
B.递归程序执行时多次复制同一段目标代码占用了较多的时间
C.递归程序执行时一系列的函数调用及返回占用了较多的时间
D.递归程序执行过程中重复存取相同的数据占用了较多的时间
参考答案:
C
编译分析过程能够分析出语法错误和词法错误。
一般情况下静态的语义错误不会造成死循环,造成程序的死循