软件工程试题(卷)(附答案解析)

合集下载

软件工程试卷(附答案)

软件工程试卷(附答案)

软件工程试卷(附答案)1.软件生命周期模型有多种,其中不属于软件生命周期模型的是(C)功能模型。

2.下列说法错误的是(C)瀑布模型和增量模型都属于整体开发模型。

3.可行性分析中,系统流程图用于描述(A)当前运行系统。

4.研究软硬件资源的有效性是进行(A)技术可行性研究的一方面。

5.数据字典中,一般不包括下列选项中的(D)源点与终点条目。

6.SA方法的分析步骤是首先调查了解当前系统的工作流程,然后(A)获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型。

7.通过(B)功能分解可以完成数据流图的细化。

8.对软件进行分解,是为了(C)降低模块的复杂程度,并降低模块间接口的复杂程度。

9.为了提高模块的独立性,模块内部最好是(C)功能内聚。

10.在软件结构设计完成后,对于下列说法,正确的是(C)一个模块的扇出太多,说明该模块过分复杂,缺少中间层。

11.在软件开发过程中,以下说法正确的是(B)N-S图不可能任意转移控制,符合结构化原则。

A.软件开发过程是线性的B.软件开发过程是迭代的C.软件开发过程是风险驱动的D.软件开发过程是需求驱动的3、软件需求分析的主要任务是(ABC)。

A.确定用户需求B.建立系统模型C.规定系统功能D.编写程序代码4、以下属于软件设计阶段的活动是(BCD)。

A.编写用户手册B.确定模块划分C.设计系统结构D.选择数据结构和算法5、软件测试的主要目的是(ABD)。

A.发现软件缺陷B.提高软件质量C.证明软件正确性D.评估软件可靠性6、软件维护的主要种类有(ABC)。

A.纠错性维护B.适应性维护C.完善性维护D.重构性维护7、以下属于软件过程改进的方法是(ACD)。

A.引入新的开发方法B.增加人员数量C.培训人员D.引入新的工具和技术8、以下属于软件质量特性的是(ABCD)。

A.可靠性B.可维护性C.可用性D.可重用性9、软件工程的基本原则包括(ABCD)。

A.逐步求精B.分阶段进行C.严格控制D.重视质量10、以下属于软件开发生命周期模型的是(ABCD)。

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

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

软件工程考试试题(含答案)软件工程考试试题(含答案)1. 简答题1.1 请简述软件生命周期模型,包括传统瀑布模型和敏捷开发模型。

传统瀑布模型:软件生命周期模型的一种经典模型,包含需求分析、系统设计、编码、测试和运维等阶段,每个阶段完成后才能进入下一个阶段。

优点:- 易于理解和使用;- 需求固定,有利于计划和控制;缺点:- 需求变更困难;- 风险高,需求出错难以弥补;- 开发周期长,无法满足紧迫的需求。

敏捷开发模型:一种适应快速变化需求的软件开发模型,主要包括用户故事编写、迭代开发、持续集成和自动化测试等实践。

优点:- 高度适应变化;- 可以提供早期可用软件;- 强调团队合作和沟通;缺点:- 需要高度的客户参与度;- 需要经验丰富的开发团队;- 不适用于大型项目。

1.2 什么是需求工程?请简述需求工程的过程和方法。

需求工程:需求工程是软件开发过程中用来获取、分析、定义和验证系统需求的过程。

它的目标是建立对用户需求的准确和完整的理解。

需求工程的过程:1. 需求获取:通过与用户、利益相关者沟通和交流获取用户需求。

2. 需求分析:对需求进行分析、整理,形成需求的详细描述。

3. 需求定义:将需求进行文档化,包括功能需求、非功能需求等。

4. 需求验证:通过原型、模型或评审等方式验证需求的正确性和完整性。

需求工程的方法:- 面谈法:与用户、利益相关者进行面对面的交谈,获取需求信息。

- 观察法:观察用户的工作环境和行为,了解其需要的功能和约束条件。

- 文献研究法:通过研究现有的相关文档来获取需求信息。

- 原型法:通过创建原型,让用户提供反馈并进一步明确需求。

2. 算法设计题有一组整数,编写一个算法将这组整数按照从小到大的顺序进行排序。

算法设计:1. 将整数数组按照从小到大的顺序进行排序。

2. 使用冒泡排序算法:- 比较相邻的两个数,如果前一个数大于后一个数,则交换它们的位置。

