《软件工程——理论与实践》(第2版)习题答案
设计。( √)
7. 软件危机的主要表现是软件的需求量习题一答案
迅速增加,软件价格上升。(×)
8. 软件工具的作用是为了延长软件产品
一、选择题 的寿命。(×)
1. 软件的主要特性是(A B C)。 9. 软件工程过程应该以软件设计为中 A) 无形 心,关键是编写程序。(×) B) 高成本 10. RCP法与RSP法的主要区别是前者采
C) 包括程序和文档 用循环渐进的开发方式,原型将成为最终
D) 可独立构成计算机系统 的产品,而后者原型将被废弃。(√)
2. 软件工程三要素是(B)。 三、简答题
A) 技术、方法和工具 1. 软件产品的特性是什么?
B) 方法、工具和过程 答:● 软件是一种逻辑产品,具有无形
C) 方法、对象和类 性;
D) 过程、模型、方法 ● 软件产品的生产主要是研制;主要
3. 包含风险分析的软件工程模型是(A)。 是脑力劳动;
A) 螺旋模型 B) 瀑布模型 ● 软件不存在磨损和老化问题,但存C) 增量模型 D) 喷泉模型 在退化问题; 4. 软件工程的主要目标是(C)。 ● 软件产品的成本非常昂贵,其开发
A) 软件需求 B) 软件设计 方式目前尚未完全摆脱手工生产方式;
C) 风险分析 D) 软件实现 ● 软件具有“复杂性”,其开发和运5. 下列属于面向对象开发方法的是(A B C 行常受到计算机系统的限制。 D)。 2. 软件发展有几个阶段?各有何特
A) Booch B) UML C) 征?
Coad D) OMT 答:① 程序设计阶段。 6. 软件危机的主要表现是(B D)。 硬件特征:价格贵、存储容量小、运
A) 软件成本太高 行可靠性差。
B) 软件产品的质量低劣 软件特征:只有程序、程序设计概念,
C) 软件开发人员明显不足 不重视程序设计方法。
D) 软件生产率低下 ② 程序系统阶段。 7. 软件开发方法的主要工作模型有(A B 硬件特征:速度、容量及工作可靠性C) 有明显提高,价格降低,销售有爆炸性增
A) 螺旋模型 B) 循环模型 长。
C) 瀑布模型 D) 专家模型 软件特征:程序员数量猛增,开发人8. 软件工程的目标有(A B C)。 员素质低。
A) 易于维护 ③ 软件工程阶段。
B) 低的开发成本 硬件特征:向超高速、大容量、微
C) 高性能 型化及网络化方向发展。 D) 短的开发期 软件特征:开发技术有很大进步,9. 软件工程学的目的和意义是(A D)。 但未获得突破性进展,软件价格不断上升,
A) 应用科学的方法和工程化的规未完全摆脱软件危机。 范管理来指导软件开发 3. 什么是软件危机?其产生的原因是什
B) 克服软件危机 么? C) 作好软件开发的培训工作 答:“软件危机”(Software Crisis)的出D) 以较低的成本开发出高质量的现是由于软件的规模越来越大,复杂度不断增软件 加,软件需求量增大。而软件开发过程是一种二、 判断题 高密集度的脑力劳动,软件开发的模式及技术
1. 软件就是程序,编写软件就是编写程不能适应软件发展的需要。致使大量质量低劣序。(×) 的软件涌向市场,有的花费大量人力、财力,2. 瀑布模型的最大优点是将软件开发的而在开发过程中就夭折。软件危机主要表现在各个阶段划分得十分清晰。(×) 两个方面: 3. 结构化方法的工作模型是使用螺旋模(1) 软件产品质量低劣,甚至开发过程就型进行开发。(×) 夭折。 4. 结构化方法和OO方法都是一种面向(2) 软件生产率低,不能满足需要。 过程的软件开发方法。(×) 4. 什么是软件过程?有哪些主要的软件5. 原型化开发方法包括生成原型和实现过程模型?它们各有哪些特点? 原型两个步骤。(×) 答:软件过程是指在软件工具的支持下,6. 面向对象的开发方法包括面向对象的所进行的一系列软件开发和进化的活动。软件分析、面向对象的设计和面向对象的程序过程模型是对软件开发实际过程的抽象和简
1
《软件工程——理论与实践》(第2版)习题答案
化,是描述软件开发过程中各种活动如何执行的模型,因此又称为软件开发模型。
主要的软件过程模型有:瀑布模型、增量模型、螺旋模型、喷泉模型和基于知识的模型等。
⑴瀑布模型是经典的软件开发模型,将软件开发活动中的各项活动规定为依线性顺序连接的若干阶段,它简单易用,在消除非结构化软件、降低软件的复杂性、促进软件开发工程化方面起了很大的作用。但在软件开发实践中也逐渐暴露出它的缺点。它将一个充满回溯的软件开发过程硬性分割为几个阶段,无法解决软件需求不明确或者变动的问题。
⑵增量模型是一种非整体开发的模型。根据增量的方式和形式的不同,分为基于瀑布模型的渐增模型和基于原型的快速原型模型。该模型具有较大的灵活性,适合于软件需求不明确、设计方案有一定风险的软件项目。
⑶螺旋模型将瀑布模型和增量模型结合起来,并加入了风险分析。螺旋模型将开发过程分为几个螺旋周期,每个螺旋周期可分为4个工作步骤:制定计划、风险分析、实施工程、客户评估。
⑷喷泉模型用于采用对象技术的软件开发项目。它克服了瀑布模型不支持软件重用和多项开发活动集成的局限性。喷泉模型使开发过程具有迭代性和无间隙性。软件开发过程有4个阶段,即分析、系统设计、软件设计和实现。各阶段相互重叠,以分析为基础,资源消耗成塔形,从高层返回低层无资源消耗。强调增量开发,是对象驱动的过程,反映了对象的开发和重用过程。
⑸基于知识的模型也称为智能模型。通过领域的专家系统,可使需求说明更加完整、准确和无二义性。通过软件工程知识和特定应用领域的知识和规则的应用来提供开发的帮助。
5. 有哪些主要的软件开发方法?
答:主要的软件开发方法有:结构化开发方法、原型化开发方法和面向对象的开发方法。
6. 软件生存周期各阶段的主要任务是什么?
答:软件生存周期按瀑布模型分为6个阶段:
● 可行性研究与计划(确定系统的目标和规模,分析项目的可行性);
● 需求分析与规格说明(明确系统的规格和要求);
● 设计(包括概要设计和详细设计,将系统分解为模块);
● 编程(用程序语言实现每个模块,简单容易);
● 测试(发现并改正错误,分为模块测试、集成测试和系统联调三级);
● 运行维护(扩充功能、纠错等)。 7. 原型化方法的核心是什么?它具有哪些特点?
答:原型化方法的核心是,花费少量代价建立一个可运行的系统,使用户及早获得学习
2
的机会。强调软件开发人员与用户的不断交
互,通过原型的演进不断适应用户任务改变的需求。它是一个循环的模型。速成原型法按以下步骤循环执行:
① 快速分析。② 构造原型。③ 运行和评价原型。④ 修改与改进。
习题二答案
一、 选择题
1. 需求分析的主要目的是(B C)。 A) 系统开发的具体方案 B) 进一步确定用户的需求
C) 解决系统是“做什么”的问题 D) 解决系统是“如何做”的问题 2. 需求分析的主要方法有(C D)。
A) 形式化分析方法 B) PAD图描述
C) 结构化分析(SA)方法 D) OOA法
3. 面向对象的分析方法主要是建立三类模型,即(D)。
A) 系统模型、E-R模型、应用模型 B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型 D) 对象模型、动态模型、功能模型 4. SA法的主要描述手段有(B)。
A) 系统流程图和模块图
B) DFD图、数据词典、加工说明 C) 软件结构图、加工说明 D) 功能结构图、加工说明
5. 画分层DFD图的基本原则有(A C D)。
A) 数据守恒原则 B) 分解的可靠性原则 C) 子、父图平衡的原则 D) 数据流封闭的原则
6. 在E-R模型中,包含的基本成分是(C)。
A) 数据、对象、实体 B) 控制、联系、对象 C) 实体、联系、属性 D) 实体、属性、联系
7. 画DFD图的主要目的是(A D)。 A) 作为需求分析阶段用户与开发者
之间交流信息的工具
B) 对系统的数据结构进行描述 C) 对目标系统的层次结构进行描述 D) 作为分析和设计的工具
8. 数据字典是数据流图中所有元素的定义的集合,一般由 (C) 四类条目组成。
A) 数据说明条目、控制流条目、加
工条目、数据存储条目
B) 数据流条目、数据项条目、文件
条目、加工条目
C) 数据源条目、数据流条目、数据处理条目、数据文件条目
D) 数据流条目、数据文件条目、数
据池条目、加工条目
9. 在需求分析阶段主要采用图形工具
《软件工程——理论与实践》(第2版)习题答案
来描述的原因是(B C)。 立性:不模拟数据的表示和内部组织等;需求模
A) 图形的信息量大,便于描述规模拟技术又分为企业模拟、功能需求模拟和非功
大的软件系统 能需求模拟等。进一步对所建立的模型(原型)
B) 图形工具能够极好地概括描述一进行分析。需求模型的表现形式有自然语言、个系统的信息,比文字叙述能够更好半形式化(如图、表、结构化英语等)和形式化地表达重要的细节 表示等三种。 C) 图形能够更加直观地描述目标系⑶ 需求规格说明。对需求模型进行精确统,便于用户理解和交流,有利的、形式化的描述,为计算机系统的实现提供于开发者与用户之间达成一致的基础。 需求 ⑷ 确认需求。以需求规格说明为基础输D) 图形比文字描述简单、形象 入,通过符号执行、模拟或快速原型等方法,
二、 判断题 分析和验证需求规格说明的正确性和可行性,
1. 在进行了可行性分析后,需求分析就确保需求说明准确、完整地表达系统的主要特只需要解决目标系统的设计方案。 性,就是对需求规格说明与用户达成一致。其(×) 主要任务是冲突求解,包括定义冲突和冲突求2. SA法是面向数据流,建立在数据封闭解两方面。常用的冲突求解方法有:协商、竞原则上的需求分析方法。 争、仲裁、强制、教育等,其中有些只能用人(√) 的因素去控制。 3. 需求管理主要是对需求变化的管理,⑸ 需求管理。在整个需求工程过程中,贯即如何有效控制和适应需求的变化。 穿了需求管理活动。需求管理主要包括跟踪和(√) 管理需求变化,支持系统的需求演进。由于客4. 在面向对象的需求分析方法中,建立户的需要总是不断(连续)增长的,但一般的动态模型是最主要的任务。 软件开发又总是落后于客户需求的增长,如何(×) 管理需求的进化(变化)就成为软件管理的首要5. 加工小说明是对系统流程图中的加问题。对于传统的变化管理过程来说,其基本工进行说明。 成分包括软件配置、软件基线和变化审查小组。(×) 当前的发展是软件家族法,即产品线方法。多6. 判定表的优点是容易转换为计算机视点方法也是管理需求变化的一种新方法,它实现,缺点是不能够描述组合条件。 可以用于管理不一致性,并进行关于变化的推(×) 理。进化需求是十分必要的。 7. 需求分析的主要方法有SD法、OOA
2.简述抽取需求的主要方法,并比较它法及HIPO法等。 们的特点。 (×)
⑴面谈法。这是一种重要而直接简单,随8. 分层的DFD图可以用于可行性分析阶
时可使用的发现和获取需求的方法。面谈的对段,描述系统的物理结构。
象主要有用户和领域专家:与用户面谈主要了(×)
解和提取需求,与领域专家面谈,是一个对领9. 信息建模方法是从数据的角度来建
域知识的学习和转换过程。使用该方法时应注立信息模型的,最常用的描述信息模型
意面谈前要充分准备,面谈后认真分析总结,的方法是E-R图。
同时注意掌握面谈的人际交流技巧,才能取得(好的效果。 √)
⑵问卷法调查法。通过采用向用户发问卷10.用于需求分析的软件工具,应该能够
调查表的方式,达到彻底弄清项目需求的一种保证需求的正确性,即验证需求的一
需求获取方法。这是一种从多个用户处收集需致性、完整性、现实性和有效性。 求信息的有效方式,是对面谈法的补充。 (√)
⑶会议讨论法。所谓会议讨论法,是指三、 简答题
开发方和用户方召开若干次需求讨论会议,达1. 需求工程包括哪些基本活动?各项基
到彻底弄清项目需求的一种需求获取方法。这本活动的主要任务是什么?
种方法适合于开发方不清楚项目需求的情况。 答:需求工程过程包括如下主要活动:
⑷原型法。对于某些试验性、探索性的项
⑴ 获取需求。深入实际,在充分理解用户目,更是难于得到一个准确、无二义性的需求。需求的基础上,获取足够多的问题领域的知识,而原型化方法(Prototyping Method)是获取积极与用户交流,捕捉、分析和修订用户对目这一类项目需求的有效方法。 标系统的需求,并提炼出符合解决领域问题的⑸面向用例的方法。分析建立“用例”用户需求。需求获取的方法一般有问卷法、面的过程,也就是提取需求的过程。 谈法、数据采集法、用例法、情景实例法以及在实际应用中,常常将以上方法进行综基于目标的方法等。 合应用。
⑵ 需求分析与建模。对已获取的需求进行分析和提炼,进行抽象描述,建立目标系统的3. 客户的需要总是不断地增长,但是一概念模型,需求概念模型的要求包括实现的独
3
软件工程—理论与实践-课后答案(许家怡-白忠建-吴磊-著)-高等教...



