软件工程课后习题参考答案Word文档下载推荐.docx

上传人:b****1 文档编号:5787806 上传时间:2023-05-05 格式:DOCX 页数:27 大小:42.58KB
下载 相关 举报
软件工程课后习题参考答案Word文档下载推荐.docx_第1页
第1页 / 共27页
软件工程课后习题参考答案Word文档下载推荐.docx_第2页
第2页 / 共27页
软件工程课后习题参考答案Word文档下载推荐.docx_第3页
第3页 / 共27页
软件工程课后习题参考答案Word文档下载推荐.docx_第4页
第4页 / 共27页
软件工程课后习题参考答案Word文档下载推荐.docx_第5页
第5页 / 共27页
软件工程课后习题参考答案Word文档下载推荐.docx_第6页
第6页 / 共27页
软件工程课后习题参考答案Word文档下载推荐.docx_第7页
第7页 / 共27页
软件工程课后习题参考答案Word文档下载推荐.docx_第8页
第8页 / 共27页
软件工程课后习题参考答案Word文档下载推荐.docx_第9页
第9页 / 共27页
软件工程课后习题参考答案Word文档下载推荐.docx_第10页
第10页 / 共27页
软件工程课后习题参考答案Word文档下载推荐.docx_第11页
第11页 / 共27页
软件工程课后习题参考答案Word文档下载推荐.docx_第12页
第12页 / 共27页
软件工程课后习题参考答案Word文档下载推荐.docx_第13页
第13页 / 共27页
软件工程课后习题参考答案Word文档下载推荐.docx_第14页
第14页 / 共27页
软件工程课后习题参考答案Word文档下载推荐.docx_第15页
第15页 / 共27页
软件工程课后习题参考答案Word文档下载推荐.docx_第16页
第16页 / 共27页
软件工程课后习题参考答案Word文档下载推荐.docx_第17页
第17页 / 共27页
软件工程课后习题参考答案Word文档下载推荐.docx_第18页
第18页 / 共27页
软件工程课后习题参考答案Word文档下载推荐.docx_第19页
第19页 / 共27页
软件工程课后习题参考答案Word文档下载推荐.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

软件工程课后习题参考答案Word文档下载推荐.docx

《软件工程课后习题参考答案Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《软件工程课后习题参考答案Word文档下载推荐.docx(27页珍藏版)》请在冰点文库上搜索。

软件工程课后习题参考答案Word文档下载推荐.docx

非功能需求可作用于一个或多个功能需求,例如

非功能需求可作用于一个或多个功能需求

其中,非功能需求1作用于功能需求1和功能需求3等;

非功能需求2作用于功能需求2等。

P24

8、有哪几种常用的初始需求发现技术?

有5种常用的需求发现技术:

自悟、交谈、观察、小组会和提炼。

P26

9、简述需求规约的3种基本形式。

(1)非形式化的需求规约。

非形式化的需求规约即以一种自然语言来表达需求规约,如同使用一种自然语言写了一篇文章。

(2)半形式化的需求规约。

半形式化的需求规约即以半形式化符号体系(包括术语表、标准化的表达格式等)来表达需求规约。

(3)形式化的需求规约。

形式化的需求规约即以一种基于良构数学概念的符号体系来编制需求规约,一般往往伴有解释性注释的支持。

P29

10、简述软件需求规约的内容和作用。

软件需求规约的内容有:

引言、总体描述、特定需求、附录、索引。

P28

需求规约的作用可概括为以下4点:

1)需求规约是软件开发组织和用户之间一份事实上的技术合同书,是产品功能及其环境的体现。

2)对于项目的其余大多数工作,需求规约是一个管理控制点。

3)对于产品/系统的设计,需求规约是一个正式的、受控的起始点。

4)需求规约是创建产品验收测试计划和用户指南的基础。

P31

11、简述需求规约在项目开发中的基本作用。

12、简述需求规约和项目需求的不同。

需求规约和项目需求是两个不同的概念。

需求规约是软件开发组织和用户之间一份事实上的技术合同书,即关注产品需求,回答“交付给客户的产品/系统是什么”;

