软件工程考试复习.docx

上传人:b****4 文档编号:24287379 上传时间:2023-05-26 格式:DOCX 页数:68 大小:147.42KB
下载 相关 举报
软件工程考试复习.docx_第1页
第1页 / 共68页
软件工程考试复习.docx_第2页
第2页 / 共68页
软件工程考试复习.docx_第3页
第3页 / 共68页
软件工程考试复习.docx_第4页
第4页 / 共68页
软件工程考试复习.docx_第5页
第5页 / 共68页
点击查看更多>>
下载资源
资源描述

软件工程考试复习.docx

《软件工程考试复习.docx》由会员分享,可在线阅读,更多相关《软件工程考试复习.docx(68页珍藏版)》请在冰豆网上搜索。

软件工程考试复习.docx

软件工程考试复习

第一章概述

一、名词解释

1、计算机软件:

与计算机系统操作有关的程序、规程、规则及任何与之有关的文档和数据。

2、软件危机:

指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和困难。

3、软件工程:

用工程、科学和数学的原则与方法开发、维护计算机软件的有关技术和管理方法。

4、软件生存周期:

软件从形成概念开始,经过开发、使用和维护,直到最终退役的全过程称为软件生存周期。

二、单项选择题

1、下面不属于软件工程的3个要素的是(D)。

A、工具B、过程C、方法D、环境

2、软件开发的结构化生命周期方法将软件生命周期划分成(A)。

A、计划阶段、开发阶段、运行阶段。

B、计划阶段、编程阶段、测试阶段。

C、总体设计、详细设计、编程调试。

D、需求分析、功能定义、系统设计。

3、瀑布模型的关键不足在于(B)

A、过于简单B、不能适应需求的动态变更

C、过于灵活D、各个阶段需要进行评审

4、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A)系统。

A、需求不确定的B、需求确定的C、管理信息D、决策支持

5、软件是一种(C)

A、程序B、数据C、逻辑产品D、物理产品

6、瀑布模型的关键不足在于(B)

A、过于简单B、不能适应需求的动态变更

C、过于灵活D、各个阶段需要进行评审

7、具有风险分析的软件生存周期模型是(C)。

A、瀑布模型B、喷泉模型C、螺旋模型D、增量模型

8、以下哪一项不是软件危机的表现形式(C)

A、成本高B、生产率低

B、技术发展快D、质量得不到保证

9、软件是一种(B)性工业产品。

A、理论B、知识C、消耗D、体力

10、软件定义期间的问题定义阶段涉及的人员有(D)。

A、用户、使用部门负责人

B、软件开发人员、用户、使用部门负责人

C、系统分析员、软件开发人员

D、系统分析员、软件开发人员、用户与使用部门负责人

11、(A)是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。

A软件过程B、软件工具C、质量保证D、软件工程

12.分析员是(B)。

A、用户中系统的直接使用者B、用户和软件人员的中间人

C、软件的编程人员D、用户和软件人员的领导

13开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作(B)。

A、软件投机B、软件危机C、软件工程D、软件产生

14、软件生命周期中所花费用最多的阶段是(D)

A.详细设计B.软件编码C.软件测试D.软件维护

15、软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是(B)。

A、引入新技术提高空间利用率B、用较少的投资获得高质量的软件

C、缩短研制周期扩大软件功能D、硬软件结合使系统面向应用

16.为了解决软件危机,人们提出了用(B)的原理来设计软件,这就是软件工程诞生的基础。

A、运筹学B、工程学C、软件学D、数字

17、软件工程学的目的是以(B)的成本,研制(A)质量的软件。

A、较高B、较低C、可靠D、优秀

18、瀑布模型把软件生存周期划分为软件定义、软件开发和(C)三个阶段,而每一阶段又可细分为若干更小的阶段。

A、详细设计B、可行性分析C、运行及维护D、测试与排错

19、软件生存周期是指(D)阶段。

A、软件开始使用到用户要求修改为止

B、软件开始使用到被淘汰为止C、从开始编写程序到不能再使用为止

D、从立项制定计划,进行需求分析到不能再使用为止

20、软件工程中描述生存周期的瀑布模型一般包括计划、(B)、设计、编码、测试、维护等几个阶段。

(A)

A、需求分析B、需求调查C、可行性分析D、问题定义

21、瀑布模型的存在问题是(B)

A.用户容易参与开发

B.缺乏灵活性

C.用户与开发者易沟通

D.适用可变需求

22、(D)引入了“风险驱动”的思想,适用于大规模的内部开发项目。

