西南交大软件工程课后习题(考试原题来源)周艳版

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

西南交大软件工程课后习题(考试原题来源)周艳版
第一章
1、到目前为止,软件生产的发展经过了三个阶段,即程序设计、程序系统和软件工程。

2、软件生存周期是指一个软件从提出开发要求开始直到该软件报废为止的整个时期。

通常,软件生存周期包括可行性研究、需求分析、概要设计、详细设计、编码、测试、运行与维护等活动。

可以将这些活动以适当方式分配到不同阶段去完成。

3、在信息处理和计算机领域内,一般认为软件是__程序_、_文档_和_数据_。

4、软件工程的三要素是__过程__、_方法__和_工具_ 。

5、软件是一种(B )产品。

A.有形
B.逻辑
C.物质
D.消耗
6、为了解决软件危机,人们提出了用(B)的原理来设计软件,这是软件工程诞生的基础。

A.运筹学
B.工程学
C.软件学
D.数学
7、软件生产的复杂性和高成本性,使大型软件的生存出现危机,软件危机的主要表现包括
了下述( D)方面。

①生产成本过高②需求增长难以满足③进度难以控制④质量难以保证
A.①②
B.②③
C. ④
D.全部
8、软件工程的目的是(A)。

A.建造大型的软件系统
B.软件开发的理论研究
C.软件的质量保证
D.研究软件开发的原理
第二章
1、螺旋模型将_线性顺序__模型和_原型模型___模型结合起来,加入了两种模型均忽略了的__风险分析___,弥补了这两种模型的不足。

2、瀑布模型本质上是一种_线性_顺序模型,适用于_需求_变更比较少的软件开发过程。

3、描述软件开发过程中各种活动如何执行的模型称为_软件工程过程_模型。

4、增量模型是在项目的开发过程中以一系列的__增量__开发系统。

5、在软件过程模型中,( D )吸收了软件工程“演化”的概念,适合于大型软件的开发。

A.瀑布模型
B.快速应用开发模型
C.原型模型
D.螺旋模型
6、软件工程过程模型有多种,下列选项中,( C )不是软件过程模型。

A.螺旋模型
B.增量模型
C.功能模型
D.瀑布模型
7、(D)模型主要用来描述面向对象的软件开发过程。

A.瀑布模型 B.演化模型
C.螺旋模型 D.喷泉模型
8、原型化方法是用户和设计者之间执行的一种交互过程,
适用于( A )系统。

A.需求不确定性高的
B.需求确定的
C.管理信息
D.实时
9、演化软件过程模型(D)。

A. 本质上是迭代的
B. 容易适应需求的变化
C. 通常不抛弃所产生的系统
D. 以上所有选项
10、软件开发的增量模型是(B)。

A. 适用于需求被清晰定义的情况
B. 一种需要快速构造核心产品的好方法
C. 最适合于大规模团队开发的项目
D. 一种不适用于商业产品的创新模型
第三章
1、可行性研究的目的是 _以最小的代价在尽可能短的时间内确定该项目是否能够解决。

2、效益度量方法中,有形的效益主要采用_投入产出比_、_成本回收时间_、_纯收入_三个指标度量。

3、软件项目的可行性研究主要集中在_经济__、_技术_、_法律__三个方面。

4、计算机系统工程包括_硬件与硬件过程_、_软件与软件过程_、_人与人机过程和_数据库与数据库过程_。

5、纯收入是指在整个生存周期之内的__累计经济效益__与投资之差。

6、研究开发所需要的成本和资源是属于可行性研究中的( B)研究的一方面。

A.技术可行性
B.经济可行性
C.社会可行性
D.法律可行性
7、一个软件项目是否进行开发的结论是在( C)中作出。

A.软件开发计划
B.可行性报告
C.需求分析说明书
D.测试报告
8、软件可行性研究实质上是要进行一次(A )需求分析、设计过程。

A.简化压缩的 B.详细的
C.彻底的 D.深入的
第四章
1、结构化分析方法采用的基本手段是_分解__和_抽象_。

2、结构化分析方法是面向__数据流__的分析方法。

