国家开放大学《软件工程》章节自测参考答案.docx

上传人:国**** 文档编号:12221257 上传时间:2023-06-04 格式:DOCX 页数:42 大小:50.86KB
下载 相关 举报
国家开放大学《软件工程》章节自测参考答案.docx_第1页
第1页 / 共42页
亲,该文档总共42页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

国家开放大学《软件工程》章节自测参考答案.docx

《国家开放大学《软件工程》章节自测参考答案.docx》由会员分享,可在线阅读,更多相关《国家开放大学《软件工程》章节自测参考答案.docx(42页珍藏版)》请在冰点文库上搜索。

国家开放大学《软件工程》章节自测参考答案.docx

国家开放大学《软件工程》章节自测参考答案

模块一软件工程概述

一、选择题

1.软件与程序的区别是()。

A.程序价格便宜、软件价格昂贵。

B.程序是用户自己编写的,而软件是由厂家提供的。

C.程序是用高级语言编写的,而软件是由机器语言编写的。

D.软件是程序以及开发、使用和维护所需要的所有文档的总称,而程序是软件的一部分。

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

A.软件产生

B.软件周期

C.软件工程

D.软件危机

3.瀑布模型本质上是一种()模型。

A.线性顺序

B.早期产品

C.顺序迭代

D.线性迭代

4.瀑布模型存在的问题是()。

A.缺乏灵活性

B.用户容易参与开发

C.适用可变需求

D.用户与开发者易沟通

5.用户要看到软件产品的模样,最早也要到()以后。

A.验收

B.在单元测试之后

C.程序代码编写完成之后

D.用户需求基本确定

6.螺旋模型是一种将瀑布模型和()结合起来的软件开发模型。

A.增量模型

B.专家系统

C.喷泉模型

D.变换模型

7.原型化方法是用户和设计者之间执行的一种交互构成,适用于()系统。

A.需求不确定性高的

B.需求确定的

C.管理信息

D.实时

8.原型化方法是一种()型的设计过程。

A.自底向上

B.自顶向下

C.自外向内

D.自内向外

9.下列有关软件工程的标准,属于国际标准的是()

A.IEEE

B.GB

C.ISO

D.DIN

10.结构化方法是一种基于()的方法。

A.程序结构

B.数据结构

C.算法

D.数据流

二、简答题

1.什么是软件危机?

软件危机表现在哪几个方面?

参考答案:

由于软件具有上述这些特点,长期以来一直没有发明一种高效的开发方法,从而导致软件生产效率非常低,交付期一拖再拖,最终交付的软件产品在质量上很难保障。

这种现象早在20世纪60年代被定义为“软件危机”。

它的具体表现如下:

(1)“已完成”的软件不满足用户的需求。

(2)开发进度不能保障,交付时间一再拖延。

(3)软件开发成本难以准确估算,开发过程控制困难造成开发成本超出预算。

(4)软件产品的质量没有保证,运算结果出错、操作死机等现象屡屡出现。

(5)软件通常没有适当的文档资料,或文档与最终交付的软件产品不符,软件的可维护程度非常低。

2.试述产生软件危机的主要原因?

参考答案:

软件的特点是导致软件危机的客观因素,而软件开发和软件维护过程中使用的不正确方法是主观因素,主要表现为:

忽视软件开发前期的调研和分析工作,没有统一的、规范的方法论指导,文档资料不齐全,忽视人员之间的交流,忽视测试工作,轻视软件的维护。

3.什么是软件工程?

软件工程的目标是什么?

参考答案:

软件工程是:

①将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,也就是说将工程化应用于软件开发和管理之中;②对①中所选方法的研究”。

软件工程旨在开发满足用户需要、及时交付、不超过预算和无故障的软件,其主要目标如下:

(1)实现预期的软件功能,达到较好的软件性能,满足用户的需求。

(2)增强软件过程的可见性和可控性,保证软件的质量。

(3)提高所开发软件的可维护性,降低维护费用。

