软件工程(第五版)-习题及答案---第四章

合集下载

软件工程第五版--习题及答案概论

软件工程第五版--习题及答案概论

《软件工程》(第五版)习题参考答案一、判断题K (X )软件的维护与硬件维护本质上是相同的。

2v (V )软件在运行和使用中也存在退化问题。

3JX )软件危机的产生主要是因为程序设计人员使用了不适当的程序设计语言。

4、 (J )软件同其他事物一样,有孕育、诞生、成长、成熟和衰亡的生存过程。

5、 (X )文字处理软件Word 属于系统软件。

应用软件6、 ( V )原型是软件的一个早期可运行的版本,它反映最终系统的部分重要特性。

7、 (7 )软件开发过程中,一个错误发现得越晚,为改正它所付出的代价就越大。

8、 (X )快速原型模型对软件开发人员的水平要求不高。

9V (V )喷泉模型适合于面向对象的软件开发。

10、(X )面向对象开发方法的主要缺点是在适应需求变化方面不够灵活。

二、选择题K 软件是一种(C )o 2、软件开发方法是(A )oC 、软件开发的技术D 、 3、软件生存周期中花费最多的阶段是(D )。

A 、详细设计 C 、软件测试4、软件工程的三要素不包括(D )。

A 、工具B 、过程C 、方法 5、在软件生存周期中,能准确地确定“软件系统必须做什么”的阶段是(D )oA 、总体设计C 、可行性研究(能不能做)6、瀑布模型本质上是一种(A )模型。

A 、线性顺序C 、线性迭代 7、瀑布模型突出的缺点是不适应(D )的变动。

