《软件工程模拟习题.pdf》由会员分享,可在线阅读,更多相关《软件工程模拟习题.pdf(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1、软件维护是软件生命周期中的固有阶段,一般认为,各种不同的软件维护中以_维护所占的维护量最小。C A、纠错性维护 B、代码维护 C、预防性维护 D、文档维护 2.使用软件时提出增加新功能就必须进行_维护。C A.改正性 B.适应性 C.完善性 D.预防性 3.维护软件时为了保证修改不会影响原来可以正常使用的功能,应安排_测试。D A.单元 B.集成 C.验收 D.回归 4.关于数据流图不正确的描述是_。D A.数据流图是结构化系统分析的主要工具。B.在数据流图中,*号标识相邻的数据流只取其一。C数据流图中父图与子图两者的输入和输出数据流必需一致。D.画 DFD 图的任意层次图必须都要画数据存
2、储项(即数据表单)5 获取需求的困难和项目复杂带来的潜在风险属于_.A A.技术风险 B.商业风险 C.项目风险 D.经济风险 6.软件测试不包括_方面的差错和纠错。D A.软件计划 B.软件设计 C.软件编码 D.软件价格 7、软件维护过程产生的副作用,是指_。B A、开发过程中发现的错 B、因修改软件而造成的错误 C、隐含的错误 D、运行时误操作 8下列关于瀑布模型的描述正确的是_。A A.瀑布模型的核心是按照软件开发的时间顺序将问题简化。B.瀑布模型具有良好的灵活性。C.瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开。D.利用瀑布模型,如果发现问题修改的代价很低。9.划分模
3、块如果必须存在耦合,选择适当的耦合类型的错误原则是_。D A 尽量使用数据耦合 B.少用控制耦合 C 限制公共耦合的范围 D.允许使用内容耦合 10.类是具有相同属性和相同操作的对象抽象,对象是类的_。C A.例证 B.用例 C.实例 D.例外 11.对于分层的 DFD,父图与子图的平衡是指_。A A.父图与子图的输人输出数据流必须相同 B.子图必须继承父图的输人与输出流 C.父图与子图相应的输人输出数据流名字保持一致 D.子图可以有自己的输入输出数据流.12.为了定量分析项目进度,需要在制定项目进度计划时,估算每个_ A A.应该完成的工作任务的预算工作量的成本 B.工作任务的预算成本 C.
4、工作任务的实际工作量的成本 D.实际工作任务的预算成本.13.需求分析中开发人员要从用户那里了解_ A A.用户要求软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模 14.软件开发时,一个错误发现得越晚,为改正它付出的代价就_ B A.越小 B.越大 C.接近平均 D.不可捉摸 15.软件过程模型是根据不同项目定义的、贯穿于软件生命周期的 _。B A.一组关键区域 B.一种开发方法 C.一个过程描述 D.一个开发阶段 16.在瀑布模型中,将软件划分为若干个时期,软件项目的可行性研究一般归属于_。B A.维护时期 B.计划时期 C.运行时期 D.开发时期 .17.数据字典不包括对_描
5、述。D A.数据加工 B.数据流 C.数据存储 D.数据源和数据接受 .18.CMM 模型将软件过程的成熟度分为 5 个等级,以下选项中,属于可管理级的行为特征是_.B A.工作无序,项目进行过程中经常放弃当初的计划 B.定量的过程管理和软件质量管理 C.建立了项目级的管理制度 D.软件过程中活动的生产率和质量是可度量的.19.比较理想的可重用软构件是_。D A.子程序库 B.源代码包含文件 C.对象 D.类 20.软件生命周期中所花费用最多的阶段是_。D A.详细设计 B.软件编码 C.软件测试 D.软件维护 21.软件需求分析阶段的工作,可以分为以下四个方面:对问题的识别、分析与综合、编写
6、需求分析文档以及_.C A.总结 B.阶段性报告 C.需求分析评审 D.以上答案都不对 22.一个成功的测试是。B A.发现错误 B.发现至今尚未发现的错误 C.没有发现错误 D.证明发现不了错误 .23.类是具有相同属性和相同操作的对象抽象,对象是类的_。C A.例证 B.用例 C.实例 D.例外 24.螺旋模型是一种重要的软件过程模型,它的主要思想是:结合了线性顺序模型和演化模型的思想,经过“制定计划”、“_ ”、“实施工程”和“客户评估”四项活动的迭代不断获得新版本。A A.风险分析 B.质量管理 C.基线制定 D.实施监管 25.软件维护的步骤不包括_。A A.维护组织 B.修改程序
7、C.重新验证程序 D.分析和理解程序 26.在结构化程序设计中要实现任何模块的单入口单出口。一般不允许使用控制结构是_.B A.顺序 B.无条件转移 C.条件分支转移 D.循环 27.面向对象的动态模型中,每张状态图表示_的动态行为。B A.有关联的若干个类 B.某一个类 C.一系列事件 D.一系列状态 28.软件需求分析是保证软件质量的重要步骤,它的实施应该是在_。C A.编码阶段处 B.软件开发全过程 C.软件定义阶段 D.软件设计阶段 29.应该在_,确定对象类中应有的服务。A A.建立对象模型之后 B.建立动态模型之后 C.建立功能模型之后 D.建立动态模型和功能模型之后 30.软件测
8、试是软件质量保证的主要手段之一,测试的费用已超过_的 30%以上。因此,提高测试的有效性十分重要.A A.软件开发费用 B.软件维护费用 C.软件开发和维护费用 D.软件研制费用 31.下面软件详细设计工具的图示中,_中每个过程用一个盒子表示,盒子可以嵌套。A A.NS 图 B.流程图 C.HIPO 图 D.PAD 图 32.类图表示系统的_。D A.消息结构 B.动态行为 C.系统部署 D.静态结构 33.下面的 4 种软件开发风险中,_风险的危险系数最高。A A.项目的范围不明确 B.开发人员经验不足 C.开发队伍不稳定 D.用户不支持 34.用限定词来表示对象类之间受限关联的通常目地是_
9、。D A.更准确地表示归纳关系 B.更准确地表示组合关系 C.增加关联阶数 D.减少关联阶数 35.软件工程的目标是_。C A.生产满足用户需要的产品 B.以合适的成本生产满足用户需要的产品 C.以合适的成本生产满足用户需要的、可用性好的产品 D.生产正确的、可用性好的产品 36 若有一个计算类型的程序,它的输入量只有一个 X,其范围是-1.0,1.0,现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是_ C A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法 37.下列属于维护阶段的文档是_ C A.软件规格说明 B.用户操作手
10、册 C.软件问题报告 D.软件测试分析报告 38.原型化方法是一个动态设计过程,它要求使用该方法的人员具有能力是_ B A.熟练的编程技能 B.及时获得用户需求 C.协作精神及有力管理 D.巧妙使用工具 39.关于模块的耦合性,模块独立性最差的耦合是_。C A.非直接耦合 B.标记耦合 C.控制耦合 D.数据耦合 40.信息隐蔽的概念与哪一概念直接相关 _?B A.软件结构定义 B.模块独立性 C.模块类型划分 D.模块内聚 41.在软件维护的实施过程中,为了正确、有效地修改,需要经历以下 3 个步骤:分析和理解程序、修改程序和_.C A.建立目标程序 B.执行程序 C.重新验证程序 D.验收
11、程序 42.维护过程本质上是_的过程。A A.改正错误或压缩的修改软件定义和开发 B.修改文档 C.修改软件配置 D.修改程序 43.将输入,处理,输出结构的 DFD 转换为结构图时,当处理部分各处理块为网状连接,结构图的处理层次应为_。B A.按标的编号顺序分层 B.各处理块在同一层次 C.平均分为两层 D.按题任意分层 .44.在软件工程中,采用原型化方法开发的系统,用户在使用过用户界面原型后,按项目要求应提出_的意见。A A.同意什么和不同意什么 B.提出使用编程语言要求 C.程序的结构 D.评价程序运行速度 45.DFD 图中的箭头代表_。A A.数据流 B.控制流 C.调用关系 D.
12、组成关系 46.软件的发展过程划分为 4 个阶段:第一阶段(19501950 年代末)称为“程序设计的原始时期”,程序员编写程序用_。A A.机器指令 B.汇编语言 C.数据库语言 D.高级语言 47.面向对象分析的首要工作是建立_。D A.系统的功能模型 B.系统的动态模型 C.软件对象类定义 D.问题的对象模型 48.件结构的复杂度与_有关.B A 模块扇入 B 模块扇出 C 控制路径 D 输入/输出数 49.在 McCall 软件质量度量模型中,_属于面向软件产品修改。B A.可靠性 B.可重用性 C.适应性 D.可移植性 50.类之间可以共享属性和操作的机制称为_。D A.多态机制 B
13、.绑定机制 C.重载机制 D.继承机制 51 黑盒测试在设计测试用例时,主要需要研究_ A A.需求规格说明与概要设计说明 B.详细设计说明 C.项目开发计划 D.概要设计说明与详细设计说明 1.UML 动态建模图有:顺序图、活动图和_1_状态图_。2.软件测试中每个测试用例都应定义_2_输入和对应输出值范围_.3.面向对象测试的基本单元是_3 类_。4.螺旋模型是一种重要的软件过程模型,它的主要思想是:结合了线性顺序模型和_4 增量模型_.5.黑盒测试方法只检查被测模块_5 功能 _是否符合要求。6.集成测试方法常用黑盒测试技术实施策略有:_6 非渐增式测试_和渐增式测试。7.DFD 图的层
14、次结构图的上一层是下一层的抽象,下一层是上一层的_7 求精_。.8.耦合是对不同模块之间_8 相互依赖程度_的度量.9.信息隐蔽的目的是:_9 提高模块的独立性 _,减少修改或维护时的影响面。10.面向对象建模方法包括:建模语言 和_10 建模过程 _。11.结构化的分析和设计方法是围绕实现 _11 需求_的过程来构造软件的。12.结构化设计中将 DFD 图划分两个基本结构为变换分析和_12 事务分析_ 13.13 偶合_是对不同模块之间相互依赖程度的度量 14.PDL 图_清晰地反映了程序的层次结构,这是因为它可以进行程序模块的定义。15.SD 方法认为,一个判定的作用域应该是 判定所在控制
15、域 的子集。16.软件工程学的最终目标,是以较低的成本研制具有 高质量 的软件。17.Jackson 法的设计原则是:是程序结构3同数据结构相对应。18 在 UML 中用于描述相互合作的对象间的交互关系和链接关系是 _交互图_ 19.在面向对象的技术中单词 UML 的意思是_19 统一建模语言_.20.软件界面的设计的导航方式有:线性、层次、_20 网状_、混合式.21.软件生命周期的六个步骤依次是制定计划、需求分析、软件设计、编码、_21 测试_及维护。22.解决复杂的问题经常采用的策略是_22 分解_,这也是结构化分析的精髓 23.软件工程的三视图:_23 技术观点_、工程的观点、管理的观
16、点。.24.UML 静态建模图有:_24 类图_、用例图、构件图、配置(部署)图、包图 25.以变换为中心的基本思想是以数据流图为基础,首先找出变换中心,确定模块结构图的顶层模块,然后按照_25 自顶向下_的设计原则得到模块结构图。26.状态图表示系统的_26 动态关系_。.27.测试是在开发人员指导下的用户 测试。28.CMM 模型的可管理级特征是定量的过程管理和软件质量管理 。29.结构化概要设计包括体系结构设计和_模块设计 _。30.类及对象间的关系为:归纳(聚集)关系、组合关系和_关联关系 _。31.测试阶段的工作步骤是:单元测试、集成测试_、确认测试和 系统测试 。32.由 DFD
17、图导出层次结构图,当 DFD 图呈现出是事务型结构时,导出的层次结构图中最高层是_输入项 _和调度项。33.用例之间存在三种关系:包含关系、_扩展关系_和使用关系 34 结构化的分析和设计方法是围绕实现 _需求_的过程来构造软件的。35.使用原型法开发软件必须依赖 _现有系统和 case_工具。36.面向对象方法描述现实世界建立的三种模型是_动态模型,功能模型,静态模型_。37.面向对象设计就是基于对象建立 功能_域的模型的过程。38.对象的交互耦合是指对象间耦合通过 _消息传递_来实现。1.松散耦合,表明模块的独立性强。(v)2.PDL 是用文字表达算法的工具,容易转化成可执行代码。(v )
18、3.软件维护包括:修改程序、重新验证程序、分析和理解程序。(v )4.类的交互图表示了系统的结构。(x)5.应力测试是指在数据量、处理频率极限情况下的系统测试。(x)6 一个模块直接修改另一个模块的内容称为内容耦合。(v )7.顺序图中生命线-表示对象存在的时间段 (v )8.松散耦合,表明模块的独立性强。(v)9.PDL 是用文字表达算法的工具,容易转化成可执行代码。(v)10.软件维护包括:修改程序、重新验证程序、分析和理解程序。(v)11.事务分析方法具有在多种事物中选择执行某类事物的能力 (v)12.软件工程的三视图:项目观点、经济观点和管理观点。(x)13.UML 用例图(Use C
19、ase)表示系统动态行为。(x)1.什么是软件概要设计?该阶段的基本任务是什么?把一个软件需求转换为软件表示时,首先设计出软件总的体系结构。称为概要设计或结构设计。基本任务:设计软件系统结构,具体为:采用某种设计方法,将一个复杂的系统按功能划分为模块。确定每个模块的功能。确定模块之间的调用关系。确定模块之间的接口(模块之间传递的信息)评价模块的结构质量 进行数据结构及数据库的设计 编写概要设计的文档:主要内容有:概要设计说明书,数据库说明书(DBMS 的简介,概念模型,逻辑设计,结果)用户手册,修订测试计划(测试的策略方法步骤)评审:是否完整地实现了规定的功能性能要求。设计方案是否可行。关键的
20、处理及内部接口定义的正确性,有效性,各部分的一致性。2 病人打电话预约治疗牙齿,接待员查阅日历并安排病人治疗的日期,如果病人对给出的计划时间满意,接待员输入预约时间、病人姓名和大概的治疗内容;系统将核对病人的名字及相关记录,并建立病人的 ID 号。在每次病人来医院保健或治疗后,医生或助手将标记预约已经完成,并记录本次的保健或治疗情况,有必要的话,会安排病人下一次的预约。系统要能够查询浏览指定日期的病人、时间及大概治疗的内容;应该允许撤消预约;以及打印或显示未按时应疹的病人清单。统计医生的接疹情况等。绘制系统的对象类图。解:根据问题陈述中的名词和名词短语,提取并筛选类,建立对象类图如下:3、详细
21、设计的基本任务是什么,有哪几种描述方法?答:详细设计的基本任务包括:1、为每个模块进行详细的算法设计 2、为模块内的数据结构进行设计 3、对数据库进行物理设计 4、其他设计 5、编写详细设计说明书 6、评审 详细设计的描述方法有图形、表格和语言,其中图形常用结构化程序流程图、盒图和 PAD(问题分析图)为描述工具,语言常用过程设计语言(PDL)来作为工具。4、什么是原型模型?简述它在项目中的作用?原型是一个可实地运行的模型,有正式产品的主要特征,但不是全部特征。软件原型是软件系统的最初版本,以最少的费用,最短的时间开发出的、以反映最后软件的主要特征的系统。使用原型化方法在项目中是增进软件开发者
22、和用户对系统服务需求的理解,使比较含糊的具有不确定性的软件需求(主要是功能)明确化,特别适用于需求不确定性较高的软件系统的开发。它的动作思想是根据用户给出的基本需求,通过快速实现构造出一个小型的可执行的模型,这就是用户界面原型。让用户在计算机上实际运行这个用户界面原型,在试用的过程中得到亲身感受和受到启发,做出反应和评价,提出同意什么和不同意什么。然后,开发者根据用户的意见对原型加以改进。随着不断试验、纠错、使用、评价的修改,获得新的原型版本,如此周而复始,逐步减少分析和通信中的误解,弥补不足之处,进一步确定各种细节,适应需求的变更,从而提高最终产品的质量。这是一种自外向内型的设计过程。5.软
23、件工程系统需求分析包扩那三种需求,请简述它们?软件系统需求包扩:领域需求,功能需求和非功能需求。领域需求:对软件应用在不同领域,要按该领域要求进行不同的设计。取得不同的系统描述。功能需求是系统对用户提供的服务、功能以及系统在特定条件下的行为描述。以可看为用户实际需求。非功能需求指不直接与系统功能相关的一类需求.主要反映对系统的约束,与系统的总体特性有关。如可靠性、反应时间、存储空间等 6.模块的独立性是什么?有什么定性评价标准?(10 分)模块的独立性是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其他模块的接口尽可能地简单,模块的设计应该使模块之间仅有必要的联系,没有过多的
24、联系,一个模块的存在不依赖于另一个模块的存在。一般采用两个定性准则评价模块的独立性:模块本身的内聚和模块之间的耦合。7.软件危机有何表现?软件危机的根本原因是什么?解决软件危机的方法和途径有哪些?8.模块的独立性是什么?有什么定性评价标准?9.项目风险分几类,各类的影响是什么?答:风险分类为三类:项目风险:可能拖延项目的进度及增加项目的成本;技术风险:威胁项目质量和交付时间;商业风险:威胁产品的生存能力 12需求分析的主要任务是什么?软件需求分析的过程是什么?。:需求分析的主要任务不是确定系统如何完成它的具体工作,而是确定系统必须完成哪些工作,在用户的参与下提出目标系统的完整、准确、清晰、具体
25、的实际要求,软件应完成的具体功能和性能,确定软件设计受到的限制及软件同其它系统的接口细节,描述软件用到的数据形式,逐步细化到详细定义,并为软件验收和质量评价提供依据。软件需求分析的过程是,(1)检查问题域以便更完整地理解目标软件的功能(2)再使用模型以简洁的方式表达目标软件的功能和操作,(3)利用自顶向下、逐层分解的手段来降低问题的复杂性。在这些处理过程中,因处理需求带来的逻辑约束,以及其它系统元素带来的物理约束,需要通过软件要素及视图的实现(即初步的操作原形实现)加以检验和确认。3 什么是软件测试?测试的根本目的是什么?狭义的软件测试:测试是为了发现错误而执行程序的过程。是根据软件开发的各个
26、阶段的说明和程序的内部结构而精心设计的一批测试用例(有输入数据及预期的结果),并利用这些测试用例执行程序及发现错误的过程。广义的软件测试是对软件计划、软件系统分析、软件设计、软件编码进行的查错活动,包括代码执行和人工审查活动,测试的目的是找出软件生命周期的各个阶段的错误,有利于以后进行修改和纠正。但测试本身不修正错误,调试才会修正错误。即找错的活动是测试;分析错误的性质与位置,进行纠错的活动是调试,保证算法的正确实现。软件测试与程序测试都是查找错误的活动,差别在于查找错误的范围不同 测试根本目的是暴露软件的错误。14.什么是 测试 15.对比瀑布模型和增量模型,指出增量模型的新思路?答:瀑布模
27、型是一种整体的开发模型,开发的每一阶段必须按线性的顺序来进行,前一阶段的工作没有完成后一阶段的工作就不能开始。由于需求分析的易变性使的软件开发工作不顺利,同时瀑布模型的每个阶段有不可避免的错误出现,那么延伸到以下的各个阶段错误就会放大。增量模型是非整体开发的模型它采用渐增模型和原形模型,软件的开发是用增量开发和增量提交.16.什么是模块的控制范围和作用范围?他们的关系如何?答:控制范围:是模块本身和它的下属模块的集合。作用范围:模块中的一个判定影响的所有模块的集合。作用范围应该在控制范围内。18.面向对象开发方法与面向数据流的结构化开发方法有什么不同?答:结构化开发方法优先产生过程的抽象,这些
28、抽象把软件视为处理流,定义构成一系列步骤的算法,每一步骤都是带有预定义输入和特定输出的一个过程,串联在一起可产生合理的稳定的贯通于整个程序的控制流。数据结构是应算法步骤的要求而开发的。数据结构贯穿于过程,提供过程需要传送给它的操作的信息 面向对象开发方法是我们分解问题所使用方法演化的结果。开发方法中优先的是实体,即问题论域的对象。在面向对象开发方法中,把标识和模型化问题论域中的主要实体做为系统开发的起点,主要考虑对象的行为而不是必须执行的一系列动作。19.给出下列伪码的测试程序图(流图)和最少测试路径以及测试用例。程序:input a,b;if(ba)x=b;if(b20)x=x+9;else x=x+1;x=x+1;else x=a;if(a20)x=x+15;else x=x-5;output x;要求:1根据程序给出测试流图 2求最少独立路径 3给出测试用例 答:最小路径测试用例应为 4 个 测试路径:测试用例 1)1-2-3-4-5-7-12 a=20,b=30 2)1-2-3-4-6-7-12 a=10,b=20 3)1-2-8-9-10-12 a=30,b=20 4)1-2-3-9-11-12 a=20,b=10