最新电大本科软件工程期末复习题Word格式.docx

上传人:b****5 文档编号:19774569 上传时间:2023-01-10 格式:DOCX 页数:19 大小:32.50KB
下载 相关 举报
最新电大本科软件工程期末复习题Word格式.docx_第1页
第1页 / 共19页
最新电大本科软件工程期末复习题Word格式.docx_第2页
第2页 / 共19页
最新电大本科软件工程期末复习题Word格式.docx_第3页
第3页 / 共19页
最新电大本科软件工程期末复习题Word格式.docx_第4页
第4页 / 共19页
最新电大本科软件工程期末复习题Word格式.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

最新电大本科软件工程期末复习题Word格式.docx

《最新电大本科软件工程期末复习题Word格式.docx》由会员分享,可在线阅读,更多相关《最新电大本科软件工程期末复习题Word格式.docx(19页珍藏版)》请在冰豆网上搜索。

最新电大本科软件工程期末复习题Word格式.docx

ε)比较。

(用例视图)用于描述系统的功能集。

29、

50、瀑布模型存在的问题是(缺乏灵活性)。

30、用(静态)模型建立系统组织结构。

51对象模型描述现实世界中实体的对象以及它们之间31、、(开发一个简单的问题解决方案)不是分析建模的目的。

的关系,表示目标系统的静态数据结构。

在面向对象方52、对用例进行设计,发现实现用例功能的(关键类),法中,由(类图)实现。

确定类之间的关系。

来实现的,如果对象之间的耦合是通过、(消息机制)3253则这种耦合就是交互耦合。

、框架是一组可用于不同应用的(类)的集合。

54、从狭义上讲,软件测试是(为发现错误而执行程序)、定义类的属性类型时尽量使用已有类型,太多自定33的过程。

义类型会降低系统的(可维护性)指标。

55、在设计黑盒测试用例时,、在设计测试用例时,应该包括(上面所有情况)测34主要研究(需求规格说明)。

56、试用例。

(白盒测试)时,测试人员必须接触到程序源代码。

57、一般维护程序代码的策略(边值分析和等价类划分)属于功能测试方法。

35、(根据维护申请读源程序,并修改)、一个软件项目大约()的工作量在开发阶段,。

()3658的工作量在维护阶段。

、Gantt图直观简明、易学易用,但它不能(直接反)30%,70%(应任务间的依赖关系和关键路径)。

、软件项目管理的内容不包括(技术和算法)3759、、通俗的说,软件项目管理中常说的基线是(通过正38(软件配置管理)针对开发过程中的程序、数据、文档提出使用和管理策略。

式复审的文档)

60)语言。

