当前位置:文档之家› 软件工程期末考试参考题及答案

软件工程期末考试参考题及答案

软件工程期末考试参考题及答案

1. 考试题目:软件需求工程

考试要求:根据给定的需求文档,完成以下题目。

题目一:

根据给定的需求文档,设计一个在线购物系统。请根据以下要求完成系统设计:

(1)使用UML类图绘制系统的类结构;

(2)使用UML时序图描述用户登录和浏览商品的流程;

(3)使用UML活动图描述用户下订单的流程。

答案:

(1)类图如下所示:

[在这里插入UML类图图片]

(2)时序图如下所示:

[在这里插入UML时序图图片]

(3)活动图如下所示:

[在这里插入UML活动图图片]

题目二:

根据给定的需求文档,设计一个在线学习系统。请根据以下要求完成系统设计:

(1)使用UML用例图描述系统的功能需求;

(2)使用UML活动图描述学生完成在线学习的流程;

(3)使用UML状态图描述学生的学习状态变化。

答案:

(1)用例图如下所示:

[在这里插入UML用例图图片]

(2)活动图如下所示:

[在这里插入UML活动图图片]

(3)状态图如下所示:

[在这里插入UML状态图图片]

2. 考试题目:软件设计模式

考试要求:根据给定的题目,选择并解答以下问题。

题目一:

分析以下代码,判断其使用了哪种设计模式,并阐述该设计模式的作用和优势。

```java

public interface Car {

void drive();

}

public class Sedan implements Car {

@Override

public void drive() {

System.out.println("Driving a sedan car."); }

}

public class SUV implements Car {

@Override

public void drive() {

System.out.println("Driving an SUV car."); }

}

public class CarFactory {

public Car createCar(String type) {

if (type.equals("sedan")) {

return new Sedan();

} else if (type.equals("suv")) {

return new SUV();

} else {

throw new IllegalArgumentException("Invalid car type: " + type);

}

}

}

```

答案:

该代码使用了工厂模式。工厂模式的作用是将对象的创建和使用分离,客户端只需通过工厂类来创建对象,而不需要直接依赖具体类。这样做的优势是提供了更好的可扩展性和灵活性,当需要添加新的车型时,只需要扩展Car接口和对应的实现类,并修改CarFactory类以支持新的车型即可。

题目二:

对于以下情景,请选择适合的设计模式,并说明理由。

某个软件系统中,需要对不同类型的文件进行解析和处理,包括Excel、Word和PDF文件。系统需要支持动态扩展,以便将来能够方便地加入更多类型的文件解析器。

答案:

适合使用策略模式。策略模式能够将各类算法封装成独立的策略类,客户端通过选择策略类进行文件解析和处理。对于不同类型的文件,

可以针对每种类型设计一个具体的策略类。这样做的好处是,系统具

有较高的扩展性,可以方便地添加新的文件类型的解析器策略。同时,也符合开闭原则,对扩展开放,对修改关闭。

3. 考试题目:软件测试与质量保证

考试要求:根据题目要求,回答以下问题。

题目一:

给定以下测试用例,使用黑盒测试方法设计测试数据,覆盖尽可能

多的测试场景。

```java

public boolean isValidEmail(String email) {

if (email == null) {

return false;

}

int atIndex = email.indexOf("@");

int dotIndex = https://www.doczj.com/doc/0d19499170.html,stIndexOf(".");

if (atIndex <= 0 || dotIndex <= atIndex || dotIndex >= email.length() - 1) {

return false;

}

return true;

}

```

答案:

下面是设计的测试用例及相应的测试数据:

1. email为null,期望结果为false。

2. email中不包含"@",期望结果为false。

3. email中包含多个"@",期望结果为false。

4. email中不包含".",期望结果为false。

5. email中最后一个"."在"@"之前,期望结果为false。

6. email中最后一个"."在邮件地址的末尾,期望结果为false。

7. email的格式正确,期望结果为true。

题目二:

通过代码复审,列举至少三个常见的代码缺陷,并说明其影响以及修复方法。

答案:

常见的代码缺陷包括:

1. 空指针异常:当程序在使用一个空对象时,会抛出空指针异常。修复方法是在使用对象之前进行非空判断。

2. 数组越界异常:当程序尝试访问数组中不存在的索引位置时,会抛出数组越界异常。修复方法是在访问数组元素之前,判断索引是否合法。

3. 逻辑错误:程序中的逻辑错误可能导致错误的结果或未预期的行为。修复方法是仔细检查代码逻辑,确保其与预期一致,并进行相应的调整。

