文档库 最新最全的文档下载
当前位置:文档库 › 软件工程试卷(一)试卷(二)

软件工程试卷(一)试卷(二)

软件工程试卷(一)试卷(二)
软件工程试卷(一)试卷(二)

《软件工程》试卷(一)

一、单项选择题

1、在结构化设计(SD)方法中全面指导模块划分的最重要的原则是( )

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、下列属于维护阶段的文档是( )

A、软件规格说明

B、用户操作手册

C、软件问题报告

D、软件测试分析报告

9、不适合作为科学工程计算的语言是( )

A、Pascal

B、C

C、Fortran

D、 Prolog

10、研究开发所需要的成本和资源是属于可行性研究中的( )研究的一方面。

A. 技术可行性

B. 经济可行性

C. 社会可行性

D. 法律可行性

11、中级结构性成本模型COCOMO是一个( )

A、静态单变量模型

B、动态单变量模型

C、静态多变量模型

D、动态多变量模型

12、PAD图为()提供了有力的工具。

A、系统分析

B、软件的自动化生成

C、自动分析数据

D、测试软件

13、下列关于JSP方法不正确的说法是( )

A、JSP方法主要用于规模不大的数据处理系统

B、JSP方法不明确的划分软件概要设计和详细设计的两个阶段

C、JSP方法适用于输入数据和输出数据之间有对应关系的问题求解

D、JSP方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。因此它只适

用于详细设计阶段

14、在详细设计阶段,经常采用的工具有()

A、PAD

B、SA

C、SC

D、DFD

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

A、集成测试

B、恢复测试

C、验收测试

D、单元测试

16、盒图(N-S图)为()提供了有力的工具。

A、系统分析

B、软件的自动化生成

C、自动分析数据

D、测试软件

17、( )是比较理想的可重用软构件。

A.子程序库

B.源代码包含文件

C.对象

D.类

18、需求分析阶段的任务是确定()

A、软件开发方法

B、软件开发工具

C、软件开发费

D、软件系统的功能

19、下列文档与维护人员有关的有( )

A、软件需求说明书

B、项目开发计划

C、概要设计说明书

D、操作手册

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

A、过程、子程序和分程序

B、顺序、选择和重复

C、递归、堆栈和队列

D、调用、返回和转移

21、软件生存周期中时间最长的是()阶段。

A、总体设计

B、需求分析

C、软件测试

D、软件维护

22、为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,所以()的编制是很重要的。

A、需求说明

B、概要说明

C、软件文档

D、测试计划

23、软件部件的内部实现与外部可访问性的分离,是指软件的()。

A、继承性

B、共享性

C、封装性

D、抽象性

24、单元测试是发现编码错误,集成测试是发现模块的接口错误,确认测试是为了发现功能错误,那么系统测试是为了发现()的错误。

A、接口错误

B、编码错误

C、性能、质量不合要求

D、功能错误

25、软件工程管理对软件项目的开发管理,即对整个软件()的一切活动的管理。

A、软件项目

B、生存期

C、软件开发计划

D、软件开发

二、名词解释

1、数据流图

2、软件维护

3、软件测试

4、程序的可维护性

5、软件生存周期

三、简答题

1、简述软件结构设计的启发式原则。

2、简述结构化程序设计方法的基本要点

3、简述需求分析的原则。

4、简述软件生命周期开发方法的基本过程及每个阶段的任务。

四、论述题

1、你认为“软件就是程序”这一个观点正确吗?如果不正确,请批驳之。

2、试论软件界面友好设计的重要性。

3、试述软件开发工具对软件开发的影响。

五、应用设计题

1、某图书出版公司希望每月定期向固定客户邮寄最近一个月的图书分类目录。客户可在其收到的目录上圈定自己要买的书。出版公司按照客户的反馈信息邮寄图书。要求为出版公司设计软件,以实现以下功能:

(1)自动生成图书分类目录;

(2)自动处理客户反馈信息。

试用面向数据流的方法给出系统的数据流图,并设计出软件结构图。

2、现为某银行开发一个计算机储蓄管理系统。要求系统能够完成:将储户填写的存款单或取款单输入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,同时要求储户输入口令,并打印出存款单给储户;如果是取款,则系统首先要求储户输入口令,储户身份确认后,系统计算结算清单给储户,结算清单中的信息包括本息金额和利息金额。

试根据要求画出该系统的数据流程图。

《软件工程》试卷(二)

一、单项选择题

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、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( )

A、条件覆盖法

B、等价分类法

C、边界值分析法

D、错误推测法

8、软件详细设计主要采用的方法是( )

A、模块设计

B、结构化设计

C、PDL语言

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、CASE工具的支持

B、如何开发演化型模型

C、项目主管的支持

D、开发人员的素质

16、程序流程图(框图)中的箭头代表( )。

A.数据流

B.控制流

C.调用关系

D.组成关系

17、一个只有顺序结构的程序,其环形复杂度是( )。

A.0

B.1

C.3

D.不确定的

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

策依据,因此必须给出什么样的回答。()

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

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

A、程序的规模

B、程序的效率

C、程序设计语言的先进性

D、程序易读性

20、对象实现了数据和操作的结合,使数据和操作()于对象的统一体中。

A、结合

B、隐藏

C、封装

D、抽象

21、软件概要设计结束后得到()

A、初始化的软件结构图

B、优化后的软件结构图

C、模块的接口图和详细算法

D、程序编码

22、软件需求是度量软件质量的基础,不符合需求的软件就不具备()

A、软件的特点

B、质量

C、软件产品

D、功能

23、软件特性中,程序能够满足规格说明和完成用户业务目标的程度,称作()

A、正确性

B、移植性

C、可靠性

D、完整性

24、为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,所以()的编制是很重要的。

A、需求说明

B、概要说明

C、软件文档

D、测试计划

25、系统因错误而发生故障时,仍然能在一定程度上完成预期的功能,则把该软件称为()。

A、软件容错

B、系统软件

C、测试软件

D、恢复测试

二、名词解释

1、程序的可维护性

2、容错技术

3、结构化维护

4、软件生存周期

5、模块独立性

三、简答题

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

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

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

4、简述软件工程的七条基本原理。

四、论述题

1、试论面向对象方法较之结构化方法的先进性。

2、试述软件开发工具对软件开发的影响。

3、试论文档在软件开发过程中的重要性。

五、应用设计题

1、一个软件公司有许多部门,分为开发部门和管理部门两种。每个开发部门开发多个软件产品。每个部门由部门名字唯一确定。该公司有许多员工,员工分为经理、工作人员和开发人员。开发部门有经理和开发人员,管理部门有经理和工作人员。每个开发人员可参加多个开发项目,

每个开发项目需要多个开发人员,开发人员使用语言开发项目。每位经理可主持多个开发项目。请建立该软件公司的对象模型。

2、某考务中心准备开发一个成人自学考试系统考务管理系统,经过调研,该系统有如下的功能:

(1)对考生填写的报名单进行审查,对合格的考生,编好准考证发给考生,汇总后的报名单送给阅卷站;

