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

《软件工程》(第五版)习题参考答案一、判断题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.什么是软件危机,它们有哪些典型表现,为什么会出现软件危机,“软件危机”是指计算机软件的“开发”和“维护”过程中所遇到的一系列“严重问题”。
这些问题决不仅仅是不能正常运行的软件才具有的,实际上,几乎“所有软件”都不同程度地存在这些问题。
‚软件危机?包含两方面的问题:(1)如何开发软件,以满足对软件日益增长的需求;(2)如何维护数量不断膨胀的已有软件。
它们有以下表现:(1)对软件开发成本和进度的估计常常很不准确;(2)用户对“已完成的”软件系统不满意的现象经常发生;(3)软件产品的质量往往靠不住;(4)软件常常是不可维护的;(5)软件通常没有适当的文档资料;(6)软件成本在计算机系统总成本中所占的比例逐年上升;(7)软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势。
出现软件危机的原因:(1)开发人员与客户认识之间的矛盾(2)开发人员能力与开发目标之间的矛盾(3)预估与实际工作量之间的矛盾(4)客户认识的提高与软件维护之间的矛盾(5)遗产系统与实施软件之间的矛盾 2.假设自己是一家软件公司的总工程师~当把图1.1给手下的软件工程师们观看~告诉他们及时发现并改正错误的重要性时~有人不同意这个观点~认为要求在错误进入软件之前就清楚它们是不现实的~并举例说:‚如果一个故障是编码错误造成的~那么~一个人怎么能在设计阶段清除它呢,?应该怎么反驳他,答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成”是在引入变动,当然付出的代价更高。
一个故障是代码错误造成的,有时这种错误是不可避免的,但要修改的成本是很小的,因为这不是整体构架的错误。
软件工程(第五版)--习题及答案

打印出取票通知和票务账单。旅客可在航班的前一天凭取票通知和票务账单交款取票。系统
13、在软件生产的程序系统时代由于软件规模扩大和和软件复杂性提高等原因导
致了A。
A、软件危机 B、软件工程
C、程序设计革命 D、结构化程序设计
14、集成化开发环境中的环境集成机制不包括D。
A、数据集成 B、控制集成
没有尽早停止没有可行解决方案的开发项目就会造成时间、资金、人力、物力的浪费。为
了降低软件开发失败的可能性需要进行软件可行性研究。可行性研究要从经济可行性、技
术可行性、运行可行性和法律可行性四方面进行。 2、简述可行性研究的步骤。
答1审核系统的规模和目标2分析研究现行系统3设计新系统的高层逻辑模
5、×文字处理软件Word属于系统软件。 应用软件 6、√原型是软件的一个早期可运行的版本它反映最终系统的部分重要特性。
7、√软件开发过程中一个错误发现得越晚为改正它所付出的代价就越大。
8、×快速原型模型对软件开发人员的水平要求不高。
9、√喷泉模型适合于面向对象的软件开发。
10、×面向对象开发方法的主要缺点是在适应需求变化方面不够灵活。
二、选择题
1、软件是一种C。
A、程序 B、数据 C、逻辑产品 D、物理产品
2、软件开发方法是A。
A、指导软件开发的一系列规则和约定 B、软件开发的步骤
C、软件开发的技术 D、软件开发的思想
2、软件可行性研究的目的是C。
软件工程导论(第五版) 第五章PPT课件

•3)公用耦合 • 两个或多个模块通过一个公共区相互作用
时的耦合。
• 公共区可以是:全程数据区、共享通信区、
内存公共覆盖区、任何介质上的文件、物理设 备等。
• 软件结构中存在大量的公用耦合时会给诊
断错误带来困难。
A
B
C
D
全程数
据区
E
(3)公用耦合
• 图中存在公用耦合,假设模块A、C、E都存取全程数据区
7)偶然内聚(Coincidental Cohesion) 如果一个模块由完成若干毫无关系的功能
处理元素偶然组合在一起的,就叫偶然内聚。
• 偶然内聚是最差的一种内聚。 • 常犯这种错误的一种情况是:有时在写
完程序后,发现一组语句在多处出现,于是 为了节省空间而将这些语句作为一个模块设 计,就出现偶然内聚。
且仅完成一个功能,则称为功能内聚。 功能内聚是最高程度的内聚。但在软件结构
中,并不是每个模块都能设计成一个功能内聚 模块。
•2)顺序内聚(Sequential Cohesion) • 如果一个模块内处理元素和同一个功能密
切相关,而且这些处理元素必须顺序执行,则 称为顺序内聚。
• 如图,一个求一元二次方程根的模块由三
读入原 始数据
校验原 始数据
输入
计算最 优结果
变换中心
编辑打印 最优结果
输出
二、事务流
• 事务型数据流图中存在一个事务中心(也就是数据处
理、加工中心),它将输入分离成若干个发散的数据流, 形成许多活动路径,并根据输入值选择其中一条路径。
住房要求 要求类 别处理
事务中心
分房处理 调房处理 退房处理
活动路径
互依赖(连接)的紧密程度。
课后习题答案

第一章 (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版课后答案)

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参考答案
软件工程导论-张海藩-第五版课后习题答案

