当前位置:文档之家› 软件工程总复习题及答案

软件工程总复习题及答案

复习题

填空题

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

2.数据流图的基本组成部分有_数据的源点与终点____、数据流_____、加工_____、数据文件

_____。

3.数据流图和数据字典共同构成了系统的_逻辑____模型,是需求规格说明书的主要组成部分。

4.划分模块时尽量做到__高内聚、低耦合______,保持模块的独立性,尽量使用公共模块。

5.类的实例化是_对象_______。

6.人们常用硬件可靠性的定量度量方法来度量软件的可靠性和可用性,常用的度量软件可

7.靠性的两个指标是_成功地运行的概率_______和_平均故障时间_______。

8.将待开发的软件细化,分别估算每一个子任务所需要的开发工作量,然后将它们加起来,

9.将得到软件的总开发量。这种成本估算方法称为_自底向上_______。

10.如果一个模块被n 个模块调用,其中直接的上级模块的个数是m 个(m<=n )那么该模块的扇入

数是____N_______ 个。

11.结构化设计以__数据流图_________ 为基础,按一定的步骤映射成软件结构。

12.软件的风险分析可包括风险识别、风险预测和风险驾驭(或风险管理)等3项活动。

13.软件著作权登记的3种主要类型:(1)著作权登记;(2)著作权延续登记;(3)权利转移备案登记。

14.软件工程管理的主要内容有:项目经费管理,软件质量管理,项目进度管理和人员管理。

15.面向对象分析的目的是对客观世界的系统进行___建模_______________ 。

16.软件维护工作的生产性活动包括分析评价、修改设计和____编写程序代码_______ 等。

17.为了使应用软件适应计算机环境的变化而___修改软件_______________ 的过程称为适应性维护。

18.一个进行学生成绩统计的模块其功能是先对学生的成绩进行累加,然后求平均值,则该模块的内聚性

是__________顺序内聚________ 。

19.投资回收期就是使累计的经济效益等于__最初的投资费用______________ 所需的时间。

20.软件生存周期是指一个软件从提出开发要求开始直到__软件废弃____为止的整个时期。

21.曾被誉为“程序设计方法的革命”的结构化程序设计,使程序设计从主要依赖于程序员个人的自

由活动变成为有章可循的一门科学。

22.从结构化程序设计到面向对象程序设计,是程序设计方法的又一次飞跃。

23.在单元测试时,需要为被测模块设计___测试用例_______。

一、判断题(每题2分,共30分)

1.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。(对)

2.数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。(错)

3.JAVA语言编译器是一个CASE工具。(对)。

4.软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码。(错)

5.软件模块之间的耦合性越弱越好。(对)

6.数据库设计说明书是一个软件配置项(对)

7.在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象是生成类的模板。(错)

8.过程描述语言可以用于描述软件的系统结构。(错)

9.如果通过软件测试没有发现错误,则说明软件是正确的。(错)

10.快速原型模型可以有效地适应用户需求的动态变化。(对)

11.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。(对)

12.集成测试主要由用户来完成。(错)

13.确认测试计划应该在可行性研究阶段制定(错)

14.白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。(错)

15.软件概要设计包括软件系统结构设计以及数据结构和数据库设计。(对)

16.在可行性研究中最难决断和最关键的问题是经济可行性。(╳)

17.耦合是指一个模块内各个元素彼此结合的紧密程度。(╳)

18. 一笔交易、一个动作、甚至操作人员按一个按钮都可以看做是一次事物。(√)

19.概要设计阶段完成的主要文档是概要设计说明书。(√)

20.过大的模块可能是由于分解不充分造成的,即使降低模块独立性也必须继续分解。(╳)

21.程序设计语言中应绝对禁止使用GOTO语句。(╳)

22.类是关于对象性质的描述,由方法和数据组成。(√)

23.随着软件技术的发展,人们逐渐认识到编码不仅要强调效率还要强调清晰。(√)

25.为保证程序的安全,必须做到程序中没有任何错误存在,即容错。(╳)

26.如果把软件开发所需的资源画成一个金字塔,人是最基本的资源。(√)

名词解释

1.数据词典——是描述数据信息的集合,它对数据流图中的各个元素按规定格式进行详细的描述和确切

的解释,是数据流图的补充工具。

2.数据流图——他以图形的方式反映系统的数据流程

3.白盒测试——按照程序内部的结构测试程序,检验程序中的每条路径是否都能按预定要求正确工作。

有两种测试法既逻辑覆盖测试法和路径测试法

4.黑盒测试——按照程序的功能测试程序,检验与程序功能有关的输入、输出与程序执行是否正确。有

四种方法既等价分类法、边界值分析法、错误猜测法和因果图法

5.完善性维护——为了适应用户业务和机构的发展变化而对软件的功能、性能进行修改、扩充的过程称

为完善性维护。因为各种用户的业务和机构在相当长的时期内不可能是一成不变的,所以功能、性能的增加是不可避免的,而且这种维护活动在整个维护工作中所占的比重很大

6.软件可靠性——指在给定的时间内,程序按照规定的条件成功地运行的概率

7.软件配置——是一个软件在生存周期内,他的各种形式、各种版本的文档与程序的总称

8.软件再工程——运用逆向工程、重构等技术,在充分理解原有软件的基础上,进行分解、综合、并重

新构建软件,用于提高软件的可理解性、可维护性可复用性或演化性。

9.α测试——是在一个受控的环境下,由用户在开发者的“指导”下进行的的测试,由开发者负责记录

错误和使用中出现的问题。

10.β测试——是由软件的最终用户(多个)在一个或多个用户场所来进行。由用户负责记下遇到的所有

问题,包括主观认定的和真实的问题,定期向开发者报告,开发者在综合用户的报告之后进行修改,最后将软件产品交付给全体用户使用。

11.聚集关系——表示类或对象之间的整体与部分的关系

12.泛化关系——表示类或对象之间的一般与特殊的关系

13.内聚——一个模块内部各个元素彼此结合的紧密程度的度量。

14.耦合——一一个软件结构内不同模块之间互连程度的度量。

简答题

1.软件工程的七条基本原理是什么?

答:软件工程的七条基本原理是:

(1)用分阶段的是的生存周期计划严格管理;

(2)坚持进行阶段评审;

(3)严格实施的产品控制;

(4)采用现代程序技术;

(5)结果应能清楚地审查;

(6)开发小组的成员应该少而精;

(7)承认不断改进软件工程的必要性。

2.良好的编码风格应具备哪些条件?

答:应具备以下条件:

(1)使用标准的控制结构;

(2)有限制地使用GOTO语句;

(3)源程序的文档化(应具备以下内容)

①有意义的变量名称——“匈牙利命名规则”。

②适当的注释——“注释规范”。

③标准的书写格式:

——用分层缩进的写法显示嵌套结构的层次(锯齿形风格);

——在注释段的周围加上边框;

——在注释段与程序段、以及不同程序段之间插入空行;

——每行只写一条语句;

——书写表达式时,适当使用空格或圆括号等作隔离符。

(4)满足运行工程学的输入输出风格。

3.简述文档在软件工程中的作用。

答:

(1) 提高软件开发过程的能见度

(2) 提高开发效率

(3) 作为开发人员阶段工作成果和结束标志

(4) 记录开发过程的有关信息便于使用与维护;

(5) 提供软件运行、维护和培训有关资料;

(6) 便于用户了解软件功能、性能。

4.可行性研究包括哪几方面的内容?

答:

(1)经济可行性:是否有经济效益,多长时间可以收回成本;

(2)技术可行性:现有技术能否实现本系统,现有技术人员能否胜任,开发系统的资源能否满足;

(3)运行可行性:系统操作在用户内部行得通吗?

(4)法律可行性:新系统开发是否会侵犯他人、集体或国家利益,是否违反国家法律。

5.结构化的需求分析描述工具有哪些?

答:有数据流图(DFD)、数据字典(DD)、判定表、判定树、结构化语言(PDL)、层次方框图、Warnier 图、IPO图、控制流图(CFD)、控制说明(CSPEC)、状态转换图(STD)和实体—关系图(E—R)等。6.一般面向对象分析建模的工具(图形)有哪些?

答:用例图、类/对象图、对象关系图、实体—关系图(E—R)、事件轨迹图(时序图)和状态转换图(STD)等

7.UML统一建模语言有哪几种图形?

用例图、类图、对象图、构件(组件)图、部署(配置)图、状态图、活动图、顺序(时序)图、合作(协作)图等九种图。

8.在面向对象分析时类和对象的静态关系主要有哪几种?

答:类和对象的静态关系主要有关联、聚集、泛化、依赖等四种关系。

9. 什么是模块化?模块设计的准则?

模块化是按规定的原则将一个大型软件划分为一个个较小的、相对独立但又相关的模块。

模块设计的准则:

(1) 改进软件结构, 提高模块独立性:在对初步模块进行合并、分解和移动的分析、精化过程中力求提高模块的内聚,降低藕合。

(2) 模块大小要适中:大约50行语句的代码,过大的模块应分解以提高理解性和可维护性;过小的模块,合并到上级模块中。

(3) 软件结构图的深度、宽度、扇入和扇出要适当。一般模块的调用个数不要超过5个。

(4) 尽量降低模块接口的复杂程度;

(5) 设计单入口、单出口的模块。

(6) 模块的作用域应在控制域之内。

10.什么是模块独立性?用什么度量?

答:模块独立性概括了把软件划分为模块时要遵守的准则,也是判断模块构造是不是合理的标准。独立性可以从两个方面来度量:即模块本身的内聚和模块之间的耦合。

11. 变换型数据流由哪几部分组成?

变换型结构由三部分组成:传入路径、变换(加工)中心和传出路径。

12. 变换分析设计的步骤?

(1) 区分传入、传出和变换中心三部分,划分DFD图的分界线;

(2) 完成第一级分解:建立初始SC图的框架;

(3) 完成第二级分解:分解SC图的各个分支;

(4) 对初始结构图按照设计准则进行精化与改进。

13. 事务型数据流由哪几部分组成?

事务型结构由至少一条接受路径、一个事务中心与若干条动作路径组成。

14. 事务分析设计的步骤?

(1) 在DFD图中确定事务中心、接收部分(包含全部接收路径)和发送部分(包含全部动作路径);