- 重复上述操作,直到没有任何交换发生,即数组已经按照从小到大的顺序排列好。

软件工程试题及答案解析

软件工程试题及答案解析
8. UML 的图形化工具分为两类:行为图和()
A.结构图 B.状态图 C.部署图 D.用况图 ABCD 正确答案: A
9. 根据 RUP 实现活动,输入为设计类和接口,活动为实现类,则输出为()
A.构件 B.用况 C.接口 D.子系统 ABCD 正确答案: A
10. 下列软件测试技术中,依据软件行为描述的是()
RUP 的设计模型是 RUP 设计的主要结果,它尽量保持该系统具有分析模型的结抅,并作为 系统实现的输入。它包括以下元素: (1)设计子系统和服务子系统,以及它们的依赖、接口和内容; (2)设计类,以及它们具有的操作、属性、关系及其实现需求; (3)用况细化; (4)体系结构描述;
37. 简述因果图方法生成测试用例的基本步骤。 正确答案: (1)通过对软件规格说明书的分折,找出一个模块的原因和结果,并给每个原因和结果赋予 一个标识符; (2)分析原因与结果之间以及原因与原因之间对应的关系,并画出出因果图; (3)在因果图上标识出一些特定的约束或限制条件; (4)把因果图转换成判定表; (5)为判定表的每一列设计测试用例。
22.关联一端的类目对另一端的类目的一种呈现,称为____________。 正确答案: 角色
23. RUP 采用_________技术来获取需求。 正确答案: Use Case( 或用例、用况)
24. 由于软件错误的复杂性,在软件工程测试中,应综合运用测试技术,并且应实施合理的测试 序列:单元测试、___________、有效性测试和系统测试。 正确答案: 集成测试(或组装测试)
12.单元测试期间,通常考虑模块的() A.错误执行路径 B.正确执行路径 C.有判定语句的执行路径 D.全部执行路径 ABCD 正确答案: A
13. 软件基本过程是指那些与软件生产直接相关的活动集,可分为获取过程、供应过程、运行过

软件工程考试题及答案

软件工程考试题及答案

软件工程考试题及答案一、选择题1. 下列哪个不是软件工程的基本原则?A. 持续集成B. 形式化表示C. 高内聚低耦合D. 可重用性答案:B. 形式化表示2. 软件的可靠性是指什么?A. 软件的正确性B. 软件的可维护性C. 软件的效率D. 软件的稳定性答案:D. 软件的稳定性3. 下列哪个不是软件测试的目标?A. 发现软件中的错误和缺陷B. 验证软件是否满足用户需求C. 评估软件的质量D. 在短时间内完成软件开发答案:D. 在短时间内完成软件开发二、判断题1. 软件工程是一门工程学科,其目标是通过系统化的、规范化的方法对软件进行开发、运行和维护。

答案:正确2. “高内聚低耦合”是软件工程中的重要原则,指的是模块之间的独立性和模块之间的依赖程度。

答案:正确3. 软件需求分析是软件开发过程中的最后一步,最终确定软件系统的功能和性能。

答案:错误三、简答题1. 什么是软件工程?答:软件工程是一门工程学科,通过系统化的、规范化的方法对软件进行开发、运行和维护。

它涉及软件开发的各个阶段,包括需求分析、设计、编码、测试和维护等,并注重管理和团队合作,以提高软件质量、降低开发成本和加快开发进度。

2. 软件测试的目的是什么?答:软件测试的目的是发现软件中的错误和缺陷,验证软件是否满足用户需求,并评估软件的质量。

通过测试,可以提高软件的可靠性和稳定性,减少软件在使用过程中的风险。

3. 请简述软件开发生命周期中的各个阶段。

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

- 需求分析阶段:确定软件系统的功能、性能和约束条件,明确用户需求。

- 设计阶段:根据需求分析结果设计软件系统的结构和模块,确定软件的整体框架。

- 编码阶段:根据设计阶段的文档编写程序代码,实现软件系统的各个功能。

- 测试阶段:对软件进行各种测试,包括单元测试、集成测试和系统测试,以发现错误和缺陷。

- 维护阶段:根据用户反馈和需求变化,对软件进行修复和更新,确保其持续稳定运行。

软件工程学试题及答案

软件工程学试题及答案

软件工程学试题及答案一、单项选择题(每题2分,共10分)1. 软件工程的目的是()。

A. 提高软件的生产率B. 提高软件的运行效率C. 降低软件的生产成本D. 提高软件的可维护性答案:A2. 下列哪项不是软件需求分析的任务?()。

