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

  • 格式:doc
  • 大小:38.50 KB
  • 文档页数:15

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

1年。软件开发的本质简介

A:软件开发的本质是实现问题空间和处理逻辑概念到解决空间和处理逻辑概念的映射P19 2。简要描述实现软件开发的基本方法

答:实现软件开发的基本方法是系统建模所谓的系统建模是指利用知识,通过抽象,给出系统的结构——系统模型P19

3。简要描述什么是模型以及软件开发中涉及的模型

答:模型是抽象的这种抽象是在由意图决定的抽象的角度和层次上对物理系统的描述,描述组件和组件之间的特定语义关系,还包括对系统边界的描述

软件开发中涉及的模型可以分为两类,一类是概念模型,它描述了什么是系统;另一种叫做软件模型,它描述了实现概念模型的软件解决方案。4.简要描述软件开发中涉及的两种主要技术

A:软件开发涉及的两大类技术是:一是解决软件开发逻辑,二是解决软件开发手段5.简述需求的基本性质和需求规定性

a:要求的基本性质:1)必要。用户需要这个要求2)不含糊,需求只能用一种方式来解释。3)可测量,这一要求可以测试4)可追溯性,这个需求可以从一个开发阶段追溯到另一个阶段5)可测量,需求是可测量的需求规格说明的基本性质:1)重要性和稳定性程度:根据需求的重要性和稳定性,对需求进行分级2)可修改:单个需求可以很容易地修改,而不会对其他需求产生太大影响。3)完成:没有遗漏任何要求4)一致:没有相互排斥的要求 6,软件需求分类简述

A:软件需求可分为两类:一类是功能需求,另一类是非公共需求,而非公共需求可分为性能需求、外部接口需求、设计约束和质量属性需求P23

功能需求1功能需求2功能需求3 7,说明了功能需求和非功能需求之间的基本关系

A:非功能性需求可以应用于一个或多个功能性需求,例如,非功能性需求可以应用于一个或多个功能性需求

非功能性需求1非功能性需求2

,其中非功能性需求1作用于功能性需求1和功能性需求3,等等。;非功能性需求2作用于功能性需求2,等等。P24 8,什么是一些常见的初始需求发现技术?

A:有5种常见的需求发现技术:自悟、对话、观察、小组会议和提炼P26 9。简述需求规约的三种基本形式

(1)非正式需求规范非形式需求规范意味着用自然语言表达需求规范,就像用自然语言写文章一样(2)半形式化需求规范半形式需求规范是指需求规范以半形式符号系统(包括术语表、标准化表达格式等)来表达。)(3)形式需求规格说明形式化需求规格说明是一个基于结构良好的数学概念来编译需求规格说明的符号系统,通常由解释性注释来支持P29 10。简要描述软件需求规范的内容和功能

A:软件需求规范的内容包括:介绍、概述、具体需求、附录和索引。P28 需求规格说明的功能可以概括如下:1)需求规格说明是软件开发组织和用户之间事实上的技术契约,是产品功能及其环境的体现2)对于项目的大部分剩余部分,需求规范是一个管理控制点3)需求规格说明是产品/系统设计的正式和受控的起点。4)需求规格是创建产品验收测试计划和用户指南的基础P311。简要描述需求规格说明在项目开发中的基本功能

a:需求规格说明的功能可以概括如下:1)需求规格说明是软件开发组织和用户之间事实上的技术合同,是产品功能及其环境的体现2)对于项目的大部分剩余部分,需求规范是一个管理控制点3)需求规格说明是产品/系统设计的正式和受控的起点。4)需求规格是创建产品验收测试计划和用户指南的基础P31 12。简要描述需求规范和项目需求之间的区别

A:需求规格说明和项目需求是两个不同的概念需求规范是软件开发组织和用户之间事实上的技术合同,它关注产品需求并回答“交付给客户的产品/系统是什么”;项目需求是客户和开发人员之间对技术合同-产品/系统需求的理解,应记录在工作说明书或其他项目文件中,即关注项目工作和管理并回答“开发团队应该做什么”P30

