软件工程课堂习题.docx

上传人:b****5 文档编号:7817459 上传时间:2023-01-26 格式:DOCX 页数:13 大小:24.29KB
下载 相关 举报
软件工程课堂习题.docx_第1页
第1页 / 共13页
软件工程课堂习题.docx_第2页
第2页 / 共13页
软件工程课堂习题.docx_第3页
第3页 / 共13页
软件工程课堂习题.docx_第4页
第4页 / 共13页
软件工程课堂习题.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

软件工程课堂习题.docx

《软件工程课堂习题.docx》由会员分享,可在线阅读,更多相关《软件工程课堂习题.docx(13页珍藏版)》请在冰豆网上搜索。

软件工程课堂习题.docx

软件工程课堂习题

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

第一章

一、到目前为止,软件生产的发展通过了三个阶段,即程序设计、程序系统和软件工程。

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

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

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

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

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

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

A.有形B.逻辑

C.物质D.消耗

六、为了解决软件危机,人们提出了用(B)的原理来设计软件,这是软件工程诞生的基础。

A.运筹学B.工程学

C.软件学D.数学

7、软件生产的复杂性和高本钱性,使大型软件的生存出现危机,软件危机的主要表现包括了下述(D)方面。

①生产本钱太高②需求增加难以知足③进度难以控制④质量难以保证

A.①②B.②③C.④D.全部

八、软件工程的目的是(A)。

A.建造大型的软件系统B.软件开发的理论研究

C.软件的质量保证D.研究软件开发的原理

第二章

一、螺旋模型将_线性顺序__模型和_原型模型___模型结合起来,加入了两种模型均忽略了的__风险分析___,弥补了这两种模型的不足。

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

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

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

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

A.瀑布模型B.快速应用开发模型

C.原型模型D.螺旋模型

六、软件工程进程模型有多种,下列选项中,(C)不是软件进程模型。

A.螺旋模型B.增量模型

C.功能模型D.瀑布模型

7、(D)模型主要用来描述面向对象的软件开发进程。

A.瀑布模型B.演化模型

C.螺旋模型D.喷泉模型

八、原型化方式是用户和设计者之间执行的一种交互进程,

适用于(A)系统。

A.需求不肯定性高的B.需求确定的

C.管理信息D.实时

九、演化软件进程模型(D)。

A.本质上是迭代的B.容易适应需求的变化

C.通常不抛弃所产生的系统D.以上所有选项

10、软件开发的增量模型是(B)。

A.适用于需求被清楚概念的情况

B.一种需要快速构造核心产品的好方式

C.最适合于大规模团队开发的项目

D.一种不适用于商业产品的创新模型

第三章

一、可行性研究的目的是_以最小的代价在尽可能短的时间内肯定该项目是不是能够解决。

二、效益气宇方式中,有形的效益主要采用_投入产出比_、_本钱回收时间_、_纯收入_三个指标气宇。

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

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

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

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

A.技术可行性B.经济可行性

C.社会可行性D.法律可行性

7、一个软件项目是不是进行开发的结论是在(C)中作出。

A.软件开发计划B.可行性报告

C.需求分析说明书D.测试报告

八、软件可行性研究实质上是要进行一次(A)需求分析、设计进程。

A.简化紧缩的B.详细的

C.完全的D.深入的

第四章

一、结构化分析方式采用的大体手腕是_分解__和_抽象_。

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

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

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

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

六、数据字典和数据流图一路组成了系统的_逻辑模型__。

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

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

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

九、数据流图的四种大体成份为:

加工、源点或终点、_数据流__和_数据存储_。

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

A.系统的控制流程B.系统的数据结构

C.系统的大体加工D.系统的功能

1一、需求分析阶段的重要工作之一是(A)。

A.数据概念B.数据库设计

C.数据保护D.数据结构实现

1二、结构化分析SA是软件开发需求分析阶段所利用的方式,(C)不是SA所利用的工具。

B.结构化英语

D.判定表

13、不适于作为数据流图处置(加工)框名称的是(B)。

A.人工校核工资数据B.工资支票数据

C.打印工资支票D.计算职工工资

14、需求分析阶段的研究对象是(D)。

A.软硬件要求B.分析员要求

C.系统要求D.用户要求

1五、在自顶向下设计分层数据流图时,设计顶层数据流图主要分析(B)。

A.源、汇(终点)和处置功能