(4)提高软件开发生产率,及时交付使用。

(5)合理预算开发成本,付出较低的开发费用。

4.软件工程为什么要强调规范化和文档化?

参考答案:

软件工程强调规范化和文档化。

规范化的目的是使众多的开发者遵守相同的规范,使软件生产摆脱个人生产方式,进入标准化、工程化的生产方式。

文档化是将软件的设计思想、设计过程和实现过程完整地记录下来,以便于后人的使用和维护,在开发过程中各类相关人员借助于文档进行交流和沟通。

另外,在开发过程中产生的各类文档使得软件的生产过程由不可见变为可见,便于管理者对软件生产进度和开发过程进行管理。

在用户最终验收时可以通过对提交的文档进行技术审查和管理审查,保证软件的质量。

5.软件工程层次是如何划分的?

参考答案:

软件工程的研究内容具有层次化结构,它的最底层是质量保证层,中间是过程层和方法层,最上层是工具层。

全面的质量管理和质量需求是推动软件工程过程不断改进的动力,正是这种改进的动力导致了更加成熟的软件工程方法不断涌现。

过程层定义了一组关键过程域,目的是保证软件开发过程的规范性和可控性。

方法层提供了软件开发的各种方法,包括如何进行软件需求分析和设计,如何实现设计,如何测试和维护等方法。

工具层为软件工程方法和过程提供了自动或半自动的支撑环境。

目前市场上已经有许多不错的软件工程工具,应用效果良好。

6.什么是软件生存周期模型?

参考答案:

软件生命周期模型反映的是软件开发过程、活动和任务的结构框架。

它能够清晰、直观地表达软件开发全过程,明确规定要完成的主要活动和任务。

对于不同的软件系统,可能采用不同的开发方法,使用不同的程序设计语言、不同的管理方法和手段、以及各种具有不同技能的人员参与工作,但是对于软件生命周期模型来说都应该是稳定有效和普遍适用的。

到目前为止,已经提出了多种模型,主要有瀑布模型、演化模型、喷泉模型、螺旋模型、智能模型。

模型的选择是基于软件的特点和应用领域。

7.软件工程的发展至今为止经历了哪几个阶段?

各阶段的特征是什么?

参考答案:

在20世纪70年代基本形成了软件工程的概念、框架、方法和手段,被称之为第一代软件工程,即传统软件工程。

结构化分析、结构化设计和结构化编程方法是这个时期的代表。

80年代出现的Smalltalk80程序设计语言标志着面向对象程序设计进入了实用阶段,从80年代中到90年代中,研究的重点转移到面向对象分析和设计上来,从而演化成软件工程的第二代,称之为对象工程。

90年代后期,软件工程的一个重要进展就是基于组件的开发方法。

为了提高软件生产力,避免草率地开发应用程序,尽可能地利用可复用组件来组装成新的应用软件系统。

到目前为止,组件技术的研究和发展形成了新一代软件工程,即第三代软件工程,也有不少人称之为组件工程。

软件工程至今还在不断发展,无论是组件工程还是对象工程都在不断发展,即使是传统软件工程的一些基本概念、框架,也随着技术的进步在发生变化。

总之,软件工程代与代之间并没有鸿沟,它们不仅交叉重叠,也携手并进。

8.指出瀑布模型中下列任务的顺序:

验收测试,项目计划,单元测试,需求评审,成本估计,概要设计,详细设计,系统测试,设计评审,编码,需求规格说明书。

参考答案:

项目计划->成本估计->需求规格说明书->需求评审->概要设计->详细设计->设计评审->编码->单元测试->系统测试->验收测试

9.请比较软件生命周期瀑布模型和螺旋模型的特点。

参考答案:

瀑布模型最重要的特点:

只有当一个阶段的任务完成、交付相应的文档、通过审查小组的审查合格后,才能开始下一个阶段的工作。

瀑布模型的优点:

有利于大型软件开发过程中人员的组织、管理,有利于软件开发方法和工具的研究,从而提高了大型软件项目开发的质量和效率。