总结:

本文介绍了软件工程期末考试中关于软件需求工程、软件设计模式以及软件测试与质量保证的参考题目及答案。在软件需求工程部分,主要介绍了在线购物系统和在线学习系统的设计要求,并给出了相应的解答。在软件设计模式部分,选取了工厂模式和策略模式的题目,并详细解释了其作用和优势以及适用的情景。在软件测试与质量保证部分,给出了针对代码进行黑盒测试的例子,同时列举了常见的代码缺陷以及修复方法。这些问题的解答能够帮助学生更好地理解软件工程领域的知识,并在实践中应用。

软件工程期末考试参考题及答案

软件工程期末考试参考题及答案 1. 考试题目:软件需求工程 考试要求:根据给定的需求文档,完成以下题目。 题目一: 根据给定的需求文档,设计一个在线购物系统。请根据以下要求完成系统设计: (1)使用UML类图绘制系统的类结构; (2)使用UML时序图描述用户登录和浏览商品的流程; (3)使用UML活动图描述用户下订单的流程。 答案: (1)类图如下所示: [在这里插入UML类图图片] (2)时序图如下所示: [在这里插入UML时序图图片] (3)活动图如下所示: [在这里插入UML活动图图片] 题目二:

根据给定的需求文档,设计一个在线学习系统。请根据以下要求完成系统设计: (1)使用UML用例图描述系统的功能需求; (2)使用UML活动图描述学生完成在线学习的流程; (3)使用UML状态图描述学生的学习状态变化。 答案: (1)用例图如下所示: [在这里插入UML用例图图片] (2)活动图如下所示: [在这里插入UML活动图图片] (3)状态图如下所示: [在这里插入UML状态图图片] 2. 考试题目:软件设计模式 考试要求:根据给定的题目,选择并解答以下问题。 题目一: 分析以下代码,判断其使用了哪种设计模式,并阐述该设计模式的作用和优势。 ```java

public interface Car { void drive(); } public class Sedan implements Car { @Override public void drive() { System.out.println("Driving a sedan car."); } } public class SUV implements Car { @Override public void drive() { System.out.println("Driving an SUV car."); } } public class CarFactory { public Car createCar(String type) { if (type.equals("sedan")) { return new Sedan();

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

软件工程期末考试试卷(附答案) 引导语:软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。以下是的软件工程期末试卷(附答案),欢送参考! ( 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.确定测试方案是在( )阶段制定的. A.总体设计 B.详细设计 C.编码 D.测试

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

一、填空题(每空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、a B、b C、c D、b和c 4.( A )是用户和设计交换最频繁的方法。 A、原型化方法 B、瀑布模型方法 C. 螺旋模型方法D、构件组装模型 5.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证 是( C )。 A、硬件环境 B、软件开发的环境 C.软件开发工具和软件开发的环境 D、开发人员的素质 6.20世纪50年代以来,出现了许多不同的程序设计语言,下列语言中哪个语言是低级语言 ( D )。 A、PASCAL B、 VISUAL BASIC C. C++ D、汇编语言 7.软件测试的目的是?( D ) A、证明软件的正确性 B.找出软件系统中存在的所有错误 C.证明软件系统中存在错误 D.尽可能多的发现软件系统中的错误 8.使用白盒测试方法时,确定测试数据应根据( A )和指定的覆盖标准。 A、程序的内部逻辑 B、程序的复杂程度 C、该软件的编辑人员 D、程序的功能 9.软件维护工作的最主要部分是( C )。 A、校正性维护 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)源程序 6.测试的关键问题是( ) 。 A)如何组织软件评审 C)如何验证程序的正确性 7.软件测试用例主要由输入数据和(B)如何选择测试用例D)如何采用综合策略)两部分组成。 A)测试计划 B)测试规则 C)预期输出结果 D)以往测试记录分析8.成功的测试是指运行测试用例后( ) 。 A)未发现程序错误 B)发现了程序错误 C)证明程序正确性 D)改正了程序错误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)边界值分析

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

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

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

软件工程 期末试题及答案

软件工程期末试题及答案 第一节:选择题 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. 请简述软件配置管理中的版本控制是指什么? 版本控制是指对软件项目中各个配置项版本的管理和控制。主要包 括版本的标识、记录、追踪和回溯。通过版本控制,可以有效地跟踪 软件的演化过程,管理和控制软件的变更,确保软件项目的稳定性和 可维护性。

软件工程导论 期末复习题及答案

软件工程导论期末复习题及答案 正确答案:C.研究软件系统的开发过程和方法 软件工程的主要目标是提高软件的质量,包括可靠性、可用性、可维护性和可重用性等。同时,软件工程也致力于降低软件开发和维护的成本,提高软件的生产率。因此,以上选项都是正确的。 A.人员 B.方法 C.工具 D.程序正确答案:D.程序 软件工程的三个基本要素是人员、方法和工具。其中,人员是指参与软件开发和维护的人员,包括项目经理、系统分析师、程序员、测试人员等;方法是开发软件所采用的方法,包括面向对象方法、面向过程方法等;工具是指支持软件开发和维护的工具,包括编译器、调试器、测试工具等。程序是软件开发的结果之一,不属于软件工程的三个基本要素。 D.软件从测试到发布的整个过程正确答案:A.软件从开发到维护的整个过程 软件生命周期是指软件从开发到维护的整个过程,包括需求分析、设计、编码、测试、发布、维护和退役等阶段。因此,选项A是正确的答案。选项B、C、D都只描述了软件生命周期的部分阶段,不完整。

A.需求分析 B.编码 C.测试 D.维护正确答案:D.维护 软件开发过程中的活动包括需求分析、设计、编码、测试等阶段,而维护是软件使用过程中的一个阶段,不属于软件开发过程中的活动。因此,选项D是正确的答案。 在软件工程中,以下哪个选项最接近于“用户故事”的定义? 答案:A.一种用于描述用户需求的文档。用户故事是软件开发中的一种重要工具,它用于收集、整理和描述用户需求,以便更好地理解和满足用户的需求。 以下哪个选项是面向对象编程(OOP)中的基本概念? 答案:B.类。在面向对象编程中,类是一种抽象数据类型,它定义了一个对象的结构,包括属性(状态)和方法(行为)。 在软件开发中,以下哪个阶段最可能涉及到代码重构? 答案:C.编码阶段。代码重构是在编码阶段进行的一项活动,它通常涉及到修改和优化代码的结构和实现方式,以提高代码的可读性、可维护性和效率。 答案:A. Git。版本控制是软件开发中的一项重要工具,用于跟踪和

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

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

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

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

一、选择题 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.软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(

软件工程试题含答案

软件工程期末试题( 1 ) 一, 判断题(正确的在括号内打上"√ ",错误的打上"×".每题分,共 15 分) Warnier 方式也是一种面向数据结构的设计方式,其逻辑更严格.(×) PAD 图在设置了五种大体控制结构后,还允许递归挪用. (×) 你为了加速软件保护作业的进度,应尽可能增加保护人员的数量.(×) 当验收测试通过,软件开辟就完成为了.(×) 完成测试作业后,为了缩短源程序的长度应删除程序中的注解.(×)系统结构图是精准表达程序结构的图形表示法.因此,有时也可以将系统结构图看成系统流程图利用.(×) 在程序调试时,找犯错误的位置和性质比更正该错误更难.( √) 以对象,类,继承和通信为基础的面向对象设计方式(OOD)也是常见的软件概要设计方式之一.( √) 二,单项选择题(每小题 2 分,共 10 分) 试判断下列叙述中,哪个(些)是正确的(D) a,软件系统中所有的信息流都可以以为是事务流 A,a B,b C,c D,b 和 c 进行需求分析可利用多种工具,但(B)是不合用的. A,数据流图 B,PAD 图 C,判定表 D,数据词典 在详细设计阶段,往往采用的工具有(A).

A, 详细设计的结果大体决定了最终程序的(C) A,代码的规模 B,运行速度可保护性 利用白盒测试方式时,肯定测试数据应按照(A)和指定的覆盖标准. A, 程序的复杂程度 C,该软件的编辑人员 D,程序的功能 三,多项选择题(每题 2 分,共 10 分.注:正确得 2 分,漏选得 1 分,多选, 错选不得分.) (ABCD)可以作为模块. 下面哪些测试属于黑盒测试(BCD). A,路径测试E,循环测试 下列属于气宇效益方式的是(ABCD). 软件保护的策略包括(BCD). A,按期检测保护 下列属于软件测试进程的是(ABE). C,内核测试D,法律验证 四,简答题(每题6 分,共24 分) 1、耦合性和内聚性有几种类型其耦合度, 内聚强度的顺序如何答案

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

软件工程期末考试题(含答案)软件工程期末考试题(含答案) 一、选择题 1. 在软件项目管理中,以下哪个阶段不属于软件开发的基本阶段? A. 需求分析阶段 B. 设计阶段 C. 开发阶段 D. 测试阶段 答案:D 2. “面向对象”是一种软件系统开发的基本方法论,以下哪个不属于面向对象的特点? A. 封装性 B. 继承性 C. 多态性 D. 并发性 答案:D 3. 软件开发过程中,以下哪个模型不属于常见的软件开发模型? A. 瀑布模型

B. 敏捷模型 C. 增量模型 D. 螺旋模型 答案:D 4. 在软件测试中,以下哪个不属于黑箱测试方法? A. 等价类划分测试 B. 边界值测试 C. 功能性测试 D. 白盒测试 答案:D 二、简答题 1. 请简述软件工程的定义和目标。 软件工程是研究和应用工程原理、方法和工具,以开发、维护和管理软件系统的工程学科。其目标是提高软件开发效率、软件质量和软件项目管理能力,以满足用户的需求。 2. 什么是软件需求工程?请简要阐述软件需求工程的过程。

软件需求工程是指在软件开发过程中,通过系统化的方法和工具, 对用户需求进行获取、分析、定义和规格化的过程。软件需求工程的 过程包括以下几个步骤: 1) 需求获取:通过与用户沟通、分析用户需求文档等方式,获取用 户对软件系统的需求。 2) 需求分析:对获取的需求进行验证、整理和分类,识别出关键需 求和优先级,并进行需求的可行性评估。 3) 需求定义:将需求进行详细而准确的描述,包括功能需求、性能 需求、界面需求等。 4) 需求规格化:将需求转化为形式化的规格说明,包括用例图、状 态图、数据流图等工具。 5) 需求验证:通过与用户或相关人员的确认,验证需求规格是否准确、完整和一致。 三、综合题 某公司决定开发一个在线购物系统,你作为软件工程团队的负责人,请围绕该系统的需求分析、设计和测试等方面,给出相应的工作计划。 1. 需求分析阶段: (1) 与项目发起人进行需求讨论,明确系统的功能和性能需求,并 进行需求分析和整理,编写需求文档。

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

软件工程期末考试题(含答案) 一、选择题 1.瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和_。(C), A.详细计划测试与排错 2.在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试年 勺系统测试阶段的目标(A) A.需求分析阶段行性研究阶段, 3.软件工程的出现主要是由于(C),A.程序设计方法学的影响C.软件 危机的出现 B.其它工程科学的影响D.计算机的发展, B.详细设计阶段 C.概要设计阶段 D.可 B.可行性分析 C.运行阶段 D. 4.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工 程方法得以实旅的主要保证是(C)

A.硬件环境 B.软件开发的环境D.开发人员的素质 C.软件开发工具和软件开发的环境它们之间的关系表现为(B) A.相互排斥 B相互补充 C独立使用 D.交替使用 6.UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C)A.基于瀑布模型的结构化方法C.基于对象的面向对象的方法(B) A.结构化方法析对象的(B) A.控制流 B.数据流 C.程序流 D.指令流 9.软件开发的结构化生命周期方法将软件生命周期划分成(A)A.计划阶段.开发阶段.运行阶段 B.计划阶段.编程阶段.测试阶段D.需求分析.功能定义.系统设计 C.总体设计.详细设计.编程调试 B原型化方法C面向对象的方法

D.控制流方法 8.结构化分析方法是一个预先严格定义需求的方法,它在实施时强调的是分 B.基于需求动态定义的原型化方法D.基于数据的数据流开发方法 5.软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中, 7.在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高 10.软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(C)A.分析阶段A.瀑布模型 B.设计阶段B.喷泉模型 C.编码阶段C.螺旋模型 D.测试阶段D.增量模型 11.适合于面向对象方法学的软件生存周期模型是(B) 12.从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大的是(C) A.详细设计阶段 B.概要设计阶段 C.需求分析阶段 D.测试和运行阶段13.从实用角度看,数据规范化在大多数场合选用第____范式。(C)A.1 B.2 C.3

《软件工程》期末考试参考题及答案

得分评卷人 一、填空题(每空1分,共20分) 1.软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__测试________、运 行与维护阶段。 2.按软件的功能进行划分,软件可以划分为系统软件、支撑软件和应用软件。 3.可行性研究主要集中在以下四个方面经济可行性、技术可行性、法律可行性和抉择。 4.用户界面的可使用性是用户界面设计最重要的也是最基本的目标。 5.常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的___结构化设计方法_________,以 数据结构为基础构造模块的__jackson方法__________,以对象、类、继承和通信为基础的__面向对象设计方法__________。 6.__数据流图________和__数据字典___共同构成系统的逻辑模型。 7.软件测试的方法有__分析方法________和___非分析方法_______(即黑盒法)。 8.单元测试一般以___白盒_____________测试为主,___黑盒______测试为辅。 9.成本估计方法主要有__自底向上估计________、_自顶向下估计_________和算法模型估计三种类型。 得分评卷人 二、单项选择题(每小题2分,共10分) 1.下列哪个阶段不属于软件生存周期的三大阶段(C)。 A、计划阶段 B、开发阶段 C、编码阶段 D、维护阶段 2.需求分析是(A)。 3.?A、软件开发工作的基础?????????B、软件生存周期的开始 4.?C、由系统分析员单独完成的?????D、由用户自己单独完成的 5.原型化方法是软件开发中一类常用的方法,它与结构化方法相比较,更需要(B)。 6.?A、明确的需求定义???????????????B、完整的生命周期 7.?C、较长的开发时间???????????????D、熟练的开发人员 8.软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程称为 (A)。 9.??A、改正性维护???????????B、适应性维护 10. C、完善性维护 D、预防性维护 11.一般说来,投入运行的软件系统中有错误(A)。

软件工程期末考试参考题及答案

一、填空题每空1分,共20分 1. 软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计 编码、__测试________、运行与维护阶段; 2. 按软件的功能进行划分,软件可以划分为 系统软件 、 支撑软件 和应用软件; 3. 可行性研究主要集中在以下四个方面 经济可行性 、 技术可行 性 、法律可行性 和抉择; 4. 用户界面的 可使用性 是用户界面设计最重要的也是最基本的目标; 5. 常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的___结 构化设计方法_________,以数据结构为基础构造模块的__jackson 方法__________,以对象、类、继承和通信为基础的__面向对象设计方法__________; 6. __数据流图________和__数据字典___共同构成系统的逻辑模型; 7. 软件测试的方法有__分析方法________和___非分析方法_______即黑盒法; 8. 单元测试一般以___白盒_____________测试为主,___黑盒______测试为辅; 9. 成本估计方法主要有__自底向上估计________、_自顶向下估计_________和算 法模型估计三种类型; 二、单项选择题每小题2分,共10分

1.下列哪个阶段不属于软件生存周期的三大阶段 C ; A、计划阶段 B、开发阶段 C、编码阶段 D、维护阶段 2.需求分析是 A ; 3. A、软件开发工作的基础 B、软件生存周期的开始 4. C、由系统分析员单独完成的 D、由用户自己单独完成的 5.原型化方法是软件开发中一类常用的方法,它与结构化方法相比较,更需要 B ; 6. A、明确的需求定义 B、完整的生命周期 7. C、较长的开发时间 D、熟练的开发人员 8.软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改 的回归测试过程称为 A ; 9. A、改正性维护 B、适应性维护 10. C、完善性维护 D、预防性维护 11.一般说来,投入运行的软件系统中有错误 A ; A、不是不可以理解的 B、是不能容忍的 C、是要求退货的理由 D、是必然的 三、多项选择题每小题2分,共10分

《软件工程》期末考试参考题及答案

一、填空题每空1分,共20分 1.软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__ 测试________、运行与维护阶段; 2.按软件的功能进行划分,软件可以划分为系统软件、支撑软件 和应用软件; 3.可行性研究主要集中在以下四个方面经济可行性、技术可行 性、法律可行性和抉择; 4.用户界面的可使用性是用户界面设计最重要的也是最基本的目标; 5.常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的___结构化设计 方法_________,以数据结构为基础构造模块的__jackson方法__________,以对象、类、继承和通信为基础的__面向对象设计方法__________; 6.__数据流图________和__数据字典___共同构成系统的逻辑模型; 7.软件测试的方法有__分析方法________和___非分析方法_______即黑盒法; 8.单元测试一般以___白盒_____________测试为主,___黑盒______测试为辅; 9.成本估计方法主要有__自底向上估计________、_自顶向下估计_________和算法模型估 计三种类型; 二、单项选择题每小题2分,共10分 1.下列哪个阶段不属于软件生存周期的三大阶段 C ; A、计划阶段 B、开发阶段 C、编码阶段 D、维护阶段 2.需求分析是A ; 3. A、软件开发工作的基础B、软件生存周期的开始 4. C、由系统分析员单独完成的D、由用户自己单独完成的 5.原型化方法是软件开发中一类常用的方法,它与结构化方法相比较,更需要B ; 6. A、明确的需求定义B、完整的生命周期 7. C、较长的开发时间D、熟练的开发人员

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