而项目需求是客户和开发者之间有关技术合同——产品/系统需求的理解,应记录在工作陈述中或其他某一项目文档中,即关注项目工作与管理,回答“开发组要做的是什么”。

P30

13、何谓模块耦合?

简述模块耦合的类型。

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

内容耦合:

当一个模块直接修改或操作另一个模块的数据,或一个模块不通过正常入口而转入到另一个模块时;

公共耦合:

两个或两个以上的模块共同引用一个全局数据项;

控制耦合一个模块通过气喘吁吁向另一个模块传递一个控制信息,接收信号的模块根据信号值进行适当的动作;

标记耦合:

若一个模块A通过接口向两个模块B和C传递一个公共参数;

数据耦合:

模块之间通过参数来传递数据。

14、何谓模块内聚?

简述模块内聚的类型。

指一个模块内部各成分之间相互关联程度的度量。

偶然内聚:

一个模块的各成分之间基本不存在任何关系;

逻辑内聚:

几个逻辑上相关的功能被放在同一个模块中;

时间内聚:

一个模块完成的功能必须在同一时间内执行,但这些功能只是因为时间因素关联在一起;

过程内聚:

一个模块内部的处理成分是相关的,而且这些处理必须以特定的次序执行;

通信内聚:

一个模块的所有成分都操作同一数据集或生成同一数据集;

顺序内聚:

一个模块的各个成分和同一个功能密切相关,而且一个成分的输出作为另一个成分的输入;

功能内聚:

最理想的内聚,模块的所有成分对于完成单一的功能都是基本的。

功能内聚的模块对完成其功能而言是充分必要的。

15、何谓模块的控制域和模块的作用域?

并举例说明

答:

控制域:

模块本身以及所有直接或间接从属于它的模块的集合。

作用域:

受该模块内的一个判定所影响的所有模块的影响

16为了表达系统功能模型,结构化分析方法给出了哪些基本概念?

他们是如何表示的?

其基本作用是什么?

使用中应注意哪些问题?

答:

给出的基本概念:

数据流、加工、数据存储、数据源和数据潭。

表示方法:

(注:

表示方法都是图形,请按文字提示画图)数据流表示方法:

方向向右的箭头;

加工的表示方法:

椭圆;

数据存储表示方法:

两条平行线;

数据源表示方法:

一个长方形;

数据源和数据潭表示方法:

两个并列的长方形。

作用:

数据流:

用于表达在分析中所使用的、用于表达“客体”的信号。

加工:

用于表达在分析中所使用的、用于表达“处理”的信号。

数据存储:

用于表达在分析中所使用的、用于表达“结构化客体”的信号。

数据源和数据潭:

表示系统的环境,可以使用它们和相关数据流来定义系统的边界,表达系统/产品“边界”的信息。

17以结构化分析方法建立的系统功能模型由哪些部分组成?

每一部分的基本作用是什么?

组成部分:

基本作用:

(同上面第一小题里的“作用”)

18解释结构符“+”、“|”、“{}”的含义,并举例说明。

顺序结构是指数据A是由数据B和数据C顺序构成的,记为“+”。

例:

学生成绩=姓名+姓名+性别+学号+科目+成绩。

选择结构是指由数据A或是由数据B0或是有数据C0定义的,即数据B不可能同时是B0C0,并记为“|”。

性别=男|女。

重复结构是指数据A是由多个重复出现的数据B构成,并记为“{}”。

学生成绩表={学生成绩}。

19就一个特定系统而言,系统功能模型与系统模型的主要区别是什么?

区别:

系统功能模型分为数据流、加工、数据存储、数据源和数据潭这四部分组成。

系统模型分为两类:

一类称为概念模型,描述了系统是什么;

另一类系统称为软件模型,描述了实现概念模型的软件解决方法。

20简述结构化方法总体设计的任务及目标。

任务:

在需求分析的基础上,定义满足需求所需要的结构。

目标:

建立系统的模块结构。

21简述结构化方法详细设计的任务及目标。

具体描述模块结构图中的每一模块,即给出实现模块功能的实施机制,包括一组例程和数据结构,从而精确地定义了满足需求所规约的结构。

将总体设计阶段所产生的系统高层结构映射为以这些术语所以澳大的低层结构,也是系统的最终结构。

