文档库 最新最全的文档下载
当前位置:文档库 › 软件工程-期末考试题(含答案)

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

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

1. 题目一:软件需求工程

软件需求工程是软件开发的重要环节之一,主要包括需求获取、需

求分析、需求规格、需求验证等阶段。在软件开发的整个过程中,需

求工程的目标是确保开发出的软件能够满足用户的需求,同时保证软

件的质量和可靠性。

1.1 需求获取

需求获取是软件需求工程的第一步,它涉及到对用户的需求进行调

研和收集。需求获取的方法可以包括面谈、问卷调查、观察等。通过

与用户的沟通和了解,开发团队可以获取到用户对软件的期望和需求,为后面的分析和规格阶段提供依据。

1.2 需求分析

需求分析是对收集到的需求进行认真分析和理解的过程。在这个阶段,开发团队将准确定义软件所需具备的功能、性能和约束。通过对

需求的分析,可以帮助开发团队更好地理解用户的需求,并将其转化

为可执行的任务。

1.3 需求规格

需求规格是将需求分析的结果进行详细描述和规范化的过程。在这

个阶段,开发团队需要将需求规格书写成可读、可理解的形式,以便

于开发人员进行后续的开发工作。需求规格书通常包括用例图、类图、时序图等各种工具和技术。

1.4 需求验证

需求验证是对需求的正确性和完整性进行验证的过程。在这个阶段,开发团队需要与用户进行确认,确保所开发的软件能够满足用户的期

望和需求。需求验证也可通过模拟测试、原型验证等方式进行。

2. 题目二:软件设计原则

软件设计原则是开发人员编写高质量软件的指导原则,旨在提高软件的可维护性、可扩展性和可重用性。下面介绍几个常用的软件设计

原则。

2.1 单一职责原则

单一职责原则(SRP)要求每个类或模块只负责一种功能或职责。

这样可以保持代码的简洁性和可读性,并使得类或模块更加易于维护

和扩展。

2.2 开放封闭原则

开放封闭原则(OCP)要求软件实体(类、模块、函数等)应该对

扩展开放,对修改封闭。这样可以使得软件设计能够适应需求的变化,而不需要修改原有的代码。

2.3 里氏替换原则

里氏替换原则(LSP)要求子类必须能够替换父类,并且不影响程序的正确性。这样可以确保软件设计的一致性和稳定性,使得在使用父类的地方可以透明地使用子类。

2.4 接口隔离原则

接口隔离原则(ISP)要求建立单一接口,而不要建立臃肿和庞大的接口。这样可以减少类之间的依赖关系,并且提高代码的灵活性和复用性。

2.5 依赖倒置原则

依赖倒置原则(DIP)要求高层模块不应依赖低层模块,二者都应该依赖于抽象。这样可以降低类之间的耦合度,提高代码的可测试性和可维护性。

3. 题目三:软件测试方法

软件测试是保证软件质量的一种重要手段,下面介绍几种常用的软件测试方法。

3.1 黑盒测试

黑盒测试是一种测试方法,它不考虑内部的结构和实现细节,只关注软件外部的功能和接口。通过输入测试数据,观察输出结果,以此来验证软件是否符合预期。

3.2 白盒测试

白盒测试是一种测试方法,它考虑软件内部的结构和实现细节。通过分析代码逻辑和执行路径,设计测试用例,以此来验证软件的正确性和稳定性。

3.3 单元测试

单元测试是对软件的最小单元进行测试的一种方法,通常是对函数或方法进行测试。通过编写测试用例和运行测试代码,来验证每个单元是否能够正常工作。

3.4 集成测试

集成测试是将单元测试通过后的模块进行组合和测试的一种方法。通过模拟真实环境,对多个模块进行集成测试,以此来确保模块之间的协作和兼容性。

3.5 系统测试

系统测试是对整个软件系统进行测试的一种方法,涵盖了所有功能和性能方面的测试。通过模拟真实使用场景,来测试软件是否能够符合用户的需求和预期。

总结:

软件工程是现代软件开发过程中不可或缺的一环。通过合理的需求工程、设计原则和测试方法,能够保证软件的质量和可靠性,满足用户的需求。开发人员应该在实践中不断学习和探索,不断改进软件开发的流程和方法,提升软件开发的效率和质量。

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

软件工程期末考试参考题及答案 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();

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

一、选择题 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)

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

《软件工程》期末试卷(一) (满分100分) 考试时间:120分钟(可根据具体情况适当调整) 1.单项选择题(每题2分,共20分) (1)以下哪一项不属于软件工程三要素()。 A.过程 B. 方法 C. 工具 D. 计划 (2)以下哪一项不属于软件管理过程()。 A. ISO9000 B. CMM C. IEEE 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. 包含关系、扩展关系 2.填空题(每题2分,共20分) (1)需求分析员参与客户需求调研,撰写________________。 (2)_______________是软件策划的核心、重点与难点。 (3)软件由程序、数据和______________组成。 (4)______________是软件设计的基础,______________是软件开发的核心。

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

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

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

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

软件工程期末试卷(十 套含答案) -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)n C.p﹡(1+i)﹡n D.p﹡(i+n)

软件工程 期末试题及答案

软件工程期末试题及答案 第一节:选择题 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. 题目一:软件需求工程 软件需求工程是软件开发的重要环节之一,主要包括需求获取、需 求分析、需求规格、需求验证等阶段。在软件开发的整个过程中,需 求工程的目标是确保开发出的软件能够满足用户的需求,同时保证软 件的质量和可靠性。 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.软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(C)

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

软件工程期末试题(一) 单项选择题 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. 在软件项目管理中,以下哪个阶段不属于软件开发的基本阶段? 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 ; 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 )。 A、软件开发工作的基础 B、软件生存周期的起先 C、由系统分析员单独完成的 D、由用户自己单独完成的 3.原型化方法是软件开发中一类常用的方法,它和结构化方法相比较,更须要(B )。 A、明确的需求定义 B、完整的生命周期 C、较长的开发时间 D、娴熟的开发人员 4.软件维护时,对测试阶段未发觉的错误进行测试、诊断、定位、纠错,直至修改的回来测试过程称为 ( A )。 A、改正性维护 B、适应性维护 C、完善性维护 D、预防性维护 5.一般说来,投入运行的软件系统中有错误(A )。 A、不是不行以理解的 B、是不能容忍的 C、是要求退货的理由 D、是必定的 三、多项选择题(每小题2分,共10分) 1.下面哪些测试属于白盒测试(AE )。 A、基本路径测试 B、等价类划分 C、边界值分析 D、错误推想 E、逻辑覆盖测试 2.下列哪些选项是属于内容耦合(ABC )。 A、一个模块干脆访问另一个模块的内部数据 B、一个模块有多个入口 C、一个模块不通过正常入口转到另一模块内部 D、一个模块只有一个入口 3.下列属于度量效益方法的是(ABC )。 A、货币的时间价值 B、投资回收期 B、收入D、投资回报率 4.数据流图是用于表示软件模型的一种图示方法,在下列可接受的绘制方法中,哪些是常接受的 (ACD )。 A、自顶向下 B、自底向上 C、分层绘制 D、逐步求精 5.软件设计中一般将用到图形工具,下列哪种些可用作设计的图形工具(ACD )。

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

一、选择题 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。软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和

相关文档
相关文档 最新文档