(2)给合格的考生制作考试通知单,将考试科目、时间、地点安排告诉考生;

(3)对阅卷站送来的成绩进行登记,按当年标准审查单科合格者,并发成绩单,对所考专业各科成绩全部合格者发给大专毕业证书;

(4)对成绩进行分类(按地区、年龄、职业、专业、科目等分类)产生相应统计表;

(5)查询:考生可按准考证号随时查询自己的各科成绩。

试根据要求画出该系统的数据流程图。

《软件工程》试卷(一)参考答案

一、

1.d 2.c 3.a 4.c 5. c 6.b

7.c 8.c 9.d 10.B 11.a 12.b

13.B 14.a 15.c 16.b 17.d 18.d

19.c 20. b 21. d 22. c 23. c 24. c

25. b

二、

1.数据流图:是描述数据处理过程的工具。它从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。

2.软件维护是软件生命周期的最后一个阶段,是在软件已经交付给用户使用之后,为了改正软件错误或满足新的需要而修改软件的过程。它包括四种类型的维护活动:改正型维护、适应型维护、预防型维护和完善型维护。

3.软件测试是一个为了寻找软件错误而运行程序的过程。目的就是为了发现软件中的错误。一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例。一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。

4.程序的可维护性:为满足用户新的需求,或当环境发生了变化,或运行中发现了新的错误时,对一个已投入运行的软件进行相应诊断和修改所需工作量的大小。

5. 软件生存周期是指从提出软件开发要求开始,直到该软件报废不用为止的整个时期。这个时期又分为若干个阶段,对软件生产的管理和进度控制有重要作用,使软件的开发有相应的模式、流程、工序和步骤。

三、

1.

(1)改进软件结构提高模块独立性;

(2)模块规模要适中;

(3)深度、宽度、扇出和扇入都应适当;

(4)模块的作用域应该在控制域内;

(5)力争降低模块接口的复杂度;

(6)设计单入口单出口的模块;

(8)模块功能应该可以预测。

2.

(1)采用自顶向下,逐步求精的程序设计方法。

(2)使用三种基本控制结构构造程序,分别是顺序,选择和循环

(3)采用主程序员组的组织形式。

(4)采用单入口单出口的模块形式。

3.需求分析阶段的基本过程包括四个方面:对问题的识别,分析与综合,制定规格说明以及评审。(1)问题识别,系统分析人员要研究计划阶段产生的可行性分析报告和软件项目实施计

划。然后进行功能需求、性能需求、环境需求、可靠性需求安全保密需求、用户界面需求、资源使用需求等方面的工作。(2)分析与综合,分析员需从数据流和数据结构出发,逐步细化所有的软件功能,找出系统各元素之间的联系、接口特性和设计上的限制,分析他们是否满足功能需求,是否合理。(3)制定规格说明,编写需求分析的文档。(4)需求分析评审。为保证软件需求定义的质量,评审应以专门指定的人员负责,并按规程严格执行。

4、简述软件生命周期开发方法的基本过程及每个阶段的任务。

(1)问题定义阶段,尽可能清楚地描述问题,搞清楚要解决的问题是什么;

(2)可行性研究阶段,主要是确定待解的问题是否有可行的解决办法。需要做经济可行性分析、技术可行性分析、操作可行性分析和法律可行性分析;

(3)需求分析阶段,主要是确定目标系统必须具备的功能。通常用数据流图、数据字典和简要的算法表示系统的逻辑模型。

(4)总体设计阶段,从总体上解决问题,确定可实现的方案,并设计出软件的层次结构图;

(5)详细设计,把解法具体化,确定如何具体地实现这个系统。针对每个模块设计相应的算法;

(6)编码和单元测试阶段,把详细设计的结果翻译成选定的语言所写的程序,并对每个模块进行单元测试。

(7)测试阶段,系统地设计测试用例,尽可能多地发现软件中的错误,并调试改正软件中的错误;

(8)软件维护阶段,主要目的是通过修改软件使所开发的软件能够持久地满足用户的需要。

四、

1. 请从以下几个方面结合自己的经验实例加以论述。

软件就是程序的观点是不正确的,因为软件等于程序加文档加数据。

(1)文档是软件的一个非常重要的组成部分,在软件的开发过程中起着非常重要的作用。

(2)在软件开发的每一个阶段都应有相应的文档。它是开发人员与用户以及开发人员与项目管理人员之间交流的媒介

(3)文档是软件在不同阶段的表现形式。

(4)程序与文档必须一致,文档才有价值。

(5)文档质量直接决定软件质量的高低。

(6)文档也是软件测试和维护的依据。在没有文档或文档不全的情况下对大型软件进行测试与维护是不可思议的事情。

(7)文档是软件可重用的依据。

2.最终用户能够看到的是软件界面,软件界面是用户与计算机交互的接口。如果界面不友好,用户不愿意使用,那么软件的功能再强,也是没有用的。这就要求软件界面应以用户为中心进行设计。设计应遵循以下的原则:(1)一致性,菜单选择、命令输入、数据显示等功能应使用一致的风格。(2)提供有意义的反馈。(3)允许取消大多数操作。(4)减少在动作间必须记忆的信息量。(5)在对话、移动和思考中提高效率。(6)允许错误。(7)按功能对动作分类,并据此安排屏幕布局。(8)提供上下文相关的帮组机制。(9)命令用简单的动词或动词短语命名。只有用户愿意使用的软件才是好的软件,所以软件界面设计的好坏直接影响软件的质量。

3.软件开发工具应用于软件开发可以大幅度地提高软件生产率,提高软件质量。方便软件管理,便于软件重用,减少低级重复劳动,支持快速原型设计,便于用户和开发人员的交流。降低大型复杂软件的开发难度。

五、1、

2、

《软件工程》试卷(二)参考答案

一、

1.c 2.b 3.c 4.a 5. b 6.d

7.c 8.c 9.B 10.c 11.a 12.c 13.a

14.c 15.D 16.a 17.b 18.b

19.d 20.c 21. b 22. b 23. a

24. c 25.a

二、

1.程序的可维护性:为满足用户新的需求,或当环境发生了变化,或运行中发现了新的错误时,对一个已投入运行的软件进行相应诊断和修改所需工作量的大小。

2.容错技术:对那些无法避开的差错,使其影响减少至最小的技术。也就是说,当错误发生时,尽可能地不影响其它的系统元素,或是把用户的影响限制在某些容许的范围内。

3. 结构化维护: 如果维护工作是从评价完整的软件配置开始入手,确定软件的重要结构特点、性能特点以及接口特点;估量要求的改动将带来的影响,并且计划实施途径。然后首先修改设计并且对所做的修改进行仔细审查。接下来编写相应的源程序代码;使用在测试说明书中包含的信息进行回归测试;最后,把修改后的软件再次交付使用。

4. 软件生存周期是指从提出软件开发要求开始,直到该软件报废不用为止的整个时期。这个时期又分为若干个阶段,对软件生产的管理和进度控制有重要作用,使软件的开发有相应的模式、流程、工序和步骤。