22简述变换设计与事务设计之间的区别。

变换设计的目标是将变换型数据流图映射为模块结构图,而事务设计的目标是将事务型数据流图映射为模块结构图。

23简述启发式规则的基本原理。

启发式规则“基于高内聚低耦合的原理,采用一些经验性的启发式规则,对初始的模块结构图进行精化,形成最终的模块结构图”。

启发式规则包括:

1)改进软件结构,提高模块独立性。

2)力求模块规模适中。

3)力求深度、宽度、扇出和扇入适中。

4)尽力使模块的作用域在其控制域之内。

5)尽力降低模块接口的复杂度。

6)力求模块功能可以预测。

24简述依据一个系统的DFD,将其转换为MSD的基本思路。

结构化设计方法在分类DFD的基础上,基于自顶向下、功能分解的设计原则,定义了两种不同的“映射”,即变换设计和事务设计。

其基本步骤是,首先将系统的DFD图首先转化为初始的模块结构图,再基于“高内聚低耦合”这一软件设计原理,通过模块化,将初始的模块结构图转化为最终的、可供详细设计使用的模块结构图(MSD)。

25为什么说结构化分析与结构化设计之间存在一条“鸿沟”?

从软件方法学习研究的角度,结构化方法仍然存在一些问题,其中最主要的问题是仍然没有“摆脱”冯·

诺依曼体系结构的影响,捕获的“功能(过程)”和“数据”恰恰是客观失误的易变性质,由此建造的系统结构很难与客观实际系统的结构保持一致。

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

1上层数据流可以打包,实例研究数据流查询要求就是一个打包数据,并以*作一特殊标志。

上下层?

数据流之间的对应关系通过数据字典予以描述。

2为便于理解,把一幅图中图元个数尽量控制在7加减2个?

以内。

3检查与每个加工相关的数据流是否有太多的输入/输出数据流,并寻找可降低该加工接口复杂性?

的,对数据流进行划分的方法。

4分析数据内容,确定是否所有的输入信息都用于产生输出信息,相应的?

由一个加工产生的所有信息是否都能由进入该加工的信息导出。

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

最主要的问题是没有摆脱冯·

诺依曼体系结构的影响,捕获的功能过程和数据恰恰是客观事物的易变性质,由此建造的系统结构很难与客观实际系统的结构保持一致。

在某种意义上说就是这些问题促使面向对象方法学的产生和发展。

28.举例说明变换设计的步骤。

第一步,设计准备,复查并精化系统模型。

第二步,确定输入,变换,输出这三部分之间的边界。

第三步,第一级分解,系统模块结构图顶层和第一层设计。

第四步,第二级分解,自顶向下,逐步求精。

29.举例说明事务设计的步骤。

第二步,确定事务处理中心。

第三步,第一级分解,系统模块结构图顶层和第一层设计,以数据流图为基础,按自顶向下逐步细化的原则进行。

第二级分解自顶向下逐步求精。

30.一种软件开发方法学,应该由哪些基本部分组成?

包括结构化分析方法、结构化设计方法、结构化程序设计方法

31.为了表达客观事物,UML给出了哪些基本术语?

为了支持抽象分析和设计中的事物,UML给出了8个基本术语,即类、接口、协作、用况、主动类、构件、制品、结点,并给出了这些基本术语的一些变体。

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

这些术语之间是什么关系?

关联、泛化、细化和依赖,以及它们的一些变体。

.结构关系,继承关系,精化关系,依赖关系.

33.什么是对象的构成与表示?

并说明。

答类是一组具有相同属性、操作、关系和语义的对象的描述。

对象是类的一个实例

34.什么是类图的构成成分?

类图是可视化地表达系统表态结构模型的工具,通常接口、关联、泛化和依赖

35.什么是状态图的构成成分?

在规约一个状态时,主要涉及一下内容

(1)名字

(2).进入/退出效应.(3).do动作活动.(4).被延迟事件.

36.什么是顺序图的构成成分?

顺序图是一种交互图,即由一组对象以及按时序组织的对象之间的关系组成,其中还饮食这些对象之间所发送的消息