A.增量模型B.喷泉模型C.原型模型D.螺旋模型

三、多选题

1.软件工程的目标有(ABC)

A、易于维护B、低的开发成本C、高性能D、短的开发期

E、可管理性

2、软件危机具有下列表现(A、B、C、D)。

A、对软件开发成本估计不准确B、软件产品的质量往往靠不住

C.软件常常不可维护D软件成本逐年上升

3、产生软件危机的原因可能有(A、B、C、D、E)。

A、用户的需求描述不精确。

B、对大型软件项目的开发往往缺乏有力的组织和管理

C、缺乏有力的方法学和工具的支持

D、软件产品的特殊性和人类智力的局限性

E、对需求的理解有偏差,导致软件与需求不一致

4、软件定义期间的问题定义阶段涉及的人员有(A、B、C、D)。

A、用户

B、系统分析员

C、软件开发人员

D、使用部门负责人

四、填空题

1、软件工程的3个要素的是工具、过程和方法

方法:

是完成软件工程项目的技术手段,它们支持软件工程的各个阶段。

软件工具:

是人类开发软件的活动中智力和体力的扩展和延伸,能够自动或半自动地支持软件的开发和管理,支持各种软件文档的生成。

过程:

贯穿于整个工程的各个环节。

2、软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和困难。

3、在软件开发过程中必须遵循的软件工程原则有抽象、信息隐藏、模块化、局部化和一致性等。

4、软件开发的结构化生命周期方法将软件生命周期划分成定义阶段、开发阶段和运行阶段。

5、螺旋模型综合了瀑布模型和原型模型的优点,即将两者结合,并加入了风险分析机制

五、判断题

1、文档是软件产品的一部分,没有文档的软件就不称其为软件(√)。

2、在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低。

(×)

3、螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。

(√)

4、快速原型模型可以有效地适应用户需求的动态变化。

(√)

5、软件是指用程序设计语言(如PASCAL,C,VISUALBASIC等)编写的程序,软件开发实际上就是编写程序代码(×)。

六、问答题

1、什么是软件危机?

软件危机有哪些主要特征?

答:

(1)软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和困难。

(2)软件危机的主要特征

时间:

软件开发周期大大超过规定日期;

成本:

软件开发成本严重超标;软件成本在计算机系统总成本中所占比例逐年上升。

质量:

软件质量难于保证。

生产率;开发生产率提高的速度远跟不上软件需求。

2、产生软件危机的主要原因有哪些?

缓解软件危机的途径是什么

答:

(1)主要原因:

1)需求描述不精确,对需求的理解有偏差,导致软件与需求不一致。

2)缺乏处理大型软件项目的开发和管理经验。

3)开发大型软件易产生疏漏和错误。

4)缺乏有力的方法学的指导和有效的开发工具的支持。

5)解决供求矛盾将是一个永恒的主题。

(2)缓解软件危机的途径:

用软件工程的思想指层软件的开发

3、简述软件工程的三要素

答:

软件工程由方法、工具和过程三部分组成,称软件工程的三要素。

(1)方法:

是完成软件工程项目的技术手段,它们支持软件工程的各个阶段。

(2)软件工具:

是人类开发软件的活动中智力和体力的扩展和延伸,能够自动或半自动地支持软件的开发和管理,支持各种软件文档的生成。

目前的软件工具支持软件开发的全过程。

(3)过程:

贯穿于整个工程的各个环节,在这一过程中,管理人员应对软件开发的质量、进度、成本等进行评估、管理和控制,包括计划跟踪与控制、成本估算、人员的组织、质量保证、配置管理等。

4、软件工程学的基本原则有哪些?

试说明之。

答:

在软件开发过程中必须遵循下列软件工程原则。

·抽象:

采用分层次抽象,自顶向下、逐层细化的办法进行功能分解和过程分解,可以由抽象到具体、由复杂到简单,逐步得到问题的解。

·信息隐蔽:

遵循信息封装,使用与实现分离的原则,将模块设计成“黑箱”,可以将实现的细节隐藏在模块内部,使用者只能通过模块接口访问模块中封装的数据。

·模块化:

按模块划分系统的体系结构,使得各模块间有良好的接口。

这样有助于信息隐蔽和抽象,有助于表示复杂的系统。

·局部化:

按抽象数据类型思想及问题域中的概念来建立模块,确保模块之间低耦合,模块内部高内聚。

这有助于控制解的复杂性。

·确定性:

软件开发过程中所有概念的表达应是确定的、无歧义性的、规范的。

这有助于人们之间的沟通,保证整个开发工作协调一致。

·一致性:

