软件工程(第五版)--习题与答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《软件工程》(第五版)习题参考答案
第1 章
一、判断题
1、(×)软件的维护与硬件维护本质上是相同的。
2、(√)软件在运行和使用中也存在退化问题。
3(、×)软件危机的产生主要是因为程序设计人员使用了不适当的程序设计语言。
4、(√)软件同其他事物一样,有孕育、诞生、成长、成熟和衰亡的生存过程。
5、(×)文字处理软件Word属于系统软件。应用软件
6(、√)原型是软件的一个早期可运行的版本,它反映最终系统的部分重要特性。
7、(√)软件开发过程中,一个错误发现得越晚,为改正它所付出的代价就越大。
8、(×)快速原型模型对软件开发人员的水平要求不高。
9、(√)喷泉模型适合于面向对象的软件开发。
10、(×)面向对象开发方法的主要缺点是在适应需求变化方面不够灵活。
二、选择题
1、软件是一种(C)。
A、程序
B、数据
C、逻辑产品
D、物理产品
2、软件开发方法是(A)。
A、指导软件开发的一系列规则和约定
B、软件开发的步骤
C、软件开发的技术
D、软件开发的思想
3、软件生存周期中花费最多的阶段是(D)。
A、详细设计
B、软件编码(最少)
C、软件测试
D、软件维护
4、软件工程的三要素不包括(D)。
A、工具
B、过程
C、方法
D、环境
5、在软件生存周期中,能准确地确定“软件系统必须做什么”的阶段是(D)。
A、总体设计
B、详细设计(怎么做)
C、可行性研究(能不能做)
D、需求分析
6、瀑布模型本质上是一种(A)模型。
A、线性顺序
B、顺序迭代
C、线性迭代
D、能及早见到产品的
7、瀑布模型突出的缺点是不适应(D)的变动。
A、算法
B、程序语言
C、平台
D、用户需求
8、在软件开发模型中,提出最早、应用最广泛的模型是(A)。
A、瀑布模型
B、喷泉模型
C、快速原型模型
D、螺旋模型
9、瀑布模型不适合用于(A)的软件开发。
A、需求模糊不清
B、用户不能参与开发
C、用户对计算机不了解
D、开发人员对业务知识不熟悉
10、快速原型的主要优点不包括(D)。
A、能让用户参与开发、给出反馈
B、尽早把需求分析清楚,以降低风险
C、尽早地发现问题、纠正错误
D、对软件分析设计人员的素质要求不高
11、快速原型的主要问题在于(A)。
A、缺乏支持原型开发的工具
B、要严格控制原型构造的迭代
C、终端用户对原型不能理解
D、软件的测试和文档更新困难
12、螺旋模型是一种将瀑布模型和(A)结合起来的软件开发模型。
A、增量模型
B、专家系统
C、喷泉模型
D、变换模型
13、在软件生产的程序系统时代由于软件规模扩大和和软件复杂性提高等原因导
致了(A)。
A、软件危机
B、软件工程
C、程序设计革命
D、结构化程序设计
14、集成化开发环境中的环境集成机制不包括(D)。
A、数据集成
B、控制集成
C、界面集成
D、服务集成
15、软件工程的出现是由于(A)。
A、软件危机的出现
B、计算机硬件技术的发展
C、软件社会化的需要
D、计算机软件技术的发展
三、简答题
1、软件通过你自己使用计算机的经历和对计算机的认识分辨软件和程序的差别,指出区别
的关键点。
答:软件包括程序、数据及其相关文档的完整集合。其中,程序是按事先设计的功能和性
能要求执行的指令序列;数据是使程序能够正确地处理信息的数据结构;文档是与程序开发、维护和使用有关的图文资料。软件包括程序,程序只是软件的一部分。
2、简述软件危机产生的原因以及避免的方法。
答:软件危机的产生有两方面因素,一方面与软件本身的抽象性和复杂性有关;另一方面
则与软件开发和维护过程中使用的技术和方法有关,这是主观原因。
为了解决软件危机,既要有技术措施(好的方法和工具),也要有组织管理措施。(1)使用好的软件开发技术和方法。(2)使用好的软件开发工具,提高软件生产率。(3)有良好的组织、严密的管理,各方面人员相互配合共同完成任务。
3、简述软件工程在软件开发中的作用和意义。
答:软件工程的主要思想是强调软件开发过程中应用工程化原则的重要性。软件工程的目
标是实现软件的优质高产。软件工程的目的是在经费的预算范围内,按期交付出用户满意的、
质量合格的软件产品。
4、软件生命周期概念对软件的开发有哪些指导作用。
答:软件生命周期是软件工程的一个重要的概念。把整个软件生命周期划分为若干个较小
的阶段,每个阶段都有相对独立的任务和完成任务的步骤和方法,然后逐步完成各个阶段的
任务,这有利于软件开发过程的组织和管理,从而降低了整个软件开发过程的困难程度,从而使规模庞大、结构复杂和管理复杂的软件开发变得容易控制和管理。
5、分析瀑布模型和螺旋模型的异同,比较它们的适用场合。
答:瀑布模型是线性模型,是整体开发模型,文档驱动的模型,每一阶段必须完成指定的
文档,需求明确的中、小型软件开发,不适宜需求模糊或多变的应用软件开发;螺旋模型
是典型迭代模型,是风险驱动模型,可用于面向对象开发,适宜风险较大的大型软件开发。
第2 章
一、选择题
1、系统流程图是一种传统工具,用于描绘(D)。
A、逻辑模型
B、程序结构
C、体系结构
D、物理系统
2、软件可行性研究的目的是(C)。
A、证明软件开发项目可行
B、证明软件开发项目不可行
C、阐述软件开发项目值得或不值得做
D、为了确定软件开发项目要不要做
3、技术可行性研究要解决的问题是(A)。
A、从技术方面说明项目是否可行
B、从技术上定义项目要解决的问题
C、给出项目开发可行的技术路线
D、给出精简的项目需求设计报告
4、可行性研究的步骤首先是(A)。
A、确定项目目标,即对要解决的问题进行定义
B、研究项目要求
C、对项目目标进行可行性分析
D、给出可行的解决方案
5、可行性研究的任务不包括(D)。
A、技术可行性
B、经济可行性
C、法律可行性
D、政治可行性
6、系统流程图是描述(A)的工具。
A、物理系统
B、逻辑系统
C、体系系统
D、程序系统
7、可行性研究实质上是要进行一次(A)需求分析,设计过程。
A、简化、压缩的
B、详细的
C、彻底的
D、深入的
8、系统流程图的符号不包括(D)。
A、B、C、D、