软件工程课后习题及其答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程习题
CH1一、填空题
1、软件工程需要解决的问题包括:费用、可靠性、可维护性、生产率和重用。
2、到目前为止,软件生产的发展经历了三个阶段,即程序设计、程序系统和软件工程。
3、计算机科学中的研究曾国均可用于软件工程,但计算机科学侧重于原理和理论,而软件工程侧重于软件系统构造。
4、软件工程有用管理科学的方法和原理进行软件生产的管理。
5、软件工程是用科学知识和技术原理来定义、开发、维护软件的一门科学。
6、软件工程研究的主要内容包括软件开发技术和软件开发管理技术两个方面。在软件开发技术方面,主要研究开发方法、开发过程、开发工具。在软件开发管理技术方面主要研究管理学、经济学、心理学。
7、作为一门交叉学科,软件工程具有很强的综合性,它涉及计算机科学、工程科学、管理科学、数学等领域。
8、软件生产周期是指一个软件从提出开发要求开始直到该软件报废为止的整个时期。通常包括问题定义、可行性研究、需求分析、总体设计、详细设计、编码、测试、维护等活动,可以将这些活动以适当方式分配到不同阶段去完成。
9、开发软件工具的主要目的是为了提高软件生产效率和改善软件的质量。
10、描述软件开发过程中各种活动如何执行的模型称为周期模型。
11、从软件工程诞生以来,已经提出了多种软件开发方法,如结构化方法、面向数据的方法、面向对象的方法,它们对软件工程及软件产业的发展起到了不可估量的作用。
12、结构化方法由结构化分析、结构化设计和结构化程序设计构成。它是一种面向数据流的开发方法。
13、增量模型是一种非整体开发方法的模型。软件在该模型中是“逐渐”开发出来的,开发一部分向用户展示一部分,可让用户及早看到部分软件,及早发现问题。或者先开发一个“原型”软件,完成部分主要功能,展示给用户并征求意见,然后逐步完善,最终获得满意的软件产品。
14、喷泉模型是一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的开发方法。它克服了瀑布模型不支持软件重用和多项开发活动集成的局限性。喷泉模型使开发过程具有迭代性和无间隙性。
15、结构化方法总的指导思想是自顶向下逐步求精。它的基本原则是功能的分解和抽象。它是软件工程中最早出现的开发方法,特别适用于数据处理领域的问题。
16、螺旋模型将瀑布模型和增量模型结合起来,加入了两种模型均忽略了的风险分析,弥补了这两种模型的不足。
17、螺旋模型将开发过程分为几个螺旋周期,在每个螺旋周期内分为4个工作步骤。第一步制定计划,确定目标,选定实施方案,明确开发限制条件。第二步风险分析,分析所选方案、识别风险,通过原型消除风险。第三步开发实施,实施软件开发。第四步用户评估,评价开发工作,提出修改意见,建立下一周期的计划。
18、面向对象开发方法包括面向对象分析、面向对象设计、面向对象实现三
部分。
19、目前有若干种软件生存周期模型,例如瀑布模型、增量模型、螺旋模型、喷泉模型、原型模型、RUM模型。
20、瀑布模型是将软件生存周期各个活动规定为依线性顺序连接的若干阶段的模型。它包括问题定义、可行性研究、需求分析、总体设计、详细设计、编码、测试、维护,它规定了由前至后、相互衔接的固定次序,如同瀑布流水,逐级下落。
21、简单实用、应用广泛、技术成熟的开发方法是结构化方法。
22、增量构造模型是在前面的开发阶段按瀑布模型进行整体开发,后面的开发阶段按增量方式开发。
23、增量模型是在项目的开发过程中以一系列的增量方式开发系统。增量方式包括增量开发和增量提交。
24、根据原型的目的、方式以及内容的取舍不同,原型特征可分为可执行的规格说明、基于脚本的设计、采用专门语言和能重用软件四类。
25、增量构造模型是在瀑布模型的基础上,对一些阶段进行整体开发,对另一些阶段进行增量开发。
26、增量开发是指在项目开发周期内,以一定的时间间隔开发部分工作软件;增量提交是指在项目开发周期内,以一定的时间间隔增量方式向用户提交工作软件及相应文档。
27、原型模型又称快速原型模型,它是增量模型的另一种形式。
28、快速原型模型根据原型的不同,有探索型原型、实验型原型、演化型原型三类。
29、原型开发步骤包括:快速分析、构造原型、运行原型、评价原型和修改。
30、快速原型的思想是在研究需求分析的方法和技术中产生的。
31、瀑布模型本质上是一种线性顺序模型。
32、对于演化型,用原型过程代替全部开发阶段。这是典型的演化提交模型的形式,它是在强有力的软件工具支持下,通过原型过程的反复循环,直接得到软件系统。
33、快速原型是利用原型辅助软件开发的一种思想。经过简单快速分析,快速实现一个原型,用户与开发者在试用原型、反复评价过程中加强通信与反馈,通过改进原型,减少误解,弥补遗漏,适应变化,最终提高软件质量。
34、探索型的原型模型是把原型用于开发的需求分析阶段,目的是要弄清用户需求,确定所期望的特性,并探索各种方案的可行性。
35、构造原型时,必须注意功能性能取舍,忽略一切暂时时不关心的部分。
36、用原型过程来代替设计阶段,考查设计方案的可行性与合理性,这是快速原型的实验型原型。
37、探索型的原型模型主要针对开发目标模糊、用户与开发者对项目都缺乏经验的情况,通过对原型的开发来明确用户的需求。
38、用原型过程代替全部开发阶段,这种快速原型是演化型原型。
39、快速原型模型是在原型基础上,逐渐完成整个系统的开发工作。
40、实验型原型主要用于设计阶段,考核实现方案是否合适和能否实现。
41、对于实验型,用原型过程来代替设计阶段,即在设计阶段引入原型,快速分析实现方案,快速构造原型,通过运行,考查设计方案的可行性与合理