5. 模块独立性: 是模块化、抽象和信息隐蔽的直接产物。每个模块只要完成独立的功能,与其它模块联系越少,则模块的独立性就越强。通过模块与模块之间的耦合性和模块内部的内聚性来衡量模块的独立性。

三、

1.

软件测试是一个为了寻找软件错误而运行程序的过程。目的就是为了发现软件中的错误。一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例。一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。软件测试主要分为白盒测试和黑盒测试两大类。

2.软件工程的目标就是建造高质量的软件。但是目前的软件开发面临着许多问题:(1)对软件开发成本和进度的估计常常很不准确。(2)用户常对“已完成的”软件系统不满意。(3)软件产品的质量往往靠不住。(4)软件常常很难维护。(5)软件常常缺乏适当的文档资料。(6)软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。(7)软件成本在计算机系统总成本中所占的比例逐年上升。

3.软件开发的基本过程:(1)可行性研究,做初步的需求分析工作,决定项目可行与否(2)软件需求分析,软件工程师必须了解软件的信息领域,以及需求的功能、行为、性能和接口。系统需求和软件需求均需文档化,并与用户一起复审。并提交需求分析报告。(3)设计,包括概要设计和详细设计,软件设计是一个多步骤的过程,主要是对软件的数据结构、软件体系结构、界面表示及过程细节进行设计。设计过程将需求转换为软件表示,在编码之前可以评估其质量,所有设计均要文档化,它是软件配置的重要组成部分,经复审后提交相应的概要设计和详细设计报告。(4)编码,把设计转化为机器可执行的程序。提交源程序清单。(5)测试,提交测试报告。(6)维护,提交维护报告。

4、简述软件工程的七条基本原理。

(1)用分阶段的生命的生命周期计划严格管理;

(2)坚持进行阶段评审;

(3)实行严格的产品控制;

(4)采用现代程序设计技术;

(5)结果应能清楚地审查;

(6)开发小组的人员应该少而精;

(7)承认不断改进软件工程实践的必要性。

【评分标准】答出任5条可得5分,每少答一条扣1分。

四、

1.(1)面向对象方法更符合人的思维方式,更容易抓住问题的主干。

(2)所开发出的软件更符合“高内聚、松耦合”的原则。所设计出的类模块独立性更强。

(3)更适合于开发大型的软件,更适合于快速原型法开发方法。使软件生产率大大提高。

(4)使用面向对象技术开发出的软件的可测试性和可维护性都较强。

(5)面向对象方法和技术能够贯彻软件开发的全过程。从分析、设计、编码到测试维护,采用面向对象的方法不存在语义断层,使人的思维连续,减少各阶段之间所采用方法的不向融性。

(6)使得软件的可重用性大幅度提高。

2.软件开发工具应用于软件开发可以大幅度地提高软件生产率,提高软件质量。方便软件管理,便于软件重用,减少低级重复劳动,支持快速原型设计,便于用户和开发人员的交流。降低大型复杂软件的开发难度。

3、试论文档在软件开发过程中的重要性。

论述要点:

在软件的生产过程中,总是伴随着大量的信息要记录、要使用。因此,软件文档在软件产品的开发过程中起着举足轻重的作用。(1)提高软件开发过程的能见度。把开发过程中发生的事件以某种可阅读的形式记录在文档中,管理人员可把这些记录下来的材料作为检查软件开发进度和开发质量的依据,实现对软件开发的工程管理。(2)提高开发效率。软件文档的编制,使得开发人员对各个阶段的工作都进行周密思考、全盘权衡、从而减少返工。并且可在开发早期发现错误和不一致性,便于及时纠正。(3)作为软件开发人员在一定阶段的工作成果和结束标志。(4)记录开发过程中的有关信息,便于协调以后的软件、开发、使用和维护。(5)提供对软件的运行、维护和培训的有关信息,便于开发人员之间的协作、交流和了解,使软件开发活动更科学、更有成效。便于潜在用户了解软件的功能、性能等各项指标。

五、

1、

2、

软件工程试题(附答案)

软件工程试题(附答案)

《软件工程》作业 班级2000(春)计算机本科姓名罗国南学号001000490 成绩____________ 一、判断题 可行性研究的最根本的任务是对以后的行动方针提出建议。√ PDL语言是详细设计的重要工具,可方便地实现程序的自动生成。√ 模块的控制域应该在作用域之内。 面向对象方法把对象作为数据及可以施加在这些数据上的操作所构成的统一体。√ 软件是一种逻辑实体,而不是具体的物理实体。√ 软件测试时经常要输入无效的,不合理的数据进行测试。√ 高级程序设计语言从应用的角度看,可以分为基础语言、结构化语言和专用语言三大类。√

软件维护的前提是不能失去原有软件的基本功能。√ Gantt图可以明确地表示出各子任务之间的依赖与制约关系。× 与其它开发的方法相比较,结构化方法的主要优点之一是对用户需求的变更响应迅速。× 适应性维护的目的是为了适应计算机软、硬件环境的变化。√ 系统流程图可以描述系统的逻辑模型,它的基本思想是用图形符号以黑盒子形式描绘系统里 的每个部件。× 工程网络图可以描绘各子任务作业的工作时间和可以机动(延长)时间。√ 在面向对象方法中,对象是进行处理的主体。√ 调试是在测试出错误之后,找到错误的位置并改正的过程。√

不允许使用GOTO语句是结构程序的特征。× 面向对象技术的最大优点是减少了软件的开发时间。× 用盒图和PAD图设计出来的算法必定是结构化的。√ 逻辑输入数据流是离物理输入端最远,且沿同一输入路径输入的数据流。√ 可行性研究的结果有可能将软件开发项目否定。√ 在面向对象方法学中,使用“对象”不仅需要知道它向外界提供的接口形式,而且必须知道它的内部实现算法。× 传统的流程框图不能用来进行结构化程序设计。× 一个模块执行时,必须引用另一个模块的某些数据,则这个模块的独立性不强。√ 成功的测试是没有发现错误的测试。×

《软件工程》试题及参考答案(第4套)

厦门理工软件学院2011 –2012 学年度下期 《软件工程》试题(第4套) 题号一二三四五总分 题分 第一部分选择题 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.Putnam成本估算模型是一个()模型。 A.静态单变量 B.动态单变量 C.静态多变量 D.动态多变量 2.在McCall软件质量度量模型中,()属于面向软件产品修改。 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.为了提高测试的效率,应该( ) A.随机地选取测试数据 B.取一切可能的输入数据作为测试数据 C.在完成编码以后制定软件的测试计划 D.选择发现错误可能性大的数据作为测试数据 9.使用白盒测试方法时,确定测试数据应根据( )和指定的覆盖标准。 A.程序的内部逻辑B.程序的复杂结构 C.使用说明书D.程序的功能 10.结构化程序之所以具有易于阅读,并且有可能验证其正确性,这是由于( ) A.它强调编程风格 B.选择良好的数据结构和算法 C.有限制地使用GOTO语句 D.只有三种基本结构 11. 在结构化分析方法中,()表达系统内部数据运动的图形化技术。 A 数据字典 B 实体关系图 C 数据流图 D 状态转换图 12、()意味着一个操作在不同的类中可以有不同的实现方式。 A 多态性 B 多继承 C 类的复用 D 封装 13.对象是OO方法的核心,对象的类型有多种,通常把例如飞行、事故、演出、