(2) 画出SC图框架,把DFD图的三部分,分别映射"为事务控制模块,接收模块和动作发送模块.一般得到SC图的顶层和第一层(如果第一层简单可以并入顶层);

(3) 分解和细化接收分支和动作分支,完成初始的SC图;

(4) 对初始结构图按照设计准则进行精化与改进。

15.数据字典包括哪些内容?

数据字典是描述数据流图中数据的信息的集合。它对数据流图上每一个成分:数据项、文件(数据结构)、数据流、数据存储、加工和外部项等给以定义和说明;它主要由数据流描述、加工描述和文件描述三部分组成。

16.给出一组数从小到大的排序算法,分别用下列工具描述其详细过程:

(1)流程图;(2)N-S图;(3) PDL语言。

17.欲开发一个银行的活期存取款业务的处理系统:储户将填好的存/取款单和存折交给银行工作人员,然后由系统作以下处理;

(1)业务分类处理:系统首先根据储户所填的存/取款单,确定本次业务的性质,并将存/取款单和存折交下一步处理;

(2)存款处理:系统将存款单上的存款金额分别记录在存折和帐目文件中,并将现金存入现金库;最后将存折还给储户;

(3)取款处理:系统将取款单上的取款金额分别记录在存折和帐目文件中,并从现金库提取现金;最后将现金和存折还给储户。

绘制该系统的数据流图和软件结构图。

18.什么是软件生存周期?把生存周期划分为阶段的目的是什么?

答:一个软件从开始计划起,到废弃不用止,成为软件的生存周期。把整个生存周期划分为较小的阶

段,给每个阶段赋予确定而有限的任务,能够简化每一步的工作内容,使因为软件规模增长而大大增加了

的软件复杂性变得较易控制和管理。

19.详细设计的目的?

为软件结构图(SC图或HC图)中的每一个模块确定采用的算法和块内数据结构,用某种选定的表达工具给出清晰的描述.

20.详细设计的任务是什么?

(1)为每个模块确定采用的算法;

(2)确定每一模块使用的数据结构;

(3)确定模块接口的细节;

(4)编写过程设计说明书;

(5)设计每一模块的测试用例。

21.编码的任务?

使用选定的程序设计语言,把模块的过程性描述翻译为用语言书写的源程序(源代码)。

22.软件测试的基本任务?

软件测试是按照特定的规则,发现软件错误的过程;好的测试方案是尽可能发现迄今尚未发现错误的测试;成功的测试方案是发现迄今尚未发现错误的测试;

23.什么是黑盒测试?黑盒测试主要采用的技术有哪些?

黑盒测试也称为功能测试,它着眼于程序的外部特征,而不考虑程序的内部逻辑结构。测试者把被测程序看成一个黑盒,不用关心程序的内部结构。黑盒测试是在程序接口处进行测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。

黑盒测试主要采用的技术有:等价分类法、边界值分析法、错误推测法和因果图等技术。

24.什么是白盒测试?白盒测试主要采用的技术有哪些?

白盒测试是测试者了解被测程序的内部结构和处理过程,对程序的所有逻辑路径进行测试,在不同点检查程序状态,确定实际状态与预期状态是否一致。

白盒测试主要采用的技术有:路径测试技术和事务处理流程技术,对包含有大量逻辑判断或条件组合的程序采用基于逻辑的测试技术。

25.路径测试技术中几种主要覆盖的含义?举例说明?

语句覆盖:至少执行程序中所有语句一次。

判定覆盖:使被测程序中的每一个分支至少执行一次。故也称为分支覆盖。

条件覆盖:执行所有可能的穿过程序的控制路流程。

条件组合测试:设计足够的测试用例,使每个判定中的所有可能条件取值组合至少执行一次。

(例略)

26.等价分类法的测试技术采用的一般方法?举例说明?

(1) 为每个等价类编号;

(2) 设计一个新的测试方案,以尽可能多的覆盖尚未被覆盖的有效等价类,重复这一步骤,直到所有

有效等价类被覆盖为止。

(3) 设计一个新的测试方案,使它覆盖一个尚未被覆盖的无效等价类, 重复这一步骤,直到所有无效

等价类被覆盖为止。 (例略)

27.如图显示某程序的逻辑结构。

试为它设计足够的测试用例,分别实现对程序的判定覆概、条件覆概和条件组合覆概。

28.某城市电话号码由三部分组成。它们的名称和内容分别是: 地区码:空白或三位数字;

前 缀:非‘0’或‘1’的三位数字; 后 缀:4位数字。

假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。根据该程序的规格说明,作等价类的划分,并设计测试方案。 Y N

N

29.为什么说软件的维护是不可避免的?

因为软件的开发过程中,一般很难检测到所有的错误,其次软件在应用过程中需要随用户新的要求或运行环境的变化而进行软件的修改或完成功能的增删等,为了提高软件的应用水平和使用寿命,软件的维护是不可避免的。

22.试由程序流程图导出程序图

(a)程序流程图(b)导出程序图

30.软件的维护一般分为哪几类?

完善性维护:满足用户在使用过程中提出增加新的功能或修改已有功能,以满足用户日益增长的需要而进行的工作;

适应性维护:是软件适应新的运行环境而进行的工作;

纠错性维护:纠正开发期间未发现的遗留错误,即在程序使用期间发现的程序错误进行诊断和改正的过程;

预防性维护:为了改善未来的可维护性或可靠性而修改软件的工作。

31.决定软件可维护性的因素?

(1) 软件的可理解性、可测试性、可修改性;

(2) 文档描述符合要求、用户文档简洁明确、系统文档完整并且标准。

32.分析软件危机产生的主要原因有哪些?

答:导致软件危机的主要原因有:

(1)软件日益复杂和庞大(2)软件开发管理困难和复杂(3)软件开发技术落后(4)生产方式落后(5)开发工具落后(6)软件开发费用不断增加

1 个要点1分,只要答上5个要点得5分!

33.说明结构化程序设计的主要思想是什么?

答:(1)自顶向下、逐步求精的程序设计方法(2分)(2)使用3种基本控制结构、单入口、单出口来构造程序。(3分)

34、软件测试的基本任务是什么?测试与纠错有什么区别?

答:软件测试的基本任务是通过在计算机上执行程序,暴露程序中潜在的错误。测试和纠错目的和任务都不相同,测试是为了发现程序的错误,纠错是为了定位和纠正错误,从而消除软件故障,保证程序的可靠运行。

35.软件测试包括哪些步骤?同时说明这些步骤的测试目的是什么?

答:(1)单元测试,目的是代码达到模块说明书的要求(2)集成测试,目的是将经过单元测试的模块逐步组装成具有良好一致性的完整的程序(3)确认测试,目的是确认程序系统是否满足软件需求规格说明书的要求(4)系统测试,目的是检查能否与系统的其余部分协调运行,并且完成SRS对他的要求。

36.需求分析与软件设计二个阶段任务的主要区别是什么?

答:需求分析定义软件的用户需求,即定义待开发软件能做什么(2.5分)

软件设计定义软件的实现细节以满足用户需求,即研究如何实现软件。(2.5分)

37.说明软件测试和调试的目的有何区别?

答:测试的目的是判断和发现软件是否有错误(2。5分)调试的目的是定位软件错误并纠

38. 根据以下被测试的流程图,选择相应的答案。(8分)

(1) A=2, B=0, X=4 (2)A=2, B=1, X=1 (3)A=2, B=0, X=1

A=1, B=1, X=1 A=3, B=0, X=3 A=1, B=1, X=2

①在1-3的答案中满足判定覆盖的测试用例是___1_____ (2分)

②在1-3的答案中满足条件覆盖的测试用例是___3_____ (2分)

③在1-3的答案中满足判定/条件覆盖的测试用例是______2__ (2分)

39.工资计算系统中的一个子系统有如下功能:

( 1 )计算扣除部分—由基本工资计算出应扣除(比如水电费、缺勤)的部分;

( 2 )计算奖金部分—根据职工的出勤情况计算出奖励金;

( 3 )计算工资总额部分—根据输入的扣除额及奖金计算出总额;

( 4 )计算税金部分—由工资总额中计算出应扣除各种税金;

( 5 )生成工资表—根据计算总额部分和计算税金部分传递来的有关职工工资的详细信息生成工资表。试根据要求画出该问题的数据流程图。

40.用自顶向下结构化程序设计方法编写直接选择排序从小到大排列的程序。要求保持良好的程序风格,加上必要的注释()。

用C语言编写:

/*程序名称:直接选择排序;*/

/*作者:陈明锐;*/

/*完成日期:2006年6月9日;*/

/*过程头:selectsort(int *A;int N)*/

/*输入参数:N为元素个数(N<=1000);A整型数组,从1到N存放待排序元素;*/

/*返回结果:数组A为指针,由它返回排序结果;*/

void selectsort(int *A;int N)

