软件工程导论课后习题答案.pdf
《软件工程导论课后习题答案.pdf》由会员分享,可在线阅读,更多相关《软件工程导论课后习题答案.pdf(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、参考答案第1章一、选择题1 .D 2.C 3.B 4.D 5.B 6.A 7.D二、填空题1 .程 序 文 档 数 据2 .抽 象 模 块 化 信 息 隐 蔽 局 部 化 一 致 性 完 备 性 可 验 证 性3 .问 题 定 义 可 行 性 研 究 需求分析4 .软 件 生 命 周 期 模 型 顺 序 性 依 赖 性5 .制 定 计 划 风 险 分 析 实 施 工 程 客 户 评 价6 .结 构 化 分 析 结 构 化 设 计 结 构 化 程 序 设 计 数 据 流 自 顶 向 下,逐 步 求 精 功能的分解与抽象三、思考题1 .答:软件产品是一种无形的逻辑产品,是人们脑力劳动的结晶。软件产
2、品只能以程序、数据和文档的形式出现。其存储介质是磁盘、磁带或光盘。通过计算机的执行才能体现出来。与硬件产品的制造不同,软件产品的成本主要花在研制上,而产品的制造实质上是所开发产品的拷贝。软件产品不会像硬件产品一样磨损,但仍然需要维护,而且维护的成本很高。软件产品的开发主要靠脑力劳动,所以产品研制的成本很高,很难像硬件产品那样实现工业化生产。2 .答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。2软件工程导论概 括 地 说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件的日益增长的需 求;如何维护数量不断膨胀的软件。具体来说,软件危机主要有以下一些典型表现。对软件
3、开发成本和进度的估计常常很不准确。用户对所交付的软件系统不满意的现象时有发生。软件产品的质量往往靠不住。软件常常是不可维护的。软件文档资料通常不完整、不合格。软件的价格昂贵,软件成本在计算机系统总成本中所占的比例逐年上升。软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上日益增长的软件需求。3 .答:软件工程的基本目标是在给定的成本、进度等条件下,开发出满足用户需求的软件产品。简单来说,也就是要成功地建造一个大型软件系统。软件项目的成功主要是要达到以下几个目标:付出较低的软件开发成本;达到用户所要求的软件功能;取得较好的软件性能;所开发的软件易于移植、可重用性好;需要较低的软件维护
4、费用;能按时完成开发任务,及时交付使用;软件工程面临的主要问题是:软件费用、软件可靠性、软件维护、软件生产率和软件重用等。4 .答:软件工程的基本原理主要有以下七条:用分阶段的生命周期计划严格管理;坚持进行阶段评审;实行严格的产品控制;采用现代程序设计技术;结果应该能清楚地审查;开发小组的人员应该少而精;承认不断改进软件工程实践的必要性。5 .答:软件工程的原则主要有以下几点:(1 )抽 象:抽象是指抽取事物最基本的特征和行为,忽略与问题无关或关系甚少的其他细节。(2)模 块 化:模块化就是把一个问题划分成若干个较小的、较易解决的模块,每个参考答案3模块完成一个子功能,将这些模块组装成一个整体
5、即可完成指定的功能。(3)信 息 隐 蔽:将模块内部的信息(数据和操作的细节)封 装 起 来,其他模块只能通过该模块对外界提供的接口来访问该模块。(4)局 部 化:在一个物理模块内集中逻辑上相互关联的计算机 资 源,即按照特定的目的把相互关联的事物放在一起。(5)一 致 性:整个软件系统(包括程序、数据和文档)应能满足以下一些一致特性:一致的概念、符号和术语;程序内部接口保持一致;软件与硬件环境的接口保持一致:系统规格说明与系统行为保持一致;用于形式化规格说明的公理系统保持一致。(6)完 备 性:软件系统不丢失任何重要成分完全实现系统所需功能的程度。(7)可 验 证 性:软件开发过程中的各个阶
6、段的工作应该具有可验证性,以确保软件系统的正确性。软件系统的自顶向下、逐层分解应遵循使系统易检查、易测试、易评审的原则。6.答:软件生命周期是指软件产品从形成概念开始,经过定义、开发、使用和维护,直到最后退役的全过程。软件生命周期理论从时间角度对软件开发和维护的复杂问题进行分 解,把漫长的软件生命周期划分为若干个相对独立的阶段,逐步完成每个阶段的任务。一般来说,软件生命周期包括软件定义、软件开发、软件的使用与维护3个阶段。软件定义的基本任务是弄清待开发的软件系统要做什么,即软件开发工程必须完成的总目标。软件开发过程即软件的设计和实现,软件开发过程就是软件开发人员按照需求规格说4软件工程导论明的
7、要求,把抽象的系统需求实现到具体的程序代码和相关文档等,并经过严格测试产生最终软件产品的过程。软件开发结束后,经过用户确认验收,便可安装到特定的用户环境中供用户使用。软件的使用即软件的运行。软件投入实际使用以后的主要任务是确保软件持久满足用户的要求。软件的维护就是为了延长软件的寿命而对软件产品进行修改或对软件需求变化做出响应的过程。7.答:根据作用和目的的不同,原型可以分为探索型、实验型和进化型。(1 )探索型主要针对开发目标模糊,用户和开发者对项目都缺乏经验的情况,目的是要弄清对目标系统的要求,确定所希望的特性,并探讨多种方案的可行性。(2 )实验型主要用于大规模开发和实现之前,考核方案是否
8、合适,规格说明是否可靠。(3 )进化型将原型方法的思想扩展到软件开发的全过程,目的是将系统建造得易于变 化,在改进原型的过程中满足用户需求的变动,逐步将原型进化成为最终系统。四、上机操作题一个完整的软件应该包括程序、文档和数据。其中程序包括源程序代码和所发布的可执行文件。文档包括相关技术文档和用户文档,如可行性研究报告、需求规格说明书、详细设计说明书、项目开发计划、软件测试计划以及用户手册等。有关数据的数据库设计说明书、数据要求说明书等。参考答案5第 2 章一、选择题1.ABCD 2.ABCD 3.ABCD 4.ABCD 5.ACD 6.二、填空题1.软 件 硬 件 人 数 据 库 文 档 过
9、 程2.工程项目名称 使用方 开发方 对问题的概括定义 项目的目标3.技 术 可 行 性 经 济 可 行 性 运 行 可 行 性 法 律 可 行 性4.5%-10%5.功 能 分 解 法 数 据 流 法 信 息 造 型 法 面 向 对 象 法三、思考题1.答:(1)确定项目的规模和目标。(2)研究正在运行的系统。(3)建立新系统的高层逻辑模型。(4)导出和评价各种方案。(5)推荐可行的解决方案。(6)编写可行性研究报告。2.答:(1)方案选择。B 7.C项目的规模(2)选择的系统配置。6软件工程导论(3)选择方案的标准。(4)各子系统的可行性。(5)成本/效益分析。(6)技术风险评价。(7)有
10、关法律问题。(8)结论意见。3.答:成本/效益分析是从经济角度来评价开发一个项目是否可行,是属于经济可行性研究方面的。我们对项目进行成本效益分析,根据分析的成本与效益,两者进行权衡比较。效益有经济效益和社会效益,也称有形效益和无形效益。成本有开发成本和开发成功后的运行成本,对后者的考虑需要考虑系统预期的使用寿命。进行成本估算一般有这些方法:经验估算法、因素估算法、WBS基础上的全面详细估算。4.答:系统评审是对系统规格说明书的评价,对系统分析出来的系统规格说明书是否 正 确,方案是否可行,存在的风险等等。开发人员和用户必须对其做出判断以确定是否进行该项目,怎样进行。它通常有管理评审和技术评审两
11、部分,分别评价项目的社会性和开发项目的技术力量。5.答:基于计算机的系统是由软件、硬件、人、数据库、文档、过程这些系统元素组 成,以实现某种方法、过程或借助处理信息进行控制的元素的集合。任一个基于计算机的系统都能够模型化为这样的一个信息交换,即“输 入-处 理-输 出参考答案7四、上机操作题统 计某软件的Inp、Out、Inq、Maf、In f值并记录下来,然后分析软件的复杂性,查出对应的系数值,计算出FP值。第 3 章一、选择题1.A 2.B 3.ABCD 4.ABCD 5.B 6.C 7.A 8.D9.B二、填空题1.问 题 识 别 需 求 分 析 制 定 规 格 说 明 书 评 审2.获
12、得当前系统的物理模型抽象出当前系统的逻辑模型建立目标系统的逻辑模型3.数据模型 功能模型 行为模型4.数据流 数据文件 数据项 加工5 .软件是做什么的6 .软件系统的功能三、思考题1.答:数据流图有四种基本符号,分 别 为:A数据输入的源点和数据输出的汇点,B加 工,C数 据 流,D数据存储文件。四种符号分别有相应的画法。2.答:画数据流图的原则其实就是它的步骤,遵循这样的一个原则有助于数据流图的绘画。首先画系统的输入/输出。将所要画的系统看作一个整体,确定这个整体与外界的联系。8软件工程导论分析哪些是从外界获取,哪些是提供给外界的,就分别是输入和输出。其 次,画系统的内部。这是画数据流图的
13、主要部分。一般遵循自顶向下,由外向内的原则。3.答:数据流图是结构化分析的基本工具,在需求分析中用它来建立现存/目标系统的数据处理模型。它可以描述系统的分解,即系统由哪些部分组成,各部分的联系,以及数据流的转换加工过程等,是一种很直观的方式。而用于软件设计时,这些处理将是生成最终程序功能模块的基础。4.答:数据字典是一种描述工具,它包括对词条的描述、数据结构的描述和加工逻辑说明。数据模型在描述细节、特殊情况等方面有所不足,比如数据流图描述了系统的组成 和 分 解,但并没有说明系统各个成分的含义,所以必须为数据流图中出现的每一个成分给 出 定 义,因此有必要配合文字的数据说明。数据字典就是这种数
14、据说明,两者结合才完整地描述了一个系统。5.答:状 态 图(状态转换图)用来描述行为模型,行为模型也称状态机模型,通过描述系统的状态以及引起状态转换的事件来表示系统的行为。状态图有事件、状态、行为等基本元素。事件是引起状态转换的控制信息,它发生在某个特定的时刻,引起系统从一个状态转换到另一个状态。6.答:需求分析的原则是:必须能够表达和理解问题的数据域和功能域;按自顶向下、逐层分解的方式对问题进行分解和不断细化;要给出系统的逻辑视图和物理视图。需求分析的任务是发现、求精、建模和规约目标系统的过程。包括由系统工程师建立参考答案9并在软件项目计划中细化的软件范围、创建所需数据信息和控制流、操作行为
15、的模型,以及分析可选择的解决方案、并将它们分配到各软件元素中去。7.答:软件需求分析中,常用的分析方法有面向数据流图的结构化分析方法(SA)面向数据结构的Jackson方 法(JSD)面向对象的分析方法(00A )用于建立动态模型的状态迁移图或Petri网等。而且通常会建立模型以方便问题的表达和理解,有行为模型、功能模型、数据模型。在这三种模型中分别采用的表达工具有E-R图、数据流图、状 态 图,同时还有数据字典。8.答:结构化分析方法利用抽象模型的概念,对需求的功能自顶向下逐层分解,使复杂的系统分解成足够简单,能够清楚地被理解和表达的若干子系统,便于软件结构设计为止。结构化对问题空间的理解采
16、用分层的方法,逐 层 分 解,由抽象到具体。9.答:需求分析是一个包括创建和维持系统需求文档所必需的一切活动的过程,主要步骤包括需求导出和分析、需求描述和文档编写、需求有效性确认这几个通用的高层需求过程活动。需求导出和分析是软件开发人员和客户,以及系统最终用户一起调查系统应用领域的活 动,该活动是一个非常困难的过程。需求描述是对系统开发需求的正式表达,以需求规格说明文档的形式给出。需求确认是检验需求能否反映客户的意愿。它和分析有很多共性,都要发现需求中的问题。四、上机操作题1.10软件工程导论(1)确 定 该 系 统 的 数 据 成 分:数 据 源 点:负责入库、出 库 事 务 给 订 货 系
17、 统 的,所以应该是仓库管理员。数 据 终 点:采 购 员,接受每天的订货报表。数 据 流:事 务、订货。数 据 存 储:订货信息、库存清单。处 理:事务处理、产生报表。(2 )画 出 系 统 模 型:画出系统的数据源点、处 理、数 据 终 点,该订货系统的基本模型的数据流图如图A-1所 示。图A-1基本模型的数据流图(3 )求 精:把 该 系 统 的 基 本 功 能 细 化,描绘系统的主要功能。有“处理事务”和“产生报表”两大主要功 能,如 图A-2所 示。图A-2细化的数据流图参考答案11(4)进一步求精:对该系统的主要功能进一步求精,如 图A-3所示。图A-3订货系统的数据流图2.如 图
18、A-4所示。幺字:订货报表别名:订货信息描述:次箭要订货的零件表定义:订货报表=零件编号+零件名称+订货数比上价格卜1 供应并)3位置:输出到打印机名字:零件端号别名:无描述:惟标识个零件的关键组成定义:零件编号=8位字符位置:订货报去、订货信息、库存清单名字:订货数城别名r无描述:某种零件 诙订货的数盘定义:订货数量=1(阿拄伯数字也 置:订宽报表、订货信息名字:价格别名:价格范用描述:某个零件目前参乃价格或者上卜限定义:价格=1(零件单价2位置:订货报农、订货信息,阵存清中图A-4订货报表的数据字典12软件工程导论3.如 图A-5所示。图 A-5 复印机软件的简化状态图4.如 图A-6所示
19、。图 A-6 图书管理系统实体-关系图5.如 图A-7所示。挂断图 A-7 电话系统的状态转换图参考答案13第4章一、选择题1 .B 2.B 3.C 4.B 5.A二、填空题1 .模块间的耦合性模块的内聚性2 .耦 合 性 内 聚 性3 .功能内聚4 .时间内聚5 .判 断 调 用 循 环 调 用6 .变 换 流 事 务 流三、思考题1 .答:模块独立性是指每个模块只完成某一特定的子功能,而与其他模块之间的联系简单。换 句 话 说,如果一个模块只具有某单一的功能,而与其他模块没过多的联系,那么,我们就说该模块具有较高的模块独立性。2 .答:耦合性是指模块之间相互联系的紧密程度。模块之间的联系越
20、紧密,耦合度就 越 高,其独立性也就越差。模块间的耦合性可分为如下七种类型:非直接耦合、数据耦合、标记相合、控制耦合、外部耦合、公共耦合和内容耦合。3 .答:内聚性是指模块内部各元素之间联系的紧密程度。模块内部各元素之间的联系 越 紧 密,内聚性就越高,其独立性也就越强。模块的内聚性可分为如下七种类型:功能内聚、信息内聚、通信内聚、过程内聚、时间内聚、逻辑内聚和巧合内聚。14软件工程导论4.答:变换流型的数据流图一般由输入、变 换(主 加 工)和输入三部分组成。在输入 部 分 中,系统输入端的数据流称为物理输入,物理输入通过预处理、编辑和格式转换等辅助性加工后,转换成逻辑输入。接着数据流通过逻
21、辑输入进入主加工,从主加工流出的即为逻辑输出。逻辑输出通过预处理、编辑和格式转换等辅助性加工后,转换成物理输出。这 样,对数据流图进行划分,从物理输入到逻辑输入部分构成了系统的输入流,从逻辑输出到物理输出部分构成了系统的输出流,而位于它们之间的部分便是变换中心。5.答:实现事务流型的数据流图到程序结构图的转换有如下几个基本步骤:(1)确定事务中心。(2 )将事务流型的数据流图转换为仅有高层模块的结构图。(3)进一步分解结构图的接收模块和发送模块。四、上机操作题1,其对应的程序结构图如图A-8所示。图 A-8 变换流型的程序结构图2.该系统的数据流图如图A-9所示。参考答案15图A-9控制流向后
22、判定(unti l)型循环第51一、选择题1 .C 2.C 3.C 4.C 5.D二、填空题1 .程 序 框 图 加 工 处 理 步 骤 逻 辑 条 件2 .顺 序 型 选 择 型 先 判 定(wh i le)型循型选择3 .二维树型4 .伪码模块算法设计及处理细节5,面向数据结构三、思考题1 .答:在程序的结构化设计中,必须遵守以下几点原则:(1 )程序语言中尽量少用g oto语 句,这样才使得程序结构更加清晰,便于阅读和查多情况(c a se )错。(2 )采用单入口和单出口的控制结构,使得程序的动态执行能与其静态结构相一致,从而有利于对程序的理解。而要实现单入口和单出口的控制结构,则须要
23、采用顺序、选择16软件工程导论和 循 环 这 三 种 基 本 控 制 结 构,使得程序结构简单化。(3 )利于自顶向下逐步求精的方法进行程序设计。2 .答:N-S图 具 有 如 下 特 点:(1 )图 形 的 条 理 清 晰,易于理解。(2 )便于确定全局数据和局部数据的作用域。(3 )有效地限制 了 随 意 地 使 用控制转移,符合了结构化程序设计的原则。(4 )易于表现模块的层次结构及其嵌套关系。3 .答:P A D图 具 有 如 下 特 点:(1 )对于程序结构的描述更加清晰、直观。(2)支持自顶向下、逐步求精的设计方法。(3 )描 述 出 来 的 图 形 层 次 结 构 分 明,其 中
24、 每 条 纵 线 代 表 一 层,给人一种很直观的层次 感,增强了其可读性。(4 )可 采 用 相 关 软 件 工 具 将P A D图 转 化 为 高 级 语 言 程 序,通 过 这 种 自 动 化 的 方 式,可大大提高了软件的生产率。4 .答:J a c k son方 法 的 核 心 思 想 是:对输入输出 的 数 据 结 构 进 行 分 析,并按照一定的规则来导出程序的结构。5 .答:对 应 的P A D图 如 图A-1 0所示。参考答案17图 A-10 PAD 图四、上机操作题其对应的程序流程图如图A-11所示。图 A-11图书管理系统程序流程图第 6 章一、选择题1.CB 2.A3.
25、D 4.C 5.B 6.C 7.D二、填空题1.属 性 操 作 数 据 状 态 方 法 行 为18软件工程导论2.类 对 象3.消息4,继承5.对 象 模 型 动 态 模 型 功 能 模 型6.主 题 层 结 构 层 服 务 层 属 性 层7.模 块 化 信 息 隐 蔽 强 内 聚 性三、思考题1.答:面向对象的基本概念主要包含以下几个要点:(1)面向对象方法认为客观世界是由各种对象组成的,任何事物都是对象,复杂的对象可以由比较简单的对象以某种方式组合而成。(2)面向对象方法把所有对象都划分成各种类(Class),每个类都定义了一组数据和一组方法。数据表示的是对象的静态 属 性,表明对象的状态
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 导论 课后 习题 答案
限制150内