软件工程期末复习题答案

发布 2023-05-19 09:52:28 阅读 7610

1.软件是一种(c)

a.程序 b. 数据 c.逻辑产品 d.物理产品。

2.模块(b)定义为受该木块内一个判断影响的所有模块集合。

a.控制欲 b.作用域 c 宽度 d接口。

3.为了提高测试的效率,应该(d)

a.随机地选取测试数据。

b.取一切可能的输入数据作为测试数据。

c.在完成编码以后制定软件的测试计划。

d.选择发现错误的可能大的数据座作为测试数据。

4.软件测试的目的(b)

a.评价软件的质量 b.发现软件的错误。

c.找出软件的所有错误 d.证明软件是正确的。

5.dfd中每个加工至少有d

a. 一个输入端b.一个输出端。

c. 多个输入输出端 d.一个输入输出端。

6.系统定义明确之后,应对系统的可行性进行研究,可行性研究应包括(b)。

a. 软件环境可行性、技术可行性、经济可行性、社会可行性、

b.. 经济可行性、技术可行性、操作可行性。

c. 经济可行性、社会可行性、系统可行性。

d. 经济可行性、实用性、社会可行性。

7.在进行软件测试时,首先应当进行(a),然后再进行组装测试,最后再进行有。

效性测试。a.单元测试 b.集成测试 c.确认测试 d.组合测试。

8.在整个软件维护阶段后锁话费的全部工作中,(c)所占比例最大。

a校正性维护 b.适应性维护 c.完善性维护 d.预防性维护。

9.面向对象的开发方法的工作模型是(b)

a.瀑布模型 b.喷泉模型 c.智能模型 d.循环模型。

10,通过(b)可以完成数据流图的细化。

a.结构分解 b.功能分解 c.数据分解 d.系统分解。

6.为了提高软件的可维护性,在编码阶段应注意(d)

a. 保存测试用例和数据b. 提高模块的独立性。

c. 文档的***d. 养成好的程序设计风格。

7.详细设计与概要设计衔接的图形工具是( b )

图 图图 d.程序流程图。

8数据耦合、公共耦合、标记耦合、控制耦合的偶合性从低到高的顺序是(b)

a.数据、公共、标记、控制b.数据、标记、控制、公共。

c.控制、数据、标记、公共d.控制、数据、公共、标记。

9软件概要设计结束后得到( b )

a.初始化的软件结构图b.优化后的软件结构图。

c.模块详细的算法d.程序编码。

10可行性分析研究的目的( b )

a.争取项目b,项目值得开发否。

b.开发项目d.规划项目。

1.软件的复杂性主要体现在b

a.数据的复杂性b.程序的复杂性。

c.控制的复杂性d.问题的复杂性。

2在白盒法技术测试的设计中( a )是最弱的覆盖标准。

a.语句 b.路径 c.条件耦合 d.判定。

3.具有风险分析的软件生存周期模型是( c )

a.瀑布模型 b.喷泉模型 c.螺旋模型 d.增量模型。

4.随着软硬件环境变化而修改软件的过程是( b )

a.校正性维护 b.适应性维护 c.完善性维护 d.预防性维护。

5软件测试技术包括( b )

a.错误推断 b.集成测试 c.回溯法d.边界值分析。

6.结构化设计方法是面向( a )的设计。

a.数据流 b.数据编码 c.数据库d.数据结构。

7软件详细设计阶段的任务是( b )

a.算法设计 b.功能设计 c.调用关系设计 d,输入/输出设计。

8需求分析的最终结果是产生( b )

a.项目开发计划 b.需求规格说明书 c.设计说明书 d.可行性分析报告。

9在以下模块耦合类型中,模块独立性最差的类型是( d )

a.无直接耦合b.数据耦合 c.特征耦合 d.内容偶合。

10对象实现了数据和操作的结构,使数据和操作( c )于对象的统一体中。

a结合 b.隐蔽 c.封装d.抽象

二、判断题,判断下列叙述的正确性,将结果填入中。