瀑布模型的缺点:

(1)开发过程一般不能逆转,否则代价太大;

(2)实际的项目开发很难严格按该模型进行;(3)客户往往很难清楚地给出所有的需求,而该模型却要求如此。

(4)软件的实际情况必须到项目开发的后期客户才能看到,这要求客户有足够的耐心。

螺旋模型的主要优势在于它是风险驱动的,每个方案在实施前都要经过风险分析。

如果风险过大,则项目应该停止,或改变方案。

螺旋模型的优点:

(1)设计上的灵活性,可以在项目的各个阶段进行变更;

(2)以小的分段来构建大型系统,使成本计算变得简单容易;(3)客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性;(4)随着项目推进,客户始终掌握项目的最新信息,从而他或她能够和管理层有效地交互。

螺旋模型的缺点:

(1)采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失;

(2)过多的迭代次数会增加开发成本,延迟提交时间。

10.什么叫职业化?

职业化软件工程师的必备条件是什么?

参考答案:

所谓职业化,简单说就是能胜任工作,让人放心。

“能胜任工作”,就需要具备相应的专业技能、知识和经验;“让人放心”意味着很多,包括遵守行业成文的或未成文的规则和规范,积极有效地和同事沟通,确保自己的工作产品是大家所期望的,尽可能地向客户提供最专业的服务和产品。

自律、沟通和技能是成为职业化软件工程师的必要条件。

自律:

软件区别于其它传统产品,软件只有安装运行后,人们才看见它的界面;开发进度也是肉眼看不见的,很难准确判断开发任务完成了80%还是30%;质量更是不可见的,只有通过非常认真、全面的测试和度量,才能了解代码的质量。

一个程序员认真思考问题时的模样和他发呆时的表现一样,外人很难判断。

因此说,“自律”对软件工程师来说更为重要。

沟通:

软件的规模越来越大,而且处在不断的变化过程中。

因此需要软件工程师进行大量书面的、口头的、或面对面的沟通。

大到产品的整体功能和性能要求,小到程序的结构,甚至一个函数、一个变量的含义都需要沟通。

沟通有标准化的、可视化的工具语言,如UML。

软件工程强调文档的重要性就是以文档作为沟通的工具,与客户沟通明确用户需求;工程师之间沟通明确设计方案,市场人员和工程师沟通确定产品特征。

软件工程的实践表明,缺乏主动沟通,往往导致整个团队的技术方案出现偏差,使整个项目的进度受到影响。

技能:

软件工程师常常强调自己掌握的编码技术,往往忽视用户需求和软件开发的规范。

作为职业化软件工程师,需求分析、软件设计、软件构造、软件测试、软件维护、配置管理、软件项目管理、软件过程改进、软件工具和方法以及软件质量保证等是更为重要的技能。

11.职业化软件工程师十大忌讳是哪些?

参考答案:

行为一:

对外交付半成品。

行为二:

不遵守标准和规范。

行为三:

不积极帮助他人。

行为四:

版权意识不敏感。

行为五:

对待计划不严肃。

行为六:

公事私事相混淆。

行为七:

不注意知识更新。

行为八:

不主动与人沟通。

行为九:

不遵守职业规则。

行为十:

不够诚实和正直。

12.根据相关的法律,对于侵犯软件著作权的行为,根据情节应当给予什么处罚?

参考答案:

对于侵犯软件著作权的行为,要根据情况承担停止侵害、消除影响、赔礼道歉、赔偿损失等民事责任;损害社会公共利益的,由著作权行政管理部门责令停止侵权行为,没收违法所得,没收、销毁侵权复制品,并处罚款;情节严重的,著作权行政管理部门可以没收用于制作侵权复制品的材料、工具、设备等;触犯刑律的,依法追究刑事责任。

13.职业化软件工程师要注意的问题是什么?

参考答案:

职业化软件工程师要注意的十大问题:

①高质量地完成任务②遵守行业标准,不能肆意按照自己的想象来发挥③积极帮助他人④版权意识敏感⑤严格遵守计划⑥公私分明⑦注意知识更新⑧善于沟通⑨遵守职业规则⑩诚实和正直。

模块二可行性研究

一、选择题

1.可行性研究的主要任务是()。

A.确定性能

B.确定功能

C.进行一次简要的需求分析

D.确定系统做什么

2.可行性分析研究的费用大约是项目总经费的()。

A.20%

B.5‰

C.2%

D.6%

3.可行性研究包括

(1)研究目前正在使用的系统

(2)复查系统地规模和目标(3)进一步定义问题(4)导出新系统地高层逻辑模型,具体步骤顺序是()

A.(3)

(2)

(1)(4)

B.

(2)

(1)(4)(3)

C.(3)

(1)

(2)(4)

D.

(1)

(2)(3)(4)

4.可行性研究的各个步骤的工作结果写成清晰的文档,下列哪个人员不必参加审查。

A.分析人员

B.客户组织的负责人

C.用户

D.评审组专家

5.可行性研究的四大要素是()。

A.经济、技术、计算机硬件环境和网络带宽

B.经济、技术、开发组织能力和领导者水平

C.经济、技术、软件开发工具和人员的稳定性

D.经济、技术、法律和社会环境

6.经济可行分析中()是分析投入的成本和产出的效益。

A.投入成本分析

B.产出效益分析

C.成本-收益分析

D.短期-长远利益分析

7.()容易把握,风险较低。

A.短期利益

B.投入成本

C.长期利益

D.产出利益

8.技术可行性考虑的方面()

A.提高软件生产率的技术

B.以上全部

C.完成需求说明中功能需要的技术

D.保障软件治疗的技术

9.计算机病毒是指()。

A.一组自我复制和自动执行的具有破坏能力的代码

B.计算机系统的漏洞

C.程序中的BUG

D.一种细菌

10.我国正式颁布实施的()对计算机病毒的定义具有法律性,权威性。

A.中华人民共和国计算机信息系统安全保护条例

B.计算机软件保护条例

C.计算机病毒防治办法

D.中华人民共和国著作权法

11.社会环境的可行性至少包括()

A.政策

B.市场

C.市场和政策

D.社会安定性

12.假定银行的存款年利率是2%,请问现在存5000元,两年后的价值应为()元。

A.5100

B.5202

C.4712

D.4500

13.无形的效益是()

A.投资回收期

B.社会影响力

C.货币的时间价值

D.纯收入

模块三需求分析

1.面向对象分析任务的核心在于建立()模型。

a.建立正确的模型

b.识别问题域对象

c.识别对象之间的关系

d.上面所有

2.()不是分析建模的目的。

a.定义可验证的软件需求

b.开发一个简单的问题解决方案

c.描述客户需求

d.建立软件设计的基础

3.面向对象开发方法主要分为分析、设计和实现三个阶段,下面属于分析阶段主要工作的是()。

a.建立用例模型

b.改进系统的性能

c.定义子系统接口参数

d.编写代码

4.面向对象分析过程中建立的模型有()。

a.属性模型、功能模型、对象模型

b.对象模型、功能模型、测试模型

c.数据模型、功能模型、活动模型

d.对象模型、功能模型、动态模型

5.功能模型用于表达系统的需求,为软件的进一步分析和设计打下基础。

在面向对象方法中,由()实现。

a.用例图和场景描述

b.交互图和场景描述

c.活动图和场景描述

d.场景描述

6.用()模型分析和定义用户的需求。

a.用例

b.静态

c.动态

d.数据

7.用()模型描述和分析业务流程。

a.数据

b.交互

c.业务

d.动态

8.下面建立功能模型的步骤哪个顺序是正确的()。

a.确定用例模型/确定角色/确定用例

b.确定角色/确定用例/确定用例模型

c.确定角色/确定用例模型/确定用例

d.确定用例/确定用例模型/确定角色