B.源、汇(终点)和输入、输出数据流

C.数据存储和输入、输出数据流

D.处置功能和输入、输出数据流

1六、通过(B)可以完成数据流图的细化。

A.结构分解B.功能分解

C.数据分解D.系统分解

17、下列描述错误的是(D)。

A、数据流图将各类信息流抽象成数据流的形式

B、数据流图不反映控制关系、挪用关系

C、数据流图不反映处置逻辑的前后顺序

D、数据流图不反映数据的流向

第五章

一、耦合性和内聚性是衡量_模块独立性__的两个定性的标准。

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

二、模块内部的算法设计在结构化方式的_详细设计_阶段进行

3、按数据流的类型,结构化设计方式有两种设计谋略,他们是变换分析设计和_事务分析设计_。

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

五、变换型数据处置的工作进程一般分为三步:

输入_、变换中心_和_输出,这三步表现了变换型DFD的大体思想。

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

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

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

八、Jackson方式是一种面向_数据结构_的设计方式,可用_顺序_、_选择_、_循环__三种大体结构来表示。

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

 

10、PAD(ProblemAnalysisDiagram)图是一种(B)工具。

A.系统描述B.详细设计

C.测试D.编程辅助

1一、结构化程序设计主要强调程序的(C)。

A.效率B.速度C.可读性D.大小

1二、若是模块中所有成份引用一路的数据,该模块内的联系类型是(C)。

A.顺序内聚B.功能内聚

C.通信内聚D.过程内聚

13、初始化模块和结束模块从块内联系看称为(C)模块。

A.进程内聚B.功能内聚C.时间内聚D.逻辑内聚

14、结构化程序设计的一种大体方式是(C)。

A.挑选法B.迭代法

C.慢慢求精法D.递归法

1五、一个模块直接控制(挪用)的基层模块的数量称为模块的(B)。

A.扇入数B.扇出数C.宽度D.作用域

1六、详细设计的结果大体决定了最终程序的(C)。

A.代码的规模B.运行速度

C.质量D.可维护性

17、软件结构图的形态特征能反映程序重用率的是(C)。

A.深度B.宽度C.扇入D.扇出

1八、属于软件设计的大体原理是(D)。

A.数据流分析设汁B.变换流分析设计

C.事务流分析设计D.模块化

 

期中考试

一、单项选择题

一、某模块的输入数据为某工厂中一个车间的生产产量表,通过该模块计算车间中生产工人的平均产量,统计产量前10名的人员名单,从内聚度来看,该模块属于(B)。

A.逻辑内聚B.通信内聚C.顺序内聚D.功能内聚

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

A.有形B.逻辑C.物质D.消耗

3、模块(C),则说明模块的独立性越强。

A.耦合越强B、扇入数越高

C、耦合越弱D、扇入数越低

4、软件生存周期中,准确地肯定软件系统必需做什么的阶段是(B)。

A.可行性分析B.需求分析

C.概要设计D.详细设计

五、在SD方式中全面指导模块划分的最重要的原则是(A)。

A.程序模块化B.模块高内聚

C.模块低耦合D.模块独立性

六、盒图是一种(B)工具。

A.系统描述B.详细设计C.测试D.编程辅助

7、(D)着重反映的是模块间的隶属关系,即模块间的挪用关系和层次关系。

A.程序流程图B.数据流图

C.ER图D.结构图

八、原型化方式是用户和设计者之间执行的一种交互进程,适用于(A)系统。

A.需求不肯定性高的B.需求确定的

C.管理信息D.实时

九、具有风险分析的软件生命周期模型是(C)。

A.瀑布模型B.喷泉模型C.螺旋模型D.增量模型

10、结构化设计又称为(B)。

A.概要设计B.面向数据流设计

C.面向对象设计D.详细设计

1一、软件生产发展经历了程序设计时期、(C)和软件工程时期。

A.结构化设计时期B.面向对象设计时代

C.程序系统时期D.集体开发时代

1二、一个模块直接访问另一个模块的内部数据的耦合称为(A)。

A.内容耦合B.控制耦合C.外部耦合D.公共耦合

13、PDL是下列哪一种语言(A)。

A.伪码B、高级程序设计语言

C.中级程序设计语言D、低级程序设计语言

14、结构化系统分析主如果通过(D)进行分析的。

A.算法分解B.控制结构分解

C.数据结构分解D.处理功能分解

