《软件工程》作业及参考答案2
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程作业及参考答案
第三、四章
一、填空题
1.需求分析的基本任务是准确的回答(系统必须做什么)。
2.需求分析阶段研究的对象是软件项目的(用户要求)。
3.结构化分析方法就是(面向数据流)自顶向下逐步求精进行需求分析的方法。需求分析
的目的之一就是把数据流和数据存储定义到(元素级)。
4.数据流图的基本符号包括(数据输入的源点和数据输出的汇点)、(加工)、(数据流)、
(数据存储文件)。
5.数据流图和(数据字典)共同构成系统的逻辑模型。
6.数据字典的内容包括六项:(数据流)、(数据项)、(数据结构)、数据存储、处理逻辑、
外部实体。
7.在需求分析阶段常用的图形工具有(层次方框图)、(Warnier图)、(IPO图)。
8.需求分析应交付的主要文档是(需求规格说明书)。
9.概要设计过程中要先进行系统设计、(复审系统计划)与(需求分析),确定系统具体
的实施方案;然后进行(结构设计),确定软件结构。
10.层次结构的上一层是下一层的(抽象),下一层是上一层的(求精)。
11.模块独立的概念是(模块化)、(抽象)、(信息隐蔽)和局部化概念的直接结果。
12.模块耦合的强弱取决于(模块间接口的复杂程度)、(调用模块的方式)和通过接口的信
息。
13.设计出软件的初步结构以后,应该进一步分解或合并模块,力求降低(耦合)提高(内
聚)。
14.在一段程序中,将多次出现的一组语句设计为一个子程序,供多个部分调用,这种情况
出现的内聚称为(偶然内聚)。
15.一个模块直接调用的模块数目称为模块的(扇出),一个模块被多少上级模块直接调用
称为模块的(扇入)。
16.JSD是一种典型的(面向数据结构)的分析设计方法。
17.Jackson图除了可以表达(程序结构外)外,还可以表达数据结构。
18.对于下列伪码,画出改进的Jackson图()
A seq
B
C
D
A end
二、判断题
1.在软件开发中,采用原型系统策略的主要困难是时间问题。(╳)
2.数据流图从数据传递和加工的角度,以图形的方式描述数据流从输入到输出的传输变换
过程。(√)
3.模块越多,开发成本越小。(╳)
4.耦合是指一个模块内各个元素彼此结合的紧密程度。(╳)
5.内聚是指一个软件结构内各个模块之间互连程度的度量。(╳)
6.在软件设计中应该尽量设计紧密耦合的系统。(╳)
7.控制耦合往往可以通过分解由数据耦合来代替。(√)
8.内容耦合又称为病态耦合,在很多高级程序设计语言中不允许出现任何形式的内容耦
合。(√)
9.对于DFD图的划分,主要依赖设计人员的经验,一切都应根据设计人员的经验确定。
(╳)
10.一笔交易、一个动作、甚至操作人员按一个按钮都可以看做是一次事物。(√)
11.如果一个模块内的处理元素是彼此相关的,并且以一个特定的次序执行,则这种内聚称
为时间内聚。(╳)
12.概要设计阶段完成的主要文档是概要设计说明书。(√)
三、多项选择题
1.需求分析阶段结束后,应交出的文档中应该包括(ABC )。
A.数据流图
B.数据字典
C.简明的算法描述
D.项目的经费预算
2.关于数据流图正确的描述是(ACD )。
A.数据流图是结构化系统分析的主要工具。
B.在数据流图中,*号标识相邻的数据流只取其一。
C.加工是以数据结构或数据内容作为加工对象的。
D.数据流图的主图中必须包括全部四种基本元素。
3.关于数据字典正确的描述是(ABCD )。
A.数据字典最重要的用途是作为分析阶段的工具。
B.实现数据字典三种常见的方法有全人工过程、全自动过程、混合过程。
C.数据字典应该容易更新和修改。
D.可以采用卡片形式书写数据字典。
4.(ABCD )可以作为模块。
A.过程
B.子程序
C.函数
D.宏
5.下列关于模块的描述,正确的是(ABCD )。
A.具有独立的模块软件比较容易开发出来。
B.独立的模块比较容易测试和维护。
C.模块的独立程度可以通过内聚和耦合标定。
D.独立的模块可以完成一个相对独立的特定子功能。
6.耦合的强弱取决于(ABC )。
A.模块间接口的复杂程度。
B.调用模块的方式。
C.通过接口的信息。
D.模块内部各个元素彼此之间的紧密结合程度。
7.在公共环境耦合中,公共环境可以是(ABCD )。
A.全程变量。
B.共享的通信区。
C.内存的公共覆盖区。
D.存储介质上的文件。
8.下列(AD )属于内容耦合。
A.一个模块有多个入口。
B.两个模块彼此之间只通过传递参数交换信息。
C.两个模块之间存在全程变量,并通过全程变量传递信息。
D.两个模块有部分代码重叠。
9.在软件设计中,(CD)耦合应尽量避免。
A.控制
B.数据
C.内容
D.标记
四、简答题
1.需求分析的任务是什么?
参考答案:
见书31页
2.怎样建立目标系统的逻辑模型?
参考答案:
在理解当前系统“怎样做”的基础上,抽取其“做什么”的本质。在物理模型中有许多物理因素,但随着分析工作的深入,有些非本质因素就显得不必要了,因而需要对物理模型进行分析,区分本质和非本质因素,去掉那些非本质因素就可获得反应系统本质的逻辑模型。做法是:
⑴确定目标系统与当前系统的逻辑差别;
⑵将变化部分看作是新的处理步骤,对功能图及对象图进行调整;
⑶由外及里对变化的部分进行分析,推断其结构,获得目标系统的逻辑模型。
3.什么是结构化分析?“结构化”体现在哪里?
参考答案:
结构化分析方法是面向数据流进行需求分析的方法。结构化分析方法使用数据流图DFD与数据字典DD来描述,面向数据流问题的需求分析适合于数据处理类型软件的需求描述。其核心思想是分解化简问题,将物理与逻辑表示分开,对系统进行数据与逻辑的抽象。
结构化分析方法体现在用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。