强调软件开发过程的标准化、统一化。

包括文档格式的一致,工作流程的一致,内、外部接口的一致,系统规格说明与系统行为的一致等。

·完备性:

软件系统不丢失任何重要成分,可以完全实现系统所要求功能。

·可验证性:

开发大型的软件系统需要对系统自顶向下、逐层分解。

系统分解应遵循系统易于检查、测试、评审的原则,以确保系统的正确性。

第二章项目管理

一、单选题

1、软件复杂性度量的参数,不包括(D)

A、规模B、难度C、智能度D、成本

2、软件复杂性度量的参数包括(B)

A.效率B.规模C.完整性D.容错性

3、(D)是以追求更高的效益和效率为目标的持续性活动。

A、质量策划B、质量控制C、质量保证D、质量改进

4、下列模型属于成本估算方法的有(A)。

A、COCOMO模型B、McCall模型

C、McCabe度量法D、CMM模型

5、软件项目计划一般不包括以下哪项内容(D)

A、培训计划B、人员安排

C、进度安排D、软件开发标准的选择和制定

6、软件按照设计的要求,在规定的时间和条件下达到不出故障、持续运行的要求的质量特性称为(A)

A、可靠性B、可用性C、正确性D、完整性

7、软件复杂性主要体现在(C)。

A、数据的复杂性B、程序的复杂性

C、控制的复杂性D、问题的复杂性

8、在McCALL软件质量度量模型中,(A)属于面向软件产品操作的质量因素

A、可用性B、可维护性C、适用性D、互操作性

9、软件的可移植性是衡量软件质量的重要标准之一。

它指的是(D)。

A、一个软件版本升级的容易程度

B、一个软件与其他软件交换信息的容易程度

C、一个软件对软硬件环境要求得到满足的容易程度

D、一个软件从一个计算机系统或环境转移到另一个计算机系统或环境的容易程度。

10、(C)是指在规定的条件下和规定期间内,实现所指定功能的概率。

A、可测试性B、可理解性C、可靠性D、可移植性

11、在软件工程中,当前用于保证软件质量的主要技术手段还是(B)。

A、正确性证明B、测试C、自动程序设计D、符号证明

12、在软件工程中,高质量的文档标准是完整性、一致性和(C)。

A、统一性B、安全性C、无二义性D、组合性

13、在McCall软件质量度量模型中,(C)属于面向软件产品修改。

A.可靠性B.可重用性C.适应性D.可移植性

14、Putnam成本估算模型是一个(D)模型。

A.静态单变量B.动态单变量C.静态多变量D.动态多变量

二、填空题

1、软件项目管理的对象:

主要包括产品、过程和资源

产品:

指软件开发过程得到的文档和程序;

过程:

指与软件项目有关的活动;

资源:

指进行软件项目所需要的各种支持。

如人力、经费、软/硬件环境。

2、成本管理是估算软件项目的成本,作为立项和签合同的依据之一,并在软件开发过程中按计划管理经费的使用;质量管理是制定软件质量保证计划,按照质量评价体系控制软件质量要素,对阶段性的软件产品进行评审,对最终软件产品进行确认,确保软件质量;配置管理是制定配置管理计划,对程序、数据、文档的各种版本进行管理,确保软件的完整性和一致性。

3、CoCoMo模型按其详细程度分基本CoCoMo模型、中间CoCoMo模型和详细CoCoMo模型三个层次。

4、McCall等人提出的三层次度量模型由软件质量要素、评价准则、定量度量三个层次组成的。

5、风险按影响的范围可分为项目风险、技术风险和商业风险三类。

6、McCall提出的软件质量模型包括11个软件质量特性。

三、名词解释

1、软件质量:

软件产品满足规定的和隐含的与需求能力有关的全部特征和特性。

2、软件可靠性:

在某个给定时间间隔内,程序按照规格说明成功运行的概率。

四、应用题

1、已知有一个国外典型的软件项目的记录,开发人员M=6人,其代码行数=20.2KLOC,工作量E=43PM,成本S=314000美元,错误数N=64,文档页数Pd=1050页。

试计算开发该软件项目的生产率P、平均成本C、代码出错率EQR和文档率D。

解:

根据给出的已知数据,可得:

P=L/E=20.2KLOC/43PM=0.47KLOC/PM

=470LOC/PM

C=S/L=314000美元/20.2KLOC

=15.54美元/LOC

EQR=N/L=64个/20.2KLOC=3.17个/KLOC

D=Pd/L=1050页/20.2KLOC=51.98页/KLOC

2、已知某软件项目的特征为:

用户输入数为30,用户输出数为60,用户查询数为24,共有8个文件,有2个外部界面。

如果每个信息量的加权因子都取“一般”值,所有的技术复杂性调节因子都取“普通”值,

(1)用功能点度量方法计算该软件项目的功能点。

(2)其代码行数=20.2KLOC,工作量E=43PM,成本S=314000美元,错误数N=64,文档页数Pd=1050页。

试计算开发该软件项目的生产率P、平均成本C、代码出错率EQR和文档率D

解:

(1)基本功能点CT为:

CT=用户输入数×4+用户输出数×5+

+用户查询数×4+文件数×10+外部接口数×7

=30×4+60×5+24×4+8×10+2×7

=610

FP=CT×TCF=CT[0.65+0.01∑Fi]

=610×[0.65+0.01×3×14]

=652.7功能点

答:

该软件项目共有652.7功能点。

(2)解:

1)生产率P(平均每人月开发的功能点数,以功能点/PM为单位):

P=FP/E=652.7/43

2)平均成本C(以美元/功能点或元/功能点为单位):

C=S/FP=314000/652.7

3)代码出错率EQR(即每功能点的平均错误数,以个/功能点为单位)为:

EQR=N/FP=64/652.7

4)软件的文档率D(即平均每功能点的文档页数,以页/功能点为单位)为:

D=Pd/FP=105/652.7

五、判断题

1、当软件开发项目的进度有可能拖延时,增加开发人员并不一定能加快进度。

(√)

第三章障可行性分析

一、单选题

1、软件可行性研究一般不考虑(D)

A、是否有足够的人员和相关的技术来支持系统开发

B、是否有足够的工具和相关的技术来支持系统开发

C、待开发软件是否有市场、经济上是否合算

D、待开发的软件是否会有质量问题

2、可行性研究要进行一次(C)需求分析。

A、详细的B、全面的C、简化的、压缩的D.彻底的

设计

3、经济可行性研究的范围包括(C)。

A、资源有效性B、管理制度C、效益分析D、开发风险

4、在可行性研究阶段,对系统所要求的功能、性能以及限制条件进行分析,确定是否能够构成一个满足要求的系统,这称为(B)可行性。

A、经济B、技术C、法律D、操作]

5、可行性研究的目的是用最小的代价,在最短的时间内确定问题是否可能解决和值得去解决,主要从(C)三个方面进行。

A、技术可行性、费用可行性、效益可行性

B、经济可行性、技术可行性、机器可行性

C、技术可行性、操作可行性、经济可行性

D、费用可行性、机器可行性、操作可行性

6、为保证软件质量,在软件生存周期的每个阶段结束之前,都需要进行(C)工作。

A、制定计划B、测试C、审查D、交接

7、研究开发所需要的成本和资源是属于可行性研究中的(B)研究的一方面。

A.技术可行性B.经济可行性C.社会可行性D.法律可行性

二、填空题

1、可行性研究的的主要内容有经济可行性研究、技术可行性研究和法律可行性研究等。

2、整个生存周期系统的累计收入的折现值PT与总成本折现值ST之差称为纯收入,把资金投入到项目中与把资金存入银行比较,其中投入到项目中可获得的年利率就称为项目的投资回收率

三、判断题

1、软件可行性研究一般不考虑待开发软件是否有市场、经济上是否合算(×)

2、如果技术风险很大,或者资源不足,或者当前的技术、方法与工具不能实现系统预期的功能和性能,管理人员就应及时做出撤消项目的决定。

(√)

四、问答题

1、可行性分析的主要任务是什么?

答:

可行性研究的主要任务是:

了解客户的要求及现实环境,从技术、经济和社会因素等三方面研究并论证本软件项目的可行性,编写可行性研究报告,制定初步项目开发计划。

1)经济可行性研究:

度量系统解决方案的性能价格比。

估算开发成本和利润,进行成本效益分析。

2)技术可行性研究:

度量一个特定技术信息系统解决方案的实用性及技术资源的可用性。

3)运行、操作可行性研究:

用户使用可能性;时间进度可行性;组织和文化上的可行性

4)法律可行性研究:

开发项目是否会在社会上、法律上或政治上引起侵权、破坏或其它责任问题。

5)开发方案的选择

 

第四章需求分析

一、单选题

1、在各种不同的软件需求中,(D)描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明。

A、业务需求B、功能需求C、非功能需求D、用户需求

2、需求分析最终结果是产生(B)

A、项目开发计划B、需求规格说明书

C、设计说明书D、可行性分析报告

