logo - 刷刷题
下载APP
软件工程题库
软件工程题库 - 刷刷题
题数
11
考试分类
中级信息系统监理师>软件工程
售价
¥5
收藏
分享
去刷题
章节目录
简介
中级信息系统监理师-软件工程
...更多
题目预览
【单选题】
[1/11]与客户端/服务器(Client/Server)架构相比,浏览器服务器(Browser/Server)架构的最大优点是()。
A.
具有强大的数据操作和事务处理能力,模型思想简单,易于人们理解和接受
B.
部署和维护方便、易于扩展
C.
适用于分布式系统,支持多层应用架构
D.
将应用一分为二,允许网络分布操作
参考答案:
B
参考解析:

客户端/服务器(Client/Server,C/S)软件体系结构是基于资源不对等,且为实现共享而提出来的,是20世纪90年代成熟起来的技术。C/S体系结构定义了工作站如何与服务器相连,以实现数据和应用分布到多个处理机上。C/S体系结构有三个主要组成部分:数据库服务器、客户应用程序和网络。
传统的C/S体系结构将应用一分为二,服务器(后台)负责数据管理,客户端(前台)完成与用户的交互任务。服务器为多个客户应用程序管理数据,而客户程序发送、请求和分析从服务器接收的数据,这是一种"胖客户端"、"瘦服务器"的体系结构。
与二层C/S结构相比,在三层C/S体系结构中增加了一个应用服务器。可以将整个应用逻辑驻留在应用服务器上,而只有表示层存在于客户端上。这种结构被称为"瘦客户端"。三层C/S体系结构是将应用功能分成表示层、功能层和数据层三个部分。
表示层是应用的用户接口部分,它担负着用户与应用间的对话功能。它用于检查用户从键盘输入的数据,显示应用输出的数据。为使用户能直观地进行操作,一般要使图形用户界面操作简单、易学易用。
功能层相当于应用的本体,它是将具体的业务处理逻辑编入程序中。例如,在制作订购合同时要计算合同金额,按照定好的格式配置数据、打印订购合同,而处理所需的数据则要从表示层或数据层取得。表示层和功能层之间的数据交往要尽可能简洁。例如,用户检索数据时,要设法将有关检索要求的信息一次性地传送给功能层,而由功能层处理过的检索结果数据也一次性地传送给表示层。
数据层就是数据库管理系统,负责管理对数据库数据的读写。数据库管理系统必须能迅速执行大量数据的更新和检索。现在的主流是关系型数据库管理系统,因此,一般从功能层传送到数据层的要求大都使用SQL语言。
浏览器/服务器(Browser/Server,B/S)风格是上述三层应用结构的一种实现方式,其具体结构为:浏览器/Web服务器/数据库服务器。B/S体系结构主要是利用不断成熟的WWW浏览器技术,结合浏览器的多种脚本语言,用通用浏览器就实现了原来需要复杂的专用软件才能实现的强大功能,并节约了开发成本。从某种程度上来说,B/S结构是一种全新的软件体系结构。
在B/S结构中,除了数据库服务器外,应用程序以网页形式存放于Web服务器上,用户运行某个应用程序时只需在客户端上的浏览器中输入相应的网址,调用Web服务器上的应用程序并对数据库进行操作完成相应的数据处理工作,最后将结果通过浏览器显示给用户。可以说,在B/S模式的计算机应用系统中,应用(程序)在一定程度上具有集中特征。
基于B/S体系结构的软件,系统安装、修改和维护全在服务器端解决。用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了"零客户端"的功能,很容易在运行时自动升级。B/S体系结构还提供了异种机、异种网、异种应用服务的联机、联网、统一服务的最现实的开放性基础。

【单选题】
[2/11]为了提高软件测试的效率,应该(1)。与设计测试用例无关的文档是(2)。空白(1)处应选择()
A.
随机地选取测试数据
B.
取一切可能的输入数据作为测试数据
C.
在完成编码以后制定软件的测试计划
D.
选择发现错误可能性较大的测试用例
参考答案:
D
参考解析:

所谓测试效率,就是指如何在尽量短的时间内发现软件中尽可能多的问题。在软件测试时,需要根据事先编制的测试用例(在测试计划中)进行测试,而不能随机地选取测试数据。从理想状态来讲,如果能取一切可能的输入数据作为测试数据,那是很好的,但事实上这是不现实的,因为不可能穷尽一切可能的输入。
因此,为了提高软件测试的效率,应该选择发现错误可能性较大的测试用例。与设计测试用例无关的文档是项目开发计划,需求规格说明书与确认测试和系统测试有关,设计说明书与单元测试和集成测试有关,源程序与单元测试有关。

【单选题】
[3/11]UML语言不支持的建模方式有()。
A.
静态建模
B.
动态建模
C.
模块化建模
D.
功能建模
参考答案:
C
参考解析:

UML是用来对软件密集系统进行可视化建模的一种语言,为面向对象开发系统的产品进行说明、可视化和编制文档的一种标准语言。UML最适于数据建模、业务建模、对象建模、组件建模。UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言。
它融入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。
UML的目标是以面向对象图的方式来描述任何类型的系统,具有很宽的应用领域。其中最常用的是建立软件系统的模型,但它同样可以用于描述非软件领域的系统,如机械系统、企业机构或业务过程,以及处理复杂数据的信息系统、具有实时要求的工业系统或工业过程等。总之,UML是一个通用的标准建模语言,可以对任何具有静态结构和动态行为的系统进行建模。
在功能建模方面,因为UML继承了OMT方法,而OMT用对象模型、动态模型、功能模型和用例模型共同完成对整个系统的建模,所定义的概念和符号可用于软件开发的分析、设计和实现的全过程,软件开发人员不必在开发过程的不同阶段进行概念和符号的转换。因此,UML也支持功能建模。

【单选题】
[4/11]结构化分析方法(SA)的主要思想是()。
A.
自顶向下、逐步分解
B.
自顶向下、逐步抽象
C.
自底向上、逐步抽象
D.
自底向上、逐步分解
参考答案:
A
参考解析:

结构化分析方法是强调开发方法的结构合理性及所开发软件的结构合理性的软件开发方法。结构是指系统内各个组成要素之间的相互联系、相互作用的框架。结构化开发方法提出了一组提高软件结构合理性的准则,如分解与抽象、模块独立性、信息隐蔽等。
针对软件生存周期各个不同的阶段,它包括了结构化分析(Structured Analysis,SA)、结构化设计(Structured Design,SD)和结构化程序设计(Structured Programming,SP)等方法。结构化分析方法的主要思想是自顶向下、逐步分解。

【单选题】
[5/11]应该在()阶段制定系统测试计划。
A.
需求分析
B.
概要设计
C.
详细设计
D.
系统测试
参考答案:
A
参考解析:

对于软件测试计划的制定,一般要求在需求分析阶段完成确认测试计划和系统测试计划的制定,在概要设计阶段完成集成测试计划的制定,在详细设计阶段完成单元测试计划的制定。

【单选题】
[6/11]DFD中的每个加工至少需要()。
A.
一个输入流
B.
一个输出流
C.
一个输入流或一个输出流
D.
一个输入流和一个输出流
参考答案:
D
参考解析:

数据流图是采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具。
基于计算机的信息处理系统由数据流和一系列的加工构成,这些加工将输入数据流加工为输出数据流,数据流图就是描述数据流和加工的工具,用图形符号表示数据流、加工、数据源及外部实体。

【单选题】
[7/11]为了提高软件测试的效率,应该(1)。与设计测试用例无关的文档是(2)。空白(2)处应选择()
A.
项目开发计划
B.
需求规格说明书
C.
设计说明书
D.
源程序
参考答案:
A
参考解析:

所谓测试效率,就是指如何在尽量短的时间内发现软件中尽可能多的问题。在软件测试时,需要根据事先编制的测试用例(在测试计划中)进行测试,而不能随机地选取测试数据。从理想状态来讲,如果能取一切可能的输入数据作为测试数据,那是很好的,但事实上这是不现实的,因为不可能穷尽一切可能的输入。
因此,为了提高软件测试的效率,应该选择发现错误可能性较大的测试用例。与设计测试用例无关的文档是项目开发计划,需求规格说明书与确认测试和系统测试有关,设计说明书与单元测试和集成测试有关,源程序与单元测试有关。

【单选题】
[8/11]软件的复杂性与许多因素有关,()不属于软件的复杂性参数。
A.
源程序的代码行数
B.
程序的结构
C.
算法的难易程度
D.
程序中注释的多少
参考答案:
D
参考解析:

软件的复杂性与源程序的代码行数、程序的结构、算法的难易程度有关,与程序中注释的多少无关。程序中注释的多少与程序的可阅读性和可理解性有关。

【单选题】
[9/11]通常在软件开发过程的()阶段,无须用户参与。
A.
需求分析
B.
维护
C.
编码
D.
测试
参考答案:
C
参考解析:

软件工程把开发过程分为可行性分析、需求分析、概要设计、详细设计、实现、维护等几个阶段。
(1)可行性分析。在系统开发前,从各个方面对系统进行分析,分析系统的风险和可完成的可能性,判断系统是否有必要继续。
(2)需求分析。从用户的角度去寻找需求,是用户要求的抽象,而不是具体的表现。需求分析是力求能获得用户更多需求来确定系统功能和任务,通俗点讲,就是要确定系统"该做什么"。
(3)概要设计。概要设计是需求分析后的一步,系统必须"做什么"已经清楚了,概要设计的基本目的就是回答"概括地说,系统应该如何实现?"这个问题。概要设计的重要任务就是设计软件的结构,也就是要确定系统是由哪些模块组成的,以及这些模块相互间的关系。
(4)详细设计。在经过概要设计后,基本确定了系统的模块与模块间的关系,详细设计的任务就是为每个模块设计其实现的细节(包括算法设计、界面设计等)。详细设计阶段的根本目标是确定应该怎样具体地实现所要求的系统,得出对目标系统的精确描述。
(5)实现阶段。实现阶段包括编码、调试和测试。详细设计后,系统基本变得明朗起来,编码是根据详细设计的结果进行程序代码编写,真正将用户的需求赋予实现。在编码过程中,无须用户的参与。调试的主要任务是检验编码时的错误并改正,从而确保系统能正常运行。在实现阶段还有一项重要工作是测试,测试的目的是发现程序中的错误。
(6)系统维护。这是一项长期的工作,系统并不是在提交给用户使用后就算彻底完成了,在提交给用户使用后,系统还可能遇到这样或那样的问题,这就需要系统开发者去维护。

【单选题】
[10/11]软件开发中,常用()作为软件调试技术。
A.
边界值分析
B.
演绎法
C.
循环覆盖
D.
集成测试
参考答案:
B
参考解析:

软件调试与成功的测试形影相随。软件测试成功的标志是发现了错误,而软件调试则是在软件测试成功后,根据错误迹象确定错误的原因和准确位置,并加以改正。
软件调试是程序员自己进行的技巧性很强的工作,要确定发生错误的内在原因和位置不是一件容易的事,它占整个调试工作量的90%左右。调试工作的困难与人的心理因素和技术因素都有关系,需要繁重的脑力劳动和丰富的经验。常用的调试技术有归纳法、演绎法和回溯法。
归纳法是一种从特殊到一般的思维过程,从对个别事例的认识当中概括出共同特点,得出一般性规律的思考方法。归纳法调试从测试结果发现的线索入手,分析它们之间的联系,导出错误原因的假设,然后再证明或否定这个假设。
演绎法是一种从一般的推测和前提出发,运用排错和推断过程作出结论的思考方法。演绎法调试是列出所有可能的错误原因的假设,然后利用测试数据排除不适当的假设,最后再用测试数据验证余下的假设确实是出错的原因。
回溯法从程序产生错误的地方出发,人工沿程序的逻辑路径反向搜索,直到找到错误的原因为止。该方法是对小型程序寻找错误位置的有效方法。