《软件工程》复习题.doc

上传人:s****u 文档编号:13049285 上传时间:2020-06-05 格式:DOC 页数:11 大小:256.51KB
返回 下载 相关 举报
《软件工程》复习题.doc_第1页
第1页 / 共11页
《软件工程》复习题.doc_第2页
第2页 / 共11页
《软件工程》复习题.doc_第3页
第3页 / 共11页
点击查看更多>>
资源描述
一、选择题1在结构化分析方法(SA)中,( C )与数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分。 A模块图 BER图 C数据字典 D程序流程图2面向对象分析阶段建立的三个模型中,核心的模型是( A )。 A对象模型 B动态模型 C功能模型 D分析模型3软件测试的关键问题是( A )。 A如何选择测试用例 B如何采用综合策略 C如何验证程序的正确性 D如何组织软件评审4表现了对象的相互行为的模型是( B )。 A对象模型 B动态模型 C功能模型 D分析模型5在选择面向对象语言时应考虑( D )。 是否能占主导地位 可重用性 开发环境 集成已有软件的容易程度 A、和 B、和 C、和 D以上都正确6对象类之间的聚集关系就是( B )关系。A一般特殊 B整体部分 C相互依赖 D层次构造7以下对软件工程管理的任务和目标最准确的描述是( D )。A明确软件开发项目的工作范围、可能遇到的风险、需要的资源B明确软件开发中要实现的任务和需要经历的里程碑C明确所需的工作量以及进度安排D以上所有答案8下列不属于黑盒测试的技术是( C )。 A等价类划分 B错误推测 C基本路径测试 D因果图9如果一个模块访问另一个模块的内部数据,则模块间的耦合属于( B )耦合。A数据 B内容 C环境 D控制10受限关联由( B )组成,限定词是一种特定的属性,用来有效地减少关联的重数,限定词在关联的终端对象集中说明。 A两个类及两个限定词 B两个类及一个限定词 C一个类及两个限定词 D一个类及一个限定词11类之间通常有两种主要的结构关系,它们是( B )。 A一般-具体和分类结构关系 B分类结构和组装结构 C整体-部分和组装结构关系 D以上都正确12在人机界面的设计过程中应该需要考虑下列问题( D )。 系统响应时间 输入输出数据 出错信息处理 用户帮助AI、和 B、和 C、和 D以上都正确二、填空题(每空1分,共10分)1在面向对象的软件中, 是对具有相同数据和相同操作的一组相似对象的定义; 是由某个特定的类所描述的一个具体对象。2软件开发过程来自用户方面的干扰和阻力主要有:不积极配合,求快求全和 。3在类层次中,子类只继承一个父类的数据结构和方法,称为 ,子类继承了多个父类的数据结构和方法,称为 。 4多重性说明了一个类的 对象能够与另一个类的 对象发生关联。5软件开发中的原型是软件的一个早期可运行的版本,它反映了最终系统的 。 6软件测试方法中的 属于静态测试方法。 7软件设计包含过程设计、接口设计、体系结构设计和数据设计,其中最后完成的设计是 。三、判断题(判断命题正确与否,并说明理由。每题2分,共10分)1法是面向数据流,建立在数据封闭原则上的需求分析方法。2一般说来,模块的内聚程度越高,它们之间的耦合程度也就越高。3软件测试只能证明程序有错误,不能证明程序没有错误。4如果测试数据满足条件覆盖,则必然满足判定覆盖。5. 划分模块可以降低软件的复杂度和工作量,所以应该将模块分得越小越好四、名词解释(每题3分,共12分) 1数据字典2模块独立性3软件复用4软件维护五、简答题(每题5分,共25分)1软件复用的层次可以分为哪几个级别? 2CMM将软件过程的成熟度分为哪几个级别? 3在软件测试中,应注意哪些原则? 4为了具有良好的程序设计风格,应注意哪些方面的问题?5面向对象程序设计有哪些优点?13软件测试中,白盒法是通过分析程序的( B )来设计测试用例的。 A应用范围 B内部逻辑 C功能 D输入数据14按照软件配置管理的原始指导思想,受控制的对象应是( C )。 A软件元素 B软件项目C软件配置项 D软件过程15详细设计与概要设计衔接的图形工具是( B )。 ADFD图 BSC图 C程序流程图 DPAD图16面向对象的分析方法主要是建立三类模型,即( D )。A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型 C) -模型、对象模型、功能模型 D) 对象模型、动态模型、功能模型17( B )适合于大型软件的开发,它吸收了软件工程“演化”的概念,使得开发人员和用户对每个周期出现的风险有所了解,从而作出相应的反应。 A)瀑布模型 B)螺旋模型 C)喷泉模型 D)基于知识的模型18源程序的效率与( D )阶段确定的算法的效率直接有关。 A)概要设计 B)总体设计 C)单元设计 D)详细设计19在 SA方法的需求描述工具中,( A )描述系统的分解,即描述系统由哪几部分组成,各部分之间有什么联系等等。 A)数据流图 B)数据字典 C)结构化语言 D)判定表和判定树 20等价分类法的关键是( C )。 A) 确定等价类的边界条件 B) 按照用例来确定等价类 C) 划分等价类 D) 确定系统中相同和不同的部分21为了提高模块的独立性,模块内部最好是( D )。 A)逻辑内聚 B)通信内聚 C)顺序内聚 D)功能内聚22为了提高模块的独立性,模块之间最好是( D )。 A)控制耦合 B)内容耦合 C)公共耦合 D)数据耦合23功能性注释嵌入在源程序内部,它是用来说明( A )。 A)程序段或语句的功能 B)模块的接口 C)数据的名称和用途 D)模块的功能24下列不属于黑盒测试的技术是(C )。 A)等价类划分 B)错误推测 C)基本路径测试 D)因果图25各种软件维护的类型中最重要的是( A )。 A) 完善性维护 B) 纠错性维护 C) 适应性维护 D) 预防性维护26对一个软件工程来说,占总工作量的百分比最大的工作是( D )。 A) 需求分析 B) 软件设计 C) 编码工作 D) 测试和调试工作27下列说法错误的是( D )。 A)面向对象设计是把分析阶段得到的需求,转变成符合成本和质量要求的、抽象的系统实现方案的过程。 B)从面向对象分析到面向对象设计,是一个逐渐扩充模型的过程。 C)面向对象设计就是用面向对象的观点建立求解域模型的过程。 D)面向对象分析和面向对象设计在实际的软件开发过程中二者的界限是明显的。二、填空题(每空2分,共20分)21一个模块把数值作为参数传送给另一个模块的耦合方式称为 。22成本效益分析的目的是从 角度评价开发一个软件项目是否可行。23软件结构是以 为基础而组成的一种控制层次结构。24在单元测试时,需要为被测模块设计驱动模块和桩模块。 的作用是返回被测模块所需的信息。25 是引起系统状态转换的控制信息。26继承与 机制,是面向对象程序中实现重用的主要手段。27对象具有状态,一个对象用 来描述它的状态。28为协调软件开发使得混乱减到最小,使用 技术,使变更所产生的错误达到最小并最有效地提高生产率。29软件开发环境是相关的一组 集合,它支持一定的软件开发方法或按照一定的软件开发模型组织而成。30关联是建立类之间关系的一种手段,而链则是建立 之间关系的一种手段。三、名词解释(每题3分,共15分)31数据字典32模块独立性33软件生存周期模型34CMM35动态模型四、简答题(每题5分,共20分)36软件生命期各阶段的任务是什么?37非渐增式测试与渐增式测试有什么区别?38面向对象程序设计有哪些优点?39模块间的耦合性有哪几种?28通过执行对象的操作可改变该对象的属性,但它必须通过( D )传递。 A)操作 B)信息 C)方法 D)消息29从工程管理的角度来看,软件设计分两步完成( D )。 A) 系统分析模块设计 B) 详细设计总体设 计 C) 模块设计详细设计 D) 总体设计详细设 计30人们常借用硬件可靠性的定量度量方法来度量软件的可靠性与可用性。其中MTTF是( B )。 A)失效间隔时间 B)平均失效间隔时间 C)失效等待时间 D)平均失效等待时间 21软件工程管理是对软件项目的开发管理。具体地说,就是对整个软件( A )的一切活动进行管理。 A)生存期 B)开发 C)制定计划 D)项目32下列不是模型元素的是( D )。 A) 关联 B) 聚合 C) 依赖 D) 笔记33软件测试中,白盒法是通过分析程序的( B )来设计测试用例的。 A)应用范围 B)内部逻辑 C)功能 D)输入数据34详细设计的结果基本决定了最终程序的( B )。 A)代码的规模 B)质量 C)可维护性 D)运行速度35结构化程序设计方法在软件开发中用于( B )。 A)测试用例设计 B)详细设计 C)概要设计 D)编码36在数据流图中当数据流向或流自文件时( B )。 A数据流要命名,数据存储不必命名 B数据流不必命名,有数据存储名就足够了 C数据流和数据存储均要命名,因为流入和流出的数据流是不一样的 D数据流和数据存储(或文件)都不要命名,通过加工可自然反映37( B )适合于大型软件的开发,它吸收了软件工程“演化”的概念,使得开发人员和用户对每个周期出现的风险有所了解,从而作出相应的反应。 A瀑布模型 B螺旋模型C喷泉模型 D基于知识的模型38在只有单重继承的类层次结构中,它的类层次结构是( B )结构。A网状 B树 C星 D格39为了提高模块的独立性,模块内部最好是( D )。 A逻辑内聚 B通信内聚C顺序内聚 D功能内聚40面向对象方法的一个主要目标,是要提高软件的( A )。A可重用性 B运行效率 C结构化程度 D健壮性41软件重用的单位是( A )。 A)软件模块 B)功能 C)系统 D)语句42软件生存周期借用了( D)中产品生存周期的概念。 A)计算机科学 B)需求 C)数学 D)工程43项目开发计划是一种( B )文档。 A)技术性 B)管理性 C)设计 D)需求分析44在结构化分析方法(SA)中,( C )与数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分。 A)模块图 B)ER图 C)数据字典 D)程序流程图45为了提高模块的独立性,模块之间最好是( A )。 A)数据耦合 B)控制耦合 C)公共耦合 D)内容耦合46对一个开始是模糊的模块进行处理过程分解时,下面说法错误的是( D )。 A)用顺序方式对过程分解,确定各部分的执行顺序B)用选择方式对过程分解,确定某个部分的执行条件 C)用循环方式对过程分解,确定某个部分进行重复的开始和结束的条件 D)对处理过程仍然模糊的部分反复使用循环方式对过程进行分解47软件测试的关键问题是( A )。 A)如何选择测试用例 B)如何采用综合策略 C)如何验证程序的正确性 D)如何组织软件评审48软件生存期的( D )工作与软件的可维护性有密切的关系。 A)详细设计阶段 B)编码阶段 C)测试阶段 D)每个阶段49增量模型属于一种( B )模型。 A)整体开发 B)非整体开发 C)较早产生工作软件 D)灵活性差50下列说法正确的是( D )。 A)动态模型指出发生了什么 B)对象模型确定什么时候发生 C)功能模型确定发生的客体D)动态模型描述的系统属性是触发事件、事件序列、状态、事件与状态的组织51用类库这种机制和结构来实现( B )中的信息共享。 A)同一应用 B)不同应用 C)同一个类 D)不同类52为了确保每个开发过程的质量,防止把软件差错传递到下一个过程,必须进行( B )。 A)软件维护 B)软件测试 C)质量检验 D)软件容错53基线可以作为一个检查点,在开发过程中,当采用的基线发生错误时,我们可以知道所处的位置,返回到( A )和最恰当的基线上。 A)最近 B)最远 C)最长 D)最短54软件开发环境是由软件开发工具和环境集成机制构成的,其中环境集成机制为( A )和软件开发、维护和管理提供统一的支持。 A)工具集成 B)工程环境 C)软件系统 D)环境集成三、名词解释(每小题3分,共15分)31软件工程32信息隐蔽33SA 34完善性维护35面向对象设计四、简答题(每小题5分,共20分)36为了具有良好的程序设计风格,应注意哪些方面的问题?37简述三种面向对象模型的主要功能。38为了提高设计质量,应从哪几方面优化软件结构?39在软件测试中,应注意哪些原则?55在下列文档中,属于需求分析阶段的文档是( D )。 A)软件设计说明书 B)项目开发计划 C)可行性分析报告 D)需求规格说明书56属性是个体对象的性质,属性通常用修饰性的( C )来表示。 A)形容词 B)动词词组 C)名词词组 D)副词57详细设计与概要设计衔接的图形工具是( B )。 A)DFD图 B)SC图 C)程序流程图 D)PAD图58按照软件配置管理的原始指导思想,受控制的对象应是(C )。 A)软件元素 B)软件项目 C)软件配置项 D)软件过程59软件工程是一门( D )学科。 A)原理性 B)理论性 C)心理性 D)工程性60软件产品的生产主要是脑力劳动,软件产品的成本主要体现在软件的( C )上。 A)复制 B)开发方式 C)开发和研制 D)磨损和消耗二、填空题1在面向对象的软件中, 类 是对具有相同数据和相同操作的一组相似对象的定义; 实例 是由某个特定的类所描述的一个具体对象。2软件开发过程来自用户方面的干扰和阻力主要有:不积极配合,求快求全和 功能的变化 。3在类层次中,子类只继承一个父类的数据结构和方法,称为 单重继承 ,子类继承了多个父类的数据结构和方法,称为 多重继承 。 4多重性说明了一个类的 多个 对象能够与另一个类的 一个 对象发生关联。5软件开发中的原型是软件的一个早期可运行的版本,它反映了最终系统的 重要特性 。 6软件测试方法中的 静态分析 属于静态测试方法。 7软件设计包含过程设计、接口设计、体系结构设计和数据设计,其中最后完成的设计是 过程设计 。8软件工程采用 数学 的方法建立软件开发中的各种模型和各种算法。8可行性研究实质上是要进行一次 简化、压缩 了的需求分析、设计过程,是在较高层次上以较抽象的方式进行需求分析和设计过程。10软件开发过程来自用户方面的干扰和阻力主要有:不积极配合,求快求全和 功能的变化 。11在进行软件结构设计时应该遵循的基本原理是 模块独立 原理。12详细设计是软件设计的第二阶段,主要确定每个模块具体的执行过程,故也称为 过程设计 。13提高程序效率的根本途径在于选择良好的设计方法、良好的 数据结构和算法,而不是靠编程时对程序语句做调整。14软件开发中的原型是软件的一个早期可运行的版本,它反映了最终系统的 重要特性 。15关联是建立类之间的一种手段,而链则是建立 对象 之间关系的一种手段。16当A模块调用B模块时,若两个模块之间传递的是数值型参数,则这两个模块的耦合方式是 数据耦合 。17若年利率为i,现存入P元,不计复利,n年后可得钱数为F= n*i*P+P 。18一个模块把数值作为参数传送给另一个模块的耦合方式称为 数据耦合 。19成本效益分析的目的是从 经济 角度评价开发一个软件项目是否可行。20软件结构是以 模块 为基础而组成的一种控制层次结构。21在单元测试时,需要为被测模块设计驱动模块和桩模块。 桩模块 的作用是返回被测模块所需的信息。22 事件 是引起系统状态转换的控制信息。23继承与 多态 机制,是面向对象程序中实现重用的主要手段。24对象具有状态,一个对象用 数据值 来描述它的状态。25为协调软件开发使得混乱减到最小,使用 软件配置管理 技术,使变更所产生的错误达到最小并最有效地提高生产率。26软件开发环境是相关的一组 软件工具 集合,它支持一定的软件开发方法或按照一定的软件开发模型组织而成。27关联是建立类之间关系的一种手段,而链则是建立 对象 之间关系的一种手段。三、名词解释1 数据字典数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。2 模块独立性模块独立性是指模块内部各部分及模块间的关系的一种衡量标准,由内聚和耦合来度量。3软件复用软件复用(SoftWare Reuse)是将已有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费。4软件工程将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件5信息隐蔽信息隐藏指在设计和确定模块时,使得一个模块内包含的特定信息(过程或数据),对于不需要这些信息的其他模块来说,是不可访问的。6SA 结构化分析方法是需求分析中使用最多的方法之一,适用于数据处理类型软件的需求分析。基本思想是采用自顶向下,逐步分解的方法分析整个系统,有效地控制系统开发的复杂性。7完善性维护完善性维护是为扩充功能和改善性能而进行的修改,主要是指对已有的软件系统增加一些在系统分析和设计阶段中没有规定的功能与性能特征。8面向对象设计面向对象设计模式是用来解决类与相互通信的对象之间的组织关系,包括它们的角色、职责、协作方式几个方面。9软件生存周期模型软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。常见的软件生存周期模型有瀑布模型、演化模型、螺旋模型、喷泉模型等。10CMMCMM是指“能力成熟度模型”,它是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。共分为5个等级,初始级、可重复级、已定义级、已管理级、优化级。11动态模型动态模型是表示系统静态和动态的行为。这种表示形式可为同一系统提供不同的视角。12软件维护软件维护是指在软件产品发布后,因修正错误、提升性能或其他属性而进行的软件修改。113测试用例测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。四、简答题 1 CMM将软件过程的成熟度分为哪几个级别? CMM将软件过程的成熟度分为5个级别 1、初始级(过程缺乏定义、混乱无序) 2、可重复级(已建立基本的项目管理,过程重复) 3、已定以级(过程已文档化、标准化) 4、已管理级(队友软件产品过程有定量理解和控制) 5、优化级(质量和效率稳定改进) 2在软件测试中,应注意哪些原则? 1所有的测试都应追溯到用户需求 2应当把“尽早和不断地测试”作为座右铭3测试工作应该由独立的专业的软件测试机构来完成4 Pareto原则,测试发现的错误中80%很可能起源于20%的模块中。5设计测试用例时,应该考虑各种情况。 6对测试出的错误结果一定要由一个确认的过程。7制定严格的测试计划 8完全测试是不可能的,测试需要终止。9注意回归测试的关联性。 10妥善保存一切测试过程文档。3为了具有良好的程序设计风格,应注意哪些方面的问题?答:程序代码: 正确性:能够正确实现处理要求 易读性:易于阅读和理解,便于调试,修改和扩充 健壮性:当环境发生变化,算法能够适当做出反应或处理,不会产生不需要的运行结果 高效率:达到所需要的时空性能。软件界面: 1.界面整洁; 2.软件运行快,不易出错; 3.功能齐全; 4.操作简单,易入门4简述三种面向对象模型的主要功能。对象模型表示静态的结构化的系统数据的性质,描绘了系统静态结构,从客观实体的对象关系角度来描述对象。动态模型描述了与时间和操作顺序有关的系统特征。功能模型描述了与值的变换鱼贯的系统特征。功能、映射、约束、函数依赖。5为了提高设计质量,应从哪几方面优化软件结构?1)划分模块时,尽量做到高内聚低耦合、保持模块的想对独立性。2)一个模块的作用范围应在其控制范围内,且判定所在的模块应与其影响的模块在层次上尽量靠近。3)软件结构的深度、宽度、扇入、扇出应适当。4)模块大小适中5)模块接口要简单、清晰、含义明确、易理解、易实现、易测试与维护。6软件生命期各阶段的任务是什么?答: 1)问题定义阶段,尽可能清楚地描述问题,搞清楚要解决的问题是什么; (2)可行性研究阶段,主要是确定待解的问题是否有可行的解决办法。 (3)需求分析阶段,主要是确定目标系统必须具备的功能。(4)总体设计阶段,从总体上解决问题,确定可实现的方案,并设计出软件的层次结构图;(5)编码与测试,把解法具体化,确定如何具体地实现这个系统。(6)软件维护阶段,主要目的是通过修改软件使所开发的软件能够持久地满足用户的需要。7非渐增式测试与渐增式测试有什么区别?渐增式是把下一个要测试的模块和同已经测试号的那些模块结合起来进行测试,测试完以后再把下一个应该测试的模块结合进来测试,这种每次增加一个模块的方法称为渐进式测试。非渐进式测试是对每个模块进行分别测试,再把所有的模块按设计要求放在一起结合成所有程序。8面向对象程序设计有哪些优点?答:1、可重用性:指在一个软件项目中所开发的模块,不仅可用于本项目,还可以重复地使用于其他项目中。2、可拓展性:应用软件能够方便的修改和扩充,包括软件的内容形式和工作机制的修改和扩充。3、可管理性:采用类作为构建系统的部件,使项目的组织合理,方便。把数据和其上的操作封装在一起,在本类中使用提高效率,降低开发难度。9模块间的耦合性有哪几种? 答:非直接耦合,数据耦合,印记耦合,控制耦合,公共耦合,内容耦合 五、应用题1请根据以下描述的逻辑关系画出判定树。 移动电信公司为促进业务的发展发行各种优惠卡,其中包括钻石卡、金卡、银卡3种,用户可以依据其信用度享受不同额度的透支。其中钻石卡、金卡和银卡允许透支的额度分别为800元、500元和100元。发卡的规则为:从未发生过话费拖欠,且每月通话费在500元(含)以上者可获钻石卡,每月通话费在200元(含)以上者可获金卡,每月通话费在100元(含)以上者可获银卡;发生过话费拖欠,但能在规定时间内缴清欠款,且每月通话费在300元(含)以上者可获金卡,每月通话费在200元(含)以上者可获银卡;发生过话费拖欠,并未能在规定时间内补清欠款,无论每月话费多少均不能获得优惠卡。2下面是某程序的流程图:(1) 计算它的环路复杂性。(2) 为了完成基本路径测试,求它的一组独立的路径。1) 环路复杂性:=判断树+1=3+1=4。2) 路径1:(0)T(1)(7)(10)路径2:(0)F(1)T(3)(8)(10)路径3:(0)F(2)F(4)T(5)(9)(10)路径4:(0)F(2)F(4)F(6)(10)3画出银行取款过程的DFD图。问题描述为:储户用存折取款,首先填写取款单,根据“账卡”中的信息检验取款单与存折,如有问题,将问题反馈给储户,否则,登录“储户存款数据库”,修改相应数据,并更新“账卡”,同时发出付款通知,出纳向储户付款。 第 11 页 共 11 页
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!