1、软件工程复习题-本页仅作为文档封面,使用时请直接删除即可-内页可以根据需求调整合适字体及大小-软件工程复习题(总19页)软件工程期末考试复习题时间:2019年7月5日考 练习题 、填空题1.软件工程是一门综合性的交叉学科,它涉及计算机学科、工程学科、管理学科和 数学学科。 2.软件工程研究的主要内容是方法、过程和工具三个货面。 3.由于软件生产的复杂性和高成本,使大型软件生产出现了很多问题,即出现软件危机,软件工程正是为了克服它而提出的一种概念及相关方法和技术 。 V3中,软件工程知识体系分为软件工程教育需求和软件工程实践两大类。 5.增量式模型假设需求可以分段,成为一系列增量产品,每一增量可
2、以分别开发。6. 喷泉模型比较适用于面向对象的开发方法。7.软件工程是用工程科学的知识和技术原理来定义、开发和维护软件的一门学科。 二、判断题 V3分两大类,共有15个知识域。()2.软件工程的提出起源于软件危机,其目的是最终解决软件的生产工程化。() 3.软件工程学一般包含软件开发技术和软件工程管理两方面的内容,软件开发方法学和软件工程环境属于软件开发技术的内容,软件工程经济学属于软件工程管理。() 4. 软件开发中的最大的问题不是管理问题,而是技术问题。()5. XP (eXtreme Programming,极限编程)是由Kent Beck提出的一套针对业务需求和软件开 发实践的规则,包
3、括13个核心实践。() 三、选择题 1.下列所述不是敏捷生存期模型的是(C)。 A. Scrum B. XP C. V 模型 UP2.软件工程的出现主要是由于(C)。 A.程序设计方法学的影响 B.其他工程学科的影响 C.软件危机的出现 D.计算机的发展3. 以下(C)不是软件危机的表现形式。 A.开发的软件不满足用户的需要 B.开发的软件可维护性差 C.开发的软件价格便宜 D.开发的软件可靠性差 4.以下不是SWEBOK V3的软件工程实践中的知识域的是(B)。 A.软件需求 B.工程基础 C.软件构造 D.软件设计 5.下列所述不是软件组成的是(C)。 A.程序 B,数据 C.界面 D.文
4、档 6.下列对“计算机软件”描述正确的是(A)A.是计算机系统的组成部分 B.不能作为商品参与交易 C.是在计算机硬件设备生产过程中生产出来的 D.只存在于计算机系统工作时7.软件工程方法的提出起源于软件危机,其目的应该是最终解决软件的(D)问题。A.软件危机 B.质量保证 C.开发效率 D.生产工程化8.软件工程学涉及软件开发技术和项目管理等方面的内容,下述内容中(D)不属于开发技术的范畴。A.软件开发方法 B.软件开发工具 C.软件工程环境 D.软件工程经济 练习题、填空题的三个基本构造块是事务、关系和图。2.在软件开发的结构化方法中,采用的主要技术是SA,即结构化分析和SD,即结构化设计
5、。3.数据流图描述数据在软件中的流动和处理过程,是软件模型的一种图示,它一般包括4种图形符号:变换/加工、外部实体、数据流向和数据存储。4.面向对象方法将数据和对数据的操作紧密地结合起来的方法,这是其与传统结构化方法的主要区别。 5.软件代理一般具有自治性、开放性、反应能力特性。 二、判断题1.面向对象开发过程是多次重复和迭代的演化过程,在概念和表示方法上的一致性保证了各项开发活动之间的平滑过渡。() 2.基于构件软件工程开发的整个过程从需求开始,在完成体系结构设计后,并不立即开始详细设计,而是确定哪些部分可由构件组装而成。()3.软件逆向工程是根据对软件需求的分析恢复其设计和软件代码的过程。
6、()三、选择题1.结构化分析方法是面向(B)的自顶向下逐步求精的分析方法。 A.目标 B.数据流 C.功能 D.对象 2.结构化的概要设计是以(B )技术为基础的软件设计方法。 A.抽象 B.模块化 C.自下而上 D.信息隐蔽 3.在结构化分析方法中,常用的描述软件功能需求的工具是(C)。 A.业务流程图、处理说明 B.软件流程图、模块说明 C.数据流程图、数据字典 D.系统流程图、程序编码4. (A )不是UML的图示。 A.流程图 B.用例图 C.活动图 D.序列图 练习题 、填空题 1.分析模型在系统级描述和软件设计之间建立了桥梁描述。 2.最常见的实体关系图的表示法是Peter Che
7、n表示法和James Martin表示法。3.结构化分析方法是面向数据流进行需求分析的方法。结构化分析方法使用数据流图、数据字典和系统流程图等来描述。4.在需求分析中,可从有关问题的简述中提取组成数据流图的基本成分。通常问题简述中的动词短语将成为数据流图中的加工、处理成分。5.面向对象的需求分析中常用的UML图示有用例图、顺序图、状态图、协作图和活动图等。二、判断题1.系统流程图表达了系统中各个元素之间信息的流动情况。()2.用例,求兮析气法采用的是一种结构化的情景分析方法,即一种基于场景痤模的方法。 ()3.纪面向对象分析方法认为系统是对象的集合,是以功能和数据为基础的。()4.结构化分析方
8、法适合于数据处理类型软件的需求分析。()5.需求变更管理是需求管理过程中很重要的过程。()6.软件需求规格内包括算法的详细描述。()三、选择题1.软件开发过程中,需求活动的主要任务是(B)。 A.给出软件解决方案 B.定义需求并建立系统模型 C.定义模块算法 D.给出系统模块结构 2.软件需求规格说明文档中包括多方面的内容,下述(D)不是软件需求规格说明文档中应包括的内容。 A.安全描述 B.功能描述 C.性能描述 D.软件代码3.软件需求分析一般应确定的是用户对软件的(D)。 A.功能需求 B.非功能需求 C.性能需求 D.功能需求和非功能需求 4.结构化分析方法中,描述软件功能需求的常用工
9、具有(A)。A.业务图,数据字典 B.软件流程图、模块说明 C.用例图、数据字典 D.系统流程图、程序编码 5.软件需求分析阶段建立原型的主要目的是( C)。A.确定系统的功能和性能要求 B.确定系统的性能要求 C.确定系统是否满足用户要求 D.确定系统是否满足开发人员需要6.在需求分析阶段,需求分析人员需要了解用户的需求,认真仔细地调研、分析,最终应建立目标系统的逻辑模型并写出(B)。A.模块说明书 B.需求规格说明 C.项目开发设计 D.合同文档 7.软件需求阶段要解决的问题是( A )。 A.软件做什么 B.软件提供哪些信息 C.软件采用什么结构 D.软件怎样做 8.软件需求管理过程包括
10、需求获取、需求分析、需求规格说明编写、需求验证以及(B)。A.用户参与 B.需求变更 C.总结 D.都不正确9.在原型法中开发人员根据(A)需求不断修改原型,直到满足用户要求为止。 A.用户 B.开发人员 C.系统分析员 D.程序员10.结构化分折方法以数据流图、(D)和加工说明等描述工具,卽用直观的图和简介的语 言来描述软件系统模型。 A. DFD图 B. PAD图 图 D.数据字典 练习题一、填空题 S、B/S、SOA、BMP 等都是不同的体系结构。2. 数据字典包括数据流、数据项、数据储存和基本加工。 3.高内聚,松耦合是模块设计的基本原则。 4.软件设计把已确定的软件需求转换成特定形式
11、的设计表示,使其得以实现。 5.设计模型是从分析模型转化而来的,主要包括四类模型:体系结构设计模型、数据设计模型、接口设计模型、构件设计模型。 6.面向对象设计的主要特点是建立了要个非常重要的软件设计概念:抽象性、信息隐藏性、功能独立性和模块化。 7.模块层次图和模块结构图是模块划分的重要方法。 设计中主要采用的图示有类图、对象图、包图等。 9.软件模块设计,包括模块划分、分配任务、模块的调用关系、每个模块的功能等, 10.数据库的设计一般要进行三个方面的设计:概念结构设计、逻辑结构设计和物理结构设计。11.结构化程序设计方法的主要原则可以概括为复用原则。二、判断题 1.软件设计是软件工程的重
12、要阶段,是一个把软件需求转换为软件代码的过程。()2.软件设计说明书是软件概要设计的主要成果。()3.软件设计中设计复审和设计本身一样重要,其主要作用是避免后期付出高代价。()4.应用程序框架结构是一个可以重复使用的、大致完成的应用程序,可以通过对其进行定制,开发成一个客户需要的真正的应用程序。()5.面向对象的设计(OOD)是将面向对象分析(OOA)的模型转换为设计模型的过程。()6.在进行概要设计时应加强模块间的联系。()7.复用原则也是软件设计的一个重要原则。()8.以对象、类、继承和通信为基础的面向对象设计方法也是常见的软件概要设计方法之一。()三、选择题1.内聚是从功能角度来度量模块
13、内的联系,按照特定次序执行元素的模块属于(C ) 卞式。 A.逻辑内聚 B.时间内聚 C.过程内聚 D.顺序内聚 2.概要设计是软件工程中很重要的技术活动,下列不是概要设计任务的是(B)。 A.设计软件系统结构 B.编写测试报告 C.数据结构和数裾库设计 D.编写概要设计文档 3.数据字典是定义(A )中的数据的工具。 A.数据流图 B.系统流程图 C.程序流程图 D.软件结构图 4.耦合是软件各个模块间连接的一种度量。一组模块都访问同一数据结构应厲于(B)方式。 A.内容耦合 B.公共耦合 C.外部耦合 D.控制耦合 5.面向数据流的软件设计方法中,一般把数据流图中的数据流分为(B)两种流,
14、再将数据流图映射为软件结构。 A.数据流与事务流 B.交换流和事务流 C.信息流与控制流 D.交换流与数据流6.软件设计是一种将(B)转换为软件表示的过程。A.代码设计 B.软件需求 C.详细设计 D.系统分析7.数据存储和数据流都是(D),仅仅是所处的状态不同。A.分析结果 B.事件 C.动作 D.数据 8.模块本身的内聚是模块独立性的重要度量因素之一,在7类内聚中,具有最强内聚的一类 是(D)。 A.顺性内聚 B.过程性内聚 C.逻辑性内聚 D,功能性内聚 9.面向数据流的设计方法把(A)映射成软件结构。 A.数据流 B.系统结构 C.控制结构 D.信息流 10.下列关于软件设计准则的描述
15、,错误的是(C)。 A.提高模块的独立性 B.体现统一的风格 C.使模块的作用域在该模块的控制域外 D.结构应该尽可能满足变更的要求 11.软件的结构化设计方法是以(C)为依据的模块结构设计方法。 A.系统数据要求 B.数据结构 C.数据流图 D.数据流 12.下面不是数据库设计的阶段的是(C)。 A.概念结构设计阶段 B.逻辑结构设计阶段 C.模块划分 D.物理结构设计阶段 练习题一、填空题又称结构化英语,它是种非式化的比较灵活的语言。 2.软件的详细设计可采用图形、表格和过程设计语言等形式的描述工具表示模块的处理过程。3.软件详细设计需要设计人员对每个设计模块进行描述,确定所使用的算法和数
16、据结构、接口细节和输入、输出数据等。4.结构化设计方法与结构化分析方法一样,采用自顶向下,逐步细化技术。结构化设计方法与结构化分析方法相结合,依数据流图设计程序的结构。 5.软件中详细设计一般在概要设计基础上才能实施,它们一起构成了软件设计的全部内容。 6.在Warnier方法中,采用Warnier图表示数据结构和程序结构。 7.面向数据结构的设计方法主要包括JSD方法和Warnier方法。8.在详细设计阶段,除了对模块内的算法进行设计,还应对模块内的数据结构进行设计。二、判断题 (Jackson)方法的原理与Warnier方法的原理类似,也是从数据结构出发设计程序,但后者的逻辑要求更严格。(
17、)2.软件详细设计要求设计人员为每一个程序模块确定所使用的算法、数据结构、接口细节和输入/输出数据等。()3.伪代码可以被直接编译,它体现了设计的程序的框架或者代表了一个程序流程图。()4.在详细设计阶段,一种历史最悠久、使用最广泛的描述程序逻辑结构的工具是程序流程图。()是一种改进的图形描述方式,优点是能够反映和描述自顶向下的历史和过程。()6.详细设计阶段的任务还不是具体地编写程序,而是要设计出程序的“蓝图”,以后程序员根据这个蓝图编写实际的代码。()7.过程设计的描述工具包括程序流程图、N-S图、PAD图、PDL伪代码等。()三、选择题 设计方法是由Jackson所提出的, 它是一种面向
18、(C)的软件设计方法。A.对象 B.数据流 C.数据结构 D.控制结构2.数据元素组成数据的方式的基本类型是(D)。A.顺序的 B.选择的 C.循环的 D.以上全部 3.程序流程图中的箭头代表(B)。A.数据流 B.控制流 C.调用关系 D.组成关系4.伪码又称为过程设计语言(PDL),一种典型的PDL是仿照(D)编写的。A. Fortran(工程语言) B.汇编语言 语言 语言 5.伪码作为详细设计的工具,缺点在于(B)。A.每个符号对应于源程序的一行代码,对于提高系统的可理解性作用很小 B.不如其他图形工具直观,描述复杂的条件组合与动作间的对应关系不够明了C.容易使程序员不受任何约束,随意
19、转移控制 D.不支持逐步求精,使程序员不去考虑系统的全局结构6.结构化程序流程图中一般包括3种基本结构,下述结构中(D )不属于基本结构。A.顺序结构 B.条件结构 C.选择结构 D.嵌套结构7.在详细设计阶段,一种二维树形结构并可自动生成程序代码的描述工具是(A)。 A. PAD D.判定树8.软件详细设计的主要任务是确定每个模块的(A)。A.算法和使用的数据结构 B.外部接口 C.功能 D.编程 9.为了提髙模块的独立性,模块之间最好是(D)A.公共耦合 B.控制耦合 C.内容耦合 D.数据耦合 10.为了提高模块的独立性,模块内部最好是(C)A.逻辑内聚 B.时间内聚 C.功能内聚 D.
20、通信内聚 11.软件设计中,可应用于详细设计的工具有(D)。A.数据流程图、PAD图、N-S图B.业务流程图、N-S图、伪码 C.数据流程图、PAD图、N-S图和伪代码 D.顺序流程图、PAD图、N-S图和伪代码 练习题一、填空题1.在软件编码过程中,可以采用自顶向下、自底向上、自顶向下和自底向上相结合以及线程模式等几种编码策略。2.可以将程序设计语言分为第一代语言、第二代语言、第三代语言、第四代语言和智能化语言五类。3.任何程序都可由顺序、循环和选择三种基本控制结构构造。这三种基本控制结构的共同点是自上而下和从左到右。二、判断题1.在树状结构中,位于最上面的根部是顶层模块。() 2.应该尽量
21、使用机器语言编写代码,提髙程序运行效率,而减少高级语言的使用。() 三、选择题1.结构化程序设计要求程序由顺序、循环和(A)三种结构组成。 A.分支 B.单入口 C.单出口 D.随意跳转 2.软件调试的目的是(A)。A.发现错误 B.改正错误 C.改善软件的性能 D.挖掘软件的潜能 3.将每个模块的控制结构转换成计算机可接受的程序代码是(A)阶段的任务。 A.编码 B.需求分析 C.详细设计 D.测试 4.编码高效率原则包括提高运行效率、提高储存效率和提高(A)。 A.输入/输出效率 B.开发效率 C.测试效率 D.维护效率 5.下列伪代码中,A=14,B=20,则X的值是(B)。STARTI
22、NPUT(A,B)X=0 IF A10 THEN X=10 ENDIF IF B20 THEN X=X+100 ENDIF PRINT(X)STOP A. 0 B. 10 C. 110 D. 100 6.下面是一段求最大值的程序,其中datalist是数据表,n是数据表的长度,则其McCabe环路复杂性为(C)。int GetMax(int n, int datalist ) int k=0; for(int j=1; j datalistk)k=j ; return k; A. 1 B. 2 D. 4 练习题一、填空题 1.从是否需要执行被测软件的角度,软件测试方法一般可分为两大类,即静态测
23、试方法和动态测试方法。2.在白盒测试方法中,对程序的语句逻辑有6种覆盖技术,其中发现错误能力最强的技术是路径覆盖。3.若有一个计算类程序,它的输入量只有一个X,其范围是, 。现在设计一组测试用例,X输入为、,则设计这组测试用例的方法是黑盒测试。4.单元测试主要测试模块的5个基本特征是模块接口、模块局部数据结构、重要的执行路径、错误处理和边界条件。5.黑盒测试主要针对功能进行测试,等价类划分、规范导出法、错误猜测和因果图法等都是采用黑盒技术设计测试用例的方法。6.边界值分析是将测试边界情况作为重点目标,选取正好等于、刚刚大于或刚刚小于边界值的测试数据。如果输入/输出域是一个有序集合,则集合的第一
24、个元素和最后一个元素应该作为测试用例的数据元素。7.集成测试的策略主要有大爆炸、自顶向下、自底向上、三明治和冒烟。8.逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖等。二、判断题1.回归测试是多纠错性维护中最常运用的方法。() 2.软件测试的目的是尽可能多地发现软件中存在的错误,将它作为纠错的依据。() 3.回归测试是指在单元测试基础上将所有模块按照设计要求组装成一个完整的系统进行的 测试。() 4.白盒测试主要以程序的内部逻辑为基础设计测试用例。() 5.软件测试的目的是证明软件是正确的。() 三、选择题 1.集成测试主要是针对(A)阶段的错误。 A.编码
25、B.详细设计 C.概要设计 D.需求设计 2.以下(B)不属于白盒测试技术。 A.基本路径测试 B.边界值分析 C.条件覆盖测试 D.逻辑覆盖测试 3.(D)能够有效地检测输入条件的各种组合可能引起的错误。 A.等价类划分 B.边界值分析 C.错误猜测 D.因果图 4.(A)方法需要考察模块间的接口和各个模块之间的关系。 A.单元测试 B.集成测试 C.确认测试 D.系统测试 5.在测试中,下列说法错误的是(B)。 A.测试是为了发现程序中的错误而执行程序的过程 B.测试是为了表明程序的正确性 C.好的测试方案是尽可能发现迄今为止尚未发现的错误 D.成功的测试是发现了至今为止尚未发现的错误 6
26、.单元测试又称为(B),可以用白盒法也可以采用黑盒法测试。 A.集成测试 B.模块测试 C.系统测试 D.静态测试 7.在软件测试中,设计测试用例主要由输入/输出数据和(C)两部分组成。 A.测试规则 B.测试计划 C.预期输出结果 D.以往测试记录分析 8.通过程序设计的控制结构导出测试用例的测试方法是(B)。 A.黑盒测试 B.白盒测试 C.边界测试 D.系统测试: 练习题 一、瑱空题1.产品交付需要完成的主要任务是安装部署和培训文档。2.项目验收是项目移交的前提,移交时,项目移交方和项目接收方将在项目移交报告上签字, 形成项目移交报告。 3.验收测试是交付使用前的最后一次检查,也是软件投
27、入运行之前保证可维护性的最后机会。 4.第三方测试是由独立于软件开发者和用户的第三方所进行的测试,旨在对被测软件进行质量认证。5.一个产品的使用者有两种类型:一种是用户,另一种是系统管理员。6.系统管理员手册是为系统管理员准备的文档资料。二、判断题1.当项目通过验收后,项目团队不需要将项目成果的所有权交给项目接收方。()2.软件项目交付时要给用户提供必要的文档。() 3.需要针对使用系统的用户的特殊要求进行不同的培训。() 4.用户手册不仅要提供系统的使用方法,还需提供系统功能的详细实现方法。()三、选择题 下面哪个不是交付过程的文档(D)。 A.验收测试报告 B.用户手册 C.系统管理员手册
28、 D.开发合同 练习题 一、填空题1.当一个系统已经在实际环境中投入使用了,可以进行正常的操作,我们就说系统开发完成了,而以后对系统变更所做的任何工作,称为维护。2.软件的可维护性是指纠正软件系统出现的错误或者缺陷,以满足新的要求而进行修改、扩充或压 缩的容易程度。 3.个可移植的程序应该具有结构良好、灵活、不依赖的性能。4.软件维护的类型主要包括纠错性维护、适应性维护、完善性维护和预防性维护等。5.预防性维护也称为软件再工程。6.软件的逆向工程是一个恢复设计结果的过程 7.如果软件是可测试的、可理解的、可修改的、可移植的、可靠的、有效的、可用的,则软件一定是可维护的。二、判断题1.可维护性、
29、可使用性、可靠性是衡量软件质量的几个主要质量特性,其中软件的可使用性是软件各个开发阶段的关键目标。()2.可理解性表明人们通过阅读源代码和相关文档,了解程序功能及其如何运行的容易程度。 ()3.可测试性表明验证程序正确性的容易程度,程序越简单,验证其正确性越容易。()4.适应性维护是针对系统在运行过程中暴露出来的缺陷和错误而进行的,主要是修改错误。()5.完善性维护主要是为了改善系统的某一方面而进行的变更,可能这种变更是因为出现错误而进行的变更。()三、选择题 1.度量软件的可维护性可以包括很多方面,下列(A)不在措施之列。 A.程序的无错误性 B.可靠性 C.可移植性 D.可理解性 2.软件
30、按照设计的要求,在规定时间和条件下达到不出故障、持续运行要求的质量特性称为(A)。A.可靠性 B.可用性 C.正确性 D.完整性 3.为适应软件运行环境的变化而修改软件的活动称为(B)。A.纠错性维护 B.适应性维护 C.完善性维护 D.预防性维护 4.在软件生存期的维护阶段,继续诊断和修正错误的过程称为(D)。 A.完善性维护 B.适应性维护 C.预防性维护 D.纠错性维护 5.软件维护是软件生命周期中的固有阶段,一般认为,各种不同的软件维护中以(C)维护所占的维护量最小。A.纠错性维护 B.代码维护 C.预防性维护 D.文档维护 6.对于软件的(D),有一种简单的面向时间的度量,叫做平均变更等待时间(Mean Time To Change, MTTC)。这个时间包括开始分析变更要求、设计合适的修改、实现变更并测试它以及把这种变更发送给所有的用户所需的时间。 A.可靠性 B.可修改性 C.可测试性 D.可维护性 7.产生软件维护的副作用,是指(C)。A.开发时的错误 B.隐含的错误 C.因修改软件而造成的错误 D.运行时误操作简答题1、软件危机的原因:(1)软件的规模越来越大,结构越来越复杂。(2)软件开发管理困难而复杂。(3)软件开发费用不断增加。(4)软件开发技术落后
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1