37.如何描述对象之间的关联语义?

关联是目录之间的一种结构关系,是对一组具有相同结构、相同链接的描述。

链是对象之间具有特定语义关系的抽象,实现之后的链接通常称为对象之间的链接.

38.用况之间有哪几种关系?

一个用况图通常包含6个模型元素,它们是主题、用况、参与者、关联、泛化、依赖

39.在什么情况下需要建立状态图?

状态图可用于创建有关系统(或系统成分)的行为生存周期模型,表达有关系纺(或系统成分)的一种动态结构,给出有关系统(或系统成分)在生存期间有哪些阶段、每一阶段可从事的活动以及对外所呈现的特征等方面的信息

40.在一个类的描述中,同时引入“操作”和“方法”的目的是什么?

表达模型化包之间的关系

41.为什么使用包?

如何划分包

包的最初来源是用例,包划分的最初来源是用例模型,对用例按功能分组,可以得到用例包。

用例包在分析阶段很自然的可以对应得到分析包,在分析阶段还可以找到其它的一些分析包,比如某个相对底层的服务(如用于表示持久化机制的包)。

分析包通常会对应到设计阶段的应用子系统,除此之外,还有其它的一些设计子系统,比如负责封装通讯机制的Corba服务子系统。

42.使用UML可以从那些角度来刻画一个系统的行为?

为什么?

静态、动态

43.在描述客观事物方面,面向对象方法与结构化方法提取信息的不同角度是什么?

各自的角度将对建造的系统模型产生什么影响?

结构化方法的提出,是基于看待客观世界的基本观点,即一切信息系统都是由信息流构成的,每一信息流都有自己的起点-数据源,有自己的归宿-数据潭,有驱动信息流动的加工,所谓信息处理主要表现为信息的流动。

结构化方法作为一种特定的软件开发方法学,是从系统分析和软件设计的一种思想工具。

面向对象方法认为,世界是由客体组成的,客体有自己的属性和活动规律,客体之间的相互依赖和相互作用构成了大千世界的各式各样系统。

所以就应充分运用人类认识客观世界、解决实际问题的思维方式和方法。

眠功效对象方法是一种根据客体之间的关系来建造系统模型的系统化方法。

44.比较面向对象方法与结构化方法在控制信息组织复杂性方面所引入的机制?

结构化方法主要体现在三个方面。

一、自顶向下,逐步求精:

把程序看成是一个逐步演化的过程。

把一个系统与程序看成是一层一层的。

例如:

户籍管理系统可以划分为:

户籍迁入迁出,人员迁入迁出,户籍注销,人员注销等几个子系统,而每个子系统又划分为接收用户信息,实施处理,提供返回信息等等部分。

二、模块化:

即将几个系统分成几个模块,每个模块实现特定的功能,最终整个系统由这些模块组成。

模块跟模块之间通过接口传递信息,模块最重要的特点就是独立性,模块之间还有上下层的关系,上层模块调用下层模块来实现一些功能。

三、语句结构化:

顺序结构、分支结构、循环结构,都是常用的语句结构。

面向对象方法主要有:

一、客观世界中的事物都是对象,对象之间存在一定的关系,并且复杂对象由简单对象构成。

二、具有相同属性和操作的对象属于一个类,对象是类的一个实例。

三、类之间可以有层次结构,即类可以有子类,其中,子类继承父类的全部属性和操作,而且子类有自己的属性和操作。

四、类具有封装性,把类内部的属性和一些操作隐藏起来,只有公共的操作对外是可见的,对象只可通过消息来请求其它对象的操作或自己的操作。

五、强调充分运用人在日常逻辑思维中经常采用的思想方法与原则。

抽象,分类,继承,聚合,封装,关联等。

45类与对象之间的关系,举例说明?

类是一组具有相同书、操作、关系、和语义的对象的描述,对象是类的一个实例。

一个类可以有多个属性,也可以没有属性。

而类的一个对象对其所属类的每一个属性应有特定的值。

46.关联与链之间的关系,试举例说明

关联是类目的一种结构关系,是对一组具有相同结构、相同链的描述,链是对象之间具有特定语意关系的抽象,实现之后的链通常称为对象之间的连接,关联用一条连接两个类目的线段表示,并可对其命名

