数据库系统工程师分类模拟题系统开发和运行维护一有答案.docx
- 文档编号:6118158
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:23
- 大小:55.39KB
数据库系统工程师分类模拟题系统开发和运行维护一有答案.docx
《数据库系统工程师分类模拟题系统开发和运行维护一有答案.docx》由会员分享,可在线阅读,更多相关《数据库系统工程师分类模拟题系统开发和运行维护一有答案.docx(23页珍藏版)》请在冰豆网上搜索。
数据库系统工程师分类模拟题系统开发和运行维护一有答案
数据库系统工程师分类模拟题系统开发和运行维护
(一)
1.下列叙述中,与提高软件可移植性相关的是。
A.选择时间效率高的算法
B.尽可能减少注释
C.选择空间效率高的算法
D.尽量用高级语言编写系统中对效率要求不高的部分
答案:
D
[解答]
软件的可移植性(Portability)是指与一个软件从一个环境转移到另一个环境运行的能力有关的一组属性。
它包括如下内容。
(1)适应性(Adaptability):
是指与软件无须采用有别于为该软件准备的活动或手段就可能适应不同的规定环境有关的软件属性。
(2)可安装性(Installability):
是指与应指定环境下安装软件所需努力有关的软件属性。
(3)遵循性(一致性,Conformance):
是指使软件遵循与可移植性有关的标准或约定的软件属性。
(4)可替换性(Replaceability):
是指与软件在该软件环境中用来替代指定的其他软件的机会和努力有关的软件属性。
为避免可能与互操作性(互用性)的含义相混淆,此处用易替换性而不用兼容性。
特定软件的易替换性并不隐含此软件可由所考虑的软件所替代。
易替换性可能包含易安装性和适应性这两个属性。
我们现在来看题目的备选答案,首先可以排除的是选项B“尽可能减少注释”,注释本来就是给人看的东西,不是给机器看的,注释是不会生成目标代码的。
减少注释只会使程序的可读性变差,不会提高可移植性。
选择时间效率高的算法能提高程序的运行速度,选择空间效率高的算法可以减少程序运行时所需内存。
但这都和可移植性没什么关联。
选项D所说的“尽量用高级语言编写系统中对效率要求不高的部分”是与可移植性有关的,这句话可以反过来看,也就是说如果一个系统所有部分都用低级语言来编写将是什么状况。
比如说汇编语言就是一种低级语言,这种语言中直接用到了大量寄存器,而我们知道不同的系统中寄存器的数量和特性是不同的,所以用低级语言写的代码虽执行的效率很高,但可移植性却并不好。
因此,正确的答案应为D。
软件开发模型用于指导软件的开发。
演化模型是在快速开发一个2的基础上,逐步演化成最终软件的。
螺旋模型综合了3的优点,并增加了4。
喷泉模型描述的是面向5的开发过程,反映了该开发过程的6特征。
2.
A.模块
B.运行平台
C.原型
D.一主程序
答案:
C
3.
A.瀑布模型和演化模型
B.瀑布模型和喷泉模型
C.演化模型和喷泉模型
D.原型模型和喷泉模型
答案:
A
4.
A.质量评价
B.进度控制
C.版本控制
D.风险分析
答案:
D
5.
A.数据流
B.数据结构
C.对象
D.构件(component)
答案:
C
6.
A.迭代和有间隙
B.迭代和无间隙
C.无迭代和有间隙
D.无迭代和无间隙
答案:
B
[解答]
软件开发模型是指软件开发的全部过程、活动和任务的结构框架。
主要的开发模型有瀑布模型、演化模型、螺旋模型、喷泉模型和智能模型。
1.瀑布模型
请读者参考第1题的分析。
2.演化模型
演化模型是在快速开发一个原型的基础上,根据用户在试用原型的过程中提出的反馈意见和建议,对原型进行改进,获得原型的新版本。
重复这一过程,直到演化成最终的软件产品。
3.螺旋模型
螺旋模型是一个经典的开发模型,它是在结合瀑布模型和演化模型优点的基础上,再加上两者都忽视了的风险分析建立起来的。
螺旋型项目从小规模开始,然后探测风险,制订风险控制计划,接着确定下一步项目是否还要继续,然后进行下一个螺旋的反复。
该模型的最大优点就是随着成本的增加,风险程度随之降低。
然而螺旋模型的缺点是比较复杂,且需要管理人员有责任心、专注并有管理经验。
螺旋线第一圈的开始点可能是一个概念项目,是可能被舍弃不用的项目。
它以原型为基础,沿着螺线自内向外旋转,每旋转一圈都要经过制订计划、风险分析、实施工程、客户评价等活动,并开发原型的一个新版本。
经过若干次螺旋上升的过程,得到最终的软件。
4.喷泉模型
喷泉模型主要用来描述面向对象的开发过程。
它体现了面向对象开发过程的迭代和无间隙特征。
迭代意味着模型中的开发活动常常需要多次重复;无间隙是指开发活动(如分析、设计)之间不存在明显的边界,各项开发活动往往交叉迭代地进行。
喷泉模型对软件复用和生存周期中多项开发活动的集成提供了支持。
5.智能模型
智能模型是基于知识的软件开发模型,它综合了上述若干模型,并把专家系统结合在一起。
该模型应用基于规则的系统,采用归约和推理机制,帮助软件人员完成开发工作,并使维护在系统规格说明一级进行。
7.概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是。
A.把软件划分成模块
B.确定模块之间的调用关系
C.确定各个模块的功能
D.设计每个模块的伪代码
答案:
D
[解答]
在概要设计阶段,设计人员将系统划分为一个个具有特定功能的模块,并给出相应模块的功能、模块间的联系与调用关系、决定模块的界面等。
详细设计阶段的主要工作之一就是根据概要设计的文档,设计每个模块的伪代码。
8.开发专家系统时,通过描述事实和规则由模式匹配得出结论,这种情况下适用的开发语言是。
A.面向对象语言
B.函数式语言
C.过程式语言
D.逻辑式语言
答案:
D
[解答]
面向对象语言(Object-OrientedLanguage)是一类以对象作为基本程序结构单位的程序设计语言,指用于描述的设计是以对象为核心的,而对象是程序运行时刻的基本成分。
语言中提供了类、继承等成分。
函数式语言。
这种语言的语义基础是基于数学函数概念的值映射的丸算子可计算模型。
这种语言非常适合于进行人工智能等工作的计算。
典型的函数式语言如Lisp、Haskell、ML、Scheme等。
函数式程序设计是一种强调表达式赋值而不是执行命令的程序设计。
过程式语言是一种通过指明一列可执行的运算及运算的次序来描述计算过程的语言。
非过程式语言是一种不显式地指明处理细节的程序设计语言。
逻辑式语言。
这种语言的语义基础是基于一组已知规则的形式逻辑系统。
这种语言主要用于专家系统的实现中。
最著名的逻辑式语言是Prolog。
9.项目管理工具中,将网络方法用于工作计划安排的评审和检查的是。
A.Gantt图
B.PERT网图
C.因果分析图
D.流程图
答案:
A
[解答]
本题考查考生对项目开发中用到的几种图形的理解。
(1)Gantt图(甘特图):
以水平线段表示任务的工作阶段:
线段的起点和终点分别对应着任务的开工时间和完成时间;线段的长度表示完成任务所需的时间。
从甘特图上可以很清楚地看出各子任务在时间上的对比关系,并以文档编制与评审作为软件开发进度的里程碑。
甘特图的优点是标明了各任务的计划进度和当前进度,能动态地反映软件开发进展情况。
缺点是难以反映多个任务之间存在的复杂的逻辑关系。
(2)PERT网图:
PERT图也叫做计划评审技术,它采用网络图来描述一个项目的任务网络。
不仅可以表达子任务的计划安排,还可以在任务计划执行过程中估计任务完成的情况,分析某些子任务完成情况对全局的影响,找出影响全局的区域和关键子任务,以便及时采取措施,确保整个项目的完成。
(3)因果分析图:
又叫特性要素图、树枝图和鱼刺图等,是质量管理常用工具之一。
(4)流程图:
流程图以图解方式来说明实现一个解决方案所需完成的一系列操作。
10.CMM模型将软件过程的成熟度分为5个等级。
在使用定量分析来不断地改进和管理软件过程。
A.优化级
B.管理级
C.定义级
D.可重复级
答案:
A
[解答]
CMM模型将软件过程的成熟度分为5个等级,分别如下。
(1)初始级:
软件过程的特点是无秩序的,有时甚至是混乱的。
软件过程定义几乎处于无章法和步骤可循的状态,软件产品所取得的成功往往依赖于极个别人的努力和机遇。
初始级的软件过程是未加定义的随意过程,项目的执行是随意甚至是混乱的。
也许,有些企业制定了一些软件工程规范,但若这些规范未能覆盖基本的关键过程要求,且执行没有政策、资源等方面的保证时,那么它仍然被视为初始级。
(2)可重复级:
已经建立了基本的项目管理过程,可用于对成本、进度和功能特性进行跟踪。
对类似的应用项目,有章可循并能重复以往所取得的成功。
焦点集中在软件管理过程上。
一个可管理的过程则是一个可重复的过程,一个可重复的过程则能逐渐演化和成熟。
从管理角度可以看到一个按计划执行的、且阶段可控的软件开发过程。
(3)定义级:
用于管理和工程的软件过程均已文档化、标准化,并形成整个软件组织的标准软件过程。
全部项目均采用与实际情况相吻合的、适当修改后的标准软件过程来进行操作。
要求制定企业范围的工程化标准,而且无论是管理还是工程开发都需要一套文档化的标准,并将这些标准集成到企业软件开发标准过程中去。
所有开发的项目需根据这个标准过程,剪裁出项目适宜的过程,并执行这些过程。
过程的剪裁不是随意的,在使用前需经过企业有关人员的批准。
(4)管理级:
软件过程和产品质量有详细的度量标准。
软件过程和产品质量得到了定量的认识和控制。
(5)优化级:
通过对来自过程、新概念和新技术等方面的各种有用信息的定量分析,能够不断地、持续地进行过程改进。
有关CMM/MMI的知识,请读者阅读希赛网软件工程频道中的CMM/CMMI专栏或者过程改进专栏(http:
//
模块内聚度用于衡量模块内部各成分之间彼此结合的紧密程度。
1.一组语句在程序中多处出现,为了节省内存空间把这些语句放在一个模块中,该模块的内聚度是11的。
2.将几个逻辑上相似的成分放在一个模块中,该模块的内聚度是12的。
3.模块中所有成分引用共同的数据,该模块的内聚度是13的。
4.模块内某成分的输出是另一些成分的输入,该模块的内聚度是14的。
5.模块中所有成分结合起来完成一项任务,该模块的内聚度是15的。
它具有简明的外部界面,由它构成的软件易于理解、测试和维护。
11.
A.功能性
B.顺序性
C.通信性
D.过程性
E.偶然性
F.瞬时性
G.逻辑性
答案:
E
12.
A.功能性
B.顺序性
C.通信性
D.过程性
E.偶然性
F.瞬时性
G.逻辑性
答案:
G
13.
A.功能性
B.顺序性
C.通信性
D.过程性
E.偶然性
F.瞬时性
G.逻辑性
答案:
C
14.
A.功能性
B.顺序性
C.通信性
D.过程性
E.偶然性
F.瞬时性
G.逻辑性
答案:
B
15.
A.功能性
B.顺序性
C.通信性
D.过程性
E.偶然性
F.瞬时性
G.逻辑性
答案:
A
[解答]
软件概要设计是以需求分析所产生的文档为依据,着手解决实现“需求”的软件体系结构,简称软件结构。
就像建筑工程中的盖大楼,需求分析主要是确定要盖满足什么样功能的大楼,而概要设计就是施工,盖起满足用户要求的大楼的框架。
这一阶段确定软件结构的具体任务是将系统分解成模块,确定各模块的功能及调用关系,将用户的需求分配到适当的位置上去,得出系统的结构图。
软件概要设计的原则是模块化、抽象化和信息隐藏,要达到这些原则,就要求模块具有独立性。
模块内聚度用于衡量模块内部各成分之间彼此结合的紧密程度,模块内聚度由强到弱的顺序如图9-4所示。
(1)功能内聚(FunctionalCohesion):
一个模块中各个部分都是完成某一具体功能必不可少的组成部分,或者说该模块中所有部分都是为了完成一项具体功能而协同工作、:
紧密联系、不可分割的,则称该模块为功能内聚模块。
(2)信息内聚(InformationalCohesion):
这种模块完成多个功能,各个功能都在同一数据结构上操作,每一项功能有一个唯一的入口点。
这个模块将根据不同的要求,确定该执行哪一个功能。
由于这个模块的所有功能都是基于同一个数据结构(符号表),因此,它是一个信息内聚的模块。
信息内聚模块可以看成是多个功能内聚模块的组合,并且达到信息的隐蔽。
即把某个数据结构、资源或设备隐蔽在一个模块内,不为别的模块所知晓。
如果一个模块的各个成分和同一个功能密切相关,而且一个成分的输出作为另一个成分的输入,则称为顺序内聚。
(3)通信内聚(CommunicationCohesion):
如果一个模块内各功能部分都使用了相同的输入数据,或产生了相同的输出数据,则称之为通信内聚模块。
通常,通信内聚模块是通过数据流图来定义的。
(4)过程内聚(ProceduralCohesion):
如果一个模块内部的处理成分是相关的,而且这些处理必须以特定的次序执行,则称为过程内聚。
使用流程图作为工具设计程序时,把流程图中的某一部分划出组成模块,就得到过程内聚模块。
例如,把流程图中的循环部分、判定部分、计算部分分成三个模块,这三个模块都是过程内聚模块。
(5)时间内聚(ClassicalCohesion):
时间内聚又称为经典内聚或瞬时内聚。
这种模块大多为多功能模块,但模块的各个功能的执行与时间有关,通常要求所有功能必须在同一时间段内执行。
例如初始化模块和终止模块。
(6)逻辑内聚(LogicalCohesion):
这种模块把几种相关的功能组合在一起,每次被调用时,由传送给模块的判定参数来确定该模块应执行哪一种功能。
逻辑内聚的模块各成分在功能上并无关系,即使局部功能的修改有时也会影响全局,因此这类模块的修改也比较困难。
(7)巧合内聚(CoincidentalCohesion):
巧合内聚又称为偶然内聚。
当模块内各部分之间没有联系,或者即使有联系,这种联系也很松散,则称这种模块为巧合内聚模块,它是内聚程度最低的模块。
16.采用瀑布模型进行系统开发的过程中,每个阶段都会产生不同的文档。
以下关于产生这些文档的描述中,正确的是。
A.外部设计评审报告在概要设计阶段产生
B.集成测试计划在程序设计阶段产生
C.系统计划和需求说明在详细设计阶段产生
D.在进行编码的同时,独立地设计单元测试计划
答案:
A
[解答]
在软件生产过程中,总是产生和使用大量的信息。
软件文档在产品的开发过程中起着重要的作用。
它能提高软件开发过程的能见度,作为检查软件开发进度和开发质量的依据,实现对软件开发的工程管理,提高开发效率。
软件文档的编制,使得开发人员对各个阶段的工作都进行周密思考、全盘权衡、减少返工。
并且可在开发早期发现错误和不一致性,便于及时加以纠正。
文档作为开发人员在一定阶段的工作成果和结束标志,记录开发过程中有关信息,便于协调以后的软件开发、使用和维护。
文档还提供对软件的运行、维护和培训的有关信息,便于管理人员、开发人员、操作人员、用户之间的协作、交流和了解。
文档使软件开发活动更科学、更有成效。
文档便于潜在用户了解软件的功能、性能等各项指标,为他们选购符合自己需要的软件提供依据。
国家标准《计算机软件产品开发文件编制指南GB8567-88》中规定,在一项软件开发过程,一般地说应该产生十四种文件。
按照文档产生和使用的范围,软件文档大致可分为三类。
(1)开发文档:
软件需求说明书、数据要求说明书、数据库设计说明书、概要设计说明书、详细设计说明书、可行性研究报告、项目开发计划、测试计划和测试分析报告。
(2)管理文档:
项目开发计划、可行性研究报告、测试计划、测试分析报告、开发进度月报、模块开发卷宗和项目开发总结报告。
(3)用户文档:
用户手册、操作手册、维护修改建议和软件需求说明书。
在采用瀑布模型进行系统开发的过程中,系统计划和需求说明在需求分析阶段产生,集成测试计划在概要设计阶段产生,单元测试计划在详细设计阶段产生。
在系统验收测试中,17是在一个模拟的环境下使用模拟数据运行系统;18是在一个实际环境中使用真实数据运行系统。
17.
A.验证测试
B.审计测试
C.确认测试
D.模块测试
答案:
A
18.
A.验证测试
B.审计测试
C.确认测试
D.模块测试
答案:
C
[解答]
系统验收测试是最终用户使用真实数据一段时间后进行的最终系统测试,它给最终用户、管理人员和信息系统操作管理人员最后一次机会决定接收或者拒绝系统。
系统验收测试是一种详细测试,涉及3个层面的验收测试,分别是验证测试、确认测试和审计测试。
(1)验证测试:
在一个模拟环境下使用模拟数据运行系统,它主要寻找错误和遗漏。
(2)确认测试:
在一个实际环境中使用真实数据运行系统。
在确认测试过程中,可以测试性能、峰值负载处理性能、方法和程序测试、备份和恢复测试等。
(3)审计测试:
证实系统没有错误并准备好了,可以正式运行。
软件质量包含多方面的内容,19、20、可移植性、可复用性等是较为重要的质量特性。
在软件开发中,必须采取有力的措施,以确保软件的质量,这些措施至少应包括:
21、22、23。
19.
A.稳定性
B.可靠性
C.数据一致性
D.可维护性
E.可行性
F.数据独立性
答案:
B
20.
A.稳定性
B.可靠性
C.数据一致性
D.可维护性
E.可行性
F.数据独立性
答案:
D
21.
A.在开发初期制订质量保证计划,并在开发中坚持实行
B.开发工作严格按阶段进行,文档工作应在开发完成后集中进行
C.严格执行阶段评审
D.要求用户参与全部开发过程,以监督开发质量
E.开发前选定或制定开发标准或开发规范,并遵照实施
F.争取足够的开发经费和开发人力的支持
答案:
A
22.
A.在开发初期制订质量保证计划,并在开发中坚持实行
B.开发工作严格按阶段进行,文档工作应在开发完成后集中进行
C.严格执行阶段评审
D.要求用户参与全部开发过程,以监督开发质量
E.开发前选定或制定开发标准或开发规范,并遵照实施
F.争取足够的开发经费和开发人力的支持
答案:
C
23.
A.在开发初期制订质量保证计划,并在开发中坚持实行
B.开发工作严格按阶段进行,文档工作应在开发完成后集中进行
C.严格执行阶段评审
D.要求用户参与全部开发过程,以监督开发质量
E.开发前选定或制定开发标准或开发规范,并遵照实施
F.争取足够的开发经费和开发人力的支持
答案:
E
[解答]
软件质量就是软件与明确地和隐含地定义的需求相一致的程度。
具体地说,软件质量是软件与明确叙述的功能和性能需求、文档中明确描述的开发标准,以及任何专业开发的软件产品都应该具有的隐含特征相一致的程度。
软件质量具有以下三个要点:
(1)用户需求是衡量软件质量的基础,与需求不一致就无质量可言。
(2)指定的开发标准定义了一组指导软件开发的准则。
如果没有遵守这些准则,几乎肯定会导致软件质量不高。
(3)通常还有一些没有明确写进用户需求说明书但开发人员都应当了解的隐含需求(例如可理解性、可修改性等)。
如果软件仅满足明确描述的需求,但不满足这些隐含的需求,那么软件的质量仍然是值得怀疑的。
国际标准化组织和国际电工委员会发布了关于软件质量的标准ISO/IEC9126—1991。
ISO/IEC9126软件质量模型由三个层次组成:
第一层是6个质量特性,第二层是21个质量子特性,第三层是度量指标。
该模型的质量特性和质量子特性包括功能性、可靠性、可用性、效率、可维护性、可移植性等。
软件质量保证的主要手段如下:
(1)开发初期制订质量保证计划,并在开发中坚持实行。
(2)开发前选定或制订开发标准或开发规范,并遵照实施。
(3)选择分析设计方法和工具,形成高质量的分析模型和设计模型。
(4)严格执行阶段评审,以便及时发现问题。
(5)各个开发阶段的测试。
(6)对软件的每次变更都要经过申请、评估、批准、实施、验证等步骤。
(7)软件质量特性的度量化。
(8)软件生存期的各阶段都要有完整的文档。
针对以上手段,可知供选答案A,巴E与上面的表述一致。
答案B不正确是因为软件生存期的各阶段都要有完整的文档,而不是在开发完成后集中进行。
在设计测试用例时,24是用得最多的一种黑盒测试方法。
在黑盒测试方法中,等价类划分方法设计测试用例的步骤是:
1.根据输入条件把数目极多的输入数据划分成若干个有效等价类和若干个无效等价类;
2.设计一个测试用例,使其覆盖25尚未被覆盖的有效等价类,重复这一步,直至所有有效等价类均被覆盖。
3.设计一个测试用例,使其覆盖26尚未被覆盖的无效等价类,重复这一步,直至所有无效等价类均被覆盖。
因果图方法是根据27之间的因果关系来设计测试用例的。
在实际应用中,一旦纠正了程序中的错误后,还应选择部分或全部原先已测试过的测试用例,对修改后的程序重新测试,这种测试称为28。
24.
A.等价类划分
B.边值分析
C.因果图
D.判定表
答案:
A
25.
A.1个
B.7个左右
C.一半
D.尽可能少的
E.尽可能多的
F.全部
答案:
E
26.
A.1个
B.7个左右
C.一半
D.尽可能少的
E.尽可能多的
F.全部
答案:
A
27.
A.输入与输出
B.设计与实现
C.条件与结果
D.主程序与子程序
答案:
A
28.
A.验收测试
B.强度测试
C.系统测试
D.回归测试
答案:
D
[解答]
黑盒测试把测试对象看做一个空盒子,不考虑程序的内部逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。
黑盒测试又称为功能测试或数据驱动测试。
黑盒测试方法主要是在程序的接口上进行测试,黑盒测试的测试用例设计方法主要有等价类划分、边界值分析、错误推测法和因果图。
1.等价类划分
在设计测试用例时,等价类划分是用得最多的一种黑盒测试方法。
所谓等价类就是某个输入域的集合,对于一个等价类中的输入值来说,它们揭示程序中错误的作用是等效的。
也就是说,如果等价类中的一个输入数据能检测出一个错误,那么等价类中的其他输入数据也能检测出同一个错误;反之,如果等价类中的一个输入数据不能检测出某个错误,那么等价类中的其他输入数据也不能检测出这一错误(除非这个等价类的某个子集还属于另一等价类)。
如果一个等价类内的数据是符合(软件需求说明书)要求的、合理的数据,则称这个等价类为有效等价类。
有效等价类主要用来检验软件是否实现了软件需求说明书中规定的功能。
黑盒测试中,利用等价类划分方法设计测试用例的步骤如下:
(1)根据软件的功能说明,用每一个输入条件确定若干个有效等价类和若干个无效等价类,并为每个有效等价类和无效等价类编号。
(2)设计一个测试用例,使其覆盖尽可能多的尚未被覆盖的有效等价类。
重复这一步,直至所有的有效等价类均被覆盖。
(3)设计一个测试用例,使其覆盖一个尚未被覆盖的无效等价类。
重复这一步,直至所有的无效等价类均被覆盖。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 工程师 分类 模拟 开发 运行 维护 答案