3、结构化系统分析中,判定表和判定树常用于表达数据流图中的_加工逻辑__。

4、结构化分析中,_数据字典(DD)_用于详细地定义数据流图中的成分。

5、适合于作为概念性数据模型的第二代数据模型是_E-R图__。

6、数据字典和数据流图共同构成了系统的_逻辑模型__。

7、三种描述加工逻辑的工具各有优缺点,对于顺序执行和循环执行的动作,用_结构化语言_描述。

对于存在多个条件复杂组合的判断问题,用_判定表__和__判定树_。

8、效率是一个__非功能__要求,目标在__需求分析___阶段给出。

9、数据流图的四种基本成分为:加工、源点或终点、_数据流__和_数据存储_。

10、SA方法用DFD描述( D )。

A.系统的控制流程
B.系统的数据结构
C.系统的基本加工
D.系统的功能
11、需求分析阶段的重要工作之一是( A )。

A.数据定义
B.数据库设计
C.数据维护
D.数据结构实现
12、结构化分析SA是软件开发需求分析阶段所使用的方法,(C)不是SA所使用的工具。

A.DFD
B.结构化英语
C.PAD
D.判定表
13、不适于作为数据流图处理(加工)框名称的是(B)。

A.人工校核工资数据
B.工资支票数据
C.打印工资支票
D.计算职工工资
14、需求分析阶段的研究对象是( D )。

A.软硬件要求
B.分析员要求
C.系统要求
D.用户要求
15、在自顶向下设计分层数据流图时,设计顶层数据流图主要分析(B )。

A.源、汇(终点)和处理功能
B.源、汇(终点)和输入、输出数据流
C.数据存储和输入、输出数据流
D.处理功能和输入、输出数据流
16、通过( B )可以完成数据流图的细化。

A.结构分解
B.功能分解
C.数据分解
D.系统分解
17、下列描述错误的是(D)。

A、数据流图将各种信息流抽象成数据流的形式
B、数据流图不反映控制关系、调用关系
C、数据流图不反映处理逻辑的先后顺序
D、数据流图不反映数据的流向
第五章
1、耦合性和内聚性是衡量_模块独立性__的两个定性的标准。

软件系统划分模块时,尽量做到_高_内聚、_低耦合。

2、模块内部的算法设计在结构化方法的_详细设计_阶段进行
3、按数据流的类型,结构化设计方法有两种设计策略,他们是变换分析设计和_事务分析设计_。

4、模块间耦合高低取决于模块间_接口复杂程度、调用模块方式及_通过模块接口的数据_。

5、变换型数据处理的工作过程一般分为三步:输入_、变换中心_和_输出,这三步体现了变换型DFD的基本思想。

6、一个模块的_作用域_范围应在其_控制域_范围之内,且判定所在的模块应与受其影响的模块在层次上尽量_靠近_。

7、HIPO图是表示_体系结构设计_的一种工具。

它使用_H图_描述软件总的模块层次结构,使用__IPO图__描述每个模块输入输出数据、处理功能及模块调用的详细情况。

8、Jackson方法是一种面向_数据结构_的设计方法,可用_顺序_、_选择_、_循环__三种基本结构来表示。

9、结构化设计方法采用变换分析和事务分析技术实现从_数据流图_导出_软件结构图_。

10、PAD (Problem Analysis Diagram)图是一种(B )工具。

A.系统描述
B.详细设计
C.测试
D.编程辅助
11、结构化程序设计主要强调程序的(C)。

A.效率
B.速度
C.可读性
D.大小
12、如果模块中所有成分引用共同的数据,该模块内的联系类型是( C)。

A.顺序内聚
B.功能内聚
C.通信内聚
D.过程内聚
13、初始化模块和结束模块从块内联系看称为( C )模块。

A.过程内聚
B.功能内聚
C.时间内聚
D.逻辑内聚
14、结构化程序设计的一种基本方法是(C)。

A.筛选法
B.迭代法
C.逐步求精法
D.递归法
15、一个模块直接控制(调用)的下层模块的数目称为模块的(B)。

A.扇入数
B.扇出数
C.宽度
D.作用域
16、详细设计的结果基本决定了最终程序的(C )。