软件工程期末试卷(A卷)

《软件工程》期末试卷(A卷) 一.单项选择题(每小题1分,共22分) 1.对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。 A.结合B.隐藏C.封装D.抽象 2.软件生命周期中所花费用最多的阶段是( D )。 A.详细设计B.软件编码C.软件测试D.软件维护 3.需求分析中开发人员要从用户那里了解( A )。 A.软件做什么B.用户使用界面 C.输入的信息D.软件的规模 4.测试的关键问题是( D )。 A.如何组织对软件的评审B.如何验证程序的正确性 C.如何采用综合策略D.如何选择测试用例 5.( D )是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。 A.软件过程B.软件测试 C.软件生命周期D.软件工程方法学 6.( A )意味着一个操作在不同的类中可以有不同的实现方式。 A.多态性B.多继承C.类的可复用D.信息隐藏 7.单元测试的测试用例主要根据( D )的结果来设计。 A.需求分析B.源程序C.概要设计D.详细设计 8.随着软硬件环境变化而修改软件的过程是( B )。 A.校正性维护B.适应性维护 C.完善性维护D.预防性维护 9.在白盒测试技术测试用例的设计中,( A )是最弱的覆盖标准。 A.语句覆盖B.路径覆盖 C.条件组合覆盖D.判定覆盖 10.结构化程序设计的一种基本方法是( C )。 A.筛选法B.迭代法 C.逐步求精法D.递归法11.不适合作为科学工程计算的程序设计语言是( D )。 A.Pascal B.C C.Fortran D.Prolog 12.只有单重继承的类层次结构是( C )层次结构。 A.网状型B.星型 C.树型D.环型 13.面向对象的开发方法中,( C )将是面向对象技术领域内占主导地位的标准建模语言。 A.Booch方法B.Coad方法C.UML语言D.OMT方法 14.瀑布模型本质上是一种( A )。 A.线性顺序模型B.顺序迭代模型 C.线性迭代模型D.及早见产品模型 15.软件维护产生的副作用,是指( C )。 A.开发时的错误B.隐含的错误 C.因修改软件而造成的错误D.运行时误操作 16.软件详细设计的主要任务是确定每个模块的( A )。 A.算法和使用的数据结构B.外部接口 C.功能D.编程 17.软件结构图的形态特征能反映程序重用率的是( C )。 A.深度B.宽度C.扇入D.扇出 18.为了提高模块的独立性,模块内部最好是( C )。 A.逻辑内聚B.时间内聚 C.功能内聚D.通信内聚 19.软件结构图中,模块框之间若有直线连接,表示它们之间存在( A )。 A.调用关系B.组成关系 C.链接关系D.顺序执行关系 20.“软件危机”是指( C )。 A.计算机病毒的出现 B.利用计算机进行经济犯罪活动 C.软件开发和维护中出现的一系列问题 D.人们过分迷恋计算机系统 21.具有风险分析的软件生命周期模型是( C )。 A.瀑布模型 B.喷泉模型 C.螺旋模型 D.增量模型 22.数据流图(DFD)中的每个数据处理至少需要( D )。 A.一个输入数据流 B.一个输出数据流 C.一个输入或者输出数据流 D.一个输入数据流和一个输出流

软件工程考试题(含答案)

软件工程考试题 简答题 1、什么叫软件? 软件就是计算机系统中与硬件相互依存的另一部分,它就是包括程序,数据及其相关文档的完整集合 2、什么叫软件危机?软件危机包含哪两点?软件危机产生的原因就是什么? 软件危机就是指在计算机软件开发与维护过程中所遇到的一系列严重问题。包括两点: (1)如何开发软件,以满足对软件日益增长的需求; (2)如何维护数量不断膨胀的已有软件。 软件开发与维护过程中存在的许多严重问题,一方面与软件本身的特点有关,另一方面也与软件开发与维护的方法不正确有关。具体表现如下: (1)软件就是逻辑部件而不就是物理部件。 (2)软件的规模越来越大,复杂性越来越大。 (3)轻视需求分析的重要性,轻视软件维护的错误观点与方法。 3、什么叫软件工程? 1968年在第一届NATO会议上的早期定义: “建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法”。 1993年IEEE的定义: “①软件工程就是:把系统的、规范的、可度量的途径应用于软件开发、运行与维护过程,也就就是把工程应用于软件;②进而研究①实现的途径”。 我们国家最近定义:软件工程就是指导计算机软件开发与维护的工程学科。它采用工程的概念、原理、技术与方法来开发与维护软件,把经过时间考验而证明正确的管理技术与当前能够得到的最好的技术方法结合起来。 4、两种软件工程方法学开发软件时要建立哪些模型? 软件工程方法学包括:传统方法学与面向对象方法学。常用的开发模型有: 瀑布模型(需求稳定,而且可以预先指定) 原型模型(需求模糊或者随时间变化) 增量模型(分析员先作出需求分析与概要设计,用户参与逐步完善) 螺旋模型(将瀑布模型与原型化模型结合起来,并加入了风险分析) 喷泉模型(使开发过程具有迭代性与无间隙性) 5、软件过程模型有哪些?简述它们的特点。 过程模型分为五大类:1、管理过程模型。2、瀑布模型(又称为生命周期模型)。3、增量过程模型:包括增量模型,,RAD模型。4、烟花过程模型:包括原型开发模型,螺旋模型,协同开发模型。5、专用过程模型:包括机遇构建的开发模型,形式化方法模型,面向方面的软件开发模型。 6、什么就是软件生命周期? 一个软件从定义,开发,使用与维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长时期称为生命周期 7、软件生命周期有哪几个阶段与步骤? 三个阶段:定义、开发、维护 八个步骤:问题定义、可行性研究、需求分析;总体设计、详细设计、编码与单元测试、综合测试;运行维护。 8、计算机软件的开发经过哪三个大阶段? 三个阶段:定义、开发、维护 9、软件开发的各阶段的任务就是什么? 定义阶段:问题定义--任务:关于规模与目标的报告书;可行性研究--任务:系统的高层逻辑模型:数据流图,成本/效益分析;需求分析--任务:系统的逻辑模型:数据流图,数据字典,算法描述。 开发阶段:总体设计--任务:系统流程图,成本/效益分析,推荐的系统结构:层次图/结构图;详细设计--任务:HIPO图或PDL 图;编码与单元测试--任务:源程序清单,单元测试方案与结果;综合测试--任务:综合测试方案,结果集成测试,验收测试,完整一致的软件配置。 维护阶段:软件维护--任务:维护记录以及改正性维护,适应性维护,完整性维护与预防性维护

软件工程模拟题1带答案.doc

