《软件工程》复习_第1页
《软件工程》复习_第2页
《软件工程》复习_第3页
《软件工程》复习_第4页
《软件工程》复习_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程》课程期末复习应考指南第一部份课程考核说明1.考核方式本课程期末考试为闭卷笔试,考试时间为90分钟。2.适用范围、教材本课程期末复习指导适用范围为成人本科计算机科学与技术专业的必修课程《软件工程》。考试命题的教材是由吴浩明主编,中央广播电视大学出版社2008年12月第1版《软件工程》教材考试要求考核学生掌握和运用软件工程知识进行规划与指导软件开发研究工作的能力。4.考题类型及比重考题类型及分数比重大致为:填空题占(40%),单项选择题占(20%),判断题占(10%),问答题题占(20%),分析题占(10%)。5.考试注意的问题1).考试时间为90分钟。计算机网络课程的考试时间已经调整为90分钟,相应的考试内容有适当的减少。请大家在复习的时候先关注考核说明,然后有目的的进行复习。)简答题是难度最小一的一类题目,所有的考试题目均在我给综合复习资料上,所以请大家一定要把我做期末综合复习资料打印,仔细阅读。也可以根据自己的理解的语言答题,只要基本正确即视为正确。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、 结构化程序设计采用自顶向下逐步求精—的设计方法和单人口单岀口的控制结构第3页共14页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)系统软件 B.批处理软件C.支撑软件 D.应用软件2、 基于软件规模的划分对软件分类时,下面哪个是关于“中型软件”的描述。(C)—个人在几天之内完成,程序不超过500行语句且仅供个人专用。—个人在半年之内完成,程序不超过2000行语句。5个人以内在一年多时间完成的5000到50000行语句的程序。5至10人在两年多时间完成的50000到100000行语句的程序。3、下面哪个不是软件危机的表现:( A)软件染上病毒,引起安全性、稳定性等性能大大下降。软件的可维护性差。软件的价格太昂贵,软件的成本在总成本中的比例越来越大。软件文档资料不完整,不合格。4、软件开发时,一个错误发现得越晚,为改正它所付出的代价就( A)。A.越大C.越不可捉摸B.越小D.越接近平均水平5、需求分析阶段的任务是确定(A.软件开发方法D)B.软件开发工具C.软件开发费D.软件系统的功能6、需求分析中开发人员要从用户那里了解( A)A.软件做什么 B.用户使用界面C.输入的信息 C.软件开发费D.软件系统的功能6、需求分析中开发人员要从用户那里了解( A)A.软件做什么 B.用户使用界面C.输入的信息 D.软件的规模7、瀑布模型的存在问题是(B)A.用户容易参与开发C.用户与开发者易沟通B.缺乏灵活性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.3 B.4C.5 D.613、在数据流图的加工关系中,表示数据A和B同时输入变换成C的是下图中的(C)A.B.C.D.14、在数据流图的加工关系中,表示数据A变成B或C,或是B和C的是下图中的(DB.B.C.D.BB15C.D.BB15、数据字典中在进行数据定义时,如果有一项为:学号=5{数字}咒其含义为(A学号由5个数字组合而成学号由10个数字组合而成学号的格式为以5开头和5结尾的数字串组成学号由6个数字组成而成16、在一般类中定义的属性或服务衩特殊类继承之后,可以具有不同的数据类型或表现出不同的行为,这是指对象的(C)。B.B.封装性D.独立性多态性17、 在用面向对象观点建立起的模型中,(A)是最基本、最重要、最核心的模型。对象模型 B.数据模型C.动态模型 D.功能模型18、 在编程安全方面,一般来说无法做到(B)。避开错误 B.完美无缺,绝无错误C.冗余 D.涉及防错程序19、 第一个体现结构化编程思想的程序设计语言是(B)A.FORTRAN语言 B.Pascal语言C.C语言 D.PL/1语言20、 下列哪个做法会导致不利的语句结构(B)。避免使用ELSEGOTO结构对递归定义的数据结构尽量不再使用递归过程模块功能尽可能单一化,模块间的耦合能够清晰可见利用信息隐蔽,确保每一个模块的独立性21、为每一个模块确定使用的算法及数据结构,应该在下列哪个阶段进行较为恰当。(C)软件需求分析后期 B.软件概要设计后期C.软件详细设计时期 D.软件编码时期22、为增强程序的可读性和改善程序的质量,就应建立良好的编码风格。以下哪个不属于良好编码风格应注意的主要内容。(D)A.源程序的文档化 B.数据的说明及语句的结构C.输入输出方法 D.选择高效的算法23、以下关于提高程序效率的说法,正确的是(C)。应使程序使用的存储空间达到最小。使用高级语言,不使用汇编语言。应尽量避免使用多维护数组和使用指针。为了追求超高效的输入输出,可以局部损害程序的理解性。

24、2526272829303132333435、以下列出的检查不适合于主动式防错程序设计的是(D)A.内存检查 B.反向检查C.以下列出的检查不适合于主动式防错程序设计的是(D)A.内存检查 B.反向检查C.时间检查 D.栈的深度检查在衡量软件质量时,最重要的标准是( C )。A.成本低 B.可维护性好C.符合要求 D.界面友好C)不是软件维护的内容。A.编写维护报告C.修改需求分析B.记录维护数据D.重写相关模块的编码下列各方法中(DA.白盒法C.动态测试)不是软件测试方法。B.黑盒法D.盒法黑盒测试在设计测试用例时,主要需要研究(A.需求规格说明与概要设计说明C.项目开发计划A)B.详细设计说明D.概要设计说明与详细设计说明软件测试方法中的静态测试方法之一为(A)A.计算机辅助静态分析C.路径覆盖B.黑盒法D.边界值分析软件生命周期中所花费用最多的阶段是(D)B.软件编码AB.软件编码C.C.软件测试下列文档与维护人员有关的有(C)A.软件需求说明书 B.项目开发计划C.概要设计说明书 D.操作手册软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为(B)A.可用性 B.可靠性C.正确性 D.完整性软件被理解、改正、调整和改进的难易程序称为软件的(C)。A.可移植性 B.可靠性C.可维护性 D.可读性以下不属于软件质量保证所采取的措施的是(A)A.软件升级 B.复查和管理复审C.测试 D.审查关于软件测试不正确的是(A)软件测试集中在编码阶段进行,这也是编码阶段的特殊之处。软件测试是一种破坏,但最终的目的是制作高质量的软件产品。软件测试的目的是为了对软件的错误加以纠正。

软件确认是广义上的软件测试,它是企图证明程序软件在给定的外部环境中的逻辑正确性的一系列活动和过程。36、 模块在同一段时间内完成各种初始化工作,这属于(C)。A.偶然内聚 B.逻辑内聚C.时间内聚 D.过程内聚37、对某软件进行模块化开发,当模块数目划分增加时,以下说法不正确的是( B)开发单个模块的成本将降低。开发整个软件的成本将降低。开发模块间接口的成本将增加。开发整个软件的成本是否降低不能断定。)。B.测试方案D)。B.测试方案D.功能及模块结构A.规模C.费用39、在详细设计阶段,经常采用的工具有(A)A.PAD B.SA C.SC D.DFD40、一个模块直接调用的模块数目,称为模块的(A)A.扇出 B.扇入C.宽度 D.深度41、下面哪种情况不属于内容耦合:(C)—个模块有多个入口—个模块访问另一个模块的内部数据模块间通过一个公共数据环境相互作用模块间有一部分程序代码重叠42、模块的内聚性最高的是(D)B.时间内聚D.B.时间内聚D.功能内聚B.时间内聚D.功能内聚C.通信内聚43、以下模块独立性最低的是(A)A.逻辑内聚C.通信内聚三、判断题1、 一个类实质上定义的是一种对象类型,它描述了属于该类型的所有对象的性质。(对)2、 显式将对象的定义和对象的实现分开是面向对象系统的一大特色。(对)3、 UML是面向对象技术领域的建模语言。(对)4、 内聚性越高的模块其模块独立性也就越强。(对)5、 使用好的开发工具可以降低开发成本。(对)6、 为了提高程序的易读性,尽可能使用高级语言编写程序。(对)7、 编码风格在很大程度上决定着程序的质量。(对)8、 给程序加上注释是程序员与阅读程序者之间通信的重要手段,注释可分为序言性和功能性两种(对)9、 需求分析报告只有软件分析人员能看懂。(错)10、无条件转移是程序的基本结构之一。(错)11、程序效率主要是指程序的执行速度,执行速度快则程序效率高。(错)12、程序效率应该是从程序的执行速度和程序占用的存储空间两方面考虑。(对)13、任何对效率无重要改善,且对程序的简单性、可读性和正确性不利的程序设计方法是不可取的(对)14、为了达到生成较短目标代码且存储压缩性能优良的编译程序,有时需要采用汇编程序进行编程。对)15、Jackson系统开发方法是一种典型的面向对象的分析设计方法。(错)16、下图表示的是WHILE型循环。(17、1817、18、19、20、数据流图与程序流程图的主要区别是程序流程图中各处理框之间有严格的时间上的顺序。而数据流图只反映数据的流向,不反映处理逻辑的先后。(对)21、CASE是一组工具和方法的集合,可以辅助软件开发生命周期各阶段进行软件开发。(对)22、软件设计中的层次结构的上一层是下一层的抽象,下一层是上一层的求精。(对)23、模块是数据说明、可执行语句等程序对象的集合,可单独命名、也可通过名字来访问。(对)24、过程、函数、子程序、甚至宏都可作为模块。(对)25、一个模块的扇出是指多少个上级模块直接调用它。(错 )26、一个模块的扇入是指多少个上级模块直接调用它。(对 )27、软件系统设计中,应发尽量使用数据耦合,少用控制耦合,限制公共环境耦合的范围,完全不用内容耦合。(对)28、软件设计的质量通常可以以用户满意程度来衡量。(对)29、所开发的软件与其它软件的互连性也应该是该软件设计质量的评审内容之一。(对)30、ISO9000,ISO9001等标准不适用于软件产品,衡量软件的质量需要用专门的软件行业评测标准。(错)31、对软件测试主要用于向用户证明软件的正确性。(错)第9页共14页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)技术可行性:综合多种因素,对系统进行整体分析,包括:风险分析、资源分析、技术分析等。(3)运行可行性:确定新系统规定的运行方式是否可行。(4)法律可行性:研究在系统开发过程中所涉及的各种合同、侵权、责任等与法律是否相抵触的问题(5)开发方案的可行性:提出系统实现的各种方案,进行评价择优。17、软件管理的功能?1)制

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论