1五、软件工程与计算机科学性质不同,软件工程着重于(B)。

A.提高软件的开发效率B.使软件生成工程化

C.消除软件的生产危机D.加强软件的质量保证

二、填空题

一、数据流图和__数据字典_一路组成系统的逻辑功能模型,各类软件系统的数据流图一般可分为__变换型__和事务型两类。

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

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

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

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

六、软件工程的三要素是方式、__工具__和__进程_。

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

八、ER模型的三个大体组成成份是属性、联系和_实体__。

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

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

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

1二、Jackson方式是一种面向_数据结构__的设计方式,可用_顺序_、_选择_、_循环_三种大体结构来表示。

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

三、判断题

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

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

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

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

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

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

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

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

F九、要减少两个模块之间的耦合,则必需两个模块间的挪用次数要少。

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

四、简答题

一、简述软件体系结构设计优化原则。

答:

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

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

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

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

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

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

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

软件生存周期可划分为哪几个阶段?

各阶段的关键任务是什么?

答:

软件从概念到开发、利用和保护,直到最终被弃用,要经历一个漫长的时期,通常把软

件经历的这个漫长时期称为生存周期。

软件生存周期一般可分为三个阶段:

软件概念阶段:

主要进行软件的可行性研究和需求分析工作,研究该项目是不是值得去解决,是不是存在可行的解决办法并肯定待开发的软件系统做什么。

软件开发阶段:

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

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

软件运行与保护阶段:

通过各类保护活动使软件系统持久地知足用户的需求。

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

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

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

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

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

4、什么是数据字典?

其作用是什么?

它有哪些条款?

答:

数据字典是用来概念数据流图中各个成份具体含义的,它以一种准确的、无二义性的说明方式提供有关元素的一致的概念和详细的描述。

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

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

数据字典有以下四类条款:

数据流、数据存储、加工、数据项。

五、应用题(本大题共2小题,每小题10分,共20分)

一、将下列伪代码转换成用NS图和PAD图表示。

S1;

if(x>5)thenS2

elseS3;

while(y<0)S4;

S5;

ifu>0then

{

S6;

while(k>5)S7;

}

S8;

二、某培训中心要研制一个计算机管理系统。

它的业务是:

将学员发来的信件搜集分类后,按几种不同的情况处置。

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

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

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

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

 

第六章

一、程序复杂度的气宇方式主要包括_环形复杂度_、_文本复杂度_和交点复杂度。

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

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

顺序性__。

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

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

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

A.软件开发的方式B.软件执行的环境

C.程序设计风格D.软件开发人员的知识

7、在结构化程序设计思想提出之前,在程序设计中曾强调程序的(B),此刻人们更重视程序的(D)。

A.技能性B.效率C.一致性D.可理解性

八、程序设计语言一般来讲,可划分为低级语言和高级语言两大类.与高级语言相较用低级语言开发的程序,具有(C)特点。

A.运行效率低,开发考虑低B.运行效率低,开发效率高

C.运行效率高,开发效率低D.运行效率高,开发效率高

第七章

一、单独测试一个模块时,有时需要一个_驱动_程序_驱动(挪用)__被测试的模块,有时还需要一个或几个__桩___模块模拟由被测试模块挪用的模块。

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

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

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

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

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

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

八、自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:

_宽度优先_和_深度优先。

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

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

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

A.测试计划B.测试计划

C.预期输出结果D.以往测试记录分析

1二、成功的测试是指(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)软件编码

和2C.2和3、2和3

1六、白盒测试技术测试用例的设计中,(C)是最强的覆盖标准。

A.语句覆盖B.条件覆盖

C.条件组合覆盖D.判定覆盖

17、以下说法错误的是(D)。

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

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

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

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

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

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

A.测试底层模块时不需要桩模块

B.驱动模块的作用是模拟被调模块

C.自顶向下测试方式易于设计测试结果

1九、软件测试是软件质量保证的重要手腕,下述(B)是软件测试的最基础环节。

A.功能性测试B.单元测试C.结构测试D.确认测试

20、对一个采用二分法的检索程序,可以列出以下这些需要的测试用例

1)被检测的表格只有一行

2)表格的行数恰好是2的幂次

3)表格的行数比2的幂次多1或少1

则此测试方式称为(C)。

A.等价分类法B.边界值方法

C.错误推测法D.因果图法

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

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1