软件工程期末试卷A 试题一、结构化分析与设计(共20 分,每小题10分) 需求陈述: 高考录取统分子系统有如下功能: (1) 计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件; (2) 计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。 要求:用结构化方法学对高考录取统分子系统进行分析与设计,分别完成以下工作: (1)给出高考录取统分子系统的功能模型(用数据流图表示)。(10分) (2) 给出高考录取统分子系统的软件体系结构(用H图或结构图表示)。(10分) 答案 网上搜的答案 结构图即软件的模块

试题二、下面是程序流程图,试分别用N-S图和伪代码(类C语言描述)表示。(共20分) 答案: 我做的:do { if(!p) { g 真假 假 开始 结束 p >0 q 真

exit(); } g; } while(q); 我自己做的,可以不太对

Do { If(p为真) { 执行g If(g为真) { do nothing } Else if(g为假) { return } } Else if(p为假) { Return } }while(g为真) 试题三、(共20 分,每题10 分) 阅读下面的程序段,回答后面的问题: float calculateTotal( int N) //计算满足条件的N个数的和 { float count = 0.0; int i=1; while ( i<=N ) { if( i % 4 == 0) count += i; i++; } return count; } (1)画出上述程序的有向流图,并计算该函数的环形复杂度。(每问5分,共10分)(2)请用基本路径的测试技术完成该函数的测试。要求给出基本路径和测试用例。(每问5分,共10分) 答:这道题课本上没有知识点,从网上搜出来的,知识点见“测试基础”PPT的P30页 白盒测试代码分支图的环形复杂度计算: 环形复杂度以图论为基础,为我们提供了非常有用的软件度量。可用如下三种方法之一来计算环形复杂度:(1)控制流图中环形区域的数量对应于环形复杂度。(2)给定控制流图G的环形复杂度—V(G),定义为V(G) = E-N+2 其中,E是控制流图中边的数量,N是控制

软件工程期末考试参考试题

软件工程期末考试参考试题 一、填空题 1、软件生存周期一般可分为问题定义、可行性研究、需求分析、设计编码、测试、运 行与维护阶段。 2、按软件的功能进行划分,软件可以划分为系统软件、支撑软件和应用软件。 3、可行性研究主要集中在以下四个方面经济可行性、技术可行性、法律可行性和抉择。 4、用户界面的可使用性是用户界面设计最重要的也是最基本的目标。 5、常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的结构化设计 方(SD),以数据结构为基础构造模块的Jackson方法,以对象、类、继承和通信为基础的面向对象设计方法(OOD)。 6、数据流图和数据字典共同构成系统的逻辑模型。 7、软件测试的方法有分析方法和非分析方法(即黑盒法)。 8、单元测试一般以白盒测试为主,黑盒测试为辅。 9、成本估计方法主要有自底向上估计、自顶向下估计和算法模型估计三种类型。 10. 文档(document)—一种数据媒体和其上所记录的(数据)。 11 机器语言、汇编语言:依赖于机器,面向(机器) 12. 软件有效性(efficiency),指软件系统的时间和(空间)效率。 13. 软件定义过程可通过软件系统的(可行性研究)和需求分析两个阶段来完成。 14. 软件定义的基本任务是确定软件系统的工程(需求),也就是要搞清“做什么”。 15. 为了使用户需求逐步精细化、完全化、一致化,通常采用(需求建模技术)。 16. 一个软件的深度是指其控制的(层数)。 17. 以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并 最终可运行的代码的过程叫(编码)过程。 18. 软件维护是软件生命周期的(最后)一个阶段 19. 软件工程由(方法)、工具和过程三部分组成,称软件工程的三要素。 20. 基于计算机系统的软件要素中的软部件由程序、数据和(文档)组成。 21. 数据流图就是用来刻画数据流和转换的信息系统建模技术。它用简单的图形记号分 别表示数据流、转换、(数据源)以及外部实体。 22. 被继承的类我们称之为基类(父类),在基类的基础上新建立的类我们称之为派生 类子类。 23. 流程图也称为程序框图是最常用的一种表示法,它有顺序、分支和(循环)三个基 本控制构件。 24. 机器语言和汇编语言,也称为(低级)语言。 25. 软件测试是执行程序发现并排除程序中潜伏的(错误)的过程。 26. 软件可维护性,是指软件产品交付使用后,在实现改正潜伏的错误、改进性能等属性、适应环境变化等方面工作的(难易)程度。 27. 软件可理解性,指系统具有清晰的结构,能直接反映问题的(需求)。 28 在实体-关系图简称E-R图中,数据对象实体用长方形、关系用(菱形)、属性用椭 圆表示。 29. 建立数据流模型要遵循的原则包括:每个加工至少应有一个输入数据流以反映被处 理数据的来源和一个(输出)数据流来反映加工的结果 30. 从工程管理的角度软件设计可分为概要设计和(详细)设计两大步骤。

软件工程考试卷及答案

《软件工程导论》测试题(参考答案) (本试卷答卷时间为60分钟) 学号:_____________ 组别:姓名:___________________一、选择题:(每题2分,共20分) 1.瀑布模型的存在问题是(B) A.用户容易参与开发 B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求 2.程序的三种基本控制结构是(B) A.过程、子程序和分程序 B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移 3.在详细设计阶段,经常采用的工具有(A) A.PAD B.SA C.SC D.DFD 4.详细设计的结果基本决定了最终程序的(C) A.代码的规模 B.运行速度 C.质量 D.可维护性5.结构化程序设计主要强调的是(D)

A.程序的规模 B.程序的效率 C.程序设计语言的先进性 D.程序易读性 6.需求分析阶段的任务是确定( D) A.软件开发方法 B.软件开发工具 C.软件开发费 D.软件系统的功能 7. 在E-R模型中,包含以下基本成分( C )。 A) 数据、对象、实体 B) 控制、联系、对象 C) 实体、联系、属性 D) 实体、属性、操作 8.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。 对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E (P1)+E(P2)就是:(A) A.模块化的根据 B.逐步求精的根据 C.抽象的根据 D.信息隐藏和局部化的根据 9.面向数据流的设计方法把(D)映射成软件结构。 A.数据流 B.系统结构 C.控制结构 D.信息流

上海大学软件工程试卷试题(附答案)

、单项选择题(本大题共20小题,每小题 1 分,共20分) 在每小题列出的备选项中只有一个是符合题目要求的,多选或未选均无分。请将其代码填写在题后的括号内。错选、 1. 在软件生命周期的各个阶段中,工作量最大的阶段是 A .需求分析B.总体设计 C.综合测试 D .软件维护 2. 瀑布模型的特点不包括 A.前一阶段的任务没有完成,不能进入下一阶段工作 B.进入某个阶段工作后,不再回复到之前的阶段工作C.只有完成并评审了规定的文档,才标志着一个阶段的工作结束D.在软件产生之前,需求无法得到充分的测试 3. 螺旋模型强调的开发手段是 A.分阶段开发 C.风险驱动开发 4. 需求分析阶段的工作不包括 A.获得当前系统的物理模型 C.建立目标系统的逻辑模型 5. 总体设计阶段的工作不包括 A.确定程序的模块组成 C.确定实现各个模块功能的处理逻辑 6. 描绘系统物理模型的传统工具是 A .系统流程图 C.实体-联系图 7. 符合信息隐藏原理的是 A .将信息隐藏起来不被发现 C.将可能要修改的设计决策隐藏起来B.废弃式原型开发 D.增量式开发 B.抽象出当前系统的逻辑模 型 建立目标系统的物理模型 D. B.确定模块间的相互关 系 D.制定测试计划 B.数据流图 D.状态转换图 B.将信息隐藏起来确保安全 D.将不要修改的设计决策隐藏起 来 8. 模块的独立性原则是指软件设计时要尽量使模块具有 A .低内聚、低耦合B.低内聚、高耦合C.高内聚、低耦合D.高内聚、高耦合