A. 确定软件的功能需求B. 确定软件的性能需求C. 确定软件的界面需求D. 确定软件的测试需求答案:D3. 软件生命周期中,()阶段是确定软件需求的阶段。

A. 需求分析B. 系统设计C. 编码D. 测试答案:A4. 软件测试的目的是()。

A. 证明软件是正确的B. 证明软件存在错误C. 发现软件中的错误D. 证明软件不存在错误答案:C5. 软件危机主要表现在()。

A. 软件成本B. 软件质量C. 软件进度D. 所有选项答案:D二、多项选择题(每题3分,共15分)1. 软件工程的基本原理包括()。

A. 用分阶段的生命周期计划严格管理B. 强调开发过程的迭代性质C. 采用合适的编程规范D. 强调软件工具的使用答案:ABD2. 软件需求分析的常用方法包括()。

A. 数据流图B. 用例图C. 状态转换图D. 流程图答案:ABC3. 软件测试的类型包括()。

A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:ABCD4. 软件维护的类型包括()。

A. 校正性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:ABCD5. 软件工程中常用的设计模式包括()。

A. 单例模式B. 工厂模式C. 观察者模式D. 策略模式答案:ABCD三、简答题(每题5分,共20分)1. 简述软件工程中的模块化设计原则。

答案:模块化设计原则要求将系统分解成若干个模块,每个模块具有高内聚、低耦合的特点,以便于系统的开发、测试、维护和理解。

2. 描述软件需求分析的重要性。

答案:软件需求分析是软件开发过程中的关键步骤,它确保了开发团队对用户需求有清晰的理解,有助于避免开发出不符合用户需求的软件,减少返工和成本。

软件工程考试题 带答案

软件工程考试题 带答案

软件工程考试题带答案软件工程考试题一、单项选择题(每题5分,共30分)1.软件需求分析的主要目标是:A. 发现并修正软件中的错误B. 确定软件系统的功能和性能需求C. 编写软件代码D. 打印和发布软件答案:B2. 下列哪个是软件生命周期模型?A. 瀑布模型B. 微服务架构C. 敏捷开发D. 协同开发答案:A3. 软件设计阶段的主要目标是:A. 开发详细的测试计划B. 创建软件的体系结构和模块设计C. 编写和调试软件代码D. 验收和发布软件答案:B4. 软件测试的主要目的是:A. 发现并修复软件错误B. 确保软件系统符合质量标准C. 完成软件系统的开发D. 验收和发布软件答案:B5. 下列哪个是软件项目管理过程中的常用工具?A. 甘特图B. 数据流图C. 类图D. 鱼骨图答案:A6. 下列哪个是软件配置管理的主要目标?A. 确保软件开发过程的质量B. 管理软件中不同部分的变更C. 编写和调试软件代码D. 验收和发布软件答案:B二、简答题(每题10分,共20分)1. 简要解释软件工程的概念。

答:软件工程是一门研究和应用工程原理、方法和工具来开发和维护高质量软件的学科。

它注重应用系统性的、规范化的方法来开发和维护软件,以提高软件的质量、效率和可维护性。

2. 请简述瀑布模型的基本原理。

答:瀑布模型是软件开发过程中最早也是最广泛使用的模型之一。

它基于线性顺序的开发过程,将软件开发划分为需求分析、设计、开发、测试和运行维护等不同阶段,每个阶段按照顺序进行。

三、案例分析题(40分)某公司正在开发一个电商网站,你作为软件工程师参与其中。

请回答以下问题:1. 在需求分析阶段,你应该做些什么?答:在需求分析阶段,我应该与客户沟通,了解他们的需求和期望。

我将分析和记录客户的功能和性能需求,制定需求规格说明书,并与团队成员一起进行需求评审,确保需求的准确性和完整性。

2. 在设计阶段,你应该做些什么?答:在设计阶段,我将设计软件系统的体系结构和模块设计。

软件工程期末考试题[含答案解析]

软件工程期末考试题[含答案解析]

软件工程期末考试题[含答案解析]一、选择题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.从实用角度看,数据规范化在大多数场合选用第____范式。

全国2024年4月高等教育自考试软件工程试题含解析

全国2024年4月高等教育自考试软件工程试题含解析

全国2024年4月高等教育自考试软件工程试题一、单项选择题1、软件生存周期是指______。

