[计算机类试卷]软件工程基础练习试卷1及答案与解析.doc

上传人:brainfellow396 文档编号:506646 上传时间:2018-11-29 格式:DOC 页数:14 大小:57.50KB
下载 相关 举报
[计算机类试卷]软件工程基础练习试卷1及答案与解析.doc_第1页
第1页 / 共14页
[计算机类试卷]软件工程基础练习试卷1及答案与解析.doc_第2页
第2页 / 共14页
[计算机类试卷]软件工程基础练习试卷1及答案与解析.doc_第3页
第3页 / 共14页
[计算机类试卷]软件工程基础练习试卷1及答案与解析.doc_第4页
第4页 / 共14页
[计算机类试卷]软件工程基础练习试卷1及答案与解析.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、软件工程基础练习试卷 1及答案与解析 1 瀑布模型是传统的软件开发过程模型,它强调各阶段的严格性,其主要缺点是_。 ( A)需要软件人员和用户进行沟通 ( B)需要付出较高的维护成本 ( C)开发的软件不易于移植 ( D)不适应需求不确定的软件开发 2 瀑布模型突出的缺点是不适应 _的变动。 ( A)算法 ( B)平台 ( C)程序语言 ( D)用户需求 3 在软件开发过程中,软件设计包括四个既独立又相互联系的活动,分别为体系结构设计、数据设计和过程设计。 ( A)文档设计 ( B)程序设计 ( C)用户手册设计 ( D)接口设计 4 传统的软件开发模型有瀑布模型、演化模型、螺旋模型和喷泉模型

2、等。图 7-1所示的软件开发过程属于 _模型。 ( A)瀑布 ( B)演化 ( C)螺旋 ( D)喷泉 5 软件开发环境是支持软件产品开发的软件系统,它由 _和环境集成机制构成,环境集成机制包括数据集成、控制集成和界面集成。 ( A)软件工具集 ( B)软件测试工具集 ( C)软件管理工具集 ( D)软件设计工具集 6 如果用户对系统的目标不是很清楚,需求难以定义,这 时最好使用 _进行系统开发。 ( A)原型法 ( B)瀑布模型 ( C) V-模型 ( D)螺旋模型 7 原型化方法是动态确定软件需求的方法之一,该方法适应于 _的系统。 ( A)需求不确定性高 ( B)需求确定 ( C)结构简

3、单 ( D)可移植性好 8 原型化方法是一种动态定义需求的方法, _不具有原型化方法的特征。 ( A)简化项目管理 ( B)尽快建立初步需求 ( C)加强用户参与和决策 ( D)提供严格定义的文档 9 在结构化分析与设计方法中,为了在需求改变时对软件 的影响较小,应该使_。 ( A)程序结构与问题结构相对应 ( B)程序结构与问题结构相独立 ( C)程序结构与用户界面相对应 ( D)程序结构与用户界面相独立 10 结构化程序设计主要强调的是 _。 ( A)程序的规模 ( B)程序的易读性 ( C)程序的执行效率 ( D)程序的可移植性 11 在结构化方法中,软件功能分解属于下列软件开发中的阶段

4、是 _。 ( A)详细设计 ( B)需求分析 ( C)总体设计 ( D)编程调试 12 软件详细设计的主要任务是确定每个模块的 _。 ( A)算法和使用的数据结构 ( B)外部接口 ( C)功能 ( D)编程 13 软件开发过程中,常采用甘特 (Gantt)图描述进度安排。甘特图以 _。 ( A)时间为横坐标、任务为纵坐标 ( B)时间为横坐标、人员为纵坐标 ( C)任务为横坐标、人员为纵坐标 ( D)人数为横坐标、时间为纵坐标 14 关于对象和类的叙述,正确的是 _。 ( A)如果两个对象的所有成员变量的值相同,则这两个对象是同一对象 ( B)编写代码时,不允许使用匿名类 ( C)不同的对象

5、一定属于 不同的类 ( D)每个对象都有唯一标识,以彼此区分 15 _关系描述了某对象由其他对象组成。 ( A)依赖 ( B)一般化 ( C)聚合 ( D)具体化 16 关于对象封装的叙述,正确的是 _。 ( A)每个程序模块中都封装了若干个对象 ( B)封装可实现信息隐藏 ( C)封装使对象的状态不能改变 ( D)封装是把对象放在同一个集合中 17 在面向对象设计中,对象有很多基本特点,其中 “从外面看只能看到对象的外部特性,而对象的内部对外是不可见的 ”这一性质指的是对象的 _。 ( A)分类性 ( B)标识唯一性 ( C)多态性 ( D)封装性 18 在面向对象方法中,实现信息隐蔽是依靠