A.代码的规模B.运行速度
C.质量D.可维护性
17、软件结构图的形态特征能反映程序重用率的是(C )。

A.深度
B.宽度
C.扇入
D.扇出
18、属于软件设计的基本原理是( D )。

A.数据流分析设汁
B.变换流分析设计
C.事务流分析设计
D.模块化
期中考试
一、单项选择题
1、某模块的输入数据为某工厂中一个车间的生产产量表,通过该模块计算车间中生产工人的平均产量,统计产量前10名的人员名单,从内聚度来看,该模块属于(B)。

A.逻辑内聚 B.通信内聚 C.顺序内聚 D.功能内聚
2、软件是一种( B )产品。

A.有形 B.逻辑 C.物质 D.消耗
3、模块(C),则说明模块的独立性越强。

A.耦合越强B、扇入数越高
C、耦合越弱
D、扇入数越低
4、软件生存周期中,准确地确定软件系统必须做什么的阶段是(B)。

A.可行性分析
B.需求分析
C.概要设计
D.详细设计
5、在SD方法中全面指导模块划分的最重要的原则是(A )。

A.程序模块化
B.模块高内聚
C.模块低耦合
D.模块独立性
6、盒图是一种(B)工具。

A.系统描述
B.详细设计
C.测试
D.编程辅助
7、( D )着重反映的是模块间的隶属关系,即模块间的调用关系和层次关系。

A.程序流程图B.数据流图
C.ER图D.结构图
8、原型化方法是用户和设计者之间执行的一种交互过程,适用于(A)系统。

A.需求不确定性高的B.需求确定的
C.管理信息D.实时
9、具有风险分析的软件生命周期模型是(C)。

A.瀑布模型
B.喷泉模型
C.螺旋模型
D.增量模型
10、结构化设计又称为(B )。

A.概要设计B.面向数据流设计
C.面向对象设计D.详细设计
11、软件生产发展经历了程序设计时代、(C)和软件工程时代。

A. 结构化设计时代
B. 面向对象设计时代
C. 程序系统时代
D. 集体开发时代
12、一个模块直接访问另一个模块的内部数据的耦合称为(A)。

A.内容耦合 B.控制耦合 C.外部耦合 D.公共耦合
13、PDL是下列哪种语言( A )。

A.伪码B、高级程序设计语言
C.中级程序设计语言D、低级程序设计语言
14、结构化系统分析主要是通过(D)进行分析的。

A.算法分解B.控制结构分解
C.数据结构分解D.处理功能分解
15、软件工程与计算机科学性质不同,软件工程着重于(B)。

A.提高软件的开发效率
B.使软件生成工程化
C.消除软件的生产危机
D.加强软件的质量保证
二、填空题
1、数据流图和__数据字典_共同构成系统的逻辑功能模型,各种软件系统的数据流图一般可分为__变换型__和事务型两类。

2、为了验证需求分析的正确性,一般应从四个方面进行,有效性、一致性、__完整性___和__现实性__。

3、模块的_作用域_指受该模块内一个判定影响的所有模块的集合。

4、结构图中的连线表示模块间的调用关系,而层次方框图中的连线表示数据间__组成关系(隶属关系)_ 。

5、解决复杂问题采用的策略是__分解和抽象__,这也是结构化分析的精髓。

6、软件工程的三要素是方法、__工具__和__过程_。

7、 _可行性研究__的目的就是用最小的代价在尽可能短的时间内确定该项目是否能够解决。

8、ER模型的三个基本构成成分是属性、联系和_实体__。

9、由于软件生产的复杂性和高成本,使大型软件生产出现了很多问题,即出现_软件危机__,软件工程正是为了克服它而提出了一种概念及相关方法和技术。

10、软件结构中的_深度_表示的软件的控制层数,它往往能够粗略地标志一个系统的大小和
复杂程度。

11、数据流图中的箭头是_数据流_,程序流程图中的箭头则是_控制流___。

12、Jackson方法是一种面向_数据结构__的设计方法,可用_顺序_ 、_选择_、_循环_三种基本结构来表示。