C、科学计算领域一般选择(39、程序的三种基本控制结构,包括顺序结构、(判断结构)和循环结构。

(层。

)3层次不要超过对于嵌套的循环和分支程序,406141、在分析模型内表示协调、顺序、事务处理以及控制、软件工程的研究内容具有层次化结构,最底层是质量保证层,中间层是(过程层和方法层),最上层是工其他对象的类是(控制类)。

具层。

、继承耦合是(一般化类与特殊化类)之间的一种关42

62联形式,设计时应该适当使用这种耦合。

美国著名软件工程专家B.W.Boehm于1983年提出了

软件工程的(7)条基本原理。

,这、构架设计的主要目的是(确定系统总体结构)43

63、下面哪个选项不是软件工程研究的内容(精通一门项工作由经验丰富的构架设计师主持完成。

1/14

编程语言)。

91、用(动态)模型描述和分析业务流程。

92、用(界面类)描述系统与角色之间的接口。

64可行性研究的主要任务是(进行一次简要的需求分93、对类进行详细设计,主要是设计类的(属性和方法),析)。

优化类之间的关系。

、用户需求描述的是(用户使用该软件要完成的任6594、面向对象设计强调定义(软件对象),并且使它们务)。

相互协作来满足用户需求。

66、数据流程图的主要作用是(描绘系统的逻辑模型)。

95、软件设计的目标是(在最短的时间内,生产出可靠67、软件测试的目标是设计优秀的测试用例,(以最小的代价、在最短的时间内尽可能多地发现软件中的错性、可维护性俱佳的软件方案。

)。

误)。

68、内容耦合是模块间最紧密的耦合,(非直接耦合)

96、(程序员应该仔细测试自己编写的程序代码)不符是模块间最松散的耦合。

合软件测试原则。

()。

/(动作的主体69、面向对象是“先”确定()“后”97、引起软件改变的原因主要有(D)执行动作)

A.运行环境变化

B.需求变化C.系统有错D.以上全部是一种(面向对象建模语言)语言。

70、UML

98、(软件配置管理)针对开发过程中的程序、数据、)的方法应用于软件的开发和D71、软件工程强调将(文档提出使用和管理策略。

D.B.规范化维护过程之中。

A.系统化C.可度量

99、现在人们更强调程序代码的(可维护性)。

以上全部100、程序的三种基本控制结构,包括顺序结构、(判断、软件开发活动的顺序应该是(问题定义、可行性研72结构)和循环结构。

究、需求分析、设计、编码和测试。

1.软件对硬件和环境有着不同程度的依赖性,这导致元,73假定银行的存款年利率是50002%,请问现在存了软件(升级和移植)问题。

两年后的价值应为(5202)元。

2.原型化方法是用户和设计者之间的一种交互手段,74、系统物理模型用(系统流程图)表示。

适用于(需求不确定性高的)系统。

、关于软件需求特性不正确的描述是“软件需求具有753.IEEE是(国际电气和电子工程师协会)的简称。

(准确性)”。

4.可行性研究的主要目的是(确定系统是否值得开发)。

,模块集成76、随着模块规模减小,模块开发成本()5.(功能需求)定义了软件开发人员必须实现的软件功增加)/成本()。

(减小能。

、反映模块独立性的指标是(内聚和耦合)77。

6.数据流程图中的处理不能表示(数据组成)。

,而过程实施78、面向过程的方法最关心的是(过程)7.随着模块规模的——,模块的开发成本——,但是的对象是作为过程参数传递的。

模块之间的接口变得复杂起来,使得模块的集成成本增80、用(用例)模型分析和定义用户的需求。

加。

(减小,减小)、动态模型描述系统的动态结构和对象之间的交互,818.详细设计与概要设计衔接的图形工具是(SC图)。

表示瞬时的、行为化的系统“控制”特性。

面向对象方9.面向过程的方法最关心的是,而过程实施的是)实现。

法中,常用(DA.C.活动图交互图状态图B.作为过程参数传递的。

(过程/对象)D.以上全部11.目前面向对象分析有许多方法,大多数方法可以归,从分析、面向对象分析和设计的界限是(模糊的)82结为建立(功能模型)、对象模型、动态模型。

到设计是一个逐渐扩充模型的过程。

12.构建类图是(对象模型)的任务。

,体现了子、每个子系统的接口定义了若干(操作)8313.首先用(配置图)描述系统的物理构架,然后将需求系统的功能,而功能的具体实现方法应该是隐藏的。

分析阶段捕获的系统元素分配到这些物理节点上。

、测试最早的开始时间是(从需求分析阶段开始)84。

14.类的属性结构要坚持简单的原则,尽可能不使用复、从测试对象的粒度上划分测试为(单元测试、集成85杂的(数据结构)。

测试、系统测试和验收测试)15.现在人们更强调程序的(可读性)。

,软件的规模86、维护的工作量与软件规模成(正比)16.程序的三种基本控制结构,包括顺序结构、(条件/可以由源程序的语句数量、模块数、输入输出文件数、判断结构)和循环结构。

数据库的规模,以及输出的报表数等指标来衡量。

17.一般性的软件其测试工作量大约占整个开发工作量70%年代,美国国防部的研究结果发现7087、上世纪的(40%)。

的项目是因为(管理不善引起)原因,造成项目失败。

18.下面哪些测试方法属于黑盒测试?

(等价类划分)所有程序设计语言的基本成分都可归纳为:

数据成8819.软件特性中,相互矛盾的是(效率与通用性)。

、控制成分和传输成分。

(运算成分)分、20.(软件配置管理)针对开发过程中的程序、数据、文10089一个函数的规模一般程序结构清晰且简单易懂,(档提出使用和管理策略。

左右)行。

90、不属于软件项目管理的是(软件销售利润)

2/14

二、简答题

1、试从软件的特点出发分析软件危机产生的原因。

(1)软件是一种逻辑实体,具有抽象性,无法看到软件本身的形态,必须通过观察、分析、思考和判断才能了解它的功能和性能。

(2)软件对硬件和环境有着不同程度的依赖性,这导致了软件升级和移植的问题。

计算机硬件和支撑环境不断升级,为了适应运行环境的变化,软件也需要不断维护,并且维护的成本通常比开发成本高许多。

(3)软件生产至今尚未摆脱手工方式,软件开发的手工行为造就了一个致命的问题,就是为应用“量身订做”软件。

长期以来,软件给人的感觉是修改几条指令很简单,客户总是强调软件要适应自己的业务需求。

因此,软件产品大多是为客户“订做”的,通用性差。

(4)软件涉及人类社会的各行各业,常常涉及一些行业知识,这对软件工程师提出了很高的要求。

(5)软件是与文学艺术作品相似的精神作品,与体力劳动相比,精神活动过程的特点是“不可见性”,这大大增加了组织管理上的困难。

2、面向对象的分析通常要建立三个模型,请问三个模型的作用?

1)功能模型:

表达系统的详细需求,为软件的进一步分析和设计打下基础。

在面向对象方法中,由用例图和场景描述组成。

2)对象模型:

