软件工程导论试题.docx

上传人:b****5 文档编号:7652435 上传时间:2023-01-25 格式:DOCX 页数:18 大小:54.50KB
下载 相关 举报
软件工程导论试题.docx_第1页
第1页 / 共18页
软件工程导论试题.docx_第2页
第2页 / 共18页
软件工程导论试题.docx_第3页
第3页 / 共18页
软件工程导论试题.docx_第4页
第4页 / 共18页
软件工程导论试题.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

软件工程导论试题.docx

《软件工程导论试题.docx》由会员分享,可在线阅读,更多相关《软件工程导论试题.docx(18页珍藏版)》请在冰豆网上搜索。

软件工程导论试题.docx

软件工程导论试题

   2009—2010学年第二学期期末考试试题

1.软件危机具有下列表现()。

I.对软件开发成本估计不准确II.软件产品的质量往往靠不住

III.软件常常不可维护IV.软件成本逐年上升

A.I、II和IIIB.I、III和IVC.II、III和IVD.以上都正确

2.软件生命周期一般都被划分为若干个独立的阶段,其中占用精力和费用最多的阶段往往是()。

A.运行和维护阶段B.设计阶段C.代码实现阶段D.测试阶段

3.下列属于软件的特点的是()。

A.软件是一种逻辑实体,具有抽象性B.软件在使用过程中没有磨损、老化的问题

C.软件不同于一般程序,它的一个显著特点是规模庞大,复杂程度高D.以上都正确

4.软件工程的出现是由于()。

A.软件危机的出现B.计算机硬件技术的发展C.软件社会化的需要D.计算机软件技术的发展

5.软件开发技术不包含()。

A.软件开发方法学B.软件工程环境C.软件工具D.软件质量度度量

6.软件工程的课程特点()。

I.学科理论及其知识应用的多维性II.工程化III.浓厚的方法学色彩IV.实践性、指导性强

A.I、II和IIIB.I、III和IVC.II、III和IVD.以上都正确

7.下列属于应用软件的是()。

I.计算机辅助教学软件II.软件测试工具III.办公自动化软件IV.工程与科学计算软件

A.I、II和IIIB.I、III和IVC.II、III和IVD.以上都正确

8.需求分析阶段最重要的技术文档是()。

A.设计说明书B.需求规格说明书C.可行性分析报告D.用户手册

9.以下关于数据流图的说法错误的是()。

A.数据流图舍去了具体的物质,只剩下数据的流动、加工处理和存储

B.数据流图是用作结构化分析的一种工具

C.传统的数据流图中主要由加工、数据源点/终点、数据流、控制流、数据存储组成

D.数据流图的绘制采用自上向下、逐层分解的方法

10.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是()。

A.数据库设计B.数据通信C.数据定义D.数据维护

11.需求分析阶段的研究对象是()。

A.系统分析员要求B.用户要求C.软硬件要求D.系统要求

12.结构化方法的基本原则是()。

A.模块化B.抽象与分解C.信息隐蔽D.逐步求精

13.耦合度最高的是()耦合。

A.环境B.内容C.控制D.数据

14.内聚程度较低的是()内聚。

A.偶然B.通讯C.顺序D.时间

15.对一个程序来说,组成系统的模块数目(),则开发成本越小。

A.越多B.越少C.顺序D.时间

16.画软件结构图时应注意调用关系只能是()。

A.从下到上B.从上到下C.从左到右D.从右到左

17.程序流程图中的“→”代表()。

A.数据流B.控制流C.顺序流D.调用

18.DFD中的“→”代表()。

A.数据流B.文件C.处理D.控制流

19.DFD中的“○”代表()。

A.数据流B.文件C.处理D.控制流

20.DFD中的“_”代表()。

A.数据流B.文件C.处理D.控制流

1.计算机软件不仅仅是程序,还应该有一整套。

2.传统的软件生存期模型是。

3.软件按照功能的不同可以划分为3大类型、和。

4.DFD在软件工程中表示。

5.与是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到内聚、耦合,提高模块的,为设计高质量的软件结构奠定基础。

6.数据流图有四种基本成分:

、、、。

7.12.数据字典有以下四类条目:

、、、。

是组成数据流和数据存储的最小元素。

8.某厂对部分职工重新分配工作的政策是:

年龄有20岁以下者,初中文化程度脱产学习,高中文化程度当电工;年龄有20岁至40岁之间者,中学文化程度男性当钳工,女性当车工,大学文化程度者当技术员;年龄有40岁以上者,中学文化程度当材料员,大学文化程度当技术员。

请用结构化语言、判定表或判定树描述上述问题的加工逻辑。

一、单项选择题

1.D2.A3.D4.D5.D6.D7.B8.B9.C10.C

11.B12.B13.B14.A15.C16.B17.B18.A19.C20.B

二、填空题

1.文档2.瀑布模型3.系统软件支持软件应用软件4.数据流图

5.耦合性内聚性高低独立性

6.数据流加工(又称为数据处理)文件数据的源点或终点

7.数据流数据项文件基本加工数据项

三、简答题

答:

(1)结构化语言。

IF年龄<20

THENIF文化程度=初中

THEN脱产学习

ELSE工作为电工

ENDIF

ELSEIF年龄≤40

THENIF(文化程度=大学)

THEN工作为技术员

ELSEIF性别=男性

THEN工作为钳工

ELSE工作为车工

ENDIF

ENDIF

ELSEIF(文化程度=大学)

THEN工作为技术员

ELSE工作为材料员

ENDIF

ENDIF

ENDIF

(2)判定树如下:

 

单项选择题(每小题1分,共10分)

在结构性的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标(A)

(A)需求分析阶段(B)详细设计阶段(C)概要设计阶段(D)可行性研究阶段软件工程方法中普遍定义的方法之一是结构化生命周期方法(SLC方法),下述哪一个论述不具有SLC方法的主要特征(C)A严格定义需求B划分开发阶段C规范文档格式D分析控制流程

软件结构中两个模块之间有调用关系,传递简单数据值,相当于高级语言中的值传递,这两个模块之间的耦合是(D)(A)公共耦合(B)控制耦合(C)标记耦合(D)数据耦合

软件维护的四类维护活动是(A)

(A)改正性维护,适应性维护,完善性维护和预防性维护。

(B)适应性维护,完善性维护,抢救性维护和辅助性维护。

(C)改正性维护,适应性维护,完善性维护和辅助性维护。

(D)适应性维护,完善性维护,抢救性维护和预防性维护。

主要从(A)几个方面进行系统可行性研究。

(A)技术可行性,经济可行性,操作可行性。

(B)技术可行性,经济可行性,系统可行性。

(C)经济可行性,系统可行性,操作可行性。

(D)经济可行性,系统可行性,时间可行性。

进行需求分析可使用多种工具,但(C)是不适用的。

(A)数据流图(B)判定表(C)PAD图(D)数据字典

软件需求分析阶段的工作,可以分为四个方面:

对问题的识别、分析与综合、编写需求分析文档以及(B)(A)软件的总结(B)需求分析评审(C)阶段性报告(D)以上答案都不对

OMT(ObjectModellingTechnique)方法的第一步是从问题的陈述入手,构造系统模型。

系统模型由对象模型、(C)组成。

A静态模型和功能模型B动态模型和过程模型C动态模型和功能模型D静态模型和操作模型

为了表示项目管理功能工作中各项任务之间的进度衔接关系,常用的计划管理工具是(D)

(A)程序结构图(B)数据流图(C)E-R图(D)甘特(Gantt)图

判断题(每小题1分,共5分)

软件开发的主要任务是写程序。

测试功能是否符合要求是白盒测试。

流图中的区域数等于环形复杂度。

扇出是一个模块直接控制(调用)的模块数目,扇出过大意味着模块过分复杂,需要控制和协调过多的下级模块。

在面向对象程序中,使用继承机制是实现共享和提高重用程度的主要途径。

简答题

简述需求分析的三个层次。

业务需求:

反映了组织机构或客户对系统、产品高层次的目标要求。

用户需求:

文档描述了用户使用产品必须要完成的任务。

功能需求:

定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。

软件测试中一般包含几个步骤?

请分别加以说明。

制定测试计划设计测试用例执行测试撰写测试报告消除软件缺陷完成

说出你所知道的两种估算软件规模的方法的名称,并说明他们的优缺点。

(4分)

软件生命周期都包含哪些阶段,并简述每个阶段的基本任务(5分)

 

①软件生命周期中所花费用最多的阶段是()

