软件工程 期末试题及答案
- 格式:docx
- 大小:37.75 KB
- 文档页数:4
软件工程(期末试题及答案)软件工程(期末试题及答案)一、选择题(共20题,每题2分,共40分)1. 在软件工程中,以下哪一项不是七大工程()。
A. 软件需求B. 软件设计C. 软件开发D. 软件维护答案: D2. 软件需求分析的目的是()。
A. 理解用户需求B. 设计软件架构C. 编写用户手册D. 测试软件功能答案: A3. 软件开发过程中的迭代模型,不存在的是()。
A. 瀑布模型B. 敏捷开发模型C. 螺旋模型D. 喷泉模型答案: D4. 以下哪个不是软件测试的目的()。
A. 发现错误和缺陷B. 验证软件是否满足需求C. 评估软件的可靠性和质量D. 优化软件的性能答案: D5. 软件项目管理中,以下哪种方法适用于大型复杂项目()。
A. 瀑布模型B. 敏捷开发C. 增量模型D. 螺旋模型答案: D6. 软件开发生命周期中,以下哪个过程不属于()。
A. 需求分析过程B. 设计过程C. 编码过程D. 运维过程答案: D7. 在软件工程中,什么是软件测试()。
A. 软件开发的最后阶段B. 发现软件缺陷的过程C. 确保软件质量的控制过程D. 软件最终验收的流程答案: C8. 以下哪种测试方法旨在评估软件在不同负载下的性能和稳定性()。
A. 单元测试B. 集成测试C. 系统测试D. 性能测试答案: D9. 软件开发中,以下哪个活动不属于软件配置管理()。
A. 版本控制B. 配置变更控制C. 缺陷管理D. 代码评审答案: D10. 以下哪个是敏捷开发的基本原则()。
A. 面对面交流胜过文档B. 完全按照计划进行C. 精确的需求分析是关键D. 严格的变更控制是必要的答案: A11. 下列哪个不属于软件配置管理的内容()。
A. 变更控制B. 版本控制C. 缺陷管理D. 运维管理12. 软件的可靠性是指()。
A. 软件是否能正常运行B. 软件是否符合用户需求C. 软件运行期间不出现故障的能力D. 软件功能的完善程度答案: C13. 下列哪个不属于软件开发的7大原则()。
《软件工程》期末试卷及答案一、选择题(每题2分,共20分)1. 下列哪项不是软件工程的基本目标?A. 提高软件的生产率B. 提高软件的质量C. 减少软件的开发成本D. 提高软件的可维护性答案:D2. 软件工程的三要素不包括以下哪项?A. 方法B. 工具C. 管理模式D. 知识库答案:D3. 下列哪种软件过程模型适用于需求不明确的项目?A. 水平模型B. 增量模型C. 迭代模型D. 瀑布模型答案:C4. 在软件项目管理中,项目经理负责以下哪项工作?A. 软件需求分析B. 软件设计C. 软件编码D. 项目计划与组织答案:D5. 以下哪种编程语言不属于面向对象编程语言?A. JavaB. C++C. PythonD. C答案:D6. 下列哪种软件测试方法属于静态测试?A. 单元测试B. 集成测试C. 系统测试D. 代码审查答案:D7. 以下哪种软件维护类型占总维护工作量的比例最大?A. 适应性维护B. 完善性维护C. 纠错性维护D. 预防性维护答案:C8. 下列哪种软件文档是软件开发过程中必须编写的?A. 项目计划书B. 需求规格说明书C. 设计文档D. 测试报告答案:B9. 下列哪种软件工程方法学强调开发过程的结构化和规范化?A. 结构化分析方法B. 面向对象分析方法C. 原型法D. 敏捷开发方法答案:A10. 以下哪个软件工具不属于CASE(计算机辅助软件工程)工具?A. 代码生成器B. 代码审查工具C. 项目管理工具D. 数据库管理系统答案:D二、填空题(每题2分,共20分)11. 软件工程的基本原则包括抽象、封装、模块化、层次化和信息隐藏等,其中______是一种将信息、数据和操作封装在一起的方法。
答案:封装12. 软件开发过程分为需求分析、设计、编码、测试和维护五个阶段,其中______阶段是软件开发过程中的核心阶段。
答案:设计13. 代码行(LOC)和功能点(FP)是衡量软件规模的两个指标,其中______是一种基于软件功能需求的规模度量方法。
软件工程导论《软件工程》期末考试题及答案一、选择题(每题2分,共20分)1. 下列哪项不是软件工程的基本目标?A. 提高软件的生产率B. 提高软件的可维护性C. 提高软件的性能D. 降低软件的开发成本答案:C2. 下列哪种方法不属于软件需求分析的方法?A. 数据流图(DFD)B. 实体-关系图(ER图)C. 状态转换图D. Petri网答案:D3. 软件设计中,模块的内聚性越高,表明模块的:A. 功能越单一B. 独立性越强C. 复用性越低D. 可维护性越低答案:A4. 在软件测试阶段,下列哪种测试方法不属于黑盒测试?A. 等价类划分B. 边界值分析C. 代码覆盖率分析D. 逻辑覆盖分析答案:D5. 软件项目管理中,项目经理的主要职责不包括以下哪项?A. 制定项目计划B. 管理项目进度C. 组织项目团队D. 编写代码答案:D二、填空题(每题2分,共20分)6. 软件生命周期可以分为______、需求分析、设计、编码、测试、维护等阶段。
答案:需求调研7. 软件工程的三要素是______、过程、方法。
答案:工具8. 在软件设计中,模块的独立性包括______和耦合性两个方面。
答案:内聚性9. 软件测试的目的不包括______。
答案:发现并修复所有错误10. 软件项目管理的主要目标是实现项目的______、质量和成本控制。
答案:进度三、简答题(每题10分,共30分)11. 简述软件工程的基本原则。
答案:软件工程的基本原则包括:(1)抽象:将复杂问题分解为更简单的子问题;(2)分解:将问题分解为多个部分,分别解决;(3)模块化:将软件划分为独立的模块,提高可维护性和复用性;(4)信息隐藏:隐藏模块内部的信息,只暴露必要的接口;(5)一致性:保持软件各部分的一致性,提高可读性;(6)可维护性:使软件易于修改和维护。
12. 简述软件需求分析的目的和任务。
答案:软件需求分析的目的在于明确用户对软件系统的功能、性能等方面的需求。
《软件工程》期末考试题及答案一、选择题(每题2分,共20分)1. 以下哪个不属于软件工程的三个基本活动?A. 软件规格B. 软件设计C. 软件编码D. 软件测试答案:D2. 以下哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程答案:A3. 以下哪个不属于软件工程的基本原则?A. 分而治之B. 信息隐藏C. 模块化D. 编码规范答案:D4. 以下哪个不是软件工程的四大支柱?A. 软件需求B. 软件设计C. 软件验证D. 软件项目管理答案:C5. 以下哪种软件过程模型是迭代和增量的?A. 瀑布模型B. 快速应用开发C. 敏捷开发D. 原型模型答案:C6. 以下哪个不是软件测试的级别?A. 单元测试B. 集成测试C. 系统测试D. 需求测试答案:D7. 以下哪种软件维护类型是最常见的?A. 更正性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:A8. 以下哪个不属于软件项目的风险管理策略?A. 风险避免B. 风险转移C. 风险减轻D. 风险接受答案:B9. 以下哪个不属于软件需求分类?A. 功能需求B. 性能需求C. 可用性需求D. 测试需求答案:D10. 以下哪个不属于软件设计的准则?A. 模块化B. 信息隐藏C. 功能耦合D. 数据抽象答案:C二、填空题(每题2分,共20分)11. 软件工程的主要目标是提高软件的__________和降低软件的__________。
答案:可维护性、成本12. 软件开发的三个基本阶段是:__________、__________、__________。
答案:需求分析、设计、实现13. 软件过程模型分为__________模型和__________模型。
答案:预测性、适应性14. 软件测试的四个基本级别是:__________、__________、__________、__________。
答案:单元测试、集成测试、系统测试、验收测试15. 软件维护的四种类型是:__________、__________、__________、__________。
2023软件工程导论期末考试题库及参考答案一、选择题(每题2分,共20分)1. 以下哪个不是软件工程的三个基本目标?A. 可维护性B. 可用性C. 可靠性D. 高效性参考答案:D2. 软件生命周期中,以下哪个阶段是软件开发过程的核心阶段?A. 需求分析B. 设计C. 编码D. 测试参考答案:C3. 以下哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程参考答案:A4. 在软件工程中,以下哪个方法用于估算软件项目的成本和进度?A. COCOMOB. WBSC. SDLCD. CASE参考答案:A5. 以下哪个是软件工程中的一个重要原则?A. 分而治之B. 一次性编写C. 重用D. 模块化参考答案:D6. 以下哪个不是软件工程的基本活动?A. 软件规格B. 软件开发C. 软件验证D. 软件测试参考答案:C7. 以下哪个是软件工程中用于提高软件质量的技术?A. 设计模式B. 重构C. 代码审查D. 单元测试参考答案:C8. 以下哪个不是软件工程的五大基本过程?A. 软件规格B. 软件开发C. 软件维护D. 软件项目管理参考答案:D9. 以下哪个是软件工程中的一个重要概念,用于描述软件系统中的各个组件之间的关系?A. 耦合B. 内聚C. 模块化D. 重用参考答案:A10. 以下哪个是软件工程中的一个重要原则,用于指导软件开发过程?A. 迭代B. 增量C.螺旋D. 模型驱动参考答案:A二、填空题(每题2分,共20分)11. 软件工程的三要素是:方法、工具和______。
参考答案:过程12. 软件生命周期包括:需求分析、设计、编码、______和软件维护。
参考答案:测试13. 软件工程中的面向对象方法包括:封装、继承和______。
参考答案:多态14. 软件工程中的 CASE 工具主要用于支持______。
参考答案:软件设计和开发15. 软件工程中的敏捷开发方法强调______、可维护性和可扩展性。
一、填空题(每空1分, 共20分)1.软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__测试________、运行与维护阶段。
2.按软件旳功能进行划分, 软件可以划分为系统软件、支撑软件和应用软件。
3.可行性研究重要集中在如下四个方面经济可行性、技术可行性、法律可行性和抉择。
4.顾客界面旳可使用性是顾客界面设计最重要旳也是最基本旳目旳。
5.常见旳软件概要设计措施有3大类: 以数据流图为基础构造模块构造旳___构造化设计措施_________, 以数据构造为基础构造模块旳__jackson措施__________, 以对象、类、继承和通信为基础旳__面向对象设计措施__________。
6.__数据流图________和__数据字典___共同构成系统旳逻辑模型。
7.软件测试旳措施有__分析措施________和___非分析措施_______(即黑盒法)。
8.单元测试一般以___白盒_____________测试为主, ___黑盒______测试为辅。
9.成本估计措施重要有__自底向上估计________、_自顶向下估计_________和算法模型估计三种类型。
二、单项选择题(每题2分, 共10分)1.下列哪个阶段不属于软件生存周期旳三大阶段( C )。
A.计划阶段B.开发阶段2. C.编码阶段 D.维护阶段3.需求分析是(A )。
A. 软件开发工作旳基础B. 软件生存周期旳开始C. 由系统分析员单独完毕旳D. 由顾客自己单独完毕旳原型化措施是软件开发中一类常用旳措施, 它与构造化措施相比较, 更需要( B )。
A. 明确旳需求定义B.完整旳生命周期C、较长旳开发时间D、纯熟旳开发人员软件维护时, 对测试阶段未发现旳错误进行测试、诊断、定位、纠错, 直至修改旳回归测试过程称为( A )。
A、改正性维护B、适应性维护C、完善性维护D、防止性维护一般说来, 投入运行旳软件系统中有错误(A )。
软件工程期末试题及答案一、选择题(每题2分,共20分)1. 以下哪项不是软件工程的基本目标?A. 提高软件的生产效率B. 提高软件的质量C. 减少软件的开发成本D. 增加软件的复杂性答案:D2. 下面哪个不属于软件工程的三个主要过程?A. 软件规格B. 软件开发C. 软件测试D. 软件维护答案:A3. 下列哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程答案:A4. 以下哪个不属于软件项目的管理活动?A. 项目计划B. 风险管理C. 质量保证D. 软件开发答案:D5. 以下哪个不是软件需求分析的工具?A. 数据流图(DFD)B. 实体关系图(ERD)C. 状态转换图(STD)D. 类图答案:B6. 以下哪个不属于软件设计的原则?A. 模块化B. 抽象C. 封装D. 继承7. 以下哪种测试方法主要用于检测软件的功能是否满足需求?A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:C8. 以下哪个不属于软件维护的类型?A. 适应性维护B. 完善性维护C. 纠错性维护D. 预防性维护答案:D9. 以下哪个不属于软件项目管理工具?A. Microsoft ProjectB. JiraC. TrelloD. Visual Studio10. 以下哪个不属于敏捷软件开发的特点?A. 短周期迭代B. 客户参与C. 重构D. 线性开发流程答案:D二、填空题(每题2分,共20分)1. 软件工程的基本目标包括提高软件的生产效率、提高软件的质量和______。
答案:减少软件的开发成本2. 软件工程的三个主要过程分别是软件规格、软件开发和______。
答案:软件维护3. 软件需求分析的主要工具包括数据流图(DFD)、实体关系图(ERD)和______。
答案:状态转换图(STD)4. 软件设计的原则包括模块化、抽象、封装和______。
答案:继承5. 软件测试的四个层次分别是单元测试、集成测试、系统测试和______。
软件工程期末试题(含答案)软件工程期末试题(含答案)1. 选择题(1) 在软件开发过程中,以下哪个活动是与需求分析相关的?A. 代码编写B. 测试C. 需求验证D. 项目规划答案:C(2) 在敏捷开发方法中,以下哪个原则强调“面对面交流”?A. 个体和交互高于工具和过程B. 客户合作高于合同谈判C. 可以交付的软件高于详尽的文档D. 响应变化高于遵循计划答案:A2. 简答题(1) 简述软件开发生命周期的阶段及每个阶段的主要任务。
答案:软件开发生命周期主要包括需求分析、设计、编码、测试和维护阶段。
需求分析阶段的主要任务是收集用户需求、进行需求分析和规格说明;设计阶段的主要任务是根据需求进行软件的整体架构设计、模块设计等;编码阶段的主要任务是根据设计文档进行程序代码的编写;测试阶段的主要任务是对软件进行功能、性能、兼容性等各方面的测试;维护阶段的主要任务是修复软件中的缺陷、升级功能等。
(2) 什么是软件需求?简述软件需求分析的过程。
答案:软件需求是对软件系统的功能、性能、接口、约束和设计约束条件的描述。
软件需求分析是指对软件需求进行识别、获取、明确和规格说明的过程。
其过程包括以下几个步骤:a. 需求获取:通过与用户交流、收集现有文档等方式,获取软件需求相关的信息;b. 需求分析:对获取的软件需求进行整理和分类,识别出需求之间的关联和依赖关系;c. 需求明确:明确每个需求的具体含义,确保需求描述准确清晰;d. 需求规格说明:将明确的需求进行形式化的规格说明,以便后续的设计和开发工作。
3. 论述题软件开发中的版本控制是一项重要的技术,它可以有效地管理和追踪软件代码的变化,并协同开发者之间的合作。
请简要讨论软件版本控制的几种常见方式及其优缺点。
答案:常见的软件版本控制方式包括本地版本控制、集中式版本控制和分布式版本控制。
每种方式都有其优缺点:a. 本地版本控制:通过在本地维护一份完整的代码仓库,实现对代码的版本控制。
一、填空题(每空1分,共25分)1.软件生存周期一般可以划分为,问题定义、可行性研究、需求分析、设计、编码、测试和运行和维护。
2.基于软件的功能划分,软件可以划分成___系统软件_、支撑软件、应用软件__三种。
3.可行性研究,应从经济可行性、技术可行性、运行可行性、法律可行性和开放方案可行性等方面研究。
4.系统流程图是描绘物理系统的传统工具。
它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、加工、数据流和数据存储文件。
6.结构化分析方法是面向_数据流_进行需求分析的方法。
结构化分析方法使用_数据流图DFD_与_数据字典_来描述。
7.继承性是自动地共享类、子类和对象中的方法和数据的机制。
8.软件详细设计工具可分为3类,即_图示工具_、_设计语言_和_表格工具_。
9.为了在软件开发过程中保证软件的质量,主要采取下述措施:_审查__、复查和管理复审、___测试_。
10.大型软件测试包括单元测试、集成测试、确认测试和系统测试四个步骤。
二、单项选择题(每小题2分,共20分)1.软件设计中划分模块的一个准则是(C )。
A、低内聚低耦合 B.低内聚高耦合C.高内聚低耦合 D.高内聚高耦合2.Jackson设计方法是由英国的M. Jackson提出的,它是一种面向( C )的软件设计方法。
A、对象 B.数据流 C.数据结构 D.控制结构3.试判断下列叙述中,哪个(些)是正确的( C )。
a、软件系统中所有的信息流都可以认为是事务流b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的A、aB、bC、cD、b和c4.( A )是用户和设计交换最频繁的方法。
A、原型化方法B、瀑布模型方法 C. 螺旋模型方法D、构件组装模型5.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( C )。
软件工程期末考试A卷及答案一、单项选择题(每题2分,共20分)1. 软件工程的三要素包括()。
A. 工具、方法和过程B. 工具、方法和环境C. 方法、过程和环境D. 方法、工具和环境答案:C2. 软件需求分析阶段的主要任务是()。
A. 确定软件的功能需求B. 确定软件的非功能需求C. 确定软件的界面需求D. 确定软件的性能需求答案:A3. 在软件开发过程中,需求变更是不可避免的,以下哪项不是需求变更的原因()。
A. 客户对需求理解的不完整B. 客户对需求理解的不准确C. 客户对需求理解的不清晰D. 客户对需求理解的完全正确答案:D4. 软件测试的目的是()。
A. 证明软件是正确的B. 发现软件中的错误C. 证明软件没有错误D. 证明软件是完美的答案:B5. 以下哪项不是软件维护的类型()。
A. 纠错性维护B. 适应性维护C. 完善性维护D. 创新性维护答案:D6. 在面向对象方法中,类的实例称为()。
A. 对象B. 实体C. 组件D. 模块答案:A7. 以下哪项不是软件工程中的项目管理活动()。
A. 风险管理B. 配置管理C. 需求管理D. 系统分析答案:D8. 软件工程中的“软件危机”主要指的是()。
A. 软件成本过高B. 软件质量低下C. 软件进度延误D. 以上都是答案:D9. 以下哪项不是软件复用的优点()。
A. 提高开发效率B. 降低开发成本C. 增加软件复杂性D. 提高软件质量答案:C10. 在敏捷开发方法中,以下哪项不是其核心价值()。
A. 个体和互动高于流程和工具B. 可工作的软件高于详尽的文档C. 客户合作高于合同谈判D. 遵循计划高于适应变化答案:D二、多项选择题(每题3分,共15分)1. 软件工程的主要目标包括()。
A. 提高软件生产率B. 提高软件质量C. 降低软件成本D. 提高软件的可维护性答案:ABCD2. 软件需求分析阶段的输出包括()。
A. 需求规格说明书B. 用户手册C. 系统设计说明书D. 数据字典答案:AD3. 软件测试的类型包括()。
软件工程期末试题及答案
第一节:选择题
1. 软件生命周期中,以下哪个阶段是在需求分析之后进行?
A. 设计阶段
B. 验收阶段
C. 维护阶段
D. 实现阶段
答案:A. 设计阶段
2. 软件度量的主要目的是?
A. 评估软件质量
B. 优化软件性能
C. 增强软件安全性
D. 加强软件可维护性
答案:A. 评估软件质量
3. 软件测试中,黑盒测试是基于什么样的原理进行的?
A. 代码的内部结构
B. 软件的功能需求
C. 用户的使用场景
D. 基本的程序逻辑
答案:B. 软件的功能需求
4. 下面哪个是面向对象设计中的基本概念?
A. 数据封装
B. 顺序结构
C. 命令式编程
D. 结构化分析
答案:A. 数据封装
5. 在软件项目管理中,以下哪个是最常用的项目管理工具?
A. Gantt 图
B. 软件开发生命周期模型
C. WBS(工作分解结构)
D. RUP(Rational Unified Process)
答案:A. Gantt 图
第二节:简答题
1. 什么是软件配置管理,它的主要作用是什么?
软件配置管理是管理和控制软件配置变更的过程,包括标识、控制、记录和审查软件配置项以及管理与配置项相关的文档、代码、配置项
版本、变更请求等。
它的主要作用是确保软件开发过程中的变更被有
效地管理和控制,促进软件项目的稳定性和可管理性。
2. 请简要描述软件工程的五个主要过程。
- 需求工程:搜集和分析用户需求,明确软件系统的功能和非功能
特性。
- 设计:根据需求工程的结果,进行软件体系结构和模块设计,确
定软件的整体框架和组织结构。
- 编码:根据设计过程中得到的结果,实现软件系统的各个模块,
完成代码编写和单元测试。
- 测试:对编码过程中产生的软件进行全面、系统的测试,确保软
件的质量和稳定性。
- 维护:在软件生命周期的最后阶段,对软件进行修复 Bug 和功能
优化,确保软件的长期可用性和可维护性。
3. 请简述软件配置管理中的版本控制是指什么?
版本控制是指对软件项目中各个配置项版本的管理和控制。
主要包
括版本的标识、记录、追踪和回溯。
通过版本控制,可以有效地跟踪
软件的演化过程,管理和控制软件的变更,确保软件项目的稳定性和
可维护性。
第三节:论述题
软件开发过程中,需求工程是非常重要的一个阶段。
请论述需求工
程在软件开发中的作用和重要性。
需求工程是软件开发过程中的第一个阶段,它是确定软件系统功能
和性能要求的关键步骤。
需求工程的作用和重要性体现在以下几个方面:
1. 指导设计与开发:需求工程的结果直接影响软件的设计与开发过程。
明确的需求可以为设计提供明确的指导,避免设计过程中的方向
迷失和重复劳动。
同时,合理的需求分析可以减少开发中的错误和后
期的修复成本。
2. 提高软件质量:需求工程在软件工程中非常重视软件质量的保证。
通过充分的需求分析和规格说明,可以防止潜在的错误和不符合用户
期望的功能。
同时,需求工程还可以促使软件开发者对系统的完整性、可靠性和安全性进行全面考虑。
3. 改善项目管理:需求工程对于项目管理也起到了重要的作用。
明
确的需求分析可以为项目管理提供明确的工作目标和任务划分,帮助
项目经理进行合理的资源分配和进度控制。
此外,需求的可追踪性也
有助于项目的监控和风险管理。
总之,需求工程在软件开发中扮演着至关重要的角色。
通过充分的
需求分析和规范说明,能够提高软件的质量、降低开发成本、改善项
目管理效果,确保软件项目的成功实施。