[ 9. 有利于提高模块独立性的做法是 A.尽量使模块具有逻辑型内聚 B.尽量使模块间具有内容型耦合 C.使判定作用范围内的模块尽量成为该判定所在模块的直属下级模块 D.尽量提高模块的扇入数和扇出数 [ 10. 有关结构化设计(SD )方法的正确叙述是 ] A.只使用顺序、选择和循环 3 种控制结构 B.由数据结构映射出软件的结构 C.是一种面向对象的设计方法 D.是一种面向数据流的设计方法 [ 11. 有关总体设计阶段所使用的结构图的不正确叙述是 ] A.能够描述软件系统的模块组成 B.结构图中的模块是按照自上而下、自左向右的顺序执行的 C.能够描述模块间的调用关系以及模块间调用时所传递的信息 D.将模块间调用时所传递的信息分成两种:数据信息和控制信息 [ 12. 要求使用顺序、选择和循环控制结构的组合或嵌套来表达程序的过程设计工具是 A .程序流程图B . 盒图 C .判定表D.PDL 13 . 关于好的编码风格的正确叙述是 A .把多个语句写在同一行以节省空间B.要求用户指定输入数据的数目 C .检查输入项重要组合的合法性D.表达式中不使用多余的括号,以简化表达式 14 . 能发现软件需求规格说明书中的错误的测试步骤是 A .模块测试B.子系统测试 C .系统测试D.验收测试 15 . 自顶向下集成测试和自底向上集成测试都具有的优点是 A .较早发现主要设计错误B.可采用深度优先策略和宽度优先策略 C .支持故障隔离D.可复用模块得到充分测试 19 . 不符合面向对象设计准则的是 A .用对象的封装性来实现信息隐藏B.尽可能松散对象之间的交互耦合 C .尽可能减小继承耦合度D.尽可能设计小而简单的类 20. 上海大学校内电话号码由 5 位数字组成,但第 1 位数字只能是 5 或6。该电话号码的

软件工程模拟试卷(一)

软件工程》模拟试卷(一) 、单项选择题 1、在结构化设计(SD)方法中全面指导模块划分的最重要的原则是() A、程序模块化 B 、模块高内聚 C 、模块低耦合 D 、模块独立性 2、软件维护产生的副作用,是指() A、开发时的错误 B 、隐含的错误 C、因修改软件而造成的错误 D 、运行时误操作 A、算法和使用的数据结构 B 、外部接口C、功能D 、编程 3、软件详细设计的主要任务是确定每个模块的() 4、为了提高模块的独立性,模块内部最好是() A、逻辑内聚 B 、时间内聚 C 、功能内聚 D 、通信内聚 A、程序 B 、数据 C 、逻辑产品 D 、物理产品 5、软件是一种() A、纠正性维护 B 、适应性维护 C 、完善性维护D预防性维护 6、因计算机硬件和软件环境的变化而作出的修改软件的过程称为() A、网状型 B、星型C树型D、环型 7、只有单重继承的类层次结构是()层次结构。 A、软件规格说明 B 、用户操作手册 C 、软件问题报告 D 、软件测试分析报告 8、下列属于维护阶段的文档是() 9、不适合作为科学工程计算的语言是() A 、 Pascal B 、 C C、 Fortran D 、 Prolog 10 、研究开发所需要的成本和资源是属于可行性研究中的()研究的一方面。 A. 技术可行性 B. 经济可行性 C. 社会可行性 D. 法律可行性 11、中级结构性成本模型COCOM是一个() A、静态单变量模型 B 、动态单变量模型 C 、静态多变量模型 D 、动态多变量模型 12 、P AD图为()提供了有力的工具。 A、系统分析 B 、软件的自动化生成 C 、自动分析数据 D 、测试软件 13、下列关于JSP方法不正确的说法是()

天津科技大学软件工程期末考试试题(样卷)

天津科技大学软件工程期末考试试题 (样卷) 一、单项选择题 1.程序设计属于软件开发过程( C )阶段。 A.设计B.编程 C.实现D.编码 2. 产生软件危机的原因主要与两个方面的问题有关:( C ) A.软件在计算机中很难识别,存在磁盘中也看不到。 B.软件设计对人的智商要求很高,也要求很高的资金投入。 C.软件产品本身的特点与其它工业产品不一样,而且在软件的开发和 维护过程中用的方法不正确。 D.软件很难理解,硬件也很复杂。 3.结构设计是一种应用最广泛的系统设计方法,是以( A )为基础、自顶向下、逐步求精和模块化的过程。 A.数据流B.数据流图 C.数据库D.数据结构 4. 下列关于瀑布模型的描述正确的是( C )。 A. 瀑布模型的核心是按照软件开发的时间顺序将问题简化。 B. 瀑布模型具由于良好的灵活性。 C. 瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开。 D. 利用瀑布模型,如果发现问题则修改的代价很低。 5.在软件结构化设计中,好的软件结构设计应该力求做到( B )。

A.顶层扇出较少,中间层扇出较高,底层模块低扇入 B.顶层扇出较高,中间层扇出较少,底层模块高扇入 C.顶层扇入较少,中间层扇出较高,底层模块高扇入 D.顶层扇入较少,中间层扇入较高,底层模块低扇入 6. 需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是( A ) 需求。 A.功能B.性能 C.数据D.环境 7.软件结构图的形态特征能反映程序重用率的是( C )。 A.深度B.宽度 C.扇入D.扇出 8. 在数据流图中,○(椭圆)代表( C )。 A.源点B.终点 C.加工D.模块 9.为了提高模块的独立性,模块内部最好是( C )。 A.逻辑内聚B.时间内聚 C.功能内聚D.通信内聚 10.软件需求分析的主要任务是准确地定义出要开发的软件系统是( C )。A.如何做B.怎么做 C.做什么D.对谁做 11.软件的( A )设计又称为总体结构设计,其主要任务是建立软件系统的总体结构。 A.概要B.抽象 C.逻辑D.规划

《软件工程》期末考试题及答案++精华版!!

《软件工程》期末考试样题 一、填空题 1.软件开发模型有(瀑布模型)(螺旋模型)第四代技术模型(原型模型)构件组装模型、混合模型。 2.可行性研究一般可以从(经济)可行性、(技术) 可行性、运行可行性、法律可行性和开发可行性等方面来研究。 3.现在向银行存款,年利率为i,若希望在n 年后从银行得到F元,现在应该存入的钱数为 (F/(1+i)n)。 4.数据流图的基本符号包括(数据输入的源 点和数据输出的汇点)、(加工)、(数据流)、(数据存储文件)。 5.Jackson图除了可以表达程序结构外,还可以 表达(数据结构),它首先要分析(数据结构),并用适当的工具来描述。 6.详细设计的工具有图形工具)、表格工具和(语言工具)。 7.IPO图由(输入)、处理和(输出)三个框组 成。这个图的特点是能够直观的显示三者之间的关系。 8.面向对象技术是一整套关于如何看待(软件系统)和(现实世界)的关系,以什么观点来研究问题并进行分析求解,以及如何进行系统构造的软件方法学。面向对象方法是一种运用(对象)、(类)、(继承)、(封装)、聚集、消息传送、多态性等概念来构造系统的软件开发方法。 二、单项选择题 1.下列( A )属于系统软件。 A.WINDOWS 2000 B.Word C.Flash D.3D MAX 2.下列哪个图是N-S图的构件( C )。 A. B.

3.对于螺旋模型,下列( D 卡尔坐标表达的活动。 A. 制定计划 B. 实施工程 C. 风险分析 D. 程序编码 三、多项选择题 1.软件危机可以表现为(ABXD A.产品不符合用户的需要 B.软件产品的质量差 C.软件的可维护性差 D.软件的价格昂贵 2.Jackson图中一般可能包括(A.表头 B.表体 C.表名 D.字段名 AD )。、内容耦合是最高程度的耦合 、应该尽量使用内容耦合 、高级语言一般设计成允许内容耦合的形式、如果一个模块有多个入口,可能发生内容.下列属于不标准的书写格式( BCD )。、书写时适当使用空格分隔 、一行写入多条语句 、嵌套结构不使用分层缩进的写法 、程序中不加注释 ,错误的) 软件生存周期是从软件开始开发到开发结束 () 系统流程图是一个典型的描述逻辑系统的传() 数据流图和数据字典共同构成系统的逻辑 A

软件工程模拟试卷和答案

北京语言大学网络教育学院 《软件工程》模拟试卷一 注意: 1.试卷保密,考生不得将试卷带出考场或撕页,否则成绩作废。请监考老师负责监督。 2.请各位考生注意考试纪律,考试作弊全部成绩以零分计算。 3.本试卷满分100分,答题时间为90分钟。 4.本试卷分为试题卷和答题卷,所有答案必须答在答题卷上,答在试题卷上不给分。 一、【单项选择题】(本大题共15小题,每小题2分,共30分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在答题卷相应题号处。 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、UML术语中,限定符常被用在()。

7、UML 提供的13种图形化工具中,用于概念模型和软件模型静态结构的是( ) 8、RUP 的迭代、增量式开发规定的4个阶段不包括( )。 9、根据RUP 实现的活动,输入为设计类,活动为实现类,则输出为( )。 10、软件评估可分为静态评估和动态评估,其中属于动态评估技术的是( )。 11、黑盒测试技术,又称为( )。 12、若有语句if(A<1 and C>0)then B=1/C else B=1/A ,选用类似数据A=2,C=1;A=-2,C=1;A=2,C=-1;A=-2,C=-1;得到不同B 的值,这种测试策略为( )。 13、在两种模型的基础上,螺旋模型加入两者所忽略的风险分析,这两者是( )。 [A] 瀑布模型和增量模型 [B] 瀑布模型和演化模型 [C] 喷泉模型和增量模型 [D] 喷泉模型和演化模型 14、在软件生存周期模型中,主要用于支持面向对象技术的软件开发模型是( )。 15、CMMI 能力等级中的第一级为( )。 [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] 螺旋模型

软件工程期末复习题参考答案

软件工程期末复习题 选择题 1.软件设计中划分模块的一个准则是(C)。 A低内聚低耦合 B低内聚高耦合 C高内聚低耦合 D.高内聚高耦合 2.(A)是用户和设计交换最频繁的方法。 A、原型化方法 B、瀑布模型法 C、螺旋模型方法 D、构件组装模型 3.试判断下列叙述中,哪个些是正确的(C)。 a、软件系统中所有的信息流都可以认为是事务流 b、软件系统中所有的信息流都可以认为是变换流 c、事务分析和变换分析的设计步骤是基本相似的 A、a B、b C、c D、b和c 4.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(C) A、硬件环境 B、软件开发的环境 C、软件开发工具和软件开发的环境 D、开发人员的素质 5.20世纪50年代以来,出现了许多不同的程序设计语言,下列语言中哪个语言是低级语言(D) A、PASCAL B、VISUAL BASIC C、C++

D、汇编语言 6.软件测试的目的是?(D) A.软件的正确性 B.找出软件系统中存在的所有错误 C.证明软件系统中存在错误 D.尽可能多的发现软件系统中的错误 7.使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准。 A、程序的内部逻辑 B、程序的复杂程度 C、该软件的编辑人员 D、程序的功能 8.软件维护工作的最主要部分是(C)。 A、纠正性维护 B、适应性维护 C、完善性维护 D、预防性维护 9.PDL是(B)语言。 A.高级程序设计语言 B、伪码式 C、中级程序设计语言 D、低级程序设计语言 10.软件的结构化设计(SD)方法中,一般分为概要设计和详细设计两阶段,其中详细设计主要是要建立(C)。 A、软件结构 B、软件过程 C、软件模型 D、软件模块 11.在数据流图中,○(椭圆)代表(B) A、数据流 B、转换 C、数据源 D、外部实体

软件工程考试试题(含答案)

一、填空题(每空1分,共25分) 1.软件生存周期一般可以划分为,问题定义、____________、____________、设计、 编码、测试和____________。 2.基于软件的功能划分,软件可以划分成__________、__________、__________三种。 3.可行性研究,应从、技术可行性、运行可行性、和开 放方案可行性等方面研究。 4.系统流程图是描绘的传统工具。它的基本思想是用图形符号以 描绘系统里面的每个部件。 5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、、 和。 6.结构化分析方法是面向________________进行需求分析的方法。结构化分析方法使 用________________与________________来描述。 7.是自动地共享类、子类和对象中的方法和数据的机制。 8.软件详细设计工具可分为3类,即________________、________________和 ________________。 9.为了在软件开发过程中保证软件的质量,主要采取下述措施:________________、 复查和管理复审、________________。 10.大型软件测试包括、、确认测试和 四个步骤。 1、可行性研究需求分析运行与维护 2、系统软件支撑软件应用软件 3、经济可行性法律可行性 4、物理系统黑盒子形式 5、加工数据流数据存储文件 6、数据流数据流图DFD 数据字典DD 7、继承性 8、图示工具、设计语言表格工具 9、审查测试 10、单元测试集成测试系统测试 二、单项选择题(每小题2分,共20分) 1 2 3 4 5 C C C A C 6 7 8 9 10 D D A C B 1.软件设计中划分模块的一个准则是()。 A、低内聚低耦合 B、低内聚高耦合 C、高内聚低耦合 D、高内聚高耦合 2.Jackson设计方法是由英国的M. Jackson提出的,它是一种面向()的软件 设计方法。

软件工程期末试题(含答案)广东药学院

填空题 1. 定义;开发;维护;问题定义;可行性研究;需求分析;总体设计;详细设计;编码和单元测试;综合测试;维护;维护。 2. 技术;经济;操作;软件项目的可行性/ 3. 一致性;现实性;完整性;有效性;完整性;有效性;原型系统。 4. 模块化;抽象;逐步求精;信息隐藏;局部化;模块独立;结构程序设计;可理解性。 5. 发现错误;黑盒测试;白盒测试;穷尽测试;测试方案。 6. 改正性维护;适应性维护;完善性维护;预防性维护。 一、 1. 软件生命周期可划分为、和3个时期,通常把这3个时期再细分为8个阶段,它们是①、②、③、④、⑤、⑥、⑦和⑧,其中的阶段的工作量是8个阶段中最大的。 2. 可行性研究的任务是从、和等三个方面研究。 3. 至少应该从、、和4个方面验证软件需求的正确性,其中和这两个方面的正确性必须有用户的积极参与才能验证,而且为了验证这两个方面的正确性,往往需要开发。 4. 软件总体设计时应遵循、、、、、和等6条基本原则。详细设计通常以技术为逻辑基础,因为从软件工程观点看,是软件最重要的质量标准之一。 5. 软件测试的目的是,通常把测试方法分为和两大类。因为通常不可能做到,所以精心设计是保证达到测试目的所必须的。 6. 软件维护通常包括4类活动,它们分别是、、、。 二、判断下述提高软件可维护性的措施是否正确,正确的在括弧内写对,错的写错。 1. 在进行需求分析时同时考虑维护问题。() 2. 完成测试后,为缩短源程序长度而删去程序中的注释。() 3. 尽可能在软件开发过程中保证各阶段文档的正确性。() 4. 编码时尽可能使用全局变量。() 5. 选择时间效率和空间效率尽可能高的算法。() 6. 尽可能利用硬件的特点以提高效率。() 7. 重视程序结构的设计,使程序具有较好的层次结构。() 8. 使用维护工具或软件工程环境。() 9. 进行概要设计时尽可能加强模块间的联系。() 10. 提高程序可读性,尽可能使用高级语言编程。() 三、按下述要求完成给出的程序流程图,即在答案栏内写出图中A、B、C、D、E的正确内容 给程序输入二维数组W(I,J),其中I≤M,J≤N(MT N均为正整数)。程序打印出数组中绝对值最小的元素值Q=W(K,L),及其下标K、L的值。假定数组中仅有一个绝对值最小的元素。 应该完成的程序流程图如下所示

《软件工程》模拟试卷 (1)

软件工程概论考试模拟试卷 科目:软件工程概论 专业: 一、 单项选择题:在每小题列出的四个备选答案中只有一个....答案.. 是符合题目要求。请将正确答案填入“单项选择题答题表”对应的格中。未填入答题表、 (每小题1分,本题共计20分) 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. 使用实体-联系图(ER图)建立的概念性数据模型中包含3种互相关 联的信息:()。 A.数据对象,属性,方法 B.数据对象,属性,联系 C.数据表,属性,联系 D.数据表,实体,联系 8. 模块的内聚性最高的是( )。 A.逻辑内聚 B.时间内聚 C.偶然内聚 D.功能内聚 9. 在软件工程中,描绘软件结构的图形工具不包括()。 A. 层次图 B. HIPO图 C.PAD图 D.H图 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. 在整个软件维护阶段所花费的全部工作中,哪种维护所占比例最大? () A.改正性维护 B.适应性维护 C.完善性维护 D.预防性维护

辽师软件工程期末复习题

说明: 以下试题虽然经过多次整理,但由于时间有限,存在错误或不足之处在所难免。同学们在阅读和使用过程中如发现问题,请你在课程评价的“建议”中指出,具体方法是: 写明大小题号:问题所在;正确内容。 在此谢谢你提供的方便和指正。 一、概念题 1、软工程:是1)将系统性的、规范化的、可定量的方法应用于软件的开发、 运行和维护,即将工程化应用到软件上;2)对1)中所述方法的研究。 2、软件:是计算机程序、规程以及运行计算机系统可能需要的相关文档和数据。 3、软件危机:是指在计算机软件的开发和维护过程中遇到的一系列严重问题。 4、软件过程:是软件工程人员为了获得软件产品而在软件工具的支持下实施的 一系列软件工程活动。 5、基线:是已经通过了正式复审的规格说明或中间产品,它可以作为进一步开 发的基础,并且只有通过正式的变化控制过程才能改变。 6、软件配置项:是为配置管理而作为单独实体处理的一个工作产品或软件。 7、对象:是系统中用来描述客观事物的一个实体,它是构成系统给的一个基本 单位,有一组属性和对这组属性进行操作的一组服务组成。 8、软件过程模型:是描述软件过程的整体框架,它是软件过程的一种抽象表示。 9、类:是具有相同属性和服务的一组对象的集合,它为属于该类的全部对象提 供了统一的抽象描述,其内部包括属性和服务两个主要部分。 10、实体类:用于描述必须存储的信息及其相关行为,它是对系统核心信息的建 模,通常这些信息需要长久地保存。 11、版本:是确定在明确定义的时间点上某个配置项的状态。