3、需求分析阶段的主要任务是(A)。

A、确定软件系统的功能B、确定软件开发方法

C、确定软件开发费D、确定软件开发工具

4、(A)意味着一个操作在不同的类中可以有不同的实现方式。

A、多态性B、多继承C、类的可复用D、信息隐蔽

5、时序图反映对象之间发送消息的时间顺序,它与(D)是同构的。

A、用例图B、类图C、活动图D、协作图

6、在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,(C)是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。

A、业务需求B、功能要求C、非功能需求D、用户需求

7、数据流图是一种描述数据及其变换的图形表示,在数据流图上不允许出现(B)。

A、数据流B、控制流C、文件D、加工

8、(D)工具在软件详细设计过程中不采用。

A、判定表B、IPO图C、PDLD、DFD图

9、在面向对象软件开发方法中,类与类之间主要有以下结构关系(B)

A、继承和聚集B、继承和一般

C、聚集和消息传递D、继承和方法调用

10、结构化程序设计主要强调的是(D)。

A、程序的规模B、程序的效率C、程序设计语言的先进性D、程序易读性

11、以下哪一项不是面向对象的特征(D)

A、多态性B、继承性C、封装性D、过程调用

12、面向对象模型主要由以下哪些模型组成(A)

A、对象模型、动态模型、功能模型B、对象模型、数据模型、功能模型

C、数据模型、动态模型、功能模型D、对象模型、动态模型、数据模型

13、以下哪种属于精确的用户需求描述(A)

A、系统的响应时间不能超过3秒B、系统必须用菜单驱动

C、在数据录入界面,应该有10个按钮D、电梯应平稳运行

14、在数据流图中,椭圆代表(C)

A、源点B、终点C、加工D、模块

15、下列(B)不是软件需求说明书性能描述包含的内容。

A、预期的软件响应B、测试种类C、设计的限制D、性能参数

16、软件定义期间的问题定义阶段涉及的人员有(D)。

A、用户、使用部门负责人

B、软件开发人员、用户、使用部门负责人

C、系统分析员、软件开发人员

D、系统分析员、软件开发人员、用户与使用部门负责人

17、不适于作为数据流图处理(加工)框名称的是(B)。

A、人工校核工资数据B、工资支票数据

C、打印工资支票D、计算职工工资

18、SA方法在描述方式上的特点,是尽量采用(C)。

A、自然语言B、形式语言C、图形表示D、表格

19、OOA模型规定了一组对象如何协同才能完成软件系统所指定的工作。

这种协同在模型中是以表明对象通信方式的一组(A)连接来表示的。

A、消息B、记录C、数据D、属性

20、进行需求分析可使用多种工具,但(B)是不适用的。

A、数据流图B、判定表C、PAD图D、数据词典

21、对象类之间的聚集关系就是(B)关系。

A、一般特殊B、整体-部分C、相互依赖D、层次构造

22、用于描述对象模型的工具是(D)。

A、数据流图B、结构图C、状态图D、对象图

23、结构化程序设计主要强调的是(D)。

A、程序的规模B、程序的效率C、程序设计语言的先进性D、程序易读性

24、对象类之间的聚集关系就是(B)关系。

A、一般特殊B、整体-部分C、相互依赖D、层次构造

26、数据流图中,当数据流向或流自文件时,(B)。

A、数据流要命名,文件不必命名

B、数据流不必命名,有文件名就足够了

C、数据流和文件均要命名,因为流出和流进数据流是不同的

D、数据流和文件均不要命名,通过加工可自然反映出

27、需求分析是由分析员经了解用户的要求,认真细致地调研、分析,最终应建立目标系统的逻辑模型并写出(B)。

A、模块说明书B、需求分析说明书C、项目开发计划D、合同文档

28分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的(A)。

A、总貌B、细节C、抽象D、软件的作者

29、对象实现了数据和操作的结合,使数据和操作(C)于对象的统一体中。

A.结合B.隐藏C.封装D.抽象

30、结构化系统分析主要是通过(D)进行分析的。

A、算法分解B、控制结构分解

C、数据结构分解D、处理功能分解

31、结构化分析SA是软件开发需求分析阶段所使用的方法,( B )不是SA所使用的工具。

A、DFD图B、PAD图  C、结构化英语D、判定表

32.结构化分析方法以数据流图、( D )和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型。

A、DFD图B、PAD图  C、IPO图D、数据字典

33、分层的数据流图中,父图与子图的平衡是指(D)的平衡。

A、处理B、数据存储C、外部项D、数据流

34、数据流图中,当数

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1