6、 _。 ( A)对象的继承 ( B)对象的多态 ( C)对象的封装 ( D)对象的分类 19 在面向对象技术中,抽象类是 _。 ( A)接口 ( B)没有方法的类 ( C)没有子类的类 ( D)至少有一个未定义消息的类 20 在面向对象技术中,多态性的含义是 _。 ( A)一个对象可同时指向不同的类的对象 ( B)同一消息在不同时刻可调用不同的方法 ( C)对象 的生存周期中包含对象的多种状态 ( D)不同消息可以调用相同的方法 21 _语言最适用于过程式程序设计。 ( A) C ( B) HTML ( C) Java ( D) PROLOG 22 常见的软件开发模型有瀑布模型、演化模型、螺旋

7、模型、喷泉模型等。其中,(1)适用于需求明确或很少变更的项目, (2)主要用来描述面向对象的软件开发过程。 ( A)瀑布模型 ( B)演化模型 ( C)螺旋模型 ( D)喷泉模型 ( A)瀑布模型 ( B)演化模型 ( C)螺旋模型 ( D)喷泉模型 软件工程基础练 习试卷 1答案与解析 1 【正确答案】 D 【试题解析】 瀑布模型规定了软件开发各阶段具有严格的先后衔接顺序,如瀑布流水,逐级下落。每阶段在上一阶段的结果基础上进行,并给出本阶段的工作成果但瀑布模型缺乏灵活性,特别是无法解决软件需求不明确或不准确的问题,而这些问题的存在可能导致开发出的软件不是用户真正需要的。本题正确答案为选项 D

8、。 【知识模块】 软件工程基础 2 【正确答案】 D 【试题解析】 根据上一题的分析,可以得出结论,本题正确答案为选项 D。 【知识模块】 软件工程基础 3 【正确答案】 D 【试题解析】 软件设计包括的 4个既独立又相互联系的活动分别是:体系结构设计、接口设计、数据设计和过程设计。本题正确答案为选项 D。 【知识模块】 软件工程基础 4 【正确答案】 D 【试题解析】 从图中可以看出,各个开发阶段间具有顺序性和依赖性。这个特点有两重含义: 必须等前一阶段的工作完成之后,才能开始后一阶段的工作。 前一阶段的输出文档就是后一阶段的输入文档,因此,只有前一阶段的输出文档正确,后一阶段的工作才能获得

9、正确的结果。但是,人在工作过程中不可能不犯错误。 在设计阶段可能发现规格说明文档中的错误,而设计上的缺陷或错误可能在实现过程中显现出来,在综合测试阶段将发现需求分析、设计或编码阶段的许多错误。因此,实际的瀑布模型是带 “反馈环 ”的,如图中所示的虚线 (实线箭头表示开发过程,虚线箭头表示维护过程 )。当在后面阶段发现前面阶段的错误时,需要沿图中左侧的反馈线返回前面的阶段,修正前面阶段的产品之后再回来继续完成后面阶段的任务。这个图是典型的瀑布模型。本题正确答案为选项 A。【知识模块】 软件工程基础 5 【正确答案】 A 【试题解析】 软件开发环境是 指支持软件产品开发的软件系统,它由软件工具集和

10、环境集成机制构成。 软件工具集应包括支持软件开发相关过程、活动和任务的软件工具,以对软件开发提供全面的支持。 环境集成机制为工具集成和软件开发、维护和管理提供统一的支持,它通常包括数据集成、控制集成和界面集成。所以,本题应该选择 A。 【知识模块】 软件工程基础 6 【正确答案】 A 【试题解析】 利用原型化方法,可以获取用户需求,在用户的参与下,可以改善和加快需求获取过程。选项 A为正确答案。 【知识模块】 软件工程基础 7 【正确答案】 A 【试题解析】 原型化方法是一种适应于需求不确定的软件系统开发方法,指在获得一组软件基本需求说明后,快速分析构造出一个小型的软件系统,满足用户的基本要求