A.详细设计B.软件编码C.软件测试D.软件维护

②可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发

的决策依据,因必须给出()的回答。

A.确定B.行或不行C.正确D.无二义

③下列关于瀑布模型的描述正确的是()。

A.瀑布模型的核心是按照软件开发的时间顺序将问题简化。

B.瀑布模型具由于良好的灵活性。

C.瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开。

D.利用瀑布模型,如果发现问题则修改的代价很低。

④详细设计的结果基本决定了最终程序的()

A.代码的规模B.运行速度C.质量D.可维护性

⑤结构化程序设计主要强调的是()

A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序易读性

⑥程序的三种基本控制结构是()

A.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移

⑦确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于()

A、集成测试B、恢复测试C、验收测试D、单元测试

⑧面向对象技术中,对象是类的实例。

对象有三种成份:

()、属性和方法(或操作)。

A.标识B.规则C.封装D.消息

⑨下面关于面向对象方法中消息的叙述,不正确的是()。

A.键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息

B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息

C.应用程序之间可以相互发送消息

D.发送与接收消息的通信机制与传统的子程序调用机制不同

⑩面向对象程序设计中的数据隐藏指的是()。

A.输入数据必须输入保密口令B.数据经过加密处理

C.对象内部数据结构上建有防火墙D.对象内部数据结构的不可访问性

答案:

①D②B③C④C⑤D⑥B⑦C⑧A⑨B⑩D

1.程序设计属于软件开发过程()阶段。

A、设计B、编程C、实现D、编码

2.结构设计是一种应用最广泛的系统设计方法,是以()为基础、自顶向下、逐步求精

和模块化的过程。

A、数据流B、数据流图C、数据库D、数据结构

3.结构化程序设计主要强调程序的()。

A、效率B、速度C、可读性D、大小

4.分析员是()

A、户中系统的直接使用者B、用户和软件人员的中间人

C、软件的编程人员D、用户和软件人员的领导

5.程序的三种基本控制结构的共同特点是()。

A、不能嵌套使用B、只能用来写简单的程序C、已经用硬件实现D、只有一个入口和一个出口

6.软件生产过程中,需求信息由()给出。

A、程序员B、项目管理者C、软件分析设计人员D、软件用户

7.与设计测试数据无关的文档是()。

A、需求说明书B、设计说明书C、源程序D、项目开发设计

8.结构化分析SA方法以数据流图、()和加工说明等描述工具,即用直观的图和简洁的语言来描述软系统模型。

A、DFD图B、数据字典C、IPO图D、PAD图

9.面向数据流的软件设计方法,一般是把数据流图中数据流划分为(),再将数据流图映射为软件结构。

A、数据流和事务流B、交换流和事务流C、信息流和控制流D、交换流和数据流

10.总体设计的结果是提供一份()。

A、模块说明书B、框图C、程序D、数据结构

1.C2.A3.C4.B5.D6.D7.D8.B9.B10.A

1.软件是()。

A.处理对象和处理规则的描述B.程序C.程序及其文档D.计算机系统

2.软件需求规格说明的内容不应包括()。

A.主要功能B.算法的详细描述C.用户界面及运行环境D.软件的性能

3.程序的三种基本控制结构是()。

A.过程、子程序和分程序B.顺序、选择和重复

C.递归、迭代和回溯D.调用、返回和转移

4.面向对象的分析方法主要是建立三类模型,即()。

A)系统模型、ER模型、应用模型B)对象模型、动态模型、应用模型

C)E-R模型、对象模型、功能模型D)对象模型、动态模型、功能模型

5.在E-R模型中,包含以下基本成分()。

A)数据、对象、实体B)控制、联系、对象

C)实体、联系、属性D)实体、属性、操作

6.各种软件维护的类型中最重要的是()。

A)完善性维护B)纠错性维护C)适应性维护D)预防性维护

7.软件测试的目标是()。

A.证明软件是正确的B.发现错误、降低错误带来的风险

C.排除软件中所有的错误D.与软件调试相同

8.软件生命周期中所花费用最多的阶段是()

A.详细设计B.软件编码C.软件测试D.软件维护

9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从

输入的角度考虑一组测试用例:

-1.001,-1.0,1.0,1.001.设计这组测试用例的方法是()

A.条件覆盖法B.等价分类法C.边界值分析法D.错误推测法