表示静态的、结构化的系统“数据”性质。

描述现实世界中实体的对象以及它们之间的关系,表示目标系统的静态数据结构。

3)动态模型:

描述系统的动态结构和对象之间的交互,表示瞬时的、行为化的系统的“控制”特性。

3、一个程序片段如下,请设计符合条件组合覆盖的测试用例。

……

if(a>

=4)&

&

(b<

0){

c=a+b;

else

c=a-b;

if(c>

3)||(c<

1)

printf(“c不在计算区域\n”)

printf(“%d\n”,c);

a>

=4b<

0

=4b>

=0

a<

4b<

4b>

c>

3

c<

=3

1

=1

综合以上条件组合,设计测试用例如下(注意结果不唯一,只要满足上面的组合条件即可):

a=4b=-1c=3

a=4b=0c=4

a=-1b=-1c=0

a=-1b=0c=-1

4、软件工程为什么要强调规范化和文档化?

软件工程强调规范化和文档化。

规范化的目的是使众多的开发者遵守相同的规范,使软件生产摆脱个人生产方式,进入标准化、工程化的生产方式。

文档化是将软件的设计思想、设计过程和实现过程完整地记录下来,以便于后人的使用和维护,在开发过程中各类相关人员借助于文档进行交流和沟通。

另外,在开发过程中产生的各类文档使得3/14

软件的生产过程由不可见变为可见,便于管理者对软件生产进度和开发过程进行管理。

在用户最终验收时可以通过对提交的文档进行技术审查和管理审查,保证软件的质量。

5、读懂下面的程序,调整格式,使其更容易理解,并添加注释。

intmain()

{

inta[10];

for(inti=0;

i<

10;

i++)

scanf(“%d”,a[i]);

intmax=a[0],min=a[1];

for(intj=0;

j<

j++)

max=(max>

a[j]?

max:

a[j]);

min=(min<

min:

}

printf(max=%d,max);

printf(min=%d,min);

printf(\

);

return0;

//读入10个数据

scanf(%d,a[i]);

//max存放最大值,min存放最小值

intmax=a[0],min=a[0];

//从10个数中发现最大、最小值

//输出结果

6、软件需求可以分为业务需求、用户需求、功能需求和非功能需求,请分析业务需求与用户需求的区别?

业务需求是用户高层领导机构决定的,它确定软件的目标、规模和范围。

业务需求一般在进行需求分析之前就应该确定,需求分析阶段要以此为参照制定需求调研计划、确定用户核心需求和软件功能需求。

业务需求通常比较简洁,大约三~五页纸就可以描述清楚,也可以将它直接作为需求规格说明书中的一部分。

用户需求是用户使用该软件要完成的任务。

这部分需求应该充分调研具体的业务部门,详细了解最终用户的工作过程、所涉及的信息、当前系统的工作情况、与其他系统的接口等等。

用户需求是最重要的需求,也是出现问题最多的。

7、一个程序片段如下,请设计符合判定覆盖的测试用例。

=5)&

4/14

5)||(c<

参考答案:

条件:

=5b<

=5b≮0

1<

5

符合判定覆盖的测试用例(不唯一):

a=5,b=-1,c=4;

a=5,b=5,c=0;

8、请说明对象模型的作用是什么?

对象模型:

在面向对象方法中,类图是构建对象模型的核心工具。

9、请说明IPO图的作用,并给出一个IPO图的模板。

数据流程图中的处理本应该放在数据字典中进行定义,但是由于处理与数据是有一定区别的两类事物,它们各自有独立的描述格式,因此在实际项目中通常将处理说明用IPO图标描述。

下面是项目中常用的处理说明模板:

系统名称:

作者:

处理编号:

日期:

输入参数说明:

输出参数说明:

处理说明:

备注:

局部数据元素:

10、什么是耦合?

什么是内聚?

在软件设计中应该保持模块的独立性原则。

反映模块独立性的有两个标准:

内聚和耦合。

内聚衡量一个模块内部各个元素彼此结合的紧密程度;

耦合衡量模块之间彼此依赖的程度。

软件设计时追求高内聚、低耦合。

11、请画图说明软件工程的层次化结构,并详细分析中间两层的内容。

软件工程的内容具有层次化结构,最底层是质量保证层,中间是过程层和方法层,最上层是工具层。

见图:

工具层方法层过程层质量保证层

其中过程层定义了一组关键过程域,目的是保证软件开发过程的规范性和可控性。

方法层提供了软件开发的各种方法,包括如何进行软件需求分析和设计,如何实现设计,如何测试和维护等方法。

12、请为下面的程序设计符合判定覆盖的测试用例。

5/14

inta,b,c,x,y,z;

scanf(“d%,d%,d%),&

a,&

b,&

c);

