软件工程概述试题
软件工程试卷(附答案)
软件工程试卷(附答案)1.软件生命周期模型有多种,其中不属于软件生命周期模型的是(C)功能模型。
2.下列说法错误的是(C)瀑布模型和增量模型都属于整体开发模型。
3.可行性分析中,系统流程图用于描述(A)当前运行系统。
4.研究软硬件资源的有效性是进行(A)技术可行性研究的一方面。
5.数据字典中,一般不包括下列选项中的(D)源点与终点条目。
6.SA方法的分析步骤是首先调查了解当前系统的工作流程,然后(A)获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型。
7.通过(B)功能分解可以完成数据流图的细化。
8.对软件进行分解,是为了(C)降低模块的复杂程度,并降低模块间接口的复杂程度。
9.为了提高模块的独立性,模块内部最好是(C)功能内聚。
10.在软件结构设计完成后,对于下列说法,正确的是(C)一个模块的扇出太多,说明该模块过分复杂,缺少中间层。
11.在软件开发过程中,以下说法正确的是(B)N-S图不可能任意转移控制,符合结构化原则。
A.软件开发过程是线性的B.软件开发过程是迭代的C.软件开发过程是风险驱动的D.软件开发过程是需求驱动的3、软件需求分析的主要任务是(ABC)。
A.确定用户需求B.建立系统模型C.规定系统功能D.编写程序代码4、以下属于软件设计阶段的活动是(BCD)。
A.编写用户手册B.确定模块划分C.设计系统结构D.选择数据结构和算法5、软件测试的主要目的是(ABD)。
A.发现软件缺陷B.提高软件质量C.证明软件正确性D.评估软件可靠性6、软件维护的主要种类有(ABC)。
A.纠错性维护B.适应性维护C.完善性维护D.重构性维护7、以下属于软件过程改进的方法是(ACD)。
A.引入新的开发方法B.增加人员数量C.培训人员D.引入新的工具和技术8、以下属于软件质量特性的是(ABCD)。
A.可靠性B.可维护性C.可用性D.可重用性9、软件工程的基本原则包括(ABCD)。
A.逐步求精B.分阶段进行C.严格控制D.重视质量10、以下属于软件开发生命周期模型的是(ABCD)。
软件工程简述题(含答案)
考试题型题量:一、单项选择题(每小题2分,共40分,二、填空题(每空1分,共10分)三、判断题(每题1分,共20分。
)四、简答题(每题5分,共30分)搞清楚概念:软件工程软件工程是指导计算机软件开发和维护的一门工程学科软件工程一是把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件,二是研究上述一中提到的途径。
目的:提高质量、降低成本即可维性强原则:选取适宜的开发模型,采用合适的设计方法,提供高质量的工程支持,重视软件工程的管理1.软件工程生命周期软件生命周期(Software Life Cycle,SLC)是软件的产生直到报废或停止使用的生命周期。
软件生命周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,也有将以上阶段的活动组合在内的迭代阶段,即迭代作为生命周期的阶段。
2.可行性研究可以从哪几个方面着手进行可行性的分析?提示:经济上,技术上,操作上经济上:主要是从资源配置的角度衡量项目的价值,评价项目在实现区域经济发展目标、有效配置经济资源、增加供应、创造就业、改善环境、提高人民生活等方面的效益。
技术上:主要考虑使用现有的技术,能否在预定时间内实现该系统的功能;所选择的技术是否先进,合理;在开发过程中能否克服存在的技术难点;参与开发系统的软件人员所能达到的技术水平;所实现系统能否性能的需求等;操作上:主要分析系统的运行方式、操作规程在用户组织内是否可以有效、顺利实施等问题。
3.软件开发模式有几种快速原型模式,增量模型,原型模型,喷泉模型,螺旋模型,瀑布模型。
4.软件界面设计的三条黄金规则。
让用户拥有控制权,减少用户的记忆负担,保持界面的一致。
5.软件设计的启发规则改进软件结构跳模块独立性,模块规模应该适中,深度、宽度、扇出和扇入都应该适当,模块的作用域应该在控制域之内,降低模块接口的复杂程度,设计单入口出口的模块,模块功能应该可以预测。
软件工程考试题 带答案
软件工程考试题带答案软件工程考试题一、单项选择题(每题5分,共30分)1.软件需求分析的主要目标是:A. 发现并修正软件中的错误B. 确定软件系统的功能和性能需求C. 编写软件代码D. 打印和发布软件答案:B2. 下列哪个是软件生命周期模型?A. 瀑布模型B. 微服务架构C. 敏捷开发D. 协同开发答案:A3. 软件设计阶段的主要目标是:A. 开发详细的测试计划B. 创建软件的体系结构和模块设计C. 编写和调试软件代码D. 验收和发布软件答案:B4. 软件测试的主要目的是:A. 发现并修复软件错误B. 确保软件系统符合质量标准C. 完成软件系统的开发D. 验收和发布软件答案:B5. 下列哪个是软件项目管理过程中的常用工具?A. 甘特图B. 数据流图C. 类图D. 鱼骨图答案:A6. 下列哪个是软件配置管理的主要目标?A. 确保软件开发过程的质量B. 管理软件中不同部分的变更C. 编写和调试软件代码D. 验收和发布软件答案:B二、简答题(每题10分,共20分)1. 简要解释软件工程的概念。
答:软件工程是一门研究和应用工程原理、方法和工具来开发和维护高质量软件的学科。
它注重应用系统性的、规范化的方法来开发和维护软件,以提高软件的质量、效率和可维护性。
2. 请简述瀑布模型的基本原理。
答:瀑布模型是软件开发过程中最早也是最广泛使用的模型之一。
它基于线性顺序的开发过程,将软件开发划分为需求分析、设计、开发、测试和运行维护等不同阶段,每个阶段按照顺序进行。
三、案例分析题(40分)某公司正在开发一个电商网站,你作为软件工程师参与其中。
请回答以下问题:1. 在需求分析阶段,你应该做些什么?答:在需求分析阶段,我应该与客户沟通,了解他们的需求和期望。
我将分析和记录客户的功能和性能需求,制定需求规格说明书,并与团队成员一起进行需求评审,确保需求的准确性和完整性。
2. 在设计阶段,你应该做些什么?答:在设计阶段,我将设计软件系统的体系结构和模块设计。
软件工程题库 多选
软件工程题库多选软件工程题库
一、软件工程概述
1.1 软件工程的定义
1.2 软件工程的历史和发展
1.3 软件工程的重要性和作用
1.4 软件工程的基本原则和方法
二、需求分析
2.1 需求分析的目的和任务
2.2 需求获取的方法
2.3 需求分析的基本步骤
2.4 需求规格说明的编写方法
2.5 需求变更管理
三、软件设计
3.1 软件设计的基本概念
3.2 结构化设计方法
3.3 面向对象设计方法
3.4 软件设计的工具和技术
四、软件开发
4.1 软件开发模型
4.2 需求开发
4.3 概要设计和详细设计
4.4 编码和单元测试
4.5 软件集成测试和系统测试
4.6 软件发布和部署
五、软件质量保证
5.1 软件质量的定义和标准5.2 质量保证的方法和技术5.3 质量控制的方法和技术5.4 测试的方法和技术
5.5 缺陷管理和缺陷修复
5.6 配置管理
六、软件项目管理
6.1 项目管理的基本概念
6.2 项目计划和进度管理
6.3 项目资源管理
6.4 项目风险管理
6.5 项目沟通和协作
附件:
附件1:需求规格说明书范例
法律名词及注释:
1:版权:对作品(包括软件)的著作权进行保护的权利。
2:商标:标识企业、商品或服务来源的标记,用于区分同类商品和服务。
3:专利:针对技术发明或创新的独占权。
4:许可证:授予他人使用特定软件的权利的文件。
5:合同:双方或多方达成的法律文件,规定了各方之间的权利和义务。
软件工程考试题及答案
软件工程考试题及答案一、选择题1. 下列哪项不是软件工程的基本特征?A. 系统性B. 统一性C. 可度量性D. 个别性答案:D2. 谁提出了软件生命周期模型的概念?A. RoyceB. BrooksC. BoehmD. Yourdon答案:A3. 下列哪个模型是一种迭代的模型?A. 瀑布模型B. 原型模型C. 增量模型D. 螺旋模型答案:D4. 软件测试的目的是什么?A. 证明程序是正确的B. 发现程序中的错误C. 验证程序的正确性D. 保证程序可靠性答案:B5. 下列哪项不是软件配置管理的任务?A. 识别软件配置项B. 控制软件配置项的变更C. 维护软件配置项的单位标识D. 确认软件配置项是否软件错误答案:D二、问答题1. 请简要说明软件质量保证的概念及作用。
答案:软件质量保证是确保软件产品达到预期质量水平的所有活动的总称。
它包括制定质量政策、计划和目标,制定和实施过程、标准和检查措施等。
软件质量保证的主要作用是确保软件产品在交付给用户之前达到预期的标准,提高软件开发过程的效率和质量。
2. 请简要介绍软件配置管理的基本概念和主要任务。
答案:软件配置管理是控制软件产品变化和构建组合软件的过程。
它包括软件配置项的识别、版本控制、变更控制、状态报告等任务。
主要任务包括识别软件配置项和管理它们的变更,保持软件产品的相互间的一致性和交付版本的可跟踪性。
3. 请分析软件测试中的黑盒测试和白盒测试的区别。
答案:黑盒测试是根据软件的需求规格进行测试,测试者不需要了解软件的内部结构和实现细节,只关注软件的功能和接口。
白盒测试是基于对软件内部结构和代码的了解进行测试,测试者可以根据代码的逻辑路径和执行情况设计测试用例。
黑盒测试更关注软件的功能是否符合需求,白盒测试更关注软件的代码逻辑和执行路径是否正确。
三、综合题1. 请简要描述软件生命周期模型的特点及常见的几种模型,并比较它们之间的优缺点。
答案:软件生命周期模型是描述软件开发过程中不同阶段顺序和关系的模型。
软件工程试卷及答案软件工程试题和答案
软件工程试卷及答案软件工程试题和答案软件工程试卷及答案第一部分:选择题(共40小题,每题2分,共80分)1. 软件工程的定义是:A. 软件设计和开发B. 软件项目管理C. 软件测试和维护D. 软件工程师的工作答案:A2. 下面哪个不是软件生命周期的阶段?A. 需求分析B. 设计C. 开发D. 运营答案:D3. 软件开发过程中的需求分析阶段的主要作用是:A. 编写代码B. 确定软件的功能和性能需求C. 进行软件测试D. 用户培训答案:B4. 下面哪项不是软件开发中常用的软件开发模型?A. 瀑布模型B. 敏捷开发模型C. 增量模型D. 平衡模型答案:D5. 软件项目管理中的关键路径是指:A. 工期最短的路径B. 工期最长的路径C. 工期变动最多的路径D. 工期变动最少的路径答案:B6. 软件测试的目标是:A. 发现尽可能多的缺陷B. 验证软件满足需求C. 确保软件质量D. 所有选项都是目标答案:D7. 下面哪项不是软件测试的类型?A. 单元测试B. 集成测试C. 系统测试D. 接口测试答案:D8. 软件维护的类型包括:A. 预防性维护B. 改正性维护C. 完善性维护D. 所有选项都是维护类型答案:D9. 下面哪个不是软件开发中常用的编程语言?A. JavaB. C++C. PythonD. HTML答案:D10. 软件配置管理包括以下哪些方面?A. 版本控制B. 缺陷管理C. 变更管理D. 所有选项都是配置管理的方面答案:D...第二部分:简答题(共4题,每题10分,共40分)1. 请简要介绍一下软件工程的基本原则。
答案:软件工程的基本原则包括:尽早发现和修复缺陷、适应需求变化、迭代开发、团队合作、持续改进。
这些原则旨在提高软件开发的效率和质量。
2. 什么是软件需求工程?请列举一些软件需求工程的主要活动。
答案:软件需求工程是确定和记录软件系统应当具备的功能、性能和接口要求等方面的活动。
软件需求工程的主要活动包括需求获取、需求分析、需求规格和需求验证等。
软件工程试题含答案
软件工程试题含答案一、单项选择题(每题1分,共20分)1. 以下哪个不是软件工程的目标?A. 提高软件生产效率B. 提高软件质量C. 提高软件可靠性D. 提高软件的价格答案:D2. 以下哪个不属于软件工程的基本原则?A. 阶段划分B. 迭代开发C. 配置管理D. 需求分析答案:D3. 软件生命周期模型中,以下哪个模型最适合于需求变化较少的项目?A. 瀑布模型B. 增量模型C. 螺旋模型D. 原型模型答案:A4. 下面哪种软件测试方法主要通过检查输入和输出数据之间的关系来验证软件的正确性?A. 黑盒测试B. 白盒测试C. 灰盒测试D. 性能测试答案:A5. 在软件开发中,以下哪个过程是保证软件质量的关键环节?A. 需求分析B. 设计C. 编码D. 测试答案:D6. 以下哪个不是软件配置管理的任务?A. 版本控制B. 变更管理C. 代码编写D. 测试管理答案:C7. 软件过程中的度量主要用于评估以下哪个方面?A. 项目进展情况B. 代码质量C. 测试覆盖率D. 用户满意度答案:A8. 以下哪个不是软件项目管理中的常见约束?A. 成本约束B. 资源约束C. 时间约束D. 协议约束答案:D9. 下面哪种软件开发模型更适合于小型项目?A. 敏捷开发B. 瀑布模型C. 增量模型D. 螺旋模型答案:A10. 下列哪个属于软件缺陷的类型?A. 语法错误B. 逻辑错误C. 界面设计错误D. 所有选项都是答案:D二、多项选择题(每题2分,共20分)11. 软件工程的基本特征包括:(选择所有正确答案)A. 工程化B. 抽象化C. 风险管理D. 需求开发答案:A、B、C12. 软件需求分析的方法包括:(选择所有正确答案)A. 面向对象分析B. 数据流图分析C. 结构化分析D. 瀑布模型答案:A、B、C13. 对于软件过程改进,以下说法中不正确的是:(选择所有正确答案)A. 可以通过度量来评估改进效果B. 可以通过培训来提高团队技能C. 可以通过引入新的软件开发流程达到改进D. 可以通过领导层的决策来实现改进答案:D14. 软件测试的主要目的是:(选择所有正确答案)A. 验证软件是否符合需求B. 发现软件中的错误和缺陷C. 评估软件的运行性能D. 确保软件的可维护性答案:A、B15. 软件维护的类型包括:(选择所有正确答案)A. 纠错性维护B. 适应性维护C. 完善性维护D. 性能优化维护答案:A、B、C三、简答题(每题5分,共30分)16. 请简要解释什么是软件工程?答案:软件工程是一门研究如何通过系统性的、科学化的方法来开发、维护和管理软件的学科。
(word版)软件工程考试题(含答案)
软件工程考试题简答题1、什么叫软件?软件是计算机系统中与硬件相互依存的另一局部,它是包括程序,数据及其相关文档的完整集合2、什么叫软件危机?软件危机包含哪两点?软件危机产生的原因是什么?软件危机是指在计算机软件开发与维护过程中所遇到的一系列严重问题。
包括两点:1〕如何开发软件,以满足对软件日益增长的需求;2〕如何维护数量不断膨胀的已有软件。
软件开发和维护过程中存在的许多严重问题,一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。
具体表现如下:1〕软件是逻辑部件而不是物理部件。
2〕软件的规模越来越大,复杂性越来越大。
3〕轻视需求分析的重要性,轻视软件维护的错误观点和方法。
3、什么叫软件工程?1968年在第一届NATO会议上的早期定义:“建立并使用完善的工程化原那么,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法〞。
1993年IEEE的定义:“①软件工程是:把系统的、标准的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②进而研究①实现的途径〞。
我们国家最近定义:软件工程是指导计算机软件开发和维护的工程学科。
它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。
4、两种软件工程方法学开发软件时要建立哪些模型?软件工程方法学包括:传统方法学和面向对象方法学。
常用的开发模型有:瀑布模型〔需求稳定,而且可以预先指定〕原型模型〔需求模糊或者随时间变化〕增量模型〔分析员先作出需求分析和概要设计,用户参与逐步完善〕螺旋模型〔将瀑布模型与原型化模型结合起来,并参加了风险分析〕喷泉模型〔使开发过程具有迭代性和无间隙性〕5、软件过程模型有哪些?简述它们的特点。
过程模型分为五大类: 1.管理过程模型。
2.瀑布模型〔又称为生命周期模型〕。
3.增量过程模型:包括增量模型,,RAD模型。
4.烟花过程模型:包括原型开发模型,螺旋模型,协同开发模型。
软件工程考试试题 含答案
软件工程考试试题含答案软件工程考试试题含答案一. 选择题1. 下列不属于软件工程方法论的是:A. 瀑布模型B. 敏捷开发C. 融合开发D. 增量开发答案:C. 融合开发2. 哪个不是软件需求工程的阶段?A. 需求收集和分析B. 需求规格说明书编写C. 需求确认和验证D. 需求修复和更新答案:D. 需求修复和更新3. 软件开发生命周期中不包含以下哪个阶段?A. 需求分析B. 软件设计C. 软件测试D. 软件维护答案:C. 软件测试4. 下列哪个是软件开发项目管理的基本约束?A. 时间B. 人员C. 质量D. 成本答案:D. 成本5. 使用UML建模时,哪个图标不属于结构图?A. 类图B. 对象图C. 时序图D. 包图答案:C. 时序图二. 填空题1. 软件工程的目标是提高软件的质量和________。
答案:生产效率2. 软件需求可以分为________和________两类。
答案:功能需求,非功能需求3. 软件设计的核心目标是________。
答案:满足需求4. 软件测试的目的是发现________。
答案:缺陷和错误5. 软件维护分为________和________两个主要类别。
答案:正确性维护,适应性维护三. 简答题1. 请简要介绍敏捷开发方法。
答案:敏捷开发方法强调迭代与循序渐进的开发方式,注重团队合作和快速响应需求变化。
其核心原则包括迭代开发、自组织团队、人与沟通优先、持续集成和及时反馈等。
敏捷开发方法通过不断反馈和迭代,提高软件开发的灵活性和适应性。
2. 什么是软件需求工程?为什么软件需求工程是软件开发的关键环节?答案:软件需求工程是研究软件需求获取、分析、规格化和验证等过程的学科。
软件需求工程是软件开发的关键环节,因为它直接关系到软件最终能否满足用户的期望和需求。
缺乏有效的需求工程将导致软件质量下降、进度延误、成本增加等问题。
3. 请简述UML类图的作用和主要元素。
答案:UML类图用于展示软件系统中的类、对象及其之间的关系。
软件工程考试试题及答案
软件工程考试试题及答案一、单选题1. 软件需求分析是软件工程的哪个阶段?a. 需求分析与定义b. 软件设计c. 软件测试d. 软件维护答案:a. 需求分析与定义2. 下列哪项不是软件工程的基本原则?a. 可复用性b. 高效性c. 可维护性d. 可理解性答案:b. 高效性3. 下列哪项不是软件质量保证的措施?a. 程序员的自我质量保证b. 审计c. 代码复用d. 测试答案:c. 代码复用4. 下列哪个是软件生命周期模型?a. 瀑布模型b. 程序开发模型c. 螺旋模型d. 增量模型答案:a. 瀑布模型5. 在软件工程中,什么是软件配置管理?a. 设计和开发软件的过程b. 管理软件的版本和更改c. 测试软件的过程d. 分配和调度任务的过程答案:b. 管理软件的版本和更改二、多选题1. 下列哪些是软件需求规格说明的内容?(多选)a. 需求的功能描述b. 系统性能要求c. 用户界面设计d. 软件的安装要求答案:a. 需求的功能描述、b. 系统性能要求、d. 软件的安装要求2. 软件测试的目的是什么?(多选)a. 发现软件中的错误b. 确保软件满足需求c. 评估软件的质量d. 提高软件的可维护性答案:a. 发现软件中的错误、b. 确保软件满足需求、c. 评估软件的质量3. 下列哪些是软件维护的类型?(多选)a. 纠错性维护b. 适应性维护c. 完善性维护d. 增量性维护答案:a. 纠错性维护、b. 适应性维护、c. 完善性维护、d. 增量性维护三、判断题1. 软件工程是一门工程学科,它包括对软件进行开发、测试、维护和管理等方面的知识。
(正确/错误)答案:正确2. 软件需求分析是软件开发的最后一步。
(正确/错误)答案:错误3. 软件测试的目的是为了证明软件是没有错误的。
(正确/错误)答案:错误四、简答题1. 简述软件生命周期模型中的瀑布模型。
答案:瀑布模型是软件生命周期模型中最早的模型之一。
它将软件开发过程分为需求分析、系统设计、详细设计、编码、测试和维护等阶段,并按照顺序执行。
软件工程基础知识试题及
软件工程基础知识试题及答案解析软件工程基础知识试题及答案解析第一节:单项选择题1. 以下哪个不是软件工程的关键活动?A. 需求分析与规格说明B. 设计与实现C. 维护与更新D. 市场分析与调研答案:D解析:软件工程的关键活动包括需求分析与规格说明、设计与实现、维护与更新等,市场分析与调研是软件工程的前期准备活动,不属于关键活动。
2. 下列哪个不是软件测试的基本原则?A. 测试应该尽可能早地开始B. 测试应该尽可能晚地结束C. 测试应该覆盖尽可能多的场景D. 测试应该定期进行答案:B解析:软件测试的基本原则包括测试应该尽可能早地开始、测试应该覆盖尽可能多的场景、测试应该定期进行等,测试应该尽可能晚地结束不符合软件测试的基本原则。
3. 下面哪个不是软件需求的特点?A. 可变性B. 不精确性C. 差异性D. 一致性答案:D解析:软件需求的特点包括可变性、不精确性、差异性等,一致性不属于软件需求的特点。
4. 下列哪个不是软件开发生命周期模型?A. 瀑布模型B. 增量模型C. 敏捷模型D. 螺旋模型答案:C解析:软件开发生命周期模型包括瀑布模型、增量模型、螺旋模型等,敏捷模型不属于软件开发生命周期模型。
5. 下列哪个不是软件缺陷的分类?A. 语法错误B. 逻辑错误C. 界面错误D. 运行时错误答案:C解析:软件缺陷的分类包括语法错误、逻辑错误、运行时错误等,界面错误不属于软件缺陷的分类。
第二节:简答题1. 简要说明软件工程的定义和特点。
答:软件工程是研究和应用一种用工程化的方法开发和维护软件的学科。
软件工程的特点包括:复杂性、可变性、不可见性、不可测性等。
复杂性指的是软件系统往往由多个模块组成、包含大量的代码和数据,并且相互之间存在复杂的关系;可变性指的是软件系统的需求和规格常常会发生变化;不可见性指的是软件系统是不存在于物理空间中的,只能通过人机交互的方式来感知;不可测性指的是软件系统的行为和性能往往难以预测和估计。
软件工程考试题及答案
软件工程考试题及答案一、单项选择题(每题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.软件工程的主要目的是什么?A. 利用计算机技术制定软件B. 执行软件开发项目C. 对软件开发过程进行规范、管理和控制D. 确保软件开发过程的顺利进行答案:C2.下面哪种描述最准确地表示软件开发过程?A. 自上而下的分解过程,将软件系统划分为若干模块,然后依据模块开发程序B. 简化、标准化及模块化开发流程,使得软件产品具有内在的质量和适应性以及可维护性C. 结合使用软件工具来促进软件的开发、测试和维护D. 软件的性能、质量、可维护性在软件开发的每个步骤中得到保障答案:B二、软件开发过程模型3.向客户展示系统原型、实现交互,是下面哪种软件开发过程模型的典型样例?A. 瀑布模型B. 快速应用开发模型C. 原型模型D. 增量模型答案:C4.进行软件开发项目风险管理和开发过程管理,是下面哪种软件开发过程模型的典型样例?A. 增量模型B. 瀑布模型C. 快速应用开发模型D. 喷泉模型答案:D5.下面哪种软件开发过程模型特别适用于大规模、复杂软件系统?A. 增量模型B. 快速应用开发模型C. 瀑布模型D. 喷泉模型答案:A三、需求工程6.下面哪种需求分析方法是一种全面的、系统性的要求获取方法?A. 需求分析会议B. 面向问题的方法C. 面向面试法D. 面向对象法答案:B7.某个软件系统具有哪些功能和非功能需求,在哪些环境条件下使用?这些问题属于需求工程的哪一阶段?A. 需求获取B. 需求分析C. 需求规格说明D. 需求验证答案:A8.与客户和用户协商,澄清软件需求,保持需求的一致性和追踪,是需求工程的哪一阶段?A. 需求分析B. 需求规格说明C. 需求验证D. 需求获取答案:B四、软件设计9.下面哪种设计原则主张避免使用全局变量?A. 迪米特原则B. 依赖倒置原则C. 单一职责原则D. 开闭原则答案:C10.下面哪种设计模式涉及管理对象的创建、使用和销毁?A. 模板方法模式B. 适配器模式C. 单例模式D. 工厂模式答案:D11.下面哪种设计模式适用于父类和子类之间的通用行为的实现?A. 模板方法模式B. 策略模式C. 命令模式D. 适配器模式答案:A五、软件测试12.下面哪种缺陷可能由于测试者在执行非正常测试时而不被发现?A. 条件缺陷B. 数据缺陷C. 功能缺陷D. 接口缺陷答案:A13.下面哪种软件测试技术关注于本地化的游戏内容和应用程序?A. 性能测试B. 验收测试C. 压力测试D. 本地化测试答案:D14.下面哪种测试技术属于结构性测试?A. 功能测试B. 语法测试C. 压力测试D. 随机测试答案:B六、软件质量15.下面哪种评估模型使用开放式评定,可以通过审核提高客户信任和合作?A. CMMIB. ISO 9001C. TMMiD. SPICE答案:D16.下面哪种类型描述软件错误的时间和代价?A. 透明的缺陷模型B. 隐含缺陷模型C. 原因延迟模型D. 成本效益模型答案:C17.下面哪种质量属性描述软件的整体构架、模块结构及其易于维护的程度?A. 可用性B. 健壮性C. 可维护性D. 可靠性答案:C以上就是软件工程选择题的汇总,可以帮助大家对软件工程知识进行全面的理解和学习,也可以帮助大家系统地复习和巩固所学知识点,提高考试成绩。
软件工程试题和答案
软件工程试题和答案软件工程试题和答案1.软件工程概述1.1 什么是软件工程?- 软件工程是一门学科,涉及软件开发的过程、方法和工具的应用,旨在开发高质量、可维护和可靠的软件系统。
- 它涵盖了软件需求分析、设计、编码、测试、维护等各个阶段的活动和任务。
1.2 软件工程的目标和原则- 目标:提高软件系统的质量、开发效率和维护便利性。
- 原则:以用户为中心、迭代开发、适应变化、团队合作、持续改进。
2.软件开发生命周期2.1 瀑布模型- 描述了软件开发从需求分析到维护的一系列有序阶段,每个阶段都有明确定义的输入和输出。
- 阶段包括需求分析、系统设计、详细设计、编码、测试、部署和维护。
2.2 敏捷开发- 采取迭代、增量的方式进行开发,强调团队协作、持续反馈和适应变化。
- 常用的敏捷开发方法包括Scrum、XP(极限编程)、Kanban等。
3.软件需求分析3.1 需求分析的重要性- 确保系统所提供的功能和性能符合用户需求。
- 避免项目出现需求变更导致的浪费和延期。
3.2 需求获取和分析技术- 用户访谈- 观察和调研- 用例分析- 需求建模4.软件设计4.1 结构设计- 将系统分解为各个模块并定义它们之间的关系。
- 常用的结构设计方法包括模块化设计、对象设计等。
4.2 数据设计- 定义数据结构和数据库模式。
- 考虑数据的存储、访问和处理方式。
4.3 用户界面设计- 设计系统的用户界面,使用户可以方便地使用系统功能。
5.软件编码5.1 编码原则和规范- 使用有意义的变量和函数名。
- 遵循正确的代码风格和格式。
5.2 软件编码技术- 使用适当的编程语言和开发工具。
- 遵循软件开发最佳实践和设计模式。
6.软件测试6.1 测试的目的和原则- 目的:发现软件中的错误和缺陷,验证软件是否满足需求。
- 原则:全面性、独立性、可追踪性、自动化。
6.2 测试方法和技术- 单元测试- 集成测试- 系统测试- 验收测试7.软件维护7.1 维护类型- 改正性维护- 适应性维护- 完善性维护- 预防性维护7.2 维护活动- 缺陷追踪和修复- 改进和优化- 更新和升级附件:法律名词及注释:1.版权:指对软件的独立权利,包括复制、分发、展示、演示等。
软件工程概论考试复习题
软件工程概论考试复习题软件工程概论是一门研究如何高效、系统地开发和维护软件的学科。
以下是一些考试复习题,帮助同学们更好地准备考试:1. 软件工程的定义:请解释什么是软件工程,并简述其重要性。
2. 软件开发生命周期(SDLC):描述软件开发生命周期的各个阶段,并解释每个阶段的主要活动。
3. 需求分析:阐述需求分析的重要性,并说明如何收集和分析用户需求。
4. 软件设计:区分高层设计和低层设计,并解释它们在软件开发中的作用。
5. 面向对象设计(OOD):解释面向对象设计的原则和概念,包括类、对象、继承、封装和多态。
6. 软件测试:讨论软件测试的目的和类型,包括单元测试、集成测试、系统测试和验收测试。
7. 软件维护:解释软件维护的不同类型,包括纠错性维护、适应性维护、完善性维护和预防性维护。
8. 敏捷开发方法:描述敏捷开发方法的核心原则和实践,以及它与传统软件开发方法的区别。
9. 项目管理:讨论软件项目管理的关键要素,包括时间管理、成本管理、风险管理和资源管理。
10. 软件质量保证:解释软件质量保证的概念,以及如何通过质量控制和质量改进来确保软件质量。
11. 软件工程伦理:讨论软件工程师在职业实践中应遵循的伦理准则和责任。
12. 案例研究:分析一个软件项目失败或成功的案例,讨论其中涉及的软件工程概念和实践。
13. 软件工程工具和技术:列举并解释在软件开发过程中常用的工具和技术,例如版本控制系统、集成开发环境(IDE)、自动化测试工具等。
14. 软件工程的未来趋势:探讨当前软件工程领域的新兴趋势,如人工智能在软件开发中的应用、DevOps实践等。
15. 个人项目经验:反思自己在软件工程课程中完成的项目,讨论所学到的知识和技能,以及如何将这些应用到未来的软件开发工作中。
请同学们认真复习以上内容,并准备相应的答案和例子,以确保在考试中能够表现出色。
祝你们考试顺利!。
2024年软件工程概述(方法、工具、过程)等知识试题与答案
2024年软件工程概述(方法、工具、过程)等知识试题与答案一、选择题1.软件是(A)A、设计开发的B、软件项目组制造的C、程序员编写代码实现的D、项目经理组织实施的2.软件工程实践的一个重要原则是存在价值,是指(D)A、软件正常开发B、软件能够稳定运行C、软件具有足够的可靠性D、软件能够给用户提供价值3.构成软件工程基础的是(A)A、过程B、方法C、工具D、设计4.对软件的描述正确的是(C)A、软件是没有附加价值的产品。
B、软件质量依赖于程序员的个人水平。
C、具有技术和文化的双重属性。
D、软件测试是一项比较简单的工作。
5.下列哪一项不是软件危机产生的原因(D)A、客观原因,软件本身特点是逻辑部件,且规模日趋庞大。
B、主观上忽视需求分析。
C、错误认为:软件开发=程序编写。
D、过分重视软件维护。
6.下列哪一项不属于软件工程的发展阶段(B)A、对象工程B、作坊式工程C、过程工程D、构件工程7.软件工程与计算机科学的区别错误的描述是(C)8.与硬件产品相比(B)A、软件会磨损B、软件会退化C、软件失效遵守盆形曲线D、软件可以用备用部件替换9.软件工程是一种层次化的技术,支持软件工程的根基在于(C)A、软件工程过程模型B、软件生命周期模型C、质量关注点D、软件工程工具10.“软件危机”是指(D)A、计算机病毒的出现B、利用计算机系统进行经济犯罪C、人们过分迷恋计算机系统D、软件开发和软件维护中出现的一系列问题11.如果软件开发中使用增量模型,第一个增量(BOA、必须正确B、往往是核心产品C、满足基本需求D、不能变动12.构件是软件技术中的重要内容,基于构件的开发(ABD)A、可以实现复用B、可以减少开发费用C、可以提高软件性能D、可以缩短开发周期13.敏捷开发认为(AD)A、有能力的个体和良好的交互胜过现代软件过程和先进工具B、软件开发的目标是可工作的软件,因此应该不需要写文档C、客户和开发方应该严格按照既定合同进行软件开发D、采用增量式开发和短周期交付,以便及时响应变化14.关于模型选择说法正确的是(BC)A、同一个软件组织应该采用一种软件过程模型,以便于管理B、需求不稳定的情况下,尽量采用增量式开发C、全新系统的开发应该在总体设计完成后再开始增量或并行D、敏捷模型能够快速响应变化,即使编码人员经验较少,仍应该采用敏捷开发方式15.需求分析阶段最重要的技术文档是(B)A、设计说明书B、需求规格说明书C、可行性分析报告D、用户手册16.下列那种做法符合软件工程师的职业道德?(C)A、把公司项目中完全由自己开发的模块封装为小软件,发布到网络牟利。
软件工程试卷及答案
一、单项选择题1. 在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了(A)(A)软件危机(B)软件工程(C)程序设计革命(D)结构化程序设计2. 哪种模型分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。
(A)(A)增量模型(B)喷泉模型(C)原型模型(D)螺旋模型3. 可行性研究的目的是( B )(A)争取项目(B)项目是否值得开发(C)开发项目(D)规划项目4. 下列哪项不是在需求分析阶段要进行工作(D )(A)问题识别(B)问题分析与综合(C)导出软件的逻辑模型(D)编码5. 需求分析阶段最重要的技术文档之一是(C )(A)项目开发计划(B)设计说明书(C)需求规格说明书(D)可行性分析报告6. 进行需求分析可以使用多种工具,但(C)不适用。
(A)数据流图(B)判定树(C)问题分析图(D)数据词典7.概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是( D )(A)把软件划分成模块(B)确定模块之间的调用关系(C)确定各个模块的功能(D)设计每个模块的伪代码8. 软件结构内,同一个层次上的模块总数的最大值称为(C )。
(A) 深度(B) 扇出(C) 宽度 (D) 扇入二、填空题1. 一般将方法、工具和过程称为软件工程的三要素。
2. 可行性研究主要包括技术、___经济___和____社会___几个方面。
3. 数据流图一般可分为变换型和_事物型_____两类。
4. 数据词典中一般有___数据流___、__数据存储_____、____数据项_____、__加工___四种类型的条目。
5. 结构化分析方法(SA)是一种面向___数据流___的需求分析方法,其基本思想是“__自顶向下逐步分析____”,使用“分解”和“”抽象两种基本手段来控制工程的复杂性。
6. 软件设计是一个把软件需求转换成软件表示的过程,软件设计又可以分为总体设计和___详细设计___两个阶段。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程
[选择题]
1. ()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。
(A)
A. 软件过程
B. 软件工具
C. 软件产品
D. 软件工程
2. 软件过程的基本活动是()。
(A)
A. 分析、设计、实现、测试、演化
B. 沟通、计划、建模、构造、部署
C. 计划、分析、设计、实现、调试
D. 沟通、风险管理、度量、产品化、评审
3. ()软件需求规格说明书在软件开发过程中具有重要的作用,它是软件可行性分析的依据。
(B)
A. 真
B. 假
4. 软件开发的瀑布模型是()。
(A)
A. 适用于需求被清晰定义的情况
B. 一种需要快速构造可运行程序的好方法
C. 最适合于大规模团队开发的项目
D. 已不能用于现代环境的过时模型
5. 软件开发的增量模型是()。
(B)
A. 适用于需求被清晰定义的情况
B. 一种需要快速构造核心产品的好方法
C. 最适合于大规模团队开发的项目
D. 一种不适用于商业产品的创新模型
6. 快速原型开发模型是()。
(B)
A. 适用于客户需求被明确定义的情况
B. 适用于客户需求难以清楚定义的情况
C. 最适合于大规模团队开发的项目
D. 很难产生有意义产品的一种冒险模型
7. 演进式软件过程模型()。
(D)
A. 本质上是迭代的
B. 可以很容易适应需求的变化
C. 通常不会抛弃所产生的系统
D. 以上所有选项
8. 螺旋模型(C)
A. 在软件产品发布时结束
B. 比增量模型更加混乱
C. 在每一次迭代过程中包含项目风险评价
D. 以上所有选项
9. 基于组件的开发模型()。
(C)
A. 只适用于计算机硬件设计
B. 不能支持可重用组件的开发
C. 在面向对象技术获得支持的情况下应用得更好
D. 增加了开发风险和成本
10. 形式化方法模型是将数学方法用于()。
(D)
A. 定义计算机系统的规格说明
B. 开发无错误的计算机系统
C. 验证计算机系统的正确性
D. 以上所有选项
11. 下面的(d )不是RUP模型的阶段。
(D)
A. 启动阶段
B. 精化阶段
C. 构造阶段
D. 确认阶段
12)软件工程的基本目标是(C)
A) 消除软件固有的复杂性
B) 努力发挥开发人员的固有的潜能
C) 开发高质量的软件
D) 更好的维护正在使用的软件产品
13)下面说法正确的是(B)
A) 软件危机在20世纪70年代末期全面爆发
B) 软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题
C) 软件危机是指在软件产品中存在一系列的质量问题
D) 当前先进的软件工程方法已经解决了软件危机的问题
14)()是将系统化、规范化、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素:( C )
A) 软件产品
B) 软件过程
C) 软件工程
D) 软件测试
15)软件会逐渐退化而不会磨损,其原因在于(C)
A) 软件通常暴露在恶劣的环境下
B) 软件错误通常发生在使用之后
C) 不断的变更使组件接口之间引起错误
D) 软件备件很难订购
[练习题]
1)对软件开发的过程进行建模的方法有哪些?
答:功能分析法、数据设计法、快速原型法、面相对象分析法。
RUP,XP,Iconix
2)Iconix建模是对软件开发的过程建模,它的特征是什么?
答:结构思路明确清晰。
1.用例驱动的开发模型
2.一种轻量级的开发模型
3.采用分析和设计过程
3)ICONIX采用了UML哪些元素作为建模元素?
答:类、用列、时序/序列
4)什么是用例?包含哪些方面?用户提出的需求包含哪两个方面?需求规格说明书描述了哪些内容?答:1.用例是系统执行的一系列动作,这些动作将生成特定ACTOR可观测的有价值的结果值,ACTOR是在系统边
2.界是系统责任的边界。
3.包含系统行为,可观测,结果值
4.用户提出的需求包括功能性需求和非功能性需求
5.需求规格说明书描述了功能,性能,约束
5)类的结构是由哪些组成的?内聚和耦合是什么意思?
答:类的结构由属性,行为,类和类之间的关系组成内聚指类中的一个方法,并且功能单一
耦合指类和类之间关系的松散程度
6)类的封装是什么意思?一个设计良好的软件系统的特征是什么?
答:类的封装是指将一个类的属性和方法隐藏起
来,并只对外提供一个接口
特征满足用户需求,设计呈高内聚,低耦合,应对新的需求更利于扩展
7)什么是UML? 定义需求用那个图?时序图的作用是什么?时序图中包含哪些对象?时序图和那个图是同构的,描述的是同一个东西?健壮图的作用是什么?
答:
1.UML是统一建模语言
2.定义需求时用用例图
3.时序图的作用,a.将行为分配到类
b.明确行为的执
行顺序
4.时序图中包含边界对象,实体对
象,消息,交互时间,顺序
5.时序图和健壮图猫鼠同一个东西
6.健壮图的作用是探测系统的行为
8)ER图是不是面向对象的分析方法?
答:不是,是面向关系的,对数据结构表的描述,ER图需求分析一般有两种分析法,一种是结构法分析,另一种是面向对象分析(OOA),通过这两种方法的实施以后都可以得到比较正确的ER图
9)状态图包含哪几个部分?
答:状态状态的动作状态的事件状态的变迁。