多态
多态是指同一个操作作用于不 同的对象,可以产生不同的结 果。
UML建模语言简介
UML是一种用于对软件密集系统进行可视化建模 的统一建模语言。
UML通过统一的符号和工具,为软件开发人员提 供了一种通用的建模语言。
UML可以描述软件系统的静态结构和动态行为, 包括类图、时序图、用例图等。
面向对象分析、设计和实现过程
列表。
与用户确认需求列表,确保对用户需求有准确的理解。
03
需求规格说明书编写
01
编写详细的需求规格说明书,包括功能需求、性能需求、接 口需求等。
02
使用清晰、准确的语言描述需求,避免歧义和模糊性。
03
提供必要的图表、示例和数据,以便更好地理解和实现需求 。
需求变更管理
建立需求变更管理流 程,确保所有变更都 经过评估和批准。
及时通知相关干系人, 协商并处理变更请求, 确保项目顺利进行。
对变更进行影响分析, 评估变更对项目进度、 成本和质量的影响。
03 系统设计
总体设计原则与方法
模块化
将系统划分为若干个相对独立的模块, 每个模块具有特定的功能,模块之间 通过接口进行通信。
高内聚、低耦合
模块内部的功能应该高度相关,而模 块之间的依赖关系应该尽量减少。
要点二
软件评估技术
软件评估技术包括代码审查、走查、桌面检查等。代码审 查是一种正式的评估技术,由一组开发人员对源代码进行 详细检查以发现错误;走查是一种轻量级的评估技术,由 开发人员自行检查代码并记录下潜在的问题;桌面检查则 是一种非正式的评估技术,由评估人员通过查看文档和演 示来评价软件产品的质量。
THANKS FOR WATCHING
感谢您的观看
软件工程导论----张海藩(第五版)课后习题答案

《软件工程导论》课后习题答案第三章需求分析习题答案1.需求分析的描述工具有哪些?有数据流图、数据字典、判定表、判定树、结构化自然语言、层次方框图、Warnier 图、IPO图和需求描述语言等。
2.需求分析的基本任务是什么?准确定义未来系统的目标,确定为了满足用户的需要系统必须做什么。
3.怎样建立目标系统的逻辑模型?要经过哪些步骤?建立目标系统的逻辑模型的过程也就是数据流图的分解过程。
它的导出过程如图:10.某单位拟开发一个计算机房产管理系统,要求系统具有分房、调房、退房和查询统计等功能。
房产科将用户申请表输入系统后,系统首先检查申请表的合法性,对不合法的申请表,系统拒绝接收;对合法的申请表根据类型分别进行处理。
(1) 如果是分房申请,则根据申请者的情况(年龄、工龄、职称、职务、家庭人口等)计算其分数,当分数高于阀值分数时,按分数高低将申请单插到分房队列的适当位置。
在进行分房时,从空房文件中读出空房信息,如房号、面积、等级、单位面积房租等,把好房优先分给排在分房队列前面的符合该等级房条件的申请者;从空房文件中删掉这个房号的信息,并从分房队列中删掉该申请单,再把此房号的信息和住户信息一起写到住房文件中,输出住房分配单给住户,同时计算房租,并将算出的房租写到房租文件中。
(2) 如果是退房申请,则从住房文件和房租文件中删除有关信息,再把此房号的信息写到空房文件中。
(3) 如果是调房申请,则根据申请者的情况确定其住房等级,然后在空房文件中查找属于该等级的空房,退掉原住房,再进行与分房类似的处理。
(4) 住户可以向系统查询目前分房的阀值分数,居住某类房屋的条件,某房号的单位面积及房租等信息。
房产科可以要求系统打印住房情况的统计表,或更改某类房屋的居住条件、单位面积和房租等。
用数据流图描绘该系统的功能需求;在数据字典中给出主要的数据流、文件和加工说明。
第四章总体设计习题答案9. 比较层次方框图与结构图是的异同?(1) 层次方框图描绘数据的层次结构, 结构图描绘的是软件结构。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、判断题
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、PDl
D、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、数据输入界面设计的主要原则有哪些?
答:在设计数据输入界面时应做到:尽量简化用户的工作、减少输入的出错率;减轻用户的记忆负担、尽可能减少输入量并实现自动输入;对共同的输入设置默认值;使用代码或缩写;自动填入已输入过的内容;列表式输入; 数据分组输入。
3、代码设计的原则有哪些?
答:代码设计的原则是标准化、唯一性、可扩充性、简单性、规范性和适应性。
四、应用题
1、请分别使用程序流程图、PAD图和N-S图描述下列程序的算法。
(1)求整数1-n的累加和SUM,其中n的值由键盘输入。
答:程序流程图如下
PAD图如下
N-S图如下
(2)求整型数组K[50]中的最大值和次大值。
答:
N-S 图如下:
Sum=0,i=1
DO ─WHILE n>=i
输入数n
Sum=Sum+ i i++
输出数Sum
(3)求s=1- 1/2!+1/3!-1/4! + …. +1/n!,其中n的值由键盘输入。
答:PAD图如下:
2.根据以下伪码,画出PAD图
if (x<y)goto 30
if (y<z)goto 50
s=z
goto 70
30 if (x<z)goto 60
s=z
goto 70
50 s=y
goto 70
60 s=x
70 ……
答:
3.将程序流程图转化为PAD图(
(2)
答:
(3)
答:
(5)只使用顺序结构和循环结构,构造分支结构。
请画出PAD图。
答:对于分支结构
if(f)
a;
else
b;
只使用顺序和循环结构的PAD图如下:。