第三课 软件工程综合复习题连答案
软件工程考试题及答案
软件工程考试题及答案一、单项选择题(每题2分,共20分)1. 软件工程的三要素不包括以下哪一项?A. 工具B. 方法C. 过程D. 环境答案:D2. 软件需求分析阶段的主要任务是确定软件的()。
A. 功能需求B. 性能需求C. 界面需求D. 所有选项答案:D3. 软件测试的目的是()。
A. 发现软件中的错误B. 证明软件是正确的C. 验证软件是否满足需求D. 所有选项答案:D4. 以下哪一项不是软件维护的类型?A. 纠错性维护B. 适应性维护C. 完善性维护D. 开发性维护答案:D5. 软件项目管理的主要目标是()。
A. 提高软件质量B. 控制成本C. 缩短开发周期D. 所有选项答案:D6. 瀑布模型的主要缺点是()。
A. 缺乏灵活性B. 难以适应需求变化C. 无法并行开发D. 所有选项答案:D7. 敏捷开发方法的核心理念是()。
A. 以文档为中心B. 以人为中心C. 以过程为中心D. 以工具为中心答案:B8. 软件配置管理的主要目的是()。
A. 确保软件的一致性B. 跟踪软件的变更C. 控制软件的版本D. 所有选项答案:D9. 以下哪一项不是软件工程的原则?A. 抽象B. 模块化C. 复用D. 随机性答案:D10. 软件工程的目标是()。
A. 开发高质量的软件B. 提高软件生产率C. 降低软件成本D. 所有选项答案:D二、多项选择题(每题3分,共15分)1. 软件需求分析阶段可能包括以下哪些活动?A. 需求收集B. 需求分析C. 需求规格说明D. 需求验证答案:ABCD2. 软件测试的类型包括以下哪些?A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:ABCD3. 软件维护的常见原因包括以下哪些?A. 适应环境变化B. 修正软件缺陷C. 提高软件性能D. 增加新功能答案:ABCD4. 软件项目管理的关键活动包括以下哪些?A. 项目规划B. 项目监控C. 项目沟通D. 风险管理答案:ABCD5. 软件工程中的常见开发模型包括以下哪些?A. 瀑布模型B. 螺旋模型C. 敏捷模型D. 增量模型答案:ABCD三、判断题(每题2分,共10分)1. 软件工程的目标是开发出零缺陷的软件。
软件工程综合复习题连答案
《软件工程》综合复习资料第一章软件工程概述一、选择题1、瀑布模型本质上是一种(c)。
A、线性迭代模型B、顺序迭代模型C、线性顺序模型D、及早见产品模型2、计算机辅助软件工程,简称(D)。
A、SAB、SDC、SCD、CASE3、以下判断正确的是(D)。
A、所谓软件开发就是编写程序。
B、利用软件工程的思想,已成功的解决了软件危机。
C、完成软件测试工作以后,为了缩短程序的长度应删除程序中的注释。
D、一般来说,程序中存在错误的概率与在该段程序中已发现的错误数成正比。
4、__D___是以提高软件质量为目的的技术活动。
A.技术创新B.测试C.技术创造D.技术评审5、瀑布模型的存在问题是( B )。
A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求6、软件生命周期中所花费用最多的阶段是(D )。
A.详细设计B.软件编码C.软件测试D.软件维护7、计算机系统就是(C )A.主机,显示器,硬盘,软驱,打印机等。
B.CPU,存储器,控制器,I/O接口及设备。
C.计算机硬件系统和软件系统。
D.计算机及其应用系统。
8、产生软件危机的原因主要与两个方面的问题有关:( C )A.软件在计算机中很难识别,存在磁盘中也看不到。
B.软件设计对人的智商要求很高,也要求很高的资金投入。
C.软件产品本身的特点与其它工业产品不一样,而且在软件的开发和维护过程中用的方法不正确。
D.软件很难理解,硬件也很复杂。
9、软件开发瀑布模型中的软件定义时期各个阶段依次是(B )A.可行性研究,问题定义,需求分析。
B.问题定义,可行性研究,需求分析。
C.可行性研究,需求分析,问题定义。
D.以上顺序都不对。
10、下列选项中( D )是软件开发中存在不正确的观念、方法。
A.重编程、轻需求B.重开发,轻维护C.重技术,轻管理D.以上三条都是二、填空题1、软件工程的三个基本要素包括(方法)、(工具)和(过程)。
2、一般软件应该有三部分组成:(程序)、(数据)和(文档)。
软件工程复习题及答案
软件工程复习题及答案1. 软件工程的三要素是()。
A. 技术、方法和工具B. 方法、对象和类C. 方法、工具和过程(正确答案)D. 过程、模型、方法2. 在下列选项中,()不属于软件工程学科所要研究的基本内容。
A. 软件工程材料(正确答案)B. 软件工程目标C. 软件工程原理D. 软件工程过程3. ()是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。
A. 软件生命周期B. 软件测试C. 软件工程(正确答案)D. 软件过程4. 下列说法中正确的是()。
A. 20世纪50年代提出了软件工程的概念B. 20世纪60年代提出了软件工程概念(正确答案)C. 20世纪70年代出现了客户机/服务器技术D. 20世纪80年代软件工程学科达到成熟5. 软件危机的主要原因是()。
A. 软件工具落后B. 软件生产能力不足C. 对软件的认识不够D. 软件本身的特点及开发方法(正确答案)6. 增量模型本质上是一种()。
A. 线性顺序模型B. 整体开发模型C. 非整体开发模型(正确答案)D. 螺旋模型7. 软件过程是()。
A. 特定的开发模型B. 一种软件求解的计算逻辑C. 软件开发活动的集合(正确答案)D. 软件生命周期模型8. 软件生命周期模型不包括()。
A. 瀑布模型B. 用例模型(正确答案)C. 增量模型D. 螺旋模型9. 数据流图是进行软件需求分析的常用图形工具,其基本图形符号是()。
A. 输入、输出、外部实体和加工B. 变换、加工、数据流和存储C. 加工、数据流、数据存储和外部实体(正确答案)D. 变换、数据存储、加工和数据流10. 在结构化分析方法中,用以表达系统内数据的运动情况的工具是()。
A. 数据流图(正确答案)B. 数据字典C. 结构化语言D. 判定表与判定树11. 在需求分析之前有必要进行()工作。
A. 程序设计B. 可行性研究(正确答案)C. ER分析D. 2NF分析12. 进行需求分析可使用多种工具,但()是不适用的。
软件工程习题附答案
软件工程习题附答案软件工程是一门研究和应用如何以系统性、规范化、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。
以下是一些与软件工程相关的习题及答案,希望能帮助您更好地理解这门学科。
一、选择题1、软件生存周期中,解决软件“做什么”的阶段是()A 需求分析B 软件设计C 软件实现D 软件测试答案:A解析:需求分析阶段主要是确定软件系统需要完成的功能和性能,解决软件“做什么”的问题。
2、下面不属于软件设计原则的是()A 抽象B 模块化C 自底向上D 信息隐藏答案:C解析:软件设计的原则通常包括抽象、模块化、信息隐藏等,自底向上一般不是软件设计的原则,常见的是自顶向下的设计方法。
3、软件测试的目的是()A 证明软件没有错误B 发现软件中的错误C 改正软件中的错误D 优化软件的性能答案:B解析:软件测试的目的是为了发现软件中存在的错误,而不是证明软件没有错误或直接改正错误、优化性能。
4、下列模型中,不属于软件生命周期模型的是()A 瀑布模型B 快速原型模型C 增量模型D 螺旋模型E 喷泉模型答案:E解析:瀑布模型、快速原型模型、增量模型和螺旋模型都属于常见的软件生命周期模型,喷泉模型则主要强调软件对象之间的无缝迭代。
5、软件维护中,因修改软件而导致出现新错误的维护属于()A 改正性维护B 适应性维护C 完善性维护D 预防性维护答案:A解析:改正性维护是指改正在系统开发阶段已发生而系统测试阶段尚未发现的错误。
在这种维护中,可能会因为修改软件而引入新的错误。
二、填空题1、软件工程包括()、()和()三个要素。
答案:方法、工具、过程2、软件需求分析阶段的工作,可以分为四个方面:()、()、()和()。
答案:需求获取、需求分析、编写需求规格说明书、需求评审3、软件测试的步骤主要包括()、()、()和()。
答案:单元测试、集成测试、系统测试、验收测试4、面向对象的三大特性是()、()和()。
软件工程复习题及答案完整
一、选择1、文档是软件产品的一部分,没有文档的软件就不称其为软件。
对2、在需求解析过程中,解析员要从用户那处解决的最重要的问题是给该软件供应哪些信息。
3、需求规格说明书在软件开发中拥有重要的作用,它也能够作为软件可行性解析的依照。
错错4、成立用例模型的步骤包括确定角色、确定用例和绘制用例图。
错5、数据流图成立系统的功能模型,它由数据流、加工和数据存贮组成。
错6、软件配置管理是一组表记、组织和控制改正源程序的活动。
错7、UML 是一种直观化、明确化、成立和文档化软件产物的通用语言。
错8、好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。
对9、界线值解析方法是取输入 / 输出等价类的界线值作为测试用例。
对10、面向对象的解析是面向计算机系统成立软件系统的对象模型。
错11、(D )是将系统化的、规范的、可定量的方法应用于软件的开发、运行和保护的过程,它包括方法、工具和过程三个要素。
A 软件过程B 软件测试C 软件生计周期D 软件工程12、 ISO9000 是由 ISO/TC176 拟定的关于( B )和质量保证的国际标准。
A 质量控制B 质量管理C 质量策划D 质量改进13、 CMM 供应了一个框架,将软件过程改进的进化步骤组织成 5 个成熟度等级。
除第 1 级外,每个等级都包括了实现该成熟度等级目标的若干(B )。
A要点实践 B 要点过程域 C 软件过程能力 D 软件过程14、在软件开发的各种资源中,( D )是最重要的资源。
A 开发工具B 方法C 硬件环境D 人员15、软件的复杂性是( A ),它引起人员通信困难、开发开销超支、开发时间超时等问题。
A 固有的B 人为的C 可除掉的D 不能降低的16、在各种不同样的软件需求中,( D )描述了用户使用产品必定要完成的任务,能够在用例模型或方案脚本中予以说明。
A 业务需求B 功能需求C 非功能需求D 用户需求17、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于( A )系统。
软件工程习题附答案
软件工程习题附答案软件工程是一门研究如何以系统性的、规范化的、可定量的方法开发和维护软件的学科。
在软件工程的学习和实践中,习题是一种重要的学习方法,通过解答习题可以加深对知识的理解和应用。
本文将为您提供一些关于软件工程的习题,并附带答案。
请注意,下文中的答案仅供参考,具体情况还需根据实际情况进行判断和调整。
1. 什么是软件工程?答案:软件工程是一门研究如何以系统性的、规范化的、可定量的方法开发和维护软件的学科。
2. 软件工程的核心原则是什么?答案:软件工程的核心原则是系统分析、设计、编程、测试和维护各个阶段严格按照规范进行,并强调团队协作和项目管理的重要性。
3. 软件生命周期包括哪些阶段?答案:软件生命周期包括问题定义、需求分析、系统设计、编码、测试和维护等阶段。
4. 请简要描述软件工程的开发流程。
答案:软件工程的开发流程一般包括需求分析、系统设计、编码、测试和维护等阶段。
具体而言,首先需要明确需求,然后进行系统设计,确定软件的整体结构和功能。
接着进行编码,将设计好的软件实现为代码。
随后进行测试,检查软件是否符合需求并修复潜在的问题。
最后是维护阶段,对软件进行更新和修复,以保证其长期有效运行。
5. 请列举几种常用的软件开发方法。
答案:常用的软件开发方法包括瀑布模型、迭代模型、敏捷开发等。
6. 什么是瀑布模型?答案:瀑布模型是一种线性顺序型的软件开发方法,各个阶段严格按照顺序进行,上一个阶段的输出作为下一个阶段的输入。
7. 什么是迭代模型?答案:迭代模型是一种反复迭代、循环演化的软件开发方法,每次迭代都会增加新的功能或修复问题。
8. 请简要介绍敏捷开发方法。
答案:敏捷开发方法是一种轻量级的软件开发方法,强调迭代、灵活和快速响应变化。
它鼓励团队协作、自我组织和持续改进。
9. 请列举几种常用的软件测试方法。
答案:常用的软件测试方法包括单元测试、集成测试、系统测试和验收测试等。
10. 什么是单元测试?答案:单元测试是针对软件开发的最小单位——单元(如函数、方法等)进行的测试,用于检查该单元是否符合预期的功能和设计要求。
软件工程课后习题参考答案
软件工程课后习题参考答案软件工程课后习题参考答案1.简答题1.1 什么是软件工程?软件工程是一门研究和应用如何以系统化、规范化、可量化的方式开发和维护软件的学科,涉及到软件的设计、构建、测试、部署和维护等全生命周期的过程。
1.2 软件工程的目标是什么?软件工程的目标是提高软件开发过程的效率和质量,确保软件项目按时、按需求交付,并且能够满足用户的期望。
1.3 软件生命周期有哪些阶段?常见的软件生命周期包括需求分析、系统设计、详细设计、编码、测试、部署和维护等阶段。
1.4 什么是软件需求?软件需求是指对于软件系统所需满足的问题或需求的描述,包括功能需求、性能需求、接口需求等。
1.5 软件开发过程有哪些模型?常见的软件开发过程模型包括瀑布模型、迭代模型、螺旋模型、敏捷开发等。
2.客观题2.1 软件测试的目的是什么?a) 发现软件中的错误和缺陷b) 验证软件是否符合需求和规格c) 提高软件的可靠性和质量d) 以上皆是答案:d) 以上皆是2.2 瀑布模型的特点是什么?a) 瀑布模型是一种线性顺序的软件开发过程模型b) 各个开发阶段是相互独立的c) 开发过程按照需求分析、设计、编码、测试等顺序进行d) 以上皆是答案:d) 以上皆是2.3 敏捷开发的原则是什么?a) 个体和交互胜过流程和工具b) 可工作的软件胜过详尽的文档c) 客户合作胜过合同谈判d) 响应变化胜过遵循计划e) 以上皆是答案:e) 以上皆是3.计算题3.1 请计算以下代码的覆盖率:(假设代码行数为100行,已执行代码行数为80行)覆盖率 = 已执行代码行数 / 代码行数 100% = 80 / 100 100% = 80%3.2 请计算以下缺陷密度的值:(假设代码行数为1000行,代码中的缺陷数为10个)缺陷密度 = 缺陷数 / 代码行数 1000 = 10 / 1000 1000 = 103.3 请计算以下代码的复杂度:(假设代码中包含的判断语句有20个,循环语句有5个)复杂度 = 判断语句数 2 + 循环语句数 3 = 20 2 + 5 3 = 40 + 15 = 554.附件本文档涉及附件:无5.法律名词及注释本文涉及的法律名词及注释:无。
软件工程课后题答案大全(详细)
软件工程课后题答案大全(详细)软件工程课后题答案大全(详细)现代社会中,软件工程越来越重要,因为它在各个行业中扮演着关键的角色。
而在学习软件工程课程时,完成课后题是提高理解和掌握程度的重要途径。
本文将为您提供一份全面且详细的软件工程课后题答案大全,希望能够帮助您更好地学习与应用软件工程知识。
1. 什么是软件工程?软件工程是指应用系统化的、规范化的、可量化的方法来开发和维护软件的学科。
它涵盖了各种软件开发阶段,包括需求分析、设计、编码、测试和维护,并借鉴了工程学的原则和方法。
2. 软件工程的原则有哪些?软件工程遵循一系列原则来保证软件开发和维护的质量和效率,如下:- 需求管理原则:明确需求,确保项目目标的准确性和一致性。
- 分阶段原则:将软件开发过程划分为不同的阶段,有序进行。
- 风险管理原则:评估和管理项目中的风险,降低项目失败的可能性。
- 适应性原则:根据不同的项目需求和情况,选择合适的软件开发方法和工具。
- 团队合作原则:加强团队协作,促进良好的沟通和信息共享。
3. 软件生命周期有哪些阶段?软件生命周期包括需求分析、设计、编码、测试和维护等多个阶段。
- 需求分析:明确软件系统的功能和性能要求,了解用户需求。
- 设计:定义软件系统的整体结构和组件之间的关系,确定使用的技术和工具等。
- 编码:根据设计方案,将代码实现为可以执行的程序。
- 测试:验证软件系统的功能和性能是否满足需求,并进行错误修复。
- 维护:对软件进行修复和改进,确保系统的长期可用性。
4. 软件需求分析的方法有哪些?软件需求分析是保证软件项目成功的关键步骤,以下是几种常用的分析方法:- 面谈法:直接与用户沟通,了解他们的需求和期望。
- 文档分析法:研究和分析相关文档,如需求规格说明书、用户手册等。
- 原型法:创建一个初步的系统原型,供用户参观和测试,获取反馈。
- 视频录制法:录制用户正在进行的工作流程,以便更好地了解他们的需求。
5. 软件项目管理中的风险管理包括哪些步骤?风险管理是确保软件项目成功的重要环节,步骤如下:- 风险识别:识别和描述可能影响项目目标实现的风险。
软件工程课后习题参考答案
软件工程课后习题参考答案一、概述软件工程作为一门跨学科的学科,涉及到软件开发的各个方面,对培养软件工程师的能力具有重要意义。
课后习题是巩固和深化学生对课程知识的理解和应用的重要途径。
本文将为软件工程课后习题提供一些参考答案,供学生参考和自我评估。
二、需求分析与规格说明1. 什么是软件需求?软件需求分析的目的是什么?软件需求是对问题域中用户对软件所期望的功能和性能的描述。
软件需求分析的目的是识别、理解、规范和管理软件系统开发的需求。
2. 软件需求分析的基本步骤是什么?软件需求分析的基本步骤包括需求获取、需求建模、需求验证和需求管理。
3. 什么是功能需求?什么是非功能需求?功能需求描述的是软件系统应具备的具体功能和行为。
非功能需求则描述了软件系统的其他属性,例如性能、安全性、可靠性等。
4. 举例说明一些常见的软件需求验证方法。
常见的软件需求验证方法包括需求审查、原型验证、测试和模型检查等。
三、软件设计与架构1. 什么是软件架构?软件架构的重要性是什么?软件架构是软件系统的基础结构和组织方式,决定了软件系统的可扩展性、可维护性和可演化性。
软件架构的合理设计能够降低开发和维护的难度。
2. 请简要介绍常见的软件架构模式。
常见的软件架构模式包括分层架构、客户-服务器架构、面向对象架构和微服务架构等。
3. 什么是设计模式?列举几个常见的设计模式。
设计模式是针对软件设计中的常见问题所提出的解决方案。
常见的设计模式包括单例模式、观察者模式、工厂模式和策略模式等。
4. 请简要介绍面向对象设计的原则。
面向对象设计的原则包括单一职责原则、开放封闭原则、里氏替换原则、依赖倒置原则和接口隔离原则等。
四、软件测试与质量保证1. 软件测试的目的是什么?请简要介绍测试驱动开发(TDD)。
软件测试的目的是发现软件产品中的错误和缺陷。
测试驱动开发是先编写测试用例,再根据用例编写代码的开发模式。
2. 请简要介绍黑盒测试和白盒测试。
黑盒测试是基于软件外部行为和需求的测试,不考虑软件的内部实现。
软件工程习题及答案解析
软件工程习题及答案解析软件工程习题及答案解析1.介绍软件工程是一门研究如何以系统化、规范化、可定量的方法来开发和维护软件的学科。
本文档旨在提供一系列软件工程习题及答案解析,帮助读者深入理解软件工程的基本概念和方法。
2.软件生命周期2.1 什么是软件生命周期?软件生命周期是指软件从需求定义、设计、编码、测试、部署到维护的全过程。
2.2 软件生命周期模型2.2.1 瀑布模型瀑布模型是软件开发中最传统的生命周期模型,具有线性、顺序、阶段性的特点。
2.2.2 迭代模型迭代模型通过多次迭代开发,逐步完善软件产品。
2.2.3 增量模型增量模型将软件分为多个增量,按顺序逐步开发。
2.2.4 螺旋模型螺旋模型将风险管理与迭代模型相结合,通过不断迭代和风险分析调整开发计划。
2.2.5 敏捷开发敏捷开发强调开发团队的自组织和快速交付,采用迭代、增量和灵活的方式进行开发。
3.需求工程3.1 需求获取需求获取是指获取软件系统的功能、性能、约束等需求的过程。
3.2 需求分析需求分析是指对获取的需求进行分析和整理,确定需求的优先级、关联性等。
3.3 需求规格说明需求规格说明是对需求进行详细描述和规范化,通常使用用例、需求文档等形式进行说明。
4.软件设计4.1 结构化设计结构化设计是指按照模块化、层次化的原则,将软件系统划分为多个模块并规定模块之间的接口。
4.2 面向对象设计面向对象设计是将软件系统看作是一组对象的集合,每个对象具有属性和方法,并通过消息传递进行交互。
4.3 架构设计架构设计是指确定软件系统的整体结构和各个组件之间的关系,常用的架构模式有MVC、分层、客户端-服务器等。
5.软件测试5.1 测试基础5.1.1 测试概念测试是通过运行系统或部分系统,以发现系统的错误,验证系统是否满足需求。
5.1.2 测试层次分为单元测试、集成测试、系统测试和验收测试等层次。
5.2 测试方法5.2.1 黑盒测试黑盒测试是根据软件的功能需求对软件进行测试,不考虑内部实现细节。
软件工程课后习题参考答案
软件工程课后习题参考答案软件工程课后习题参考答案1·软件工程概述1·1 软件工程的定义和特点软件工程是一门研究和应用如何以系统化、规范化、可量化的方法开发和维护软件的学科。
其特点包括软件开发的目标性、可度量性、可管理性和可预测性。
1·2 软件生命周期模型常见的软件生命周期模型包括瀑布模型、迭代模型、螺旋模型和敏捷模型等。
每个生命周期模型都有其适用的场景和优缺点。
2·软件需求工程2·1 软件需求获取软件需求获取方法包括面谈、问卷调查、用户场景模拟等。
需求获取的目的是明确软件系统的功能、性能和约束条件。
2·2 软件需求分析与规格说明软件需求分析的目标是识别和定义系统的需求,包括功能需求、非功能需求和约束条件。
规格说明是将需求转化为精确、清晰和易于验证的文档。
3·软件设计3·1 结构化设计结构化设计将系统分解为模块,确定模块之间的接口和关系,实现模块化、高内聚、低耦合的设计原则。
3·2 面向对象设计面向对象设计将系统抽象为对象,定义对象的属性和方法,并确定对象之间的关系。
常用的面向对象设计方法有UML(统一建模语言)。
4·软件测试4·1 测试基本概念软件测试是通过运行软件来发现错误和缺陷的过程。
测试的基本概念包括测试用例、测试套件、测试目标和测试覆盖度等。
4·2 测试方法和技术常见的软件测试方法和技术有黑盒测试、白盒测试、灰盒测试、单元测试、集成测试和系统测试等。
每种方法和技术都有其适用的场景和优缺点。
5·软件维护与配置管理5·1 软件维护软件维护是指对已有的软件进行修改、优化、修复错误和适应环境变化的过程。
维护活动包括需求分析、设计、实现、测试和文档更新等。
5·2 软件配置管理软件配置管理是指在软件开发和维护过程中,对软件配置项进行识别、控制、追踪和审查,确保软件可以按需发布、升级和回溯。
软件工程习题及答案
软件工程习题及答案软件工程是一门研究和应用如何以系统性、规范化、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。
以下是一些软件工程相关的习题及答案,希望能帮助您更好地理解这门学科。
一、选择题1、软件生存周期中,解决软件“做什么”的阶段是()A 需求分析B 软件设计C 软件实现D 软件测试答案:A解释:需求分析阶段的主要任务是确定软件系统的功能和性能要求,解决软件“做什么”的问题。
2、下面不属于软件设计阶段任务的是()A 软件总体结构设计B 算法设计C 制定测试计划D 数据库设计答案:C解释:制定测试计划属于软件测试阶段的任务,软件设计阶段主要包括总体结构设计、详细设计(如算法设计、数据库设计等)。
3、软件工程中,白盒测试法可用于测试程序的内部结构。
此方法将程序看作是()A 循环的集合B 地址的集合C 路径的集合D 目标的集合答案:C解释:白盒测试是把程序看成装在一个透明的白盒子里,也就是清楚了解程序的结构和处理过程,测试用例要覆盖程序中的所有可能路径。
4、软件维护工作中,大部分工作属于()A 改正性维护B 适应性维护C 完善性维护D 预防性维护答案:C解释:在软件维护工作中,完善性维护占了大部分,因为随着用户需求的变化和使用过程中的新发现,需要对软件功能进行扩充和增强。
二、填空题1、软件危机产生的主要原因是软件产品的_________和软件生产的_________之间的矛盾。
答案:复杂性;规模性解释:软件产品的复杂性不断增加,而软件生产的规模性又使得管理和控制变得困难,这两者之间的矛盾导致了软件危机。
2、结构化分析方法使用的主要工具是_________和_________。
答案:数据流图;数据字典解释:数据流图用于描述系统中数据的流动和处理过程,数据字典则对数据流图中的元素进行详细的定义和说明。
3、软件测试的步骤包括单元测试、_________、_________和系统测试。
软件工程考试题及答案
软件工程考试题及答案一、单项选择题(每题2分,共20分)1. 软件工程的主要目标是()。
A. 提高软件的生产率B. 提高软件的运行效率C. 降低软件的生产成本D. 提高软件的可维护性答案:A2. 软件工程的三要素包括()。
A. 方法、工具和过程B. 方法、工具和人员C. 方法、过程和人员D. 工具、过程和人员答案:C3. 软件需求分析阶段的主要任务是()。
A. 确定软件的功能需求B. 确定软件的非功能需求C. 确定软件的界面需求D. 确定软件的测试需求答案:A4. 软件设计阶段的主要任务是()。
A. 制定软件开发计划B. 确定软件的体系结构C. 编写软件详细设计文档D. 进行软件测试答案:B5. 软件测试的目的是()。
A. 证明软件是正确的B. 发现软件中的错误C. 证明软件是无错误的D. 证明软件是可维护的答案:B6. 软件维护不包括以下哪项活动()。
A. 改正性维护B. 适应性维护C. 完善性维护D. 软件设计答案:D7. 软件项目管理的主要任务不包括()。
A. 进度管理B. 质量管理C. 风险管理D. 软件编码答案:D8. 面向对象方法中,对象的基本特性不包括()。
A. 抽象B. 封装C. 继承D. 多态答案:D9. UML(统一建模语言)是一种()。
A. 程序设计语言B. 数据库查询语言C. 建模语言D. 脚本语言答案:C10. 在软件开发过程中,需求变更是不可避免的,以下哪项不是需求变更的原因()。
A. 客户的需求不明确B. 项目范围的扩大C. 技术实现的困难D. 软件已经完成答案:D二、多项选择题(每题3分,共15分)11. 软件工程的基本原理包括()。
A. 抽象B. 模块化C. 逐步求精D. 迭代开发答案:ABC12. 软件需求分析阶段的输出包括()。
A. 需求规格说明书B. 用户手册C. 系统架构图D. 测试计划答案:A13. 软件设计阶段的主要文档包括()。
A. 架构设计文档B. 详细设计文档C. 用户手册D. 测试计划答案:AB14. 软件测试的类型包括()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《软件工程》综合复习资料第一章软件工程概述一、选择题1、瀑布模型本质上是一种(c)。
A、线性迭代模型B、顺序迭代模型C、线性顺序模型D、及早见产品模型2、计算机辅助软件工程,简称(D)。
A、SAB、SDC、SCD、CASE3、以下判断正确的是(D)。
A、所谓软件开发就是编写程序。
B、利用软件工程的思想,已成功的解决了软件危机。
C、完成软件测试工作以后,为了缩短程序的长度应删除程序中的注释。
D、一般来说,程序中存在错误的概率与在该段程序中已发现的错误数成正比。
4、__D___是以提高软件质量为目的的技术活动。
A.技术创新B.测试C.技术创造D.技术评审5、瀑布模型的存在问题是( B )。
A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求6、软件生命周期中所花费用最多的阶段是(D )。
A.详细设计B.软件编码C.软件测试D.软件维护7、计算机系统就是(C )A.主机,显示器,硬盘,软驱,打印机等。
B.CPU,存储器,控制器,I/O接口及设备。
C.计算机硬件系统和软件系统。
D.计算机及其应用系统。
8、产生软件危机的原因主要与两个方面的问题有关:( C )A.软件在计算机中很难识别,存在磁盘中也看不到。
B.软件设计对人的智商要求很高,也要求很高的资金投入。
C.软件产品本身的特点与其它工业产品不一样,而且在软件的开发和维护过程中用的方法不正确。
D.软件很难理解,硬件也很复杂。
9、软件开发瀑布模型中的软件定义时期各个阶段依次是(B )A.可行性研究,问题定义,需求分析。
B.问题定义,可行性研究,需求分析。
C.可行性研究,需求分析,问题定义。
D.以上顺序都不对。
10、下列选项中( D )是软件开发中存在不正确的观念、方法。
A.重编程、轻需求B.重开发,轻维护C.重技术,轻管理D.以上三条都是二、填空题1、软件工程的三个基本要素包括(方法)、(工具)和(过程)。
2、一般软件应该有三部分组成:(程序)、(数据)和(文档)。
3、按软件的功能可将软件分成(系统软件)、(支撑软件)和(应用软件)等三类。
4、计算机软件的生存期可以分为六个步骤,它们是()、()()、()、软件测试和运行/维护。
5、软件质量是与软件产品满足规定的和隐含的需求的能力有关的()的全体。
6、软件危机是指在()所遇到的一系列严重问题。
7、程序设计时代的生产方式是个体手工,程序系统时代的生产方式是作坊式小团体,软件工程时代的生产方式是()。
8、喷泉模型是一种以需求分析为动力,以()为驱动的模型。
三、名词解释1、CASE 计算机辅助软件工程2、软件工程3、计算机软件2、软件生存期四、简答题1、什么是软件危机?其主要表现有那些?2、程序的可移植性3、为什么说“CASE领域是一个应用、集成和综合的领域”?第二章系统分析一、选择题1、进行可行性研究的依据是( B )。
A、决策者的经验B、对系统的高级分析和设计C、现场调查D、编码2、可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因此必须给出( B )的回答。
A.确定B.行或不行C.正确D.无二义二、填空题1、成本效益分析的目的是从( )角度评价开发一个项目是否可行。
2、若年利率为i,不计复利,n年后可得钱数为F,则现在的价值P=()。
3、可行性研究需要从以下三个方面分析研究每种解决方法的可行性:技术可行性、经济可行性、()。
4、()是在整个生存期之内系统的累计经济效益(折成现在值)与投资之差。
5、()就是累计的经济效益等于最初的项目投资所需的时间。
三、名词解释1、货币的时间价值2、可行性研究四、简答题五、(10分)1、CAD系统,需投资20万元,每年可节省9.6万元,假定该系统的生存期为5年,对该项目的成本一效益如下。
(银行利率为5%)。
2、某计算机系统投入使用后,5年内每年节约人民币2000元,假设系统投资5000元,银行年利率为15%,请计算该系统投入使用后成本回收期(计算结果保留三位有效数字)及纯利润(计算结果保留四位有效数字)。
第三章软件需求分析一、选择题1、需求分析阶段的任务是确定()。
A.软件开发方法B.软件开发工具C.软件开发费D.软件系统的功能2、在数据流图中,○(椭圆)代表()。
A、源点B、终点C、加工D、模块3、需求分析中开发人员要从用户那里了解()。
A.软件做什么B.用户使用界面C.输入的信息D.软件的规模4、需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是()需求。
A、功能B、性能C、数据D、环境5、需求分析阶段产生的最重要的文档之一是()。
A、系统规格说明书B、需求规格说明书C、概要设计说明书D、详细设计说明书二、填空题1、在结构化方法的软件需求定义中,可采用分析工具来辅助完成,()和()是常用的工具。
2、结构化方法有结构化分析、结构化设计、结构化程序设计构成,它是一种面向( )的开发方法。
3、在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、(5 )。
4、数据流图中的箭头表示();系统结构图中的箭头表示()。
5、需求工程主要分为三个步骤:需求获取、()和()。
6、在SA方法的需求描述工具中,()描述系统的分解,即描述系统有哪几部分组成,各部分之间有什么联系等等。
()定义了数据流图中每一个图形元素;结构化语言、判定表或判定树则详细描述数据流图中不能被再分解的每一个()。
7、数据库的设计指数据存储文件的设计,主要进行的设计方面有:概念设计、逻辑设计、()。
8、引入分层DFD的目的是()。
三、名词解释1、SA2、需求分析四、简答题1、简要介绍一下数据流图。
2、什么是数据字典3、什么是基本(原子)加工?描述表达基本加工逻辑功能的结构化工具的特点?五、(10分)下面是一个机票预定系统的需求描述,请作出该系统的数据流图。
为方便旅客,某航空公司拟开发一个机票预定系统。
旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入该系统,系统为旅客安排航班,印出取票通知和帐单,旅客在飞机起飞的前一天凭取票通知和帐单交款取票,系统校对无误即印出机票给旅客。
六、(10分)需要开发一个教材购销计算机系统。
要求如下所述:学生向系统提交购书单,系统首先审查购书单的有效性(核对所购教材是否确是是提出购书申请学生所必需的,并且要检查教材的库存情况,确定是否有学生所要购买的教材)。
对于有效购书单,系统开购书发票,然后登记并开领书单给学生,学生凭领书单到书库领书。
书库保管员定期检查缺书情况,先按书号统计每种待购教材的数量,然后统计需要向哪些出版社购书,及向每个出版社购书的书号、书名和数量。
(统计所需要的信息分别由缺书登记表、教材存量表、教材一览表提供)。
新教材到货后,书库保管员向系统提交进书通知,系统根据进书情况修改教材存量表和待购教材表,并通知售书部门。
用结构化分析,绘制出该问题的数据流程图第四章软件设计一、选择题1、总体设计的根本目的是()。
A、建立文档B、编码C、设计软件系统结构D、搞清数据流动2、_______工具在软件详细设计过程中不采用。
A.判定表B.IPO图C.PDL D.DFD图3、在详细设计阶段所使用到的设计工具是:A.程序流程图,PAD图,N-S图,HIPO图,判定表,判定树.B.数据流程图,Yourdon 图,程序流程图,PAD图,N-S图,HIPO图。
C.判定表,判定树,数据流程图,系统流程图,程序流程图,PAD图,N-S图。
D.判定表,判定树,数据流程图,系统流程图,程序流程图,层次图。
4、按照软件工程的原则,模块的作用域和模块的控制域之间的关系是:A.模块的作用域应在模块的控制域之内。
B.模块的控制域应在模块的作用域之内。
C.模块的控制域与模块的作用域互相独立。
D.以上说法都不对。
5、模块化的目的是:()A、增加内聚性B、降低复杂性C、提高易读性D、减少耦合性6、下列耦合中,耦合程度最低的是:()A、标记耦合B、控制耦合C、内容耦合D、公共耦合7、下列内聚中,内聚程度最低的是:()A、功能内聚B、时间内聚C、逻辑内聚D、通信内聚8、模块内聚度越高,说明模块内各成分彼此结合的程度越()。
A、松散B、紧密C、无法判断D、相等9、使用SD方法时可以得到()A、程序流程图B、具体的语言C、程序模块结构图D、分层数据流图10、在SD方法中全面指导模块划分的最重要的原则是( )A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性二、填空题1、模块的独立性要求模块要()和()。
2、软件设计一般分为()和()两个阶段。
3、详细设计的任务是确定每个模块的内部特性,即模块内部的( )、使用的数据。
4、软件系统结构图是以()为基础而组成的一种层次结构。
5、从内容上来讲,软件设计分为()、()和过程设计。
6、系统结构图中的箭头表示()。
7、结构化设计对数据流有两种分析方法,分别是()和()。
8、一个模块内部各程序段都在同一张表上操作,这个模块的内聚性称为()。
9、两个模块都是用同一张表,这种耦合称为()。
10、一个模块把数值作为参数传送给另一个模块,这种耦合方式称为()。
三、名词解释1、模块化模块的独立性模块的耦合和内聚模块的作用范围四、简答题1、什么是模块的独立性,如何度量?2、详细设计的基本任务是什么?有哪几种描述方法?五、(10分)举例说明你对概要设计与详细设计的理解。
有不需要概要设计的情况吗?六、(10分)1、图书馆的预定图书子系统有如下功能:(1)由供书部门提供书目给订购组;(2)订书组从各单位取得要订的书目;(3)根据供书目录和订书书目产生订书文档留底;(4)将订书信息(包括数目,数量等)反馈给供书单位;(5)将未订书目通知订书者;(6)对于重复订购的书目由系统自动检查,并把结果反馈给订书者。
试根据要求:(1)画出该问题的数据流程图(5分)。
(2)并把其转换为软件结构图(5分)。
第七章程序编码一、选择题1、程序的三种基本控制结构是。
A.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移2、程序的三种基本控制结构的共同特点是。
A.不能嵌套使用B.只能用来写简单程序C.已经用硬件实现D.只有一个入口和一个出口3、软件文档是软件工程实施中的重要成分它不仅是软件开发各阶段的重要依据,而且影响软件的()。
A.可理解性 B.可维护性 C.可扩展性 D.可移植性4、下列关于模块化程序设计的叙述中不正确的是()。
A.程序设计比较方便,但比较难以维护。
B.便于由多个人分工编制大型程序。
C.软件的功能便于扩充。
D.程序易于理解,也便于排错。
5、下列关于模块化程序设计的叙述中正确的是()。
A.在主存储器能够容纳得下的前提下,应使模块尽可能大,以便减少模块的个数。