A 、算法B 、程序语言C 、平台8、 在软件开发模型中,提出最早、应用最广泛的模型是(A )o A 、瀑布模型B 、喷泉模型A 、程序B 、数据C 、逻辑产品D 、物理产品A 、指导软件开发的一系列规则和约定B 、软件开发的步骤 软件开发的思想B 、软件编码(最少) D 、软件维护D 、环境 B 、详细设计(怎么仁 D 、需求分析B 、顺序迭代、能及早见到产品的D 、用户需求C、快速原型模型D、螺旋模型9、瀑布模型不适合用于(A)的软件开发。

A、需求模糊不清B、用户不能参与开发C、用户对计算机不了解D、开发人员对业务知识不熟悉10、快速原型的主要优点不包括(D)oA、能让用户参与开发、给出反馈B、尽早把需求分析清楚,以降低风险C、尽早地发现问题、纠正错误D、对软件分析设计人员的素质要求不高1K快速原型的主要问题在于(A)oA、缺乏支持原型开发的工具B、要严格控制原型构造的迭代C、终端用户对原型不能理解 D.软件的测试和文档更新困难12、螺旋模型是一种将瀑布模型和(A)结合起来的软件开发模型。

《软件工程》各章课后习题答案

《软件工程》各章课后习题答案

《软件工程》各章课后习题答案软件工程是计算机科学与技术的一门重要学科,旨在研究和应用工程原则和方法来开发高质量的软件系统。

课程中的习题对于加深学生对软件工程理论和实践的理解至关重要。

下面是对《软件工程》各章课后习题的答案,希望能够帮助你更好地掌握软件工程的知识。

第一章:软件工程导论1. 软件工程的定义:答:软件工程是通过应用系统化、规范化和可量化的方法进行软件开发、运行和维护的学科。

2. 软件工程的目标:答:软件工程的目标是提高软件开发的质量、效率和可靠性,使得软件能够满足用户的需求和期望。

3. 软件生命周期模型:答:常见的软件生命周期模型包括瀑布模型、迭代模型、敏捷模型等。

每个模型都有其独特的特点和适用场景。

4. 软件过程模型:答:软件过程模型描述了软件开发过程中的一系列活动和阶段,常见的软件过程模型包括瀑布模型、迭代模型、敏捷模型等。

5. 软件工程的基本原则:答:常见的软件工程基本原则包括分阶段、逐步求精、持续集成、迭代开发、需求优先等。

第二章:软件项目管理1. 软件项目管理的定义:答:软件项目管理是指对软件开发过程中的资源、进度、质量等进行有效管理,以确保软件项目能够按时、按质地完成。

2. 软件项目管理的内容:答:软件项目管理包括项目计划、需求管理、项目进度管理、资源管理、风险管理等方面。

3. 软件项目管理的方法:答:常见的软件项目管理方法包括敏捷项目管理、水平项目管理、里程碑项目管理等。

4. 软件项目管理的工具:答:常用的软件项目管理工具包括甘特图、PERT/CPM网络图、项目管理软件等。

第三章:软件需求分析与规格说明1. 软件需求的定义:答:软件需求是指用户对软件系统的要求和期望,包括功能需求、性能需求、接口需求等方面。

2. 软件需求分析的方法:答:常用的软件需求分析方法包括面向对象分析法、数据流图法、用例分析法等。

3. 软件需求规格说明的格式:答:常见的软件需求规格说明的格式包括自然语言描述、结构化描述、图形描述等。

《软件工程导论》张海潘第五版清华课后答案

《软件工程导论》张海潘第五版清华课后答案
第四章答案
了解结构化开发方法的核心概念和工具,提供 对练习问题的参考答案。
面向对象开发方法
第五章
深入探讨面向对象开发方法的理论和实践,学习如何设计和构建强大的面向 对象软件系统。
课后答案
第一章答案
掌握软件工程概述的关键知识点,提供练习题 的答案以加深理解。
第三章答案
学习需求分析和建模的实际应用,提供对课后 习题的详细解答。
第二章答案
了解软件生命周期的各个阶段,掌握解决实践 问题的方法和技巧。
《软件工程导论》张海潘 第五版清华课后答案
欢迎来到《软件工程导论》张海潘第五版清华课后答案的世界。让我们一起 探索这门令人兴奋的学科,并发现其中的奥秘和乐趣。
课本信息
书名:《软件工程导论》
作者:张海潘
版本:第五版
出版社:清华大学出版社
作者简介
张海潘
张海潘是一位资深的软件工程教授,拥有丰富的教学和研究经验。他对软件 开发过程和方法论有着深入的研究,并致力于培养下一代的软件工程师。
章节导引Biblioteka 1第二章:软件生命周期
2
深入研究软件项目的整个生命周期,了
解每个阶段的任务和活动。
3
第四章:结构化开发方法
4
介绍结构化开发方法的基本原理和技术, 帮助开发人员构建可靠和易维护的软件。
第一章:软件工程概述
了解软件工程的基本概念和原理,掌握 软件工程的核心思想和目标。
第三章:需求分析与建模
学习如何捕捉用户需求并进行有效的需 求分析和建模。

软件工程第五版课后全答案准确对应书山

软件工程第五版课后全答案准确对应书山

软件工程第五版课后全答案准确对应书山第一章软件工程概论1.什么是软件危机,它们有哪些典型表现,为什么会出现软件危机,“软件危机”是指计算机软件的“开发”和“维护”过程中所遇到的一系列“严重问题”。

这些问题决不仅仅是不能正常运行的软件才具有的,实际上,几乎“所有软件”都不同程度地存在这些问题。

‚软件危机?包含两方面的问题:(1)如何开发软件,以满足对软件日益增长的需求;(2)如何维护数量不断膨胀的已有软件。

它们有以下表现:(1)对软件开发成本和进度的估计常常很不准确;(2)用户对“已完成的”软件系统不满意的现象经常发生;(3)软件产品的质量往往靠不住;(4)软件常常是不可维护的;(5)软件通常没有适当的文档资料;(6)软件成本在计算机系统总成本中所占的比例逐年上升;(7)软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势。

出现软件危机的原因:(1)开发人员与客户认识之间的矛盾(2)开发人员能力与开发目标之间的矛盾(3)预估与实际工作量之间的矛盾(4)客户认识的提高与软件维护之间的矛盾(5)遗产系统与实施软件之间的矛盾 2.假设自己是一家软件公司的总工程师~当把图1.1给手下的软件工程师们观看~告诉他们及时发现并改正错误的重要性时~有人不同意这个观点~认为要求在错误进入软件之前就清楚它们是不现实的~并举例说:‚如果一个故障是编码错误造成的~那么~一个人怎么能在设计阶段清除它呢,?应该怎么反驳他,答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成”是在引入变动,当然付出的代价更高。

一个故障是代码错误造成的,有时这种错误是不可避免的,但要修改的成本是很小的,因为这不是整体构架的错误。

软件工程(第五版)--习题及答案

软件工程(第五版)--习题及答案

一、判断题1、(√)详细设计也称模块设计。

2、(×)在数据代码设计时,应尽量让一条代码代表多个信息。

3、(×)在数据代码设计时,应可能设计字母和数字混合代码。

4、(×)在输出界面设计时,要尽可能使用代码或缩写,以求简洁。

5、(×)详细设计评审应尽可能和概要设计评审一同进行。

二、选择题1、软件详细设计的主要任务是确定每个模块的(A )。

A 、算法和使用的数据结构、算法和使用的数据结构 B 、外部接口、外部接口 C 、功能、功能 D 、程序、程序2、借助于软件工具,可将(C )容易地转换为高级语言源程序。

)容易地转换为高级语言源程序。