9.建立用例(功能)模型中第一步是()。

a.创建机构组织结构及角色职能图

b.确定用例

c.确定用例模型

d.确定角色

10.确定角色是()的任务。

a.对象模型

b.动态模型

c.用例模型

d.交互模型

11.()用于描述系统中概念层次的对象。

a.界面类

b.控制类

c.实体类

d.分析类

12.分析模型的类有三种即()。

a.界面类、控制类、公共类

b.实体类、数据类、界面类

c.边界类、实体类、控制类

d.控制类、实体类、数据类

13.建立对象模型的步骤为()。

a.构建类图/识别分析类

b.识别分析类/构建类图

c.确定用例/确定角色

d.确定角色/确定用例模型

14.在基于用例的面向对象分析过程中,定义交互行为的关键在于通过描述分析类实例之间的()将用例的职责分配到分析类中。

a.上下文关系

b.消息传递

c.关联关系

d.继承关系

15.动态模型描述系统的动态结构和对象之间的交互,表示瞬时的、行为化的系统“控制”特性。

面向对象方法中,常用()实现。

a.状态图

b.交互图

c.活动图

d.以上全部

16.需求评审问题清单应该包括()。

a.检查正确性的问题列表

b.检查完整性的问题列表

c.检查一致性的问题列表

d.以上全部

17.是否描述了系统功能的管理属于()问题列表中的内容。

a.检查完整性

b.检查一致性

c.检查正确性

d.检查可靠性

18.面向对象的需求分析规格说明书的分析模型中可以省略的有()。

a.性能需求

b.数据要求

c.对象模型

d.运行环境

19.软件需求分析规格说明书中的分析模型应该包括()

a.对象模型

b.动态模型

c.用例模型

d.以上全部

模块四软件设计

一、选择题

1.随着模块规模减小,模块开发成本(),模块集成成本()。

A.增加/减小

B.增加/增加

C.减小/减小

D.减小/增加

2.反映模块独立性的指标是()。

A.模块的大小

B.模块的参数

C.内聚和耦合

D.模块的复杂性

3.非直接耦合的模块独立性最强,()的模块独立性最弱。

A.数据耦合

B.控制耦合

C.外部耦合

D.内容耦合

4.内容耦合是模块间最紧密的耦合,()是模块间最松散的耦合。

A.控制耦合

B.外部耦合

C.数据耦合

D.非直接耦合

5.在对软件系统进行模块设计的时候,可以有不同的抽象层次,可以用(),配合面向问题的专业术语,概括地描述问题的解法。

A.流程图

B.自然语言

C.直接实现的方式

D.过程化的描述方法

6.人们在认识复杂问题的过程中,使用最强有力的思维工具就是()

A.抽象

B.信息隐蔽

C.模块化

D.内聚和耦合

7.信息隐藏的核心内容是()。

A.数据不能被其他模块访问

B.一个模块的内部信息不允许其他模块直接访问

C.把数据都放在公共的区域

D.把信息加密,只能让有密钥的模块访问

8.每个子系统的接口定义了若干(),体现了子系统的功能,而功能的具体实现方法应该是隐藏的。

A.参数

B.操作

C.控制

D.算法

9.为高质量地开发软件项目,在软件结构设计时,必须遵循()原则。

A.数据共享

B.质量控制

C.信息隐蔽

D.程序优化

10.软件结构图中没有()元素。

A.模块

B.调用参数

C.返回结果

D.判断

11.在实际的软件设计中,通常采用树状结构,限制使用()。

A.层次结构

B.模块结构

C.线性结构

D.网状结构

12.软件结构使用的图形工具,一般采用()图。

A.ER

B.DFD

C.SC

D.PAD

13.软件设计的目标是()。

A.为软件编码设计模块结构。

B.确定软件的实现算法。

C.确定软件要做什么。

D.在最短的时间内,生产出可靠性、可维护性俱佳的软件方案。

14.软件设计时中一个基本原则()。

A.低耦合,高内聚和信息隐蔽的设计原则

