实用软件工程-第二版 吕云翔(选择 判断 部分简答题 应用题)

简答题答案不保证正确,部分简答题只提供题目

第一章

1.1选择题

1-1、下列说法中正确的是()。

  • A. 20世纪50年代提出了软件工程的概念
  • B. 20世纪60年代提出了软件工程的概念
  • C. 20世纪70年代出现了客户机/服务器技术
  • D. 20世纪80年代软件工程学科达到成熟

1-2、产生软件危机的主要原因是()。

  • A. 软件工具落后
  • B. 软件生产能力不足
  • C. 实行严格的产品控制
  • D. 软件本身的特点及开发方法

1-3、软件工程的三要素是()。

  • A. 技术、方法和工具
  • B. 方法、对象和类
  • C. 方法、工具和过程
  • D. 过程、模型、方法

1-4、在下列选项中,()不属于软件工程学科所要研究的基本内容。

  • A. 软件工程材料
  • B. 软件工程方法
  • C. 软件工程工具
  • D. 软件工程过程

1.2判断题

(1)软件就是程序,编写软件就是编写程序。 X

(2)软件危机的主要表现是软件需求增加,软件价格上升 X

(3)软件工程学科出现的主要原因是软件危机的出现。

(4)软件工具的作用是为了延长软件产品的寿命 X

1.3简答题
*1.与计算机硬件相比,计算机软件有哪些特点?

答案】:

软件的特点如下:
(1)无法直接观察计算机软件的物理形态,只能通过观察它的实际运行情况来了解它的功能、特性和质量等。
(2)人们在分析、设计、开发、测试软件产品,以及在软件开发项目的管理过程中,渗透了大量的脑力劳动。
(3)不存在像硬件一样的磨损和老化现象,但存在着缺陷维护和技术更新的问题。
(4)软件的开发和运行必须依赖于特定的计算机系统环境。
(5)具有可复用性。

*2.为什么说软件工程的发展可以在一定程度上解决软件危机的各种弊端?

答案】:

因为软件工程提出是为了解决软件危机所带来的各种弊端。具体的讲,软件工程的目标主要包括以下几点。
(1)使软件的开发成本控制在预计的合理范围之内。
(2)使软件产品的各项功能和性能能够满足用户需求。
(3)提高软件产品的质量。
(4)提高软件产品的可靠性。
(5)使生产出来的软件产品易于移植,维护,升级和使用。
(6)使软件的开发周期能够控制在预计的合理时间范围内。

*3.请简述软件工程的基本原则。

答案】:

(1)将软件的生命周期划分为多个阶段,对各个阶段实行严格的项目管理。软件开发的生命周期可以划分为可行性研究,需求分析,软件设计,软件实现,软件测试,产品验收和交付手段。
(2)坚持阶段评审制度,以确保软件产品的质量。
(3)实施严格的产品控制,以适应软件规格的变更。在软件开发过程中,用户需求很可能不断发生变化。
(4)采用现代程序设计技术。
(5)开发出来的软件产品应该能够清楚地被审查。
(6)合理的安排开发软件小组人员,并且开发小组人员要小而精。
(7)不断地改进软件工程实践。

*4.请简述软件工程研究的内容。

答案】:

软件工程研究的内容包括软件开发方法、软件开发模型、软件支持过程和软件管理过程。
软件开发方法的内容涵盖市场调研、正式立项、需求分析、项目策划、概要设计、详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实施、系统维护、版本升级等。
常用的软件开发模型有瀑布模型、迭代模型、增量模型和原型模型等。
软件支持过程由所支持的CASE工具组成,常用的CASE工具有Power Designer和Rational Rose等。

*5.请简述软件工程的三要素。

答案】:

软件工程的三种基本要素是过程、方法和工具。
软件工程的基础是过程层,它定义了一组关键过程区域的框架,使软件能过被合理和及时的开发;
软件工程的方法提供了建造在在技术上需要“做什么”,它覆盖了一系列的任务,包括需求分析、设计编程、测试和支持等;
软件工程的工具对过程和方法提供了自动的或半自动的支持。

*6.请简述软件工程的目标。

答案】:

