软件工程复习资料.docx
《软件工程复习资料.docx》由会员分享,可在线阅读,更多相关《软件工程复习资料.docx(19页珍藏版)》请在冰豆网上搜索。
软件工程复习资料
一、单选题
可行性分析研究的目的是( )
A.争取项目 B.项目值得开发否C.开发项目 D.规划项目
具有风险分析的软件生存周期模型是( )
A.瀑布模型 B.喷泉模型C.螺旋模型 D.增量模型
需求分析阶段的任务是确定( )
A.软件开发方法B.软件开发工具C.软件开发D.软件系统的功能
数据字典是用来定义( )中的各个成份的具体含义的。
A.流程图 B.功能结构图C.系统结构图 D.数据流图
程序的三种基本控制结构的共同特点是( )
A.只能用来描述简单程序 B.不能嵌套使用
C.单入口,单出口 D.仅用于自动控制系统
软件设计的方法有多种,( )方法不属于面向数据流的设计方法。
A.基于Jackson图的设计 B.基于IDEF0图的设计
C.交换分析设计 D.事务分析设计
为高质量地开发软件项目,在软件结构设计时,必须遵循( )原则。
A.信息隐蔽 B.质量控制C.程序优化 D.数据共享
软件复杂性主要体现在( )
A.数据的复杂性 B.程序的复杂性C.控制的复杂性 D.问题的复杂性
为了提高软件的可维护性,在编码阶段应注意( )
A.保存测试用例和数据 B.提高模块的独立性
C.文档的副作用 D.养成好的程序设计风格
面向对象的特征之一是( )
对象的唯一性 B.抽象C.封装性 D.共享性
当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为( )
A.数据耦合 B.公共耦合C.标记耦合 D.内容耦合
需求规格说明书的作用不包括( )
A.软件验收的依据B.用户与开发人员对软件要做什么的共同理解
C.软件可行性研究的依据D.软件设计的依据
为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,所以()的编制是很重要的。
A、需求说明B、概要说明C、软件文档D、测试计划
软件部件的内部实现与外部可访问性的分离,是指软件的()。
A、继承性B、共享性C、封装性D、抽象性
单元测试是发现编码错误,集成测试是发现模块的接口错误,确认测试是为了发现功能错误,那么系统测试是为了发现()的错误。
A、接口错误B、编码错误C、性能、质量不合要求D、功能错误
软件工程管理对软件项目的开发管理,即对整个软件()的一切活动的管理。
A、软件项目B、生存期C、软件开发计划D、软件开发
软件测试中根据测试用例设计的方法的不同可分为黑盒测试和白盒测试两种,它们( )
A.前者属于静态测试,后者属于动态测试B.都属于静态测试
C.前者属于动态测试,后者属于静态测试D.都属于动态测试
软件工程管理的具体内容不包括对( )管理。
A.开发人员 B.组织机构C.控制 D.设备
软件调试技术包括( )
A.错误推断 B.集成测试C.回溯法 D.边界值分析
ISO的软件质量评价模型由3层组成,其中用于评价设计质量的准则是()
A.SQICB.SQMCC.SQRCD.SQDC
软件复杂性度量的参数包括( )
A.效率 B.规模 C.完整性 D.容错性
模块的耦合性最强的是()
A.数据耦合B.控制耦合C.公共耦合D.内容耦合
在SD方法中全面指导模块划分的最重要的原则是()
A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性
软件详细设计主要采用的方法是()
A.模块设计B.结构化设计C.PDL语言D.结构化程序设计
黑盒测试在设计测试用例时,主要需要研究()
A.需求规格说明与概要设计说明B.详细设计说明
C.项目开发计划D.概要设计说明与详细设计说明
若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:
-1.001,-1.0,1.0,1.001。
设计这组测试用例的方法是()
A.条件覆盖法B.等价分类法C.边界值分析法D.错误推测法
下列属于维护阶段的文档是()
A.软件规格说明B.用户操作手册C.软件问题报告D.软件测试分析报告
快速原型模型的主要特点之一是()
A.开发完毕才见到产品B.及早提供全部完整的软件产品C.开发完毕后才见到工作软件D.及早提供工作软件
因计算机硬件和软件环境的变化而作出的修改软件的过程称为()
A.教正性维护B.适应性维护C.完善性维护D.预防性维护
软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为()
A.可用性B.可靠性C.正确性D.完整性
下列文档与维护人员有关的有()
A.软件需求说明书B.项目开发计划C.概要设计说明书D.操作手册
下列模型属于成本估算方法的有()
A.COCOMO模型B.McCall模型C.McCabe度量法D.时间估算法
对象实现了数据和操作的结合,使数据和操作()于对象的统一体中。
(第九章)
A.结合B.隐藏C.封装D.抽象
软件调试技术包括()
A.边界值分析B.演绎法C.循环覆盖D.集成测试
概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是()
A.把软件划分成模块B.确定模块之间的调用关系
C.确定各个模块的功能D.设计每个模块的伪代码
软件生命周期中所花费用最多的阶段是()
A.详细设计B.软件编码C.软件测试D.软件维护
“软件危机”是指( )
A. 计算机病毒的出现 B. 利用计算机进行经济犯罪活动
C. 软件开发和维护中出现的一系列问题 D. 人们过分迷恋计算机系统
确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于()
A、集成测试B、恢复测试C、验收测试D、单元测试
盒图(N-S图)为()提供了有力的工具。
A、系统分析B、软件的自动化生成C、自动分析数据D、测试软件
程序的三种基本控制结构是()
A、过程、子程序和分程序B、顺序、选择和重复
C、递归、堆栈和队列D、调用、返回和转移
具有风险分析的软件生存周期模型是( )
A.瀑布模型 B.喷泉模型C.螺旋模型 D.增量模型
下列有关软件工程的标准,属于行业标准的是( )
A. GB B. DIN C. ISO D. IEEE
DFD中的每个加工至少需要( )
A. 一个输入流 B. 一个输出流
C. 一个输入或输出流 D. 一个输入流和一个输出流
为了提高模块的独立性,模块之间最好是( )
A. 控制耦合 B. 公共耦合 C. 内容耦合 D. 数据耦合
软件设计的方法有多种,( )方法不属于面向数据流的设计方法。
A.基于Jackson图的设计 B.基于IDEF0图的设计
C.交换分析设计 D.事务分析设计
当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为()
A.数据耦合 B.公共耦合C.标记耦合 D.内容耦合
详细设计与概要设计衔接的图形工具是()
A. DFD图 B. 程序图 C. PAD图 D. SC图
测试的关键问题是( )
A. 如何组织对软件的评审 B. 如何验证程序的正确性
C. 如何采用综合策略 D. 如何选择测试用例
开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做()
A.软件工程B.软件周期C.软件危机D.软件产生
模块的内聚性最高的是()
A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚
软件详细设计主要采用的方法是()
A.模块设计B.结构化设计C.PDL语言D.结构化程序设计
结构化程序设计主要强调的是()
A. 程序的规模B. 程序的效率
C. 程序设计语言的先进性D. 程序易读性
下列关于功能性注释不正确的说法是( )
A. 功能性注释嵌在源程序中,用于说明程序段或语句的功能以及数据的状态
B. 注释用来说明程序段,需要在每一行都要加注释
C. 可使用空行或缩进,以便很容易区分注释和程序
D. 修改程序也应修改注释
下列关于效率的说法不正确的是( )
A. 效率是一个性能要求,其目标应该在需求分析时给出
B. 提高程序效率的根本途径在于选择良好的设计方法,数据结构与算法
C. 效率主要指处理机时间和存储器容量两个方面
D. 程序的效率与程序的简单性无关
可维护性的特性中,相互矛盾的是( )
A. 可理解性与可测试性 B. 效率与可修改性
C. 可修改性和可理解性 D. 可理解性与可读性
快速原型是利用原型辅助软件开发的一种新思想,它是在研究( )的方法和技术中产生的。
A. 需求阶段 B. 设计阶段 C. 测试阶段D. 软件开发的各个阶段 从目前情况来看,增量模型存在的主要问题是( )
A. 用户很难适应这种系统开发方法
B. 该方法的成功率很低
C. 缺乏丰富而强有力的软件工具和开发环境
D. 缺乏对开发过程中的问题和错误具有应付变化的机制
可行性分析研究的目的是( )
A.项目是否值得开发B.争取项目C.开发项目 D.规划项目
描述复杂系统时,最好采用()的描绘方法。
A.按系统流程描述B.分层次C.分阶段 D.对系统数据分类
下述方法中,属于形式化说明方法的是()。
A.Petri网B.数据流图C.PDL D.PAD图
需求分析阶段的基本任务是准确地回答()。
A.系统的规模有多大B.系统如何实现
C.系统有些什么输入信息D.系统必须做什么
在软件结构设计时,下面哪一项不是应该遵循()的原则。
A.信息隐蔽 B.抽象C.数据共享 D.逐步求精
A、算法和使用的数据结构B、外部接口C、功能D、编程
软件是一种()
A、程序B、数据C、逻辑产品D、物理产品
研究开发所需要的成本和资源是属于可行性研究中的()研究的一方面。
A.技术可行性B.经济可行性C.社会可行性D.法律可行性
中级结构性成本模型COCOMO是一个()
A、静态单变量模型B、动态单变量模型C、静态多变量模型D、动态多变量模型
PAD图为()提供了有力的工具。
在软件结构设计完成后,对于下列说法,正确的是()
A.软件层数过多,可能是因为各管理子模块功能过于复杂的原因。
B.对软件宽度影响最大的因素是扇入。
C.一个模块的扇出太多,说明该模块过分复杂,缺少中间层
D.一个模块的扇入太多,说明该模块过分复杂,缺少中间层
源程序的效率与()阶段确定的算法的效率直接有关。
A.概要设计B.总体设计C.单元设计D.详细设计
关于软件测试,下面说法正确的是()。
A.软件测试只能依靠手工进行
B.子模块并入系统时,只要此子模块是经过单元测试,且没有问题的,就不用再对系统进行测试了。
C.软件不能进行“穷举”测试
D.测试计划是在软件测试开始之初制定的。
关于白盒法覆盖程度的论述中正确的是()。
A.语句覆盖:
选择测试用例使程序中每条语句至少被执行一次
B.条件覆盖:
选择测试用例使每个条件都满足
C.判定覆盖:
选择测试用例使程序中每个判定和判定中的条件至少都获得一次“真”值和一次“假”值。
D.条件组合覆盖:
将所有的判定条件都组合起来执行
黑盒测试着重测试软件的()
A.设计B.模块C.功能D.数据
()发现错误能力最弱。
A.判定覆盖B.语句覆盖C.条件覆盖D.条件组合覆盖
在进行软件测试时,首先应当进行(),然后再进行组装测试,最后再进行有效性测试。
A.组织测试B.集成测试C.确认测试D.单元测试
由软件预发行的最终客户们在一个或多个客户场所对软件进行的测试,称为()。
A.α测试B.集成测试C.平行运行D.β测试
以下说法正确的是()。
A.等价划分法是一种有效的白盒测试方法。
B.在等价划分法中,为了提高测试效率,一个测试用例可以覆盖多个有效等价类。
C.等价划分法的关键是按照用例来确定等价类。
D.设计测试方案时,要么采用等价划分法,要么采用边界值分析法。
从现存的程序代码中抽取有关数据、体现结构和处理过程的设计信息,以便恢复设计结果的过程,称为()
A.代码重构B.逆向工程C.数据重构D.正向工程
决定软件可维护性的因素有5个,即可理解性、()、可修改性、可移植性、可重用性。
A.完备性B.安全性C.可测试性D.灵活性
软件维护工作过程中,第一步是先确认()
A.维护环境B.维护类型C.维护要求D.维护者
以下哪种不属于用面向对象方法建立的分析模型()
A. 动态模型 B. 功能模型 C. 对象模型 D. 状态模型
可维护性的特性中,相互矛盾的是( )
A. 可理解性与可测试性 B. 效率与可修改性
C. 可修改性和可理解性 D. 可理解性与可读性
软件详细设计的主要任务是确定每个模块的()
A、算法和使用的数据结构B、外部接口C、功能D、编程
软件是一种()
A、程序B、数据C、逻辑产品D、物理产品
研究开发所需要的成本和资源是属于可行性研究中的()研究的一方面。
A.技术可行性B.经济可行性C.社会可行性D.法律可行性
中级结构性成本模型COCOMO是一个()
A、静态单变量模型B、动态单变量模型C、静态多变量模型D、动态多变量模型
PAD图为()提供了有力的工具。
A、系统分析B、软件的自动化生成C、自动分析数据D、测试软件
二、填空题
在面向对象方法中,对象实现了数据和操作的结合,使数据和操作________________于对象的统一体中。
如果知道软件的规格说明书描述的程序功能,那么就可以采用________________ 进行测试。
软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、、可使用性和效率。
当A模块调用B模块时,若两个模块之间传递的是数值型参数,则这两个模块的耦合方式是________________ 。
向对象发出服务请求称为________,类对象上的各种操作称为________。
提高软件质量和可靠性的技术主要有两类________和________。
大型软件测试包括________、________确认测试和________四个步骤。
软件结构图的宽度是指一层中__________________的模块个数。
软件生存周期是指一个软件从提出开发要求开始直到__________________为止的整个时期。
McCall提出的软件质量模型包括________________ 个软件质量特性。
对大信息系统的需求,DFD应与数据库技术中________________ 图结合起来。
瀑布模型是以文档为驱动、适合于________的软件项目的模型。
在结构化分析中,用于描述加工逻辑的主要工具有三种,即:
结构化语言、判定表、。
数据项是指________数据单元。
基于计算机的系统通常包含6个元素是硬件、软件、过程、文档、数据库和________。
软件开发是一个自顶向下逐步细化和求精过程,而软件测试是一个_______集成的过程。
软件维护的内容包括校正性维持,适应性维护、_______和预防性维护。
CMM将软件过程的成熟度分为5个等级是初始级、可重复级、、己管理级和优化级。
软件结构是以为基础而组成的一种控制层次结构。
结构化语言是介于自然语言和之间的一种半形式语言。
在面向对象方法中,对象实现了数据和操作的结合,使数据和操作________________于对象的统一体中。
作为计算机科学技术领域中的一门新兴学科,软件工程主要是为了解决________问题。
划分模块时尽量做到________,保持模块的独立性。
瀑布模型是以文档为驱动、适合于________的软件项目的模型。
软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、、可使用性和效率。
基于计算机的系统通常包含6个元素是硬件、软件、过程、文档、数据库和________。
软件开发模型用于指导软件的开发。
演化模型是在快速开发一个________的基础上,逐步演化成最终的软件。
软件工程包括的三个要素是________。
常用的成本估计技术有:
和自动估计成本技术三种。
结构化分析方法常用的两种工具是________和________。
模块的分解和合并应力求________。
程序的效率包括两个方面的内容________和________。
形式化方法是一种基于的技术。
在需求分析时,常采用来描绘系统的行为。
实体-联系图包括:
3种相互关联的信息。
软件设计包括两个阶段。
基本路径测试是在程序流图的基础上,通过分析控制构造的,从而导出基本路径的集合,而设计测试用例,保证这些路径至少通过一次。
软件维护活动主要包括完善性维护、、改正性维护和预防性维护等四种。
是子类自动共享父类属性和操作的机制。
IEEE定义是:
已经通过了正式复审的规格说明或中间产品,它可以作为进一步开发的基础,并且只有通过正式的变化控制过程才能改变它。
软件生存周期是指软件从________、________、________直到最终被废弃的全过程。
瀑布模型的核心思想是________。
在可行性研究中,________是最关键的因素。
软件生命周期由软件定义、软件开发和________三个时期组成。
一般来说,可行性研究应该从技术、经济和________三个方面研究每种解法的可行性。
软件________是程序在给定的时间间隔内,按照规格说明书的规定成功地运行地概率。
常用的软件成本估计方法有________、任务分解技术和自动估计成本技术。
软件需求分析时,应建立数据模型、功能模型和________。
所谓形式化方法,是描述系统性质的基于________的技术。
________原理指出:
应该这样设计和确定模块,使得一个模块内包含的信息对于不需要这些信息的模块来说,是不能访问的。
如果一个程序的代码块仅仅通过顺序、选择和循环这三种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是________的。
软件的维护一般经过________、________、________三个步骤。
三、简答题
软件项目估算内容与步骤
面向对象设计的准则是什么?
有哪5个层次和4个部分?
简述软件工程目标和面临的主要问题。
简述软件工程过程。
简述模块独立性的原则。
简述结构化程序设计方法的基本要点
简述软件生命周期开发方法的基本过程及每个阶段的任务。
复印机的工作流程大致如下:
未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令:
如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告,等待维修人员来排除故障,故障排除后回到闲置状态。
试用状态转换图描绘复印机的行为。
简述文档在软件工程中的作用。
简述软件项目管理过程。
简述系统分析员应该具备的主要知识结构和基本素质。
简述何谓软件开发方法?
请列举四种主要方法。
简述单元测试的基本内容。
什么是软件生存周期模型?
请至少列举四种主要模型?
衡量模块独立的两个标准是什么?
它们各表示什么含义?
简述白盒测试的思想,并列举两种典型的测试技术。
简述CMM(软件能力成熟度模型)5个等级的含义
简述软件维护的定义
简述软件测试的定义
UML建模中主要包括哪九种图?
并说明类图的定义及其中常见的关系有哪些?
什么是字据字典?
其作用是什么?
它有哪些条目?
四、分析题
根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。
“一个程序读入三个整数。
把此三个数值看成是一个三角形的三个边。
这个程序要打印出信息,说明这个三角形是三边不等的、是等腰的、还是等边的。
”
图书馆的预定图书子系统有如下功能:
(1)由供书部门提供书目给订购组;
(2)订书组从各单位取得要订的书目;
(3)根据供书目录和订书书目产生订书文档留底;
(4)将订书信息(包括数目,数量等)反馈给供书单位;
(5)将未订书目通知订书者;
(6)对于重复订购的书目由系统自动检查,并把结果反馈给订书者。
试根据要求画出该问题的数据流图,并把其转换为软件结构图。
已知被测试模块流程图如下,按照“条件覆盖”法,在表格中填入满足测试要求的数据。
假设几种可能的条件是:
T1:
A>2F1:
A<=2T2:
B=1F2:
B≠1T3:
A=1F3:
A≠1T4:
Y>1F4:
Y<=1
填写下表
数据
覆盖路径
覆盖条件
Y值
T1,T2,F3,F4
F1,F2,T3,T4
设计一个简化的网上个人银行查询系统,用户可以通过Internet查询自己帐户的收支明细、余额和修改密码。
采用面向对象方法:
1)请画出系统的用例图;
2)识别出系统的主要类,并画其中的二个类图(包含主要属性和操作)。
3)画一个UML时序图,描述一次通过网上银行查询余额的具体交互。
用等价类划分方法进行如下测试:
城市电话号码有3部分组成:
地区:
空白或3位数字;
前缀:
非‘0’或‘1’开头的3位数字;
后缀:
任意4位。
程序应接受符合条件的号码,拒绝不符合条件的号码。
某单位要研制一个计算机管理系统。
它的业务是:
将学员发来的信件收集分类后,按几种不同的情况处理。
1)如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出发票给学生。
2)如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。
3)如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。
要求:
1.对以上问题画出数据流程图。
2.画出该培训管理的软件结构图。
某报表处理系统要求用户输入处理报表的日期,日期限制在2003年1月至2008年12月,即系统只能对该段期间内的报表进行处理,如日期不在此范围内,则显示输入错误信息。
系统日期规定由年、月的6位数字字符组成,前四位代表年,后两位代表月。
现要求用黑盒测试法中的边界值法写出测试用例。
下图为一个被测程序流程图,试用条件覆盖方法为它设计足够的测试用例