当前位置:文档之家› 软件工程考试试题 含答案

软件工程考试试题 含答案

软件工程考试试题含答案软件工程考试试题含答案

一. 选择题

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、msconfig命令可以用来配置()。 A、系统配置 B、服务配置 C、应用配置 D、协议配置 答案:A 2、下列 _____ 不是网络操作系统。 A、Windows NT Server B、Unix C、DOS D、NetWare 答案:C 3、A方有一对密钥(KA公开,KA秘密),B方有一对密钥(KB公开,KB 秘密),A方向B方发送数字签名M,对信息M加密为:M’= KB公开(KA秘密(M))。B方收到密文的解密方案是()。 A、KB公开(KA秘密(M’)) B、KA公开(KA公开(M’)) C、KA公开(KB秘密(M’)) D、KB秘密(KA秘密(M’)) 答案:C 4、3个结点可构成()棵不同形态的二叉树。 A、2 B、3 C、4 D、5 答案:D 5、系统死锁的可能的原因是 A、进程死循环 B、资源循环等待 C、程序内存访问越界 D、进程释放资源 答案:B 6、下列哪一种方法在支持向量机中有应用 A、极大似然估计

B、最小二乘法 C、拉格朗日乘子法 D、二分法 答案:C 7、下列哪个是有监督算法 A、决策树 B、K-means C、DBSCAN D、聚类算法 答案:A 8、下面关于面向对象方法中消息的叙述,不正确的是()。 A、键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息 B、操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息 C、应用程序之间可以相互发送消息 D、发送与接收消息的通信机制与传统的子程序调用机制不同 答案:B 9、计算机中的执行过程是_________。①取指令②执行指令③修改指令计数器④指令译码 A、①②③④ B、①④②③ C、④③②① D、①③②④ 答案:B 10、网络安全法规定,网络运营者应当制定(),及时处置系统漏洞、计算机病毒、网络攻击、网络侵入等安全风险。 A、网络安全事件应急预案 B、网络安全事件补救措施 C、网络安全事件应急演练方案 D、网络安全规章制度 答案:A 11、设顺序线性表的长度为30,分成5块,每块6个元素,如果采用分块查找,则其平均查找长度为 A、6 B、11

软件工程习题及答案

一、选择题: 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、1/6 B、1/5 C、1/4 D、1/3 7. 变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于。 A、变换型 B、事务型 8. PAD (Problem Analysis Diagram)图是一种工具。 A、系统描述 B、详细设计 C、测试 D、编程辅助 9. 分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的。 A、总貌 B、细节 C、抽象 D、软件的作者 10. 数据流图中,当数据流向或者流自文件时,。 A、数据流要命名,文件不必命名 B、数据流不必命名,有文件名就足够了 C、数据流和文件均要命名,因为流出和流进数据流是不同的 D、数据流和文件均不要命名,通过加工可自然反映出

软件工程考试试题(含答案)

软件工程考试试题(含答案) 软件工程考试试题(含答案) 1. 简答题 1.1 请简述软件生命周期模型,包括传统瀑布模型和敏捷开发模型。 传统瀑布模型: 软件生命周期模型的一种经典模型,包含需求分析、系统设计、 编码、测试和运维等阶段,每个阶段完成后才能进入下一个阶段。 优点: - 易于理解和使用; - 需求固定,有利于计划和控制; 缺点: - 需求变更困难; - 风险高,需求出错难以弥补; - 开发周期长,无法满足紧迫的需求。 敏捷开发模型: 一种适应快速变化需求的软件开发模型,主要包括用户故事编写、迭代开发、持续集成和自动化测试等实践。 优点:

- 高度适应变化; - 可以提供早期可用软件; - 强调团队合作和沟通; 缺点: - 需要高度的客户参与度; - 需要经验丰富的开发团队; - 不适用于大型项目。 1.2 什么是需求工程?请简述需求工程的过程和方法。 需求工程: 需求工程是软件开发过程中用来获取、分析、定义和验证系统需 求的过程。它的目标是建立对用户需求的准确和完整的理解。 需求工程的过程: 1. 需求获取:通过与用户、利益相关者沟通和交流获取用户需求。 2. 需求分析:对需求进行分析、整理,形成需求的详细描述。 3. 需求定义:将需求进行文档化,包括功能需求、非功能需求等。 4. 需求验证:通过原型、模型或评审等方式验证需求的正确性和 完整性。 需求工程的方法:

