软件工程期末复习题参考答案.pdf_第1页
软件工程期末复习题参考答案.pdf_第2页
软件工程期末复习题参考答案.pdf_第3页
软件工程期末复习题参考答案.pdf_第4页
软件工程期末复习题参考答案.pdf_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1 软件工程期末复习题软件工程期末复习题 选择题选择题 1.软件设计中划分模块的一个准则是(软件设计中划分模块的一个准则是(C C) 。 A 低内聚低耦合 B 低内聚高耦合 C 高内聚低耦合 D.高内聚高耦合 2.(A A)是用户和设计交换最频繁的方法)是用户和设计交换最频繁的方法。 A、原型化方法 B、瀑布模型法 C、螺旋模型方法 D、构件组装模型 3. 试判断下列叙述中,哪个些是正确的试判断下列叙述中,哪个些是正确的( ( C C ) )。 a、软件系统中所有的信息流都可以认为是事务流 b、软件系统中所有的信息流都可以认为是变换流 c、事务分析和变换分析的设计步骤是基本相似的 A、aB、bC、cD、b 和 c 4. 软件工程方法学的目的是软件工程方法学的目的是:使软件生产规范化和工程化使软件生产规范化和工程化,而软件工程方法得而软件工程方法得 以实施的主要保证是以实施的主要保证是( (C C) ) A、硬件环境 B、软件开发的环境 C、软件开发工具和软件开发的环境 D、 开发人员的素质 5.205.20 世纪世纪 5050 年代以来年代以来,出现了许多不同的程序设计语言出现了许多不同的程序设计语言,下列语言中哪个语言下列语言中哪个语言 是低级语言(是低级语言( D D ) A、PASCAL B、VISUAL BASIC C、C+ 2 D、汇编语言 6.6. 软件测试的目的是?软件测试的目的是?( (D D) ) A.软件的正确性 B.找出软件系统中存在的所有错误 C.证明软件系统中存在错误 D.尽可能多的发现软件系统中的错误 7.7.使用白盒测试方法时,确定测试数据应根据(使用白盒测试方法时,确定测试数据应根据(A A)和指定的覆盖标准。)和指定的覆盖标准。 A、程序的内部逻辑 B、程序的复杂程度 C、该软件的编辑人员 D、程序的功能 8.8.软件维护工作的最主要部分是软件维护工作的最主要部分是( (C C) )。 A、纠正性维护 B、适应性维护 C、完善性维护 D、预防性维护 9.PDL9.PDL 是(是(B B)语言。)语言。 A.高级程序设计语言 B、伪码式 C、中级程序设计语言 D、低级程序设计语言 10.10.软件的结构化设计软件的结构化设计(SDSD)方法中方法中,一般分为概要设计和详细设计两阶段一般分为概要设计和详细设计两阶段,其其 中详细设计主要是要建立(中详细设计主要是要建立( C C )。)。 A、软件结构 B、软件过程 C、软件模型 D、软件模块 1111在数据流图中,在数据流图中,(椭圆)代表(椭圆)代表(B B ) A、数据流 B、转换 C、数据源 D、外部实体 3 1212总体设计目的是确定整个系统的(总体设计目的是确定整个系统的( D D) 。 A、规模 B、测试方案 C、费用 D、功能及模块结构 13.13. 检查软件产品是否符合需求定义的过程称为(检查软件产品是否符合需求定义的过程称为( A A )。)。 A、确认测试 B、集成测试 C、验收测试 D、验证测试 1414、在七种偶合中,最低偶合是(、在七种偶合中,最低偶合是( C C )。)。 A、内容偶合 B、公共偶合 C、数据偶合 D、非直接偶合 15.15. 以下不属于白盒测试技术的是(以下不属于白盒测试技术的是( D D ) A. 逻辑覆盖 B. 基本路径测试 C、循环覆盖测试 D、等价类划分 16.16. 软件的发展经历了(软件的发展经历了( D D )个发展阶段)个发展阶段 A.1B. 2C.3D.4 17.17. 需求分析的任务不包括需求分析的任务不包括( ( B B ) ) A. 问题分析 B. 系统设计 C. 需求描述 D. 需求评审。 18.18. 从事物的组成部件及每个部件的属性、功能来认识事物。这种方法被称为从事物的组成部件及每个部件的属性、功能来认识事物。这种方法被称为 (A A)的方法。)的方法。 A、面向对象 B、面向数据 C、面向过程 D、面向属性 19.19.将软件组装成系统的一种测试技术叫(将软件组装成系统的一种测试技术叫(A A) A. 集成测试 B. 单元测试 C. 集合测试 D. 系统测试 20.20. 技术可行性是可行性研究的关键,其主要内容一般不包括(技术可行性是可行性研究的关键,其主要内容一般不包括( C C ) A. 风险分析 B. 资源分析 C. 人员分析 D. 技术分析 4 21.21.一个模块的(一个模块的( B B )是指能直接控制该模块的模块数。)是指能直接控制该模块的模块数。 A. 扇出数 B. 扇入数 C. 宽度 D. 深度 2222下列模型属于成本估算方法的是下列模型属于成本估算方法的是 (A A ) A、COCOMO 模型 B、McCall 模型 C、McCabe 度量法 D、时间估算法 2323在衡量软件质量时,最重要的标准是(在衡量软件质量时,最重要的标准是( B B) 。 A、成本低 B、可维护性好 C、符合要求 D、界面友好 24.24.瀑布模型的关键不足在于瀑布模型的关键不足在于( B B) A、过于简单 B、不能适应需求的动态变更 C、过于灵活 D、各个阶段需要进行评审 25.25.软件生命周期中所花费用最多的阶段是(软件生命周期中所花费用最多的阶段是( D D) A、详细设计 B、软件编码 C、软件测试 D、软件维护 26.26. 软件开发时,一个错误发现得越晚,为改正它所付出的代价(软件开发时,一个错误发现得越晚,为改正它所付出的代价( A A ) A、越大B、越小 C、越不可捉摸D、越接近平均水平 27.27.程序的三种基本控制结构是(程序的三种基本控制结构是( B B) A、过程、子程序和分程序 B、顺序、选择和循环 C、递归、堆栈和队列 D、调用、返回和转移 28.28.结构化程序设计主要强调的是(结构化程序设计主要强调的是( D D) A 程序的规模 B 程序的效率 C 程序设计语言的先进性 D 易读性 29.29. 为了进一步改善软件系统的可维护性和可靠性,并为以后的改进奠定基础为了进一步改善软件系统的可维护性和可靠性,并为以后的改进奠定基础 的软件维护称为(的软件维护称为( D D ) A.纠错性维护 B、适应性维护 C、改善性维护 D、预防性维护 5 30.30. 模块的内聚性最高的是模块的内聚性最高的是 ( D D) A、逻辑内聚B、时间内聚 C、偶然内聚D、功能内聚 问答题问答题 1.1.什么是软件什么是软件? ? 计算机软件是与计算机系统操作有关的程序、规程、规则及任何与之有关的 文档及数据; 2.2.什么是软件工程?什么是软件工程? 软件工程是一门指导软件开发的工程学科,以计算机理论及其他相关学科的 理论为指导,采用工程化的概念、原理、技术和方法进行软件的开发和维护,把 经实践证明的科学的管理措施与最先进的技术方法结合起来。 3.3.快速原型技术的基本思想是什么?快速原型技术的基本思想是什么? 花费少量代价建立一个可运行的系统,使用户及早获得学习的机会,最终提 高软件质量。 4.4.快速开发原型的途径有哪些?快速开发原型的途径有哪些? 废弃型:快速建立需求规格原型; 追加型:快速建立渐进原型法采用循环渐进; 步骤:快速分析、构造原型、运行和评价原型、修改与改进 5.5.什么是软件危机?什么是软件危机? 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 主要是两个问题: (1)如何开发软件,怎样满足对软件的日益增长的需求; (2) 如何维护数量不断膨胀的已有软件; 6.6.什么是软件生存周期什么是软件生存周期? ? 软件生存周期是软件的产生直到报废的整个生命周期 7.7.什么是软件的可靠性?什么是软件的可靠性? 指在给定时间内,在规定的环境条件下系统完成所指定功能的概率 8.8.如何识别用例如何识别用例? ? 明确以下 4 个问题即可: 1、与系统实现有关的主要问题是什么; 2、系统需要哪些输入/输出,这些输入/输出从何而来,到哪里; 3、执行者需要系统提供哪些功能; 4、执行者是否需要对系统中的信息进行读、创建、修改、删除或存储 9.9.如何识别角色如何识别角色? ? 1、谁使用系统的主要功能? 2、谁需要系统的支持以完成日常工作任务? 3、谁负责维护,管理并保持系统正常运行? 6 4、系统需要应付(或处理)哪些硬设备? 5、系统需要和哪些外部系统交互? 6、谁(或什么)对系统运行产生的结果(值)感兴趣? 10.10.如何识别类如何识别类? ? 常用的方法有:1. 名词识别法;2. 系统实体识别法;3. 从用例中识别类; 4. 利用分解与抽象技术;关键是要定义类的“属性”及“操作” 11.11.耦合性和内聚性有几种类型耦合性和内聚性有几种类型? ? 其耦合度、内聚强度的顺序如何?其耦合度、内聚强度的顺序如何? (1)非直接耦合;(2)数据耦合;(3)标记耦合;(4)控制耦合;(5)外部耦合; (6)公共耦合;(7)内容耦合; (1)偶然内聚; (2)逻辑内聚; (3)时间内聚; (4)过程内聚; (5)通信 内聚; (6)顺序内聚; (7)功能内聚; 12.12.什么是黑盒测试法?什么是黑盒测试法? 也称功能测试或数据驱动测试,测试时把程序看作一个不能打开的黑盆子, 在完全不考虑程序内部结构和内部特性的情况下,只根据需求规格说明书,测试 程序的功能或程序的外部特性。 13.13.等价类划分方法中,划分好等价类后设计测试用例的步骤是什么?等价类划分方法中,划分好等价类后设计测试用例的步骤是什么? 1) 为每个等价类编号;2) 使一个测试用例尽可能覆盖多个有效等价类;3) 特别要注意:一个测试用例只能覆盖一个无效等价类; 15.15.什么是白盒测试什么是白盒测试? ? 分析程序的内部逻辑结构,注意选择适当的覆盖标准,设计测试用例,对主 要路径进行尽可能多的测试; 16.16.什么叫综合测试?什么叫综合测试? 一般都应该先进行静态测试,再考虑动态测试,最后进行验收测试;选择最 少量的高效测试用例,从而尽可能多地发现软件中的问题。 17.什么叫改善性维护?什么叫改善性维护? 扩充原有系统的功能,提高原有系统的性能,满足用户的实际需要 1818 什么叫预防性维护什么叫预防性维护? ? 为了进一步改善软件的可靠性和易维护性,或者为将来的维护奠定更好的基 础而对软件进行修改。 1919 什么叫适应性维护什么叫适应性维护? ? 要使运行的软件能适应运行环境的变动而修改软件的过程。 20.什么是内聚度什么是内聚度? 模块内部各成分彼此结合的紧密程度 7 21.1.什么是耦合度什么是耦合度? ? 软件结构中模块间关联程度的一种度量 2222面向对象软件测试基本步骤是什么?面向对象软件测试基本步骤是什么? 1、测试用例模型 2、测试某些用例中的典型场景 3、类及对象模型 4、某些类测试其状态模型 23.23.什么是软件体系结构?什么是软件体系结构? 为软件系统提供一个结构、行为和属性的高级抽象,确定了系统的组织结构 和拓扑结构,显示了系统需求和构成系统的元素之间的对应关系,提供了一些设 计决策的基本原理。 2424 典型软件体系结构有哪些,其优缺点是什么?典型软件体系结构有哪些,其优缺点是什么? 仓库模型、分布式模型、客户机/服务器模型、抽象机模型、控制摸型; 仓库模型,优点: 1.共享大数据量的有效方法。 2.子系统不必关心其它的子系统如何使用它所产生的数据。 3.易于将新子系统集成,若新子系统也采用相同。 缺陷: 1.为了共享数据,各子系统必须有一致的数据视图,不可避免地会影响了整 个系统的性能; 2.子系统的改变,使产生的数据结构也可能发生改变; 3.统一的数据库 结构(备份、安全、访问控制和恢复的策 ),将影响子系统 的效率 。 分布式模型,优点:资源共享;开放性高;可伸缩性好;容错能力强;透明 性高; 缺点:复杂性;安全性;可管理性;不可预知性; 抽象机模型又称为分层模型: 优点:支持增量式开发。 缺点:系统构成,性能保证较困难。 25.25.黑盒测试的典型方法有哪些?黑盒测试的典型方法有哪些? 等价类划分、边界值分析、错误推测、因果图和综合策略 26.26.白合测试的典型方法有哪些?白合测试的典型方法有哪些? 1、逻辑覆盖 语句覆盖:选择足够的测试用例,使得程序中每个语句至少都能被执行一 次; 判定覆盖:执行足够的测试用例,使得程序中每个判定至少都获得一次 “真”值和“假”值; 条件覆盖:执行足够的测试用例,使得判定中的每个条件获得各种可能的 结果; 8 判定/条件覆盖:执行足够的测试用例,使得判定中每个条件取到各种可能 的值,并使每个判定取到各种可能的结果; 条件组合覆盖:执行足够的例子,使得每个判定中条件的各种可能组合都 至少出现一次; 2、循环覆盖 3、基本路径测试 4、代码检查法 5、静态结构分析 6、静态质量度量法 27.27.静态分析中的数据流分析图基本思想是什么?静态分析中的数据流分析图基本思想是什么? 数据流分析则侧重于对变量在控制结构下的定值,使用以及传播情况的分析 检查分析变量的定义和引用情况。 列出源代码中的变量并且报告任何异常的使用。 28.28.软件设计阶段的任务与目标是什么?软件设计阶段的任务与目标是什么? 任务:将分析阶段获得的需求说明转换为计算机中可实现的系统; 即:软件体系结构的设计、用户界面的设计、数据结构的设计、算法的设计 目标:构造一个高内聚低耦合的软件模型。 29.29.软件设计的准则是什么?软件设计的准则是什么? 1、软件结构的准则:顶部宽度小,中部宽度最大,底部宽度次之;在结构 顶部有较高的扇出数,在底部有较高的扇入数 2、模块化准则:将系统划分成若干模块,每个模块完成一个子功能,把这 些模块集中起来组成一个整体,以满足所要求的整个系统的功能。 3、软件独立性准则:开发具有功能专一,模块之间无过多相互作用的模块。 30.30.需求获取的方法有哪些?需求获取的方法有哪些? 1.面谈法 重要而直接,简单的需求获取技术。 2. 问卷法调查法是对面谈法的补充。 3.需求专题讨论会最有力的需求获取技术。有利于培养高效团队。 4.观察用户的工作流程适用于用户无法准确表达需求的情况。 5. 原型化方法 6. 基于用例的方法 应用题:应用题: 一一、已知一个软件项目的记录已知一个软件项目的记录,开发人员开发人员 M=3 人人,其代码行数其代码行数 L=12.1KLOC,工工 作量作量 E=24PM,成本成本 S=168000 美元美元,错误数错误数 N=29,文档页数文档页数 Pd=365 页页。试计算开发该软试计算开发该软 件项目的生产率件项目的生产率 P、平均成本、平均成本 C、代码出错率、代码出错率 EQR 和文档率和文档率 D。 解: 1软件开发的生产率 P 为

温馨提示

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

评论

0/150

提交评论