13,什么是模块耦合?简要描述模块耦合的类型

答:耦合是不同模块之间相互依赖的程序的度量

内容耦合:当一个模块直接修改或操作另一个模块的数据,或者一个模块在没有正常输入的情况下转移到另一个模块;

公共耦合:两个或多个模块共同引用一个全局数据项; 控制耦合的一个模块通过传输向另一个模块传输控制消息,接收信号的模块根据信号值执行适当的动作;标签耦合:如果模块A通过接口将一个公共参数传递给两个模块B和C;数据耦合:模块通过参数传递数据14.什么是模块内聚力?简要描述模块衔接的类型

A:模块内组件之间相关程度的度量偶然内聚:模块的组件之间基本上没有关系;逻辑衔接:几个逻辑上相关的功能被放入同一个模块;

时间内聚性:由一个模块完成的功能必须同时执行,但是由于时间因素,这些功能只能链接在一起;过程内聚性:模块中的处理组件是相关的,必须以特定的顺序执行。通信内聚性:模块的所有组件在相同的数据集上操作或生成相同的数据集;

序列内聚性:一个模块的每个组件都与同一个功能紧密相关,一个组件的输出作为另一个组件的输入;

功能内聚性:最理想的内聚性,模块的所有组件都是完成单一功能的基础具有内聚功能的模块是完成其功能所必需的。

15,模块的控制域和范围是什么?举例说明

a:控制域:模块本身和所有直接或间接从属于它的模块范围:受本模块中决策影响的所有模块的影响

16结构化方法给出了什么基本概念来表达系统功能模型?他们说了什么?它的基本功能是什么?使用时应该注意什么?

A:给出的基本概念:数据流、处理、数据存储、数据源和数据池表示:(注:表示方法均为图形,请根据文字提示绘制)数据流表示方法:向右箭头;加工的表示方法:椭圆;数据存储表示法:两条平行线;数据源表示:矩形;数据源和数据池的表示:两个平行的矩形角色:数据流:用于表示分析中使用的信号,用于表示“对象”处理:用于表示分析中使用的信号,用于表示“处理”数据存储:用于表示分析中使用的信号,以表示“结构化对象”数据源和数据池:指示系统的环境。它们和相关的数据流可以用来定义系统的边界,并表达系统/产品的“边界”信息。用结构化方法建立的

17系统功能模型的组成部分是什么?每个部分的基本功能是什么?答:组件:数据流、处理、数据存储、数据源和数据池基本功能:(与上面第一项中的“功能”相同)18解释结构符号“+”、“|”和“{}”的含义,并举例说明

A:序列结构是指数据A依次由数据B和数据C组成,并标记为“+”示例:学生成绩=姓名+姓名+性别+学生人数+科目+成绩选择结构由数据A或数据B0或数据C0定义,即数据B不能同时为B0 C0,并标记为“|”示例:性别=男性|女性重复结构是指数据A由多个重复数据B组成,并标记为“{}”示例:学生成绩表= {学生成绩}

19系统功能模型和特定系统的系统模型之间的主要区别是什么?答:区别:系统功能模型分为四个部分:数据流、处理、数据存储、数据源和数据池系统模型分为两种类型:一种叫做概念模型,描述系统是什么;另一种类型的系统称为软件模型,它描述了实现概念模型的软件解决方案。简要描述结构化方法总体设计的任务和目标任务:在需求分析的基础上定义满足需求所需的结构目的:建立系统的模块结构简要描述结构化方法详细设计的任务和目标 a:任务:具体描述模块结构图中的每个模块,即给出实现模块功能的实现机制,包括一组例程和数据结构,从而准确定义满足要求的指定结构目的:将总体设计阶段产生的系统的高层结构映射到澳大利亚大学的低层结构,这也是系统的最终结构。22简要描述转换设计和事务设计之间的区别