1. 瀑布模型的最大优点是将软件开发的各个阶段分得十分清晰( f )

2. 结构化方法的工作模型是使用螺旋模型进行开发( f )

3. 在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案f

4. 当模块的控制范围是其作用范围的子集时,模块之间的耦合度较低( f )

5. 划分模块可以降低软件的复杂度和工作量,所以应该将模块分得越小越好(f )

6. 用例模型的基本组成部件是用例、角色和用例之间的联系( t )

7. 分层的dfd图常用于概要设计阶段。描述系统的逻辑结构( f )

8. 信息隐蔽原则有利于提高模块的内聚性t

9. 有效性测试是在模拟环境(成开发环境)下运用黑盒法,验证软件特性是否与需求符合。( t )

10. 直接影响软件开发风险的因素是成本估算。( t )

1.在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案。(f )

2.可行性研究活动是一次简化的分析与设计过程。( t )

法既是需求分析方法,又是软件设计方法。(t )

4.在面向对象的需求分析方法中,建立动态模型是最主要的任务。( f )

5.开发软件时,对于提高软件开发人员工作效率至关重要的是开发程序人员的是开发程序人员的数量。

6.软件开发的主要任务是写程序。( f )

7.需求分析的主要方法是sd法、ooa法、hipo法等。( f )

8.在进行总体设计时应加强模块联系。( f )

9.信息建模方法是从数据的角度来建立信息模型的,最常用的描述信息模型方法是e-r图( t)

10.用于需求分析的软件工具,应该是能够保证需求的正确性,即验证需求的一致性,实现性、现实性和有效性( t )

1软件生存周期是从软件开始开发到开发结束的整个时期。( f )

2.系统流程图是一个典型的描述逻辑系统的传统工具。(f )

3.数据流图和数据字典共同构成系统的逻辑模型t)

4.扇出是一个模块直接调用的模块数目,一般推荐的扇出为3或4.( t )

5.耦合用于衡量一个模块内部的各个元素彼此结合的紧密程度。( f )

6.判定覆盖不一定包括条件覆盖,但是条件覆盖一定包括判定覆盖。( f )

7在**的编写中要尽量避免else goto 或者 else return 结构。( t )

8软件测试的目的是证明软件没有错f)

9语句覆盖的含义是使被测试程序中的每个语句都至少被执行一次。(t )

10软件开发的成本是人的劳动消耗。( f )

三、简单题。

1、 什么是需求分析?在需求分析阶段,建立目标系统的逻辑模型的具体做法是什么?

答:需求分析是软件定义时期的最后一个阶段,他的任务不是确定系统怎样完成它的工作,而仅仅确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求,在需求分析结束前有系统分析员写出软件规格说明书。

1、确定变更范围。

2、将变换的部分对数据流图进行调整。

3、由外向内对变更部分进行分析获得目标系统的逻辑模型。

2、 什么是软件复用?分析说明为什么面向对象的开发方法为软件复用技术提高了良好的开发环境?

答:软件复用是将已有的软件成分用于构造新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的。

复用的软件成分——称为可复用构件,可以从就软件中提取,也可以专门为复用开发。

面向对象方法之所以特别有利于软件复用,是由于它的主要概念和原则与软件复用的要求十分吻合。支持复用的oo概念和原则是:对象与类,抽象,封装,继承与一般——特殊结构,整合与整体——部分结构,粒度控制,多态性。

对象与类:oo方法用对象描述问题域中的事务,并用类作为同种对象的抽象表示。类是系统的构成单位,他符合可复用构件所应具备的那些特性:

完整性,独立性,可标识性,一般性,抽象,封装:尤其是oo方法的对象封装性,为软件复用技术提供了良好的条件,而继承机制本质上是一种复用机制,因此面向对象方法为软件复用技术提供了一个良好的环境。

3、什么是软件危机,它有哪些典型表现?软件危机的解决思路?