13、系统的_纯收入_指的是整个生命周期内系统的累积经济效益与投资之差。

三、判断题
T 1.分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描述了系统的输入和输出。

F 2、程序设计语言中应绝对禁止使用GOTO语句。

F 3、某加工的输入是一个数据流,该加工的输出也必定是一个数据流。

F 4、由于软件是产品,因此可以应用其他工程制品所用的技术进行生产。

F 5、可行性研究唯一要考察的内容就是该软件项目在技术上是否可行。

F 6、软件是指用程序设计语言编写的程序,软件开发实际就是编写程序代码。

F 7、判定表较判定树直观易读,判定树进行逻辑验证较严格。

T 8、Warnier图比层次方框图可以表达更多的数据组织信息。

F 9、要减少两个模块之间的耦合,则必须两个模块间的调用次数要少。

F 10、在模块逐层分解中,应该尽可能地进行模块分解,以减少软件开发工作量。

四、简答题
1、简述软件体系结构设计优化原则。

答:(1)降低模块的耦合性,提高模块的内聚性。

(2)保持适中的模块规模。

(3)模块应具有高扇入和适当的扇出。

(4)软件结构中的深度和宽度不宜过大。

(5)模块的作用域应处于其控制域范围之内。

(6)尽量降低模块的接口复杂度。

2、什么是软件生存周期。

软件生存周期可划分为哪几个阶段?各阶段的关键任务是什么?答:软件从定义到开发、使用和维护,直到最终被弃用,要经历一个漫长的时期,通常把软件经历的这个漫长时期称为生存周期。

软件生存周期一般可分为三个阶段:
软件定义阶段:主要进行软件的可行性研究和需求分析工作,研究该项目是否值得去解决,是否存在可行的解决办法并确定待开发的软件系统做什么。

软件开发阶段:进行软件的概要设计、详细设计、编码和测试工作。

对软件的体系架构、数据结构和算法等进行设计和编码实现,并对编码结果进行测试,得到符合需求分析要求的软件。

软件运行与维护阶段:通过各种维护活动使软件系统持久地满足用户的需求。

3、简述事务分析设计的设计步骤。

(1)划分边界,明确数据流图中的接收路径、事务中心和加工路径。

(2)建立事务型结构的上层模块。

(3)分解、细化接收路径和加工路径,得到事务型结构的下层模块。

(4)按照体系结构设计原则对初始的软件结构进行优化。

4、什么是数据字典?其作用是什么?它有哪些条目?
答:数据字典是用来定义数据流图中各个成分具体含义的,它以一种准确的、无二义性的说明方式提供有关元素的一致的定义和详细的描述。

它和数据流图共同构成了系统的逻辑功能模型,是需求规格说明书的主要组成部分。

数据字典是为查找数据流图中有关名字的详细定义而服务的。

数据字典有以下四类条目:数据流、数据存储、加工、数据项。

五、应用题(本大题共2小题,每小题10分,共20分)
1、将下列伪代码转换成用NS图和PAD图表示。

S1;
if (x>5) then S2
else S3;
while (y<0) S4;
S5;
if u>0 then
{
S6;
while (k>5) S7;
}
S8;
2、某培训中心要研制一个计算机管理系统。

它的业务是:将学员发来的信件收集分类后,按几种不同的情况处理。

1)如果是报名,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报名单交财务部门,财务人员开出发票给学生。

2)如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。

3)如果是付款,则由财务人员在帐目文件上登记,也给学生一张收费收据。

画出数据流图,并转换为软件结构图。

第六章
1、程序复杂度的度量方法主要包括_环形复杂度_、_文本复杂度_和交点复杂度。

2、提高程序效率的根本途径在于选择良好的__设计方法__、良好的__数据结构_和良好的_算法_,而不是靠编程时对程序语句做调整。

3、程序设计语言的心理特性在语言中的表现形式为_歧义性__、_简洁性_、_局部性_、
顺序性__。

4、源程序中加注释是帮助理解程序的重要手段,注释分为_序言性注释_、描述性注释两类。

5、为开发一个特定的项目,在选择程序设计语言时,必须从__心理___、__工程_、__技术三个特性考虑。