A.开发软件的全部时间B.使用软件的全部时间C.开发和使用软件的全部时间D.从形成概念开始到最后淘汰让位于新的软件产品的时间2、在常见的软件开发模型中,主要用于支持面向对象技术软件开发的是______。

A.喷泉模型B.螺旋模型C.增量模型D.瀑布模型3、RUP设计阶段的主要活动不包含______。

A.程序设计B.体系结构设计C.用况设计D.类设计4、需求规约的基本性质包括重要性和稳定性程度、一致的、完整的和______。

A.可修改的B.可复用的C.可测试的D.无歧义的5、“与所规约的系统执行之间的偏差”是指______。

A.错误B.失效C.故障D.误差6、RUP中,用于捕获系统语境中的一些重要领域对象,其中领域对象表达系统工作环境中存在的事物或发生的事件,领域模型一般采用______。

A.PAD图B.流程图C.类图D.N-S图7、集成化能力成熟度模型(CMMI)针对每个过程域设定了能力等级,其中最高级为______。

A.3级B.4级C.5级D.6级8、RUP的分析类包括边界类、实体类和______。

A.子类B.控制类C.父类D.活动类9、类的状态机一般有几种不同的运行状态,其中处于等待接收事件,接收处理完事件后又进入等待状态,通常采用______。

A.IdleB.InitializingC.CommandD.Active10、使用用况图可以实现业务建模和系统建模,而得到业务模型和系统模型之间具有的关系是______。

A.整体/部分B.一般/特殊C.功能/过程D.静态/动态11、结构精细化设计过程中,为了提高模块的独立性,应遵循的原则是______。

A.低内聚高耦合B.低内聚低耦合C.高内聚低耦合D.高内聚高耦合12、面向对象方法源于面向对象______。

A.分析B.设计C.建模语言D.编程语言13、《ISO/IEC软件生存周期过程12207-1995》标准按过程主体把软件生存周期过程分为基本过程、组织过程和______。

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

一、单项选择题(每题2分,共40分)1.软件生存周期模型有多钟,下列选项中,(C)不是软件生存周期模型。

A.螺旋模型B.增量模型C.功能模型D.瀑布模型2.以下说法错误的是(C)。

A.增量模型是在瀑布模型的基础上加以修改而形成的B.增量模型推迟某些阶段或所有阶段中的细节,从而较早地产生工作软件C.瀑布模型和增量模型都属于整体开发模型D.瀑布模型规定在开始下一个阶段的工作之前,必须完成前一阶段的所有细节3.可行性分析中,系统流程图用于描述(A)。

A.当前运行系统B.当前逻辑模型C.目标系统D.新系统4.研究软硬件资源的有效性是进行(A)研究的一方面。

A.技术可行性B.经济可行性C.社会可行性D.操作可行性5、数据字典中,一般不包括下列选项中的(D)条目。

A.数据流B.数据存储C.加工D.源点与终点6、SA方法的分析步骤是首先调查了解当前系统的工作流程,然后(A)。

A.获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型B.获得当前系统的物理模型,抽象出目标系统的逻辑模型,建立目标系统的物理模型C.获得当前系统的逻辑模型,抽象出目标系统的物理模型,建立目标系统的逻辑模型D.获得当前系统的逻辑模型,抽象出目标系统的物理模型,建立目标系统的物理模型7、通过(B )可以完成数据流图的细化。

A.结构分析B.功能分解C.数据分析D.系统分解8、对软件进行分解,是为了(C)。

A.降低模块的复杂程度B.降低模块间接口的复杂程度C.降低模块的复杂程度,并降低模块间接口的复杂程度D.降低模块的复杂程度,并提高模块间接口的复杂程度9、为了提高模块的独立性,模块部最好是(C)。

A.逻辑聚B.时间聚C.功能聚D.通信聚10、在软件结构设计完成后,对于下列说法,正确的是(C)。

A.非单一功能模块的扇入数大比较好,说明本模块重用率高B.单一功能的模块扇入高时应重新分解,以消除控制耦合的情况C.一个模块的扇出太多,说明该模块过分复杂,缺少中间层D.一个模块的扇入太多,说明该模块过分复杂,缺少中间层11、在软件开发过程中,以下说确的是(B)。

A.程序流程图是逐步求精的好工具B.N-S图不可能任意转移控制,符合结构化原则C.判定表是一种通用的设计工具D.程序流程图和N-S图都不易表达模块的层次结构12、面向数据结构的设计方法(Jackson方法)是进行(B)的形式化的方法。