47.何谓对象状态,如何描述一个对象的状态?

试举例说明

一个状态是类目的一个实例在其生存中的一种条件或情况,期间该实力满足这一条件,执行某一活动或等待某一消息;

在UML中,通常把一个状态表示成一个具有圆角的矩形,分为名字栏和内部转换栏,主要包括:

名字,是一个表示状态的文本串,作为状态名;

进入/退出效应,为了有效地抽取一个对象的状态,控制状态抽取的复杂性,UML在规约一个状态时引入进入/退出效应;

状态内部转移,是指没有导致该状态改变的内部转移;

do动作或活动,是指状态中一动作或活动没有完成,就一直执行之,并当该动作或活动完成时,可能会产生一个完成事件,导致该状态的转移。

48.何谓组合状态?

举例说明之

含有子状态的状态称为组合状态,组合状态包含两种类型的字状态机,即顺序子状态和并发子状态机

49何谓非正交子状态机,并简述非正交子状态机的转入与转出

非正交子状态机就是顺序子状态机

50.何谓正交子状态机,并简述正交子状态机的转入与转出

正交子状态就是并发子状态机

51.何谓事件?

对信号事件和调用事件作一比较

事件是指对确定的时空内一个有意义的规约信号;

事件是指消息的一个类目,是一个消息类型,调用事件是指对象接受到一个操作的请求,信号事件是一种异步事件,信号通常由状态处理机,调用事件往往是一个同步事件,即发送者和接受者都处在该操作执行期间的一个汇合点,发送者的控制流一直被挂起,直到该操作执行完成

52何谓顺序图中的控制操作子?

为了控制交互行为描述的复杂性,以便更清晰地表达顺序图中的复杂控制,UML给出了4种最常用的控制操作子;

例如,选择执行操作子:

该控制操作子记为“Opr”,由两部分组成,条件执行操作子:

该操作子记为“alt”,控制体通过水平线将其分为一部分,每一部分表示一个条件分支,每一分支有一个监护条件,并发执行操作子:

该操作子记为“par”,该控制操作子的体通过水平线将其分为多个部分,迭代执行操作子:

该操作子记为“loop”,其中一个监护条件出现在控制体中一条生命线的顶端

53何谓顺序图中的控制操作子?

试举例说明。

为了控制交互行为描述的复杂性,以便更清晰地表达顺序图中的复杂控制,给出了个个控制操作子,选择、条件、并发、迭代操作控制子。

54.演化模型与“RUP增量、迭代开发”之间关系

RUP迭代、增量式开发是演化模型的一个变体,即规定了“大的”迭代数量-4个阶段,并规定了每次迭代的目标初使阶段:

获得与特定腹部和平台无关的系统体系结构轮廓,以此建立产品功能范围;

编制实例业务实例,从业务角度指出该项目的价值,减少项目主要的错误风险;

精华阶段:

通过捕获并描述系统的大部分需求,建立系统体系结构基线的第一个版本,主要包括用况模型和分析模型,减少次要的错误风险,到该阶段未,就能够估算成本、进步,并能详细地规划构造阶段;

构造阶段:

通过演化,形成最终的系统体系结构基线,开发完整的系统,确保产品可以开始向客户交付,即具有初始操作能力;

移交阶段:

确保有一个实在的产品发布给用户群。

期间培训用户如何使用该软件。

与UML之间关系

RUP与UML是一对“姐妹”,它们构成了一种特定的软件开发方法学。

其中,UML作为一种可视化建模语言,给出了表达事物和事物之间关系的基本术语,给出了多种模型的表达工具;

而RUP利用这些术语定义了需求获取层、系统分析层、设计层、实现层,并给出了实现各层模型之间映射的基本活动以及相关指导。

56什么是特征(Teature)?

举例如何描述它。

从客户、用户、计划者、开发者想法和意愿中搜取特征,形成特征表。

特征是一个新的项及其简要描述

“按不同科目计算平均成绩”计算平均成绩:

按所学的不同科目计算每一个学生的期末考试平均成绩,给出分数段并描述其状态(如提议、批准、合并和验证等)、实施的代价及风险、重要程度以及对其他特征的影响等,特征可作为需求,并被转换为其它制品。

