软件工程期末复习题答案
- 格式:pdf
- 大小:192.47 KB
- 文档页数:10
软件工程(期末试题及答案)软件工程(期末试题及答案)一、选择题(共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大原则()。
《软件工程》期末复习题及答案1.运用所掌握的知识,通过抽象,给出该系统的结构,这就是A.系统建模B.软件开发C.问题求解D.验证确认3.结构化分析方法给出了一种能表达功能模型的工具是()。
A.HIP0图 B.PAD图 C.N-S图 D.DFD图7.在某大学学生学籍管理信息系统中,假设学生年龄的输入范围为16~40,则根据黑盒测试中的等价类划分技术,下面划分正确的是()。
A.可划分为2个有效等价类,2个无效等价类B.可划分为1个有效等价类,2个无效等价类C.可划分为2个有效等价类,1个无效等价类D.可划分为1个有效等价类,1个无效等价类10.是把对象的属性和服务结合成一个独立的系统单元,并尽可能隐藏对象的内部细节;继承是指子类可以自动拥有父类的全部属性和服务;()是对象发出的服务请求,一般包含提供服务的对象标识、服务标识、输入信息和应答信息等。
A.继承B.多态C.消息D.封装11.分层DFD中父子平衡是指()。
A.父加工的数据流数目与子图中数据流数目相同B.父图应包含子图中的全部数据流C.子图应包含父图中的全部数据流D.父加工和子图的输入数据和输出数据应分别保持一致2.在建模过程中,可用以描述加工的工具是()。
A.数据流 B.判定树 C.数据字典 D.数据存储13.以下软件生存周期的活动中,要进行软件结构设计的是()。
A.测试用例设计 B.概要设计C.程序设计 D.详细设计16.CMMI 成熟度等级中的第四级为()。
A.已定义级B.已定量管理级C.持续优化级D.已重复17.以下选项中,最适合于用交互式计算机软件解决的问题是()。
A.非结构化决策问题B.半结构化决策问题C.结构化决策问题D.确定性问题18.系统测试是将软件系统与硬件、外设和网络等其他因素结合,对整个软件系统进行测试。
不是系统测试的内容()。
A.路径测试 B.可靠性测试 C.安装测试 D.安全测试19.项目管理工具中,将网络方法用于工作计划安排的评审和检查的是()。
软件工程复习题(课程代码252258)一、填空题(本大题共60小题)1.数据项是指__不可再分解的___数据单元。
2.软件概要设计的主要任务就是___软件结构的设计___。
3.软件维护的内容包括校正性维持,适应性维护、____完善性维护_____和预防性维护。
4.在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和___数据存储对象___。
5.规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有容错功能的软件。
6.软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。
7.为了便于对照检查,测试用例应由输入数据和预期的输出结果两部分组成。
8.软件结构是以模块为基础而组成的一种控制层次结构。
9.在结构化分析中,用于描述加工逻辑的主要工具有结构化语言、判定表和判定表三种。
10.软件工程是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。
11.PDL是一种介于___自然语言___和形式化语言之间的半形式化语言。
12.从软件的功能角度划分,协助用户开发软件的工具性软件称为_支撑__软件13.消除软件结构中高扇入扇出的做法是______增加中间层次的控制模块_____。
14.如果一个软件系统的全部实际加工都由原子模块来完成,而其他所有非原子模块仅仅执行控制或协调功能,这样的系统就是____完全因子分解_____的系统。
15.软件的可移植性是指当把软件移植到不同的运行环境时,不需改变其__规格___就能照原样工作的特性。
16.为满足用户对软件提出的新的要求而对软件进行扩充、改进的维护称为____完善性__维护。
17.将整个软件划分成若干单独命名和可编址的部分,称之为___模块___。
18.软件需求的____物理视图_____给出处理功能和数据结构的实际表示形式。
19.在面向对象的开发技术中,__类___是一组具有相同数据结构和相同操作的对象的集合。
《软件工程》期末复习题及答案一、单项选择题(本大题共60小题,在每小题的四个备选答案中,选出一个正确答案,并将正确答案填涂在答题卡上)1. 软件危机产生的主要原因是 A 。
A.软件日益庞大B.不能与用户良好地沟通C.开发人员编写程序能力差D.没有适应的开发模型2.软件工程的发展不包括以下那个阶段 B 。
A.传统软件工程阶段B.自主化开发阶段C.过程软件工程阶段D.构件软件工程阶段3. 现代软件工程研究的内容不包括 D 。
A.软件开发模型B.软件开发方法C.软件支持过程D.软件开发质量4.以下哪个软件生存周期模型是一种风险驱动的模型 C 。
A.瀑布模型B.增量模型C.螺旋模型D.喷泉模型5.软件的开发方法不包括 C 。
A.结构化开发方法B.面向对象开发方法C.面向管理的开发方法D. 面向数据结构的开发方法6.软件生存周期中,准确地确定软件系统必须做什么的阶段是 B 。
A.可行性分析和项目开发计划 B.需求分析 C.概要设计D.详细设计7. 需求分析中开发人员要从用户那里了解 A 。
A.软件做什么B.用户使用界面C.输入的信息D.软件的规模8. 结构化分析建立功能模型的工具是 A 。
A.DFDB.判定树/判定表C.SCD.结构化语言9. 数据词典是对数据定义信息的集合,它所定义的对象都包含于 B 。
A.数据流图B.程序框图C.软件结构D.方框图10.用于描述结构化分析中数据流加工逻辑的是 A 。
A.判定 B.ER图 C.状态 D.用例图11.下列几种耦合类型,耦合性最高的是 A 。
A.公共耦 B.控制耦合 C.标记耦 D.数据耦合12. 通信内聚是指 B 。
A. 把需要同时执行的动作组合在一起形成的模块 B各处理使用相同的输入数据或者产生相同的输出数据C一个模块中各个处理元素都密切相关于同一功能且必须顺序执行 D模块内所有元素共同完成一个功能,缺一不可13.模块 B 定义为受该模块内一个判定影响的所有模块集合。
软件工程期末试题及答案一、选择题(每题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. 本地版本控制:通过在本地维护一份完整的代码仓库,实现对代码的版本控制。
软件工程期末试卷(十套含答案)-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分,共5分)A. 方法论B. 工具C. 过程D. 人员2. 下列哪一项不是软件生命周期的阶段?A. 需求分析B. 设计C. 编码D. 销售与市场A. 瀑布模型B. 喷泉模型C. 增量模型D. 敏捷模型4. 下列哪种方法不是软件需求获取的方法?A. 问卷调查B. 访谈C. 观察D. 编码A. 单一职责原则B. 开放封闭原则C. 里氏替换原则D. 依赖倒置原则二、判断题(每题1分,共5分)1. 软件工程的目标是生产出高质量的软件产品。
(√/×)2. 在软件开发过程中,需求分析阶段是最重要的阶段。
(√/×)3. 软件开发模型只有瀑布模型和喷泉模型两种。
(√/×)4. 在面向对象方法中,类是现实世界中实体的抽象。
(√/×)5. 软件测试的目的是证明软件的正确性。
(√/×)三、填空题(每题1分,共5分)1. 软件工程的三要素包括方法论、工具和______。
2. 软件生命周期包括需求分析、设计、编码、测试和______。
3. 在面向对象方法中,对象是现实世界中实体的______。
4. 软件开发模型包括瀑布模型、喷泉模型、增量模型和______。
5. 软件测试的目的是发现软件中的______。
四、简答题(每题2分,共10分)1. 简述软件工程的目标。
2. 简述软件生命周期的阶段。
3. 简述面向对象方法的基本概念。
4. 简述软件开发模型的作用。
5. 简述软件测试的目的。
五、应用题(每题2分,共10分)1. 假设你是一个软件开发人员,你需要为一个图书馆开发一个图书管理系统。
请列出该系统的需求。
2. 请解释瀑布模型和喷泉模型的区别。
3. 请解释面向对象方法中的继承和多态的概念。
4. 请解释软件测试中的黑盒测试和白盒测试的区别。
5. 请解释软件维护的类型。
六、分析题(每题5分,共10分)1. 假设你是一个软件开发人员,你需要为一个在线购物网站开发一个支付系统。
软件工程必备期末复习题选择题1.软件设计中划分模块的一个准则是( C )。
A 低内聚低耦合B低内聚高耦合C高内聚低耦合D.高内聚高耦合2.( A )是用户和设计交换最频繁的方法。
A、原型化方法B、瀑布模型法C、螺旋模型方法D、构件组装模型3. 试判断下列叙述中,哪个些是正确的( C )。
a、软件系统中所有的信息流都可以认为是事务流b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的A、aB、bC、cD、b和c4.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( C )A、硬件环境B、软件开发的环境C、软件开发工具和软件开发的环境D、开发人员的素质5.20世纪50年代以来,出现了许多不同的程序设计语言,下列语言中哪个语言是低级语言( D )A、PASCALB、VISUAL BASICC、C++D、汇编语言6. 软件测试的目的是?( D )A.软件的正确性B.找出软件系统中存在的所有错误C.证明软件系统中存在错误D.尽可能多的发现软件系统中的错误7.使用白盒测试方法时,确定测试数据应根据( A )和指定的覆盖标准。
A、程序的内部逻辑B、程序的复杂程度C、该软件的编辑人员D、程序的功能8.软件维护工作的最主要部分是( C )。
A、纠正性维护B、适应性维护C、完善性维护D、预防性维护9.PDL是( B )语言。
A.高级程序设计语言B、伪码式C、中级程序设计语言D、低级程序设计语言10.软件的结构化设计(SD)方法中,一般分为概要设计和详细设计两阶段,其中详细设计主要是要建立( C )。
A、软件结构B、软件过程C、软件模型D、软件模块11.在数据流图中,○(椭圆)代表( B )A、数据流B、转换C、数据源D、外部实体12.总体设计目的是确定整个系统的( D )。
A、规模B、测试方案C、费用D、功能及模块结构13. 检查软件产品是否符合需求定义的过程称为( A )。
软件工程期末试题(一)单项选择题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. 时序图13. 对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。
软件工程期末考试试卷附答案一. 选择题(每题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. 什么是软件工程?软件工程的基本原理和方法有哪些?答案:软件工程是将工程学原理和方法应用于软件开发的学科,旨在提高软件开发的效率和质量。
软件工程期末考试复习题答案《软件工程》选择题一、选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号,每小题1分)1.软件产品的开发主要是( D )。
A.复制B.再生产C.拷贝D.研制2.作坊式小团体合作生产方式的时代是( C )时代。
A.程序设计B.软件生产自动化C.程序系统D.软件工程3.软件工程与计算机科学性质不同,软件工程着重于( C )。
A.理论研究B.原理探讨C.建造软件系统D.原理的理论4.将每个模块的控制结构转换成计算机可接受的程序代码是( A )阶段的任务。
A.编码B.需求分析C.详细设计D.测试5.可行性研究的目的是决定( B )。
A.开发项目B.项目值得开发否C.规划项目D.维护项目6.SA方法用DFD描述( D ) 。
A.系统的控制流程 B.系统的数据结构C.系统的基本加工 D.系统的功能7.进行需求分析可使用多种工具,但( C )是不适用的。
A. 数据流图(DFD)B. 判定表C. PAD图D. 数据字典8.结构化分析(SA)方法将欲开发的软件系统分解为若干基本加工,并对加工进行说明,下述是常用的说明工具,其中便于对加工出现的组合条件的说明工具是( A)。
a.结构化语言;b.判定树;c.判定表。
A. b和cB. a,b和cC. a和cD. a和b9.软件概要设计结束后得到( B )。
A.初始化的软件结构图B.优化后的软件结构图C.模块详细的算法D.程序编码10.软件设计阶段一般又可分为 ( B )。
A.逻辑设计与功能设计B.概要设计与详细设计C.概念设计与物理设计D.模型设计与程序设计11.软件设计中划分模块的一个准则是( C )。
A.低聚低耦合B.低聚高耦合C.高聚低耦合D.高聚高耦合12.PDL是软件开发过程中用于( C )阶段的描述工具。
A.需求分析B.概要设计C.详细设计D.编程13.下列语言中哪个语言是低级语言( D )A. PASCALB.VISUAL BASICC. C++D.汇编语言14.软件测试的目的是( B )。
软件工程期末试题(一)单项选择题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. 时序图13. 对象实现了数据和操作的结合,使数据和操作( 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.瀑布模型把软件生命周期划分为八个阶段:问题定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试与运行、维护。
八个阶段又可归纳为三个大阶段:计划阶段、开发阶段与_。
( 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.软件测试的目的是()。
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)如何组织软件评审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)系统功能B)局部数据结构C)重要的执行路径D)错误处理12.软件测试过程中的集成测试主要是为了发现()阶段的错误。
A)需求分析B)概要设计C)详细设计D)编码13.不属于白盒测试的技术是()。
A)路径覆盖B)判定覆盖C)循环覆盖D)边界值分析14.集成测试时,能较早发现高层模块接口错误的测试方法为()。
A)自顶向下渐增式测试B)自底向上渐增式测试C)非渐增式测试D)系统测试15.确认测试以()文档作为测试的基础。
A)需求规格说明书B)设计说明书C)源程序D)开发计划16.使用白盒测试方法时,确定测试数据应根据()和指定的覆盖标准。
A)程序内部逻辑B)程序的复杂度C)使用说明书D)程序的功能17.程序的三种基本结构是()。
A)过程子、程序、分程序B)顺序、选择、循环C)递归、堆栈、队列D)调用、返回、转移18.结构化程序设计的一种基本方法是()A)筛选法B)递归法C)归纳法D)逐步求精法19.软件调试的目的是()A)找出错误所在并改正之B)排除存在错误的可能性C)对错误性质进行分类D)统计出错的次数20.程序三种基本结构的共同特点是()A)不能嵌套使用B)只能用来写简单程序C)已经用硬件实现D)只有一个入口和一个出口21.下面说法正确的是()。
A)经过测试没有发现错误说明程序正确B)测试的目标是为了证明程序没有错误C)成功的测试是发现了迄今尚未发现的错误的测试D)成功的测试是没有发现错误的测试22.覆盖准则最强的是()。
A)语句覆盖B)判定覆盖C)条件覆盖D)路径覆盖23.发现错误能力最弱的是()。
A)语句覆盖B)判定覆盖C)条件覆盖D)路径覆盖24.实际的逻辑覆盖测试中,一般以()为主设计测试用例。
A)条件覆盖B)判定覆盖C)条件组合覆盖D)路径覆盖25.下面()方法能够有效地检测输入条件的各种组合可能引起的错误。
A)等价类划分B)边界值分析C)错误推测D)因果图26.与确认测试阶段有关的文档是()。
A)需求规格说明书B)概要设计说明书C)详细设计说明书D)源程序27.超出软件工程范围的测试是()。
A)单元测试B)集成测试C)确认测试D)系统测试28.软件测试不需要了解软件设计的()。
A)功能B)内部结构C)处理过程D)条件29.()方法需要考察模块间的接口和各模块之间的联系。
A)单元测试B)集成测试C)确认测试D)系统测试30.调试应该由()完成。
A)与源程序无关的程序员B)编制该源程序的程序员C)不了解软件设计的机构D)设计该软件的机构31.基线是软件生存期中各开发阶段的一个特定点,它可作为一个检查点,当采用的基线发生错误时,我们可以返回到最近和最恰当的()上。
A)配置项B)程序C)基线D)过程32.版本管理是对系统不同版本进行的()过程A)标识与跟踪B)标识变更C)发布变更D)控制变更33.在变更控制中,管理各个用户存取和修改一个特定软件配置对象的权限是()。
A)异步控制B)同步控制C)存取控制D)基线控制34.在配置管理中,“登入”和“检出”处理实现了两个重要的变更控制要素,即同步控制和()。
A)异步控制B)同步控制C)基线控制D)存取控制35.按照软件配置管理的原始指导思想,受控制的对象应是()。
A)软件元素B)软件配置项C)软件项目D)软件过程36.软件配置项是软件配置管理的对象,指的是软件工程过程中所产生的()。
A)接口B)软件环境C)信息项D)版本37.在变更控制中,可用来确保由不同用户所执行的并发控制是()。
A)异步控制B)同步控制C)存取控制D)基线控制38.以下说法错误的是()。
A)软件配置管理简称SCIB)软件配置项是配置管理的基本单位C)软件配置实际上是一动态的概念D)软件工程过程中某一阶段的变更均要引起软件配置的变更39.在设计人机界面时,应主要考虑的因素有()。
A)系统响应时间B)错误处理C)用户求助机制D)以上都是40.人机界面的风格大致经过了()代的演变A)一B)二C)三D)四二、填空题1.软件测试的目的是尽可能多地发现软件中存在的,将作为纠错的依据。
2.测试阶段的基本任务是根据软件开发各阶段的和程序的,精心设计一组,利用这些实例执行,找出软件中潜在的各种和。
3.测试用例由和预期的两部分组成。
4.软件测试方法一般分为两大类:方法和方法。
5.动态测试通过发现错误。
根据的设计方法不同,动态测试又分为与两类。
6.静态测试采用和的手段对程序进行检测。
7.人工审查程序偏重于的检验,而软件审查除了审查还要对各阶段进行检验。
8.计算机辅助静态分析利用工具对测试程序进行分析。
9.黑盒法只在软件的处进行测试,依据说明书,检查程序是否满足要求。
10.白盒法必须考虑程序的和,以检查的细节为基础,对程序中尽可能多的逻辑路径进行。
11.白盒测试是测试,被测对象是,以程序的为基础设计测试用例。
12.逻辑覆盖是对程序内部有存在的逻辑结构设计测试用例,根据程序内部的逻辑覆盖程度又可分为、、、、和6种覆盖技术。
13.实际的逻辑覆盖测试中,一般以覆盖为主设计测试用例,然后再补充部分用例,以达到覆盖测试标准。
14.循环覆盖是对程序内部有存在的逻辑结构设计测试用例,它通过限制来测试。
15.基本路径测试是在程序基础上,通过分析控制构造的复杂性,导出集合,从而设计测试用例。
16.黑盒测试是测试,用黑盒技术设计测试用例有4种方法:、、和。
17.等价类划分从程序的说明,找出一个输入条件(通常是或),然后将每个输入条件划分成两个或多个。
18.边界值分析是将测试情况作为重点目标,选取正好等于、刚刚大于或刚刚小于的测试数据。
如果输入或输出域是一个有序集合,则应选取集合的元素和元素作为测试用例。
19.在测试程序时,根据经验或直觉推测程序中可能存在的各种错误,称为。
20.因果图的基本原理是通过画图,把用自然语言描述的转换为,最后为每一列设计一个测试用例。
21.测试的综合策略是在测试中,联合使用各种方法。
通常先用法设计基本的测试用例,再用法补充一些必要的测试用例。
22.软件测试过程中需要3类信息:、和。
23.软件测试一般经过4个测试:、、和。
24.指对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误,它涉及和的文档。
25.单元测试主要测试的5个基本特征:、、、和。
26.在单元测试中,需要为被测模块设计模块和模块。
用来模拟被测模块的上级调用模块,用来代替被测模块所调用的模块。
27.集成测试指在测试基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试。
也称测试或测试。
28.集成测试的方法有两种:和。
29.渐增式测试有两种不同的组装模块的方法:和。
30.自顶向下渐增式测试不需要编写模块,只需要编写模块,其步骤是从模块开始,沿着被测程序的的控制路径逐步向下测试,它有两种组合策略:和。
31.自底向上渐增式测试不需要编写模块,只需要编写模块。
32.确认测试指检查软件的与是否与说明书中确定的指标相符合,又称测试。
33.确认测试在模拟环境下运用测试方法,由和参加的测试。
34.确认测试开始前需要制定计划,结束后要写出报告。
其测试用例要选用的数据。
35.软件配置审查的任务是检查软件的所有文档资料的和。
36.调试也称,是在成功的测试之后才开始进行,其目的是确定错误的和,并改正错误。
37.调试技术包括、、和。
38.回溯法调试是从出发,而归纳法调试是从入手。
39.被测试程序不在机器上运行,而是采用人工检测和计算机辅助分析检测的手段称为测试。
40.用等价类划分法设计一个测试用例时,使其覆盖尚未被覆盖的合理等价类。
41.用等价类划分法设计一个测试用例时,使其覆盖不合理等价类。
42.在单元测试时,需要为被测模块设计。
43.在集成测试时有两种测试方法,它们是。
44.软件测试是为了而执行程序的过程。
45.运行被测程序的方法称为测试。
46.动态测试中,主要测试软件功能的方法称为法。
47.选择测试用例,使得被测程序中每个判定的每个分支至少执行一次,这种逻辑覆盖标准称为。
48.要覆盖含循环结构的所有路径是不可能的,一般通过限制来测试。
49.用等价类划分法设计测试用例时,如果被测程序的某个输入条件规定了取值范围,则可确定一个合理的等在和。
50.凭经验或直觉推测程序中可能存在的错误而设计测试用例的方法是。
51.集成测试中的具体方法是。
52.确认测试阶段的两项工作是。
53.在单元测试中,测试一个模块时,需要设计。
54.软件配置管理,简称SCM,它用于整个软件工程过程。
其主要目标是:、、、。
55.SCM是一组管理整个软件生存期各阶段中的活动。
56.基线的作用是把各阶段的开发工作划分得更加明确,便于检查与确认阶段成果。
因此,基线可以作为项目的一个。
三、名词解释1.软件测试2.静态测试3.动态测试4.黑盒测试5.白盒测试6.语句覆盖7.判定覆盖8.条件覆盖9.判定/条件覆盖10.条件组合覆盖11.路径覆盖12.测试用例13.驱动模块14.桩模块15.单元测试16.集成测试17.确认测试18.渐增式测试19.非渐增式测试20.调试21.人的因素的含义22.基线23.软件配置管理24.软件配置项四、简答题1.为什么说软件测试是软件开发中不可缺少的重要一环,但不是软件质量保证的安全网?2.软件测试的目的是什么?为什么把软件测试的目的定义为只是发现错误?3.软件测试应当遵循什么原则?为什么要遵循这些原则?4.软件测试的步骤是什么?这些测试与软件开发各阶段之间的关系?5.软件测试的过程是什么?6.单元测试、集成测试和确认测试各自主要目标是什么?它们之间有什么不同?相互有什么关系?7.什么是黑盒测试与白盒测试?它们都适应哪些测试?8.简述软件测试与软件调试的区别。