软件工程课自测题及答案2
- 格式:doc
- 大小:162.16 KB
- 文档页数:22
软件工程考试试题第一部分选择题一、单项选择题每小题1分,共20分。
(在每小题的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内)1.在下列工具与环境中()属于较早期的CASE。
A.基于信息工程CASEB.人工智能CASEC.结构的基于图形CASED.集成的CASE环境2.Putnam成本估算模型是一个()模型。
A.静态单变量B.动态单变量C.静态多变量D.动态多变量3.在McCall软件质量度量模型中,()属于面向软件产品修改。
A.可靠性B.可重用性C.适应性D.可移植性4.ISO的软件质量评价模型由3层组成,其中用于评价设计质量的准则是()A.SQIC B.SQMC C.SQRC D.SQDC5.软件复杂性度量的参数包括()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.FORTRAN语言B.Pascal语言C.C语言D.PL/1语言12.程序的三种基本控制结构是()A.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移13.在详细设计阶段,经常采用的工具有()A.PAD B.SA C.SC D.DFD14.详细设计的结果基本决定了最终程序的()A.代码的规模B.运行速度C.质量D.可维护性15.需求分析中开发人员要从用户那里了解()A.软件做什么B.用户使用界面C.输入的信息D.软件的规模16.结构化程序设计主要强调的是()A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序易读性17.IDEF。
软件工程考试题及答案一、单项选择题(每题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. 软件工程的目标是开发出零缺陷的软件。
《软件工程》试题(第2套)第一部分选择题一、单项选择题(本大题共20小题,每小题1分,共20分)一、在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
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.及早提供工作软件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 设计评审D 测试验收13、因计算机硬件和软件环境的变化而作出的修改软件的过程称为( )A.校正性维护B.适应性维护C.完善性维护D.预防性维护14、一个模块内部各程序都在同一数据结构上操作,这个模块的内聚性称为( )。
一、填空题1. 软件是计算机程序及其说明程序的各种文档。
程序是计算机任务的处理对象和处理规则的描述;文档是有关计算机程序功能、设计、编制、使用的文字或图形资料。
2. 软件生产的发展,到现在为止,经过三个阶段,即程序设计时代,程序系统时代,软件工程时代。
3. 软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。
4. 结构化方法由结构化分析, 结构化设计, 结构化程序设计构成。
它是一种面向数据流的开发方法。
5. Jackson方法是一种面向数据结构的开发方法。
6. 软件可行性研究的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。
7. 可行性研究需要从以下三个方面分析研究每种解决方法的可行性:技术可行性, 经济可行性,操作可行性。
8. 效益分析有形效益和无形效益两种。
有形效益可以用货币的时间价格, 投资回收期, 纯收入等指标进行度量;无形效益主要从性质上、心理上进行衡量,很难直接进行量的比较。
9. 结构化分析方法是面向数据流进行需求分析的方法。
10. 在SA方法的需求描述工具中,数据流图描述系统的分解,即描述系统由哪几部分组成,各部分之间有什么联系等等。
数据字典定义了数据流图中每一个图形元素。
结构化语言、判定表或判定树则详细描述数据流图中不能被再分解为每一个加工。
11. 数据流图有四种基本成分:数据流、数据处理、文件、数据的源点或终点。
12. 数据字典有以下四类条目:数据流、数据项、文件、基本加工。
数据项是组成数据流和数据存储的最小元素。
13. 数据字典中的加工逻辑主要描述该加工做什么,即实现加工的策略,而不是实现加工的细节,它描述如何把输入数据流变换为输出数据流的加工规则。
14. 加工逻辑也称为“小说明”,常用的加工逻辑的描述工具有:结构化语言、判定表、判定数。
15. 结构化语言是介于自然语言(英语或汉语)和形式语言之间的一种半形式语言。
它的结构可分成外层和内层两层,外层用来描述控制结构,采用顺序,选择,重复三种基本结构。
软件工程测试题及答案一、单项选择题(每题2分,共20分)1. 软件测试的目的是:A. 证明软件无缺陷B. 证明软件存在缺陷C. 证明软件符合需求规格D. 证明软件符合设计答案:B2. 黑盒测试主要关注:A. 内部逻辑B. 输入输出关系C. 代码结构D. 内部数据结构答案:B3. 白盒测试主要关注:A. 内部逻辑B. 输入输出关系C. 代码结构D. 内部数据结构答案:A4. 单元测试通常由谁执行:A. 客户B. 测试人员C. 开发人员D. 项目经理答案:C5. 系统测试的目的是:A. 测试单个模块B. 测试整个系统C. 测试集成后的模块D. 测试用户界面答案:B二、多项选择题(每题3分,共15分)1. 以下哪些属于软件测试的类型:A. 单元测试B. 集成测试C. 系统测试D. 性能测试E. 回归测试答案:ABCDE2. 软件测试过程中可能使用到的测试用例设计技术包括:A. 等价类划分B. 边界值分析C. 决策表D. 错误猜测E. 随机测试答案:ABCDE3. 软件测试的阶段包括:A. 单元测试B. 集成测试C. 系统测试D. 验收测试E. 性能测试答案:ABCD三、填空题(每空1分,共10分)1. 软件测试的目的是________。
答案:发现软件缺陷2. 软件测试的基本原则是________。
答案:测试显示存在缺陷3. 软件测试的目的是________,而不是证明软件没有缺陷。
答案:发现错误4. 软件测试的目的是________,而不是证明软件符合需求。
答案:发现错误5. 软件测试的目的是________,而不是证明软件符合设计。
答案:发现错误四、简答题(每题5分,共20分)1. 简述软件测试的重要性。
答案:软件测试是确保软件质量的关键环节,它能够发现软件中的错误和缺陷,从而提高软件的可靠性和稳定性,减少用户在使用过程中遇到的问题。
2. 描述软件测试的一般过程。
答案:软件测试的一般过程包括测试计划、测试设计、测试实施、测试评估和测试报告。
《软件工程》试题及参考答案(第2套)《软件工程》试题及参考答案(第2套)一、选择题1.在软件工程中,瀑布模型的生命周期包括以下几个阶段()。
A.需求分析阶段B.设计阶段C.编码阶段D.测试阶段E.维护阶段F.以上都包括参考答案:F.以上都包括2.软件工程的基本特性包括()。
A.可维护性B.可移植性C.可靠性D.可重用性E.可伸缩性F.以上都包括参考答案:F.以上都包括3.以下哪种模型强调迭代和增量开发?A.瀑布模型B.原型模型C.敏捷模型D.螺旋模型参考答案:D.螺旋模型4.软件工程中的需求分析包括()。
A.系统功能需求B.非功能需求C.用户需求D.软件需求E.硬件需求F.以上都包括参考答案:F.以上都包括5.在软件测试中,黑盒测试主要是通过()来检查程序功能是否正确。
A.检查程序内部逻辑B.检查代码覆盖率C.检查输入输出D.检查程序性能参考答案:C.检查输入输出二、填空题1.软件工程中的标准化组织是指由()制定的一系列标准。
参考答案:IEEE2. V字模型的测试活动是()的。
参考答案:并行进行3. 敏捷开发的核心原则是()。
参考答案:个体和交互高于流程和工具4. 软件开发中,CI是指()的集成。
参考答案:持续5. 软件工程中的 CASE 是指()。
参考答案:计算机辅助软件工程三、简答题1.请简要阐述软件工程的定义及其重要性。
参考答案:软件工程是一门研究如何有效地设计、创建和维护软件的学科。
它涵盖了软件开发的全过程,包括需求分析、设计、编码、测试等各个阶段。
软件工程的重要性体现在以下几个方面:1) 提高软件质量:通过采用系统化的方法和标准化的流程,可以减少软件缺陷和错误,提高软件的质量和可靠性。
2) 提高软件开发效率:软件工程提供了一整套的方法和工具,可以提高软件开发的效率和生产率,减少开发周期和成本。
3) 管理软件开发过程:软件工程强调项目管理和团队合作,可以有效地管理软件开发过程,确保项目按时交付,并能够满足用户需求。
软件工程测试题含答案一、选择题1. 下列关于软件测试的说法中,错误的是:A. 软件测试是验证软件系统的正确性和完整性的过程B. 软件测试是为了发现和纠正软件中的错误C. 软件测试可以保证软件系统的绝对没有错误D. 软件测试可以帮助提高软件质量答案:C2. 软件测试的主要目的是:A. 发现软件中的错误B. 让用户更容易上手使用软件C. 保证软件的绝对没有错误D. 提高软件的开发效率答案:A3. 在软件测试中,黑盒测试的特点是:A. 只测试软件的外部功能,不考虑内部结构B. 只测试软件的内部结构,不考虑外部功能C. 综合测试软件的内外部功能D. 只测试软件的界面功能,不考虑其他功能答案:A4. 在软件测试中,白盒测试的特点是:A. 只测试软件的外部功能,不考虑内部结构B. 只测试软件的内部结构,不考虑外部功能C. 综合测试软件的内外部功能D. 只测试软件的界面功能,不考虑其他功能答案:B5. 下列哪种测试方法通常被用于验证软件系统的全面性和正确性:A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:C二、填空题1. 软件测试的基本原则是“早测出、早纠正、早测试”,它强调在软件开发的早期进行( 1 )测试,并及时( 2 )软件中的错误。
答案:(1) 单元;(2) 纠正2. 为了保证测试的完备性和准确性,测试用例应该( 1 )。
答案:(1) 具有高覆盖率3. 在进行黑盒测试时,测试人员不需要了解被测软件的( 1 )。
答案:(1) 内部结构4. 在进行白盒测试时,测试人员需要了解被测软件的( 1 )。
答案:(1) 内部结构5. 对于错误的级别进行划分,常用的标准有( 1 )。
答案:(1) 严重程度三、简答题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. 请简要解释什么是软件工程?答案:软件工程是一门研究如何通过系统性的、科学化的方法来开发、维护和管理软件的学科。
(试题一)1、根据说明回答问题1~3(共16分)【说明】某高校开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下:1.每门课程都有3到6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。
课程结束后进行期末考试,其成绩作为这门课程的考试成绩。
2.学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。
3.在记录学生成绩之前,系统需要验证这些成绩是否有效。
首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如果他的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。
4.对于有效成绩,系统将其保存在课程成绩文件中。
对于无效成绩,系统会单独将其保存在无效成绩文件中,并将详细情况提交给教务处。
在教务处没有给出具体处理意见之前,系统不会处理这些成绩。
5.若一门课程的所有有效的平时成绩和考试成绩都已经被系统记录,系统会发送课程完成通知给教务处,告知该门课程的成绩已经齐全。
教务处根据需要,请求系统生成相应的成绩列表,用来提交考试委员会审查。
6.在生成成绩列表之前,系统会生成一份成绩报告给主讲教师,以便核对是否存在错误。
主讲教师须将核对之后的成绩报告返还系统。
7.根据主讲教师核对后的成绩报告,系统生成相应的成绩列表,递交考试委员会进行审查。
考试委员会在审查之后,上交一份成绩审查结果给系统。
对于所有通过审查的成绩,系统将会生成最终的成绩单,并通知每个选课学生。
现采用结构化方法对这个系统进行分析与设计,得到如图1所示的顶层数据流图和图2所示的0层数据流图。
图1. 顶层数据流图图2. 0层数据流图【问题1】(6分)根据顶层数据流图,使用说明中的词语,填些表中元素所代表的数据流、源和宿。
【问题3】(6分)0层数据流图缺少了三条数据流,根据说明及数据流图提供的信息,分别2、根据说明回答问题1和问题2(共10分)【说明】某招聘管理信息系统的主要功能如下:(1)验证应聘者所提供的自身信息是否完整,是否说明了应聘职位,受理验证合格的申请,给应聘者发送致谢信息。
一、填空题1. 软件是计算机程序及其说明程序的各种文档。
程序是计算机任务的处理对象和处理规则的描述;文档是有关计算机程序功能、设计、编制、使用的文字或图形资料。
2. 软件生产的发展,到现在为止,经过三个阶段,即程序设计时代,程序系统时代,软件工程时代。
3. 软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。
4. 结构化方法由结构化分析, 结构化设计, 结构化程序设计构成。
它是一种面向数据流的开发方法。
5. Jackson方法是一种面向数据结构的开发方法。
6. 软件可行性研究的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。
7. 可行性研究需要从以下三个方面分析研究每种解决方法的可行性:技术可行性, 经济可行性,操作可行性。
8. 效益分析有形效益和无形效益两种。
有形效益可以用货币的时间价格, 投资回收期, 纯收入等指标进行度量;无形效益主要从性质上、心理上进行衡量,很难直接进行量的比较。
9. 结构化分析方法是面向数据流进行需求分析的方法。
10. 在SA方法的需求描述工具中,数据流图描述系统的分解,即描述系统由哪几部分组成,各部分之间有什么联系等等。
数据字典定义了数据流图中每一个图形元素。
结构化语言、判定表或判定树则详细描述数据流图中不能被再分解为每一个加工。
11. 数据流图有四种基本成分:数据流、数据处理、文件、数据的源点或终点。
12. 数据字典有以下四类条目:数据流、数据项、文件、基本加工。
数据项是组成数据流和数据存储的最小元素。
13. 数据字典中的加工逻辑主要描述该加工做什么,即实现加工的策略,而不是实现加工的细节,它描述如何把输入数据流变换为输出数据流的加工规则。
14. 加工逻辑也称为“小说明”,常用的加工逻辑的描述工具有:结构化语言、判定表、判定数。
15. 结构化语言是介于自然语言(英语或汉语)和形式语言之间的一种半形式语言。
它的结构可分成外层和内层两层,外层用来描述控制结构,采用顺序,选择,重复三种基本结构。
全国2024年秋季高等教育自考试软件工程试题一、单项选择题1、黑盒测试技术又称为功能测试技术,包括事务处理流程技术、定义域测试技术和______。
A.路径测试技术B.用例测试技术C.状态测试技术D.结构测试技术2、使用用况图可以实现业务建模和系统建模,而得到业务模型和系统模型之间具有的关系是______。
A.整体/部分B.一般/特殊C.功能/过程D.静态/动态3、软件生存周期是指______。
A.开发软件的全部时间B.使用软件的全部时间C.开发和使用软件的全部时间D.从形成概念开始到最后淘汰让位于新的软件产品的时间4、软件工程在20世纪60年代末到80年代初获得的主要成果有______。
A.CASE产品B.面向对象语言C.瀑布模型D.软件生存周期过程5、指一个模块内部各成分之间相互关联程度的度量是______。
A.耦合B.内聚C.扇入D.扇出6、结构精细化设计过程中,为了提高模块的独立性,应遵循的原则是______。
A.低内聚高耦合B.低内聚低耦合C.高内聚低耦合D.高内聚高耦合7、RUP的分析类包括边界类、实体类和______。
A.子类B.控制类C.父类D.活动类8、“与所规约的系统执行之间的偏差”是指______。
A.错误B.失效C.故障D.误差9、类的状态机一般有几种不同的运行状态,其中处于等待接收事件,接收处理完事件后又进入等待状态,通常采用______。
A.IdleB.InitializingC.CommandD.Active10、软件测试中,白盒测试技术依据的是程序的______。
A.逻辑结构B.输入数据C.状态D.功能11、面向对象方法源于面向对象______。
A.分析B.设计C.建模语言D.编程语言12、《ISO/IEC软件生存周期过程12207-1995》标准按过程主体把软件生存周期过程分为基本过程、组织过程和______。
A.供应过程B.开发过程C.测试过程D.支持过程13、CMMI组织过程改善的成熟度等级中的2级是______。
软件工程考试试题含答案软件工程考试试题含答案一. 选择题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. 什么是软件工程?软件工程是一门综合应用计算机科学与工程学、管理学等知识的学科,它致力于开发和维护高质量的软件系统。
它包括需求分析、设计、编码、测试和维护等各个阶段,以确保软件项目能够按时交付、高效运行,并满足用户需求。
2. 请解释什么是软件生命周期?软件生命周期是指软件从构思、开发、使用到废弃的整个过程。
它包括需求分析、设计、编码、测试、部署和维护等多个阶段。
软件生命周期管理的目标是确保软件产品按时、按质量要求交付,并提供后续的支持与维护。
3. 请解释什么是需求工程?需求工程是软件工程中的一个重要阶段,它主要涉及对用户需求的调研、分析、规划和文档化。
通过需求工程,开发人员能够更好地理解用户需求,并将其转化为具体的软件需求规格说明书,为后续的设计和开发提供基础。
4. 什么是软件设计模式?软件设计模式是一套在软件设计过程中重复出现的解决方案。
它们被广泛接受,并被认为是开发高质量、可维护和可扩展软件的有效方法。
常见的软件设计模式包括单例模式、工厂模式、观察者模式等。
二、分析题1. 请说明面向对象和面向过程的编程范式的区别。
面向对象编程(OOP)和面向过程编程(POP)是两种不同的编程范式。
面向过程编程更侧重于任务的步骤和流程,它将问题分解为多个步骤,通过一系列函数或过程的调用来完成任务。
面向过程编程更加注重解决问题的步骤和执行过程。
面向对象编程更注重数据和对象的定义和封装,它将问题看作是一组对象的交互。
面向对象编程通过定义类、创建对象以及对象之间的协作来解决问题。
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. 软件测试的类型包括()。
一、单项选择题(每题2分,共40分)1.软件生存周期模型有多钟,下列选项中,(C)不是软件生存周期模型。
A.螺旋模型B.增量模型C.功能模型D.瀑布模型2.以下说法错误的是(C)。
A.增量模型是在瀑布模型的基础上加以修改而形成的B.增量模型推迟某些阶段或所有阶段中的细节,从而较早地产生工作软件C.瀑布模型和增量模型都属于整体开发模型D.瀑布模型规定在开始下一个阶段的工作之前,必须完毕前一阶段的所有细节3.可行性分析中,系统流程图用于描述(A)。
A.当前运营系统B.当前逻辑模型C.目的系统D.新系统4.研究软硬件资源的有效性是进行( A)研究的一方面。
A.技术可行性B.经济可行性C.社会可行性D.操作可行性5、数据字典中,一般不涉及下列选项中的(D)条目。
A.数据流B.数据存储C.加工D.源点与终点6、SA方法的分析环节是一方面调查了解当前系统的工作流程,然后(A)。
A.获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目的系统的逻辑模型B.获得当前系统的物理模型,抽象出目的系统的逻辑模型,建立目的系统的物理模型C.获得当前系统的逻辑模型,抽象出目的系统的物理模型,建立目的系统的逻辑模型D.获得当前系统的逻辑模型,抽象出目的系统的物理模型,建立目的系统的物理模型7、通过(B )可以完毕数据流图的细化。
A.结构分析B.功能分解C.数据分析D.系统分解8、对软件进行分解,是为了(C)。
A.减少模块的复杂限度B.减少模块间接口的复杂限度C.减少模块的复杂限度,并减少模块间接口的复杂限度D.减少模块的复杂限度,并提高模块间接口的复杂限度9、为了提高模块的独立性,模块内部最佳是(C)。
A.逻辑内聚B.时间内聚C.功能内聚D.通信内聚10、在软件结构设计完毕后,对于下列说法,对的的是(C)。
A.非单一功能模块的扇入数大比较好,说明本模块重用率高B.单一功能的模块扇入高时应重新分解,以消除控制耦合的情况C.一个模块的扇出太多,说明该模块过度复杂,缺少中间层D.一个模块的扇入太多,说明该模块过度复杂,缺少中间层11、在软件开发过程中,以下说法对的的是(B)。
一、填空题1. 软件是计算机程序及其说明程序的各种文档。
程序是计算机任务的处理对象和处理规则的描述;文档是有关计算机程序功能、设计、编制、使用的文字或图形资料。
2. 软件生产的发展,到现在为止,经过三个阶段,即程序设计时代,程序系统时代,软件工程时代。
3. 软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。
4. 结构化方法由结构化分析, 结构化设计, 结构化程序设计构成。
它是一种面向数据流的开发方法。
5. Jackson方法是一种面向数据结构的开发方法。
6. 软件可行性研究的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。
7. 可行性研究需要从以下三个方面分析研究每种解决方法的可行性:技术可行性, 经济可行性,操作可行性。
8. 效益分析有形效益和无形效益两种。
有形效益可以用货币的时间价格, 投资回收期, 纯收入等指标进行度量;无形效益主要从性质上、心理上进行衡量,很难直接进行量的比较。
9. 结构化分析方法是面向数据流进行需求分析的方法。
10. 在SA方法的需求描述工具中,数据流图描述系统的分解,即描述系统由哪几部分组成,各部分之间有什么联系等等。
数据字典定义了数据流图中每一个图形元素。
结构化语言、判定表或判定树则详细描述数据流图中不能被再分解为每一个加工。
11. 数据流图有四种基本成分:数据流、数据处理、文件、数据的源点或终点。
12. 数据字典有以下四类条目:数据流、数据项、文件、基本加工。
数据项是组成数据流和数据存储的最小元素。
13. 数据字典中的加工逻辑主要描述该加工做什么,即实现加工的策略,而不是实现加工的细节,它描述如何把输入数据流变换为输出数据流的加工规则。
14. 加工逻辑也称为“小说明”,常用的加工逻辑的描述工具有:结构化语言、判定表、判定数。
15. 结构化语言是介于自然语言(英语或汉语)和形式语言之间的一种半形式语言。
它的结构可分成外层和内层两层,外层用来描述控制结构,采用顺序,选择,重复三种基本结构。
16.三种描述加工逻辑的工具各有优缺点,对于顺序执行和循环执行的动作,用结构化语言描述。
对于存在多个条件复杂组合的判断问题,用判定表和判定树。
17. 在软件需求分析阶段,已经搞清楚了软件做什么的问题,并把这些需求通过规格说明书描述了出来,这也是目标系统的逻辑模型。
18. 软件结构的设计是以模块为基础的,以需求分析的结果为依据,从实现的角度进一步划分为模块,并组成模块的层次结构。
19. 在一个模块中,功能输入输出反映模块的外部特性,程序及数据反映它的内部特性。
20. 衡量模拟独立性的两个定性的度量标准是耦合性和内聚性。
21. 耦合性也称块间联系。
指软件系统结构中各模块间相互联系紧密程度的一种度量。
模块之间联系越紧密,其耦合性就越强,模拟的独立性则越差。
22. 内聚性又称块间联系。
指模拟的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。
若一个模块内各元素(语句之间、程序段之间)的联系越紧密,则它的内聚性就越高。
23. 内聚性有六种类型:偶然内聚、逻辑内聚、时间内聚、通信内聚、顺序内聚、功能内聚。
24. 偶然内聚指一个模块内的各处理元素之间没有任何联系。
这是内聚程度最差的内聚。
25. 逻辑内聚指模拟内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。
把需要同时执行的动作组合在一起形成的模块为时间内聚模块。
26. 耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚、底耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。
27. 结构图的主要内容有:模块、模块调用、参数传递。
28. 模块的扇出指一个模块直接下属模块的个数,扇入指一个模块直接上属模块的个数。
29. 要把数据流图(DFD)转换成软件结构,首先必须研究DFD的类型。
各种软件系统,一般可分为变换型和事务型两类。
30. 变换型的DFD是由输入、变换和输出三部分组成。
31. 变换型数据处理的工作过程一般分为三步:取得数据、变换数据和输出数据,这三步体现了变换型DFD的基本思想。
32. 在变换型DFD中,变换是系统的主加工,变换输入端的数据流称为系统的逻辑输入,输出端的数据流为逻辑输出。
而直接从外部设备输入数据称为物理输入,直接从外部设备上的输出数据称为物理输出。
33. 若某个加工将它的输入流分离成许多发散的数据流,形成许多加工路径,并根据输入的值选择其中一个路径来执行,这种特征的DFD称为事务型的数据流图,这个加工称为事务处理中心。
34. 任何程序都可由顺序、选择性、重复三种基本控制结构构造。
这三种基本结构的共同点是单入口、单出口。
35. 详细描述处理过程常用三种描述工作:图形、表格和语言。
36. 程序流程图又称为程序框图,应由三种基本控制结构顺序组合和完整嵌套而成,不能有相互交叉的情况,这样的流程图是结构化的流程图。
37. 伪码的结构一般分为内外两层,外层语法应符合一般程序设计语言常用的语法规则,而内层语法则用一些简单的句子、短语和通用的数学符号,来描述程序应执行的功能。
38. Jackson方法是面向数据结构的设计方法。
39. 汇编语言是面向机器的,可以完成高级语言无法满足要求的特殊功能,如与外部设备之间的一些接口操作。
40. 近年来,推出了许多面向对象的语言,如C++ 、Java 等41. 软件测试是为了发现错误而执行程序的过程。
一个好的测试用例能够发现至今尚未发现的错误。
一个成功的测试是发现了至今尚未发现的错误的测试。
42. 软件测试方法一般分为两大类:动态测试方法与静态测试方法。
43. 动态测试方法中根据测试用例的设计方法不同,分为黑盒测试与白盒测试两类。
44. 动态测试指通过运行程序发现错误。
对软件产品进行动态测试时,使用黑盒测试法和白盒测试法。
45. 黑盒法把被测试对象看成一个黑盒子,测试人员完全不考虑程序的和内部结构。
只在软件的处理过程处进行测试。
46. 白盒法把测试对象看作一个打开的盒子,测试人员需了解程序的内部结构和处理过程。
47. 语句覆盖是指设计足够的测试结构,使被测程序中每个语句至少执行一次。
语句覆盖是比较弱的覆盖标准。
48. 用墨盒技术设计测试用例的方法有四种等价类划分、边界值分析、错误推测法和因果图。
49. 等价类划分是将输入数据域按有效的或无效的划分成若干个等价类,测试每个等价类的代表值就等于对该类其他值的测试。
50. 软件产品在交付使用之前要经过哪些测试呢?一般要经过以下四步测试:单元测试、集成测试、系统测试和确认测试。
二、单项选择题1. (A)是计算机程序及其说明程序的各种文档。
A. 软件B. 数据C. 文档D. 程序2. (B)是有关计算机程序功能、设计、编制使用的文字或图形资料。
A. 程序B. 文档C. 软件D. 数据3. 软件工程中描述生存周期模型的瀑布模型一般包括计划、(A)、设计、编码、测试、维护等几个阶段。
A. 需求分析B. 需求调查C. 可行性分析D. 问题定义4. 系统定义明确之后,应对系统的可行性进行研究,可行性研究应包括(B)。
A. 软件环境可行性、技术可行性、经济可行性、社会可行性B. 经济可行性、技术中行性、操作可行性C. 经济可行性、可行性、系统可行性D. 经济可行性、实用性、可行性5. 软件需求分析阶段的工作,可以分成以下四个方面:对问题的识别,分析与综合,制定规格说明以及(C)。
A. 总结B. 实践性报告C. 需求分析评审D. 以上答案都不正确6. 在结构化分析方法中,用以表达系统内数据的运动情况的工具有(A)。
A. 数据流图B. 数据词典C. 结构化英语D. 判定树与判定表7. 数据词典的任务是对于数据流图中出现的所有被命名的数据元素,在数据词典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的(D)。
A. 对象B. 解释C. 符号D. 描述8. 在数据流图的基本图形符号中,加工是以数据结构或(A)干什么为加工对象的。
A. 数据内容B. 信息内容C. 信息结构D. 信息流9. 软件需求分析的任务不应包括(C)。
A. 问题分析B. 信息域分析C. 结构化程序设计D. 确定逻辑模型10. 进行需求分析可使用多种工具,但(C)是不适用的。
A. 数据流图B. 判定表C. PAD图D. 数据词典11. 结构化分析方法(SA)是一种面向(C)的需求分析方法。
A. 对象B. 数据结构C. 数据流D. 控制流12. 结构化分析方法(SA)最为常见的图形工具是(C)。
A. 程序流程图B. 实体联系图C. 数据流图D. 结构图13. 在结构化分析方法(SA),与数据流图配合使用的是(C)。
A. 网络图B. 实体联系图C. 数据字典D. 程序流程图14. 在数据流图中,有名字及方向的成份是(C)。
A. 控制流B. 信息流C. 数据流D. 信号流15. 在数据流图中,不能由计算机处理的成份是(D)。
A. 控制流B. 结点C. 数据流D. 数据源/终点16. 通过(B)可以完成数据流图的细化。
A. 结构分解B. 功能分解C. 数据分解D. 系统分解17. 数据存储和数据流都是(D),仅仅所处的状态不同。
A. 分析结果B. 事件C. 动作D. 数据18. 数据流图和(C)共同构成系统的逻辑模型。
A. IPO图B. PDLC. 数据字典D. 层次图19. 结构分析方法就是面向(B)自顶向下逐步求精进行需求分析的方法。
A. 目标B. 数据流C. 功能D. 对象20. 为了提高模块(B),当修改或维护模块时减少把一个模块的错误扩散到其他模块中去的机会。
A. 耦合性B. 独立性C. 内聚性D. 共享性21. 模块(C),则说明模块的独立性越强。
A. 耦合越强B. 扇人数越高C. 耦合越弱D. 扇人数越低22. (A)数据处理问题的工作过程大致分为三步,即取得数据、变换数据和给出数据。
A. 变换型B. 事务型C. 结构化D. 非结构化23. 在对数据流的分析中,主要是找到中心变换,这是从( A )导出结构图的关键。
A. 数据结构B. 实体关系C. 数据流图D. E-R图24. 在对数据流的分析中,主要是找到中心变换,这是从数据流图导出(D)的关键。
A. 程序模块B. 逻辑结构C. 程序流程图D. 结构图25. 程序内部的各个部分之间存在的联系,用结构图表达时,最关心的是模块的(D)和耦合性。
A. 一致性B. 作用域C. 嵌套限制D. 内聚性26. 面向数据流的设计方法把(A)映射成软件结构。
A. 数据流B. 系统结构C. 控制结构D. 信息流27. 在进行软件结构设计时应该遵循的最主要的原因是(C)原理。
A. 抽象B. 模块化C. 模块独立D. 信息隐藏28. 结构化设计的方法是一种面向(C)的设计方法。