58.需求获取模型的基本组成

使用UML中的用况、参与者以及依赖等术语来抽象客观实际问题,形成系统的需求获取模型

59.建造一个系统需求获取模型的活动和任务,以及各活动的输入和输出

发现描述参与者和用况,输入:

业务模型或领域模型,补充需求,特征表;

输出:

用况模型[概述],术语表赋予用况优先级:

输入:

用况模型[概述],补充需求,术语表;

体系结构描述[用况模型视角];

精华用况:

用况[精化]构造人机接口原型:

用况[精华],用况模型[概述],补充需求,术语表;

人机接口原理;

用况模型结构化:

用况模型[精化]。

60.如何描述系统的参与者和用况?

举例说明

参与者:

发现参与者与描述参与者:

1)之前已经存在业务用况模型,可依据业务模型直接发现一些候选参与者,2)没有业务用况模型,即使存在领域模型,也需要系统分析人员与客户一起来标识系统参与者。

用况是系统向它的参与者提供结果(值)的功能块,表达参与者使用系统的方式,因此一个用况可用于规约系统可执行的、与参与者进行交互的一个动作序列,包括其中一些可选动作序列,并且用况还有自己的属性。

61.需求分析层及相关概念

在系统用况模型的基础上,创建系统分析模型以及在该分析模型视角下的体系结构描述,系统分析模型是系统的一种概念模型,解决系统用况模型中存在的二义性和不一致性问题,并以一种系统化的形式准确地表达用户的需求。

62.需求分析模型的基本组成

RUP的分析如同结构化分析,其目标之一是在一个特定的抽象层上建立系统分析模型。

为此,RUP首先给出了3个术语:

分析包、分析类和用况细化,用于表达需求中“大粒度”的概念,开发人员使用这些术语可以规约系统分析中所要使用的信息。

分析类:

是类的一种衍型,很少有操作和特征标记,而用责任来定义其行为,并且其属性和关系也是概念性的,包括:

边界类、实体类、控制类。

用况细化:

是一个针对一个用况,其行为可用多个分析类之间的相互作用来细化,并记为用况细化[分析]

分析包:

分析包是一种控制信息组织复杂性的机制,提供了分析制品的一种组织手段,形成了一些可管理的部分。

63.建造一个系统需求分析模型的活动和任务,以及各活动的输入和输出.

体系结构分析:

用况模型、补充需求、业务模型或领域模型、体系结构描述[用况模型];

分析包[概述]、分析类[概述]、体系结构描述[分析];

细化用况:

用况模型、补充需求、业务模型或领域模型、体系结构描述[分析];

用况细化[分析]、分析类[概述]对类分析:

用况细化[分析]、分析类[概述]输出:

分析类[完成];

对包进行分析:

系统体系结构描述[分析]、分析包[概述]输出:

分析类[完成]。

64需求分析模型对以后开发工作的影响

对设计中子系统的影响。

分析包一般将影响设计子系统的结构对设计类的影响。

分析包可以作为类设计时的规格说明。

对用况细化[设计]的影响。

用况细分[分析]对用况细化[设计]有两方面影响,一个是它们有乃至于为用况创建更精确的规格说明,另一个是当对用况进行设计时,用况细化[分析]可作为其输入。

65.需求获取模型与需求分析模型之间比较

语言描述不同:

客户语言与开发语言视图:

系统外与系统内

结构:

使用用况予以结构化,给出外部视角系统结构与使用衍型类结构化,给了部视角系统结构作用:

标注“系统应该做什么,不应该做什么”与可以做出开发者理解系统如何勾画、如何设计和如何实现基础问题:

可能存在冗余、不一致和冲突等问题与解决了上述问题捕获系统功能,包括体系结构方面具有意义的功能与给出细化系统功能,包括在体系结构方面具有意义的功能定义一些进一步需要在分析模型中予以分析用况与定义每一个用况细化。

66.设计层及相关概念

设计目标:

定义满足系统/产品分析模型所规约需求的软件结构基本术语:

设计子系统、设计类、用况细化[设计]、

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2