软件工程期末试题(含答案)广东药学院
软件工程期末考试参考题及答案
软件工程期末考试参考题及答案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. 考试题目:软件设计模式考试要求:根据给定的题目,选择并解答以下问题。
题目一:分析以下代码,判断其使用了哪种设计模式,并阐述该设计模式的作用和优势。
```javapublic interface Car {void drive();}public class Sedan implements Car {@Overridepublic void drive() {System.out.println("Driving a sedan car."); }}public class SUV implements Car {@Overridepublic 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);}}}```答案:该代码使用了工厂模式。
软件工程期末试题(含答案)广东药学院
填空题 1. 定义;开发;维护;问题定义;可行性研究;需求分析;总体设计;详细设计;编码和单元测试;综合测试;维护;维护。
2. 技术;经济;操作;软件项目的可行性/3. 一致性;现实性;完整性;有效性;完整性;有效性;原型系统。
4. 模块化;抽象;逐步求精;信息隐藏;局部化;模块独立;结构程序设计;可理解性。
5. 发现错误;黑盒测试;白盒测试;穷尽测试;测试方案。
6. 改正性维护;适应性维护;完善性维护;预防性维护。
一、1. 软件生命周期可划分为、和 3个时期,通常把这3个时期再细分为8个阶段,它们是①、②、③、④、⑤、⑥、⑦和⑧,其中的阶段的工作量是8个阶段中最大的。
2. 可行性研究的任务是从、和等三个方面研究。
3. 至少应该从、、和 4个方面验证软件需求的正确性,其中和这两个方面的正确性必须有用户的积极参与才能验证,而且为了验证这两个方面的正确性,往往需要开发。
4. 软件总体设计时应遵循、、、、、和等6条基本原则。
详细设计通常以技术为逻辑基础,因为从软件工程观点看,是软件最重要的质量标准之一。
5. 软件测试的目的是,通常把测试方法分为和两大类。
因为通常不可能做到,所以精心设计是保证达到测试目的所必须的。
6. 软件维护通常包括4类活动,它们分别是、、、。
二、判断下述提高软件可维护性的措施是否正确,正确的在括弧内写对,错的写错。
1. 在进行需求分析时同时考虑维护问题。
()2. 完成测试后,为缩短源程序长度而删去程序中的注释。
()3. 尽可能在软件开发过程中保证各阶段文档的正确性。
()4. 编码时尽可能使用全局变量。
()5. 选择时间效率和空间效率尽可能高的算法。
()6. 尽可能利用硬件的特点以提高效率。
()7. 重视程序结构的设计,使程序具有较好的层次结构。
()8. 使用维护工具或软件工程环境。
()9. 进行概要设计时尽可能加强模块间的联系。
()10. 提高程序可读性,尽可能使用高级语言编程。
()三、按下述要求完成给出的程序流程图,即在答案栏内写出图中A、B、C、D、E的正确内容给程序输入二维数组W(I,J),其中I≤M,J≤N(MT N均为正整数)。
《软件工程》期末试卷及答案
《软件工程》期末试卷及答案一、选择题(每题2分,共20分)1. 下列哪项不是软件工程的基本目标?A. 提高软件的生产率B. 提高软件的质量C. 减少软件的开发成本D. 提高软件的可维护性答案:D2. 软件工程的三要素不包括以下哪项?A. 方法B. 工具C. 管理模式D. 知识库答案:D3. 下列哪种软件过程模型适用于需求不明确的项目?A. 水平模型B. 增量模型C. 迭代模型D. 瀑布模型答案:C4. 在软件项目管理中,项目经理负责以下哪项工作?A. 软件需求分析B. 软件设计C. 软件编码D. 项目计划与组织答案:D5. 以下哪种编程语言不属于面向对象编程语言?A. JavaB. C++C. PythonD. C答案:D6. 下列哪种软件测试方法属于静态测试?A. 单元测试B. 集成测试C. 系统测试D. 代码审查答案:D7. 以下哪种软件维护类型占总维护工作量的比例最大?A. 适应性维护B. 完善性维护C. 纠错性维护D. 预防性维护答案:C8. 下列哪种软件文档是软件开发过程中必须编写的?A. 项目计划书B. 需求规格说明书C. 设计文档D. 测试报告答案:B9. 下列哪种软件工程方法学强调开发过程的结构化和规范化?A. 结构化分析方法B. 面向对象分析方法C. 原型法D. 敏捷开发方法答案:A10. 以下哪个软件工具不属于CASE(计算机辅助软件工程)工具?A. 代码生成器B. 代码审查工具C. 项目管理工具D. 数据库管理系统答案:D二、填空题(每题2分,共20分)11. 软件工程的基本原则包括抽象、封装、模块化、层次化和信息隐藏等,其中______是一种将信息、数据和操作封装在一起的方法。
答案:封装12. 软件开发过程分为需求分析、设计、编码、测试和维护五个阶段,其中______阶段是软件开发过程中的核心阶段。
答案:设计13. 代码行(LOC)和功能点(FP)是衡量软件规模的两个指标,其中______是一种基于软件功能需求的规模度量方法。
软件工程导论《软件工程》期末考试题及答案
软件工程导论《软件工程》期末考试题及答案一、选择题(每题2分,共20分)1. 下列哪项不是软件工程的基本目标?A. 提高软件的生产率B. 提高软件的可维护性C. 提高软件的性能D. 降低软件的开发成本答案:C2. 下列哪种方法不属于软件需求分析的方法?A. 数据流图(DFD)B. 实体-关系图(ER图)C. 状态转换图D. Petri网答案:D3. 软件设计中,模块的内聚性越高,表明模块的:A. 功能越单一B. 独立性越强C. 复用性越低D. 可维护性越低答案:A4. 在软件测试阶段,下列哪种测试方法不属于黑盒测试?A. 等价类划分B. 边界值分析C. 代码覆盖率分析D. 逻辑覆盖分析答案:D5. 软件项目管理中,项目经理的主要职责不包括以下哪项?A. 制定项目计划B. 管理项目进度C. 组织项目团队D. 编写代码答案:D二、填空题(每题2分,共20分)6. 软件生命周期可以分为______、需求分析、设计、编码、测试、维护等阶段。
答案:需求调研7. 软件工程的三要素是______、过程、方法。
答案:工具8. 在软件设计中,模块的独立性包括______和耦合性两个方面。
答案:内聚性9. 软件测试的目的不包括______。
答案:发现并修复所有错误10. 软件项目管理的主要目标是实现项目的______、质量和成本控制。
答案:进度三、简答题(每题10分,共30分)11. 简述软件工程的基本原则。
答案:软件工程的基本原则包括:(1)抽象:将复杂问题分解为更简单的子问题;(2)分解:将问题分解为多个部分,分别解决;(3)模块化:将软件划分为独立的模块,提高可维护性和复用性;(4)信息隐藏:隐藏模块内部的信息,只暴露必要的接口;(5)一致性:保持软件各部分的一致性,提高可读性;(6)可维护性:使软件易于修改和维护。
12. 简述软件需求分析的目的和任务。
答案:软件需求分析的目的在于明确用户对软件系统的功能、性能等方面的需求。
《软件工程》期末考试题及答案
《软件工程》期末考试题及答案一、选择题(每题2分,共20分)1. 以下哪个不属于软件工程的三个基本活动?A. 软件规格B. 软件设计C. 软件编码D. 软件测试答案:D2. 以下哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程答案:A3. 以下哪个不属于软件工程的基本原则?A. 分而治之B. 信息隐藏C. 模块化D. 编码规范答案:D4. 以下哪个不是软件工程的四大支柱?A. 软件需求B. 软件设计C. 软件验证D. 软件项目管理答案:C5. 以下哪种软件过程模型是迭代和增量的?A. 瀑布模型B. 快速应用开发C. 敏捷开发D. 原型模型答案:C6. 以下哪个不是软件测试的级别?A. 单元测试B. 集成测试C. 系统测试D. 需求测试答案:D7. 以下哪种软件维护类型是最常见的?A. 更正性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:A8. 以下哪个不属于软件项目的风险管理策略?A. 风险避免B. 风险转移C. 风险减轻D. 风险接受答案:B9. 以下哪个不属于软件需求分类?A. 功能需求B. 性能需求C. 可用性需求D. 测试需求答案:D10. 以下哪个不属于软件设计的准则?A. 模块化B. 信息隐藏C. 功能耦合D. 数据抽象答案:C二、填空题(每题2分,共20分)11. 软件工程的主要目标是提高软件的__________和降低软件的__________。
答案:可维护性、成本12. 软件开发的三个基本阶段是:__________、__________、__________。
答案:需求分析、设计、实现13. 软件过程模型分为__________模型和__________模型。
答案:预测性、适应性14. 软件测试的四个基本级别是:__________、__________、__________、__________。
答案:单元测试、集成测试、系统测试、验收测试15. 软件维护的四种类型是:__________、__________、__________、__________。
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 )。
软件工程期末试题及答案
软件工程期末试题及答案一、选择题(每题2分,共20分)1. 以下哪项不是软件工程的基本目标?A. 提高软件的生产效率B. 提高软件的质量C. 减少软件的开发成本D. 增加软件的复杂性答案:D2. 下面哪个不属于软件工程的三个主要过程?A. 软件规格B. 软件开发C. 软件测试D. 软件维护答案:A3. 下列哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程答案:A4. 以下哪个不属于软件项目的管理活动?A. 项目计划B. 风险管理C. 质量保证D. 软件开发答案:D5. 以下哪个不是软件需求分析的工具?A. 数据流图(DFD)B. 实体关系图(ERD)C. 状态转换图(STD)D. 类图答案:B6. 以下哪个不属于软件设计的原则?A. 模块化B. 抽象C. 封装D. 继承7. 以下哪种测试方法主要用于检测软件的功能是否满足需求?A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:C8. 以下哪个不属于软件维护的类型?A. 适应性维护B. 完善性维护C. 纠错性维护D. 预防性维护答案:D9. 以下哪个不属于软件项目管理工具?A. Microsoft ProjectB. JiraC. TrelloD. Visual Studio10. 以下哪个不属于敏捷软件开发的特点?A. 短周期迭代B. 客户参与C. 重构D. 线性开发流程答案:D二、填空题(每题2分,共20分)1. 软件工程的基本目标包括提高软件的生产效率、提高软件的质量和______。
答案:减少软件的开发成本2. 软件工程的三个主要过程分别是软件规格、软件开发和______。
答案:软件维护3. 软件需求分析的主要工具包括数据流图(DFD)、实体关系图(ERD)和______。
答案:状态转换图(STD)4. 软件设计的原则包括模块化、抽象、封装和______。
答案:继承5. 软件测试的四个层次分别是单元测试、集成测试、系统测试和______。
软件工程期末试题(含答案)
软件工程期末试题(含答案)软件工程期末试题(含答案)1. 选择题(1) 在软件开发过程中,以下哪个活动是与需求分析相关的?A. 代码编写B. 测试C. 需求验证D. 项目规划答案:C(2) 在敏捷开发方法中,以下哪个原则强调“面对面交流”?A. 个体和交互高于工具和过程B. 客户合作高于合同谈判C. 可以交付的软件高于详尽的文档D. 响应变化高于遵循计划答案:A2. 简答题(1) 简述软件开发生命周期的阶段及每个阶段的主要任务。
答案:软件开发生命周期主要包括需求分析、设计、编码、测试和维护阶段。
需求分析阶段的主要任务是收集用户需求、进行需求分析和规格说明;设计阶段的主要任务是根据需求进行软件的整体架构设计、模块设计等;编码阶段的主要任务是根据设计文档进行程序代码的编写;测试阶段的主要任务是对软件进行功能、性能、兼容性等各方面的测试;维护阶段的主要任务是修复软件中的缺陷、升级功能等。
(2) 什么是软件需求?简述软件需求分析的过程。
答案:软件需求是对软件系统的功能、性能、接口、约束和设计约束条件的描述。
软件需求分析是指对软件需求进行识别、获取、明确和规格说明的过程。
其过程包括以下几个步骤:a. 需求获取:通过与用户交流、收集现有文档等方式,获取软件需求相关的信息;b. 需求分析:对获取的软件需求进行整理和分类,识别出需求之间的关联和依赖关系;c. 需求明确:明确每个需求的具体含义,确保需求描述准确清晰;d. 需求规格说明:将明确的需求进行形式化的规格说明,以便后续的设计和开发工作。
3. 论述题软件开发中的版本控制是一项重要的技术,它可以有效地管理和追踪软件代码的变化,并协同开发者之间的合作。
请简要讨论软件版本控制的几种常见方式及其优缺点。
答案:常见的软件版本控制方式包括本地版本控制、集中式版本控制和分布式版本控制。
每种方式都有其优缺点:a. 本地版本控制:通过在本地维护一份完整的代码仓库,实现对代码的版本控制。
(完整word版)软件工程期末试卷(十套含答案)
软件工程期末试题(一)单项选择题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 ).A .状态图B。
数据流图C。
系统结构图D。
软件工程期末试题及答案
软件工程试题及答案第一部分选择题一、单项选择题每小题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。
软件工程-期末考试题(含答案)
软件工程-期末考试题(含答案)软件工程-期末考试题(含答案)1. 题目一:软件需求工程软件需求工程是软件开发的重要环节之一,主要包括需求获取、需求分析、需求规格、需求验证等阶段。
在软件开发的整个过程中,需求工程的目标是确保开发出的软件能够满足用户的需求,同时保证软件的质量和可靠性。
1.1 需求获取需求获取是软件需求工程的第一步,它涉及到对用户的需求进行调研和收集。
需求获取的方法可以包括面谈、问卷调查、观察等。
通过与用户的沟通和了解,开发团队可以获取到用户对软件的期望和需求,为后面的分析和规格阶段提供依据。
1.2 需求分析需求分析是对收集到的需求进行认真分析和理解的过程。
在这个阶段,开发团队将准确定义软件所需具备的功能、性能和约束。
通过对需求的分析,可以帮助开发团队更好地理解用户的需求,并将其转化为可执行的任务。
1.3 需求规格需求规格是将需求分析的结果进行详细描述和规范化的过程。
在这个阶段,开发团队需要将需求规格书写成可读、可理解的形式,以便于开发人员进行后续的开发工作。
需求规格书通常包括用例图、类图、时序图等各种工具和技术。
1.4 需求验证需求验证是对需求的正确性和完整性进行验证的过程。
在这个阶段,开发团队需要与用户进行确认,确保所开发的软件能够满足用户的期望和需求。
需求验证也可通过模拟测试、原型验证等方式进行。
2. 题目二:软件设计原则软件设计原则是开发人员编写高质量软件的指导原则,旨在提高软件的可维护性、可扩展性和可重用性。
下面介绍几个常用的软件设计原则。
2.1 单一职责原则单一职责原则(SRP)要求每个类或模块只负责一种功能或职责。
这样可以保持代码的简洁性和可读性,并使得类或模块更加易于维护和扩展。
2.2 开放封闭原则开放封闭原则(OCP)要求软件实体(类、模块、函数等)应该对扩展开放,对修改封闭。
这样可以使得软件设计能够适应需求的变化,而不需要修改原有的代码。
2.3 里氏替换原则里氏替换原则(LSP)要求子类必须能够替换父类,并且不影响程序的正确性。
软件工程期末考试试卷附答案
软件工程期末考试试卷附答案一. 选择题(每题4分,共30题,总分120分)1. 软件工程的目标是什么?A. 提高软件开发效率和质量B. 实现软件系统的功能需求C. 加快软件产品的上市时间D. 增加软件系统的用户体验答案:A2. 软件生命周期模型有哪些?A. 瀑布模型B. 原型模型C. 敏捷开发模型D. 螺旋模型答案:A、B、C、D3. 在软件工程中,需求工程的任务是什么?A. 收集用户需求B. 分析用户需求C. 规划需求开发过程D. 验证和确认需求答案:A、B、C、D4. 软件配置管理是指什么?A. 管理软件的需求变更B. 管理软件的源代码C. 管理软件的版本迭代D. 管理软件的错误修复答案:B、C、D5. 软件测试的目的是什么?A. 发现软件中的错误和缺陷B. 验证软件是否满足用户需求C. 提高软件的可靠性和质量D. 减少软件开发时间和成本答案:A、B、C6. 软件维护是指什么?A. 修复发现的软件错误B. 优化软件的性能和效率C. 更新软件的功能和特性D. 软件系统的日常管理和支持答案:A、B、C、D7. 软件风险管理包括哪些活动?A. 风险识别和评估B. 风险规避和转移C. 风险监控和控制D. 风险应对和应急处理答案:A、B、C、D8. 软件工程的核心原则是什么?A. 解释性和可行性原则B. 详细性和可测性原则C. 可维护性和可扩展性原则D. 可重复性和可验证性原则答案:B、C、D9. UML(统一建模语言)是用来做什么的?A. 描绘软件系统的静态结构B. 描述软件系统的行为和交互C. 绘制软件系统的数据流程D. 显示软件系统的部署结构答案:A、B、C、D10. 软件工程中的项目管理包括哪些主要过程?A. 项目计划和进度管理B. 项目风险和质量管理C. 项目需求和配置管理D. 项目团队和沟通管理答案:A、B、C、D11. 软件度量是用来做什么的?A. 评估软件产品的质量B. 监控软件开发的进展C. 改进和优化软件工艺D. 比较不同软件的性能答案:A、B、C、D12. 软件工程的伦理问题包括什么?A. 知识产权和版权问题B. 用户隐私和数据保护C. 软件安全和漏洞利用D. 职业道德和责任意识答案:A、B、C、D13. 什么是软件工程的标准?A. 是评估软件工程管理的指标B. 是规定软件开发流程的指南C. 是实现软件质量保证的方法D. 是确保软件安全性的基准答案:B、C14. 软件工程中的团队协作有哪些挑战?A. 沟通和协调不畅B. 人员技能和素质不匹配C. 资源和时间的约束D. 对项目目标和需求理解不一致答案:A、B、C、D15. 关于软件工程的学科范畴,下列说法正确的是:A. 软件工程包括软件开发过程的实施和管理B. 软件工程仅关注软件开发阶段C. 软件工程只涉及编程和代码实现D. 软件工程不包括对用户需求的研究答案:A二. 简答题(每题10分,共5题,总分50分)1. 什么是软件工程?软件工程的基本原理和方法有哪些?答案:软件工程是将工程学原理和方法应用于软件开发的学科,旨在提高软件开发的效率和质量。
软件工程期末试卷试题(A卷)(附答案)
cheng《软件工程》期末试卷(A卷)一.单项选择题(每小题1分,共22分)1.对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。
A.结合B.隐藏C.封装D.抽象2.软件生命周期中所花费用最多的阶段是( D )。
A.详细设计B.软件编码C.软件测试D.软件维护3.需求分析中开发人员要从用户那里了解( A )。
A.软件做什么B.用户使用界面 C.输入的信息D.软件的规模4.测试的关键问题是( D )。
A.如何组织对软件的评审B.如何验证程序的正确性C.如何采用综合策略D.如何选择测试用例5.( D )是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。
A.软件过程B.软件测试C.软件生命周期D.软件工程方法学6.( A )意味着一个操作在不同的类中可以有不同的实现方式。
A.多态性B.多继承C.类的可复用D.信息隐藏7.单元测试的测试用例主要根据( D )的结果来设计。
A.需求分析B.源程序C.概要设计D.详细设计8.随着软硬件环境变化而修改软件的过程是( B )。
A.校正性维护B.适应性维护C.完善性维护D.预防性维护9.在白盒测试技术测试用例的设计中,( A )是最弱的覆盖标准。
A.语句覆盖B.路径覆盖C.条件组合覆盖D.判定覆盖10.结构化程序设计的一种基本方法是( C )。
A.筛选法B.迭代法C.逐步求精法D.递归法11.不适合作为科学工程计算的程序设计语言是( D )。
A.Pascal B.CC.Fortran D.Prolog12.只有单重继承的类层次结构是( C )层次结构。
A.网状型B.星型C.树型D.环型13.面向对象的开发方法中,( C )将是面向对象技术领域内占主导地位的标准建模语言。
A.Booch方法B.Coad方法C.UML语言D.OMT方法14.瀑布模型本质上是一种( A )。
A.线性顺序模型B.顺序迭代模型C.线性迭代模型D.及早见产品模型15.软件维护产生的副作用,是指( C )。
软件工程期末试题含复习资料广东药学院
填空题 1. 定义;开发;维护;问题定义;可行性研究;需求分析;总体设计;详细设计;编码和单元测试;综合测试;维护;维护。
2. 技术;经济;操作;软件项目的可行性/3. 一致性;现实性;完整性;有效性;完整性;有效性;原型系统。
4. 模块化;抽象;逐步求精;信息隐藏;局部化;模块独立;结构程序设计;可理解性。
5. 发现错误;黑盒测试;白盒测试;穷尽测试;测试方案。
6. 改正性维护;适应性维护;完善性维护;预防性维护。
一、1. 软件生命周期可划分为、和3个时期,通常把这3个时期再细分为8个阶段,它们是①、②、③、④、⑤、⑥、⑦和⑧,其中的阶段的工作量是8个阶段中最大的。
2. 可行性研究的任务是从、和等三个方面研究。
3. 至少应该从、、和4个方面验证软件需求的正确性,其中和这两个方面的正确性必须有用户的积极参与才能验证,而且为了验证这两个方面的正确性,往往需要开发。
4. 软件总体设计时应遵循、、、、、和等6条基本原则。
详细设计通常以技术为逻辑基础,因为从软件工程观点看,是软件最重要的质量标准之一。
5. 软件测试的目的是,通常把测试方法分为和两大类。
因为通常不可能做到,所以精心设计是保证达到测试目的所必须的。
6. 软件维护通常包括4类活动,它们分别是、、、。
二、判断下述提高软件可维护性的措施是否正确,正确的在括弧内写对,错的写错。
1. 在进行需求分析时同时考虑维护问题。
()2. 完成测试后,为缩短源程序长度而删去程序中的注释。
()3. 尽可能在软件开发过程中保证各阶段文档的正确性。
()4. 编码时尽可能使用全局变量。
()5. 选择时间效率和空间效率尽可能高的算法。
()6. 尽可能利用硬件的特点以提高效率。
()7. 重视程序结构的设计,使程序具有较好的层次结构。
()8. 使用维护工具或软件工程环境。
()9. 进行概要设计时尽可能加强模块间的联系。
()10. 提高程序可读性,尽可能使用高级语言编程。
()三、按下述要求完成给出的程序流程图,即在答案栏内写出图中A、B、C、D、E的正确内容给程序输入二维数组W(I,J),其中I≤M,J≤N(MT N均为正整数)。
软件工程期末考试题(含答案)
软件⼯程期末考试题(含答案)⼀、选择题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)A.分析阶段 B.设计阶段 C.编码阶段 D.测试阶段11.适合于⾯向对象⽅法学的软件⽣存周期模型是(B)A.瀑布模型 B.喷泉模型 C.螺旋模型 D.增量模型12.从结构化的瀑布模型看,在它的⽣命周期中的⼋个阶段中,下⾯的⼏个选项中哪个环节出错,对软件的影响最⼤的是(C)A.详细设计阶段B.概要设计阶段C.需求分析阶段D.测试和运⾏阶段13.从实⽤⾓度看,数据规范化在⼤多数场合选⽤第____范式。
软件工程期末试题(含答案)
软件⼯程期末试题(含答案)⼀、填空题(每空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. 在软件项目管理中,以下哪个阶段不属于软件开发的基本阶段?A. 需求分析阶段B. 设计阶段C. 开发阶段D. 测试阶段答案:D2. “面向对象”是一种软件系统开发的基本方法论,以下哪个不属于面向对象的特点?A. 封装性B. 继承性C. 多态性D. 并发性答案:D3. 软件开发过程中,以下哪个模型不属于常见的软件开发模型?A. 瀑布模型B. 敏捷模型C. 增量模型D. 螺旋模型答案:D4. 在软件测试中,以下哪个不属于黑箱测试方法?A. 等价类划分测试B. 边界值测试C. 功能性测试D. 白盒测试答案:D二、简答题1. 请简述软件工程的定义和目标。
软件工程是研究和应用工程原理、方法和工具,以开发、维护和管理软件系统的工程学科。
其目标是提高软件开发效率、软件质量和软件项目管理能力,以满足用户的需求。
2. 什么是软件需求工程?请简要阐述软件需求工程的过程。
软件需求工程是指在软件开发过程中,通过系统化的方法和工具,对用户需求进行获取、分析、定义和规格化的过程。
软件需求工程的过程包括以下几个步骤:1) 需求获取:通过与用户沟通、分析用户需求文档等方式,获取用户对软件系统的需求。
2) 需求分析:对获取的需求进行验证、整理和分类,识别出关键需求和优先级,并进行需求的可行性评估。
3) 需求定义:将需求进行详细而准确的描述,包括功能需求、性能需求、界面需求等。
4) 需求规格化:将需求转化为形式化的规格说明,包括用例图、状态图、数据流图等工具。
5) 需求验证:通过与用户或相关人员的确认,验证需求规格是否准确、完整和一致。
三、综合题某公司决定开发一个在线购物系统,你作为软件工程团队的负责人,请围绕该系统的需求分析、设计和测试等方面,给出相应的工作计划。
1. 需求分析阶段:(1) 与项目发起人进行需求讨论,明确系统的功能和性能需求,并进行需求分析和整理,编写需求文档。
软件工程期末考试试卷附答案
软件工程期末考试试卷附答案软件工程期末考试试卷(附答案)引导语:软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。
以下是店铺整理的软件工程期末考试试卷(附答案),欢迎参考!一、选择题:(每题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需要的工作量(时间)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6.改正性维护;适应性维护;完善性维护;预防性维护。
1.软件生命周期可划分为、和3个时期,通常把这3个时期
再细分为8个阶段,它们是①、②、③、④、⑤、
⑥、⑦和⑧,其中的阶段的工作量是8个阶段中最大
的。
2.可行性研究的任务是从、和等三个方面研究。
3.至少应该从、、和4个方面验证软件需求的正确性,
其中和这两个方面的正确性必须有用户的积极参与才能验证,而且为了验证
这两个方、、、和等
6条基本原则。详细设计通常以技术为逻辑基础,因为从软件工程观点看,是
软件最重要的质量标准之一。
5.软件测试的目的是,通常把测试方法分为和两大类。因为通
常不可能做到,所以精心设计是保证达到测试目的所必须的。
应该完成的程序流程图如下所示
A:
B:
C:
D:
E:
四、下面给出了用盒图描绘的一个程序的算法,请用逻辑覆盖法设计测试方案,要求做到 用语句覆盖和路径覆盖
五、某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第1位数字不是
0;校外电话又分为本市电话和外地电话两类,拨外地电话需先拨0,如果是本市电话再接
着拨8位电话号码(第1位不是0),如果是外地电话则先拨区码(3~5数字),再拨当地电 话号码(7或8位数字,第1位不是0)。
请定义上述的电话号码。
六、以下是用程序流程图描绘的处理算法,请把它改画为等价的盒图。
七、办公室复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印
命令则进入复印状态, 完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命
6.软件维护通常包括4类活动,它们分别
、判断下述提高软件可维护性的措施是否正确,正确的在括弧内写对,错的写错。
1.在进行需求分析时同时考虑维护问题
( )
2. 完成测试后,为缩短源程序长度而删去程序中的注释。
3.尽可能在软件开发过程中保证各阶段文档的正确性。
4.编码时尽可能使用全局变量。
5.选择时间效率和空间效率尽可能高的算法。
无车次=“no train” 无票=“no ticker” 接受=“to sale” 已收款=“yes”
车次表={起站+止站+车次}起站=止站=到站 售票记录={乘车日期+起站+止站+车次+座号}座号=车厢号+座位号
车厢号=“01”…“20” 座位号=H注:
⑴“01”…“20”表示数字范围从01到20;
⑵ 乘车日期应给出年、月、日,例如,2009/08/21;
⑶假设每个车厢有100个座位。
[答案栏]
A:B:C: _
D:E:F: _
G:H
九、画出简化的文本编辑程序的用例,该编辑程序的主要功能有建立文件、 文本、修改文本和保存文件。
十、如下图所示的程序流程图描绘了一个非结构化的程序。
数据流图和数据字典,即从供选择的答案中选出AB、C、D和E的内容
1•数据流图
[供选择的答案]
A~E⑴ 车次表;⑵ 接受;⑶ 售票记录;⑷ 购票请求;⑸ 拒绝。
2.数据字典 购票请求=F乘车日期=G
到站=4{字母}20
字母=[“A”…“Z”|“a”…“z”]
车次=“001”…“999”
拒绝=[无车次|无票]
填空题1.定义;开发;维护;问题定义;可行性研究;需求分析;总体设计;详
细设计;编码和单元测试;综合测试;维护;维护。
2.技术;经济;操作;软件项目的可行性 /
3.一致性;现实性;完整性;有效性;完整性;有效性;原型系统。
4.模块化;抽象;逐步求精;信息隐藏;局部化;模块独立;结构程序设计;可
理解性。
令;如果执行复印命令时发现缺纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入 闲置状态,准备接受复印命令; 如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待
维修人员来排队故障,故障排除后回到闲置状态。 请用状态转换图描绘复印机的行为。
八、为开发一个铁路自动售票系统(该系统预计从2009年使用到2019年),请完成下面的
6.尽可能利用硬件的特点以提高效率。
7.重视程序结构的设计,使程序具有较好的层次结构。
8.使用维护工具或软件工程环境。
9.进行概要设计时尽可能加强模块间的联系。
10.提高程序可读性,尽可能使用高级语言编程。
三、按下述要求完成给出的程序流程图,即在答案栏内写出图中A、B、C D E的正确内
给程序输入二维数组W(l,J),其中I<M JWN( MT N均为正整数)。程序打印出数组 中绝对值最小的元素值Q=W( K, L),及其下标K L的值。假定数组中仅有一个绝对值最小 的元素。