11、,使得用户可在试用原型过程中得到感受和启发,并做出反应和评价;然后开发者根据用户的意见对原型加以改进,获得新的原型版本,再次交由用户试用、评价。通过重复这一过程,逐步减少分析过程的误解,进一步确定需求细节,适应需求的变更,从而可提高最终产品的质量。综上所述,选项 A为正确答案。 【知识模块】 软件工程基础 8 【正确答案】 D 【试题解析】 原型化方法中,并非所有需求在系统开发前都能明确说明和定义,所以,提供严格定义的文档不是原型化方法的特征。本题正确答案为选项 D。 【知识模块】 软件工程基础 9 【正确答案】 A 【试题解析】 结构化分析与设计方法的目标是获得简单清晰的设计方案,因为这样的

12、方案易于理解和修改。它的设计原则是使程序结构与问题结构相对应。选项A为正确答案。 【知识模块】 软件工程基础 10 【正确答案】 B 【试题解析】 按结构化程序设计方法设计出的程序具有明显的优点,即程序易于理 解、使用和维护,便于控制、降低程序的复杂性,便于验证程序的正确性,程序清晰易读,可理解性好。所以本题正确答案为选项 B。 【知识模块】 软件工程基础 11 【正确答案】 C 【试题解析】 详细设计的任务是:在使用程序设计语言编程以前,对所采用算法的逻辑关系进行分析,并给予清晰的表达。需求分析是指用户对目标软件系统在功能、行为、性能、设计约束等方面的希望。编程调试任务是诊断和改正程序中潜在

13、的错误。软件功能分解只能发生在总体设计阶段。本题正确答案为选项 C。 【知识模块】 软件工程基础 12 【正确答案】 A 【试题解析】 从软件开发的工程化观点来看,在使用程序设计语言编制程序以前,需要对所采用算法的逻辑关系进行分析,设计出全部必要的过程细节,并给予清晰的表达。详细设计的任务就是要决定各个模块的实现算法,并精确表达出这些算法。本题正确答案为选项 A。 【知识模块】 软件工程基础 13 【正确答案】 A 【试题解析】 甘特图由亨利 .甘特于 1910年开发,通过条状图来显示项目,进度和其他时间相关的系统进展的内在关系随着时间进展的情况。其中,横轴表示时间,纵轴表示活动 (任务 )。

14、 线条表示在整个期间上计划和实际的活动完成情况。本题正确答案为选项 A。甘特图可以直观地表明任务计划在什么时候进行,及实际进展与计划要求的对比。管理者由此可以非常便利地弄清每一项任务 (项目 )还剩下哪些工作要做,并可评估工作是提前还是滞后,亦或正常进行。除此以外,甘特图还有简单、醒目和便于编制等特点。 【知识模块】 软件工程基础 14 【正确答案】 D 【试题解析】 两个对象的所有成员变量的值即使都相同,那么,它们在内存中仍然占用两个不同的存储空间。因为它们都有唯一的标识。选项 A的说法是错误的。在 多数面向对象程序设计语言中,编写代码时,允许使用匿名类。选项 B的说法错误。不同的对象可以属

15、于同一类,选项 C的说法错误。选项 D的说法正确,为本题正确答案。 【知识模块】 软件工程基础 15 【正确答案】 D 【试题解析】 两个对象的所有成员变量的值即使都相同,那么,它们在内存中仍然占用两个不同的存储空间。因为它们都有唯一的标识。选项 A的说法是错误的。在多数面向对象程序设计语言中,编写代码时,允许使用匿名类。选项 B的说法错误。不同的对象可以属于同一类,选项 C的说法错误。选项 D的说法正确,为本题正 确答案。 【知识模块】 软件工程基础 16 【正确答案】 B 【试题解析】 封装是将数据和操作数据的方法结合在一起,防止了程序相互依赖而带来的变动影响,使信息隐蔽,外部世界只能通过

16、方法来更改数据或对象状态。选项 B的说法正确。 【知识模块】 软件工程基础 17 【正确答案】 D 【试题解析】 从外面看只能看到对象的外部特性,而对象的内部,即处理能力的实行和内部状态,指的是对象的封装性。本题正确答案为选项 D。 【知识模块】 软件工程基础 18 【正确答案】 C 【 试题解析】 通常认为,面向对象方法具有封装性、继承性、多态性几大特点。就是这几大特点,为软件开发提供了一种新的方法学。 封装性:所谓封装就是将相关的信息、操作与处理融合在一个内含的部件中 (对象中 )。简单地说,封装就是隐藏信息。这是面向对象方法的中心,也是面向对象程序设计的基础。 继承性:子类具有派生它的类