软件危机是指计算机在软件开发和维护过程中所遇到的一系列严重问题。包含两方面问题:1,,如何开发软件,以满足对软件日益增长的需求2,如何维护数量不断膨胀的已有软件。

典型表现:1对软件开发成本和进度的估计常常很不准确。

2用户对已完成的软件系统不满意的现象经常发生。

3软件产品的质量往往靠不住。

4软件常常是不可维护的。

5软件通常没有适当的文档资料。

6 软件成本在计算机总成本中所占比例逐年上升。

7软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。

解决思路:1对计算机软件有一个正确认识。

2开发和使用更好的软件工具。

3推广使用在实践中总结出来的开发软件的成功的技术和方法。

4、面向数据流的设计方法主要有哪几个步骤?

1复查基本系统模型。

2复查并精华数据流图。

3确定数据流图具有变换特性还是事物特性。

4确定输入流和输出流的边界,从而孤立变换中心。

5完成第一级分解。

6完成第二级分解。

7使用设计度量和启发式规则对第一次分割得到的软件结构进一步精化。

5、应该从那些方面研究目标系统的可行性?可行性研究有那些工作?

技术可行性操作可行性经济可行性。

1复查系统规模和目标。

2研究目前正在使用的系统。

3导出新系统的高层逻辑结构。

4进一步定义问题。

5到处和评价供选择的解法。

6推荐行动方针。

7草拟开发计划。

8书写文档提交审查。

象模型有哪5个层次?建立对象模型有哪几个步骤?

主体层类与对象层结构层属性层服务层。

确定类与对象确定关联划分主题确定属性识别继承关系反复写该。

6.复杂问题的对象模型有哪5个层次?每个层次的主要工作是什么?

1主题层:找出类型对象。

2类与对象层:识别结构。

3结构层:识别主题。

4属性层:定义属性。

5服务层:定义服务。

四、应用分析题。

1、 有以下几行程序语句。

procedcre ex(a,b:real:var x:real);

beginif(a=3) or (b>1) then x:=a×b

if(a>2) and(b=0) then x;=a—3

试画出程序流程图,按照“条件覆盖法”,设计一个设计测试用例。

条件覆盖法用例:

满足a=3,a>2,b≤1,b=0的条件,执行路径sacbed)

.a=1,b=2

满足条件a≠3,a≤2,b≠0,b>1的条件,执行路径sabd)

2、 根据下列条件使用等价划分法设计测试用例。

某一8位微机,其十六进制常数定义为:以0x或0x开头的数是十六进制整数,其值的范围是。

7f~7f(表示十六进制的大小写字母不加区别)。如0x13,0x6a,-ox3c.。

等价划分法。

划分等价类并编号,如下表所示。

十六进制整型常量输入条件的等价类表。

为合理等价类设计测试用例,表中有三个合理等价类,设计两个例子。

软件工程复习题

一 单项选择题。1 可行性研究要进行一次 需求分析。a 详细的 b 全面的 c 简化的 压缩的 d 彻底的。c2 系统流程图用于可行性分析中的 的描述。a 当前运行系统 b 当前逻辑模型 c 目标系统 d 新系统。a3 系统流程图是描述 的工具。a 逻辑系统 b 程序系统 c 体系结构 d 物理系统...

软件工程2019复习题

选择题 20 1 软件设计中划分模块的一个准则是 c 高内聚低耦合。2 jackson设计方法是由英国的提出的,它是一种面向 的软件设计方法。c 数据结构。3 试判断下列叙述中,哪个是正确的 c 事务分析和变换分析的设计步骤是基本相似的。4 是用户和设计交换最频繁的方法。a 原型化方法。5 软件工程...

软件工程复习题 2019复习题 1

软件工程复习题。一 单选题 1 软件开发的结构化设计 sd 方法,全面指导模块划分的最重要原则应该是 c a模块高内聚b模块低耦合c模块独立性d程序模块化。2 软件工程方法的提出起源于软件危机,而其目的应该是最终解决软件的什么问题?d a产生危机b质量保证c开发效率 d生产工程化。3 软件工程开发的...