软件工程全部习题答案.doc_第1页
软件工程全部习题答案.doc_第2页
软件工程全部习题答案.doc_第3页
软件工程全部习题答案.doc_第4页
软件工程全部习题答案.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程全部习题答案。 (2003-5-31 19:55:00) 第九章1、渐增模型有那几种?特点?答:增量构造和演化提交。增量构造是瀑布模型的基础上在一些的阶段中采用增量开发一些阶段整体开发。演化提交是在瀑布模型的基础上所有阶段都使用增量开发也就是不紧使用增量开发也使用增量提交。2、快速原形有那几种?特点?答:探索型、试验型、演化型。探索型:在需求阶段帮助明确理解需求用完抛弃。试验型:在设计阶段考核现行方案是否合适用完抛弃。演化型:及早的向用户展示一个系统的原形包含主要的功能得到用户的认可后将原形不断的扩充直到系统完成。3、快速原形开发的步骤?答:快速开发、需求、构造原形、原形、运行原形、评价原形、修改意见。4、评价快速原形的优缺点?答:可以更清楚的理解用户的需求、开发阶段可以用原形解决局部的困难,通过原形的开发可以让用户看见系统的初步功能的实现有利与用户的开发人员更好的交流,及早的解决存在的问题减少开发的风险。缺乏好的管理工具和开发环境、缺乏管理机制、对开发人员的技术要求高、更新文档比较困难。5、对比瀑布模型和增量模型,指出增量模型的新思路。答:瀑布模型是一种整体的开发模型,开发的每一阶段必须按线性的顺序来进行,前一阶段的工作没有完成后一阶段的工作就不能开始。由于需求分析的易变性使的软件开发工作不顺利,同时瀑布模型的每个阶段有不可避免的错误出现,那么延伸到以下的各个阶段错误就会放大。增量模型是非整体开发的模型它采用渐增模型和原形模型,软件的开发是用增量开发和增量提交。 第八章1、软件维护有那些内容?答:校正性维护、完善性维护、适应性维护、预防性维护2、软件维护的特点?答:结构性维护、非结构性维护、别人的程序难懂、开发和维护在人员和时间上的差异、文档的不一致性、维护不是一项吸引人的工作3、软件维护的流程?答:制定维护申请报告、审查申请报告并批准、实施维护并做记录、复审4、软件维护的副作用?答:代码副作用、数据副作用、文档副作用5、什么是软件的可维护性?可维护性度量的特性?答:是能够别理解、适应、校正和增强功能的容易程度。可理解、可适应、可测试、可修改、可靠、可移植可使用、效率。6、提高可维护性的方法?答:使用有可维护性的程序设计语言、及时更新文档、使用先进技术和工具、明确软件质量目标、明确质量保证工作。第七章1、软件测试的目的是?测试中要注意那些原则?答:软件测试的目的是的发现软件中存在错误的活动。好的测试用例可以发现至今没有发现的错误、好的测试用例可以发现至今没有发现的错误测试。要提供输入数据还要提供输出数据、保留测试用例、检查它是否做了应该做的还要检查它是否做了不该做的、避免自己测试自己的程序、多错误多的地方要更严格的测试。2、什么是白盒法?有那些覆盖标准?比较他们的检错能力。答:将程序看成是白盒子,认真的分析程序的结构和功能制定测试用例来测试。有逻辑覆盖(语句覆盖、判断覆盖、条件覆盖、判断/条件覆盖、条件组合覆盖、路径覆盖)3、什么是黑盒法?有那些测试方法?特点?答:将程序当成是黑盒子以设计中的功能为标准在程序的接口出进行测试看它能否达到功能要求。等价类划分、边界值分析、因果图、错误推测。4、软件测试要经过那些步骤?这些步骤和开发那些阶段对应?答:单元测试对应详细设计和编码、集成测试对应概要设计、确认测试对应需求分析。5、单元测试有那些内容?答:测试模块的接口、数据结构、重要的执行路径、错误处理、边界条件。6、什么是集成测试?非渐增式和渐增式有什么区别?渐增式如何组装模块?答:将模块组合起来成为一个完整的系统对其进行测试。非渐增式是将模块先进行单元测试然后组装在一起进行测试。渐增式是逐个将未测试的模块组装到已经测试过的模块上去进行集成测试,每加入一个就测试一次。非渐增式需要桩模块和驱动模块、非渐增式开始可以并行测试、渐增式可以及时的发现接口错误,非渐增式很难发现接口发现错误、渐增式开始不能并行测试、渐增式测试比较彻底。渐增式组装模块有自顶向下和自底向上两种组装方式。7、什么是确认测试?该阶段有那些工作?答:按照需求规格说明书中的确定指标对系统进行功能与性能的测试。进行确认测试(对照需求规格说明书用黑盒法进行测试)、软件配置检查。(文档的完整性、正确性,发现遗漏和错误及时补充和修改)8、调试的目的是什么?调试的技术有那些?答:调试的目的是发现错误的位置并改正错误。简单调试、演绎调试、递归调试、回溯调试。第六章1、程序语言的共同特征?答:心理特征(歧义性、简洁性、局部性、顺序性、传统性)、工程特征(可移植性、可重用性、可维护性)2、项目开发时,选择程序设计语言通常考虑的因素有那些?答:项目应用领域、软件开发方法、软件执行环境、算法和数据结构的复杂性、开发人员的知识。3、4GL的特征?答:友好的界面、有过程和非过程特性、高效的程序代码、完备的DB应用程序生成。4、什么是程序风格?为了具有良好的设计风格应注意那些方面的问题?答:原程序文档化、数据说明、语句构造、输入输出、效率。第五章1、详细设计的基本任务是什么?有那几种描述方法?答:设计模块的数据结构、设计数据库的物理结构、设计模块的详细算法、其它(代码设计、输入/输出格式设计、人机对话设计)、编写详细设计说明书、评申。程序流程图、PAD图、PDL第四章1、什么是概要设计?有那些基本任务?答:概要设计是在需求分析的基础上通过抽象和分解将系统分解成模块,确定系统功能是实现。基本任务是:建立软件系统结构(划分模块、定义模块功能、模块间的调用关系、定义模块的接口、评价模块的质量)、数据结构和数据库的设计(数据结构设计、概念设计、逻辑设计、物理设计)、编写概要设计文档(概要设计说明书、用户手册、数据库设计说明书、修订测试计划)。、2、软件设计基本原理包括那些内容?答:抽象、模块化(接口、功能、逻辑、状态)、信息隐蔽、模块独立性。3、衡量模块独立性的两个标准是什么?他们表示什么含义?答:内聚、耦合。内聚:表示模块内各个组成部分之间联系的紧密程度的度量,耦合:模块间联系紧密程度的度量。4、模块间的耦合有哪几种?含义?答:无直接耦合:模块间没有直接联系数据耦合:模块间传递的是数据标记耦合:模块间传递的是数据结构控制耦合:传递的是控制变量,被调通过该变量有选择的执行模块内的某以功能。公共耦合:通过一个公共数据环境相互作用的模块间的耦合关系。内容耦合:一个模块直接使用另一个模块的内容。5、模块的内聚有哪几种?含义?答:偶然内聚:逻辑内聚:时间内聚:通信内聚:顺序内聚:功能内聚:6、什么是软件结构图?简述软件结构设计优化准则。答:软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制体系。准则:高内聚底耦合、作用范围在控制范围内、软件的深度、宽度、扇入、扇出适当、模块大小适中、接口简单清晰易懂。7、什么是模块的控制范围和作用范围?他们的关系如何?答:控制范围:是模块本身和它的下属模块的集合。作用范围:模块中的一个判定影响的所有模块的集合。作用范围应该在控制范围内。8、什么是变换流?什么是事物流?答:变换流由输入、变换(或处理)、输出三部分组成。某个加工将它的输入流分离成许多发散的数据流,形成许多加工路径,并根据输入选择其中一个路径来执行这种特征的DFD称为事物流。第三章1、什么是需求分析?任务是什么?答:需求分析是准确的理解用的需求将其转换成需求定义,然后由需求定义转换成形式化的功能规约。需求分析的困难表现在问题的复杂性、交流的障碍、不完备和不一致性、需求易变性。任务:问题识别(功能需求、性能需求、环境需求、用户界面需求)分析综合导出逻辑结构、编写文档(需求规格说明书、初步用户手册、确认测试计划、完善修改软件开发计划)2、什么是结构化分析方法?用什么工具描述?答:结构化分析方法是采用自顶向下逐层分解的分析策略把一个复杂的系统分解成若干小问题然后分别解决。描述工具:数据流图、数据字典、结构化语言、判定表、判定树。3、结构化分析方法通过那些步骤实现?答:分析现行系统,获得物理模型、抽象出当前系统的逻辑模型、建立目标系统的逻辑模型、补充优化。4、什么是数据流图?作用?其中的符号表示什么含义?答:数据流图是用来表示系统的功能的工具它表示系统的逻辑模型描述了数据流在系统中流动的情况它是一种功能模型。它用来定义系统的功能。箭头表示数据流、圆圈表示加工、双横线表示存储、方框表示数据的原点和终点。5、画数据流图要注意什么?答:命名、父子图平衡、局部数据存储、画数据流不画控制流、每个加工至少有一个输入和输出、不画物质流提高数据流图的易理解性。6、什么是数据字典?答:数据字典是用来描述数据流图中数据流、加工、存储的详细信息的。7、描述逻辑加工有那些工具?答:结构化语言、判定表判定树。8、什么是IDEF方法?IDEF0有什么特点?答:IDEF方法是米国空军针对集成化计算机制造工程项目中用来进行复杂系统分析和设计的方法。IDEF0用来描述功能活动极其联系的,它是功能模型。IDEF0中将系统功能称为活动,用输入、输出、控制、机制来表示系统的功能,一个活动至少有一个控制可以没有输入。9、SA方法的优缺点?答:优点:SA是公认的、有效的、成熟的、使用广泛的方法。它比较适用数据处理方面的设计。采用图形形式化工具表达需求,简洁、易读、适用方便,对后续阶段的测试、评价提供了有利的条件。缺点:它是个静态模型,没有反映控制流不适于实时控制系统的描述、SA对数据要求方面的描述木够全面最好和E-R图一起适用、不适合描述人机界面交互频繁的系统、为了加强对系统的描述能力应于形式化方法结合一起使用。第二章1、可行性研究的任务是什么?答:可行性研究的任务是对体统进行一次概要分析研究在尽可能短的时间里明确系统的目标和规模、约束、限制。然后分析人员进行简要的需求分析,抽象出该项目的逻辑结构、建立逻辑模型,提出几种方案对它们进行可行性分析。包括技术可行性,经济可行性、社会可行性。2、可行性研究的步骤?答:确定项目规模和目标、研究当前的系统、建立新系统的高层逻辑模型、导出和评价各种方案、推荐可行方案、编写可行性研究报告。3、可行性研究报告有那些内容?答:引言、可行性研究前提、对现有系统的分析、所建议系统的技术可行性分析、所建议系统的经济可行性分析、所建议系统的社会可行性分析、其它方案、结论意见。4、成本效益分析可用那些指标度量?答:投资回收期、纯收入、货币的时间价值。5、项目开发计划内容?答:项目概述、实施计划、人员分组及分工、交付期限。第一章1、软件产品特性?答:逻辑产品有无形性、生产就是开发研制、不会坏不会磨损、成本昂贵、生产主要是脑力劳动。2、软件生产有几个阶段?特征?答:程序设计、程序系统、软件工程。3、什么是软件危机?产生的原因?4、什么是软件工程?目标和内容?答:用科学的原理和理论定义,开发、维护软件的学科。目标:及时交付、满足用的功能要求、成本比较低、移植性好、可靠性高。内容:软件开发技术、软件开发管理。5、软件工程面临的问题?答:软件费用、软件可靠性、软件维护、软件生产率、软件重用。6、什么是软件生存周期?它有几个活动?答:从生到死7、什么是软件生存周期模型?有那些主要模型?答:用来描述软件开发过程中各种活动如何执行的模型。8、什么是软件开发方法?有那些方法?答:用早就定义好的技术集合和符号表示习惯来组织软件生产的过程。第十章1、说明对象、类、类结构、消息的基本概念?答:对象:是客观实体在问题域中的抽象。类:具有相似或相同性质的对象的抽象就是类。类结构:类的结构通常有一般-具体(分类结构)整体-抽象(组装结构)消息:对象之间通信的构造。2、面向对象的特征和要素?答:特征:一致性、多态性、分类性、继承性。要素:共享、封装、抽象。3、说明对象模型的特征?答:对象模型表示了静态的、结构化的、系统数据性质,描述了系统的静态结构,表现了对象间的相互关系,模型主要关心系统中对象的结构、属性和操作使用对象图来描述。4、说明动态模型的特征。答:动态模型描述了与时间和变化有关的系统性质,描述的是系统的控制结构,表示了瞬间的系统控制性质,它关心系统的控制,操作顺序,从对象的状态角度出发表现对象的相互行为。5、功能模型的特征。答:功能模型描述了系统的所有计算。6、三种模型的关系?答:功能模型描述发生了什么,动态模型确定什么时候发生,对象模型确定发生的客体。7、三种模型的建立过程?答:对象模型:确定类、准备数据字典、确定联系、确定属性、完善对象模型。动态模型:准备脚本、准备事件跟踪、构造状态图。功能模型:确定输入输出值、建立DFD。第十一章1、软件质量与质量保证的含义?答:软件质量:与确定的功能和性能需求一致、与成文的开发标准相一致、与所有专业开发的软件所期望的隐含特性相一致。质量保证:向社会和用户提供满意高质量的产品确保软件从诞生到消亡为止的所有阶段的质量的活动。2、影响软件质量的因素有那些?答:可以直接度量的因素、只能间接度量的因素。3、什么是软件质量保证的策略?软件质量保证的主要任务是什么?答:策略:检测为重、过程管理为重、开发新产品为重。任务:正确定义用户要求、技术方法的使用、提高软件的工程能力、充分发挥开发人员的能力、提高计划和管理质量、软件复用。5、程序复杂性的度量方法有那些?答:代码行度量法、环路度量法。6、什么是软件可

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论