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

合集下载

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

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

软件工程(期末试题及答案)软件工程(期末试题及答案)一、选择题(共20题,每题2分,共40分)1. 在软件工程中,以下哪一项不是七大工程()。

A. 软件需求B. 软件设计C. 软件开发D. 软件维护答案: D2. 软件需求分析的目的是()。

A. 理解用户需求B. 设计软件架构C. 编写用户手册D. 测试软件功能答案: A3. 软件开发过程中的迭代模型,不存在的是()。

A. 瀑布模型B. 敏捷开发模型C. 螺旋模型D. 喷泉模型答案: D4. 以下哪个不是软件测试的目的()。

A. 发现错误和缺陷B. 验证软件是否满足需求C. 评估软件的可靠性和质量D. 优化软件的性能答案: D5. 软件项目管理中,以下哪种方法适用于大型复杂项目()。

A. 瀑布模型B. 敏捷开发C. 增量模型D. 螺旋模型答案: D6. 软件开发生命周期中,以下哪个过程不属于()。

A. 需求分析过程B. 设计过程C. 编码过程D. 运维过程答案: D7. 在软件工程中,什么是软件测试()。

A. 软件开发的最后阶段B. 发现软件缺陷的过程C. 确保软件质量的控制过程D. 软件最终验收的流程答案: C8. 以下哪种测试方法旨在评估软件在不同负载下的性能和稳定性()。

A. 单元测试B. 集成测试C. 系统测试D. 性能测试答案: D9. 软件开发中,以下哪个活动不属于软件配置管理()。

A. 版本控制B. 配置变更控制C. 缺陷管理D. 代码评审答案: D10. 以下哪个是敏捷开发的基本原则()。

A. 面对面交流胜过文档B. 完全按照计划进行C. 精确的需求分析是关键D. 严格的变更控制是必要的答案: A11. 下列哪个不属于软件配置管理的内容()。

A. 变更控制B. 版本控制C. 缺陷管理D. 运维管理12. 软件的可靠性是指()。

A. 软件是否能正常运行B. 软件是否符合用户需求C. 软件运行期间不出现故障的能力D. 软件功能的完善程度答案: C13. 下列哪个不属于软件开发的7大原则()。

《软件工程》期末试卷(3套含答案)

《软件工程》期末试卷(3套含答案)

《软件工程》期末试卷(一)(满分100分)考试时间:120分钟(可根据具体情况适当调整)1.单项选择题(每题2分,共20分)(1)以下哪一项不属于软件工程三要素()。

A.过程B. 方法C. 工具D. 计划(2)以下哪一项不属于软件管理过程()。

