软件工程全部习题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程全部习题答案。(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、什么是结构化分析方法用什么工具描述