软件工程的目标是:
在给定成本、进度的前提下,开发出具有适用性、有效性、可修改性、可靠性、可理解性、可维护性、可重用性、可移植性、可追踪性、可互操作性和满足用户需求的软件产品。追求这些目标有助于提高软件产品的质量和开发效率,减少维护的困难。

*7.通常有哪几种软件开发方法?

答案】:

通常有四种软件开发方法:结构化方法、面相数据结构方法、面相对象方法、形式化方法

*8.请列举你所知道的软件工程工具。

答案】:

Microsoft Office Project、Borland Together、VSS、CVS、JBuilder、Eclipse、Power Designer和Rational Rose等。

第二章

2.1选择题

2-1、增量模型本质上是一种( )。

  • A. 线性顺序模型
  • B. 整体开发模型
  • C. 非整体开发模型
  • D. 螺旋模型

2-2、软件过程是( )。

  • A. 特定的开发模型
  • B. 一种软件求解的计算逻辑
  • C. 软件开发活动的集合
  • D. 软件生命周期模型

2-3、软件生命周期模型不包括( )。

  • A. 瀑布模型
  • B. 用例模型
  • C. 增量模型
  • D. 螺旋模型

2-4、包含风险分析的软件工程模型是()。

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

2-5、软件工程中描述生命周期的瀑布模型一般包括计划、需求分析、设计、编码、()、维护等几个阶段。

  • A. 产品发布
  • B. 版本更新
  • C. 可行性分析
  • D. 测试

2-6、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是( )。

  • A. 分析阶段
  • B. 设计阶段
  • C. 编码阶段
  • D. 测试阶段

2-7、螺旋模型综合了()的优点,并增加了风险分析。

  • A. 增量模型和喷泉模型
  • B. 瀑布模型和快速原型模型
  • C. 瀑布模型和喷泉模型
  • D. 快速原型模型和喷泉模型

2.2判断题

(1)瀑布模型的最大优点是将软线开发的各个阶段划分得十分清晰。 X

(2)螺旋模型是在瀑布模型和增量模型(快速原型)的基础上增加了风险分析活动。X

(3)软件工程过程应该以软件设计(需求分析)为中心,关键是编写程序。 X

(4)极限编程属于增量模型X

2.3简答题

1.如何理解软件生命周期的内在特征?

答案】:

软件产品的生命周期是指从设计该产品的构想开始,到软件需求的确定、软件设计、软件实现、产品测试与验收、投入使用以及产品版本的不断更新,到最终该产品被市场淘汰的全过程。
软件生命周期这个概念从时间的角度将软件的开发和维护的复杂过程分解为了若干个阶段,每个阶段都完成特定的相对独立的任务。
由于每个阶段的任务相对于总任务难度会大幅度降低,在资源分配、时间把握和项目管理上都会比较容易控制。合理地划分软件生命周期的各个阶段,使各个阶段之间既相互区别又相互联系,为每个阶段赋予特定的任务。

*2.请对比瀑布模型、快速原型模型、增量模型和螺旋模型。

答案】:

瀑布模型
主要体现了分阶段、有控制的思想。活动间强调按顺序、文档化;存在的问题是过于理想化,每一步的工作必须完整准确,否则无法进行下一步工作。

原型模型
需求分析入手快速、表达直观、容易交流。重点解决瀑布模型的需求分析入手难的问题。

增量模型
对于需求复杂的系统,采用分块开发、逐步集成的开发策略。增量体现了演进、迭代思想,每一块就是一个增量。每个增量是一次迭代。增量模型的新版本叫做“极限编程(XP)”。

螺旋模型
融合了上述3种模型,融进了循环往复、强化了演进迭代的思想,增加了风险控制环节。但是,风险分析的正确性是左右软件眼镜的关键因素。

*3.在统一软件开发过程模型中核心工作流程包含哪些?

答案】:

核心工作流程有业务建模,需求分析,分析设计,实现,测试和部署。

4.当需求不能一次搞清楚,且系统需求比较复杂时应选用哪种开发模型比较合适?

答案】:

开发模型不是孤立或排斥的,它们之间需要相互借鉴和参考。螺旋模型是一种综合性的模型,适合于较复杂的系统。

