软件工程复习天华.docx
- 文档编号:9476240
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:25
- 大小:204.55KB
软件工程复习天华.docx
《软件工程复习天华.docx》由会员分享,可在线阅读,更多相关《软件工程复习天华.docx(25页珍藏版)》请在冰豆网上搜索。
软件工程复习天华
一、单项选择题
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.在软件生存周期中,时间最长的阶段是(D)
A.需求分析B.详细设计
C.编码D.维护
3.以下不适用于需求分析的工具是(C)
A.数据流图B.判定表
C.PAD图D.数据字典
4.以下几种模块内聚类型中,内聚性最低的是(B)
A.时间内聚B.逻辑内聚
C.顺序内聚D.功能内聚
6.数据流图中的每个加工至少有(D)
A.一个输入流或一个输出流B.一个输出流
C.一个输入流D.一个输入流和一个输出流
7.HIPO图是软件工程中的一种描述工具,采用HIPO图进行描述的阶段是(C)
A.可行性分析B.需求分析
C.概要设计D.详细设计
8.Jackson方法是软件开发过程中常用的方法,使用Jackson方法可以实现(A)
A.从数据结构导出程序结构B.从数据流图导出初始结构图
C.从模块结构导出数据结构D.从模块结构导出程序结构
9.过程设计语言(PDL),又称为(A)
A.伪码B.高级程序设计语言
C.中级程序语言D.低级程序设计语言
10.单元测试阶段主要涉及的文档为(B)
A.需求设计B.编码和详细设计
C.详细设计D.概要设计
11.软件维护会产生副作用,下面选项中不属于维护副作用的是(B)
A.编码副作用B.测试副作用
C.文档副作用D.数据副作用
l3.PAD图为下列哪个方面提供了有力的工具(D)
A.系统分析B.软件的自动化生成
C.自动分析数据D.测试软件
14.结构化软件设计是(A)
A.面向数据结构的B.面向数据库的
C.面向数据流的D.面向对象设计的
15.在McCall软件质量度量模型中,面向软件产品修改的质量因素为(C)
A.可用性B.完整性
C.适应性D.互操作性
18.对McCabe度量法,叙述错误的是(C)
A.McCabe度量法是一种基于程序控制流的复杂性度量法
B.McCabe度量法以图论为工具,用图的环路作为程序复杂性的度量值
C.McCabe度量法将简单IF语句和赋值语句的复杂性同等看待
D.McCabe复杂性度量也称为环路度量
19.瀑布模型本质是一种(B)
A.顺序迭代模型B.线性顺序模型
C.线性迭代模型D.非线性模型
20.对于使用原型的建议,下面说法错误的是(C)
A.开发周期很长的项目,可通过原型开发来缩短开发周期
B.系统的使用可能变化较大,不能相对稳定,而原型模型具有适应变化的机制
C.缺乏开发工具,或对原型的可用工具不了解的时候宜使用原型
D.用户对系统的需求较为模糊,对某种要求缺乏信心时宜使用原型
21.以下哪一项不是软件危机的表现( B )
A.开发的软件可维护性差B.软件极易被盗版
C.经费预算经常被突破D.开发的软件不能满足用户需求
22.以下哪个软件生存周期模型是一种风险驱动的模型( C )
A.瀑布模型B.增量模型
C.螺旋模型D.喷泉模型
24.结构化分析建立功能模型的工具是( B )
A.DFDB.判定树/判定表
C.DDD.结构化语言
25.模块中所有成分结合起来完成一项任务,该模块的内聚性是( A )
A.功能内聚B.顺序内聚
C.通信内聚D.逻辑内聚
26.系统定义明确之后,应对系统的可行性进行研究,可行性研究应包括(A )
A.技术可行性、经济可行性、社会可行性
B.经济可行性、安全可行性、操作可行性
C.经济可行性、社会可行性、系统可行性
D.经济可行性、实用性、社会可行性
27.以下哪一项对模块耦合性没有影响( D )
A.模块间接口的复杂程度
B.调用模块的方式
C.通过接口的信息
D.模块内部各个元素彼此之间的紧密结合程度
28.检查软件产品是否符合需求定义的过程称为(A )
A.确认测试B.集成测试
C.系统测试D.单元测试
29.下面关于详细设计的叙述中,错误的是( B )
A.程序流程图可以描述结构化程序B.程序流程图不能描述结构化程序
C.NS图描述的程序一定是结构化的D.PAD图描述的程序一定是结构化的
30.在整个软件维护阶段所花费的全部工作中,所占比例最大的是( C )
A.校正性维护B.适应性维护
C.完善性维护D.预防性维护
31.以下不属于序言性注释的有( D )
A.模块设计者B.修改日期
C.程序的整体说明D.语句功能
32.集成测试是为了发现( A )
A.接口错误B.编码错误
C.性能、质量不合要求D.功能错误
33.一个只有顺序结构的程序,其环形复杂度是( B )
A.0B.1
C.3D.5
34.结构化程序设计,主要强调的是( C )
A.程序的执行效率B.模块的内聚
C.程序的可理解性D.模块的耦合
35.下面关于文档的叙述,错误的是( A )
A.文档是仅用于说明使用软件的操作命令,不包括软件设计和实现细节
B.文档是软件产品的一部分,没有文档的软件就不成为软件
C.高质量文档对于转让、变更、修改、扩充和使用有重要的意义
D.软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量
36.在McCall软件质量度量模型中,面向软件产品操作的质量因素是( A )
A.正确性B.可维护性
C.适应性D.互操作性
37.对度量法,叙述错误的是( D )
A.度量法是一种基于程序控制流的复杂性度量法
B.度量法以图论为工具,用图的环路数作为程序复杂性的度量值
C.度量法不能区分简单IF语句和循环语句的复杂性
D.度量法对模块间的接口和简单IF语句区分对待
38.在快速原型模型的开发过程中,仅用于代替设计阶段的原型是( C )
A.探索型模型B.演化型模型
C.实验型模型D.提交型模型
39.对于构造原型的建议,下面说法错误的是( A )
A.暂不考虑错误恢复和处理,但应考虑速度、空间等性能效率方面的要求
B.可降低可靠性和软件质量标准
C.原型界面部分的设计,最好能与最终系统的界面相容
D.根据不同的软件类型和应用领域,可使用不同风格的高级语言来构造原型
4l.以下哪一项不是软件产品所具有的特性(C)
A.软件是逻辑产品
B.软件产品不会用坏,不存在磨损、消耗问题
C.随着技术的提高,软件开发的费用不断降低
D.软件产品的成本主要体现在软件的开发与研制上
42.“确定软件系统必须做什么”是哪个阶段的任务(B)
A.可行性分析和项目开发计划B.需求分析
C.概要设计D.详细设计
43.以下哪一项不是软件测试时需要的信息(B)
A.软件配置B.软件结构
C.测试工具D.测试配置
44.结构化分析方法的分析策略是(B)
A.自底向上的抽象B.自顶向下的分解
C.用DFD建模D.用DD描述数据需求
45.一组语句在程序中多处出现,为了节省存储,将这些语句组成一个新的模块,该模块的内聚性为(C)
A.功能内聚B.顺序内聚
C.偶然内聚D.逻辑内聚
46.系统流程图是描绘以下哪一项的工具(C)
A.软件结构B.逻辑系统
C.物理系统D.软件功能
49.软件维护是软件生命周期中的固有阶段,一般认为,以下哪种软件维护在整个维护活动中所占的比例最小(C)
A.校正性维护B.适应性维护
C.预防性维护D.完善性维护
50.软件测试方法中,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试(D)
A.结构合理性B.软件外部功能
C.程序正确性D.程序内部逻辑
51.使用Jackson方法可以得到(D)
A.程序流程图B.具体的语言程序
C.模块结构图及模块的功能说明书D.分层数据流图
52.以下哪种测试的任务是检查软件的功能与性能是否与需求规格说明书中确定的指标相
符合(B)
A.集成测试B.确认测试
C.单元测试D.系统测试
53.与编程风格有关的因素不包括(B)
A.源程序文档化B.语句构造
C.输入输出D.模块间耦合性
54.对于构造原型的建议,下面说法错误的是(D)
A.暂不考虑速度、空间等性能效率方面的要求。
B.暂不考虑错误恢复和处理。
C.可降低可靠性和软件质量标准。
D.原型界面部分的设计,暂不考虑与最终系统的界面相容。
56.以下哪一项是软件开发环境中的主要组成部分(C)
A.软件模型B.软件工程
C.软件工具D.硬件环境
57.对于一个大型系统,若对设计方案没有把握,可以通过以下哪种原型来证实设计方案的正确性。
(B)
A.探索型B.实验型
C.演化型D.增量型
59.在McCall软件质量度量模型中,以下哪一项是面向软件产品适应的质量因素(D)
A.可用性B.可维护性
C.适应性D.可重用性
62.为了提高软件产品的质量和可靠性,对某些无法避开的差错,使其影响减至最小程度所采用的技术是( A )
A.容错技术B.避开错误技术
C.检测技术D.排错技术
65.构造原型时,主要考虑( B )
A.全部功能B.原型要体现的特征
C.全部细节D.全部要求
66.维护中,因修改文件的打开或关闭而引起的错误是( C )
A.文档副作用B.数据副作用
C.编码副作用D.设计副作用
67.诊断和消除程序在使用过程中发生错误的过程称为( A )
A.校正性维护B.适应性维护
C.完善性维护D.预防性维护
68.在白盒技术测试用例的设计中,以下覆盖标准中发现错误能力最强的是( C )
A.语句覆盖B.判定/条件覆盖
C.条件组合覆盖D.判定覆盖
69.软件调试技术包括( A )
A.回溯法调试B.循环覆盖调试
C.边界值分析调试D.集成测试调试
70.在软件测试中,首先对每个模块分别进行单元测试,然后再把所有的模块按设计要求组装在一起测试,称为( D )
)
A.确认测试B.系统测试
C.渐增式测试D.非渐增式测试
74.模块的内聚性可以按照内聚程度的高低进行排序,以下排列中属于从低到高的正确次序是( C )
A.偶然内聚,时间内聚,逻辑内聚
B.通信内聚,时间内聚,逻辑内聚
C.逻辑内聚,通信内聚,顺序内聚
D.功能内聚,通信内聚,时间内聚
75.以下软件生存周期的活动中,要进行软件结构设计的是( B )
A.测试用例设计B.概要设计
C.程序设计D.详细设计
76.能够清楚地表示复杂的条件组合与应做的动作之间的对应关系的工具是( C )
A.结构化语言B.PAD图
C.判定表D.程序流程图
77.需求分析方法必须能够表达和理解问题的数据域和( C )
A.数据流B.用户类型
C.功能域D.应用领域
79.把软件生产的全过程人为地划分为若干阶段使得软件人员能根据每一阶段的不同特点更好地组织和管理软件项目的开发,这种概念就是( D )
A.软件项目管理B.软件工程
C.软件项目计划D.软件生存期
80.在软件生存期的各个阶段中跨越时间最长的阶段是( D )
A.需求分析阶段B.设计阶段
C.测试阶段D.维护阶段
82.以下被详细设计阶段用来描述处理过程的工具是(B)
A.软件结构图B.程序流程图
C.数据流图D.对象图
83.在McCall软件质量度量模型中,属于面向软件产品适应的是(C)
A.可用性B.可维护性
C.适应性D.可互操作性
84.在实现系统功能时,为了增加系统的可靠性,在规定功能之外,多加入了一些资源,这种技术称为(A)
A.冗余技术B.可靠性技术
C.可重用技术D.检测技术
86.软件维护中,因修改交互输入的顺序,没有正确的记录而引起的错误是以下哪一项产生的副作用?
(A)
A.文档B.数据
C.编码D.设计
87.以下属于软件维护阶段文档的是(C)
A.软件需求说明B.操作手册
C.软件问题报告D.测试分析报告
88.以下哪一项属于白盒技术设计测试用例的方法?
(A)
A.循环覆盖B.等价类划分
C.边界值分析D.因果图
89.效率是一个性能要求,因此应当在以下哪个阶段规定?
(B)
A.可行性分析B.需求分析
C.概要设计D.详细设计
90.PAD图的优点之一是支持逐步求精的设计方法,其逐步细化的方式为(B)
A.由右到左B.由上到下
C.由下到上D.由左到右
91.在模块的四种基本属性中,反映模块内部特性的是(C)
A.接口B.功能
C.逻辑D.状态
92.模块的耦合性可以按照耦合程度的高低进行排序,以下哪一项符合从低到高的正确次序?
(D)
A.标记耦合,公共耦合,控制耦合,内容耦合
B.数据耦合,控制耦合,标记耦合,公共耦合
C.无直接耦合,标记耦合,内容耦合,控制耦合
D.无直接耦合,数据耦合,控制耦合,内容耦合
93.在建立软件系统的模块结构时,评价系统模块划分质量的根据为(C)
A.数据独立性B.程序独立性
C.模块独立性D.设备独立性
94.PDL是描述处理过程(C)
A.做什么B.为什么做
C.怎么做D.对谁做
5.结构化语言是介于自然语言和形式语言之间的一种(A)
A.半形式语言B.半自然语言
C.过程描述语言D.高级语言
96.软件需求分析产生的重要文档一个是软件需求分析规格说明书,另一个可能产生的文档是(C)
A.软件维护说明书B.概要设计说明书
C.可行性分析报告D.初步的用户手册
97.结构化分析(SA),是面向下面哪一项进行需求分析的方法?
(D)
A.过程B.对象
C.用户D.数据流
98.系统流程图用于可行性分析中描述以下哪一方面?
(B)
A.目标系统B.当前运行系统
C.新系统D.当前逻辑模型
99.为了克服软件危机,人们首先想到要用以下哪种方法来开发软件?
(C)
A.模块化B.结构化
C.工程化D.形式化
100.以下哪一项是面向数据结构的软件开发方法?
(D)
A.IDEF方法B.结构化方法
C.VDM方法D.JACKSON方法
二、填空题
请在每小题的空格中填上正确答案。
错填、不填均无分。
1.为了支持软件人员开发和维护活动而使用的软件一般是指___软件工具_____。
3.在软件结构的设计中,各个模块之间要力求降低耦合性,提高__内聚性_____。
5.数据流图(DFD)一般可分为变换型和__事务性_____两类。
6.软件维护的内容包括校正性维护、适应性维护、__完善性维护__和预防性维护。
7.软件的生产经历了三个阶段,分别是程序设计时代、程序系统时代和___软件工程时代___。
8.渐增模型是瀑布模型的变种,分为两类:
增量构造模型和__演化提交模型__。
9.状态图反映了_事件与状态____的关系。
10.软件项目管理过程一个关键的活动是__制定项目计划__,它是软件开发工作的第一步。
11.组成软件的两个部分是:
____程序和文档________。
14.变换型数据流图是由输入、__变换(或处理)_____和输出三部分组成的。
15.Jackson方法是一种面向___数据结构_____的开发方法。
16.结构化语言是介于___自然语言_____和形式语言之间的一种半形式语言。
17.软件产品在交付使用之前一般要经过___单元测试___、集成测试、确认测试和系统测试。
18.不采用软件工程的方法开发软件,软件只有程序而无文档,从而导致维护工作困难,这是一种__结构化______的维护。
19.子类自动共享父类数据结构和方法的机制是___继承性_____,这是类之间的一种关系。
21.软件生产的发展经历了三个阶段,分别是程序设计时代、程序系统时代和___软件工程____时代。
22.可行性研究从以下三个方面研究每种解决方法的可行性:
经济可行性、社会可行性和__技术可行性____。
23.HIPO图的H图用于描述软件的层次关系,矩形框表示一个模块,矩形框之间的直线表示模块之间的____调用_____关系。
24.数据流图描绘数据在系统中___流动和处理___的过程。
25.为了便于对照检查,测试用例应由输入数据和预期的___输出结果(输出数据)____两部分组成。
26.软件详细设计阶段常采用的工具有图、表和____语言_______。
28.实现容错技术的主要手段是__冗余_____。
29.软件开发环境的目标是提高软件开发的生产率和__降低软件的费用__。
32.软件工程管理中的控制包括进度控制、人员控制、经费控制和_____质量控制______。
33.软件开发的原型模型可以分为三类,它们是:
探索型原型、实验型原型和_演化型原型
34.软件复杂性主要表现在程序的复杂性。
程序的复杂性主要指___模块内___程序的复杂性。
35.白盒法中,__基本路径测试_______首先以详细设计或源程序为基础,导出控制流程图的拓扑结构(程序图)。
36.在软件的详细设计中,根据控制流程从上到下,从左到右展开的设计工具是__PAD图。
37.一个模块通过传递开关、标志对某一模块的多种功能进行选择,则这两个模块之间的耦合方式是__控制耦合______。
38.结构化分析是面向__数据流_____进行需求分析的方法。
41.开发软件工具的主要目的是为了提高软件生产率和_改善软件的质量__。
42.确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理活动称为__软件质量管理。
44.在软件测试的所有覆盖方法中发现错误能力最弱的覆盖是_语句覆盖_____。
45.黑盒测试又被称为数据驱动测试或_基于规格说明的测试__。
46.PDL具有严格的关键字外层语法,用于定义__控制结构____、数据结构和模块接口。
47.如果一个模块可调用n个模块,其中直接的下属模块的个数是m个(m<=n),那么该模块的扇出数是___n_____个。
48.在概要设计阶段,形成软件结构并经过优化改进后,还应为每个模块写一份处理说明和提供一份__接口说明____。
49.描述加工逻辑的三种工具是结构化语言、判定表、__判定树_____。
三、名词解释题
1.软件开发方法
软件开发方法是一种使用早已定义好的技术集及符号表示习惯来组织软件生产的过程。
2.耦合性
用于衡量不同模块彼此间互相依赖(连接)的紧密程度。
4.软件质量保证
是指在软件开发过程中,为了保证产品满足指定标准而进行的各种活动。
5.确认测试
确认组装完毕的程序是否满足软件需求规格说明书(SRS)的要求。
6.软件生存周期
一个软件从提出开发要求直到该软件报废为止的整个时期。
7.需求分析
需求分析是指开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求成熟转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。
8.程序设计风格
程序设计风格指一个人编制程序时所表现出来的特点,习惯逻辑思路等。
11.软件开发方法
用早就定义好的技术集合和符号表示习惯来组织软件生产的过程。
主要有:
结构方法、Jackson方法、维也纳开发方法(VDM)、面向对象的开发方法
13.完善性维护
增加软件功能、增强软件性能、提高软件运行效率而进行的维护活动。
15.软件工具
软件工具一般是指为了支持软件人员开发和维护活动而使用的软件。
16.软件开发环境
指在计算机的基本软件的基础上,为了支持软件的开发而提供的一组工具软件系统。
18.黑盒测试法
把被测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程。
20.瀑布模型
将软件生存周期各个活动规定为依线性顺序连接的若干阶段的一种软件开发模型。
它包括可行性分析、项目开发计划、需求分析、概要设计、详细设计、编码、测试和维护。
21.软件可靠性
在规定的环境下和时间里软件按要求的功能执行的概率。
23.白盒测试法
把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。
25.模块化
模块化指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。
每个模块完成一个特定的子功能,所有模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。
四、简答题
2.什么是模块化?
软件结构设计的优化准则是什么?
答:
模块化是按规定的原则将一个大型软件划分为一个个较小的、相对独立但又相关的模块。
模块设计的准则:
(1)改进软件结构,提高模块独立性。
(2)模块大小要适中。
(3)软件结构图的深度、宽度、扇入和扇出要适当。
(4)尽量降低模块接口的复杂程度。
(5)设计单入口、单出口的模块。
(6)模块的作用域应在控制域之内。
3.简述详细设计的基本任务。
答:
(1)为每个模块确定采用的算法;
(2)确定每一模块使用的数据结构;(3)确定模块接口的细节;(4)过程设计说明书;(5)设计每一模块的测试用例。
7.简述结构化程序设计方法的基本要点。
答:
(1)采用自顶向下,逐步求精的程序设计方法
(2)使用三种基本控制结构构造程序,分别是顺序,选择和循环(3)采用主程序员组的组织形式(4)采用单入口单出口的模块形式。
11.就程序设计语言的工程特性而言,对程序编码有哪些要求?
答:
(1)可移植性;
(2)开发工具的可利用性;(3)软件的可重用性;(4)可维护性。
12.简述提高软件可维护性的方法。
答:
(1)建立明确的软件质量目标。
(2)利用先进的软件开发技术和工具。
(3)建立明确的质量保证工作。
(4)选择可维护的程序设计语言。
(5)改进程序文档。
15.软件测试要经过哪些步骤?
简述这些测试的基本任务。
答:
(1)单元测试、集成测试、确认测试、系统测试。
(2)单元测试:
对源程序中的每个程序单元进行测试,检查各模块是否正确实现现定的功能,从而发现模块在编码中或算法中的错误。
(3)集成测试:
检查与设计相关的软件结构的有关问题。
(4)确认测试:
主要检查已实现的软件是否满足需求规格说明书中确定了的各种需求。
(5)系统测试:
把已确认的软件与其它系统元素结合在一起进行测试。
16.简述需求分析方法应遵循的基本原则。
答:
应遵循的基本原则:
(1)必须能够表达和理解问题的数据域和功能域。
(2)可以把一个复杂问题按功能进行分解并可逐层细化。
(3)建模。
17.模块间的耦合性包括哪些类型?
答:
模块的耦合性包括:
(1)无直接耦合
(2)数据耦合(3)标记耦合(4)控制耦合(5)公共耦合
(6)内容耦合
18.软件维护的困难性表现在哪几个方面?
答:
(1)读懂别人的程序是困难的
(2)文档的不一致性(3)软件开发和软件维护在人员和时间上的差异
(4)软件维护不是一项吸引人的工作
五、应用题
2.某服装贸易公司的销售子系统功能如下:
(1)公司提供多种类别服装,所有类别的服装通过各个地区的分公司进行销售;
(2)公司接收分公司的订单,检验订单,若有库存就供货,则修改库
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 复习
![提示](https://static.bdocx.com/images/bang_tan.gif)