秋期软件工程课程期末复习应考指南.docx
《秋期软件工程课程期末复习应考指南.docx》由会员分享,可在线阅读,更多相关《秋期软件工程课程期末复习应考指南.docx(26页珍藏版)》请在冰豆网上搜索。
秋期软件工程课程期末复习应考指南
09年秋期《软件工程》课程期末复习应考指南
巴南电大曾德伟
2009年12月修订/制订
第一部份课程考核说明
1.考核方式
本课程期末考试为闭卷笔试,考试时间为90分钟。
2.适用范围、教材
本课程期末复习指导适用范围为成人本科计算机科学与技术专业的必修课程《软件工程》。
考试命题的教材是由吴浩明主编,中央广播电视大学出版社2008年12月第1版《软件工程》教材
3.考试要求
考核学生掌握和运用软件工程知识进行规划与指导软件开发研究工作的能力。
4.考题类型及比重
考题类型及分数比重大致为:
填空题占(40%),单项选择题占(20%),判断题占(10%),问答题题占(20%),分析题占(10%)。
5.考试注意的问题
1).考试时间为90分钟。
计算机网络课程的考试时间已经调整为90分钟,相应的考试内容有适当的减少。
请大家在复习的时候先关注考核说明,然后有目的的进行复习。
2.)简答题是难度最小一的一类题目,所有的考试卷目均在我给综合复习资料上,所以请大家一定要把我做期末综合复习资料打印,仔细阅读。
也可以根据自己的理解的语言答题,只要基本正确即视为正确。
3).特别提示:
(1)答题时,请先易后难,先把简单的、有把握的、能在资料或者记忆里找到题目做好后再做比较困难的。
(2)填空题不要窜行或者张冠李戴。
问答题要抓主要的内容回答。
不要写了一大堆东西,让老师在里面去找答案。
(3)考试的时候一定只能用一种颜色的笔书写否则算违纪处理。
切记。
第二部分、复习资料及使用
本学科本次考试有下列几种资料,可供学员复习应考时用。
(一)重庆电大挂出复习指导。
本套复习应考指南根据重庆电大的复习指导修订,我添加了重点辅导和练习答案。
根据往年经验,题目基本从练习题目中来,请务必打印综合练习题目。
(二)平时作业
平时作业与考试卷型和要求基本上是一致的,根据过去考试的情况看也有重复,有些作业题其实就是考试卷,因此有一定参考价值。
平时作业老师均作过评讲,请按老师平时所评讲的要求掌握。
(三)教材,将复习指南给出的页数结合教材认真复习。
(四)其他文字资源、音像资源、网络资源。
(五)重庆电大平台,巴南平台的教案资源。
第三部份期末复习重点范围
第一章软件工程概述
一、重点掌握的内容:
软件和软件工程的基本概念P5
二、一般掌握内容:
软件生存周期及软件开发的各种模型。
(P6)
第二章可行性研究
一、重点掌握的内容:
可行性研究的系统流程图(P40-44)
二、一般掌握内容:
可行性研究的任务和步骤,成本效益分析(P27-28)
第三章需求分析
一、重点掌握的内容:
需求分析的方法和面向数据流的分析方法。
(P44-45)
二、一般掌握内容:
需求分析的任务和原则。
(P37)
第四章概要设计
:
概要设计的过程和方法(P74-78)
第五章面向对象的分析和设计方法
一、重点掌握的内容:
面向对象的基本概念和特征(101-103)
二、一般掌握内容:
面向对象分析与设计方法(104-108)
第七章编码
一、重点掌握的内容:
程序设计语言的特点、编程风格、程序效率和编程安全(P163-169)
二、一般掌握内容:
面向对象程序设计步骤(P141-149)
第四部份综合练习题
一、填空题
1.模块的独立程度可以由两个定性标准度量,这两个标准分别称为(内聚)和(耦合)。
2、(软件危机)指的是软件开发和维护过程中遇到的一系列严重问题。
3、______数据流图 和数据字典_______共同构成系统的逻辑模型。
4、必须从(一致性)、(完整性)、现实性和有效性等四个不同的角度验证软件需求的正确性。
5、面向对象的基本概念中,____消息___________表示向对象发出的服务请求,______方法_________表示类对象上的各种操作
6、面向对象的分析中,大型系统的复杂问题对象模型通常由五个层次:
主题层,___类-&-对象____________层,结构层,___属性____________层和服务层组成。
7、组成UML的三种基本建筑块有:
______事物 、 关系______、图。
8、面向对象的建模得到的模型包含对象的三个要素,即_____静态结构(对象模型)___,交互次序(动态模型)和数据变换(或功能模型)。
9、____继承性___________是面向对象方法中自动地共享类、子类和对象中的方法和数据的机制;而____封装性___________是一种面向对象方法中的一种信息隐蔽机制。
10.软件设计阶段可细分为___概要设计和 详细设计_____两个阶段。
11.软件的测试的步骤可分为_____单元测试集成测试确认测试系统测试。
12.编码风格主要包括四个方面:
源程序文档化、____数据说明的方法_____、___语句结构___和输人/输出方法。
13、面向对象方法是一种运用_____对象__________、类、______继承_________、封装、聚合、__消息传递_____________、多态性等概念来构造系统的软件开发方法。
14.模块的独立程度可以由耦合衡量和内聚衡量两个定性标准度量,耦合衡量是指:
_不同模块彼此之间互相依赖的紧密程度_;内聚衡量是指:
一个模块内部各个元素彼此结合的紧密程度____。
15.结构化程序设计采用_自顶向下逐步求精____的设计方法和___单人口单出口___的控制结构
16、提高软件质量和可靠性的技术大致可分为__避开错误技术和容错技术___两大类。
17、软件生存周期一般可细分为以下阶段 :
问题定义 ,需求分析与可行性研究 ,______设计 , 编码 , 测试, 运行与维护________。
18.数据流图4种基本图形元素为数据输人的源点和数据输出的汇点,加工,数据流,数据存储文件。
19.软件工程学的内容可包括_理论、结构、方法、工具、环境、管理、规范等。
20、(编码)就是把软件设计的结果翻译成计算机可以理解的形式,即用某种程序设计语言书写的程序。
21、程序质量评审着眼于____软件的结构,与运行环境的接口___,以及变更带来的影响等。
。
22、按软件规模划分,5至10人在两年多时间完成的50000到100000行语句的程序,通常称为(大型软件)。
23、若年利率为i,不计复利,n年后可得钱数为F,则现在的价值:
P=(F/(1+i)n)。
24、IPO图是(输入/处理/输出图)的简称。
25、面向数据流的设计方法把信息流分为(变换流)和(事物流)两种类型。
27、面向对象方法中,类由_____方法__________和____消息___________集成,它是关于对象性质的描述,包括外部特性和内部实现两个方面。
28、程序设计语言总体上基本可分为____汇编语言 、高级语言_____两大类
二、单项选择
1、基于软件功能的划分对软件分类时,以下哪个不属于其中之一。
( B )
A.系统软件B.批处理软件
C.支撑软件D.应用软件
2、基于软件规模的划分对软件分类时,下面哪个是关于“中型软件”的描述。
( C )
A.一个人在几天之内完成,程序不超过500行语句且仅供个人专用。
B.一个人在半年之内完成,程序不超过2000行语句。
C.5个人以内在一年多时间完成的5000到50000行语句的程序。
D.5至10人在两年多时间完成的50000到100000行语句的程序。
3、下面哪个不是软件危机的表现:
( A )
A.软件染上病毒,引起安全性、稳定性等性能大大下降。
B.软件的可维护性差。
C.软件的价格太昂贵,软件的成本在总成本中的比例越来越大。
D.软件文档资料不完整,不合格。
4、软件开发时,一个错误发现得越晚,为改正它所付出的代价就( A )。
A.越大B.越小
C.越不可捉摸D.越接近平均水平
5、需求分析阶段的任务是确定(D)
A.软件开发方法 B.软件开发工具
C.软件开发费 D.软件系统的功能
6、需求分析中开发人员要从用户那里了解(A)
A.软件做什么 B.用户使用界面
C.输入的信息 D.软件的规模
7、瀑布模型的存在问题是(B)
A.用户容易参与开发 B.缺乏灵活性
C.用户与开发者易沟通 D.适用可变需求
8、以下不属于软件生存期划分所包括的阶段的是( D )
A.计划阶段B.开发阶段
C.维护阶段D.销售阶段
9、为帮助使用部门负责人正确地做出是否投资于某系统的开发,而从经济角度分析开发该系统是否可行是( B )的目的。
A.软件需求分析B.成本/效益分析
C.软件风险分析D.软件投资分析
10、研究开发所需要的成本和资源是属于可行性研究中的(B)研究的一方面。
A.技术可行性B.经济可行性
C.社会可行性D.法律可行性
11、开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)
A.软件工程B.软件周期
C.软件危机D.软件产生
12、使用流程图描述结构化程序时,必须限制在流程图中只能使用的基本控制结构有( C)种。
A.3B.4
C.5D.6
13、在数据流图的加工关系中,表示数据A和B同时输入变换成C的是下图中的( C )
A.B.
C.D.
14、在数据流图的加工关系中,表示数据A变成B或C,或是B和C的是下图中的( D )
A.B.
C.D.
15、数据字典中在进行数据定义时,如果有一项为:
学号=5{数字}5,其含义为( A )
A.学号由5个数字组合而成
B.学号由10个数字组合而成
C.学号的格式为以5开头和5结尾的数字串组成
D.学号由6个数字组成而成
16、在一般类中定义的属性或服务衩特殊类继承之后,可以具有不同的数据类型或表现出不同的行为,这是指对象的(C )。
A.继承性B.封装性
C.多态性 D.独立性
17、在用面向对象观点建立起的模型中,( A )是最基本、最重要、最核心的模型。
A.对象模型B.数据模型
C.动态模型D.功能模型
18、在编程安全方面,一般来说无法做到( B )。
A.避开错误B.完美无缺,绝无错误
C.冗余D.涉及防错程序
19、第一个体现结构化编程思想的程序设计语言是(B)
A.FORTRAN语言 B.Pascal语言
C.C语言 D.PL/1语言
20、下列哪个做法会导致不利的语句结构( B )。
A.避免使用ELSEGOTO结构
B.对递归定义的数据结构尽量不再使用递归过程
C.模块功能尽可能单一化,模块间的耦合能够清晰可见
D.利用信息隐蔽,确保每一个模块的独立性
21、为每一个模块确定使用的算法及数据结构,应该在下列哪个阶段进行较为恰当。
( C )
A.软件需求分析后期B.软件概要设计后期
C.软件详细设计时期D.软件编码时期
22、为增强程序的可读性和改善程序的质量,就应建立良好的编码风格。
以下哪个不属于良好编码风格应注意的主要内容。
( D )
A.源程序的文档化 B.数据的说明及语句的结构
C.输入输出方法 D.选择高效的算法
23、以下关于提高程序效率的说法,正确的是( C )。
A.应使程序使用的存储空间达到最小。
B.使用高级语言,不使用汇编语言。
C.应尽量避免使用多维护数组和使用指针。
D.为了追求超高效的输入输出,可以局部损害程序的理解性。
24、以下列出的检查不适合于主动式防错程序设计的是( D )
A.内存检查B.反向检查
C.时间检查D.栈的深度检查
25、在衡量软件质量时,最重要的标准是( C )。
A.成本低B.可维护性好
C.符合要求D.界面友好
26、( C )不是软件维护的内容。
A.编写维护报告B.记录维护数据
C.修改需求分析D.重写相关模块的编码
27、下列各方法中( D )不是软件测试方法。
A.白盒法B.黑盒法
C.动态测试D.盒法
28、黑盒测试在设计测试用例时,主要需要研究(A)
A.需求规格说明与概要设计说明B.详细设计说明
C.工程开发计划D.概要设计说明与详细设计说明
29、软件测试方法中的静态测试方法之一为(A)
A.计算机辅助静态分析 B.黑盒法
C.路径覆盖 D.边界值分析
30、软件生命周期中所花费用最多的阶段是(D)
A.详细设计 B.软件编码
C.软件测试 D.软件维护
31、下列文档与维护人员有关的有(C)
A.软件需求说明书B.工程开发计划
C.概要设计说明书D.操作手册
32、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为(B)
A.可用性B.可靠性
C.正确性D.完整性
33、软件被理解、改正、调整和改进的难易程序称为软件的( C )。
A.可移植性B.可靠性
C.可维护性D.可读性
34、以下不属于软件质量保证所采取的措施的是( A )
A.软件升级 B.复查和管理复审
C.测试D.审查
35、关于软件测试不正确的是( A )
A.软件测试集中在编码阶段进行,这也是编码阶段的特殊之处。
B.软件测试是一种破坏,但最终的目的是制作高质量的软件产品。
C.软件测试的目的是为了对软件的错误加以纠正。
D.软件确认是广义上的软件测试,它是企图证明程序软件在给定的外部环境中的逻辑正确性的一系列活动和过程。
36、模块在同一段时间内完成各种初始化工作,这属于( C )。
A.偶然内聚B.逻辑内聚
C.时间内聚D.过程内聚
37、对某软件进行模块化开发,当模块数目划分增加时,以下说法不正确的是( B )
A.开发单个模块的成本将降低。
B.开发整个软件的成本将降低。
C.开发模块间接口的成本将增加。
D.开发整个软件的成本是否降低不能断定。
38、总体设计目的是确定整个系统的(D )。
A.规模B.测试方案
C.费用D.功能及模块结构
39、在详细设计阶段,经常采用的工具有(A)
A.PAD B.SAC.SCD.DFD
40、一个模块直接调用的模块数目,称为模块的( A )
A.扇出B.扇入
C.宽度D.深度
41、下面哪种情况不属于内容耦合:
( C )
A.一个模块有多个入口
B.一个模块访问另一个模块的内部数据
C.模块间通过一个公共数据环境相互作用
D.模块间有一部分程序代码重叠
42、模块的内聚性最高的是(D)
A.逻辑内聚B.时间内聚
C.通信内聚D.功能内聚
43、以下模块独立性最低的是(A)
A.逻辑内聚B.时间内聚
C.通信内聚D.功能内聚
三、判断题
1、一个类实质上定义的是一种对象类型,它描述了属于该类型的所有对象的性质。
( 对 )
2、显式将对象的定义和对象的实现分开是面向对象系统的一大特色。
( 对 )
3、UML是面向对象技术领域的建模语言。
( 对 )
4、内聚性越高的模块其模块独立性也就越强。
( 对 )
5、使用好的开发工具可以降低开发成本。
( 对 )
6、为了提高程序的易读性,尽可能使用高级语言编写程序。
( 对 )
7、编码风格在很大程度上决定着程序的质量。
( 对 )
8、给程序加上注释是程序员与阅读程序者之间通信的重要手段,注释可分为序言性和功能性两种。
( 对 )
9、需求分析报告只有软件分析人员能看懂。
( 错 )
10、无条件转移是程序的基本结构之一。
( 错 )
11、程序效率主要是指程序的执行速度,执行速度快则程序效率高。
( 错 )
12、程序效率应该是从程序的执行速度和程序占用的存储空间两方面考虑。
( 对 )
13、任何对效率无重要改善,且对程序的简单性、可读性和正确性不利的程序设计方法是不可取的。
( 对 )
14、为了达到生成较短目标代码且存储压缩性能优良的编译程序,有时需要采用汇编程序进行编程。
( 对 )
15、Jackson系统开发方法是一种典型的面向对象的分析设计方法。
( 错 )
16、下图表示的是WHILE型循环。
( 错 )
17、下列两图表示的流程关系等价。
( 对 )
18、
下图是用PAD图表示的选择型结构。
( 错 )
19、
下图是用N-S图表示的选择型结构。
( 错 )
20、数据流图与程序流程图的主要区别是程序流程图中各处理框之间有严格的时间上的顺序。
而数据流图只反映数据的流向,不反映处理逻辑的先后。
(对 )
21、CASE是一组工具和方法的集合,可以辅助软件开发生命周期各阶段进行软件开发。
( 对 )
22、软件设计中的层次结构的上一层是下一层的抽象,下一层是上一层的求精。
( 对 )
23、模块是数据说明、可执行语句等程序对象的集合,可单独命名、也可通过名字来访问。
( 对 )
24、过程、函数、子程序、甚至宏都可作为模块。
( 对 )
25、一个模块的扇出是指多少个上级模块直接调用它。
( 错 )
26、一个模块的扇入是指多少个上级模块直接调用它。
( 对 )
27、软件系统设计中,应发尽量使用数据耦合,少用控制耦合,限制公共环境耦合的范围,完全不用内容耦合。
( 对 )
28、软件设计的质量通常可以以用户满意程度来衡量。
( 对 )
29、所开发的软件与其它软件的互连性也应该是该软件设计质量的评审内容之一。
( 对 )
30、ISO9000,ISO9001等标准不适用于软件产品,衡量软件的质量需要用专门的软件行业评测标准。
( 错 )
31、对软件测试主要用于向用户证明软件的正确性。
( 错 )
32、一个成功的测试是发现至今尚未发现的错误的测试。
( 对 )
33、软件配置管理的主要目标是使改进变化可以更容易地被适应,并减少当变化必须发生时所需要花费的工作量。
( 对 )
34、软件的修改是一项很危险的工作,不恰当的维护会对系统造成更大的危害。
( 对 )
35、开发一个新系统可能带来的效益除了有形的效益外,还有无形的效益,并且在某些情况下无形效益还会转化为有形效益。
( 对 )
36、HIPO图是由一组IPO图加一张HC图组成。
是美国IBM公司在软件设计中使用的主要表达工具。
(对 )
37、数据流图中的箭头表示数据的流向,但与控制流没有本质的不同。
( 错 )
38、软件开发所需的资源可以画成一个金字塔,塔的高层最基本的资源是人。
(对 )
39、软件需求规格说明非常重要,如果有一点错误或不当,就可能在将来付出很大的代价。
( 对 )
四、问答题
1.简述“面向对象方法的基本思想”,以及什么是“对象”,什么是“类”?
2.什么是程序效率,程序效率的准则有哪些?
答:
程序效率是指程序的执行速度与程序占用的存储空间。
准则有:
(1)效率是一个性能要求,目标值应当在需要分析阶段给出。
软件效率要以需要为准,不应以人力所及为准。
(2)好的设计可以提高效率。
(3)程序的效率与程序的简单性相关。
3.什么是数据流图,简述绘制数据流图的基本步骤。
答:
数据流图是描述数据处理过程的工具。
数据流图从数据传递和加工的角度,以图形的方式刻画数据从输人到输出的移动变换过程。
数据流图的基本4种成分为加工、外部实体。
数据流和数据存储文件。
画数据流图的基本步骤,就是自外向内,自顶向下,逐层细化,完善求精。
4.什么模块间的耦合?
耦合的强弱取决于哪些因素?
答:
对一个软件结构内各个模块之间的互连程度的度量。
取决于模块间接口的复杂程度,调用模块的方式,通过接口的信息等。
5.什么是黑盒测试法?
什么是白盒测试法?
6.什么是软件?
什么是软件工程?
答:
软件是一种产品。
包含下面三方面的含义。
(1)在运行中能提供所希望的功能和性能的指令集(即程序);
(2)使程序能够正确运行的数据结构;
(3)描述程序研制过程、方法所用的文挡。
软件工程是指导计算机软件开发和维护的工程学科。
它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来开发和维护软件。
7.简述在编码风格上需要注意的四个问题。
答:
(1)源程序文档化;
(2)数据说明的方法:
(3)语句结构;
(4)输入/输出方法。
8.面向对象程序设计的准则?
答:
1)模块化 2)抽象 3)信息隐藏 4)弱耦合 5)强内聚 6)可扩充性
9.什么叫软件的生存期?
软件的生存期可以分为几个阶段?
答:
一个软件产品从定义、开发、维护到废弃的时间总和称为软件的生存周期(LiftCycle)。
软件生存期可以分为7个阶段:
(1)问题定义
(2)可行性研究(3)需求分析(4)设计(5)编码(6)测试(7)运行与维护
10.软件维护的定义及软件维护的主要原因?
答:
软件维护就是在软件运行或维护阶段对软件产品所进行的修改。
其原因主要是有三种类型:
1)改正在特定的使用条件下出现的一些潜在的程序错误或设计的缺陷。
2)因在软件使用过程中数据环境的变化或处理环境发生变化等需要修改软件以适应这种变化。
3)为满足用户和数据处理人员在使用时常提出的改进现有功能、增加新功能,以及改善总体性能的要求,而对程序进行必要的修改。
11、数据字典应由哪几类元素组成?
答:
数据流、 数据项、 数据结构、 数据存储、 处理逻辑、 外部实体
12、模块的内聚性包括哪些类型?
答:
(正确六个就给全分)模块的内聚性包括:
(1)偶然内聚
(2)逻辑内聚(3)时间内聚(4)过程内聚(5)通信内聚(6)信息内聚(7)功能内聚
13、软件开发成本估计?
及其基本方法?
软件开发成本主要是指软件开发过程中所花费的工作量及相应的代价。
其三种基本方法分别是:
自顶向下的估计方法;自底向上的估计方法;差别估计法。
14、在软件开发过程中主要采取哪些措施来保证软件的质量?
请简要说明。
1)审查:
在软件生命周期每个阶段结束之前,都正式使用结束标准对该阶段生产出的软件配置成分进行严格的技术审查。
2)复查:
检查已有的材料,以断定某阶段的工作是否能够开始或继续。
3)管理复审:
向开发组织或使用部门的人员提供有关工程的总体状况、成本和进度等方面的情况,以便他们从管理角度对开发工作进行审查。
4)测试:
用已知的输入在已知环境中动态地运行系统或系统的部件,然后对测试结果进行分析,以发现问题所在。
15、请简要说明概要设计的一般步骤。
答:
1)设计系统方案
2)选取一组合理的方案
3)推荐最佳实施方案
4)功能分解
5)软件结构设计
6)数据库设计,文件结构的设计
7)制定测试计划
8)编写概要设计文档
9)审查与复审概要设计文档
16、可行性研究阶段应主要对哪些问题的可行性进行研究,请分别加以简单说明。
答:
(回答对4个就给全分)
(1)经济可行性:
主要进行成本效益分析。
(2)技术可行性:
综合多种因素,对系统进行整体分析,包括:
风险分析、