软件工程基础试题(精)
- 格式:doc
- 大小:170.50 KB
- 文档页数:75
软件工程考试题及答案一、单项选择题(每题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. 软件工程的基本原理是什么?A. 线性顺序开发B.迭代和增量开发C. 自顶向下,逐步求精D. 需求驱动和变更管理2. 软件开发过程中,需求分析的目的是什么?A. 确定软件开发的具体功能需求B. 编写需求规格说明书C. 评估项目可行性D. 规划如何构建和维护软件3. 软件设计的主要阶段有哪些?A. 概念设计B. 详细设计C. 结构设计D. 过程设计4. 在敏捷开发方法中,迭代周期通常有多长?A. 1-2周B. 4-6周C. 3-4个月D. 2-4周5. 软件测试的目的是什么?A. 保证软件质量B. 提高软件效率C. 降低维护成本D. 提高用户满意度6. 数据库设计通常遵循哪些基本原则?A. 数据完整性B. 数据安全性C. 数据一致性D. 数据及时性7. 在软件开发中,版本控制工具的主要作用是什么?A. 整理源代码文件B. 跟踪代码变更历史C. 版本控制项目管理D. 提供协作开发环境8. 软件维护主要包括哪些活动?A. 修复缺陷B. 更新文档C. 性能优化D. 安全性增强9. 面向对象编程(OOP)的四个基本特性是什么?A. 封装B. 多态C. 继承D. 抽象10. 什么是敏捷开发,它与其他开发方法的区别是什么?A. 敏捷开发是一种软件开发方法,它强调团队合作和快速响应变化。
B. 敏捷开发与其他开发方法的区别在于它采用了迭代和增量的开发方式,而不是瀑布模型。
C. 敏捷开发强调的是文档的重要性。
D. 敏捷开发是一种运动,而不是一种软件开发方法。
11. 软件工程的基本概念是什么?A. 软件工程是一门技术学科,它涉及到软件的开发、维护和管理。
B. 软件工程是应用计算机科学、数学及管理科学等原理来开发软件的学科。
C. 软件工程注重软件的可靠性、可用性和可维护性。
D. 软件工程的目标是生产高质量的软件产品。
12. 软件开发过程中通常遇到的三种风险是什么?A. 技术风险B. 经济风险C. 过程风险D. 人员风险13. 软件生命周期通常包括哪几个阶段?A. 需求分析B. 设计C. 编码D. 测试E. 部署和维护14. 在软件开发中,需求分析的目的是什么?A. 确定软件系统的功能和性能要求。
软件⼯程基础(复习题及答案)复习题⼀、判断题(每题2分,共30分)1.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。
(对)2.数据字典是对数据流图中的数据流,加⼯、数据存储、数据的源和终点进⾏详细定义。
(错)语⾔编译器是⼀个CASE⼯具。
(对)。
4.软件是指⽤程序设计语⾔(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码。
(错)5.软件模块之间的耦合性越弱越好。
(对)6.数据库设计说明书是⼀个软件配置项(对)7.在⾯向对象的软件开发⽅法中,每个类都存在其相应的对象,类是对象的实例,对象是⽣成类的模板。
(错)8.过程描述语⾔可以⽤于描述软件的系统结构。
(错)9.如果通过软件测试没有发现错误,则说明软件是正确的。
(错)10.快速原型模型可以有效地适应⽤户需求的动态变化。
(对)11.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到⾼内聚,低耦合度的软件产品。
(对)12.集成测试主要由⽤户来完成。
(错)13.确认测试计划应该在可⾏性研究阶段制定(错)14.⽩盒测试⽆需考虑模块内部的执⾏过程和程序结构,只要了解模块的功能即可。
(错)15.软件概要设计包括软件系统结构设计以及数据结构和数据库设计。
(对)16.在可⾏性研究中最难决断和最关键的问题是经济可⾏性。
(╳)17.耦合是指⼀个模块内各个元素彼此结合的紧密程度。
(╳)18. ⼀笔交易、⼀个动作、甚⾄操作⼈员按⼀个按钮都可以看做是⼀次事物。
(√)19.概要设计阶段完成的主要⽂档是概要设计说明书。
(√)20.过⼤的模块可能是由于分解不充分造成的,即使降低模块独⽴性也必须继续分解。
(╳)21.程序设计语⾔中应绝对禁⽌使⽤GOTO语句。
(╳)22.类是关于对象性质的描述,由⽅法和数据组成。
(√)23.随着软件技术的发展,⼈们逐渐认识到编码不仅要强调效率还要强调清晰。
(√)25.为保证程序的安全,必须做到程序中没有任何错误存在,即容错。
软件工程考试题及答案一、选择题1. 下列哪个不是软件工程的基本原则?A. 持续集成B. 形式化表示C. 高内聚低耦合D. 可重用性答案:B. 形式化表示2. 软件的可靠性是指什么?A. 软件的正确性B. 软件的可维护性C. 软件的效率D. 软件的稳定性答案:D. 软件的稳定性3. 下列哪个不是软件测试的目标?A. 发现软件中的错误和缺陷B. 验证软件是否满足用户需求C. 评估软件的质量D. 在短时间内完成软件开发答案:D. 在短时间内完成软件开发二、判断题1. 软件工程是一门工程学科,其目标是通过系统化的、规范化的方法对软件进行开发、运行和维护。
答案:正确2. “高内聚低耦合”是软件工程中的重要原则,指的是模块之间的独立性和模块之间的依赖程度。
答案:正确3. 软件需求分析是软件开发过程中的最后一步,最终确定软件系统的功能和性能。
答案:错误三、简答题1. 什么是软件工程?答:软件工程是一门工程学科,通过系统化的、规范化的方法对软件进行开发、运行和维护。
它涉及软件开发的各个阶段,包括需求分析、设计、编码、测试和维护等,并注重管理和团队合作,以提高软件质量、降低开发成本和加快开发进度。
2. 软件测试的目的是什么?答:软件测试的目的是发现软件中的错误和缺陷,验证软件是否满足用户需求,并评估软件的质量。
通过测试,可以提高软件的可靠性和稳定性,减少软件在使用过程中的风险。
3. 请简述软件开发生命周期中的各个阶段。
答:软件开发生命周期包括需求分析、设计、编码、测试和维护等阶段。
- 需求分析阶段:确定软件系统的功能、性能和约束条件,明确用户需求。
- 设计阶段:根据需求分析结果设计软件系统的结构和模块,确定软件的整体框架。
- 编码阶段:根据设计阶段的文档编写程序代码,实现软件系统的各个功能。
- 测试阶段:对软件进行各种测试,包括单元测试、集成测试和系统测试,以发现错误和缺陷。
- 维护阶段:根据用户反馈和需求变化,对软件进行修复和更新,确保其持续稳定运行。
一.判断题:1.如果决定将软件全部包给第三方公司开发。
(×)2.有了对系统的目标有了大致的了解,就可以开始开发项目,以后的在开发中继续了解。
(×)3.对于一个成功的软件项目,可执行程序是唯一交付的东西。
(×)4.直到程序运行,才评估软件系统的质量。
(×)5.如果未能按时完成任务,我们可以通过增加程序员来加快完成任务.(×)6.虽然软件需求不断变更,但因软件比硬件有弹性,所以我们经常可以变更它.(×)7.软件工程将导致我们产生大量的无用文档,降低工作效率。
(×)8.在面向对象建模中,主题划分提供了在更高一层上描述。
(主题划分是指UML中将一组关联比较强的类的集合。
则上百个类可划分为几个主题)(√)9.面向对象的开发,对象分解取代功能分解. (√)10.软件中80%的错误存在20%的模块中。
(√)11.结构化分析方法在建立系统模型时,使用一般――特殊结构(实际上没有这种关系)来处理信息。
(×)12.开发软件就是编程。
(×)13.需求规格说明书说明了(√)14.结构化方法,建立系统模型时使用一般连接组织信息. (×)15.敏捷过程模型选用小而高激励的团队使用而不适用于大团队。
(√)二.简答题1.软件工程是层次化的,其四个层次是?答:方法,工具,过程,质量保证软件工程是一种层次化的技术(如图2-1所示)。
任何工程方法(包括软件工程)必须以有组织的质量保证为基础。
全面的质量管理和类似的理念刺激了不断的过程改进,正是这种改进导致了更加成熟的软件工程方法的不断出现。
支持软件工程的根基就在于对质量的关注。
软件工程的基层是过程层。
软件工程过程是将技术层结合在一起的凝聚力,使得计算机软件能够被合理地和及时地开发出来.过程定义了一组关键过程区域的框架(KPAs)[PAY93],这对于软件工程技术的有效应用是必须的。
关键过程区域构成了软件项目的管理控制的基础,并且确立了上下各区域之间的关系,其中规定了技术方法的采用、工程产品(模型、文档、数据、报告、表格等)的产生、里程碑的建立、质量的保证及变化的适当管理。
软件工程基础考试(答案见尾页)一、选择题1. 软件工程的基础是什么?A. 程序设计B. 数据结构C. 计算机科学D. 需求分析2. 软件开发过程中,需求分析和系统设计的关系是什么?A. 需求分析是系统设计的依据B. 需求分析和系统设计同时进行C. 需求分析在系统设计之后进行D. 需求分析和系统设计没有必然联系3. 软件工程的三个层次及其在软件开发过程中的作用是什么?A. 应用层、系统层、理论层B. 物理层、数据层、逻辑层C. 需求层、设计层、实施层D. 开发层、测试层、维护层4. 软件开发生命周期(SDLC)的概念是什么?它包括哪几个阶段?A. 软件开发生命周期是指软件的开发过程B. SDLC包括需求分析、设计、编码、测试和维护C. SDLC是一个线性的过程D. SDLC各阶段按顺序进行,不具备迭代性5. 什么是敏捷开发方法?它与其他开发方法的区别是什么?A. 敏捷开发是一种快速开发的软件开发方法B. 敏捷开发强调团队合作和客户参与C. 敏捷开发适合大规模软件项目D. 敏捷开发与其他开发方法的区别在于流程管理6. 什么是面向对象编程(OOP)?请列举OOP的三个基本特征。
A. 封装、继承、多态B. 封装、继承、抽象C. 封装、多态、接口D. 继承、多态、接口7. 数据库管理系统(DBMS)在软件开发中的作用是什么?A. 存储和管理数据B. 提供数据查询和修改功能C. 数据库管理员(DBA)负责DBMS的管理和维护D. 所有选项都正确8. 什么是版本控制?请简述版本控制的两种主要策略。
A. 版本控制是一种软件配置管理技术B. 版本控制可以跟踪软件项目的变更C. 版本控制的主要策略有Git和SVND. 版本控制确保软件代码的安全性9. 什么是软件测试?它的目的和基本原则是什么?A. 软件测试是在软件投入运行后进行的活动B. 软件测试是为了发现软件中的错误和缺陷C. 软件测试的原则包括早期测试、缺陷倾向分布等D. 软件测试的目的是提高软件的质量和可靠性10. 什么是配置管理?它在软件开发中的作用是什么?A. 配置管理是指对软件配置项进行管理和控制的过程B. 配置管理可以确保软件配置的一致性和可追溯性C. 配置管理的主要活动包括配置标识、配置控制、配置审核等D. 配置管理有助于解决软件生命周期中的版本冲突问题11. 软件开发过程中,需求分析的主要任务是?A. 确定软件开发的功能B. 编写需求规格说明书C. 进行系统设计D. 进行程序设计12. 在软件开发中,迭代过程是为了更好地适应变化,它主要包括哪几个阶段?A. 需求分析B. 设计C. 编码D. 测试13. 软件工程中的“软件”指的是什么?A. 程序和数据B. 程序、数据和文档C. 程序和数据,可运行D. 程序、数据和用户手册14. 软件工程的发展历程中,第一个正式发布的软件开发标准是?A. ISO 9000B. CMMIC. PMBOKD.软件开发生命周期(SDLC)15. 在软件工程中,测试的目的是什么?A. 证明软件的正确性B. 找出软件中的错误C. 提高软件的质量D. 规范软件的开发过程16. 软件工程中的“软件生命周期”通常包括哪几个阶段?A. 开发B. 运行C. 维护17. 软件工程中,版本控制的主要作用是什么?A. 监控软件的修改历史B. 管理软件的版本C. 确保软件的一致性D. 保证软件的可靠性18. 软件工程中,敏捷开发方法是一种以人为核心、迭代、循序渐进的开发方法,它的核心价值包括:A. 个体和互动跨功能团队B. 可用的软件客户合作C. 响应变化随时间进化D. 面向结果19. 在软件工程中,UML(统一建模语言)是一种用于描述、构造和编写软件系统的图形化语言,它通常用于以下哪个阶段?A. 需求分析B. 设计C. 编码D. 测试20. 软件工程的定义是什么?A. 软件工程是一门研究用工程化方法构建和维护有效、实用和高质量的软件的学科。
软件工程学试题及答案一、单项选择题(每题2分,共10分)1. 软件工程的目的是()。
A. 提高软件的生产率B. 提高软件的运行效率C. 降低软件的生产成本D. 提高软件的可维护性答案:A2. 下列哪项不是软件需求分析的任务?()。
A. 确定软件的功能需求B. 确定软件的性能需求C. 确定软件的界面需求D. 确定软件的测试需求答案:D3. 软件生命周期中,()阶段是确定软件需求的阶段。
A. 需求分析B. 系统设计C. 编码D. 测试答案:A4. 软件测试的目的是()。
A. 证明软件是正确的B. 证明软件存在错误C. 发现软件中的错误D. 证明软件不存在错误答案:C5. 软件危机主要表现在()。
A. 软件成本B. 软件质量C. 软件进度D. 所有选项答案:D二、多项选择题(每题3分,共15分)1. 软件工程的基本原理包括()。
A. 用分阶段的生命周期计划严格管理B. 强调开发过程的迭代性质C. 采用合适的编程规范D. 强调软件工具的使用答案:ABD2. 软件需求分析的常用方法包括()。
A. 数据流图B. 用例图C. 状态转换图D. 流程图答案:ABC3. 软件测试的类型包括()。
A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:ABCD4. 软件维护的类型包括()。
A. 校正性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:ABCD5. 软件工程中常用的设计模式包括()。
A. 单例模式B. 工厂模式C. 观察者模式D. 策略模式答案:ABCD三、简答题(每题5分,共20分)1. 简述软件工程中的模块化设计原则。
答案:模块化设计原则要求将系统分解成若干个模块,每个模块具有高内聚、低耦合的特点,以便于系统的开发、测试、维护和理解。
2. 描述软件需求分析的重要性。
答案:软件需求分析是软件开发过程中的关键步骤,它确保了开发团队对用户需求有清晰的理解,有助于避免开发出不符合用户需求的软件,减少返工和成本。
1.某旅馆的电话服务如下:可以拨分机号和外线号码。
分机号是从7201至7299。
外线号码先拨9,然后是市话号码或长话号码。
长话号码是以区号和市话号码组成。
区号是从100到300中任意的数字串。
市话号码是以局号和分局号组成。
局号可以是455,466,888,552中任意一个号码。
分局号是任意长度为4的数字串。
要求:写出在数据字典中,电话号码的数据流条目的定义即组成。
电话号码=[分机号|外线号码]分机号=7201 (7299)外线号码=9+[市话号码|长话号码]长话号码=区号+市话号码区号=100 (300)市话号码=局号+分局号局号=[455|466|888|552]分局号=4{数字}4数字=[0|1|2|3|4|5|6|7|8|9]2.为以下程序流程图分别设计语句覆盖和判定覆盖测试用例,并标明程序执行路径。
(1)语句覆盖测试用例令x=2,y=0,z=4作为测试数据,程序执行路径为abcde。
(2)判定覆盖可以设计如下两组数据以满足判定覆盖:x=3,y=0,z=1(1分)(通过路径abce);x=2,y=1,z=2(1分)(通过路径acde)。
或者x=2,y=1,z=1;覆盖路径acdex=1,y=1,z=1;覆盖路径acex=3,y=0,z=1;覆盖路径abce(注意:本题也还可以有其他答案)3.请用判定表画出以下问题的行为逻辑。
人们往往根据天气情况决定出门时的行装。
天气可能下雨,也可能不下雨;下雨或不下雨天气可能变冷,也可能不变冷。
如果天气要下雨,出门时带上雨伞;如果天气变冷,4.对下列子程序进行调试:procedure example(y,z: real; var x: real)beginif (y>1) and (z=0) then x:=x/y;if (y=2) or (x>l) then x:=x+l;end.该子程序接受x, y, z的值,并将计算结果x的值返回给调用程序。
计算机软件工程试题及答案一、选择题(每题5分,共30分)1. 下列哪项不是软件工程的目标之一?A. 提高软件质量B. 缩短软件开发周期C. 降低软件成本D. 增加软件功能答案:D2. 面向对象分析的重要产品是什么?A. 类图B. 时序图C. 用例图D. 类的详细设计答案:C3. 在敏捷软件开发中,团队重视的价值是?A. 测试通过的软件B. 设计文档C. 客户满意D. 项目进度答案:C4. 下列哪个是软件验证的过程?A. 编码B. 测试C. 需求分析D. 部署答案:B5. 软件过程模型中,下列哪项是瀑布模型的主要特点?A. 适合迭代式开发B. 强调反馈和调整C. 开发流程线性且有序D. 所有阶段同时进行答案:C6. 下列哪项不是软件需求的特性?A. 可理解性B. 可靠性C. 可维护性D. 可修改性答案:B二、简答题(每题10分,共30分)1. 请简述软件生命周期的主要阶段及其特点。
答案:软件生命周期主要包括需求分析、设计、编码、测试、部署和维护阶段。
需求分析阶段:明确用户需求和系统要求。
设计阶段:制定软件结构和模块设计方案。
编码阶段:将设计方案转化为可执行代码。
测试阶段:验证软件是否符合需求,包括单元测试、集成测试和系统测试。
部署阶段:将软件交付给用户并安装部署。
维护阶段:修复漏洞、改进功能、提供技术支持。
2. 解释迭代开发和增量开发的区别。
答案:迭代开发是指将整个开发过程分成多个迭代周期,每个迭代周期都包含需求分析、设计、编码、测试等阶段,每个迭代周期都会不断改进和完善软件,最终得到用户满意的产品。
增量开发是指在软件开发过程中,将系统功能模块化,按模块分阶段开发。
每个阶段都增加新的功能,并将之前开发的功能进行整合和测试。
最终形成完整的软件系统。
3. 简要介绍敏捷开发方法。
答案:敏捷开发是一种迭代和增量的开发方法,强调团队合作和灵活性,专注于快速交付可工作的软件。
敏捷开发方法包括Scrum、XP (极限编程)等。
软件工程基础考试试题一、单选题(每题2分,共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. PERT/CPMC. UMLD. 敏捷开发8. 在软件测试中,下列哪种测试方法是通过测试人员的随机操作来检验软件系统的可靠性:A. 黑盒测试B. 白盒测试C. 灰盒测试D. 增量测试9. 软件工程的核心原则包括:A. 模块化B. 重用C. 抽象D. 以上答案都正确10. 软件工程的关键技术包括:A. 需求分析和规格说明B. 概要设计和详细设计C. 编码和调试D. 以上答案都正确二、填空题(每题2分,共20分)1. 软件开发生命周期包括需求分析、设计、编码、测试、____和维护。
2. 软件需求分析的目标是明确软件的功能、性能和____。
3. 软件测试的基本原则之一是:测试应该完全独立于____。
4. 软件工程中常用的项目管理方法之一是____,用于确定最短的完成项目所需时间。
软件工程基础期末试题及答案一、选择题 (每题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. 确定软件的测试策略答案:A6. 下列哪个不是需求分析的主要任务?A. 确定软件的功能需求B. 确定软件的非功能需求C. 确定软件的界面需求D. 确定软件的开发需求答案:D7. 下列哪个不是软件设计的主要任务?A. 确定软件的架构B. 确定软件的模块划分C. 确定软件的数据结构D. 确定软件的开发计划答案:D8. 下列哪个不是软件设计的重要考虑因素?A. 软件的可扩展性B. 软件的可维护性C. 软件的可靠性D. 软件的性能答案:D9. 下列哪个不是软件测试的主要目的?A. 发现和修复软件缺陷B. 验证软件的功能和性能是否符合需求C. 评估软件的质量和可靠性D. 提高软件的开发效率答案:D10. 下列哪个不是软件测试的主要方法?A. 黑盒测试B. 白盒测试C. 静态测试D. 代码审查答案:D二、填空题 (每题2分,共20分)1. 软件工程是一种应用系统工程的方法和工具,以规范化的、可量化的和可控制的方式开发和维护软件的工程学科,其基本目标是以$$______$$的方式开发和维护软件,以提高软件的质量、降低软件的开发成本和提高软件的开发效率。
答案:工程化2. 软件工程的核心思想可以概括为规范化、$$______$$、可维护性和可靠性,其中规范化是软件工程的基础,可维护性是软件工程的重要目标,可扩展性是软件工程的关键。
软件工程试题及答案第一部分选择题一、单项选择题每小题1分,共20分。
(在每小题的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内)1.在下列工具与环境中()属于较早期的CASE。
A.基于信息工程CASE B.人工智能CASEC.结构的基于图形CASE D.集成的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。
软件工程基础考试(答案见尾页)一、选择题1. 软件工程的基础是什么?A. 程序设计B. 数据结构C. 硬件D. 需求分析2. 软件开发过程中,需求分析的目的是什么?A. 确定软件开发的功能需求B. 规划软件的架构设计C. 编写代码D. 进行系统测试3. 在敏捷开发中,迭代周期通常是什么?A. 一周B. 一个月C. 一个季度D. 六个月4. 软件工程的五大基本质量特性包括:功能性、可靠性、易用性、效率、可维护性。
其中,易用性是指软件易于理解和使用的能力。
这一特性是由哪个因素决定的?A. 用户的经验B. 开发者的技术水平C. 用户的技能水平D. 软件的设计和实现5. 在软件开发中,版本控制是一种有效的管理手段,它可以跟踪文件的变更历史并协助开发者协作。
以下关于版本控制的描述,不正确的是:A. Git是一种广泛使用的版本控制系统B. 版本控制可以防止软件被非法复制C. 版本控制可以帮助开发者回滚到以前的版本D. 版本控制可以确保不同开发者的工作同步6. 在软件工程中,测试是为了发现错误而执行程序的过程。
以下关于软件测试的描述,不正确的是:A. 测试应该尽早开始,贯穿整个软件开发过程B. 回归测试是在软件修改后进行的,目的是验证之前的错误已经修复C. 集成测试是在软件的各个模块组装在一起后进行的测试D. 功能测试和性能测试是软件测试的两种类型7. 软件工程师在编写代码时需要遵循一些命名约定,以便其他开发者能够更容易地理解和维护代码。
以下关于软件工程师命名约定的描述,不正确的是:A. 变量名应该使用小写字母和下划线(例如:user_name)B. 常量名应该使用全大写字母和下划线(例如:MAX_VALUE)C. 函数名应该使用动词开头的小写字母(例如:get_data)D. 类名应该使用大驼峰命名法(例如:UserInformation)8. 在软件开发中,配置管理是一种用于控制软件开发和维护过程中的变更的过程。
软件工程基础考试题目和答案一、选择题(每题5分,共25分)1. 软件工程的主要目标是什么?A. 提高软件开发效率B. 确保软件质量C. 降低软件开发成本D. 提高软件的可维护性答案:B2. 下列哪个阶段不属于软件开发生命周期?A. 需求分析B. 设计C. 测试D. 需求变更答案:D3. 下列哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 面向过程编程答案:A4. 下列哪个工具主要用于软件项目进度监控?A. Gantt图B. 思维导图C. 帕累托图D. 直方图答案:A5. 下列哪种方法主要用于风险管理?A. 风险识别B. 风险评估C. 风险应对D. 风险监控答案:A二、填空题(每题5分,共25分)1. 软件工程的核心思想是______,通过规范的开发过程和严格的质量控制,提高软件的质量和可靠性。
答案:工程化2. 软件需求分析的主要目的是______,明确软件的功能和性能要求。
答案:理解用户需求3. 结构化分析方法主要包括______、数据流图、实体关系图等。
答案:数据字典4. 软件测试的主要目的是______,发现并修复软件中的缺陷。
答案:保证软件质量5. 敏捷开发方法的核心价值观是______,强调快速响应变化和客户合作。
答案:个体和互动三、简答题(每题10分,共30分)1. 请简要描述软件开发生命周期的主要阶段及其作用。
答案:软件开发生命周期主要包括需求分析、设计、编码、测试和维护等阶段。
需求分析阶段用于理解用户需求,设计阶段用于制定软件架构和详细设计,编码阶段用于实现软件功能,测试阶段用于发现并修复软件缺陷,维护阶段用于提供软件支持和更新。
2. 请简要介绍敏捷开发方法的主要特点和实践原则。
答案:敏捷开发方法主要包括个体和互动、工作软件、客户合作、响应变化等价值观。
实践原则包括短迭代周期、持续反馈、自我组织和协作等。
敏捷开发方法强调快速响应变化,提高软件质量和开发效率。
---------------------考试---------------------------学资学习网---------------------押题------------------------------软件工程考试题简答题、什么叫软件?1软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合什么叫软件危机?软件危机包含哪两点?软件危机产生的原因是什么?2、软件危机是指在计算机软件开发与维护过程中所遇到的一系列严重问题。
包括两点:1)如何开发软件,以满足对软件日益增长的需求;(2)如何维护数量不断膨胀的已有软件。
(软件开发和维护过程中存在的许多严重问题,一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。
具体表现如下:1)软件是逻辑部件而不是物理部件。
()软件的规模越来越大,复杂性越来越大。
(2 )轻视需求分析的重要性,轻视软件维护的错误观点和方法。
(3 什么叫软件工程?3、“建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上年在第一届NATO会议上的早期定义:1968 。
有效运行的可靠软件的一系列方法”“①软件工程是:把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也年IEEE的定义:1993 就是把工程应用于软件;②进而研究①实现的途径”。
我们国家最近定义:软件工程是指导计算机软件开发和维护的工程学科。
它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。
、两种软件工程方法学开发软件时要建立哪些模型?4 软件工程方法学包括:传统方法学和面向对象方法学。
常用的开发模型有:瀑布模型(需求稳定,而且可以预先指定)原型模型(需求模糊或者随时间变化)增量模型(分析员先作出需求分析和概要设计,用户参与逐步完善)并加入了风险分析)螺旋模型(将瀑布模型与原型化模型结合起来, 喷泉模型(使开发过程具有迭代性和无间隙性)软件过程模型有哪些?简述它们的特点。
一、选择题:(每题1分,共20分)(将答案写在题号前的()中)( C )1. 软件是()。
A. 处理对象和处理规则的描述B. 程序C. 程序及其文档D. 计算机系统( B )2. 软件需求规格说明的内容不应包括()。
A. 主要功能B. 算法的详细描述C. 用户界面及运行环境D. 软件的性能( B )3. 程序的三种基本控制结构是()。
A. 过程、子程序和分程序B. 顺序、选择和重复C. 递归、迭代和回溯D. 调用、返回和转移( D) 4. 面向对象的分析方法主要是建立三类模型,即( )。
A) 系统模型、ER模型、应用模型B) 对象模型、动态模型、应用模型C) E-R模型、对象模型、功能模型D) 对象模型、动态模型、功能模型( C ) 5. 在E-R模型中,包含以下基本成分( )。
A) 数据、对象、实体B) 控制、了解、对象C) 实体、了解、属性D) 实体、属性、操作( A ) 6. 各种软件维护的类型中最重要的是( )。
A) 完善性维护B) 纠错性维护C) 适应性维护D) 预防性维护( B ) 7.软件测试的目标是()。
A. 证明软件是正确的B. 发现错误、降低错误带来的风险C. 排除软件中所有的错误D. 与软件调试相同( D )8.软件生命周期中所花费用最多的阶段是()A.详细设计 B.软件编码 C.软件测试 D.软件维护( C )9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是()A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法( D )10、详细设计的基本任务是确定每个模块的( )设计A.功能 B.调用关系 C.输入输出数据 D.算法( A )11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。
对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:()A.模块化的根据B.逐步求精的根据C.抽象的根据D.信息隐藏和局部化的根据( D )12.下面几种白箱测试技术,哪种是最强的覆盖准则()A.语句覆盖B.条件覆盖C.判定覆盖D.条件组合覆盖( A )13.面向数据流的设计方法把()映射成软件结构。
软件工程考试试题及答案一、单选题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. 简要说明软件工程的定义和特点。
答:软件工程是研究和应用一种用工程化的方法开发和维护软件的学科。
软件工程的特点包括:复杂性、可变性、不可见性、不可测性等。
复杂性指的是软件系统往往由多个模块组成、包含大量的代码和数据,并且相互之间存在复杂的关系;可变性指的是软件系统的需求和规格常常会发生变化;不可见性指的是软件系统是不存在于物理空间中的,只能通过人机交互的方式来感知;不可测性指的是软件系统的行为和性能往往难以预测和估计。
软件工程基础知识考试(答案见尾页)一、选择题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. 1周B. 2周C. 3周D. 4周9. 在软件工程中,什么是配置管理?A. 管理软件配置项的过程B. 软件开发过程中的一个活动C. 与软件开发和维护相关的所有活动的集合D. 软件开发完成后进行的活动10. 软件工程的定义是什么?A. 软件工程是一门研究用工程化方法构建和维护有效、实用和高质量的软件的学科。
B. 软件工程关注软件的开发、测试、维护和项目管理。
C. 软件工程的目标是实现软件的自动化开发。
D. 软件工程是一种实践性知识,不依赖于特定的工具或技术。
11. 软件开发过程中通常使用的模型有哪些?A. 瀑布模型B. 迭代模型C. 螺旋模型D. 面向服务的模型12. 什么是需求分析?它在软件开发过程中的作用是什么?A. 需求分析是识别和分析软件系统需要满足的条件或功能的过程。
B. 需求分析在软件开发过程中确保最终产品满足用户需求。
软件工程基础试题(精)————————————————————————————————作者:————————————————————————————————日期:11 软件工程基础一. 选择题1。
软件需求分析阶段的工作,可以分为4个方面:需求获取,需求分析,编写需求规格说明书以及(BA.用户B.需求审评C.总结D.都不正确2。
在原型法中称(A 为用户/设计者,开发人员根据用户需求不断修改原型,直到满足用户要求为止。
A.用户B.开发人员C.系统分析员D.程序员3。
下面不属于软件工程的3个要素是(DA.工具B.过程C.方法D.环境4检查软件产品是否符合需求定义的过程称为(AA.确认测试B.集成测试C.验证测试D.验收测试5.数据存储和数据流都是(D,仅仅是所处的状态不同。
A.分析结果B.事件C.动作D.数据6。
数据流图和(C 共同组成系统的逻辑模型。
A.HIPO 图B.PDLC.数据字典D.层次图7。
数据元素组成数据的方式的基本类型(DA.顺序B.选择C.循环D.以上全部8。
数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。
下列图符名标识的图符不属于数据流图合法图符的是(A 。
1 A.控制流B.加工C.数据存储D.源和潭9。
结构化分析方法就是面向(B 的自顶向下逐步求精进行需求分析的方法。
A.目标B.数据流C.功能D.对象10。
通过(B 可以完成数据流图的细化。
A.结构分解B.功能分解C.数据分解D.系统分解11。
下面不属于软件工程原则的是(CA.抽象B.模块化C.自底向上D.信息隐蔽12。
(D 是数据说明、可执行语句等程序对象的集合,它是单独命名的而且可以通过名字来访问。
A.模块化B.抽象C.精化D.模块13。
(C 是指让一些关系密切的软件元素在物理上彼此靠近。
A.信息隐蔽B.内聚C.局部化D.模块独立14。
面向数据流的设计方法把(D 映射成软件结构。
A.数据流B.系统结构C.控制结构D.信息流15。
程序流程图(PDF 中的箭头代表的是(B 。
A.数据流B.控制流C.调用关系D.组成关系16。
在进行软件结构设计时应该遵循的最主要的原理是(CA.抽象B.模块化C.模块独立D.信息隐蔽17。
在结构化方法中,软件功能分解属于软件开发中的(C 阶段。
1 A.详细设计B.需求分析C.总体设计D.编程调试18。
在测试中,下列说法错误的是(BA.测试是为了发现程序中的错误而执行程序的过程B.测试是为了表明程序的正确性C.好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案D.成功的测试是发现了至今为止尚未发现的错误的测试19。
下列工具中为需求分析常用工具是(DA.PADB.PFDC.N-S DFD20软件调试的目的是(BA.发现错误B.改正错误C.改善软件的性能D.挖掘软件的潜能21。
软件工程师一种(B 分阶段实现的软件程序开发的方法。
A.自底向上B.自顶向下C.逐步求精D.面向数据流22。
通过(B 机制,各种软件工具用统一的数据接口规范存取环境信息库的的信息。
A.软件工具箱B.环境集成C.软件管理和软件支持工具D.软件开发环境23。
在软件生命周期法中,用户的参与主要在(A 。
A 。
软件定义期B.软件开发期C.软件维护期D.整个软件生命周期过程中24。
软件定义期问题定义阶段涉及的人员有(D 。
A.用户、使用部门负责人B.软件开发人员、用户、使用部门负责人1 C.系统分析员、软件开发人员D.系统分析员、软件开发人员、用户、使用部门负责人25。
软件详细设计主要采用的方法是(A 。
A.结构化程序设计B.模型设计C.结构化设计D.流程图设计26。
(C 应考虑对模块相联和资源共享问题进行描述和制约。
A.系统设计B.详细设计C.接口控制D.结构化编辑工具27。
(A 是程序中一个能逻辑分开的部分,也就是离散的程序单位。
A.模块B.复合语句C.循环结构D.数据块28。
软件开发的原型化方法是一种动态定义软件需求的方法,下述条件中,(A 是实施原型化方法所必需的。
Ⅰ成熟的原型化人员Ⅱ快速的成型工具Ⅲ需求了解的正确性A.Ⅰ和ⅡB.Ⅱ和ⅢC.Ⅰ、Ⅱ和ⅢD.Ⅲ29。
判定树和判定表示用于描述结构化分析方法中的(B 环节的工具。
A.功能说明B.数据加工C.流程描述D.性能说明30。
概要设计的结果是提供一份(A 。
A.模块说明书B.框图C.程序D.数据流图31。
模块本身的内聚是模块独立性的重要性度量因素之一。
在7类内聚中,具有最强内聚的一类是(D 。
A.顺序性内聚B.过程性内聚C.逻辑性内聚D.功能性内聚32。
计算机软件(A 。
A.计算机系统的组成部分B.不能作为商品参与交易1 C.是在计算机硬件设备生产过程中生产出来的D.只存在于计算机系统工作时33。
数据字典是对数据定义信息的集合,它所定义的对象都包含在(A 。
A.数据流图B.程序框图C.软件结构D.方框图34.程序流程图是一种传统的程序设计表示工具,有其优点和缺点,使用该工具是应注意(C 。
A.支持逐步求精B.考虑控制流程C.遵守结构化设计原则D.数据结构表示35。
软件设计中设计复审是和设计本身一样重要的环节,其主要目的和作用是(B 。
A.减少测试工作量B.减免后期付出高代价C.保证软件质量D.缩短软件开发周期36。
软件开发的结构化分析方法,常用的描述软件功能需求的工具是(C 。
A.业务流程图、处理说明B.软件流程图、模块说明C.数据流程图、数据字典D.系统流程图、程序编码37。
软件开发的结构化设计方法,全面指导模块化分的最重要的原则应该是(C 。
A.模块高内聚B.模块低耦合C.模块独立性D.程序模块化38。
面向数据流的软件设计方法,一般是把数据流图中得数据流化分为(B 两种流,再将数据流图映射为软件结构。
A.数据流与事务流B.交换流和事务流C.信息流与控制流D.交换流和数据流39。
软件设计中,可应用于详细设计的工具有(A 。
1 A.程序流程图、PAD 、方框图和伪码B.数据流程图、PAD 、结构图和伪码C.业务流程图、N-S 图和伪码D.数据流程图、PAD 、N-S 图和伪码40。
软件工程方法的提出起源于软件危机,而其目的应该是最终解决软件的(D 问题。
A.产生危机B.质量保证C.开发效率D.生产工程化41。
软件开发的结构生命周期法的基本假定是认为软件需求能做到(C.A.严格定义B.初步定义C.早期冻结D.动态改变42。
软件工程的结构化分析方法强调的是分析开发对象的(C 。
A.数据流B.控制流C.时间限制D.进程通信43。
瀑布模型将软件生命周期归纳为个时期,即计划期、开发期和运行期。
下列(D 不属于开发期内的工作。
A.总体设计B.详细设计C.程序设计D.维护44。
软件开发的可行性研究,一般涉及经济、技术和操作的可能性,而进行可行性研究的基本依据则是用户提出的软件(B 。
A.系统质量B.系统目标C.系统功能D.系统性能45。
软件可行性分析是着重确定系统的目标和规模。
对功能、性能以及约束条件的分析应属于下列之中的(B 任务。
A.分析B.估价C.制定制度D.进度分配1 46。
软件可行性分析是着重确定系统的目标和规模。
对功能、性能以及约束条件的分析应属于下列之中的(A 。
A.经济可行性分析B.技术可行性分析C.操作可行性分析D.开发可行性分析47。
结构化方法将软件生命周期分为计划、开发和运行3个时期,下列任务中(B 属于计划时期的任务。
A.需求分析B.问题定义C.总体设计D 编码48。
耦合是软件各个模块间连接的一种度量。
一组模块都访问同一数据结构应属于(B 方式。
A.内容耦合B.公共耦合C.外部耦合D.控制耦合49。
内聚是从功能角度来度量模块内的联系,按照特定次序执行元素的模块属于(C 方式。
A.逻辑内聚B.时间内聚C.过程内聚D.顺序内聚50。
软件测试基本方法中,下列(D 不用测试实例。
A.白盒测试法B.动态测试法C.黑盒测试法D.静态测试法51。
软件管理中,需要对软件进行配置,各阶段文档的管理属于(D 。
A.组织管理B.资源管理C.计划管理D.版本管理52。
软件开发的结构化方法中,常用数据字典技术,其中数据加工是其组成内容之一,下述方法(D 是常采用编写加工说明的方法。
Ⅰ结构化语言Ⅱ判定树Ⅲ判定表A.ⅠB.ⅡC.Ⅱ、ⅢD..都是53.软件工程方法的产生源于软件危机,下列(A 是产生软件危机的内在原因。
1 Ⅰ软件的复杂性Ⅱ软件维护困难Ⅲ软件成本太高Ⅳ软件质量难保证A.ⅠB.ⅢC.Ⅰ、ⅣD.Ⅲ、Ⅳ54。
在软件工程实施中,产生软件生命周期的概念是由(A 。
A.方法论所决定的B.开发技术划分C.软件开发规律D.软件工程管理55。
结构化软件开发期将软件开发划分为3个阶段,其中关键的是(B 。
A.编码的正确性B.需求的准确性C.测试的严格性D.设计的科学性56。
在结构化方法的软件需求定义中,可采用分析工具来辅助完成。
下列工具中,(D 是常用的工具。
Ⅰ数据流图Ⅱ结构图Ⅲ数据字典Ⅳ判定表A.Ⅰ、ⅢB.Ⅱ、ⅢC.Ⅰ、Ⅱ、ⅣD.Ⅰ、Ⅲ、Ⅳ57。
软件工程的结构化分析方法具有自身的特征,下列可选内容中,(B 不具有其特征。
A.书写大量文档B.详细的界面表示C.对数据流进行分析D.冻结应用需求58.详细设计是软件总体设计滞后的工作。
下列可选内容中,(C 不属于详细设计内容。
A.算法设计B.模块设计C.屏幕设计D.功能设计59。
软件评审时保证软件质量的重要措施,它是对软件开发阶段成果的复审。
下列(A 是复审的必须内容。
Ⅰ需求复审Ⅱ总体设计复审Ⅲ详细设计复审Ⅳ程序复审A.Ⅰ、Ⅱ、ⅢB.Ⅱ、Ⅲ、ⅣC.Ⅰ、Ⅲ、ⅣD 全部60。
提高软件的可维护性可采取很多措施,下列(A 不在措施之列。
A.提供没有错误的程序B.建立质量保证制度C.改进程序文档质量D.明确软件质量标准61。
在软件开发过程中,软件结构设计是描述(B.A.数据存储结构B.软件模块体系C.软件结构测试D.软件控制过程二.填空题1软件质量与产品运行特性为,健壮性,效率,安全性,可用性,风险性和可靠性.2软件工程的目的是成功地建造大型的软件系统,主要内容是软件开发技术和软件工程管理两方面3软件开发方法的主要目的是克服软件手工生产,使软件开发能进入工程化和规范化的环境4软件工程学中除重视软件开发技术的研究外,另一重要组成内容是软件的工程管理.5瀑布模型把软件生命周期划分为软件定义,软件开发,与运行与维修3个阶段,而没个阶段又可分为若干个小更小的阶段.6软件文档是软件工程实施中的重要成分,它不仅是软件开发的各阶段的重要依据,而且也是影响软件的可维护性.7文档是软件开发人员,维护人员,用户,以及计算机之间的桥梁.8在软件生命周期的各个阶段都会产生一系列的文件,如手册,数据和程序等,他们总称为软件配置9软件工程开发的可行性研究是决定软件项目是否继续开发的关键,而可行性研究的结论主要是关于软件系统目标10.软件计划是软件开发的早期和重要阶段,此阶段要求交互和配合的是分析人员和用户人员11.可行性研究的目的是要用最小的代价,在尽可能段的时间内确定软件项目的可行性12.从可行性研究从技术可行性经济可行性,和社会可行性3各方面进行论证.13软件成本—效益分析的目的是从经济的角度评价软件项目的开发是否可行.14.在可行性研究中,要用软件的描述工具画出现行系统流程图,它反映了现行系统的基本功能和处理流程.15.流程系统图表达了系统中各个元素之间信息的流动情况.16需求分析阶段需要编写的文档有:需求规格说明书,初步用户使用手册和确认测试计划.17.软件计划包括总体设计(或概要设计和详细设计两个阶段.18.软件概要设计的成果是软件设计说明书.19.软件的详细设计,也称模块设计.它要求设计人员为每一个程序模块确定所使用的算法,数据结构,接口细节和输入,输出数据等.20.结构化分析方法是面向数据流进行分析的方法.21.在软件开发的结构化方法中,构成系统逻辑模型的是数据流和数据字典.22.数据流图是描述数据在软件中流动和被处理的过程,是软件模型的一种图示,它一般包括4种图形符号:变换/加工,外部实体,数据流向和数据储存.23.判定表是一种用以描述软件加工时组合条件的一种图示方法,一般它由条件和条件项目以及操作部和操作组成.24.数据字典有4类条目,它们是数据项,数据流,数据储存和基本加工.25.数据流图采用4种符号表示数据储存,数据源点和终点,数据流向和数据加工.26.面向数据流的软件设计中,一般是把数据流图的数据流划分为变换流和事物流27.结构化分析方法用于加工逻辑的工具有结构化语言、判定表、判定树共三种工具。