{

int i,j,k,x;

for (i=1;i

{

k=i;/*先假设I位置上的值最小*/

for (j+=i;j<=N;j++) /*求I到N位置上的最小值*/ if (A(j)

if (k<>i)/*需要交换A(K)和A(I)的值*/

{ /*交换A(K)和A(I)*/

x=A(i);

A(i)=A(k);

A(k)=x

} /*结束交换*/

} /*求出了第I个最小值*/

} /*SELECTSORT*/

41.把事务型数据流图映射成软件结构图:

42.把变换型数据流图映射成软件结构图:

43、什么是软件复用?简述软件复用和软件共享、软件移植的差别。

答:软件复用是指在构造新的软件系统的过程中,对已存在的软件人工制品的使用技术。如果是在一个系统中多次使用一个相同的软件成分,这叫软件共享;对一个软件进行修改,使它能运行于新的软、硬件平台这称作软件移植。

44、什么是软件再工程?软件再工程的主要活动有哪些?

答:软件再工程是运用逆向工程、重构等技术,在充分理解原有软件的基础上,进行分解、综合,并重新构建软件,用以提高软件的可理解性、可维护性、可复用性或演化性。主要活动:信息库分析、文档重构、逆向工程、代码重构、数据重构、正向工程。

选择题

1. 软件工程的概念是哪年提出的(B )。

A. 1988

B. 1968

C. 1948

D. 1928

2. 瀑布模型的关键不足在于(D )。

A. 过于简单

B. 各个阶段需要进行评审

C. 过于灵活

D. 不能适应需求的动态变更

3. 以下哪一项不是软件危机的表现形式(C )。

A. 开发的软件不满足用户需要

B. 开发的软件可维护性差

C. 开发的软件价格便宜

D. 开发的软件可靠性差

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

A. 简化、压缩的

B. 详细的

C. 彻底的

D. 深入的

5. 结构化设计是一种面向(A )的设计方法。

A. 数据流

B. 模块

C. 数据结构

D. 程序

6. 与确认测试阶段有关的文档是(A )。

A. 需求规格说明书

B. 概要设计说明书

C. 详细设计说明书

D. 源程序

7. 软件开发的需求活动,其主要任务是(D )。

A. 给出软件解决方案

B. 给出系统模块结构

C. 定义模块算法

D. 定义需求并建立系统模型

8. 以下说法错误的是(A )。

A. 文档仅仅描述和规定了软件的使用范围及相关的操作命令

B. 文档也是软件产品的一部分,没有文档的软件就不成软件

C. 软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量

D. 高质量文档对于发挥软件产品的效益有着重要的意义

9. 一个项目是否开发,从经济上来说是否可行,归根结底是取决于(A )。

A. 成本估算

B. 项目计划

C. 工程管理

D. 工程网络图

10. 在面向对象的设计中,我们应遵循的设计准则除了模块化、抽象、低耦合、高内聚以外,还有( B)。

A. 隐藏复杂性

B. 信息隐蔽

C. 经常类的复用

D. 类的开发

11. 面向对象的主要特征除对象惟一性、封装、继承外,还有(A )。

A. 多态性

B. 完整性

C. 可移植性

D. 兼容性

12. 在考察系统的一些涉及时序和改变的状况时,要用动态模型来表示。动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是( B)。

A. 数据流图

B. 状态图

C. 系统结构图

D. 用例图

13. 面说法正确的是(C )。

A. 经过测试没有发现错误说明程序正确

B. 测试的目标是为了证明程序没有错误

C. 成功的测试是发现了迄今尚未发现的错误的测试

D. 成功的测试是没有发现错误的测试

14. ( D)能够有效地检测输入条件的各种组合可能会引起的错误。

A. 等价类划分

B. 边界值分析

C. 错误推测

D. 因果图

15火车是一种陆上交通工具。火车和陆上交通工具之间的关系是( D)关系。

A. 组装

B. 整体部分

C. has a

D. 一般特殊

16、软件维护产生的副作用,是指(C )

A、开发时的错误

B、隐含的错误

C、因修改软件而造成的错误

D、运行时误操作

17、使用程序设计的控制结构导出测试用例的测试方法是( B )

A、黑盒测试

B、白盒测试

C、边界测试

D、系统测试

18、软件详细设计的主要任务是确定每个模块的(A )

A、算法和使用的数据结构

B、外部接口

C、功能

D、编程

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

A、深度

B、宽度

C、扇入

D、扇出

20、为了提高模块的独立性,模块内部最好是( C )

A、逻辑内聚

B、时间内聚

C、功能内聚

D、通信内聚

21、软件是一种( C )

A、程序

B、数据

C、逻辑产品

D、物理产品

22、需求分析最终结果是产生( B )

A、项目开发计划

B、需求规格说明书

C、设计说明书

D、可行性分析报告

23、因计算机硬件和软件环境的变化而作出的修改软件的过程称为( B )

A、纠正性维护

B、适应性维护

C、完善性维护

D、预防性维护

24、下列属于维护阶段的文档是( C )

A、软件规格说明

B、用户操作手册

C、软件问题报告

D、软件测试分析报告

25、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( C )

A、条件覆盖法

B、等价分类法

C、边界值分析法

D、错误推测法

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

A. 技术可行性

B. 经济可行性

C. 社会可行性

D. 法律可行性

27、按软件生命周期方法设计软件的过程中,画数据流图属于下面哪个阶段的工作(A )

A、需求分析

B、程序设计

C、详细设计

D、软件维护

28、经过严密的软件测试后所提交给用户的软件产品中( B )

A、软件不再包含任何错误

B、还可能包含少量软件错误

C、所提交给用户的可执行文件不会含有错误

D、文档中不会含有错误。

29、等价划分测试方法属于( A )

A、黑盒测试

B、白盒测试

C、边界测试

D、系统测试

30、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( B )

A.可用性

B.可靠性

C.正确性

D.完整性

31、确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于(C )

A、集成测试

B、恢复测试

C、确认测试

D、单元测试

32、要显示描绘软件开发项目各作业的依赖关系,应选择( B )。

A. Gantt图

B.工程网络

C. COCOMO模型

D.数据流图

33、从心理学角度看,对数据流程图的数据处理泡进行分解,一次分解为多少个泡为宜。(B )

A、3±1

B、7±2

C、15±1

D、18±2

34、结构化程序设计主要强调的是( D )

A、程序的规模

B、程序的效率

C、程序设计语言的先进性

D、程序易读性

35、在用户界面层次上对软件进行测试属于哪种测试方法( A )

A、黑盒测试

B、白盒测试

C、边界测试

D、系统测试

36、对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。

A、结合

B、隐藏

C、封装

D、抽象

37、(D )是比较理想的可重用软构件。

A.子程序库

B.源代码包含文件

C.对象

D.类

38、下列模型属于成本估算方法的有( A )

A、COCOMO模型

B、McCall模型

C、McCabe度量法

D、时间估算法

39、软件生存周期中时间最长的是( D )阶段。

A、总体设计

B、需求分析

C、软件测试

D、软件维护

40、为了提高模块的独立性,模块之间的联系最好的是(D )。

A、公共耦合

B、控制耦合

C、内容耦合

D、数据耦合

41、软件概要设计结束后得到( B )

A、初始化的软件结构图

B、优化后的软件结构图

C、模块的接口图和详细算法

D、程序编码

42、为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,所以( C )的编制是很重要的。

A、需求说明

B、概要说明

C、软件文档

D、测试计划

43、汽车有一个发动机,因而汽车与发动机之间的关系是(B )关系。

A、一般与特殊

B、整体与部分

C、分类关系

D、is a 关系

44、软件部件的内部实现与外部可访问性的分离,是指软件的(C )。

A、继承性

B、共享性

C、封装性

D、抽象性

45、单元测试是发现编码错误,集成测试是发现模块的接口错误,确认测试是为了发现功能错误,那么系统测试是为了发现(C )的错误。

A、接口错误

B、编码错误

C、性能、质量不合要求

D、功能错误

46、软件工程管理对软件项目的开发管理,即对整个软件()的一切活动的管理。

A、软件项目

B、生存期

C、软件开发计划

D、软件开发

47、许多产品的质量问题源于新产品的开发设计阶段,因此在产品(C )阶段就应采取有力措施来消灭由于设计原因而产生的质量隐患。

A、软件评审

B、软件测试

C、开发设计

D、软件度量

48、下列几种类型中,耦合性最弱的是( D )。

A、内容型

B、控制型

C、公共型

D、数据型

49、系统因错误而发生故障时,仍然能在一定程度上完成预期的功能,则把该软件称为( A )。

A、软件容错

B、系统软件

C、测试软件

D、恢复测试

50.瀑布模型的关键不足在于B

A、过于简单

B、不能适应需求的动态变更

C、过于灵活

D、各个阶段需要进行评审

51.在面向对象软件开发方法中,类与类之间主要有以下结构关系(1)

(1)继承和聚集(2)继承和一般(3)聚集和消息传递(4)继承和方法调用

52.以下哪一项不是软件危机的表现形式(3)

(1)成本高(2)生产率低(3)技术发展快(4)质量得不到保证

53.以下哪一项不是面向对象的特征(4)

(1)多态性(2)继承性(3)封装性(4)过程调用

54.软件可行性研究一般不考虑(4)

(1)是否有足够的人员和相关的技术来支持系统开发(2)是否有足够的工具和相关的技术来支持系统开发(3)待开发软件是否有市场、经济上是否合算(4)待开发的软件是否会有质量问题

55.软件维护的副作用主要有以下哪几种(3)

(1)编码副作用、数据副作用、测试副作用(2)编码副作用、数据副作用、调试副作用(3)编码副作用、数据副作用、文档副作用(4)编码副作用、文档副作用、测试副作用

56.软件项目计划一般不包括以下哪项内容(4)

(1)培训计划(2)人员安排(3)进度安排(4)软件开发标准的选择和制定

57.以下哪一项不属于面向对象的软件开发方法(3)

(1)coad方法(2)booch方法(3)jackson方法(4)omt方法

58.以下哪种测试方法不属于白盒测试技术(2)

(1)基本路径测试(2)边界值分析测试(3)循环覆盖测试(4)逻辑覆盖测试

59. “软件危机”是指(C )

A. 计算机病毒的出现

B. 利用计算机进行经济犯罪活动

C. 软件开发和维护中出现的一系列问题

D. 人们过分迷恋计算机系统

60. DFD中的每个加工至少需要(D )

A. 一个输入流

B. 一个输出流

C. 一个输入或输出流

D. 一个输入流和一个输出流

61. 为了提高模块的独立性,模块之间最好是(D )

A. 控制耦合

B. 公共耦合

C. 内容耦合

D. 数据耦合

62. 下面关于PDL语言不正确的说法是(B )

A. PDL是描述处理过程怎么做

B. PDL是只描述加工做什么

C. PDL也称为伪码

D. PDL的外层语法应符合一般程序设计语言常用的语法规则

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

A. DFD图

B. 程序图

C. PAD图

D. SC图

64. 不适合作为数据处理与数据库应用的语言是(D )

A. SQL

B. Cobol

C. 4GL

D. Lisp

65. 下列关于功能性注释不正确的说法是(B )

A. 功能性注释嵌在源程序中,用于说明程序段或语句的功能以及数据的状态

B. 注释用来说明程序段,需要在每一行都要加注释

C. 可使用空行或缩进,以便很容易区分注释和程序

D. 修改程序也应修改注释

66. 下列关于效率的说法不正确的是(D )

A. 效率是一个性能要求,其目标应该在需求分析时给出

B. 提高程序效率的根本途径在于选择良好的设计方法,数据结构与算法

C. 效率主要指处理机时间和存储器容量两个方面

D. 程序的效率与程序的简单性无关

67. 测试的关键问题是(D )

A. 如何组织对软件的评审

B. 如何验证程序的正确性

C. 如何采用综合策略

D. 如何选择测试用例

68. 结构化维护与非结构化维护的主要区别在于(D )

A. 软件是否结构化

B. 软件配置是否完整

C. 程序的完整性

D. 文档的完整性

69. 软件维护困难的主要原因是(C )

A. 费用低

B. 人员少

C. 开发方法的缺陷

D. 得不到用户支持

70. 可维护性的特性中,相互矛盾的是( )

A. 可理解性与可测试性

B. 效率与可修改性

C. 可修改性和可理解性

D. 可理解性与可读性

71. 快速原型是利用原型辅助软件开发的一种新思想,它是在研究( )的方法和技术中产生的。

A. 需求阶段

B. 设计阶段

C. 测试阶段

D. 软件开发的各个阶段

72. 从目前情况来看,增量模型存在的主要问题是( )

A. 用户很难适应这种系统开发方法

B. 该方法的成功率很低

C. 缺乏丰富而强有力的软件工具和开发环境

D. 缺乏对开发过程中的问题和错误具有应付变化的机制

73. 下列文档与维护人员有关的有( )

A. 软件需求说明书

B. 项目开发计划

C. 概要设计说明书

D. 操作手册

D. 实现错误检测和错误恢复的程序

74. ( )是为了确保每个开发过程的质量,防止把软件差错传递到下一个过程而进行的工作。

A. 质量检测

B. 软件容错

C. 软件维护

D. 系统容错

75. 表示对象相互行为的模型是( )模型。

A. 动态模型

B. 功能模型

C. 对象模型

D. 静态模型

76. CASE工具的表示集成是指CASE工具提供相同的( )

A. 编程环境

B. 用户界面

C. 过程模型

D. 硬件/操作系统

77. 在软件开发中,()是指对将要开发的系统的开发成本进行估算,然后与可能取得的效益进行比较和权衡。

A. 成本—效益分析

B. 可行性分析

C. 结构化分析

D. 软件需求分析

78. 软件开发过程来自用户方面的主要干扰是()

A. 功能变化

B. 经费减少

C. 设备损坏

D. 人员变化

79. 软件复杂性度量的参数包括()

A. 结构

B. 问题背景

C. 可重用性

D. 容错性

80. 在 McCall 软件质量度量模型中,()属于面向软件产品操作。

A. 可维护性

B. 效率

C. 适应性

D. 可互操作性

81. 为了提高软件的可维护性或可靠性而对软件进行的修改称为()

A. 纠错性维护

B. 适应性维护

C. 完善性维护

D. 预防性维护

82. 面向维护的技术涉及软件开发的()阶段。

A. 设计

B. 编码

C. 测试

D. 所有

83. 用白盒技术设计测试用例的方法包括()

A. 边界值分析

B. 条件组合覆盖

C. 因果图

D. 错误推测

84. 软件测试的目的是()

A. 为了表明程序没有错误

B. 为了说明程序能正确地执行

C. 为了发现程序中的错误

D. 为了评价程序的质量

85. 针对软件需求分析所进行的软件测试是指()

A. 集成测试

B. 确认测试

C. 黑盒子测试

D. 白盒子测试

86. 源程序文档化要求在每个模块之前加序言性注释。该注释内容不应有()

A. 模块的功能

B. 语句的功能

C. 模块的接口

D. 开发历史

87. 结构化程序设计采用的三种基本控制结构是()

A. 顺序、分支、选择

B. 选择、循环、重复

C. 顺序、选择、循环

D. 输入、变换、输出

88. 在软件设计中详细描述处理过程常用的三种工具是()

A.SA , SD , SP

B. 程序流程图, IPO , PAD

C.SA , SC , SD

D. 图形,表格,语言

89. 通信内聚、逻辑内聚、顺序内聚和时间内聚的内聚性从高到低顺序是()

A. 通信、逻辑、顺序、时间

B. 通信、时间、顺序、逻辑

C. 顺序、通信、时间、逻辑

D. 顺序、通信、逻辑、时间

90. 在下列四种模块的耦合性中,信息隐蔽性能最好的是()

A. 控制耦合

B. 内容耦合

C. 标记耦合

D. 数据耦合

91. 结构化方法是一种()的软件开发方法。

A. 面向用户

B. 面向数据结构

C. 面向对象

D. 面向数据流

92. 需求分析是回答系统必须()的问题。

A. 做什么

B. 怎么做

C. 何时做

D. 为谁做

93. 在软件生产的(),使用的工具主要是机器语言和汇编语言。

A. 程序系统时代

B. 软件工程时代

C.面向对象时代

D. 人工智能时代

94.软件工程管理的具体内容不包括对 _________ 管理。()

A .开发人员

B .组织机构

C .控制

D .设备

95 .在 McCall 软件质量度量模型中, _________ 属于面向软件产品操作。()

A .正确性

B .可维护性

C .适应性

D .互操作性

96.在快速原型模型的开发过程中,用原型过程来代替全部开发阶段所用模型是 _________ 模型。()A .探索型原型B .演化型原型

C .实验型原型

D .增量型原型

97 .维护中因删除一个标识符而引起的错识是 _________ 副作用。()

A .文档

B .数据

C .编码

D .设计

98.软件维护的困难主要原因是()

A .费用低

B .人员少

C .开发方法的缺陷

D .维护难

99 .用白盒法技术设计测试用例的方法包括()

A .错误推测

B .因果图

C .基本路径测试

D .边界值分析

100.软件测试中根据测试用例设计的方法的不同可分为黑盒测试和白盒测试两种,它们()

A .前者属于静态测试,后者属于动态测试

B .前者属于动态测试,后者属于静态测试

C .都属于静态测试

D .都属于动态测试

101.程序的三种基本控制结构的共同特点是()

A .只能用来描述简单程序

B .不能嵌套使用

C .单入口,单出口

D .仅用于自动控制系统

102. JSP 方法是一种面向 _________ 的设计方法。()

A .控制结构

B .对象

C .数据流

D .数据结构

103 .当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为()

A .数据耦合

B .公共耦合

C .标记耦合

D .内容耦合

104 .软件设计的方法有多种, _________ 方法不属于面向数据流的设计方法。()

A .基于 Jackson 图的设计

B .基于 IDEF 0 图的设计

C .交换分析设计

D .事务分析设计

105.为高质量地开发软件项目,在软件结构设计时,必须遵循 _________ 原则。()

A .信息隐蔽

B .质量控制

C .程序优化

D .数据共享

106 .数据流图( DFD )是 _________ 方法中用于表示系统的逻辑模型的一种图形工具。()A . SA B . SD

C . SP

D . SC

107.螺旋模型是一种将瀑布模型和 _________ 结合起来的软件开发模型。()

A .增量模型

B .专家系统

C .喷泉模型

D .变换模型

108.需求规格说明书的作用不包括()

A .软件验收的依据

B .用户与开发人员对软件要做什么的共同理解

C .软件可行性研究的依据

D .软件设计的依据

109.数据字典是用来定义 _________ 中的各个成份的具体含义的。()

A .流程图

B .功能结构图

C .系统结构图

D .数据流图

110 .设年利率为 i ,现存入 p 元,不计复利, n 年后可得钱数为()

A . p ﹡ (1+i ﹡ n)

B . p ﹡ (i+1) n

C . p ﹡ (1+i) ﹡ n

D . p ﹡ (i+n)

111 .在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了()

A .软件危机

B .软件工程

C .程序设计革命

D .结构化程序设计

112 . Putnam 成本估算模型是一个()模型。

A .静态单变量

B .动态单变量

C .静态多变量

D .动态多变量

113 .在 McCall 软件质量度量模型中,()属于面向软件产品修改。

A .可靠性

B .可重用性

C .适应性

D .可移植性

114 . ISO 的软件质量评价模型由 3 层组成,其中用于评价设计质量的准则是()

A . SQIC

B . SQM

C C . SQRC

D . SQDC

115 .软件复杂性度量的参数包括()

A .效率

B .规模

C .完整性

D .容错性

116 .对象实现了数据和操作的结合,使数据和操作()于对象的统一体中。

A .结合

B .隐藏

C .封装

D .抽象

117 .软件调试技术包括()

A .边界值分析

B .演绎法

C .循环覆盖

D .集成测试

118 .瀑布模型的存在问题是()

A .用户容易参与开发

B .缺乏灵活性

C .用户与开发者易沟通

《软件工程》11套考试复习练习试题、作业题[含答案解析]

作业1: 1. 软件是计算机系统中与硬件相互依存的另一部分,它是包括( A )、( B )及( C )的完整集合。其中,( A )是按事先设计的功能和性能要求执行的指令序列。( B )是使程序能够正确操纵信息的数据结构。( C )是与程序开发、维护和使用有关的图文材料。供选择的答案: A~C. ①软件②程序③代码④硬件 ⑤文档⑥外设⑦数据⑧图表 2. 开发软件时对提高软件开发人员工作效率至关重要的是( A )。软件工程中描述生存周期的瀑布模型一般包括计划、( B )、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成( C )和( D )两步。 供选择的答案: A.①程序开发环境②操作系统的资源管理功能 ③程序人员数量④计算机的并行处理能力 B.①需求分析②需求调查③可行性分析④问题定义 C、D.①方案设计②代码设计③概要设计④数据设计 ⑤运行设计⑥详细设计⑦故障处理设计⑧软件体系结构设计 3. 从供选择的答案中选出适当字句填入下列关于软件发展过程的叙述中的( )内。 有人将软件的发展过程划分为4个阶段: 第一阶段(1950~1950年代末)称为“程序设计的原始时期”,这时既没有( A ),也没有( B ),程序员只能用机器指令编写程序。 第二阶段(1950年代末~1960年代末)称为“基本软件期”。出现了( A ),并逐渐普及。随着( B )的发展,编译技术也有较大的发展。 第三阶段(1960年代末~1970年代中期)称为“程序设计方法时代”。这一时期,与硬件费用下降相反,软件开发费急剧上升。人们提出了( C )和( D )等程序设计方法,设法降低软件的开发费用。 第四阶段(1970年代中期~现在)称为“软件工程时期”。软件开发技术不再仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如( E )、( F )、编码、单元测试、综合测试、( G )及其整体有关的各种管理技术。 供选择的答案: A ~ D:①汇编语言②操作系统③虚拟存储器概念④高级语言 ⑤结构式程序设计⑥数据库概念⑦固件⑧模块化程序设计 E ~ G:①使用和维护②兼容性的确认③完整性的确认④设计 ⑤需求定义⑥图象处理 4. 软件工程过程有哪几个基本过程活动?试说明之。 5. 试说明“软件生存周期”的概念。 6. 试论述瀑布模型软件开发方法的基本过程。 7. 软件工程是开发、运行、维护和修复软件的系统化方法,它包含哪些要素?试说明之。 8. 软件工程学的基本原则有哪些?试说明之。 9. 有人说:软件开发时,一个错误发现得越晚,为改正它所付出的代价就越大。对否?请解释你的回答。

《软件工程》期末复习题及答案

《软件工程》期末复习题及答案 1.运用所掌握的知识,通过抽象,给出该系统的结构,这就是 A.系统建模 B.软件开发 C.问题求解 D.验证确认 3.结构化分析方法给出了一种能表达功能模型的工具是()。 A.HIP0图 B.PAD图 C.N-S图 D.DFD图 7.在某大学学生学籍管理信息系统中,假设学生年龄的输入范围为16~40,则根据黑盒测试中的等价类划分技术,下面划分正确的是()。 A.可划分为2个有效等价类,2个无效等价类 B.可划分为1个有效等价类,2个无效等价类 C.可划分为2个有效等价类,1个无效等价类 D.可划分为1个有效等价类,1个无效等价类 10.是把对象的属性和服务结合成一个独立的系统单元,并尽可能隐藏对象的内部细节;继承是指子类可以自动拥有父类的全部属性和服务;()是对象发出的服务请求,一般包含提供服务的对象标识、服务标识、输入信息和应答信息等。 A.继承 B.多态 C.消息 D.封装 11.分层DFD中父子平衡是指()。 A.父加工的数据流数目与子图中数据流数目相同 B.父图应包含子图中的全部数据流 C.子图应包含父图中的全部数据流 D.父加工和子图的输入数据和输出数据应分别保持一致 2.在建模过程中,可用以描述加工的工具是()。 A.数据流 B.判定树 C.数据字典 D.数据存储 13.以下软件生存周期的活动中,要进行软件结构设计的是()。 A.测试用例设计 B.概要设计C.程序设计 D.详细设计 16.CMMI 成熟度等级中的第四级为()。 A.已定义级 B.已定量管理级 C.持续优化级 D.已重复 17.以下选项中,最适合于用交互式计算机软件解决的问题是()。 A.非结构化决策问题 B.半结构化决策问题 C.结构化决策问题 D.确定性问题 18.系统测试是将软件系统与硬件、外设和网络等其他因素结合,对整个软件系统进行测试。不是系统测试的内容()。 A.路径测试 B.可靠性测试 C.安装测试 D.安全测试 19.项目管理工具中,将网络方法用于工作计划安排的评审和检查的是()。 A.Gantt图B.PERT网图 C.因果分析图 D.流程图 20.选择软件开发工具时,应考虑功能、( )、稳健性、硬件要求和性能、服务和支持。

《软件工程》经典考试例题复习题-重点知识点(含标准答案)

《软件工程》经典考试例题复习题-重点知识点(含答案)

————————————————————————————————作者:————————————————————————————————日期:

1. 某旅馆的电话服务如下:可以拨分机号和外线号码。分机号是从7201至7299。外线号码先拨9,然后是市话号码或长话号码。长话号码是以区号和市话号码组成。区号是从100到300中任意的数字串。市话号码是以局号和分局号组成。局号可以是455,466,888,552中任意一个号码。分局号是任意长度为4的数字串。 要求:写出在数据字典中,电话号码的数据流条目的定义即组成。 电话号码=[分机号|外线号码] 分机号=7201 (7299) 外线号码=9+[市话号码|长话号码] 长话号码=区号+市话号码 区号=100 (300) 市话号码=局号+分局号 局号=[455|466|888|552] 分局号=4{数字}4 数字=[0|1|2|3|4|5|6|7|8|9] 2. 为以下程序流程图分别设计语句覆盖和判定覆盖测试用例,并标明程序执行路径。 开始(x>1) AND (y=0) (x=2) OR (z>1) 语句段1 语句段2结束 F F T T a b c d e (1)语句覆盖测试用例 令x=2,y=0,z=4作为测试数据,程序执行路径为abcde 。 (2)判定覆盖 可以设计如下两组数据以满足判定覆盖: x=3,y=0,z=1(1分)(通过路径abce ); x=2,y=1,z=2(1分)(通过路径acde )。 或者 x=2,y=1,z=1;覆盖路径acde x=1,y=1,z=1;覆盖路径ace x=3,y=0,z=1;覆盖路径abce (注意:本题也还可以有其他答案) 3. 请用判定表画出以下问题的行为逻辑。 人们往往根据天气情况决定出门时的行装。天气可能下雨,也可能不下雨;下雨或不下雨天气可能变冷,也可能不变冷。如果天气要下雨,出门时带上雨伞;如果天气变

软件工程复习题及参考答案

软件工程课程复习资料 一、单项选择题: 1.下面哪些UML图描述系统行为 A.用例图 B.类图 C.对象图 2.属于概要设计活动的是 A.软件结构设计 B.数据结构设计 C.算法设计 3.属行为型设计模式的是 A.组合模式 B.工厂方法模式 C.观察者模式 4.下列说法正确的是 A.UML 是软件开发方法 B.UML是系统描述语言 C.UML是软件开发过程 5.根据程序流程图划分的模块通常是 A.信息内聚的模块 B.过程内聚的模块 C.逻辑内聚的模块 6.如果某程序中的比较个数是m,则其 McCabe环形复杂度为 A.m-1 B.m C.m+1 7.按ISO9000-3的说明,下列属软件配置项的是 A.软件开发方法 B.软件开发组织管理制度 C.软件开发合同 8.软件测试的目的是 A.证明软件无错 B.发现软件中的所有错误 C.尽可能发现软件系统中的错误 9.软件重构关注的是 A.软件体系结构 B.模块细节 C.软件性能 10.软件项目开发计划的内容有 A.数据分析 B.风险分析 C.功能分析 11.在UML的类图中,描述整体与部分关系的是 A.泛化关系 B.聚合关系 C.依赖关系 12.软件过程能力成熟度模型CMM用以评价 A.软件过程能力 B.组织能力 C.学习能力 13.因计算机硬件和软件环境的变化而作出的修改软件的过程称为 A.完善性维护 B.改正性维护 C.适应性维护 14.对项目软件而言,软件功能需求信息主要由谁提供 A.软件用户 B.软件开发人员 C.软件项目管理人员 15.IDEF0 图反映不出 A.系统做什么 B.系统功能由谁做 C.系统如何做 16.原型模型是一种什么开发过程模型 A.自顶向上 B.由外至内 C.增量式 17.系统流程图描述 A.物理系统 B.逻辑系统 C.软件体系结构 18.需求规格说明书的内容不应该包括 A.软件确认准则 B.软件的性能描述 C.算法过程的详细描述 19.适合需求模糊或需求不确定系统开发的软件开发模型是 A.瀑布模型 B.RAD 模型 C.原型模型 20.UML 图中描述系统结构的是 A.组件图 B.顺序图 C.状态图 21.面向对象方法是一种什么软件开发方法 A.层次化 B.迭代增量式 C.逐步求精 22.不可以用来衡量软件可维护性的是 A.可靠性 B.可用性 C.可行性 23.系统分析员在需求分析最后负责编写 A.用户手册 B.概要设计说明书 C.可行性研究报告 24.为了提高软件的可靠性、可维护性等而对软件的修改称为 A.改正性维护 B.适应性维护 C.预防性维护 25.在结构化方法中,为使需求改变对软件影响较小,应该使软件结构 A.与问题结构对应 B.与问题结构独立 C.与用户界面对应 26.单元测试的计划应该在什么阶段完成 A.需求分析 B.概要设计 C.详细设计

软件工程期末考试总复习题及答案

复习题 填空题 1.在信息处理和计算机领域内,一般认为软件是_程序____、_ 文档____ 和_数据____ 。 2.数据流图的基本组成部分有_数据的源点与终点____、数据 流_____、加工_____、数据文件_____。 3.数据流图和数据字典共同构成了系统的_逻辑____模型,是 需求规格说明书的主要组成部分。 4.划分模块时尽量做到__高内聚、低耦合______,保持模块的 独立性,尽量使用公共模块。 5.类的实例化是_对象_______。 6.人们常用硬件可靠性的定量度量方法来度量软件的可靠性和 可用性,常用的度量软件可 7.靠性的两个指标是_成功地运行的概率_______和_平均故障 时间_______。 8.将待开发的软件细化,分别估算每一个子任务所需要的开发 工作量,然后将它们加起来, 9.将得到软件的总开发量。这种成本估算方法称为_自底向上 _______。 10.如果一个模块被n 个模块调用,其中直接的上级模块的个数 是m 个(m<=n )那么该模块的扇入数是____N_______ 个。 11.结构化设计以__数据流图_________ 为基础,按一定的步骤 映射成软件结构。 12.软件的风险分析可包括风险识别、风险预测和风险驾 驭(或风险管理)等3项活动。 13.软件著作权登记的3种主要类型:(1)著作权登记;(2)著 作权延续登记;(3)权利转移备案登记。 14.软件工程管理的主要内容有:项目经费管理,软件质量管理, 项目进度管理和人员管理。

15.面向对象分析的目的是对客观世界的系统进行___建模 _______________ 。 16.软件维护工作的生产性活动包括分析评价、修改设计和____ 编写程序代码_______ 等。 17.为了使应用软件适应计算机环境的变化而___修改软件 _______________ 的过程称为适应性维护。 18.一个进行学生成绩统计的模块其功能是先对学生的成绩进行 累加,然后求平均值,则该模块的内聚性是__________顺序内聚________ 。 19.投资回收期就是使累计的经济效益等于__最初的投资费用 ______________ 所需的时间。 20.软件生存周期是指一个软件从提出开发要求开始直到__软 件废弃____为止的整个时期。 21.曾被誉为“程序设计方法的革命”的结构化程序设计,使 程序设计从主要依赖于程序员个人的自由活动变成为有章可循的一门科学。 22.从结构化程序设计到面向对象程序设计,是程序设计方法 的又一次飞跃。 23.在单元测试时,需要为被测模块设计___测试用例_______。名词解释 1.数据词典——是描述数据信息的集合,它对数据流图中的各 个元素按规定格式进行详细的描述和确切的解释,是数据流图的补充工具。 2.数据流图——他以图形的方式反映系统的数据流程 3.白盒测试——按照程序内部的结构测试程序,检验程序中的 每条路径是否都能按预定要求正确工作。有两种测试法既逻辑覆盖测试法和路径测试法 4.黑盒测试——按照程序的功能测试程序,检验与程序功能有 关的输入、输出与程序执行是否正确。有四种方法既等价分类法、边界值分析法、错误猜测法和因果图法 5.完善性维护——为了适应用户业务和机构的发展变化而对软

软件工程复习题及答案

软件工程复习题及答案 1. 软件工程的三要素是()。 A. 技术、方法和工具 B. 方法、对象和类 C. 方法、工具和过程(正确答案) D. 过程、模型、方法 2. 在下列选项中,()不属于软件工程学科所要研究的基本内容。 A. 软件工程材料(正确答案) B. 软件工程目标 C. 软件工程原理 D. 软件工程过程 3. ()是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。 A. 软件生命周期 B. 软件测试 C. 软件工程(正确答案) D. 软件过程 4. 下列说法中正确的是()。 A. 20世纪50年代提出了软件工程的概念 B. 20世纪60年代提出了软件工程概念(正确答案) C. 20世纪70年代出现了客户机/服务器技术 D. 20世纪80年代软件工程学科达到成熟 5. 软件危机的主要原因是()。 A. 软件工具落后 B. 软件生产能力不足 C. 对软件的认识不够

D. 软件本身的特点及开发方法(正确答案) 6. 增量模型本质上是一种()。 A. 线性顺序模型 B. 整体开发模型 C. 非整体开发模型(正确答案) D. 螺旋模型 7. 软件过程是()。 A. 特定的开发模型 B. 一种软件求解的计算逻辑 C. 软件开发活动的集合(正确答案) D. 软件生命周期模型 8. 软件生命周期模型不包括()。 A. 瀑布模型 B. 用例模型(正确答案) C. 增量模型 D. 螺旋模型 9. 数据流图是进行软件需求分析的常用图形工具,其基本图形符号是()。 A. 输入、输出、外部实体和加工 B. 变换、加工、数据流和存储 C. 加工、数据流、数据存储和外部实体(正确答案) D. 变换、数据存储、加工和数据流 10. 在结构化分析方法中,用以表达系统内数据的运动情况的工具是()。 A. 数据流图(正确答案) B. 数据字典 C. 结构化语言 D. 判定表与判定树 11. 在需求分析之前有必要进行()工作。 A. 程序设计

软件工程复习题(带答案)

软件工程复习题(带答案) 软件工程复习题 一、单选题 1、软件开发的结构化设计(SD)方法,全面指导模块划分的最重要原则应该是( c ) A模块高内聚 B模块低耦合 C模块独立性 D程序模块化2、软件工程方法的提出起源于软件危机,而其目的应该是最终解决软件的什么问题?( D ) A产生危机 B质量保证 C开发效率 D生产工程化 3、软件工程开发的可行性研究是决定软件项目是否继续开发的关键,而可行性研究 的结论主要相关于( A ) A软件系统目标 B软件的性能 C软件的功能 D软件的质量 4、软件需求分析一般应确定的是用户对软件的( D ) A.功能需求 B.非功能需求 C.性能需求 D.功能需求和非功能需求 5、软件测试是满足软件的功能和性能要求,保证软件正确性的措施,一般软件测试 计划的制订应始于软件开发的哪个阶段? ( D ) A.需求分析 B.软件设计 C.程序编码 D.软件计划 6、软件工程方法是在实践中不断发展的方法,而早期的软件工程方法主要是指( B ) A.原型化方法

B.结构化方法 C.面向对象方法. D.功能分解法 7、数据流图描述数据在软件中流动和被处理变换的过程,它是以图示的方法来表示,即.( A ) A.软件模型 B.软件功能 C.软件结构 D.软件加工 8、软件工程学涉及到软件开发技术和工程管理两方面的内容,下述内容中哪一个不 属于开发技术的范畴?(D) A.软件开发方法 B.软件开发工具 C.软件工程环境 D.软件工程经济 9、软件文档是软件工程实施中的重要成份,它不仅是软件开发的各阶段的重要依 据,而且也影响软件的() A.可理解性 B.可维护性 C.可扩展性 D.可靠性 10、从( )语言开始,软件摆脱了对硬件的依赖。 A.第一代 B.第二代 C.第三代 D.第四代 11、在下面列出的基本成分中,哪个不是实体关系图的基本成分? ( ) A.实体

软件工程复习题库带答案完整版

一、选择题 1、白盒测试法是通过分析程序的(C)来设计测试用例的。 A.应用范围 B.功能 C.内部逻辑 D.输入数据 2、风险预测从两个方面评估风险,即风险发生的可能性以及(D)。 A.风险产生的原因 B.风险监控技术 C.风险能否消除D风险发生所产生的后果 3、极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性和(C)。 A.好的计划 B.不断的发布 C.反馈和勇气 D.持续集成 4、等价分类法的关键是(C)。 A.确定等价类的边界条件 B.按照用例来确定等价类 C.划分等价类D确定系统中相同和不同的部分 5、下列不属于黑盒测试的技术是(A)。 A.程序段或语句的功能 B.模块的接口 C.数据的名称和用途 D.模块的功能 6、为了提高模块的独立性,模块之间最好是(D)耦合。 A.控制耦合 B.公共耦合 C.内容耦合 D.数据耦合 7、一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用(A)来表述“谁做”。 A.角色 B.活动 C.制品 D.工作流 &功能性注释嵌入在源程序内部,它是用来说明(A)。 A.程序段或语句的功能B模块的接口 C.数据的名称和用途D模块的功能 9、在结构化分析方法中,数据字典是重要的文档。对加工的描述是数据字典的组成内容之一,常用的加工描述方法有(C)。 A.只有结构化语言.B有结构化语言和判定树 C.有结构化语言、判定树和判定表 D.有判定树和判定表 10、某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行(B)维护。 A.正确性B适应性 C完善性D预防性 11、软件危机的主要原因是(A)。 A软件本身特点与开发方法B对软件的认识不够 C软件生产能力不足D软件工具落后 12、DFD是常用的进行软件需求分析的图形工具,其基本符号是(C)。 A.输入、输出、外部实体和加工 B.变换、加工、数据流和存储 C.加工、数据流、数据存储和外部实体 D•变换、数据存储、加工和数据流

《软件工程》复习题及答案

软件工程复习题 第一部分(第1~6章) 一、选择题: 1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)。 A.软件工程 B.软件周期 C.软件危机 D.软件产生 2.瀑布模型本质上是一种(A )模型。 A.线性顺序 B.顺序迭代 C.线性迭代 D.早期产品 3.瀑布模型存在的问题是(B )。 A.用户容易参与开发 B.缺乏灵活性C.用户与开发者易沟通 D.适用可变需求 4.螺旋模型是一种将瀑布模型和(A)结合起来的软件开发模型。 A.增量模型B.专家系统C.喷泉模型D.变换模型 5.原型化方法是用户和设计者之间执行的一种交互构成,适用于(A)系统。 A.需求不确定性高的 B.需求确定的C.管理信息 D.实时 6.下列有关软件工程的标准,属于国际标准的是(C ) A.GB B.ANSI C.ISO D.IEEE 7.结构化方法是一种基于(D)的方法。 A.数据结构 B.程序结构 C.算法 D.数据流 8.软件可行性研究实质上是要进行一次( A)需求分析、设计过程。 A、简化、压缩的 B、详细的 C、彻底的 D、深入的 9.可行性研究的目的是(D) A、分析开发系统的必要性 B、确定系统建设的方案 C、分析系统风险 D、确定是否值得开发系统 10.设年利率为i,现存入p元,n年后可得钱数为(C)。 A、P×(1+i*n) B、P× (i+1)*n C、p×(1+i)n D、p×(i+n) 11.可行性研究是在(A)之前 A、系统开发 B、测试 C、试运行 D、集成测试 12.可行性研究需要的时间长短取决于系统的规模,一般来说,可行性研究的成本只是预期总成本的 (C)。 A、1% B、20% C、8% D、50% 13.我国正式颁布实施的(B)对计算机病毒的定义具有法律性、权威性。 A.《计算机软件保护条例》

软件工程复习题及答案

一、单项选择题(本大题共60小题,在每小题的四个备选答案中,选出一个正确答案,并将 正确答案填涂在答题卡上) 1.软件质量因素不包括。 A.正确性 B.高性能 C.可测试性 D.可理解性 2.软件可行性研究实质上是要进行一次需求分析、设计过程。 A.简化、压缩的 B.详细的 C.彻底的 D.深入的 3.以下哪个软件生存周期模型是一种风险驱动的模型。 A.瀑布模型 B.增量模型 C.螺旋模型 D.喷泉模型 4.可行性分析中,系统流程图用于描述。 A.当前运行系统 B.当前逻辑模型 C.目标系统 D.新系统 5.结构化分析建立功能模型的工具是。 A.DFD B.判定树/判定表 C.SC D.结构化语言 6.检查软件产品是否符合需求定义的过程称为。 A.确认测试 B.集成测试 C.系统测试 D.单元测试 7.在整个软件维护阶段所花费的全部工作中,所占比例最大的是。 A.校正性维护 B.适应性维护 C.完善性维护 D.预防性维护 8.通信内聚是指。 A.把需要同时执行的动作组合在一起形成的模块 B.各处理使用相同的输入数据或者产生相同的输出数据 C.一个模块中各个处理元素都密切相关于同一功能且必须顺序执行 D.模块内所有元素共同完成一个功能,缺一不可 9.一个只有顺序结构的程序,其环形复杂度是。 A.0 B.1 C.3 D.5 10.下述四个能力成熟度等级,级别最高的是。 A.已定义级 B.优化级 C.可重复级 D.已管理级 11.结构化程序设计,主要强调的是。 A.程序的执行效率 B.模块大小 C.程序的可理解性 D.模块关系 12.软件调试技术包括。 A.边界值分析 B.演绎法 C.循环覆盖 D.集成测试

软件工程复习题及答案(完整)

一、选择 1、文档是软件产品的一部分,没有文档的软件就不称其为软件。对 2、在需求分析过程中,分析员要从用户那里解决的最重要的问题是给该软件提供哪些信息。错 3、需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。错 4、建立用例模型的步骤包括确定角色、确定用例和绘制用例图。错 5、数据流图建立系统的功能模型,它由数据流、加工和数据存贮组成。错 6、软件配置管理是一组标识、组织和控制修改源程序的活动。错 7、UML是一种直观化、明确化、构建和文档化软件产物的通用语言。错 8、好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。对 9、边界值分析方法是取输入/输出等价类的边界值作为测试用例。对 10、面向对象的分析是面向计算机系统建立软件系统的对象模型。错 11、(D)是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。 A 软件过程 B 软件测试 C 软件生存周期 D 软件工程 12、ISO9000是由ISO/TC176制定的关于(B)和质量保证的国际标准。 A 质量控制 B 质量管理 C 质量策划 D 质量改进 13、CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。除第1级外,每个等级都包含了实现该成熟度等级目标的若干 (B)。 A 关键实践 B 关键过程域 C 软件过程能力 D 软件过程 14、在软件开发的各种资源中,(D)是最重要的资源。 A 开发工具 B 方法 C 硬件环境 D 人员 15、软件的复杂性是(A),它引起人员通信困难、开发费用超支、开发时间超时等问题。 A 固有的 B 人为的 C 可消除的 D 不可降低的 16、在各种不同的软件需求中,(D)描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明。 A 业务需求 B 功能需求 C 非功能需求 D 用户需求 17、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A)系统。 A 需求不确定的 B 需求确定的 C 管理信息 D 决策支持 18、(A)意味着一个操作在不同的类中可以有不同的实现方式。 A 多态性 B 多继承 C 类的可复用 D 信息隐蔽 19、时序图反映对象之间发送消息的时间顺序,它与(D)是同构的。 A 用例图 B 类图 C 活动图 D 协作图 20、单元测试的测试用例主要根据(D)的结果来设计。 A 需求分析 B 源程序 C 概要设计 D 详细设计 二、填空题 1、在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那么学生和课程之间是关联关系。 2、类A的一个操作调用类B的一个操作,且这两个类之间不存在其他关系,那么类A和类B之间是依赖关系。 3、用例及其协作之间是实现关系。 4、接口及其实现类或构件之间是实现关系。 5、动物与老虎之间是泛化关系。 三、问答题 1、软件复用的范围不仅仅涉及源程序代码,请至少列出5种可能复用的软件元素。 可复用的软件元素包括(选5种):项目计划、成本估计、体系结构、需求模型和规格说明、设计、用户文档和技术文档、用户界面、数据结构、测试用例。 2、传统"瀑布模型"的主要缺陷是什么?试说明造成缺陷的原因。 传统"瀑布模型"的主要缺陷及其原因:在项目的早期,用户常常很难清楚地给出所有需求,瀑布模型却要求如此。由于瀑布模型的特点,早期的错误直到开发晚期才能被发现,开发的风险较大。