5.敏捷过程的核心价值观有哪些?它对传统方法的“反叛”体现在哪些方面?

答案】:

敏捷思想的核心价值观大体包括以下几个方面:
(1)注重个人与交互。
(2)重点关注可以工作的软件。
(3)提高客户参与程度。
(4)以积极的心态响应需求变化。
(5)敏捷联盟强调的价值观是这一流派的核心。人是受价值观驱使的,敏捷项目管理因而也是以价值观为推动力的。一个团队可以采用敏捷做法,但如果它不接受敏捷价值观,它将不能得到敏捷方法的潜在好处。
敏捷方法对传统方法的“反叛”体现在以人为中心,不再依靠文档来控制过程,认为传统过程过于僵化、文档繁烦,主张对传统过程瘦身,在上述价值观的支配下,做到够用为准。

6.什么是软件过程?它与软件工程方法学有何关系?

答案】:

软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。软件工程方法学包含软件过程。

*7.某大型企业计划开发一个“综合信息管理系统”,该系统涉及销售、供应、财务、生产、人力资源等多个部门的信息管理。该企业的想法是按部门优先级别逐个实现,边应用边开发。对此,需要一种比较合适的过程模型。请对这个过程模型做出符合应用需要的选择,并说明选择理由。

答案】:

可以采用增量模型。它是瀑布模型与原型进化模型的综合,它对软件过程的考虑是:在整体上按照瀑布模型的流程实施项目开发,以方便对项目的管理;但在软件的实际创建中,则把软件系统功能分解为许多增量构件,并以构件为单位逐个创建与交付,直到全部增量构件创建完毕,并都被集成到系统之中交付用户使用。

第三章

3.1选择题(本书无)

3-1、可行性研究也称为

A.技术可行性研究

B.操作可行性研究 

C.经济可行性研究

D.项目论证

3-2研究往往是系统开发过程中难度最大的工作()
A.技术可行性

B.操作可行性

C.经济可行性

D.风险可行性

3-3研究软硬件资源的有效性是进行()
A.技术可行性

B.经济可行性

C.社会可行性

D.操作可行性

3-4软件开发计划是软件工程中的一种()

A.技术

B.管理

C.检索

D.文献

3.2判断题(本书无)

(1)软件开发计划是软件工程中的一种技术性文档。X

(2)可行性研究过程也称为项目论证过程。

(3)投资回收期越长,获得利润越快,该项目就越值得开发。X

(4)经济可行性研究主要是把系统开发和运行所需要的成本与得到的效益进行比较,进行成本效益分析。

3.3简答题(本书无)

(1)可行性研究的任务有哪些?

(2)简述技术可行性。

(3)简述操作可行性。

(4)简述经济可行性。

(5)如何估算软件的成本?

(6)简述可行性研究的步骤。

(7)经过可行性研究之后,一个项目如果值得开发,为什么还要制订项目开发计划?

第四章

4.1选择题

4-1、在需求分析之前有必要进行()工作。

  • A. 程序设计
  • B. 可行性研究
  • C. E-R分析
  • D. 行为建模

4-2、需求分析是一个( ),它应该贯穿于系统的整个生命周期中,而不是仅仅属于软件生命周期早期的一项工作。

  • A. 概念
  • B. 工具
  • C. 方法
  • D. 过程

4-3、软件需求规格说明书的内容不应该包括()。

  • A. 对重要功能的描述
  • B. 对算法的详细过程描述
  • C. 对数据的要求
  • D. 软件的性能

4-4、软件需求分析阶段的工作,可以分为以下4个方面:对问题的识别、分析与综合、编写需求分析文档,以及()。

  • A. 总结
  • B. 阶段性报告
  • C. 需求分析评审
  • D. 以上答案都不正确

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

  • A. 数据流图
  • B. PAD
  • C. 状态转换图
  • D. 数据词典

4-6、在结构化分析方法中,用以表达系统内数据的流动情况的工具是()。

  • A. 数据流图
  • B. 数据字典
  • C. 结构化语言
  • D. 判定表与判定树

4-7、结构化分析方法的基本思想是()。

  • A. 自底向上逐步分解
  • B. 自顶向下逐步分解
  • C. 自底向上逐步抽象
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值