软件工程(第五版)--习题及答案--第三章
《软件工程导论》张海潘第五版清华课后答案

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

19:50:09
作业及解答(第3 作业及解答(第3章)
• 从问题陈述可知,复印机的状态主要有“闲置”、 “复印”、“缺纸”和“卡纸”。引起状态转换的事 件主要是“复印命令”、“完成复印命令”、“发现 缺纸”、“装满纸”、“发生卡纸故障”和“排除了 卡纸故障”。
19:50:09
作业及解答(第4 作业及解答(第4章)
作业及解答(第1 作业及解答(第1-2章)
1-5 根据历史数据可以做出如下的假设 : 对计算机存储容量的需求大致按下面公式描述的趋势逐 年增加:M=4080e0.28(Y-1960) 存储器的价格按下面公式描述的趋势逐年下降: P1=0.3×0.72Y-1974(美分/位) 如果计算机字长为16位,则存储器价格下降的趋势为: P2=0.048×0.72Y-1974(美元/字) 在上列公式中Y代表年份,M是存储容量(字数),P1和P2 代表价格。 基于上述假设可以比较计算机硬件和软件成本的变化趋 19:50:09 势。要求计算:
作业及解答(第3 作业及解答(第3章)
3-3 银行计算机储蓄系统的工作过程大致如下:储户填 写的存款单或取款单由业务员键入系统,如果是存款 则系统记录存款人姓名、住址(或电话号码)、身份证 号码、存款类型、存款日期、到期日期、利率及密码 (可选)等信息,并印出存单给储户;如果是取款而且 存款时留有密码,则系统首先核对储户密码,若密码 正确或存款时未留密码,则系统计算利息并印出利息 清单给储户。 请用数据流图描绘本系统的功能,并用实体-联系图 描绘系统中的数据对象。
作业及解答(第4 作业及解答(第4章)
其中, –符号∷=表示定义为; –符号[...]表示可选项; –符号a|b表示a或b。 假设有这样一个有穷状态机:以一串字符为输入,判断字 符串中是否含有合法的浮点二进制数。试对这个有穷状态机 进行规格说明。
软件工程(第五版)--习题及答案

打印出取票通知和票务账单。旅客可在航班的前一天凭取票通知和票务账单交款取票。系统
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

D3生理信息
F4警告信息
F2生理信号
P1 接收信号
定时的生理信号
P5 更新日志
F2生理信号 定时的 生理信号
E1 护士
E3 时钟
F3日前、时间
P4 定时取样 生理信号
F6日志
F6日志
D1患者日志
E1
护士
F1要求报告
P6
13:07:42
重庆工学产院生计病算情机报科告学与工程学院 李梁(liliang@)
从问题陈述可知,本系统数据源点是“病人”和“护士” ,他们分别提供生理信号和要求病情报告的信息。进一步 分析问题陈述,从系统应该“定时记录病人情况以形成患 者日志”这项要求可以想到,还应该有一个提供日期和时 间信息的“时钟”作为数据源点。
从问题陈述容易看出,本系统的数据终点是接收警告信息 和病情报告的护士。
F6日志
D1患者日志
E1
护士
F1要求报告
P6
13:07:42
重庆工学产院生计病算情机报科告学与工程学院 李梁(liliang@)
13
作业及解答(第3章)
2-5 北京某高校可用的电话号码有以下几类:校内电话号码 由4位数字组成,第1位数字不是0;校外电话又分为本市 电话和外地电话两类,拨校外电话需先拨0,若是本市电 话则再接着拨8位数字(第1位不是0),若是外地电话则拨3 位区码再拨8位电话号码(第1位不是0)。
8
作业及解答(第3章)
E1 护士
F4警告信息、病情报告 F1要求报告
E1 护士
E2 病人
F2生理信号
P0 患者监护系统
F6日志
D1患者日志
F5安全范围
D2患者安全范围
E3 时钟
软件工程(第五版)--习题及答案

一、判断题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、数据输入界面设计的主要原则有哪些?答:在设计数据输入界面时应做到:尽量简化用户的工作、减少输入的出错率;减轻用户的记忆负担、尽可能减少输入量并实现自动输入;尽可能减少输入量并实现自动输入; 对共同的输入设置默认值;对共同的输入设置默认值; 使用代码或缩写;缩写; 自动填入已输入过的内容;列表式输入; 数据分组输入。
第3章 软件工程基础(习题答案).doc

第3章习题答案3」什么是软件危机?为什么会岀现软件危机?解答:软件危机是指落后的软件生产方式无法满足开发复杂软件的需求,从而导致软件开发与维护过稈屮出现一系列严重的问题,主要表现在:(1)软件开发费用和进度估计不准。
(2)软件的正确性和可靠性难以保证。
(3)文档不全,导致软件维护难度加大。
总Z,可将软件危机归结为:成木、质量和生产率等问题。
到了20世纪50年代末和60年代初,随着计算机应用的普及,软件的规模和复杂度提高了,“家庭作功”式的方法已经无法适应软件的开发。
软件开发的周期变长、费用上涨,导致软件的生产效率下降、目标软件的正确性难于保证,即出现了“软件危机”。
3.2软件T程的概念是什么?软件T程的忖标和原则是什么?解答:软件工程是指导计算机软件开发和维护的一门学科。
软件工程从管理和技术两个方面,研究如何更好地开发和维护计算机软件,内容主要包括:软件开发技术和软件工程管理。
软件工程的日标是在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并且满足用户需求的软件产品。
软件工稈的原则,在软件开发各阶段,应遵循一些基木原则,包括抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。
3.3什么是软件的生命周期?瀑布模型把软件生命周期划分成几个时期、几个阶段?每一个阶段的任务是什么?每个阶段产生的文档是什么?解答:软件从提出、开发、使用到退役的整个过稈称为软件生命周期,软件生命周期可划分为3个时期,共8个阶段,毎个阶段应完成的基本任务和产生的文档如下表所示。
时期阶段任务文档定义期(计划期)问题的定义理解用户要求,明确工作目标计划任务书可行性研究可行性方案分析需求分析软件系统的目标及应完成的任务需求规格说明书开发期概要设计(总体设计)(系统设计)系统逻辑设让,明确软件模块结构,及各模块间的调用关系软件概要设计说明书数据库/数据结构设计说明书集成测试计划详细设计系统的模块设计,对各模块进行功能说明,实现细节描述软件详细设计说明书编码编写程序代码程序、数据、详细注释测试和调试单元测试、集成测试测试大纲、方案,测试用例,测试结果维护期使用和维护运行和维护运行、修改记录3.4什么是结构化方法?结构化分析、结构化设计、结构化程序设计分别用在软件生命周期的哪一个阶段?解答:结构化开发方法是现有软件开发方法屮最成熟、应用最广泛的方法。
软件工程课后习题答案第五版

软件工程课后习题答案第五版《软件工程导论》课后习题答案第一章软件工程概论1.什么是软件危机?软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
这些问题表现在以下几个方面:(1)用户对开发出的软件很难满意。
(2)软件产品的质量往往靠不住。
(3)一般软件很难维护。
(4)软件生产效率很低。
(5)软件开发成本越来越大。
(6)软件成本与开发进度难以估计。
- (7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。
2.为什么会产生软件危机?(1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。
造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。
(2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。
(3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。
3.怎样克服软件危机?(1) 充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。
在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。
(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。
(3) 根据不同的应用领域,开发更好的软件工具并使用这些工具。
将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支环环境。
- 总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。
4.构成软件项目的最终产品:应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。
5.什么是软件生存周期?软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程。
软件工程导论 张海藩(第五版)课后习题答案

《软件工程导论》课后习题答案第一章软件工程概论1.什么是软件危机?软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
这些问题表现在以下几个方面:(1)用户对开发出的软件很难满意。
(2)软件产品的质量往往靠不住。
(3)一般软件很难维护。
(4)软件生产效率很低。
(5)软件开发成本越来越大。
(6)软件成本与开发进度难以估计。
(7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。
2.为什么会产生软件危机?(1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。
造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。
(2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。
(3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。
3.怎样克服软件危机?(1) 充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。
在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。
(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。
(3) 根据不同的应用领域,开发更好的软件工具并使用这些工具。
将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支环环境。
总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。
4.构成软件项目的最终产品:应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。
5.什么是软件生存周期?软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A、软件验收的依据
B、用户与开发人员对软件要做什么的共同理解
C、软件可行性研究的依据
D、软件设计的依据
4、数据词典是用来定义(D)中的各个成分的具体含义。
A、流程图B、功能结构图
C、结构图D、数据流图
5、结构化分析方法(SA)是一种面向(B)的分析方法。
A、数据结构B、数据流
“怎么做”,即着手软件需求的实现:用比较抽象概括的方式确定目标系统如何完成预定的任务,确定系统的物理模型。
2、怎样建立目标系统的逻辑模型?
答:建立目标系统逻辑模型的一般过程:
(1)由当前物理系统导出当前系统物理模型;
(2)由当前系统物理模型,导出当前系统逻辑模型;
(3)参考当前系统逻辑模型,设想出新系统逻辑模型。
解:数据流图如下:
3、某考务中心准备开发一个考务管理系统,其需求如下:
(1)考生填写考试报名表,经检查合格后在系统中登记注册,并发给学生准考证。
(2)学生按照准考证要求进入考场考试。考试完后将试卷交给阅卷划D、合同文档
14、结构化分析方法是以数据流图、(D)和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型。
A、DFD图B、PAD图C、IPO图D、DD
15、软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及(B)。
9、结构化分析的核心是(A)。
A、自顶向下的分解B、用DFD建模
C、用DD描述数据需求D、自底向上的抽象
10、需求分析的任务是(A)。
A、正确说明让软件“做什么”B、用DFD建模
C、用DD建立数学模型D、给出需求规格说明书
11、对于分层的DFD,父图与子图的平衡是指(B)。
A、父图与子图的输入输出数据流必须相同
专业=”01”...”99”注:专业代号2位数字
班级=”01”...”99”注:班级代号2位数字
学分=0..99
2、某录取统分子系统有如下功能:
(1)计算标准分:根据考生原始分计算出标准分,并将其存入考生分数文件。
(2)计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线分数,并存入录取线文件。试根据要求画出该子系统的数据流程图。
答:需求分析的基本任务是要准确地理解旧系统、定义新系统的目标,为了满足用户需要,回答“系统必须做什么”的问题,即确定系统必须完成哪些工作,对新系统提出完整、准确、清晰、具体的要求。
具体任务是:明确问题定义、导出软件的逻辑模型、编写软件需求规格说明书。
“做什么”,即深入描述软件的功能和性能,确定软件设计的限制和软件与其他系统元素的接口细节,定义软件的其他有效性需求。
C、结构化数据系统D、对象
6、在数据词典中,以下哪一项表示允许重复0至任意次(A)。
A、{}B、0{}C、0{}nD、{}n
7、以下数据流图符号中哪一个表示加工(B)。
A、B、C、D、
8、软件开发的需求活动,其主要任务是(D)。
A、给出软件解决方案B、给出系统模块结构
C、定义模块算法D、定义需求并建立系统模型
18、数据词典不包括的条目是(C)。
A、数据项B、数据流C、数据类型D、数据加工
19、软件需求分析一般应确定的是用户对软件的(D)。
A、功能需求B、非功能需求
C、性能需求D、功能需求和非功能需求
20、在数据流图中,有名字和方向的成分是(B)。
A、信息流B、数据流C、控制流D、信号流
三、简答题
1、需求分析的任务是什么?怎样理解“做什么”和“怎么做”?
3、数据流图的作用是什么?它有哪些基本成分?
答:数据流图是用于表示系统逻辑模型的一种工具。它从数据传递和加工的角度,以图形的方式描述数据在系统中流动和处理过程。它表示了系统内部信息的流向以及系统的逻辑处理功能。
数据流图的主要成分有四种:数据流、数据存储、加工、数据流的源点和终点。
4、数据词典的作用是什么?它包括哪些内容?
A、阶段性报告B、需求评估C、总结D、都不正确
16、数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下面图符名称标识的图符不属于数据流图合法图符的是(A)。
A、控制流B、加工C、数据存储D、源点和终点
17、DFD用于描述系统的(D)。
A、数据结构B、控制流程C、基本加工D、软件功能
答:数据词典是数据的集合,它对数据流图中的各个元素作完整的定义和说明,是数据流图的补充工具。数据流图和数据词典共同构成系统的逻辑模型,两者缺一不可。
其内容包括:数据流、数据项、数据结构、数据存储、加工逻辑、外部实体6类元素。
四、应用题
1、用SA方法对“学生档案管理系统”进行分析,画出DFD图,并建立相应的数据词典。
一、判断题
1、(√)软件需求分析阶段要确定软件系统要“做什么”。
2、(×)软件需求规格说明书可作为可行性研究的依据。
3、(√)需求分析员可以参加最后的需求评审工作。
4、(×)画数据流图时可以加少量的控制流,使加工之间有时序的关系。
5、(√)结构化分析模型的核心是数据词典。
6、(×)在数据流图中,带有箭头的线段表示的是控制流。
7、(×)在软件生产过程中,需求信息的来源是项目经理。
8、(√)需求分析阶段的任务是确定软件的功能。
二、选择题
1、需求分析最终结果是产生(B)。
A、项目开发计划B、需求规格说明书
C、设计说明书D、可行性分析报告
2、数据流图(DFD)是(A)方法中用于表示系统的逻辑模型的一种图形工具。
A、SAB、SDC、SPD、SC
解:“学生管理系统”的顶层图和0层图。
顶层图:
0层图:
部分数据词典:
学生档案={学号+姓名+性别+年龄+专业+班级}
成绩库=学号+课程号+分数
课程库=课程号+课程名+学分
学生信息=学号+姓名+性别+年龄+专业+班级
考试成绩=学号+课程号+分数
学号=”00001”...”99999”
姓名=2{汉字}4
B、子图必须继承父图的输入与输出流
C、父图与子图相应的输入输出数据流名字保持一致
D、子图可以自己的输入输出数据流
12、DFD的每个加工都必须有(A)。
A、一个输入和输出数据流B、一个输入数据流
C、一个输出数据流D、一个输入或输出数据流
13、需求分析是分析员经了解用户的要求,认真细致地调研、分析,最终建立目标系统的逻辑模型并写出(B)的过程。