A 、程序流程图、程序流程图 B 、N-S 图 C 、PAD 图 D 、判定表、判定表3、不属于详细设计工具的是(A )。

A 、DFD 图B 、PAD 图C 、PDlD 、N-S 图 4、程序的三种基本结构是(C )。

A 、过程、子过程和子程序、过程、子过程和子程序 B 、递归、堆栈和队列、递归、堆栈和队列 C 、顺序、选择和重复、顺序、选择和重复 D 、调用、返回和转移、调用、返回和转移 5、下面描述中,符合结构化程序设计风格的是(A )。

A 、使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B 、模块只有一个入口,可以有多个出口C 、注重提高程序的执行效率、注重提高程序的执行效率D 、不使用goto 语句 三、简答题1、软件的详细设计阶段完成的主要任务是什么? 答:(1)算法设计;(2)数据结构设计;(3)模块接口细节设计;(4)测试用例设计;(5)数据库物理设计;(6)数据代码设计;(7)其他设计;(8)编写详细设计说明书并进行评审。

编写详细设计说明书并进行评审。

2、数据输入界面设计的主要原则有哪些?答:在设计数据输入界面时应做到:尽量简化用户的工作、减少输入的出错率;减轻用户的记忆负担、尽可能减少输入量并实现自动输入;尽可能减少输入量并实现自动输入; 对共同的输入设置默认值;对共同的输入设置默认值; 使用代码或缩写;缩写; 自动填入已输入过的内容;列表式输入; 数据分组输入。

软件工程课后习题参考答案

软件工程课后习题参考答案

软件工程课后习题参考答案软件工程课后习题参考答案1. 第一章规约与软件工程概述1.1 规约的定义规约是软件开发过程中明确要求的描述,包含了对软件需求、设计、实现、测试、部署和维护等各个阶段的要求和约束。

1.2 软件工程的概述软件工程是一门涉及对软件的开发、运行和维护的学科。

它通过应用工程原则和方法,以系统化、规范化、可靠化、经济化和高质量的方式来开发和维护软件。

2. 第二章软件需求规约2.1 软件需求规约的作用软件需求规约是对软件系统所需功能和性能的具体描述和说明,是软件开发的基础和依据。

它指导着开发团队的工作,确保软件的功能和性能符合用户的需求。

2.2 软件需求规约的要素软件需求规约包括功能需求、非功能需求和约束条件。

功能需求描述了软件系统应该具备的功能,非功能需求描述了软件系统的性能要求和质量特性,约束条件描述了软件系统所受限制的条件。

3. 第三章软件设计规约3.1 软件设计规约的目标软件设计规约是对软件系统进行结构化和模块化设计的过程,其目标是确保软件系统具备可靠性、可维护性、可扩展性和可重用性。

3.2 软件设计规约的方法软件设计规约采用面向对象设计、结构化设计和模块化设计等方法。

面向对象设计强调将问题领域的概念和对象转化为软件系统的类和对象,结构化设计强调将系统分解为模块,模块化设计强调模块间的接口和通信。

4. 第四章软件实现规约4.1 软件实现规约的目的软件实现规约是指将软件设计阶段得到的设计规约转化为计算机可执行的程序代码,其目的是确保软件系统的正确性、可靠性、可维护性和可测试性。