A.系统设计B.详细设计C.软件设计D.编码13、所有的对象可以成为各种对象类,每个对象类都定义了一组(B)A.说明B.方法C.过程D.类型14、以下说法错误的是(D)A.对象具有很强的表达能力和描述功能B.对象是人们要进行研究的任何事务C.对象是封装的基本单位D.类封装比对象封装更具体、更细致15、以下说确的是(B)A.功能模型不包括对象模型中值的约束条件B.功能模型说明对象模型中操作的含义C.功能模型说明动态模型中约束的含义D.功能模型说明对象模型中动作的意义16、以下说法错误的是(D)A.面向对象方法不仅支持过程抽象,而且支持数据抽象B.某些面向对象的程序设计语言还支持参数化抽象C.信息隐蔽通过对象的封装性来实现D.在面向对象方法中,类是最基本的模块17、以下说法错误的是(A)A.多态性防止了程序相互依赖性而带来的变动影响B.多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果C.多态性与继承性相结合使软件具有更广泛的重用性和可扩充性D.封装性是保证软件部件具有优良的模块性的基础18、软件可维护性的特征中相互矛盾的是(C)。

A.可修改性和可理解性B.可测试性和可理解性C.效率和可修改性D.可理解性和可读性19、以下说确的是(C)。

A.组装结构可用来描述现实世界中的一般的抽象关系B.分类结构可用来描述现实世界中的类的组成的抽象关系C.面向对象的继承性是子类自动共享父类数据结构和方法的机制D.面向对象的唯一性是指将具有一致性的数据结构(属性)和行为(操作)的对象抽象成类20、以下说法错误的是(A)A.面向对象分析与面向对象设计的行医没有明显区别B.在实际的软件开发过程中面向对象分析与面向对象设计的界限是模糊的C.面向对象分析和面向对象设计活动一个多次迭代的过程D.从面向对象分析到面向对象设计,是一个逐渐扩充模型的过程一、多项选择题(每题2分,共20分)1、软件危机产生的主要原因是(AE )。

A.软件本身的特点B.用户使用不当C.硬件可靠性差D.对软件的错误认识E.缺乏好的开发方法和手段2、以下说法中正确的是(BCD)。

A.快速原型思想是在研究概要设计阶段的方法和技术中产生的B.探索型和实验型快速原型采用的是抛弃策略C.演化型快速原型采用附加策略D.快速原型是利用原型辅助软件开发的一种新思想3、下列叙述中,(ABD)是不正确的。

A.软件系统中所有的信息流都可以认为是事物流B.软件系统中所有的信息流都可以认为是变换流C.事务分析和变换分析的设计步骤是基本相似的D.事务分析和变换分析的设计步骤完全不同4、在程序的描述和分析中,下列哪个不是用以指明数据来源、数据流向和数据处理的辅助图形(ACD)。

A.瀑布模型B.数据流图C.数据结构图D.业务图5、软件维护是保证软件正常、有效的重要手段,而软件的下述特性中(ABCD)有利于软件的维护。

A.可测试性B.可理解性C.可修改性D.可移植性6、软件需求规格说明书的容包括对(ACD)的描述。

A.主要功能B.算法的详细过程C.用户界面及运行环境D.软件的性能7、下列说确的是(ACD)。

A.变换型的DFD是由输入、变换(或称处理)和输出三部分组成B.变换型数据处理的工作过程一般分为三步:处理数据、变换数据和再处理数据C.变换输入端的数据流为系统的逻辑输入,它将外部形式的数据变换成部形式,送给主加工。

D.变换输出端为逻辑输出,它把主加工产生的数据的部形式转换成外部形式后物理输出。

8、以下说确的是(ABC)。

A.面向对象方法不仅支持过程抽象,而且支持数据抽象B.某些面向对象的程序设计语言还支持参数化抽象C.信息隐藏通过对象的封装性来实现D.在面向对象方法中,类是最基本的模块9、在程序设计过程中,要为程序调试做好准备,主要体现在(ABC)。

A.采用模块化、结构化的设计方法设计程序B.编写程序时要为调试提供足够的灵活性C.根据程序调试的需要,要选择并安排适当的中间结果输出和必要的断点D.以上答案都不正确10、对象间的关系可以有哪几种关系(BCD)。

A.一对多关系B.一般-特殊关系C.整体-部分关系D.二、填空题(每空1分,共15分)1.快速原型的思想是在研究______需求分析_____的方法和技术中产生的。