软件工程复习习题(含答案)

一、选择题 1.在软件危机中表现出来的软件质量差的问题,其原因是___没有软件质量标准____。 2.在软件质量因素中,软件在异常条件下仍能运行的能力成为软件的___健壮性__。 3.在下列测试技术中,___逻辑覆盖___不属于黑盒测试技术。 4.___封装___是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。 5.软件测试时为了___发现错误_____而执行程序的过程。 6.在软件系统中,一个模块应具有什么样的功能,这是由___需求分析__决定的。 7.面向对象分析是对系统进行___需求分析_____的一种方法。 8.软件文档是软件工程实施中的重要部分,它不仅是软件开发各阶段的重要依据,而且影响软件的___可维护性____。 9.模块内聚度越高,说明模块内各成分彼此结合的程序越____紧密__。 10.软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码、测试和维护等阶段,一般认为可能占用人员最多的阶段是_维护阶段__。11.常用的面向对象的软件过程模型是__喷泉模型_____。生命周期模型 A.瀑布模型(规范化,阶段性取得前进) B.喷泉模型(面向对象,开发活动间没明显边界,无缝过渡) C.原型模型(快速,线性顺序,不带反馈环) D.增量模型(产品分解为一系列增量构件,开发中逐步加入) E.螺旋模型(瀑布&快速原型结合,每阶段加风险评估) 12.面向对象的分析阶段建立的系统模型不包括____数据模型____。 有对象模型、动态模型、功能模型 13.提高软件的可维护性可采用很多措施,下列哪个不在措施之列?提供没有错误的程序。 措施:建立质量保证制度、改进程序文档质量、明确软件质量标准 14.计算机系统可以划分为软件系统和硬件系统,软件是一种逻辑产品。 15. 可行性分析研究的主要目的是项目是否值得开发 16.在下列四种模块的耦合性中,信息隐蔽性能最好的是(C数据耦合) A.控制耦合 B.内容耦合 C. 数据耦合 D. 特征耦合 17.需求分析是回答系统必须(D做什么)的问题。 A. 为谁做 B.怎么做 C.何时做 D.做什么 18.在UML中,类是用(A矩形框)表示的 A 矩形框 B 椭圆 C 箭头 D 菱形框 19.编码阶段是位于哪个阶段之后A A. 详细设计 B. 可行性研究 C. 总体设计 D. 需求分析 20.在数据流图中,圆圈符号表示的是B A. 数据源点或终点 B.数据处理 C. 数据存储 D. 数据流 21.内聚是衡量模块内部聚合能力的量度。内聚越高,说明模块内各成分彼此联系的程度C A.越松散B.彼此相等C.越紧密D.没有联系 22.在瀑布模型中,将软件划分为若干个时期,软件项目的可行性研究一般归属于(D) A、维护时期 B、开发时期 C、运行时期 D、计划时期 23.软件维护有四种,下面哪一个不是的B A. 完善性维护 B. 测试性维护 C. 预防性维护 D. 适应性维护 24.结构化程序设计采用的三种基本控制结构是(A) A.顺序、选择、重复 B.选择、循环、重复 C.顺序、分支、选择 D.输入、变换、输出 25.软件测试的目的是(B) A. 为了表明程序没有错误 B.为了发现程序中的错误 C. 为了说明程序能正确地执行 D.为了评价程序的质量 26.在UML的用例图中,人形符号表示的是C A 关联 B 用例C角色 D 系统 27.软件测试方法中,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试(D) A、结构合理性 B、软件外部功能 C、程序正确性 D、程序内部逻辑 28.下面哪些测试属于黑盒测试(C)。 A、路径测试 B、循环测试 C、等价类划分 D、条件判断 29.(A)是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。