ifa>

5x=10elsex=1;

ifb>

10y=20elsey=2;

ifc>

15z=30elsez=3;

printf(“d%,d%,d%\n”,x,y,z)

=5

b>

10

b<

=10

15

=15

判定测试用例(不唯一):

a=6b=11c=16;

a=5b=10c=15

13、请说明快速原型化模型的基本思想。

在需求分析的同时,以比较小的代价快速建立一个能够反映用户主要需求的原型系统。

用户在原型系统上可以进行基本操作,并且提出改进意见,分析人员根据用户的意见完善原型,然后再由用户评价,提出建议,如此往复,直到开发的原型系统满足了用户的需求为止。

基于快速原型化模型的开发过程基本上是线性的,从创建系统原型到系统运行,期间没有反馈环。

这是由于开发人员是在原型的基础上进行系统分析和设计,而原型已经通过了用户和开发组的审查,在设计阶段由于有原型作设计参考,所以设计的结果正确率比较高。

14、下面的程序段A被程序员误写成程序段B,请设计合适的测试用例发现其中的错误。

程序段A程序段B

…………

{{

T=0;

T=0;

if(A>

=1)&

(B>

=2)T=T+1;

if(A>

elseT=T+2;

elseT=T+2;

if(X>

=90)&

(Y>

=75)T=T+3;

if(X>

=90)&

(Y<

75)T=T+3;

elseT=T+4;

elseT=T+4;

}}

printf(“d%\n”,T);

printf(“d%\n”,T);

条件组合:

A>

=1B>

=2;

2

A<

1B>

=2

1B<

X>

=90Y>

=75

=90Y<

75

X<

90Y>

90Y<

由此获得测试用例:

A=1B=2;

A=1B=1;

A=0B=2;

A=0B=1;

X=90Y=75;

X=90Y=1;

X=1Y=75;

X=1Y=1;

其中X=90

Y=75能够发现错误。

15、请举例说明用例之间的包含关系和扩展关系的区别?

包含关系用于构造多个用例共同的活动。

例如,在ATM系统中,取钱、查询、更改密码等功能都需要验证用户密码。

这种情况下应该将密码验证功能独立出来,便于复用、减少冗余。

一个用例扩展另一个用例的功能,例如,在图书馆信息管理系统中,读者还书时,系统检查所还图书是否有预订记录,如果有则执行“通知”用例。

6/14

16、软件设计中的抽象是什么意思?

所谓抽象就是将事务的相似方面集中和概括起来,暂时忽略它们之间的差异。

或者说,抽象就是抽出事务的本质特性而暂时不考虑它们的细节

17、孩子阅读疲倦时,一定要休息。

如果不疲倦,但是对所阅读的内容不感兴趣,就跳到下一章;

如果不疲倦,对内容有兴趣,理解无困难,则继续阅读;

如果不疲倦,对内容有兴趣,但理解有困难,则应该重读。

请对上面的描述设计判定表。

疲YYYYNNNN

YYNNY感兴YNN

YNY糊涂NYNYN

重读√

√继续

跳到一下章√√

√√√休息√

化简为:

NNYN疲倦N感兴趣YY

糊涂YN

继续√

跳到一下章√√休息

18、活动图与状态图的区别?

(1)描述的重点不同:

活动图描述的是从活动到活动的控制流;

状态图描述的是对象的状态及状态之间的转移。

(2)使用的场合不同:

在分析用例、理解涉及多个用例的工作流、处理多线程应用等情况下,一般使用活动图;

在显示一个对象在其生命周期内的行为时,一般使用状态图。

19、试分析结构化方法存在的主要问题是什么?

(1)结构化方法分析和设计阶段所应用的模型之间存在鸿沟。

分析阶段的主要模型是数据流程图,设计阶段的主要模型是软件模块结构图,数据流程图和软件模块结构图之间需要进行转换。

不同的人转换出的模块图可能不同,有很大的随意性。

(2)需求分析的细化程度没有标准,只能凭借分析人员的经验自己把握;

需求分析的过程是在一种瀑布形式,当需求变更时,功能变化就会导致软件模块结构发生变化,造成了软件结构不稳定。

(3)结构化程序设计将数据定义与处理数据的过程相分离,不利于软件复用。

(4)结构化方法设计的软件结构不稳定,缺乏灵活性,可维护性差。

20、请说明判定表的作用及其结构。

判定表是结构花设计的工具,用于描述多重条件的处理。

分为4各部分:

条件列表、条件组合、操作列表、特定条件下的操作组合。

21、请给出软件工程七条基本原理中的任意三条基本原理。

原理1.用分阶段的生命周期计划严格管理

原理2.坚持进行阶段评审

原理3.实行严格的产品控制

原理4.采用现代程序设计技术

原理5.结果应能清楚地审查

原理6.开发小组的人员应该少而精

原理7.承认不断改进软件工程实践的必要性

7/14

22、结构化程序设计的特征是什么?

结构化程序设计的特征如下:

程序模块只有一个入口和一个出口、程序中只包含顺序、条件和循环三种控制结构。

23、软件需求可以分为业务需求、用户需求、功能需求和非功能需求,请分析业务需求与功能需求的区别?

功能需求定义了软件开发人员必须实现的软件功能。

用户从他们完成任务的角度对软件提出了用户需求,这些需求通常是凌乱的、非系统化的、有冗余的,开发人员不能据此编写程序。

软件分析人员要充分理解用户需求,将用户需求整理成软件功能需求。

开发人员根据功能需求进行软件设计和编码。

24、对

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

当前位置:首页 > 医药卫生 > 基础医学

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

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