软件工程全部习题答案.docx
《软件工程全部习题答案.docx》由会员分享,可在线阅读,更多相关《软件工程全部习题答案.docx(14页珍藏版)》请在冰豆网上搜索。
软件工程全部习题答案
软件工程全部习题答案。
(2003-5-3119:
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、什么是软件可靠性它们是否能定量计算
答:
在规定的环境下和时间里软件按要求的功能执行的概率。
7、什么是软件评审软件设计质量评审和程序质量评审有那些内容
答:
软件评审是一个过滤器,它使用在软件开发的各个阶段,通过软件评审可以及时的发现软件
中存在的问题然后加以改正。
设计质量评审:
评审可靠性、评审可移植性、评审可测试性、评审
规格说明是否符合用户的要求、评审保密情况的实施、评审是否有可复用性。
8、容错定义容错的方法
答:
定义:
规定功能的软件在出现错误是仍然可以在一定程度上完成要求的功能、规定功能的软
件可以屏蔽错误、规定功能的软件可以在出错的时候自动恢复到正常的状态、规定功能的软件在
一定的程度上有容错的能力。
方法:
结构冗余、信息冗余、时间冗余、冗余附加技术。
第十二章
1、软件工程管理包括那些内容
答:
文档管理、人员管理、控制管理、组织机构管理。
2、软件项目计划包括那些内容
答:
范围、资源、成本估算、进度安排、计划培训。
3、软件开发成本估算方法有哪几种
答:
COCOMO、PUTANM。
4、什么软件配置管理什么是基线
答:
软件配置管理:
软件配置管理(SCM)用于整个软件工程过程,目标是表示变更,控制变更,
确保变更的正确实施,报告变更。
SCM是用在整个软件生存周期个阶段中的变更活动。
基线:
是软
件生存周期中各开发阶段的一个特定点,它的作用是把开发各阶段的工作划分的更加明确化,使
本来连续的工作在这些点上断开,便于检查于肯定阶段成果。