软件工程导论 期末复习题及答案

软件工程导论期末复习题及答案 正确答案:C.研究软件系统的开发过程和方法 软件工程的主要目标是提高软件的质量,包括可靠性、可用性、可维护性和可重用性等。同时,软件工程也致力于降低软件开发和维护的成本,提高软件的生产率。因此,以上选项都是正确的。 A.人员 B.方法 C.工具 D.程序正确答案:D.程序 软件工程的三个基本要素是人员、方法和工具。其中,人员是指参与软件开发和维护的人员,包括项目经理、系统分析师、程序员、测试人员等;方法是开发软件所采用的方法,包括面向对象方法、面向过程方法等;工具是指支持软件开发和维护的工具,包括编译器、调试器、测试工具等。程序是软件开发的结果之一,不属于软件工程的三个基本要素。 D.软件从测试到发布的整个过程正确答案:A.软件从开发到维护的整个过程 软件生命周期是指软件从开发到维护的整个过程,包括需求分析、设计、编码、测试、发布、维护和退役等阶段。因此,选项A是正确的答案。选项B、C、D都只描述了软件生命周期的部分阶段,不完整。

A.需求分析 B.编码 C.测试 D.维护正确答案:D.维护 软件开发过程中的活动包括需求分析、设计、编码、测试等阶段,而维护是软件使用过程中的一个阶段,不属于软件开发过程中的活动。因此,选项D是正确的答案。 在软件工程中,以下哪个选项最接近于“用户故事”的定义? 答案:A.一种用于描述用户需求的文档。用户故事是软件开发中的一种重要工具,它用于收集、整理和描述用户需求,以便更好地理解和满足用户的需求。 以下哪个选项是面向对象编程(OOP)中的基本概念? 答案:B.类。在面向对象编程中,类是一种抽象数据类型,它定义了一个对象的结构,包括属性(状态)和方法(行为)。 在软件开发中,以下哪个阶段最可能涉及到代码重构? 答案:C.编码阶段。代码重构是在编码阶段进行的一项活动,它通常涉及到修改和优化代码的结构和实现方式,以提高代码的可读性、可维护性和效率。 答案:A. Git。版本控制是软件开发中的一项重要工具,用于跟踪和