A. ISO9000B. CMMC. IEEED. 软件企业文化(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. 包含关系、扩展关系2.填空题(每题2分,共20分)(1)需求分析员参与客户需求调研,撰写________________。

(2)_______________是软件策划的核心、重点与难点。

(3)软件由程序、数据和______________组成。

(4)______________是软件设计的基础,______________是软件开发的核心。

(5)需求分析分为两个阶段,_______________阶段和需求规约阶段。

(6)对象图的组成元素包括对象和______________。

2023软件工程导论期末考试题库及参考答案

2023软件工程导论期末考试题库及参考答案

2023软件工程导论期末考试题库及参考答案一、选择题(每题2分,共20分)1. 以下哪个不是软件工程的三个基本目标?A. 可维护性B. 可用性C. 可靠性D. 高效性参考答案:D2. 软件生命周期中,以下哪个阶段是软件开发过程的核心阶段?A. 需求分析B. 设计C. 编码D. 测试参考答案:C3. 以下哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程参考答案:A4. 在软件工程中,以下哪个方法用于估算软件项目的成本和进度?A. COCOMOB. WBSC. SDLCD. CASE参考答案:A5. 以下哪个是软件工程中的一个重要原则?A. 分而治之B. 一次性编写C. 重用D. 模块化参考答案:D6. 以下哪个不是软件工程的基本活动?A. 软件规格B. 软件开发C. 软件验证D. 软件测试参考答案:C7. 以下哪个是软件工程中用于提高软件质量的技术?A. 设计模式B. 重构C. 代码审查D. 单元测试参考答案:C8. 以下哪个不是软件工程的五大基本过程?A. 软件规格B. 软件开发C. 软件维护D. 软件项目管理参考答案:D9. 以下哪个是软件工程中的一个重要概念,用于描述软件系统中的各个组件之间的关系?A. 耦合B. 内聚C. 模块化D. 重用参考答案:A10. 以下哪个是软件工程中的一个重要原则,用于指导软件开发过程?A. 迭代B. 增量C.螺旋D. 模型驱动参考答案:A二、填空题(每题2分,共20分)11. 软件工程的三要素是:方法、工具和______。

参考答案:过程12. 软件生命周期包括:需求分析、设计、编码、______和软件维护。

参考答案:测试13. 软件工程中的面向对象方法包括:封装、继承和______。

参考答案:多态14. 软件工程中的 CASE 工具主要用于支持______。

参考答案:软件设计和开发15. 软件工程中的敏捷开发方法强调______、可维护性和可扩展性。

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

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

一、填空题(每空1分, 共20分)1.软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__测试________、运行与维护阶段。

2.按软件旳功能进行划分, 软件可以划分为系统软件、支撑软件和应用软件。

3.可行性研究重要集中在如下四个方面经济可行性、技术可行性、法律可行性和抉择。

4.顾客界面旳可使用性是顾客界面设计最重要旳也是最基本旳目旳。

5.常见旳软件概要设计措施有3大类: 以数据流图为基础构造模块构造旳___构造化设计措施_________, 以数据构造为基础构造模块旳__jackson措施__________, 以对象、类、继承和通信为基础旳__面向对象设计措施__________。

6.__数据流图________和__数据字典___共同构成系统旳逻辑模型。

7.软件测试旳措施有__分析措施________和___非分析措施_______(即黑盒法)。

8.单元测试一般以___白盒_____________测试为主, ___黑盒______测试为辅。

9.成本估计措施重要有__自底向上估计________、_自顶向下估计_________和算法模型估计三种类型。

二、单项选择题(每题2分, 共10分)1.下列哪个阶段不属于软件生存周期旳三大阶段( C )。

A.计划阶段B.开发阶段2. C.编码阶段 D.维护阶段3.需求分析是(A )。

A. 软件开发工作旳基础B. 软件生存周期旳开始C. 由系统分析员单独完毕旳D. 由顾客自己单独完毕旳原型化措施是软件开发中一类常用旳措施, 它与构造化措施相比较, 更需要( B )。

A. 明确旳需求定义B.完整旳生命周期C、较长旳开发时间D、纯熟旳开发人员软件维护时, 对测试阶段未发现旳错误进行测试、诊断、定位、纠错, 直至修改旳回归测试过程称为( A )。

A、改正性维护B、适应性维护C、完善性维护D、防止性维护一般说来, 投入运行旳软件系统中有错误(A )。

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

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

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

答案:软件开发生命周期主要包括需求分析、设计、编码、测试和维护阶段。

需求分析阶段的主要任务是收集用户需求、进行需求分析和规格说明;设计阶段的主要任务是根据需求进行软件的整体架构设计、模块设计等;编码阶段的主要任务是根据设计文档进行程序代码的编写;测试阶段的主要任务是对软件进行功能、性能、兼容性等各方面的测试;维护阶段的主要任务是修复软件中的缺陷、升级功能等。

(2) 什么是软件需求?简述软件需求分析的过程。

答案:软件需求是对软件系统的功能、性能、接口、约束和设计约束条件的描述。

软件需求分析是指对软件需求进行识别、获取、明确和规格说明的过程。

其过程包括以下几个步骤:a. 需求获取:通过与用户交流、收集现有文档等方式,获取软件需求相关的信息;b. 需求分析:对获取的软件需求进行整理和分类,识别出需求之间的关联和依赖关系;c. 需求明确:明确每个需求的具体含义,确保需求描述准确清晰;d. 需求规格说明:将明确的需求进行形式化的规格说明,以便后续的设计和开发工作。

3. 论述题软件开发中的版本控制是一项重要的技术,它可以有效地管理和追踪软件代码的变化,并协同开发者之间的合作。

请简要讨论软件版本控制的几种常见方式及其优缺点。

答案:常见的软件版本控制方式包括本地版本控制、集中式版本控制和分布式版本控制。

每种方式都有其优缺点:a. 本地版本控制:通过在本地维护一份完整的代码仓库,实现对代码的版本控制。

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

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

一、填空题(每空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、aB、bC、cD、b和c4.( A )是用户和设计交换最频繁的方法。

A、原型化方法B、瀑布模型方法 C. 螺旋模型方法D、构件组装模型5.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( C )。

软件工程期末试题及答案

软件工程期末试题及答案

软件工程试题及答案第一部分选择题一、单项选择题每小题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.DFD 14.详细设计的结果基本决定了最终程序的()A.代码的规模B.运行速度C.质量D.可维护性15.需求分析中开发人员要从用户那里了解()A.软件做什么B.用户使用界面C.输入的信息D.软件的规模16.结构化程序设计主要强调的是()A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序易读性17.IDEF。

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

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

软件工程期末试卷(十套含答案)-CAL-FENGHAI.-(YICAI)-Company One1软件工程期末试题(一)单项选择题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)nC.p﹡(1+i)﹡n D.p﹡(i+n)12.在考察系统的一些涉及时序和改变的状态时,要用动态模型来表示。

动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是( A )。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件工程期末考试参考题及答案
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 = 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. 逻辑错误:程序中的逻辑错误可能导致错误的结果或未预期的行为。

修复方法是仔细检查代码逻辑,确保其与预期一致,并进行相应的调整。

总结:
本文介绍了软件工程期末考试中关于软件需求工程、软件设计模式以及软件测试与质量保证的参考题目及答案。

在软件需求工程部分,主要介绍了在线购物系统和在线学习系统的设计要求,并给出了相应的解答。

在软件设计模式部分,选取了工厂模式和策略模式的题目,并详细解释了其作用和优势以及适用的情景。

在软件测试与质量保证部分,给出了针对代码进行黑盒测试的例子,同时列举了常见的代码缺陷以及修复方法。

这些问题的解答能够帮助学生更好地理解软件工程领域的知识,并在实践中应用。

相关文档
最新文档