A:差异:转换设计的目标是将转换数据流图映射到模块结构图,而事务设计的目标是将事务数据流图映射到模块结构图

23启发式规则基本原理简介

A:启发式规则“基于高内聚力和低耦合的原则,采用一些经验启发式规则来细化初始模块结构图,以形成最终的模块结构图。”启发式规则包括:1)改进软件结构和模块独立性2)争取适度的模块规模3)争取适度的深度、宽度、扇出和扇入4)尽力使模块的范围在其控制范围内5)尽最大努力降低模块接口的复杂性6)争取可预测的模块功能

24简要描述了将系统的DFD转换为MSD的基本思想

A:基于DFD的分类以及自顶向下和功能分解的设计原则,结构化设计方法定义了两种不同的“映射”,即转换设计和事务设计。基本步骤如下:首先,将系统的DFD图转化为初始模块结构图,然后基于“高内聚、低耦合”的软件设计原则,通过模块化将初始模块结构图转化为最终模块结构图(MSD)进行详细设计

25为什么结构分析和结构设计之间存在“差距”?

答:从软件方法论研究的角度来看,结构化方法论仍然存在一些问题。最重要的问题是它没有“摆脱”冯·诺依曼建筑的影响。捕获的“功能(过程)”和“数据”正是客观错误的可变性。这样建立的系统结构与客观实际系统的结构很不一致。

26。举例说明了结构化方法给出的控制复杂性机制。

A: 1上层数据流可以打包。案例研究的数据流查询要求是以*作为特殊标记的打包数据。上层和下层数据流之间的对应关系由数据字典描述。为了便于理解,图片中图形元素的数量应尽可能控制在7±2以内。3.检查与每个处理相关的输入/输出数据流是否过多,并找到一种划分数据流的方法,以降低处理接口的复杂性4分析数据内容,以确定是否所有的输入信息都用于生成输出信息,以及由过程生成的所有相应信息是否都可以从进入过程的信息中导出

27。试析结构化方法在构建系统模型中的问题

答:主要问题是系统结构没有摆脱冯·诺依曼系统结构的影响。捕获的功能过程和数据正是客观事物的可变性。这样建立的系统结构很难与客观实际系统的结构保持一致。从某种意义上说,正是这些问题促使了面向对象方法的出现和发展。

28。说明转换设计的步骤

A:第一步是准备设计、审查和完善系统模型。第二步是确定输入、转换和输出之间的边界第三步,第一级分解,系统模块结构图顶层和第一级设计第四步,第二级分解,自上而下,逐步细化29.说明交易设计的步骤

A:第一步是准备设计、审查和完善系统模型。第二步是确定交易中心第三步,第一级分解,是系统模块结构图的顶层和第一级设计,基于数据流图,按照自上而下逐渐细化的原则进行。第二级分解是从上到下逐步细化的30.软件开发方法的基本组成部分是什么?

A:包括结构化方法、结构化设计方法、结构化编程方法31。UML给表达客观事物的基本术语是什么?为了支持抽象分析和设计,UML给出了8个基本术语,即类、接口、协作、用例、活动类、组件、产品、节点,并给出了这些基本术语的一些变体

32。为了表达客观事物之间的关系,UML给出了哪些基本术语?这些术语之间有什么关系?

a:关联、一般化、细化和依赖,及其一些变体33.物体的构成和表现是什么?并解释类

是一组具有相同属性、操作、关系和语义的对象的描述对象是类34的实例。类图的组成部分是什么?类图是可视化表达系统声明性结构模型的工具,通常是接口、关联、概括和依赖。状态图的组成部分是什么?

a:指定状态时,主要涉及

(1)名称(2)。进入/退出效应。(3)。做活动。(4)。延迟事件。36.序列图的组成部分是什么?