软件工程复习题Word下载.docx
《软件工程复习题Word下载.docx》由会员分享,可在线阅读,更多相关《软件工程复习题Word下载.docx(23页珍藏版)》请在冰点文库上搜索。
A,数据流B.数据编码C.数据库D.数据结构
A;
11.软件详细设计阶段的任务是()。
A.算法设计B.功能设计C.调用关系设计D.输入/输出设计
A;
12.DFD中每个加工至少有()。
A.一个输入流B.一个输出流C.多个输入输出流D,一个输入输出流
D;
13.系统定义明确之后,应对系统的可行性进行研究。
可行性研究应包括()。
A.软件环境可行性、技术可行性、经济可行性、社会可行性
B.经济可行性、技术可行性、操作可行性
C.经济可行性、社会可行性、系统可行性
D.经济可行性、实用性、社会可行性
B
14.模块(),则说明模块的独立性越强。
A.耦合越强B、扇入数越高C、耦合越弱D、扇入数越低
15.面向数据结构的设计方法(Jackson方法)是进行()的形式化的方法。
A.系统设计B、详细设计C、软件设计D、编码
B;
16.在进行软件测试时,首先应当进行(),然后再进行组装测试,最后再进行有效性测试。
A.单元测试B、集成测试C、确认测试D、组合测试
A;
17.为了提高软件的可维护性,在编码阶段应注意()
A.保存测试用例和数据B.提高模块的独立性
C.文档的副作用D.养成好的程序设计风格
18.结构化程序设计的一种基本方法是()
A.筛选法B.迭代法C.逐步求精法D.递归法
19.软件测试的目的是()。
A.评价软件的质量B.发现软件的错误
C.找出软件的所有错误D.证明软件是正确的
答:
20.在对数据流的分析中,主要是找到中心变换,这是从()导出结构图的关键。
A.数据结构B.实体关系C.数据流图D.E—R图
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.程序编码
A
26.通过()可以完成数据流图的细化。
A.结构分解B、功能分解C、数据分解D、系统分解
B
27.模块()定义为受该模块内一个判断影响的所有模块集合。
A.控制域B、作用域C、宽度D、接口
28.指出PDL是下列哪种语言()。
A.伪码B、高级程序设计语言
C.中级程序设计语言D、低级程序设计语言
A
29.在整个软件维护阶段所花费的全部工作中,()所占比例最大。
C
30.复杂的数据流图()。
A,只有变换型B,只有事务型
C,无规律D,既有变换型又有事务型
D
31.在设计测试用例时,()是用得最多的一种黑盒测试方法。
A.等价类划分B.边界值分析C.因果图D.判定表
32.结构分析方法就是面向()自顶向下逐步求精进行需求分析的方法。
A.目标B.数据流C.功能D.对象
33.随着软硬件环境变化而修改软件的过程是()
A.校正性维护B.适应性维护C.完善性维护D.预防性维护
34.软件维护产生的副作用,是指()
A、开发时的错误B、隐含的错误
C、因修改软件而造成的错误D、运行时误操作
C、因修改软件而造成的错误
35.系统定义明确之后,应对系统的可行性进行研究。
E.软件环境可行性、技术可行性、经济可行性、社会可行性
F.经济可行性、技术可行性、操作可行性
G.经济可行性、社会可行性、系统可行性
H.经济可行性、实用性、社会可行性
36.制定进度计划的两个重要工具和方法是()。
A.Gantt图B、CoCoMoC、工程网络图D、HIPO图
AC
37.软件设计阶段分为()。
A.逻辑设计与功能设计B.模型设计和功能设计
C.结构设计和模块过程设计D.数据库设计和文件设计
C
38.下列()不是反映用户在使用软件产品时的三种倾向。
A.产品运行B.产品可再用性C.产品修改D.产品转移
39.数据字典包括()个条目。
A.2B.3C.4D.5
40.软件生存周期包括可行性分析的项目开发计划、需求分析、概要设计、详细设计、编码、()、维护等活动。
A.应用B.检测C.测试D.以上答案都不正确
C
41.在考察系统的一些涉及时序和改变的状态时,要用动态模型来表示。
动态模型着重于系统的控制逻辑,它包括两个图:
一个是事件追踪图,另一个是()。
A.状态图B.数据流图C.系统结构图D.时序图
A
42.()数据处理问题的工作过程大致分为三步,即取得数据、变换数据和给出数据。
A.变换型B.事务型C.结构化验室D.非结构化
43.程序内部的各个部分之间存在的联系,用结构图表达时,最关心的是模块的()和耦合性。
A.一致性B.作用域C.嵌套限制D.内聚性
44.在多层次的结构图中,其模块的层次数称为结构图的()。
A.深度B.跨度C.控制域D.粒度
45.在下列工具与环境中()属于较早期的CASE。
A.基于信息工程CASEB.人工智能CASE
C.结构的基于图形CASED.集成的CASE环境
46.Putnam成本估算模型是一个()模型。
A.静态单变量B.动态单变量C.静态多变量D.动态多变量
D
47.在McCall软件质量度量模型中,()属于面向软件产品修改。
A.可靠性B.可重用性C.适应性D.可移植性
48.ISO的软件质量评价模型由3层组成,其中用于评价设计质量的准则是()
A.SQICB.SQMCC.SQRCD.SQDC
49.软件复杂性度量的参数包括()
A.效率B.规模C.完整性D.容错性
50.对象实现了数据和操作的结合,使数据和操作()于对象的统一体中。
A.结合B.隐藏C.封装D.抽象
51.软件调试技术包括()
A.边界值分析B.演绎法C.循环覆盖D.集成测试
52.瀑布模型的存在问题是()
A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求
53.软件测试方法中的静态测试方法之一为()
A.计算机辅助静态分析B.黑盒法C.路径覆盖D.边界值分析
54.软件生命周期中所花费用最多的阶段是()
A.详细设计B.软件编码C.软件测试D.软件维护
55.第一个体现结构化编程思想的程序设计语言是()
A.FORTRAN语言B.Pascal语言C.C语言 D.PL/1语言
56.程序的三种基本控制结构是()
A.过程、子程序和分程序B.顺序、选择和重复
C.递归、堆栈和队列D.调用、返回和转移
57.在详细设计阶段,经常采用的工具有()
A.PADB.SAC.SCD.DFD
58.详细设计的结果基本决定了最终程序的()
A.代码的规模B.运行速度C.质量D.可维护性
59.需求分析中开发人员要从用户那里了解()
A.软件做什么B.用户使用界面C.输入的信息D.软件的规模
60.结构化程序设计主要强调的是()
A.程序的规模B.程序的效率
C.程序设计语言的先进性D.程序易读性
61.IDEF。
图反映系统()
A.怎么做B.对谁做C.何时做D.做什么
62.经济可行性研究的范围包括()
A.资源有效性B.管理制度C.效益分析D.开发风险
63.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出()的回答。
A.确定B.行或不行C.正确D.无二义
64.需求分析阶段的任务是确定()
A.软件开发方法B.软件开发工具C.软件开发费D.软件系统的功能
65.软件工程方法学包括的三个要素是()。
A.方法、工具和过程B.对象、过程和方法
C.分析、设计和编程D.开发、维护和工程
答:
A
66.软件生命周期由()三个时期组成。
A.概要设计、详细设计和系统实现B.可行性分析、系统设计和编码
C.定义、开发和运行维护D.分析、设计和测试
67.在软件生命周期模型中,属于文档驱动的是()。
A.瀑布模型B.快速原型模型C.增量模型D.喷泉模型
68.结构化分析实质上是一种()的活动。
A.访问用户B.创建快速原型C.产生决策D.创建模型
69.以下()不是模块。
A.过程B.程序C.函数D.对象
70.所谓信息隐藏是指隐藏模块的()。
A.接口部分B.实现细节C.源代码D.一切信息
71.以下说法错误的是()。
A.测试不能证明程序是正确的B.测试不能证明程序中没有错误
C.成功的测试是指发现程序的所有错误D.测试是为了发现程序中的错误
C
72.面向对象方法的要素是()。
A.对象、类、数据类型和算法B.对象、类、继承和消息
C.对象、基类、派生类和继承D.对象、父类、子类和继承
73.在用面向对象观点建立的模型中()是最基本、最重要、最核心的模型。
A.对象模型B.动态模型C.功能模型D.操作模型
74.用“自底向上”方式建立继承关系是指()。
A.把现有类细化成更具体的子类B.从现有类泛化出更抽象的父类
C.从较高的层次推导出较低的层次D.从较低的层次抽象出较高的层次
75.以下关于UML说法正确的是()
A.UML是一种可视化的编程语言B.UML是工具或知识库的规格说明
C.UML是一种设计软件的方法D.UML是一种标准化的图形建模语言
三、填空题(每小题2分,计20分)
1.软件概要设计的主要任务就是_______________。
决定怎样做。
2.软件维护的内容包括改正性维持,适应性维护、_________和预防性维护。
完善性维护。
3.在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和___________。
数据存储
4、根据美国一些软件公司的统计资料,在后期引入一个变动比在早期引入相同的变动所需付出的代价高_______________个数量级。
2~4。
5、任何一个软件系统本质上是________________系统。
信息处理
6、目前使用得最广泛的软件工程方法学分别是生命周期方法学和_______________。
面向对象方法向。
7、结构化分析方法就是面向_______________的自顶向下逐步进行需求分析的方法。
数据流;
8、快速原型应该具备的第一个特性是“快速”,第二个特性是________________。
容易修改;
9、需求分析阶段得出的最主要的文档是____________________________。
软件需求规格说明书;
10、数据流图用于建立功能模型,实体-联体图用于建立______________;
状态图用于建立行为模型。
数据模型
11.软件生存周期是指一个软件从提出开发要求开始直到该软件报废为止的整个时期。
通常,软件生存周期包括问题定义、________、______、总体设计、详细设计、______、______、软件维护活动,可以将这些活动以适当方式分配到不同阶段去完成。
可行性研究需求分析编码测试
12.________的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。
可行性研究
13.内聚性有七种类型,最强的是______,最弱的是________。
功能,偶然
14.集成测试采用的具体方法有________、________
渐增式方法,非渐增式方法
15.对于变换型的数据流图,按照软件设计思想,要将一个大型复杂的软件进行分解,要确定数据流图的________、输入中心、输出中心。
变换中心
16.软件编码阶段要善于积累编程的经验,使得编出的程序________,易于________,从而提高软件质量。
清晰易懂、测试与维护
17、若年利率为i,现存入P元,不计复利,n年后可得钱数为F=______________。
F=P(1+i)n
18、瀑布模型是以文档为驱动、适合于___________的软件项目的模型。
需求比较明确。
19、纯收入是指在整个生存周期之内的_________________与投资之差。
累计效益。
20、数据项是指____________________数据单元。
不可再分的最小的。
21、如果对各种内聚进行评分的话,得分最高的应该为_________________,最低的应该为偶然内聚。
功能内聚
22、事务分析的设计步聚和变换分析的设计步聚大部分相同或类似,主要差别仅在于由数据流图到___________________________________不同。
软件结构的映射方法。
23、衡量程序的质量不仅要看它的逻辑是否正确,性能是否满足要求,更主要的是要看它是否____________________________________。
易于阅读和理解
24、在设计人机界面过程中,几乎总会遇到下述4个问题:
系统响应时间、用户帮助设施、出错信息处理和_________________________________。
命令交互
25、黑盒测试又称为功能测试,白盒测试又称为________________________。
结构测试
26、面向对象设计通常将软件分为问题域子系统、人机交互子系统、______________子系统和数据库管理子系统。
任务管理子系统。
27._________是计算机程序及其说明程序的各种文档。
————是有关计算机程序功能、设计、编制、使用的文字或图形资料。
软件文档
28.软件详细设计阶段采用的工具有____________________。
图、表、过程设计语言
29.模块的耦合性分为四种类型:
__________、__________、__________、________。
据耦合控制公共内容
30.结构图的深度指结构图____________,结构图宽度指_____________。
控制的层数同一层个数
31.Jackson方法是一种________________的开发方法。
面向数据结构
32.M=P+K(C-D)是__________。
维护工作量模型P-生产性工作量C-复杂度D-熟悉度K-常数
33.效益分有形效益和无形效益两种。
有形效益可用纯收入、________、________等指标进行度量;
无形效益主要从性质上、心理上进行衡量,很难直接进行量的比较。
投资回收期回收率
34.需求分析的基本任务是要准确回答系统必须“”的问题。
做什么
35.数据流图有四种基本成分:
________、________、________、________。
源、终点,处理,存储,数据流
36.模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。
每个模块完成一个特定的________,所有的模块按某种方法——起来。
成为一个整体,完成整个系统所要求的功能。
子功能组装
37.在软件开发过程中要产生大量的信息,要进行大量的修改,________能协调软件开发,并使混乱减到最低程度。
软件配置管理
38.规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有________的软件。
容错功能
39.McCall提出的软件质量模型包括________个软件质量特性。
11
40.软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、________、可使用性和效率。
可移植性
41.为了便于对照检查,测试用例应由输入数据和预期的________两部分组成。
输出结果
42.程序设计语言的心理特性主要表现在________、简洁性、传统性、局部性和顺序性。
歧义性
43.软件结构是以________为基础而组成的一种控制层次结构。
模块
44.在结构化分析中,用于描述加工逻辑的主要工具有三种,即:
结构化语言、判定表、______。
判定树
45.结构化语言是介于自然语言和________之间的一种半形式语言。
形式语言
46.黑盒测试方法中的等价类划分把程序的__________划分成等价类,并据此导出测试用例。
输入数据
47.面向对象方法用对象分解取代了传统方法的_________分解。
功能
48.在面向对象的分析过程中建立动态模型的第一步是编写典型交互行为的_______。
脚本
49.所谓面向对象设计就是用面向对象观点建立________模型的过程。
求解域
50.设计类中的________是面向对象设计的一项重要工作内容。
服务
51.选择编程语言的关键因素是语言的一致的表达能力、________和可维护性。
可重用性
四、简答题
1、简述软件工程目标和面临的主要问题。
软件工程是一门工程性的学科,其目标主要是成功地建造一个大型软件系统。
包括:
付出较低的开发成本;
达到要求的软件功能;
取得较好的软件性能;
开发的软件易于移植;
需要较低的维护费用;
能按时完成开发任务,及时交付使用;
开发的软件可靠性高。
面临的主要问题是:
软件费用软件可靠性软件维护软件生产率软件重用。
2、非渐增式测试与渐增式测试有什么区别?
两种都用于集成测试。
渐增式是把下一个要测试的摸块同已经测试好的模块结合起来进行测试,每次增加一个模块。
非渐增式先分别测每个模块,再把所有模块按设计要求放在一起结合成所要的程序。
3.程序流程图与PAD图各有什么特点?
程序流程图具有悠久的历史,为最广泛的人所熟悉,但它不是逐步求精的好工具,不易表示数据结构,诱使程序员过早地考虑实现,而不考虑全局结构。
PAD图使用结构化控制结构,因而用它设计出的程序必然是结构化程序;
PAD图设计出的结构十分清晰;
用PAD图表现程序逻辑,易读,易懂,易记;
PAD图既可用于表示逻辑,也可用于描绘数据结构。
4、什么是软件工程?
基本原理有哪些?
软件工程是指导计算机软件开发和维护的工程学科。
用分阶段的生命周期计划管理、坚持阶段评审、实行严格产品控制、采用现代设计技术、结果审查、开发小组人员少而精、并不断改进方法。
5.简述结构化程序设计方法的基本要点。
(1)采用自顶向下,逐步求精的程序设计方法。
(2)使用三种基本控制结构构造程序,分别是顺序,选择和循环
(3)采用主程序员组的组织形式。
6、成本—效益分析可用哪些指标进行度量?
(写出公式)
可用投资回收期、纯收入、投资回收率指标,通过P=F/(1+i)n计算求得。
7、什么是数据流图?
其中的基本符号各表示什么含义?
画出定货系统基本数据流图。
用符号描绘信息在系统中流动的情况,源点、终点、处理、数据存储、数据流。
8、软件测试的目的是什么?
测试的目的是为了发现错误.
9、结构