软件工程复习题及答案

软件工程复习题及答案 选择题 1.在结构化设计SD方法中全面指导模块划分的最重要的原则是( D ) A.程序模块化 B.模块高内聚 C.模块低耦合 D.模块独立性 2.软件维护产生的副作用,是指( C ) A.开发时的错误 B.隐含的错误 C.因修改软件而带来的错误 D.运行时误操作 3.软件详细设计的主要任务是确定每个模块的( A ) A.算法和使用的数据结构 B.外部接口 C.功能 D.编程 4.为了提高模块的独立性,模块内部最好是( C ) A.逻辑内聚 B.时间内聚 C.功能内聚 D.通信内聚 5.软件是一种( C ) A.程序 B.数据 C.逻辑产品 D.物理产品 6.下列那个模型不是面向对象的分析中建立的模型( B ) A.对象模型 B.瀑布模型 C.动态模型

D.功能模型 7.确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于 A.集成测试 B.恢复测试 C.验收测试 D.单元测试 8.采用Gantt图表示软件项目进度安排,下列说法中正确的是( D ) A.能够反映多个任务之间的复杂关系 B.能够直观表示任务之间相互依赖制约关系 C.能够表示哪些任务是关键任务 D.能够表示子任务之间的并行和串行关系 9.程序的三种基本控制结构是( B ) A.过程、子过程和分过程 B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移 10.软件生存周期中时间最长的是( D )阶段 A.总体设计 B.需求分析 C.软件测试 D.软件维护 11.为使得开发人员对软件产品的各个阶段工作都进行周密的思考,所以( C )的编制是很重要 的。 A.需求说明 B.概要设计 C.软件文档 D.测试计划 12.软件部件的内部实现和外部可访问性的分离,是指软件的( C )。