B.模块扇出小于5

C.模块深度小于7

D.模块扇入小于5

15.为高质量地开发软件项目,在软件结构设计时,必须遵循()原则。

A.质量控制

B.数据共享

C.信息隐蔽

D.程序优化

16.影响软件设计的因素有()。

A.软件使用者的文化背景

B.以上所有

C.设计人员的理解力

D.设计人员的个人经验

17.结构化设计方法具体流程中首先要()。

A.定义软件的层次结构

B.分析数据流类型

C.以上所有

D.绘制软件结构图

18.变换分析方法中应在数据流程图上区分系统的逻辑输入,()和中心变换部分。

A.格式转换

B.逻辑输出

C.物理输入

D.物理输出

19.在任何情况下的都可以使用变换分析方法设计软件结构,但在数据流程图中明显的()时,还是采用事务分析方法更好。

A.中心变换

B.发射路径

C.接收路径

D.事务中心

20.在优化软件结构时要注意保持简单,在满足模块化要求的前提下尽量()。

A.增加模块耦合度

B.增加复杂数据结构

C.减少模块数量

D.增加模块数量

21.概要设计复查不需要()人员参加。

A.系统维护人员

B.系统设计员

C.用户

D.系统分析员

22.在概要设计复查过程中,设计人员详细讲述()。

A.需求规格说明书

B.程序编码

C.总体设计方案

D.程序流程图

23.关键设计复查的参与者不需要()。

A.系统测试人员

B.系统分析员

C.用户

D.系统设计员

24.下列哪些属于复审的问题设计?

A.设计算法合适否

B.设计文档是否完备

C.设计容易实现否

D.以上所有

25.数据结构设计中在确定数据结构时应先考虑()。

A.动态结构

B.静态结构

C.简单结构

D.特殊结构

26.为了加强数据设计的的(),应该针对常用的数据结构和复杂的数据结构设计抽象类型,并且将数据结构和操纵数据结构的操作封装在一起。

A.可靠性

B.可移植性

C.可复用性

D.可维护性

27.文件设计过程包括文件的逻辑设计和物理设计阶段。

其中文件的逻辑设计在()阶段进行。

A.详细设计

B.程序编码

C.需求分析

D.概要设计

28.下面哪项属于文件逻辑设计的任务?

A.理解文件的特性

B.估算文件的存取时间

C.分析数据间的关系

D.确定文件的记录格式

29.()的目的是确定物理数据库结构。

A.完整性设计

B.安全性设计

C.子模式设计

D.模式设计

30.程序流程图是使用最为广泛的详细设计方法,其中方框代表:

A.结束

B.控制

C.注释

D.处理步骤

31.程序流程图属于()阶段的工具

A.编码

B.总体设计

C.详细设计

D.分析

32.判定表由4个部分组成,其中()列出了所有的条件。

A.右半部

B.左上部

C.左下部

D.右下部

33.PDL是一种()语言。

A.高级程序设计语言

B.建模语言

C.低级程序设计语言

D.过程设计语言

34.PDL属于()阶段的工具

A.编码

B.总体设计

C.详细设计

D.分析

35.面向对象设计强调定义(),并且使它们相互协作来满足用户需求。

A.E-R模型

B.软件对象

C.物理模型

D.接口

36.面向对象设计的步骤中,正确的顺序是(  )。

A.用例设计、构架设计、类设计

B.系统构架设计、用例设计、类设计

C.系统构架设计、数据库设计和用户界面设计

D.类设计、用例设计、构架设计

37.通常将具有共性的非功能要求设计在(),以减少重新开发的工作量。

A.最低层

B.最高层

C.接口层

D.中间层

38.下面那个选项不是正确的面向对象设计思想。

A.发现变化并且封装它

B.先组合后继承

C.先继承后组合

D.对接口进行设计

39.一个设计得好的OO系统具有()

A.弱内聚、强耦合的特征

B

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

当前位置:首页 > 成人教育 > 电大

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2