17、的全部属性 (数据 )和方法,而根据某一类建立的对象也都具有该类的全部,这就是继承性。继承性自动在类与子类间共享功能与数据,当某个类作了某项修改,其子类会自动改变,子类会继承其父类所有特性与行为模式。继承有利 于提高软件开发效率,容易达到一致性。 多态性:多态性就是多种形式。不同的对象在接收到相同的消息时,采用不同的动作。例如,一个应用程序包括许多对象,这些对象也许具有同一类型的工作,但是却以不同的做法来实现。不必为每个对象的过程取一过程名,造成复杂化,可以使过程名复用。同一类型的工作有相同的过程名,这种技术称为多态性。经过上述分析可知,在面向对象方法中,实现信息隐蔽是依靠对象的封装。正确答案

18、是选项 C。 【知识模块】 软件工程基础 19 【正确答案】 D 【试题解析】 抽象类通常代表一个抽象概念, 是用来继承的。抽象类中至少有一个未定义的消息,也就是说,至少有一个方法是纯虚拟方法,需要其子类定义实现。选项 D为本题正确答案。 【知识模块】 软件工程基础 20 【正确答案】 B 【试题解析】 多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息,可能会执行不同的方法。本题正确答案为选项 B。 【知识模块】 软件工程基础 21 【正确答案】 A 【试题解析】 对于选项 A, C语言支持过程式程序设计。本题正确答案为选项A。对于选项 B,

19、HTML不是程序设计语言。对于选项 C, Java支持面向对象程序设计。对于选项 D, PROLOG支持逻辑式程序设计。 【知识模块】 软件工程基础 22 【正确答案】 A 【知识模块】 软件工程基础 23 【正确答案】 D 【试题解析】 对于选项 A,瀑布模型:开发模型呈线性,所以当开发成果还未经过测试时,用户无法看到软件的效果。瀑布模型有以下优点: 为项目提供了按阶段划分的检查点。 当前一阶段完成后,只需要去关注后续阶段。 可在迭代模型中应用瀑布模型。 迭 代模型中应用瀑布模型。 瀑布模型有以下缺点: 在项目各个阶段之间极少有反馈。 只有在项目生命周期的后期才能看到结果。 通过过多的强制完

20、成日期和里程碑来跟踪各个项目阶段。 瀑布模型缺乏灵活性,它适用于需求明确,且很少发生较大变化的项目。所以,第 1空的正确答案为选项 A。 对于选项 B,演化模型是一种非整体开发的模型。该模型具有较大的灵活性,适合于软件需求不明确、设计方案有一定风险的软件项目。演化模型和瀑布模型之间的本质区别是:瀑布模型属于整体开发模型,它规定在开始下一个阶 段的工作之前,必须完成前一阶段的所有细节。而演化模型属于非整体开发模型,它推迟某些阶段或所有阶段中的细节,从而较早地产生工作软件。演化模型主要针对事先不能完整定义需求的软件开发,其开发过程一般是首先开发核心系统,当核心系统投入运行后,软件开发人员根据用户的

21、反馈,实施开发的迭代过程,每一迭代过程均由需求,设计、编码、测试、集成等阶段组成,直到软件开发结束。演化模型在一定程度上减少了软件开发活动的盲目性。 对于选项 C,螺旋模型将瀑布模型和演化模型结合起来,并加入了风险分析,弥补了两种模型的不足。螺旋模型适 于大型软件开发。螺旋模型沿着螺线旋转,在 4个象限上分别表达了 4个方面的活动,即制定计划、风险分析、实施工程和客户评估。 对于选项 D,喷泉模型开发过程有分析、系统设计、软件设计和实现 4个阶段。各阶段相互重叠,它反映了软件过程并行性的特点。以分析为基础,资源消耗成塔型。强调增量开发,整个过程是一个迭代的逐步提炼的过程。它体现了软件创建所固有的迭代和无间隙特征,喷泉模型主要用于支持面向对象开发过程。第 2空的正确答案为选项 D。 【知识模块】 软件工程基础

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1