- 面谈法:与用户、利益相关者进行面对面的交谈,获取需求信息。 - 观察法:观察用户的工作环境和行为,了解其需要的功能和约束 条件。 - 文献研究法:通过研究现有的相关文档来获取需求信息。 - 原型法:通过创建原型,让用户提供反馈并进一步明确需求。 2. 算法设计题 有一组整数,编写一个算法将这组整数按照从小到大的顺序进行排序。 算法设计: 1. 将整数数组按照从小到大的顺序进行排序。 2. 使用冒泡排序算法: - 比较相邻的两个数,如果前一个数大于后一个数,则交换它们 的位置。 - 重复上述操作,直到没有任何交换发生,即数组已经按照从小 到大的顺序排列好。 算法实现: ```python def bubble_sort(nums): n = len(nums)

软件工程试题及答案

软件工程试题及答案 第一篇:软件工程试题及答案 1、瀑布模型把软件生命周期划分为8个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和(运行阶段)。 2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,(需求分析阶段)出错,对软件的影响最大。 3、在结构化的瀑布模型中,(需求分析阶段)定义的标准将成为软件测试中的系统测试阶段的目标。 4、软件工程的出现主要是由于(软件危机的出现)。 5软件工程方法学的目的:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是软件开发工具和软件开发的环境。 6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为相互补充。 7、UML是软件开发中的一个重要工具,它主要应用于基于对象的(面向对象)的方法。 8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(原型化方法)。 9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的(数据流)。 10、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(编码阶段)。 11、软件开发模型是指软件开发的全部过程、活动和任务的结构框架。主要的开发模型有瀑布模型、演化模型、螺旋模型、喷泉模型和智能模型。螺旋模型将瀑布模型和演化模型相结合,并增加了(风险分析),它建立在()的基础上,沿着螺线自内向外每旋转一圈,就得到(原型)的一个新版本。喷泉模型描述了(面向对象)的开发模型,它体现

软件工程考试试题(含答案)

一、选择题:(每题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.面向数据流的设计方法把()映射成软件结构。 A.数据流B.系统结构C.控制结构D.信息流 ( A )14.内聚程度最低的是( )内聚 A.偶然 B.过程 C.顺序 D.时间 ( A )15.确定测试计划是在( )阶段制定的.

软件工程 期末试题及答案

软件工程期末试题及答案 第一节:选择题 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. 下列不属于软件工程方法论的是: 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. 什么是软件需求工程?为什么软件需求工程是软件开发的关键环节?

软件工程期末考试试卷附答案

软件工程期末考试试卷附答案 一. 选择题(每题4分,共30题,总分120分) 1. 软件工程的目标是什么? A. 提高软件开发效率和质量 B. 实现软件系统的功能需求 C. 加快软件产品的上市时间 D. 增加软件系统的用户体验 答案:A 2. 软件生命周期模型有哪些? A. 瀑布模型 B. 原型模型 C. 敏捷开发模型 D. 螺旋模型 答案:A、B、C、D 3. 在软件工程中,需求工程的任务是什么? A. 收集用户需求 B. 分析用户需求

C. 规划需求开发过程 D. 验证和确认需求 答案:A、B、C、D 4. 软件配置管理是指什么? A. 管理软件的需求变更 B. 管理软件的源代码 C. 管理软件的版本迭代 D. 管理软件的错误修复 答案:B、C、D 5. 软件测试的目的是什么? A. 发现软件中的错误和缺陷 B. 验证软件是否满足用户需求 C. 提高软件的可靠性和质量 D. 减少软件开发时间和成本答案:A、B、C 6. 软件维护是指什么? A. 修复发现的软件错误

B. 优化软件的性能和效率 C. 更新软件的功能和特性 D. 软件系统的日常管理和支持 答案:A、B、C、D 7. 软件风险管理包括哪些活动? A. 风险识别和评估 B. 风险规避和转移 C. 风险监控和控制 D. 风险应对和应急处理 答案:A、B、C、D 8. 软件工程的核心原则是什么? A. 解释性和可行性原则 B. 详细性和可测性原则 C. 可维护性和可扩展性原则 D. 可重复性和可验证性原则 答案:B、C、D 9. UML(统一建模语言)是用来做什么的?

A. 描绘软件系统的静态结构 B. 描述软件系统的行为和交互 C. 绘制软件系统的数据流程 D. 显示软件系统的部署结构 答案:A、B、C、D 10. 软件工程中的项目管理包括哪些主要过程? A. 项目计划和进度管理 B. 项目风险和质量管理 C. 项目需求和配置管理 D. 项目团队和沟通管理 答案:A、B、C、D 11. 软件度量是用来做什么的? A. 评估软件产品的质量 B. 监控软件开发的进展 C. 改进和优化软件工艺 D. 比较不同软件的性能 答案:A、B、C、D

软件工程期末试卷(十套含答案)

软件工程期末试题(一) 单项选择题 1.瀑布模型的存在问题是(B ) A.用户容易参与开发B.缺乏灵活性 C.用户与开发者易沟通D.适用可变需求 2.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C ) A.软件工程 B.软件周期 C.软件危机 D.软件产生 3.数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺序是( B ) A.数据、公共、标记、控制 B.数据、标记、控制、公共 C.控制、数据、标记、公共 D.控制、数据、公共、标记 4.在SD方法中全面指导模块划分的最重要的原则是( D ) A.程序模块化 B.模块高内聚 C.模块低耦合 D.模块独立性 5.软件测试的目的是( B )。 A.评价软件的质量 B. 发现软件的错误 C.找出软件的所有错误 D. 证明软件是正确的 6.在设计测试用例时,( A )是用得最多的一种黑盒测试方法。 A.等价类划分 B. 边界值分析 C. 因果图 D. 判定表 7. 需求分析最终结果是产生( B )。 A. 项目开发计划 B. 需求规格说明书 C. 设计说明书 D. 可行性分析报告 8. Jackson图中,模块框之间若有直线连接,表示它们之间存在(B )。 A. 调用关系 B. 组成关系 C. 链接关系 D. 顺序执行关系 9. 软件详细设计的主要任务是确定每个模块的( C )。 A. 功能 B. 外部接口 C. 算法和使用的数据结构 D. 编程 10.为了提高软件的可维护性,在编码阶段应注意( D ) A.保存测试用例和数据 B.提高模块的独立性 C.文档的副作用 D.养成好的程序设计风格 11.设年利率为i,现存入p元,若计复利,n年后可得钱数为(B) A.p﹡(1+i﹡n) B.p﹡(i+1)n C.p﹡(1+i)﹡n D.p﹡(i+n) 12.在考察系统的一些涉及时序和改变的状态时,要用动态模型来表示。动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是(A )。 A .状态图 B. 数据流图 C. 系统结构图 D. 时序图

软件工程-期末考试题(含答案)

软件工程-期末考试题(含答案)软件工程-期末考试题(含答案) 1. 题目一:软件需求工程 软件需求工程是软件开发的重要环节之一,主要包括需求获取、需 求分析、需求规格、需求验证等阶段。在软件开发的整个过程中,需 求工程的目标是确保开发出的软件能够满足用户的需求,同时保证软 件的质量和可靠性。 1.1 需求获取 需求获取是软件需求工程的第一步,它涉及到对用户的需求进行调 研和收集。需求获取的方法可以包括面谈、问卷调查、观察等。通过 与用户的沟通和了解,开发团队可以获取到用户对软件的期望和需求,为后面的分析和规格阶段提供依据。 1.2 需求分析 需求分析是对收集到的需求进行认真分析和理解的过程。在这个阶段,开发团队将准确定义软件所需具备的功能、性能和约束。通过对 需求的分析,可以帮助开发团队更好地理解用户的需求,并将其转化 为可执行的任务。 1.3 需求规格 需求规格是将需求分析的结果进行详细描述和规范化的过程。在这 个阶段,开发团队需要将需求规格书写成可读、可理解的形式,以便

于开发人员进行后续的开发工作。需求规格书通常包括用例图、类图、时序图等各种工具和技术。 1.4 需求验证 需求验证是对需求的正确性和完整性进行验证的过程。在这个阶段,开发团队需要与用户进行确认,确保所开发的软件能够满足用户的期 望和需求。需求验证也可通过模拟测试、原型验证等方式进行。 2. 题目二:软件设计原则 软件设计原则是开发人员编写高质量软件的指导原则,旨在提高软件的可维护性、可扩展性和可重用性。下面介绍几个常用的软件设计 原则。 2.1 单一职责原则 单一职责原则(SRP)要求每个类或模块只负责一种功能或职责。 这样可以保持代码的简洁性和可读性,并使得类或模块更加易于维护 和扩展。 2.2 开放封闭原则 开放封闭原则(OCP)要求软件实体(类、模块、函数等)应该对 扩展开放,对修改封闭。这样可以使得软件设计能够适应需求的变化,而不需要修改原有的代码。 2.3 里氏替换原则

计算机科学与技术-软件工程试题及答案

软件工程(考试时长:60分钟) 1-5:CDCCC 6-10:ADABD 11-15:BCAAD 16-20:CBCCA 21-25:DBDCC 26-30:CCBAA 31-35:DACDB 36-40:BDBBB 41-45:CAACB 46-50:DABBD 一、单选题 1. 在单一处理器上,将执行时间有重叠的几个程序称为(2分) A :顺序程序 B :多道程序 C :并发程序 D :并行程序 2. 在作业调度算法中,兼顾了短作业与长作业。(2分) A :先来先服务 B :计算时间最短优先 C :均衡调度 D :最高响应比优先 3. 若从二叉树的任一结点出发到根的路径上所经过的结点序列按其关键字有序,则该二叉树是(2分) A :满二叉树

B :哈夫曼树 C :堆 D :二叉查找树 4. 快速排序方法在情况下最不利于发挥其长处(2分) A :要排序的数据量太大 B :要排序的数据中含有多个相同值 C :要排序的数据已基本有序 D :要排序的数据个数为整数 5. 已经获得除以外的所有运行所需资源的进程处于就绪状态。(2分) A :存储器 B :打印机 C :CPU D :内存空间 6. 在处理机管理中,进程是一个重要的概念,它由程序块、(3) 和数据块三部分组成(2分)

A :进程控制块 B :作业控制块 C :文件控制块 D :设备控制块 7. 用户通过直接在终端控制作业的执行。(2分) A :C语言 B :汇编语言 C :操作控制命令 D :作业控制语言 8. 一组记录的排序码为{25,48,16,35,79,82,23,40,36,72},其中,含有5个长度为2的有序表,按归并排序方法对该序列进行一趟归并后的结果为(2分) A :16,25,35,48,23,40,79,82,36,72 B :16,25,35,48,23,40,79,82,36,72 C :16,25,48,35,79,82,23,36,40,72

软件工程(期末试题及答案)

软件工程(期末试题及答案)软件工程(期末试题及答案) 一、选择题(共20题,每题2分,共40分) 1. 在软件工程中,以下哪一项不是七大工程()。 A. 软件需求 B. 软件设计 C. 软件开发 D. 软件维护 答案: D 2. 软件需求分析的目的是()。 A. 理解用户需求 B. 设计软件架构 C. 编写用户手册 D. 测试软件功能 答案: A 3. 软件开发过程中的迭代模型,不存在的是()。 A. 瀑布模型

B. 敏捷开发模型 C. 螺旋模型 D. 喷泉模型 答案: D 4. 以下哪个不是软件测试的目的()。 A. 发现错误和缺陷 B. 验证软件是否满足需求 C. 评估软件的可靠性和质量 D. 优化软件的性能 答案: D 5. 软件项目管理中,以下哪种方法适用于大型复杂项目()。 A. 瀑布模型 B. 敏捷开发 C. 增量模型 D. 螺旋模型 答案: D 6. 软件开发生命周期中,以下哪个过程不属于()。

A. 需求分析过程 B. 设计过程 C. 编码过程 D. 运维过程 答案: D 7. 在软件工程中,什么是软件测试()。 A. 软件开发的最后阶段 B. 发现软件缺陷的过程 C. 确保软件质量的控制过程 D. 软件最终验收的流程 答案: C 8. 以下哪种测试方法旨在评估软件在不同负载下的性能和稳定性()。 A. 单元测试 B. 集成测试 C. 系统测试 D. 性能测试 答案: D

9. 软件开发中,以下哪个活动不属于软件配置管理()。 A. 版本控制 B. 配置变更控制 C. 缺陷管理 D. 代码评审 答案: D 10. 以下哪个是敏捷开发的基本原则()。 A. 面对面交流胜过文档 B. 完全按照计划进行 C. 精确的需求分析是关键 D. 严格的变更控制是必要的 答案: A 11. 下列哪个不属于软件配置管理的内容()。 A. 变更控制 B. 版本控制 C. 缺陷管理 D. 运维管理

软件工程考试试题与答案

专业:移动通信科目:软件工程 一、单项选择题 1.好的软件结构应该是〔〕 A.低耦合、低内聚 B.高耦合、高内聚 C.高耦合、低内聚 D.低耦合、高内聚 答案:D 2.需求分析中开发人员要从用户那里了解〔〕 A.软件的规模 B.软件做什么 C.用户使用界面 D.输入的信息 答案:B 3.软件调试技术包括〔〕 A.演绎法 B.循环覆盖 C.边界值分析 D.集成测试 答案:A 4.软件需求规格说明书的内容不应包括对〔〕的描述. A.用户界面与运行环境 B.主要功能 C.算法的详细过程 D.软件的性能 答案:C 5.常用动词或动词词组来表示〔〕 A.属性 B.关联 C.类 D.对象 答案:B 6.软件可行性研究实质上是要进行一次〔〕需求分析、设计过程. A.详细的 B.深入的 C.彻底的 D.简化、压缩的 答案:D 7.软件部分的内部实现与外部可访问性分离,这是指软件的〔〕A.继承性 B.共享性 C.抽象性 D.封装性 答案:D

8.软件部分的内部实现与外部可访问性分离,这是指软件的〔〕 A.共享性 B.继承性 C.抽象性 D.封装性 答案:D 9.在详细设计阶段,经常采用的工具有〔〕 A.PDL B.DFD C.SC D.SA 答案:A 10.数据字典是对数据定义信息的集合,它所定义的对象都包含于〔〕 A.软件结构 B.程序框图 C.方框图 D.数据流图 答案:D 11.软件工程结构化生命周期方法,提出将软件生命周期划分为计划、开发和运行三个时期,下述〔〕工作应属于软件开发期的内容. A.问题定义 B.可行性研究 C.都不是 D.总体设计 答案:D 12.应用执行对象的操作可以改变该对象的〔〕 A.功能 B.数据 C.属性 D.行为 答案:C 13.软件质量因素不包括〔〕 A.可理解性 B.可测试性 C.正确性 D.高性能 答案:D 14.软件可行性研究实质上是要进行一次〔〕需求分析、设计过程. A.详细的 B.彻底的 C.深入的 D.简化、压缩的 答案:D 15.结构化设计是一种面向〔〕的设计方法.

软件工程期末试题(含答案)

软件工程期末试题(含答案) 软件工程期末试题(含答案) 1. 选择题 (1) 在软件开发过程中,以下哪个活动是与需求分析相关的? A. 代码编写 B. 测试 C. 需求验证 D. 项目规划 答案:C (2) 在敏捷开发方法中,以下哪个原则强调“面对面交流”? A. 个体和交互高于工具和过程 B. 客户合作高于合同谈判 C. 可以交付的软件高于详尽的文档 D. 响应变化高于遵循计划 答案:A 2. 简答题 (1) 简述软件开发生命周期的阶段及每个阶段的主要任务。

答案:软件开发生命周期主要包括需求分析、设计、编码、测试 和维护阶段。需求分析阶段的主要任务是收集用户需求、进行需求分 析和规格说明;设计阶段的主要任务是根据需求进行软件的整体架构 设计、模块设计等;编码阶段的主要任务是根据设计文档进行程序代 码的编写;测试阶段的主要任务是对软件进行功能、性能、兼容性等 各方面的测试;维护阶段的主要任务是修复软件中的缺陷、升级功能等。 (2) 什么是软件需求?简述软件需求分析的过程。 答案:软件需求是对软件系统的功能、性能、接口、约束和设计 约束条件的描述。软件需求分析是指对软件需求进行识别、获取、明 确和规格说明的过程。其过程包括以下几个步骤: a. 需求获取:通过与用户交流、收集现有文档等方式,获取软件 需求相关的信息; b. 需求分析:对获取的软件需求进行整理和分类,识别出需求之 间的关联和依赖关系; c. 需求明确:明确每个需求的具体含义,确保需求描述准确清晰; d. 需求规格说明:将明确的需求进行形式化的规格说明,以便后 续的设计和开发工作。 3. 论述题

软件工程考试题(含答案)

软件工程考试题 简答题 1、什么叫软件? 软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合 2、什么叫软件危机?软件危机包含哪两点?软件危机产生的原因是什么? 软件危机是指在计算机软件开发与维护过程中所遇到的一系列严重问题。包括两点: (1)如何开发软件,以满足对软件日益增长的需求; (2)如何维护数量不断膨胀的已有软件。 软件开发和维护过程中存在的许多严重问题,一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。具体表现如下: (1)软件是逻辑部件而不是物理部件。 (2)软件的规模越来越大,复杂性越来越大。 (3)轻视需求分析的重要性,轻视软件维护的错误观点和方法。 3、什么叫软件工程? 1968年在第一届NATO会议上的早期定义:“建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法”。 1993年IEEE的定义:“①软件工程是:把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②进而研究①实现的途径”。 我们国家最近定义:软件工程是指导计算机软件开发和维护的工程学科。它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。 4、两种软件工程方法学开发软件时要建立哪些模型? 软件工程方法学包括:传统方法学和面向对象方法学。常用的开发模型有: 瀑布模型(需求稳定,而且可以预先指定) 原型模型(需求模糊或者随时间变化) 增量模型(分析员先作出需求分析和概要设计,用户参与逐步完善) 螺旋模型(将瀑布模型与原型化模型结合起来,并加入了风险分析) 喷泉模型(使开发过程具有迭代性和无间隙性) 5、软件过程模型有哪些?简述它们的特点。 过程模型分为五大类:1.管理过程模型。2.瀑布模型(又称为生命周期模型)。3.增量过程模型:包括增量模型,,RAD模型。4.烟花过程模型:包括原型开发模型,螺旋模型,协同开发模型。5.专用过程模型:包括机遇构建的开发模型,形式化方法模型,面向方面的软件开发模型。 6、什么是软件生命周期? 一个软件从定义,开发,使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长时期称为生命周期 7、软件生命周期有哪几个阶段和步骤? 三个阶段:定义、开发、维护 八个步骤:问题定义、可行性研究、需求分析;总体设计、详细设计、编码与单元测试、综合测试;运行维护。 8、计算机软件的开发经过哪三个大阶段? 三个阶段:定义、开发、维护 9、软件开发的各阶段的任务是什么? 定义阶段:问题定义--任务:关于规模和目标的报告书;可行性研究--任务:系统的高层逻辑模型:数据流图,成本/效益分析;需求分析--任务:系统的逻辑模型:数据流图,数据字典,算法描述。 开发阶段:总体设计--任务:系统流程图,成本/效益分析,推荐的系统结构:层次图/结构图;详细设计--任务:HIPO 图或PDL图;编码和单元测试--任务:源程序清单,单元测试方案和结果;综合测试--任务:综合测试方案,结果集成测试,验收测试,完整一致的软件配置。

软件工程考试试题含答案

软件工程考试试题含答 案 文稿归稿存档编号:[KKUY-KKIO69-OTM243-OLUI129-G00I-FDQS58-

一、填空题(每空1分,共25分) 1.软件生存周期一般可以划分为,问题定义、____________、____________、设计、 编码、测试和____________。 2.基于软件的功能划分,软件可以划分成__________、__________、__________三 种。 3.可行性研究,应从、技术可行性、运行可行性、和开 放方案可行性等方面研究。 4.系统流程图是描绘的传统工具。它的基本思想是用图形符号以 描绘系统里面的每个部件。 5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、、 和。 6.结构化分析方法是面向________________进行需求分析的方法。结构化分析方法使 用________________与________________来描述。 7.是自动地共享类、子类和对象中的方法和数据的机制。 8.软件详细设计工具可分为3类,即________________、________________和 ________________。 9.为了在软件开发过程中保证软件的质量,主要采取下述措施:________________、 复查和管理复审、________________。 10.大型软件测试包括、、确认测试和 四个步骤。 1、可行性研究需求分析运行与维护 2、系统软件支撑软件应用软件 3、经济可行性法律可行性 4、物理系统黑盒子形式

5、加工数据流数据存储文件 6、数据流数据流图DFD 数据字典DD 7、继承性 8、图示工具、设计语言表格工具 9、审查测试 10、单元测试集成测试系统测试 二、单项选择题(每小题2分,共20分) 1.软件设计中划分模块的一个准则是()。 A、低内聚低耦合 B、低内聚高耦合 C、高内聚低耦合 D、高内聚高耦合 2.Jackson设计方法是由英国的M. Jackson提出的,它是一种面向()的软 件设计方法。 A、对象 B、数据流 C、数据结构 D、控制结构 3.试判断下列叙述中,哪个(些)是正确的( )。 a、软件系统中所有的信息流都可以认为是事务流 b、软件系统中所有的信息流都可以认为是变换流 c、事务分析和变换分析的设计步骤是基本相似的 A、a? B、b? C、c D、b和c

软件工程题库(含答案)

软件工程题库 初级 一、填空题 1、在Word中,必须在视图方式或打印预览中才会显示出用户设定的页眉和页脚。 2、在Word中,只有在视图下可以显示水平标尺和垂直标尺。 3、在Excel 中,一个工作簿至多可由张工作表构成。 4、Excel中,已输入的数据清单含有字段:学号、姓名和成绩,若希望只显示成绩处于前5名的学生信息,可以使用()功能。 5、计算机的是指计算机主板上的各个总线的工作频率,计算机的是指计算机中的中央处理器(CPU)工作频率。 二、单选题(每题只有一个正确答案,多选或不选均不能得分) 1、硬盘工作时应特别注意避免() A.噪声 B.震动 C.潮湿 D.日光 2、在Word中,当多个文档打开时,关于保存这些文档的说法中正确的是() A.只能保存活动文档 B.用“文件”菜单的“保存”命令,可以重命名保存所有文档 C.用“文件”菜单的“保存”命令,可一次性保存所有打开的文档 D.用“文件”菜单的“全部保存”命令保存所有打开的文档 3、微型计算机中,I/O设备的含义是() A.输入设备 B.输出设备 C.输入输出设备 D.控制设备 4、关于“开始”菜单,说法正确的是()

A.“开始”菜单的内容是固定不变的 B.可以在“开始”菜单的“程序”中添加应用程序,但不可以在“程序”中添加 C.“开始”菜单和“程序”里面都可以添加应用程序 D.以上说法都不正确 5、下列操作中,不能在Excel工作表的选定单元格中输入公式的是() A.单击工具栏中的“粘贴函数”按钮 B.单击“插入”菜单中的“函数”命令 C.单击“编辑”菜单中的“对象…”命令 D.单击“编辑公式”按钮,在从左端的函数列表中选择所需函数 6、内存储器是计算机系统中的记忆设备,它主要用于( )。 A.存放数据 B.存放程序 C.存放数据和程序 D.存放地址 7、在Word中,"窗口"下拉菜单底部所显示的文件名是( )。 A.已关闭文件的文件名 B.正在打印的文件名 C.扩展名为DOC的文件名 D.打开的所有文件的文件名 8、Windows的"桌面"指的是( )。 A.整个屏幕 B.全部窗口 C.某个窗口 D.活动窗口 9、在Word中查找和替换正文时,若操作错误则( )。 A.可用"撤销"来恢复 B.必须手工恢复 C.无可挽回 D.有时可恢复,有时就无可挽回 10、在EXCEL的打印页面中,增加页眉和页脚的操作是() A.执行[文件]菜单中的[页面设置],选择[页眉/页脚] B.执行[文件]菜单中的[页面设置],选择[页面] C.执行[插入]菜单中的[名称],选择[页眉/页脚]

软件工程试卷及答案多套试卷

软件工程试题及答案 第一部分选择题 一、单项选择题每小题1分,共20分.(在每小题(de)四个选项中只有一个选项是符合题目要求(de),请将正确选项前(de)字母填在题后(de)括号内) 1.在下列工具与环境中()属于较早期(de)CASE. A.基于信息工程CASE B.人工智能CASE C.结构(de)基于图形CASE D.集成(de)CASE环境 2.Putnam成本估算模型是一个()模型. A.静态单变量 B.动态单变量 C.静态多变量 D.动态多变量 3.在McCall软件质量度量模型中,()属于面向软件产品修改. A.可靠性 B.可重用性C.适应性 D.可移植性 4.ISO(de)软件质量评价模型由3层组成,其中用于评价设计质量(de)准则是() A.SQIC B.SQMC C.SQRC D.SQDC 5.软件复杂性度量(de)参数包括() A.效率 B.规模 C.完整性 D.容错性6.对象实现了数据和操作(de)结合,使数据和操作()于对象(de)统一体中. A.结合 B.隐藏C.封装 D.抽象

7.软件调试技术包括() A.边界值分析 B.演绎法 C.循环覆盖 D.集成测试 8.瀑布模型(de)存在问题是() A.用户容易参与开发B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求 9.软件测试方法中(de)静态测试方法之一为() A.计算机辅助静态分析 B.黑盒法 C.路径覆盖 D.边界值分析10.软件生命周期中所花费用最多(de)阶段是() A.详细设计 B.软件编码 C.软件测试D.软件维护 11.第一个体现结构化编程思想(de)程序设计语言是() A.FORTRAN语言B.Pascal语言 C.C语言D.PL/1语言 12.程序(de)三种基本控制结构是() A.过程、子程序和分程序B.顺序、选择和重复 C.递归、堆栈和队列D.调用、返回和转移 13.在详细设计阶段,经常采用(de)工具有() A.PAD B.SA C.SC D.DFD 14.详细设计(de)结果基本决定了最终程序(de)() A.代码(de)规模 B.运行速度 C.质量 D.可维护性

软件工程试卷(附答案)

软件工程试卷(附答案) 软件工程试卷(附答案) 一、选择题 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. 请简要介绍软件需求分析的主要任务和方法。 需求分析是软件开发过程中的重要环节,主要任务有以下几点: - 确定软件的功能需求:通过与用户、项目管理人员和领域专家的 沟通,了解用户对软件的需求和期望,并将其转化为明确的功能需求。 - 确定软件的非功能需求:包括性能、安全性、可靠性等方面的要求,以确保软件具备所需的质量属性。

软件-工程 期末考试题(含答案)

一、选择题 1.瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和_。 ( C ), A .详细计划 B .可行性分析 C .运行阶段 D. 测试与排错 2.在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试年勺系统测试阶段的目标( A ) A .需求分析阶段 B .详细设计阶段 C.概要设计阶段 D .可行性研究阶段, 3.软件工程的出现主要是由于(C ) , A.程序设计方法学的影响 B.其它工程科学的影响 C.软件危机的出现 D.计算机的发展, 4.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实旅的主要保证是(C) A.硬件环境 B.软件开发的环境 C.软件开发工具和软件开发的环境 D.开发人员的素质 5.软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为(B) A.相互排斥B相互补充C独立使用 D.交替使用 6.UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C) A.基于瀑布模型的结构化方法 B.基于需求动态定义的原型化方法C.基于对象的面向对象的方法 D.基于数据的数据流开发方法 7.在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(B) A.结构化方法B原型化方法C面向对象的方法 D.控制流方法 8.结构化分析方法是一个预先严格定义需求的方法,它在实施时强调的是分析对象的(B) A.控制流 B.数据流 C.程序流 D.指令流 9.软件开发的结构化生命周期方法将软件生命周期划分成(A) A.计划阶段.开发阶段.运行阶段 B.计划阶段.编程阶段.测试阶段 C.总体设计.详细设计.编程调试 D.需求分析.功能定义.系统设计 10.软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(C)

相关主题
文本预览
相关文档 最新文档