软件工程考试答案-复习题

一、选择填空 1.软件工程三要素是( B )。 A) 技术、方法和工具 B) 方法、工具和过程 C) 方法、对象和类 D) 过程、模型、方法 2.下列关于瀑布模型的描述正确的是( D )。 A)利用瀑布模型,如果发现问题修改的代价很低 B)瀑布模型的核心是按照软件开发的时间顺序将问题简化 C)瀑布模型具有良好的灵活性 D)瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开 3.以下说法正确的是( B )。 A.对于软件项目,投资回收期越长,越快获得利润。 B.用例模型的基本组成部件是用例、角色和用例之间的联系。 C.模块接口简单是软件发生错误的一个主要原因。 D.软件的质量保证工作一般在编码工作结束后才开始。 4.对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。 A.结合 B.隐藏 C.封装 D.抽象 5.可行性研究的步骤中不包括(D )的内容。 A.复查初步分析结果 B.研究现有的系统 C.导出新系统高层逻辑模型 D.建立新系统的物理模型解法。 6.技术可行性是可行性研究的关键,其主要内容一般不包括( C )。 A.风险分析 B.资源分析 C.人员分析 D.技术分析 7.需求分析最终结果是产生( B ) A.项目开发计划 B.需求规格说明书 C.设计说明书 D.可行性分析报告 8.需求分析的任务不包括( B )。 A.问题分析 B.系统设计 C.需求描述 D.需求评审。 9.需求分析中开发人员要从用户那里了解( A ) A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模 10.数据字典是数据流图中所有元素的定义的集合,一般由( C )组成。 A) 数据说明条目、控制流条目、加工条目、数据存储条目