4.2 软件实现规约的技术软件实现规约采用编程语言、软件开发工具和软件开发环境等技术。

编程语言提供了描述算法和数据结构的语法和语义,软件开发工具提供了代码编辑、编译、调试和测试等功能,软件开发环境提供了开发的整体支持。

5. 第五章软件测试规约5.1 软件测试规约的目的软件测试规约是对软件系统进行功能、性能和质量等方面的验证和检测,其目的是找出软件系统的错误和缺陷,并修复和改进。

课后习题答案

课后习题答案

第一章 (2)第二章 (3)第三章 (4)第四章 (5)第五章 (6)第六章 (8)第七章 (10)第八章 (10)第九章 (11)课后习题答案第一章项目的市场调研习题1.选择题(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. 条文形式2.填空题(1)软件工程是开发、运行、维护和修复软件的系统方法,这里所说的系统方法,是把系统化的、规范化的、可度量化的途径应用于软件生存周期中,也就是把工程化应用于软件中。

(2)可行性研究的任务不是具体解决系统中的问题,而是确定问题是否值得解决、是否能够解决。

(3)软件的开发计划也称项目实施计划,是一个综合的计划,是软件开发工作的指导性文档,阅读对象是软件开发的主管部门、软件技术人员和普通用户。

3.思考题(1)软件危机产生的原因是什么?为何要引入软件工程的概念?答:①忽视了软件开发前期的需求分析的需求分析;②开发过程没有统一、规范的方法论的指导,文档资料不齐全,忽视了人与人之间的交流。

③忽视测试阶段的工作,提交给用户的软件质量差。

④请示软件的维护。

(2)可行性研究的主要任务有哪些?答:①经济可行性②技术可行性③时机可行性④管理上的可行性⑤法律可行性⑥运行可行性(3)制定项目开发计划的主要任务是什么?答:①项目资源计划软件开发中的资源包括用于支持软件开发的硬件,软件工具以及人力资源。

软件工程(第5版课后答案)

软件工程(第5版课后答案)
FIND (查找)
f(作者姓名)
系统搜索指定的作者姓名,并在屏幕上显示该作者的著作的索引号,同时把这些索引存入文件。
设计测试数据以全面测试系统正常操作。 设计测试数据以测试系统的非正常操作。
P175 5
P175 5 参考答案
划分等价类(略) 全面测试系统正常操作 B BS BSD F FD
B:输入关键字,看是否输出约20个加了行号的字,是否与关键字完全相同的字约在屏幕中央。 输入:“计算机” 预期输出:约20个加行号的字 BS:输入关键字,选取屏幕上行号,是否生成包含索引号的文件。 输入:“计算机”;12 预期输出:约20个加行号的字;文件 BSD:输入关键字,选取屏幕上行号,检索索引号有关信息,是否显示文件中索引信息。 输入:“计算机”;12;3 预期输出:约20个加行号的字;文 件;文件中索引信息。 F:输入作者姓名,是否在屏幕上显示该作者的著作的索引号,是否将这些索引存入文件。 输入:“金庸” 预期输出:该作者著作的索引号 FD:输入作者姓名,检索索引号有关信息,是否现实文件中索引信息。 输入:“金庸”;3 预期输出:该作者著作索引号;文件中 索引信息
单击此处可添加副标题
P23 7参考答案
增量模型 缺点: 至始至终开发者和客户纠缠在一起,直到完全版本出来。 优点: 人员分配灵活,刚开始不用投入大量人力资源,当核心产品很受欢迎时,可增加人力实现下一个增量。 当配备的人员不能在设定的期限内完成产品时,它提供了一种先推出核心产品的途径,这样就可以先发布部分功能给客户,对客户起到镇静剂的作用。 具有一定的市场。 适合于软件需求不明确、设计方案有一定风险的软件项目。
习题1第6题
什么是软件过程?它与软件工程方法学有何关系?
P23 6
P23 6参考答案
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
……
feturn fee;

答:模块A和B是数据耦合,模块B是功能内聚。
2、
模块A:
……
flag=1;
max=max_avg(flag);
……
模块B:
intmax_avg(intflag)

……
if(flag= =1)
……
elseif(flag= =0)
……

答:模块A和B是控制耦合,模块B是逻辑内聚。
6、(√)软件结构图可以利用数据流图映射出来。
7、(×)结构化设计是一种面向数据结构的设计方法。
8、(√)在结构化设计过程中首先要确认DFD。
二、选择题
1、软件结构图的形态特征能反映程序重用率的是(C)。
A、深度B、宽度C、扇入D、扇出
2、概要设计的目的是确定整个系统的(B)。
A、规模B、功能及模块结构
四、应用题
根据以下的C语言程序段判断模块A和B之间属于哪一种耦合,模块B是哪一种内聚。
1、
模块A“开发票”:
……
water_fee=calc_waterfee(12.5,3.0);
模块B“计算水费”:
floatcalc_waterfee(floatmount,float price);

float fee;
A、数据耦合B、公共耦合C、标记耦合D、内容耦合
5、数据耦合和控制耦合相比,则(B)成立。
A、数据耦合的耦合性强B、控制耦合的耦合性强
C、两者的耦合性相当D、两者的耦合性需要根据具体情况分析
6、衡量模块独立性的标准是(D)。
A、耦合的类型B、内聚的类型
C、模块信息的隐藏性D、耦合性和内聚性
7、如果某种内聚要求一个模块中包含的任务必须在同一段时间内执行,则这种内聚为(A)。
2、什么是软件的概要设计?概要设计阶段完成的主要任务是什么?
答:总体设计又称概要设计,是将软件需求转化为软件体系结构、确定系统级接口、全局数据结构和数据库模式。
3、启发设计规则有哪些?
答:(1)模块功能的完善化;(2)消除重复功能,改善软件结构;(3)模块规模应该适中;(4)模块的深度、宽度、扇出和扇入都应适当;(5)模块的作用范围应该在控制范围之内;(6)力争降低模块接口的复杂程度;(7)设计单入口、单出口的模块;(8)模块功能应该可以预测。
C、数据库D、软件代码
11、概要设计的主要成果是(C)。
A、用户的界面需求B、用户的分析方案
C、概要设计说明书D、系统总体方案
12、数据结构设计也是概要设计的重要内容,主要是进行数据的(A)设计。
A、逻辑B、存取C、用户视图D、索引
13、概要设计与详细设计衔接的图形工具是(B)。
A、DFD图B、SC图C、程序流程图PFDD、PAD图
14、在软件开发中,下面任务不属于设计阶段的是(D)。
A、数据结构设计B、给出系统模块结构
C、定义模块算法D、定义需求并建立系统模型
15、下面不属于软件设计原则的是(C)。
A、抽象B、模块化C、自底向下D、信息隐藏
三、简答题
1、软件设计应遵循的原则是什么?
答:软件设计中一般应遵循以下原则:模块化、抽象、信息隐蔽与局部化、一致性、完整性和可验证性。
C、费用D、测试方案
3、耦合是对软件不同模块之间互连程度的度量。各种耦合从强到弱的排列为(C)。
A、内容耦合,控制耦合,数据耦合,公共环境耦合
B、内容耦合,控制耦合,公共环境耦合,数据耦合
C、内容耦合,公共环境耦合,控制耦合,数据耦合
D、控制耦合,内容耦合,数据耦合,公共环境耦合
4、当一个模块直接使用另一个模块的内部数据时,这种模块之间的耦合为(D)。
一、判断题
1、(√)如果在需求分析阶段采用了结构化分析方法,则软件设计阶段就应采用结构化设计方法。
2、(√)概要设计与详细设计之间的关系是全局和局部的关系。
3、(×)一个模块的作用范围应大于该模块的控制范围。
4、(√)模块间的耦合性越强,则模块的独立性越弱。
5、(×)在设计模块时,应使一个模块尽量包括多个功能。
A、时间内聚B、逻辑内聚
C、通信内聚D、信息内聚
8、为了提高模块的独立性,模块内部最好是(C)。
A、逻辑内聚B、时间内聚
C、功能内聚D、通信内聚
9、在结构化设计方法中,下面哪种内聚的内聚性最弱(C)。
A、逻辑内聚B、时间内聚
C、偶然内聚D、过程内聚
10、软件设计是把(A)转换为软件表示的过程。
A、软件需要B、系统分析
相关文档
最新文档