2. _____可行性研究_____的目的就是用最小的代价在尽可能短的时间确定该软件项目是否能够开发,是否值得去开发。

3.经过需求分析,开发人员已经基本上理解了用户的要求,确定了目标系统的功能,定义了系统的数据,描述了处理这些数据的基本策略。

将这些共同的理解进行整理,最后形成文档_____需求规格说明书______.4.两个模块通过全程变量相互作用,这种耦合方式称为_____公共耦合______。

5.再详细设计阶段,除了对模块的算法进行设计,还应对模块的_____数据结构_____进行设计。

6.子类自动共享父类的属性和操作的机制称为_____继承_____。

7.在UML语言中,利用_____用例图_____来对需求分析中的问题进行描述。

8.对象抽象是_____类_____,类的具体化就是_____对象_____。

9.用等价类划分法设计测试用例时,如果被测试程序的某个输入条件规定了取值围,则可以确定一个合理等价类和_____两个不合理等价类_____。

10.用黑盒技术设计测试用例的方法有_____等价类划分_____、_____边界值分析_____、_____错误推测_____和_____因果图_____。

11.在单元测试中,测试一个模块时,需要设计_____驱动模块_____。

三、简答题(每题6分,共24分)1、测试面向对象软件时,单元测试、集成测试和确认测试各有哪些新特点?单元测试:集中检测软件设计的最小单元——模块。

通常,单元测试和编码属于软件过程的同一个阶段。

在编写出源程序代码并通过了编译程序的语法检查之后,就可以用详细设计描述作指南,对重要的执行通路进行测试,以便发现模块部的错误。

可以应用人工测试和计算机测试这样两种不同类型的测试方法,完成单元测试工作。

这两种测试方法各有所长,互相补充。

通常,单元测试主要使用白盒测试技术,而且对多个模块的测试可以并行地进行。

集成测试:是测试和组装软件的系统化技术,例如,子系统测试即是在把模块按照设计要求组装起来的同时进行测试,主要目标是发现与接口有关的问题(系统测试与此类似)。

例如,数据穿过接口时可能丢失;一个模块对另一个模块可能由于疏忽而造成有害影响;把子功能组合起来可能不产生预期的主功能;个别看来是可以接受的误差可能积累到不能接受的程度;全程数据结构可能有问题等等。

不幸的是,可能发生的接口问题多得不胜枚举。

确认测试:也称为验收测试,它的目标是验证软件的有效性。

上面这句话中使用了确认(validation)和验证(verification)这样两个不同的术语,为了避免混淆,首先扼要地解释一下这两个术语的含义。

通常,验证指的是保证软件正确地实现了某个特定要求的一系列活动,而确认指的是为了保证软件确实满足了用需求而进行的一系列活动。

2.为什么说类构件是目前比较理想的可重用软构建?它有哪些重用方式?面向对象技术中的“ 软件重用。

面向对象技术中的“类”,是比较理想的可重用的软构件,不妨称之为类构件,可重用的软构件,不妨称之为类构件,在上一小节中讲述的构件组装模型,就是利用类构件来构造应用程讲述的构件组装模型,序。

可重用的软构件应具备的特点 1. 可重用的软构件应具备的特点模块独立性强 (1) 模块独立性强 (2) 具有高度可塑性具有高度可塑性接口清晰、简明、可靠 (3) 接口清晰、简明、可靠 2. 类构件的重用方式类构件的重用方式实例重用 (1) 实例重用继承重用 (2) 继承重用面向对象方法特有的继承性,面向对象方法特有的继承性,提供了一种对已有的类构件进行裁剪的机制。

的类构件进行裁剪的机制。

当已有的类构件不能通过实例重用完全满足当前系统需求时,实例重用完全满足当前系统需求时,继承重用提供了一种安全地修改已有类构件,一种安全地修改已有类构件,以便在当前系统中重用的手段多态重用 (3) 多态重用利用多态性不仅可以使对象的对外接口更加一般基类与派生类的许多对外接口是相同的) 化(基类与派生类的许多对外接口是相同的),从而降低了消息连接的复杂程度,低了消息连接的复杂程度,而且还提供了一种简便可靠的软构件组合机制,系统运行时,靠的软构件组合机制,系统运行时,根据接收消息的对象类型,由多态性机制启动正确的方法,对象类型,由多态性机制启动正确的方法,去响应一个一般化的消息,从而简化了消息界面和软构件连接3.简述功能模型、对象模型、动态模型三种模型之间的关系。

相关文档
最新文档