软件工程复习题答案

. 选择题 1.软件工程研究的主要内容有(ABCD) 2. A.软件开发方法、技术B.软件开发工具及环境 3. C.软件管理技术 D.软件规范(国际规范) 4.目前典型的软件开发模型有(ABCD): 5. A.瀑布模型 B.增量模型C.螺旋模型D.喷泉模型 6.包含风险分析的软件工程模型是(C): 7. A.瀑布模型 B.增量模型C.螺旋模型D.喷泉模型 &软件危机的主要表现是(BD) 9. A.软件成本太高 B.软件产品的质量低劣 10. C.软件开发人员明显不足D.软件生产率低下 11.以下属于非功能需求的有(ABC) 12. A.机构需求B.产品需求C.外部需求D.领域需求 13.需求分析的作用是(ABCD) 14. A.定义软件的范围及必须满足的约束 15. B.确定软件的功能和性能及与其他系统成分的接I I 16. C.建立数据模型、功能模型和行为模型 17. D.最终提供需求规格说明,并用于作为评估软件质量的依据 18.需求工程的基本活动包括(ABCD) 19. A.获取需求B.需求分析与建模 C.确认需求D.进化需求 20.需求获取之所以困难,其主要原因有(ABCD) 21. A.缺乏领域知识 B.存在默认的知识 22. C.存在多个知识源 D.客户可能的偏见 23.常用的需求分析方法有(BCD) 24. A.功能分析方法 B.结构化分析方法 25. C.信息建模法 D.面向对彖的分析方法 26.数据词典中可包含的条目有(ABCD) 27. A.数据流B.数据项C.文件D.加工 28•属于分布式的软件体系结构有(B) 29. A.仓库模型B.客户/服务器模型C.分布式对象结构 D.中间件 30.对于以下给出的几种类型的耦合,按照耦合性由高到低排列的是(A) 31.(1)内容耦合(2)公共耦合(3)控制耦合(4)复合耦合(5)数据耦合 32. A. 12 345 B. 1 3 4 2 5 C. 1 2 5 3 4 D. 5 4 3 2 1 33.对于块内部联系的类型,内聚性由弱到强的是(A) 34.(1)偶然型(2)逻辑型(3)瞬时型(4)通信型(5)顺序型(6)功能型

软件工程习题及答案解析

一、选择题: 1. 为了提高测试的效率,应该。 A、随机地选取测试数据 B、取一切可能的输入数据作为测试数据 C、在完成编码后制定软件的测试计划 D、选择发现错误可能性大的数据作为测试数据 2. 与设计测试数据无关的文档是。 A、需求说明书 B、设计说明书 C、源程序 D、项目开辟设计 3. 结构设计是一种应用最广泛的系统设计方法,是以为基础、自顶向下、逐步求精和模块化的过程。 A、数据流 B、数据流图 C、数据库 D、数据结构 4. 概要设计的结果是提供一份。 A、模块说明书 B、框图 C、程序 D、数据结构 5. 需求分析是由分析员经了解用户的要求,认真细致地调研、分析,最终应建立目标系统的逻辑模型并写出。 A、模块说明书 B、软件规格说明书 C、项目开辟计划 D、合同文档 6. 注释是提高程序可读性的有效手段,好的程序注释占到程序总量的。 A、1/6 B、1/5 C、1/4 D、1/3 7. 变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于。 A、变换型 B、事务型 8. PAD (Problem Analysis Diagram)图是一种工具。 A、系统描述 B、详细设计 C、测试 D、编程辅助 9. 分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的。 A、总貌 B、细节 C、抽象 D、软件的作者 10. 数据流图中,当数据流向或者流自文件时,。 A、数据流要命名,文件不必命名 B、数据流不必命名,有文件名就足够了 C、数据流和文件均要命名,因为流出和流进数据流是不同的 D、数据流和文件均不要命名,通过加工可自然反映出

软件工程复习试题及答案

软件工程复习试题及答案 Revised by BETTY on December 25,2020

一、填空题(在下划线上填写正确的答案,每题2分,共20分) 1.等价划分是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数。 2.数据流图和数据字典共同构成了系统的逻辑模型。 3.盒图也称为 N-S图。这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。 .数据流图有四种基本成分:源、终点,处理,存储,数据 流。 7 8SA是一种面向数据流的分析方法。 9.软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个由下而上的过程。 10.耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚、低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。 1.常用的软件开发模型有瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型。 2.软件生存周期一般可分为问题定义、可行性研究、需求分析、设计、编码、单元测试、运行与维护阶段。 3.软件测试的步骤:单元、集成、系统、验收。 4.数据流图的基本符号包括加工、数据流、数据存储文件、汇 点。 5.IPO图由输入、处理和输出三个框组成。这个图的特点是能够直观的显示三者之间的关系。 6.面向对象方法是一种运用类、实例、属性、重载、消息传送、多态性等概念来构造系统的软件开发方法。 7.分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的逆向工程。 8.程序测试是对编码阶段的语法错、语义错和运行错进行查找的编码执行活动。 9.为了获得较高的模块独立性,尽量设计出具有高内聚和低藕合性能的模块。 10.常用的测试方法有黑盒测试和白盒测试。

软件工程复习重点答案

软件工程复习重点 一、选择题 1、软件工程三要素是指( B )P8 A、技术、方法和工具 B、方法、工具和过程 C、方法、对象和类 D、过程、模型、方法 2、瀑布模型本质上是一种( A )。P23 A、线性顺序模型 B、顺序迭代模型 C、线性迭代模型 D、及早见产品模型 3、结构化设计是一种应用最广泛的系统设计方法,是以( B )为基础,自顶向下,求精和模块化的过程。P79 A、数据流 B、数据流图 C、数据库 D、数据结构 4、概要设计的任务是设计系统的( B物理模型)P70 A、逻辑模型 B、物理模型 C、概念模型 D、程序流程图 5、描述软件结构的工具有( A模块结构图) A、模块结构图 B、PAD图 C、数据流程图 D、程序 6、进行需求分析可以使用多种工具,但( C )是不适用的。 A、数据流程图 B、判定表 C、PAD图(详细设计) D、数据字典 7、可行性研究要进行的需求分析和设计应该是( C )。 A、详细的 B、全面的 C、简化的、压缩的 D、彻底的 8、软件生命周期由( C )三个时期组成。 A、概要设计、详细设计和系统实现 B、可行性分析、系统设计和编码 C、定义、开发和运行维护 D、分析、设计和测试 9、以下( D )不是模块。对象是一个实体 A、过程 B、程序 C、函数 D、对象 10、程序流程图、N-S图和PAD图是( B )使用的算法表达工具。 A、设计阶段的概要设计 B、设计阶段的详细设计 C、编码阶段 D、测试阶段 11、一个模块直接控制(调用)的下层模块的数目称为模块的( B扇出)P78 A、扇入数 B、扇出数 C、宽度 D、作用域 12、下列工具哪一个是需求分析阶段常用工具?( D ) A、PAD B、PFD C、N-S D、DFD数据流程图 需求分析常用的是数据流程图和数据字典 13、为了提高测试的效率,应该( D) A、随机地选取测试数据 B、取一切可能的输入数据作为测试数据库 C、在完成编码后制定软件的测试计划 D、选择发现错误可能性大的数据作为测试数据 14、成功的测试是指( B发现程序的错误) A、运行测试实例后未发现错误项 B、发现程序的错误 C、证明程序正确 D、改正程序的错误 15、软件工程中只根据程序的功能说明而不关心程序内部的逻辑结构的测试方法,称为( C黑盒测试)测试。 A、白盒法 B、灰盒法 C、黑盒法 D、综合法 16、在物理设计阶段,根据处理的需要,进行物理存储安排,形成数据库的( A内模式) A、内模式 B、外模式 C、概念模式 D、物理模式

相关主题
文本预览
相关文档 最新文档