10、详细设计的基本任务是确定每个模块的()设计

A.功能B.调用关系C.输入输出数据D.算法

1.C2.B3.B4.D5.C6.A7.B8.D9.C10.D

11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。

对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得

出结论E(P1+P2)>E(P1)+E(P2)就是:

()

A.模块化的根据B.逐步求精的根据C.抽象的根据D.信息隐藏和局部化的根据

12.下面几种白箱测试技术,哪种是最强的覆盖准则()

A.语句覆盖B.条件覆盖C.判定覆盖D.条件组合覆盖

13.面向数据流的设计方法把()映射成软件结构。

A.数据流B.系统结构C.控制结构D.信息流

14.内聚程度最低的是()内聚

A.偶然B.过程C.顺序D.时间

15.确定测试计划是在()阶段制定的.

A.总体设计B.详细设计C.编码D.测试

16.需求分析的产品是()

A.数据流程图案B.数据字典C.判定表D.需求规格说明书

17.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是()

A.数据库设计B.数据通信C.数据定义D.数据维护

18.()引入了“风险驱动”的思想,适用于大规模的内部开发项目。

A.增量模型B.喷泉模型C.原型模型D.螺旋模型

19.模块的内聚性最高的是()

A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚

20.提高测试的有效性非常重要,成功的测试是指()

A.证明了被测试程序正确无误B.说明了被测试程序符合相应的要求

C.未发现被测程序的错误D.发现了至今为止尚未发现的错误__

答案:

11.A12.D13.A14.A15.A16.D17.C18.D19.D20.D

简述软件测试的任务、目的与类型。

答:

软件测试是一个为了寻找软件错误而运行程序的过程。

目的就是为了发现软件中的错误。

一个好的测试用例是指很可能找到迄今为止尚未发现

的错误的用例。

一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。

软件测试

主要分为白盒测试和黑盒测试两大类。

简述软件工程目标和面临的主要问题。

答:

软件工程的目标是应用计算机科学、数学及管理科学等原理开发软件的工程。

它采用经

过实践验证的工程的原则、方法,以提高质量,降低成本。

但是目前的软件开发面临着许多问题:

(1)对软件开发成本和进度的估计常常很不准

确。

(2)用户常对“已完成的”软件系统不满意。

(3)软件产品的质量往往靠不住。

(4)

软件常常很难维护。

(5)软件常常缺乏适当的文档资料。

(6)软件开发生产率提高的

速度,远远跟不上计算机应用迅速普及深入的趋势。

(7)软件成本在计算机系统总成本

中所占的比例逐年上升。

简述软件开发过程、每个里程碑的提交物。

答:

软件开发的基本过程:

(1)可行性研究,做初步的需求分析工作,决定项目可行与否

(2)软件需求分析,软件工程师必须了解软件的信息领域,以及需求的功能、行为、

性能和接口。

系统需求和软件需求均需文档化,并与用户一起复审。

并提交需求分析报

告。

(3)设计,包括总体设计和详细设计,软件设计是一个多步骤的过程,主要是对

软件的数据结构、软件体系结构、界面表示及过程细节进行设计。

设计过程将需求转换

为软件表示,在编码之前可以评估其质量,所有设计均要文档化,它是软件配置的重要

组成部分,经复审后提交相应的概要设计和详细设计报告。

(4)编码,把设计转化为

机器可执行的程序。

提交源程序清单。

(5)测试,提交测试报告。

(6)维护,提交维

护报告。

软件生命周期模型?

瀑布模型?

快速原型模型?

答;概括的说,软件生命周期模型由软件定义、软件开发和运行维护3个时期组成,每个时

期又进一步划分成若干个阶段。

软件生命周期模型有问题定义,可行性研究,需求分析,总体详细设计,总体编码和单元测试,综合测试,软件维护组

瀑布模型是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需

求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,如果有信息未被覆盖或

者发现了问题,那么最好“返回”上一个阶段并进行适当的修改,项目开发进程从一个阶

段“流动”到下一个阶段。

快速原型模型是在用户不能给出完整、准确的需求说明,或者开发者不能确定算法的有

效性、操作系统的适应性或人机交互的形式等许多情况下,可以根据用户的一组基本需

求,快速建造一个原型(可运行的软件),然后进行评估,进一步精化、调整原型,使其