12、耦合度:是表示两个子系统之间的关联程度。当一个子系统发生变化时对另 一个子系统的影响很小,则称它们是松散耦合的;反之,如果变化的影响很大时,则称它们是紧密耦合的。 13、软件需求:1)用户解决问题或达到目标所需要的条件或能力。2)系统或系 统部件要满足合同、标准、规范或其他正式规定文档所需要具有的条件或能力。3)一种反映上面1)或2)所描述的条件或能力的文档说明。 14、软件实现:是软件产品由概念到实体的一个关键过程,它将详细设计的结果 翻译成用某种程序设计语言编写的并且最终可以运行的程序代码。 15、内聚性:是子系统内部的相关程度。当子系统中彼此相关的多个对象执行类 似的任务时,则认为该子系统是高内聚的;反之,当子系统内的多个对象彼此不相关时,则认为是低内聚的。 16、软件验证:是指试图证明在软件生存期各个阶段,软件产品或中间产品是否 能够满足客户需求,包括逻辑协调性、完备性和正确性。 17、软件测试:广义上讲,测试是指软件产品生存周期内所有的检查、评审和确 认活动。狭义上讲,测试是对软件产品质量的检查和评价,它一方面检查软件产品中存在的质量问题,同时对产品质量进行客观的评价。 18、软件再工程:是以系统理解为基础,结合逆向工程、重构和正向工程等方法, 将现有系统重新构造成为新的形式。 19、软件确认:是一系列的活动和过程,其目的是保证软件产品能够符合其描述 要求。 20、软件维护:是指在软件运行或维护阶段对软件产品所进行的修改,做这些修 改时可能改正软件中的错误,也可能是增加新的功能以适应新的需求,但是

相关文档
相关文档 最新文档