6、与选择编程语言无关的因案是( C )。

A.软件开发的方法
B.软件执行的环境
C.程序设计风格
D. 软件开发人员的知识
7、在结构化程序设计思想提出之前,在程序设计中曾强调程序的( B),现在人们更重视程序的( D )。

A.技巧性
B.效率
C.一致性
D.可理解性
8、程序设计语言一般来说,可划分为低级语言和高级语言两大类.与高级语言相比用低级语言开发的程序,具有( C )特点。

A.运行效率低,开发考虑低
B.运行效率低,开发效率高
C. 运行效率高,开发效率低
D.运行效率高,开发效率高
第七章
1、单独测试一个模块时,有时需要一个_驱动_程序_驱动(调用)__被测试的模块,有时还需要一个或几个__桩___模块模拟由被测试模块调用的模块。

2、黑盒法测试时,如果选择的测试用例需考虑输入条件的各种组合,应采用_因果图_法进行测试。

3、运行被测试程序的方法称为___动态___测试。

4、用等价类划分法设计测试用例时,如果被测试程序的某个输入条件规定了取值范围,则可确定一个合理的等价类和_两个不合理的等价类__。

5、软件测试中白盒法是分析程序的__内部(逻辑)结构___来设计测试用例,黑盒法是根据程序的__功能__来设计测试用例。

6、在集成测试时,采用先独立测试每一模块,然后再连到一起运行,这种方式称为__非渐增式_集成测试。

7、在__单元__测试中,主要测试详细设计和编码实现阶段中的错误。

8、自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:_宽度优先_和_深度优先。

9、在白盒测试技术测试用例的设计中__语句覆盖_是最弱的覆盖标准。

10、测试的关键问题是_如何设计(选择)测试用例_。

11、软件测试中设计测试用例主要由输入数据和(C )两部分组成。

A.测试规划
B.测试计划
C.预期输出结果
D.以往测试记录分析
12、成功的测试是指( B )。

A.运行测试实例后未发现错误
B.发现程序的错误
C.证明程序正确
D.改正程序的错误
13、月收入<=1600元者免税,现在用输入数1600元和1601元测试程序,则采用的是(A )方法。

A.边界值分析
B.条件覆盖
C.错误推测
D.等价类
14、现有一个计算类型的程序,它的输入只有一个Y,其范围是-50≦Y≦50,现从输入的角度考虑设计了一组测试用例:-100,0,100,设计这组测试用例的方法是(B)。

A.条件覆盖法
B.等价分类法
C.边界值分析法
D.错误推测法
15、软件测试主要包括(C)方面的查错和纠错。

1) 软件需求分析 2)软件设计 3)软件编码
A.3
B.1和2
C. 2和3
D.1、2和3
16、白盒测试技术测试用例的设计中,( C)是最强的覆盖标准。

A.语句覆盖 B.条件覆盖
C.条件组合覆盖 D.判定覆盖
17、以下说法错误的是( D )。

A.判定覆盖包含了语句覆盖,但它可能会使一些条件得不到测试。

B.条件覆盖的检错能力一般较判定覆盖强,但有时达不到判定覆盖要求。

C.判定/条件覆盖包含了判定覆盖和条件覆盖的要求。

D.凡满足条件组合覆盖标准的测试用例,也必然满足其他所有覆盖种类的覆盖标准。

E.路径覆盖可能使测试用例达不到条件组合覆盖的要求。

18、在集成测试中,( A )是正确的。

A.测试底层模块时不需要桩模块
B.驱动模块的作用是模拟被调模块
C.自顶向下测试方法易于设计测试结果
19、软件测试是软件质量保证的重要手段,下述(B)是软件测试的最基础环节。

A.功能性测试
B.单元测试
C.结构测试
D.确认测试
20、对一个采用二分法的检索程序,可以列出以下这些需要的测试用例
1)被检测的表格只有一行
2)表格的行数恰好是2的幂次
3)表格的行数比2的幂次多1或少1
则此测试方法称为( C )。

A.等价分类法 B.边界值方法
C.错误推测法 D.因果图法。

相关文档
最新文档