满足用户的要求,也使开发者对将要做的事情有更好的理解。

软件?

软件产品具有哪些特性?

答:

软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的

完整集合。

软件产品具有以下特性:

1、非常复杂;2、成本高;3、风险大;4、维护困难;

可行性分析的目的和主要任务是什么?

答:

可行性分析的目的不是解决问题,而是确定问题是否值得去解决。

主要任务是从下面几方面研究每种解法的可行性:

技术可行性,经济可行性,操作可行

性,社会可行性,抉择可行性。

需求分析的目的和主要任务是什么?

答:

进行需求分析是为了准确地回答“系统必须做什么”这个问题,决定可以做什么不做什

么。

需求分析的主要任务是描述系统的功能需求、性能需求、数据需求、可靠性/可用

性需求、出错处理需求、接口需求、约束条件、其他需求。

总体设计的目的和主要任务是什么?

答:

总体设计的目的是用比较抽象的方法确定系统概要地是如何实现的(Howtodo

generally!

)。

从初步的数据流图导出(设计出)软件结构;根据数据需求设计数据结构

(数据库结构、文件结构设计)。

主要任务是概括地说,如何解决这些问题,系统怎样实现?

划分系统的构成成分(黑盒子),如程序、文件、数据库、人工

操作等。

设计系统的软件结构,即构成模块。

详细设计的目的和主要任务是什么?

答:

在总体设计的基础上,进一步确定软件怎样具体实现,经过这个阶段的设计工作,应该

得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设

计语言书写的程序。

主要任务包括人机界面设计、模块过程设计。

编码的目的和主要任务是什么?

答:

把软件设计结果翻译成用某种程序设计语言书写的程序

软件测试的目的和主要任务是什么(G.J.Myers的观点)?

答:

发现程序中的错误

软件维护的目的和主要任务是什么?

维护的类型有哪些?

答:

软件维护是软件生命周期中最后一个、持续时间最长的阶段。

主要任务是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件,

目的是提高软件的可靠性、可用性,延长软件的寿命。

维护的类型有:

改正性(错误)、适应性(环境)、完善性(功能)、预防性(新产品)

什么是耦合?

模块的耦合包括哪些类型?

答:

耦合是对一个软件结构内不同模块之间互连程度的度量。

模块的耦合包括以下几种类型:

数据耦合,控制耦合,特征耦合,公共环境耦合,内容

耦合,标记耦合,无耦合/非直接耦合

什么是内聚?

模块的内聚包括哪些类型?

答:

内聚标志着一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自

然扩展

模块的内聚包括以下几种类型:

低内聚—偶然内聚,逻辑内聚,时间内聚

中内聚—过程内聚,通信内聚;高内聚—顺序内聚,功能内聚

如何选择程序设计语言的工程特性

答:

1.系统用户的要求2.可以使用的编译程序

3.可以得到的软件工具4.工程规模5.程序员的知识

6.软件可移植性的要求7.软件的应用领域

什么是编码风格?

为什么要强调编码风格?

答:

编码风格包括以下内容:

程序内部良好的文档(注释)、数据说明、语句构造、输入输

出和效率保障等。

因为编码风格对软件的可读性、可维护性、可靠性、可用性很重要,所以要强调编码风

格。

 

一、单选题

1.在软件危机中表现出来的软件质量差的问题,其原因是_______。

A.软件研发人员素质太差

B.用户经常干预软件系统的研发工作

C.没有软件质量标准

D.软件开发人员不遵守软件质量标准

2.在软件质量因素中,软件在异常条件下仍能运行的能力成为软件的_____。

A.安全性

B.健壮性

C.可用性

D.可靠性

3.在下列测试技术中,______不属于黑盒测试技术。

A.等价划分

B.边界值分析

C.错误推测

D.逻辑覆盖

4.软件工程方法是在实践中不断发展着的方法,而早期的软件工程方法主要是指______。

A.原型化方法

B.结构化方法

C.功能化方法

D.面向对象方法

5.______是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。

A.多态

B.继承

C.封装

D.消息

6.Jackson方法是在软件开发过程中常用的方法,使用Jackson方法时可以实现______。

A.从数据结构导出程序结构

B.从数据流图导出初始结构图

C.从模块结构导出数据结构

D.从模块结构导出程

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

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1