文档库 最新最全的文档下载
当前位置:文档库 › 《软件工程》经典考试例题复习试题,重点知识点[含答案解析]

《软件工程》经典考试例题复习试题,重点知识点[含答案解析]

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.为以下程序流程图分别设计语句覆盖和判定覆盖测试用例,并标明程序执行路径。

(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.请用判定表画出以下问题的行为逻辑。

人们往往根据天气情况决定出门时的行装。天气可能下雨,也可能不下雨;下雨或不下雨天气可能变冷,也可能不变冷。如果天气要下雨,出门时带上雨伞;如果天气变冷,

出门时要穿上大衣。

4.对下列子程序进行调试:

procedure example(y,z: real; var x: real)

begin

if (y>1) and (z=0) then x:=x/y;

if (y=2) or (x>l) then x:=x+l;

end.

该子程序接受x, y, z的值,并将计算结果x的值返回给调用程序。完成下列各题:

(1)画出程序流程图。

(2)用条件组合覆盖设计测试用例,并写出其中一组测试用例。

答:(1)程序流程图

(2)用白盒法中条件组合覆盖设计测试用例:

① y=2, z=0, x=4;

② y=2, z=1, x=1;

③ y=1, z=0, x=2;

④ y=1, z=1, x=1. (注:也可有其它答案)

5.选择排序的伪代码如下,请根据代码画出其PAD图。

select_sort(a[1],a[2],…,a[n])

{

for(i=1;i

{

k=i;

for(j=i+1;j<=n;j++)

{

if(a[j]

if(k!=i) exchange(a[i],a[k]);

}

} }

6. 一本书有一个封面、一个目录、一个前言、若干章、每章有若干节、每节有若干段,有若干句子,有0个或多个插图,还有0个或多个表格,书最后有一个附录。试建立该书的对象模型。

目录

封面

前言

附录

句子

插图表格

1+

1+

1+

1+**

7. 根据伪码画出N -S 图和PAD 图。

START

IF A THEN

X1

DO UNTIL B

ELSE X2 Y END IF Z STOP N-S 图:

PAD 图:

T

F

UNTIL B

START

STOP

Z

X2Y

X1

8. 某报社采用面向对象技术实现报刊征订的计算机管理系统,该系统基本需求如下: (1)报社发行多种刊物,每种刊物通过订单来征订,订单中有代码,名称,订期,单价,份数等项目,订户通过填写订单来订阅报刊。

(2)报社下属多个发行站,每个站负责收集登陆订单、打印收款凭证等事务。 (3)报社负责分类并统计各个发行站送来的报刊订阅信息。 请就此需求建立对象模型。

9. 指出下列数据流图中存在的问题。

E

父图子图

(1)父图没有输入数据流;

(2)子图的输入数据流应该是C,而不是B;

(3)子图的输出数据流应该只有D和E,而不应有F。

10.某公司为本科以上学历的人重新分配工作,分配原则如下:

(1)如果年龄不满18岁,学历是本科,男性要求报考研究生,女性则担任行政工作;

(2)如果年龄满18岁不满50岁,学历本科,不分男女,任中层领导职务;

(3)如果年龄满50岁,学历本科,男性任科研人员,女性则担任资料员;

(4)学历是硕士,任课题组组长。

要求:画出分析过程,得出判定表,并进行化简。

(1)判定条件可能取值表:

(2)计算条件组合数2*3*2=12;

(3)初步判定表

(4)简化后的判定表

11.建立以下有关“微机”的对象模型。

一台微机有一个显示器,一个主机,一个键盘,一个鼠标,汉王笔可有可无。主机包括一个机箱,一个主板,一个电源及储存器等部件。储存器又分为固定储存器和活动存储器两种,固定存储器为内存和硬盘,活动存储器为软盘和光盘。

微机

显示器主机键盘鼠标汉王笔

机箱主板存储器电源

固定存储器活动存储器

内存硬盘软盘光盘

12.某商场在“五一”期间,顾客购物时付款有4种情况:普通顾客一次购物累计少于100

元,按A类标准付款(不打折),一次购物累计多于或等于100元,按B类标准付款(打9折);会员顾客一次购物累计少于1000元,按C类标准付款(打8折),一次购物累计等于或多于1000元,按D类标准付款(打7折)。

(1)请使用程序流程图来设计付款算法。

(2)按照路径覆盖法设计一组测试用例。

程序流程图

(2)按照路径覆盖法设计测试用例如下:(注:累计消费可取其它值)

是会员,累计消费900元,覆盖路径1-2-6-8

是会员,累计消费2000元,覆盖路径1-2-7-9 不是会员,累计消费80元,覆盖路径1-3-4 不是会员,累计消费300元,覆盖路径1-3-5-10

13. 试将下面程序流程图用N-S 图和PAD 图表示,并计算它的McCabe 环路复杂度。

A

F

Q=T

A

Until NOT P

N-S 图

Q=T

Q

T

B

B

PAD 图

Q

T

Until NOT P

END

START

MCCABe 环路复杂度=2+1=3

14.

图表示下图所示的二维表格:

该学生名册由表头和表体两部分组成。其中表头又顺序包括表名和字段名。表体可由任

意行组成,每行包括学生的姓名、性别、年龄和学号。

15.某培训中心要研制一个计算机管理系统。它的业务是:

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

(1)如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,查

该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出发票给学生。

(2)如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文

件上做相应的修改,并给学生注销单。

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

要求:对以上问题画出数据流程图。

16.已知被测试模块流程图如下,按照条件覆盖法,在表格中填入满足测试要求的数据。

题44图

假设几种可能的条件是:

T1: A>3 F1:A<=3 T2: B=1 F2: B≠1 T3: A=1 F3: A≠1 T4: M>1 F4: M<=1 填写下表

17.设计一个软件的开发成本为50000元,寿命为3年。未来3年的每年收益预计为22000

元﹑24000元﹑226620元。银行年利率为10%,不计复利。试对此项目进行成本效益分析,以决定其经济可行性。

解:三年后,50000万的价值为

50000*(1+3*10%)=65000元

三年软件总获利为

22000*(1+2*10%)+24000*(1+1*10%)+26620=79420元而 79420元>65000元

所以此项目盈利,经济可行。

18.如图1和图2所示是某公司员工工资管理的一部分,他们分别是同一功能的两个不同设

计方案,你认为那种设计方案较好?请陈述理由。

如图2所示的设计方案2好。利用衡量模块独立性的两个标准耦合性和内聚性(模块划分时应尽量做到高内聚、低耦合,提高模块独立性)判断设计方案优劣。图1中模块B 的功能是取平均工资或最高工资,可见模块B 包含两个功能,故模块B 内聚弱,而模块B 与模块A 的耦合是控制耦合,耦合程度较高,模块的相对独立性差。而在图2中,模块B 分解成两个相对独立的模块B1和B2,模块B1和B2内聚程度高,模块B1和B2与模块A 之间的耦合是数据耦合,耦合程度较低,因此模块的独立性好,所以图2的设计方案2好。

19. 某“调整工资”处理模块接受一个“职称”的变量,根据职称的不同(助教,讲师,副教授,教授)作不同的处理,其中若是助教还必须输入工龄,只有工龄超过两年才能调整工资。请用等价类划分法设计测试用例。

划分等价类:

设计测试用例:

题42 图1 设计方案1

题42 图2 设计方案2

20.试用判定表描述下列加工逻辑。加工逻辑为:如果申请者的年龄在21岁以下,要额外

收费;如果申请者是21岁以上并是26岁以下的女性,适用于A类保险;如果申请者是26岁以下的已婚男性,或者是26岁以上的男性,适用于B类保险;如果申请者是21岁以下的女性或是26岁以下的单身,适用于C类保险。附此之外的其他申请者都适用于A 类保险。

21.假设对顾客的订货单按如下原则处理:

将顾客的信用度分三个档次:

欠款时间不超过30天;

欠款时间超过30天但不超过100天;

欠款时间超过100天。

对于上述三种情况,分别根据库存情况来决定对顾客订货的态度。

情况之一(欠款时间≤30天),如果需求数≤库存量,则立即发货,如果需求数>库存量,则只发现有库存,不足部分待进货后补发。

情况之二(30天<欠款时间≤100天),如果需求数≤库存量,则要求先付款再发货,如果需求数>库存量,则不发货。

情况之三(欠款时间>100天),则通知先付欠款,再考虑是否发货。

试用判定树的形式予以描述(设欠款时间D,需求数N,库存量Q)。

22. 有一过程,其流程如下图所示。

其中b1 、b2、 b3为判定的逻辑条件,s1、 s2为加工处理。试用判定表给予描述。

答:

或者

23. 有一过程如下图所示的流程,试用判定表予以描述。

24.对一个长度为48000条机器指令的程序进行测试,第一个月由甲、乙二人分别测试它。甲改正20个错误,使程序的平均无故障时间为8小时。乙在测试该程序副本时改正了24个错误,其中6个错误与甲改正的下同。然后,由甲继续测试该程序。根据上述数据完成

T

T T F

F F

下列各题:( 每题5分,共15 分) 1.程序中固有的错误总数是多少?

2.为使MTTF 达到240小时,如果甲不利用乙的工作成果,则他还需改正多少个错误? 3.为使MTTF 达到480小时,如果甲利用乙的工作成果,则他还需改正多少个错误?

附:()()t E E K I MTTF C T T -=

E T = B 2 * B 1 / b c

E T :测试前程序的错误总数 I T :程序长度(机器指令总数)E c (t):t 时间内改正的错误数

B 1、B 2 分别为测试员1、测试员2发现的错误数,b c 为测试员1、测试员2发现的相同错误数

解:1.E T =80 2.58 3.41

25.计算出如下工程网络图中各节点的最早开始时刻和最迟开始时刻(10分)

简答题

1. 软件产品的特性是什么? a.软件产品是一种逻辑产品。 b.软件产品的生产主是研制,软件产品的成本主要体现在软件的开发和研制上,软件开发完成后,复制就产生了大量软件产品。

c.软件产品不会用坏,不存在磨损、消耗问题。

d.软件产品的生产主要是脑力劳动,还未完全摆脱手工开发方式,而且碰分是"定做"的。

e.软件费用不断增加,成本相当昂贵。 2. 什么是软件危机?其产生的原因是什么?

软件危机:软件发展第二阶段的末期,由于计算机硬件技术的进步。一些复杂的、大型的软件开发项目提出来了,但软件开发技术的进步一直未能满足发展的要求。

在软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。主要表现在以下几个方面: a.经费预算经常突破,完成时间一再拖延。 b.开发的软件不通满足用户要求。 c.开发的软件可维护性差。 d. 开发的软件可靠性差。

软件危机产生的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的:

a.软件的规模越来越大,结构越来越复杂。

b.软件开发管理困难而复杂。

c.软件开发费用不断增加。

d.软件开发技术落后。

e.生产方式落后。

f.开发工具落后,生产率提高缓慢。

3.什么是软件工程?它的目标和内容是什么?

软件工程:用科学知识和技术原理来定义、开发、维护软件的一门学科。

软件工程的目标是成功的建造一个大型软件系统,所谓成功是要达到以下几个目标:

a.付出较低的开发成本;

b.面到要求的软件功能;

c.取得较好的软件性能;

d.开发的软件易于移植;

e.需要较低的维护费用;

f.能按时完成开发任务,及时交付使用;

g.开发的软件可靠性高;

软件工程的内容:

1)软件开发技术:软件开发方法、软件开发过程、软件开发工具和环境。

2)软件开发管理:软件管理学、软件经济学、软件心理学。

4.软件工程面临的问题是什么?

软件工程面临的问题:a.软件费用。b.软件可靠性。c.软件维护。d.软件生产率。e.软件重用。

5.什么是软件生存周期模型?有哪些主要模型?

软件生存周期模型:是描述软件开发过程中各种活动如何执行的模型。(模型:是为了理解事物而对事物做出一种抽象,它忽略不必要的细节,它也是事物的一种抽象形式、一个规划、一个程式。)

软件生存周期主要模型:瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型和基于知识的模型等

6.可行性研究的任务是什么?

a.技术可行性:

考虑的因素(1).开发的风险(2)资源的有效性(3)技术(4)开发人员在主段技术可行性时,一旦估计错误,将会出现灾难性后果。

b.经济可行性。

c.社会可行性。

7.可行性研究有哪些步骤?

a.确定项目规模和目标

b.研究正在运行的系统

c.建立新系统的高层逻辑模型

d.导出和评价各种方案

e.推荐可行的方案

f.编写可行性研究报告

8.可行性研究报告有哪些就要内容?

a.引言

b.可行性研究前提

c.对现有系统的分析

d.所建议系统的技术可行性分析

e.所建议系统的经济可行性分析

f.社会因素可行性分析

g.其他可供选择方案

h.结论意见

9.成本---效益分析可用哪些指标进行度量?

有形效益度量:

a.货币的时间价值

b.投资回收期

c.纯收入

无形效益:主要从性质上、心理上进行衡量,很难直接进行量的比较。

通常以有形效益度量作为成本---效益分析的度量。

10.什么是需求分析?需求分析阶段的基本任务是什么?

需求分析是指:开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式主义功能规约(需求规格说明)的过程。

需求分析阶段的基本任务是:

(1) 问题识别:双方对问题的综合需求:a.功能需求b.性能需求c.环境需求d.用户界面需求.

(2) 分析与综合,导出软件的逻辑模型.

(3) 编写文档

11.什么是结构化分析方法?该方法使用什么描述工具?

结构化分析方法:是面向数据流进行需求分析的方法。

描述工具:a、数据流图b、数据字典c、描述加工逻辑的结构化语言、判定表、判定树。

12.结构化分析方法通过哪些步骤来实现?

结构化分析方法步骤:

a.了解当前系统的工作流程,获得当前系统的物理模型.

b.抽象出当前系统的逻辑模型.

c.建立上标系统的逻辑模型.

d.作进一步补充和优化.

13.什么是字据字典?其作用是什么?它有哪些条目?

字据字典:简称DD,就是用来定义数据流图中的各个成分具体含义的,它以一种准确的\无二义性的说明方式为系统的分析\设计及维护提供了有关元素的一致的定义和详细的描述.

作用:1)为系统的分析\设计及维护提供了有关元素的一致的定义和详细的描述.

2)为分析人员查找数据流图中有关名字的详细定义而服务的.

3)它和数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分. 条目:数据流、数据项、数据存储、基本加工。

14.什么是软件概要设计?该阶段的基本任务是什么?

软件概要设计:在需求分析的基础上通过抽象和分解将系统分解成模块,确定系统功能是实现,即把软件需求转换为软件包表示的过程。

基本任务:

(1)设计软件系统结构(简称软件结构)

a.采用某种设计方法,将一个复杂的系统按功能划分成模块(划分)

b.确定模块的功能。(功能)

c.确定模块之间的调用关系。(调用)

d.确定模块之间的接口,即模块之间传递的信息。(接口)

e.评价模块结构的质量。(质量)

(2)数据结构及数据库设计

a.数据结构设计

b.数据库设计:(概念设计、逻辑设计、物理设计)

(3)编写概要设计文档(文档主要有:概要设计说明书、数据库设计说明书、用户手册、修订测试计划)

(4)评审

15.衡量模块独立性的两个标准是什么?它们各表示什么含义?

两个定性的度量标准:耦合与内聚性

耦合性:也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。

内聚性:也称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。模块内元素联系越紧密,内聚性越高。

16.模块间的耦合性有哪几种?它们各表示什么含义?

耦合性有六种:无直接耦合、数据耦合、标记耦合、控制耦合、公共耦合、内容耦合

无直接耦合:两个模块之间没有直接的关系,它们分别从属于不同模块的控制与调用,它们之间不传递任何信息。

数据耦合:指两个模块之间有调用关系,传递的是简单的数据值相当于高级语言中的值传递。标记耦合:指两个模块之间传递的是数据结构。

控制耦合:指控制模块调用另一个模块时,传递的是控制变量,被调用块通过该控制变量的值有选择地执行块内某一功能。

公共耦合:指通过一个公共数据环境相互作用的那些模块间的耦合。

内容耦合:一个模块直接使用另一个模块的内部数据,或通过非正常入口而转入另一个模块内部。

17.模块的内聚性有哪几种?各表示什么含义?

模块间的内聚性有6种:偶然内聚、逻辑内聚、时间内聚、通信内聚、顺序内聚、功能内聚。偶然内聚:一个模块内的各处理元素之间没有任何联系。

逻辑内聚:模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。

时间内聚:把需要同时执行的动作组合在一起。

通信内聚:指模块内所有处理元素都在同一个数据结构上操作,或者指各处理使用相同的输入数据或产生相同的输出数据。

顺序内聚:一个模块中各处理元素都密切相关于同一功能且必须顺序执行,前一功能元素的输出是下一功能元素的输入。

功能内聚:最强的内聚,指模块内所有元素共同完成一个功能,缺一不可。

18.什么是软件结构?简述软件结构设计优化准则。

软件结构:软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制体系。

软件结构设计优化准则:

a.划分模块时,尽量做到高内聚,低耦合,保持模块相对独立性,以此为原则优化初始的

软件结构。

b.一个模块的作用范围应在其控制范围之内,且判定所在的模块应与受其影响的模块在

层次上尽量靠近

c.软件的深度、宽度、扇入、扇出应适当。

d.模块的大小要适中。

e.模块的控制范围模块的接口要简单、清晰、含义明确,便于理解,易于实现、测试与

维护。

19.什么是模块的影响范围?什么是模块的控制范围?它们之间应该建立什么关系?

模块的影响范围:受该模块内的一个判定影响的所有模块的集合。

模块的控制范围:模块本身及其所有下属模块(直接或间接从属于它的模块)的集合。

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

20.什么是"变换流"?什么是"事务流"?试将相应形式的数据流图转换成软件结构图。

变换流由输入、变换(或处理)、输出三部分组成。某个加工将它的输入流分离成许多发散的数据流,形成许多加工路径,并根据输入选择其中一个路径来执行这种特征的DFD称为事物流。

21.在结构化设计过程中,要将数据流图(DFD)映射成系统结构图(SC),分别画出变换型数据

流和事物型数据流的映射方式。

答:

变换型事务型

22.详细设计的基本任务是什么?

详细设计的基本任务:

(1)为每个模块进行详细的算法设计。

(2)为每个模块内的数据结构进行设计。

(3)对数据库进行设计,即确定数据库的物理结构。

(4)其他设计:

a.代码设计

b.输入/输出格式设计。

c.人机对话设计。

(5)编写详细设计说明书。

(6)评审。

23.结构化程序设计基本要求要点是什么?

a.采用自顶向下、逐步求精的程序设计方法

b.使用三种基本程序控制结构构造程序

1).用顺序方式对过程分解,确定各部分的执行顺序。

2).用选择方式对过程分解,确定某个部分的执行条件。

3).用循环方式对过程分解,确定某个部分重复的开始和结束的条件。

c.主程序员组的组织形式。

24.简述Jackson 方法的设计步骤。

Jackson方法一般通过以下5个步骤来完成设计:

a.分析并确定输入/出数据的逻辑结构,并用Jackson 结构图表示这些数据结构。

b.找出输入数据结构和输出数据结构中有对应关系的数据单元。

c.按一定的规则由输入、输出的数据结构导出程序结构。

d.列出基本操作与条件,并把它们分配到程序结构图的适当位置。

e.用伪码写出程序。

25.什么是程序设计风格?为了具有良好的设计风格,应注意哪些方面的问题?

程序设计风格是指一个人编制程序时所表现出来的特点、习惯、逻辑思路等。

要形成良好的程序设计风格,应从源程序文档化、数据说明、语句构造、输入输出和追求效率几个方面加以注意。

26.软件测试的目的是什么?测试中要注意那些原则?

软件测试的目的是的发现软件中存在错误的活动。好的测试用例可以发现至今没有发现的错误、好的测试用例可以发现至今没有发现的错误测试。要提供输入数据还要提供输出数据、保留测试用例、检查它是否做了应该做的还要检查它是否做了不该做的、避免自己测试自己的程序、多错误多的地方要更严格的测试。

27.什么是白盒法?有那些覆盖标准?比较他们的检错能力。

将程序看成是白盒子,认真的分析程序的结构和功能制定测试用例来测试。有逻辑覆盖(语句覆盖、判断覆盖、条件覆盖、判断/条件覆盖、条件组合覆盖、路径覆盖)

28.什么是黑盒法?有那些测试方法?特点?

将程序当成是黑盒子以设计中的功能为标准在程序的接口出进行测试看它能否达到功能要求。等价类划分、边界值分析、因果图、错误推测。

29.软件测试要经过那些步骤?这些步骤和开发那些阶段对应?

单元测试对应详细设计和编码、集成测试对应概要设计、确认测试对应需求分析。30.什么是集成测试?非渐增式和渐增式有什么区别?渐增式如何组装模块?

集成测试是将模块组合起来成为一个完整的系统对其进行测试。非渐增式是将模块先进行单元测试然后组装在一起进行测试。渐增式是逐个将未测试的模块组装到已经测试过的模块上去进行集成测试,每加入一个就测试一次。非渐增式需要桩模块和驱动模块、非渐增式开始可以并行测试、渐增式可以及时的发现接口错误,非渐增式很难发现接口发现错误、渐增式开始不能并行测试、渐增式测试比较彻底。

渐增式组装模块有自顶向下和自底向上两种组装方式。

31.什么是确认测试?该阶段有那些工作?

按照需求规格说明书中的确定指标对系统进行功能与性能的测试。进行确认测试(对照需求规格说明书用黑盒法进行测试)、软件配置检查。(文档的完整性、正确性,发现遗漏和错误及时补充和修改)

32.调试的目的是什么?调试的技术有那些?

调试的目的是发现错误的位置并改正错误。简单调试、演绎调试、递归调试、回溯调试。

33.软件维护有哪些内容?

a、校正性维护

b、适应性维护

c、完善性维护

d、预防性维护

34.软件维护的特点是什么?

a、非结构化维护和结构化维护

b、维护的困难性

c、软件强维护的费用

35.软件维护的流程是什么?

a、制定申请维护报告

b、审查申请报告并批准

c、进行维护并作详细记录

d、覆审

36.软件维护的副作用有哪些?

编码、数据、文档副作用

37.什么是软件的可维护性?可维护性的度量的特性是什么?

软件的可维护性:软件能够被理解、校正、适应及增强功能的容易程度。

可维护性的度量的特性是:可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。

38.提高可维护性的方法有哪些?

A、建立明确的软件质量目标。

B、利用先进的软件开发技术和工具。

C、建立明确的质量保证工作。

D、选择可维护的程序设计语言。

E、改进程序文档。

39.说明对象模型的特征?

对象模型表示了静态的、结构化的、系统数据性质,描述了系统的静态结构,表现了对象间的相互关系,模型主要关心系统中对象的结构、属性和操作使用对象图来描述。

40.说明动态模型的特征。

动态模型描述了与时间和变化有关的系统性质,描述的是系统的控制结构,表示了瞬间的系统控制性质,它关心系统的控制,操作顺序,从对象的状态角度出发表现对象的相互行为。

41.功能模型的特征。

功能模型描述了系统的所有计算。

42.三种模型的建立过程?

对象模型:确定类、准备数据字典、确定联系、确定属性、完善对象模型。

动态模型:准备脚本、准备事件跟踪、构造状态图。

功能模型:确定输入输出值、建立DFD。

百度索搜:《软件工程》重点考试知识点,名词解释

《软件工程》重点考试知识点,简答

《软件工程》11套考试复习练习题、作业题(含答案)

《软件工程》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. TURBO PASCAL是()软件。 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.人工校核工资数据B.工资支票数据 C.打印工资支票D.计算职工工资 7. 需求分析阶段最重要的技术文档之一是:() A.项目开发计划 B.设计说明书 C.需求规格说明书 D.可行性分析报告 8. Jackson方法是一种面向()的方法。 A.数据流 B.对象 C.数据结构 D.控制流 9. 软件详细设计的主要任务是对()进行的详细设计。 A.算法和数据结构 B.外部接口 C.软件编码 D.功能 10. 银行计算机储蓄管理信息系统中,根据客户提出的要求(如存款、取款、查询、挂失、咨询等)进行相应的业务处理的该层数据流图是()_。 A.变换型 B.事务型 C.既不是A也不是B D.不一定 11. 确认测试是对软件进行( ) 测试。 A. 可靠性 B. 有效性 C. 可维护性 D. 可用性 12. 检查软件产品是否符合需求定义的过程称为()。 A.确认测试 B.集成测试 C.验收测试 D.验证测试 13. 软件测试的目的是() A.评价软件的质量B.发现软件的错误 C.找出软件中的所有错误D.证明软件是正确的 14. 随着软硬件环境变化而修改软件的过程是() A.校正性维护 B.适应性维护 C.完善性维护 D.预防性维护 15. 软件生存周期中时间最长的阶段是() A.需求分析阶段B.概要设计阶段 C.详细设计阶段D.维护阶段 16. 下列属于维护阶段的文档是( ) A. 软件规格说明 B. 用户操作手册 C. 软件问题报告 D. 软件测试分析报告

软件工程复习题及答案

一、单项选择题(本大题共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. 某旅馆的电话服务如下:可以拨分机号和外线号码。分机号是从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. 请用判定表画出以下问题的行为逻辑。 人们往往根据天气情况决定出门时的行装。天气可能下雨,也可能不下雨;下雨或不下雨天气可能变冷,也可能不变冷。如果天气要下雨,出门时带上雨伞;如果天气变

软件工程试题及答案

4. 面向对象的分析方法主要是建立三类模型,即( D )。 A) 系统模型、ER模型、应用模型B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型D) 对象模型、动态模型、功能模型 5. 在E-R模型中,包含以下基本成分( )。 A) 数据、对象、实体B) 控制、联系、对象C) 实体、联系、属性D) 实体、属性、操作 9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是( c ) A.条件覆盖法 B.等价分类法C.边界值分析法 D.错误推测法 10、详细设计的基本任务是确定每个模块的( d )A.功能B.调用关系C.输入输出数据 D.算法 11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:( a )A.模块化的根据B.逐步求精的根据C.抽象的根据D.信息隐藏和局部化的根据13.面向数据流的设计方法把( D )映射成软件结构。 A.数据流B.系统结构C.控制结构D.信息流 14.内聚程度最低的是( A.偶然 )内聚A.偶然 B.过程 C.顺序 D.时间 15.确定测试计划是在( D )阶段制定的.A.总体设计 B.详细设计 C.编码 D.测试 16.需求分析的产品是( D )A.数据流程图案B.数据字典C.判定表D.需求规格说明书 17.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( C ) A.数据库设计B.数据通信C.数据定义D.数据维护 18.( D )引入了“风险驱动”的思想,适用于大规模的内部开发项目。 A.增量模型B.喷泉模型C.原型模型D.螺旋模型 (×)2、系统测试的主要方法是白盒法,主要进行功能测试、性能测试、安全性测试及可靠性等测试。 (×)4、软件需求分析的任务是建立软件模块结构图。 (√)5、尽可能使用高级语言编写程序(×)6、以结构化分析方法建立的系统模型就是数据流图。 (×)7、进行总体设计时加强模块间的联系。(×)8、编码时尽量多用全局变量. (√)9、用CASE环境或程序自动生成工具来自动生成一部分程序.(×)10、软件测试是要发现软件中的所有错误。 1. 软件生命期各阶段的任务是什么?答:软件生命期分为7个阶段:1、问题定义:要解决的问题是什么 2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性 3、需求分析:系统必须做什么 4、总体设计:系统如何实现,包括系统设计和结构设计 5、详细设计:具体实现设计的系统 6、实现:编码和测试 7、运行维护:保证软件正常运行。2、软件重用的效益是什么? 答:1、软件重用可以显著地改善软件的质量和可靠性。2、软件重用可以极大地提高软件开发的效率。 3、节省软件开发的成本,避免不必要的重复劳动和人力、财力的浪费。 3、自顶而下渐增测试与自底而上渐增测试各有何优、缺点?答:①自顶而下渐增测试 优点:不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且能够尽早发现上层模块的接口错误。 缺点:需要存根程序,底层错误发现较晚。 ②自底而上渐增测试优点与缺点和自顶而下渐增测试相反。 4 、提高可维护性的方法有哪些?答:在软件工程的每一阶段都应该努力提高系统的可维护性,在每个阶段结束前的审查和复审中,应着重对可维护性进行复审。 在需求分析阶段的复审中,应对将来要扩充和修改的部分加以注明。在讨论软件可移植性问题时,要考虑可能要影响软件维护的系统界面。 在软件设计的复审中,因从便于修改、模块化和功能独立的目标出发,评价软件的结构和过程,还应对将来可能修改的部分预先做准备。 在软件代码复审中,应强调编码风格和内部说明这两个影响可维护性的因素。 在软件系统交付使用前的每一测试步骤中都应给出需要进行预防性维护部分的提示。 在完成每项维护工作后,都应对软件维护本身进行仔细认真的复审。 为了从根本上提高软件系统的可维护性,人们正试图通过直接维护软件规格说明来维护软件,同时也在大力发展软件

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

一、选择 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.某旅馆的电话服务如下:可以拨分机号和外线号码。分机号是从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.为以下程序流程图分别设计语句覆盖和判定覆盖测试用例,并标明程序执行路径。 (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.请用判定表画出以下问题的行为逻辑。 人们往往根据天气情况决定出门时的行装。天气可能下雨,也可能不下雨;下雨或不下雨天气可能变冷,也可能不变冷。如果天气要下雨,出门时带上雨伞;如果天气变冷,

出门时要穿上大衣。 4.对下列子程序进行调试: procedure example(y,z: real; var x: real) begin if (y>1) and (z=0) then x:=x/y; if (y=2) or (x>l) then x:=x+l; end. 该子程序接受x, y, z的值,并将计算结果x的值返回给调用程序。完成下列各题: (1)画出程序流程图。 (2)用条件组合覆盖设计测试用例,并写出其中一组测试用例。 答:(1)程序流程图 (2)用白盒法中条件组合覆盖设计测试用例: ①y=2, z=0, x=4; ②y=2, z=1, x=1; ③y=1, z=0, x=2; ④y=1, z=1, x=1. (注:也可有其它答案) 5.选择排序的伪代码如下,请根据代码画出其PAD图。 select_sort(a[1],a[2],…,a[n]) { for(i=1;i

软件工程考试试题 含答案

软件工程考试试题含答案软件工程考试试题含答案 一. 选择题 1. 下列不属于软件工程方法论的是: A. 瀑布模型 B. 敏捷开发 C. 融合开发 D. 增量开发 答案:C. 融合开发 2. 哪个不是软件需求工程的阶段? A. 需求收集和分析 B. 需求规格说明书编写 C. 需求确认和验证 D. 需求修复和更新 答案:D. 需求修复和更新 3. 软件开发生命周期中不包含以下哪个阶段? A. 需求分析

B. 软件设计 C. 软件测试 D. 软件维护 答案:C. 软件测试 4. 下列哪个是软件开发项目管理的基本约束? A. 时间 B. 人员 C. 质量 D. 成本 答案:D. 成本 5. 使用UML建模时,哪个图标不属于结构图? A. 类图 B. 对象图 C. 时序图 D. 包图 答案:C. 时序图 二. 填空题

1. 软件工程的目标是提高软件的质量和________。 答案:生产效率 2. 软件需求可以分为________和________两类。 答案:功能需求,非功能需求 3. 软件设计的核心目标是________。 答案:满足需求 4. 软件测试的目的是发现________。 答案:缺陷和错误 5. 软件维护分为________和________两个主要类别。 答案:正确性维护,适应性维护 三. 简答题 1. 请简要介绍敏捷开发方法。 答案:敏捷开发方法强调迭代与循序渐进的开发方式,注重团队合作和快速响应需求变化。其核心原则包括迭代开发、自组织团队、人与沟通优先、持续集成和及时反馈等。敏捷开发方法通过不断反馈和迭代,提高软件开发的灵活性和适应性。 2. 什么是软件需求工程?为什么软件需求工程是软件开发的关键环节?

软件工程复习题及答案

软件工程复习题及答案 选择题 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.下面哪些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、极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性和反馈和勇气。 4、等价分类法的关键是划分等价类。 5、下列不属于黑盒测试的技术是程序段或语句的功能。 6、为了提高模块的独立性,模块之间最好是数据耦合。 7、一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用角色来表述“谁做”。

8、功能性注释嵌入在源程序内部,它是用来说明程序段或语句的功能。 9、在结构化分析方法中,数据字典是重要的文档。对加工的描述是数据字典的组成内容之一,常用的加工描述方法有有结构化语言、判定树和判定表。 10、某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行适应性维护。 11、软件危机的主要原因是软件本身特点与开发方法。 12、DFD是常用的进行软件需求分析的图形工具,其基本符号是加工、数据流、数据存储和外部实体。 13、软件工程管理是对软件项目的开发管理。具体地说,就是对整个软件生存期的一切活动进行管理。

14、在面向数据流的软件设计方法中,一般将信息流分为输入、输出、外部实体和加工。 A.白盒测试 B.黑盒测试 C.灰盒测试 D.集成测试 15、参与人员之间的通信困难是不随参与人数增加而使软件生产率增加的主要原因。因为通信困难会导致信息不畅通,任务分配不明确,进度无法掌握等问题,从而影响软件开发效率。 16、有形性与可控性不是软件的特征。软件的特征包括系统性与复制性、抽象性与智能性、依附性与泛域性。 17、面向对象的设计是面向对象分析进一步的细化和更高的抽象,不是另一种思维方式。 18、在软件的可行性分析中,可以从经济可行性、技术可行性、操作可行性、法律可行性等角度对软件进行研究。从软件的功能可行性角度考虑属于技术可行性。 19、确定软件系统的运行平台不属于软件工程需求分析阶段。 20、没有给出问题,无法回答。 21、信息隐蔽是通过对象的封装性来实现的,继承性和共享性与信息隐蔽无关。

软件工程自考真题及答案解析

软件工程自考真题及答案解析 自考是很多人追求学历提升的一种方式,软件工程也是当前热门 的专业之一。为了帮助大家更好地备考自考软件工程,本文将介绍一 些常见的软件工程自考真题及其答案解析,希望对大家有所帮助。 一、选择题 1. 软件测试是软件开发过程中的哪个阶段? A. 需求分析阶段 B. 设计阶段 C. 开发阶段 D. 维护阶段 正确答案:C 解析:软件测试是在软件开发的过程中,开发阶段之后的一个重 要阶段。其主要目的是通过测试用例的执行来发现软件的错误与缺陷,确保软件的质量。 2. 在软件工程中,下列哪个不属于需求建模的技术? A. 数据流图 B. 状态图

C. 时序图 D. 数据库设计 正确答案:D 解析:需求建模是软件工程中的一项重要任务,用于对需求进行规范化和可视化的表示。数据流图、状态图和时序图都是常用的需求建模技术,而数据库设计则是数据库开发的内容。 3. 下列哪个不属于软件工程的基本原则? A. 需求驱动 B. 分阶段开发 C. 统一建模语言 D. 以人为中心 正确答案:C 解析:软件工程的基本原则包括需求驱动、分阶段开发、以人为中心等,但统一建模语言不属于基本原则,而是一种标准化的建模语言。 二、判断题 1. 软件工程是一门较为年轻的学科,它在软件开发过程中起到了至关重要的作用。

正确答案:正确 解析:软件工程是一门对软件开发过程进行科学化管理的学科, 并在实践中不断推动软件开发的进步,因此在软件开发中起到了至关 重要的作用。 2. 软件测试的主要目的是为了保证软件开发过程的顺利进行, 而不关注软件质量。 正确答案:错误 解析:软件测试的主要目的是为了发现软件的错误与缺陷,保证 软件的质量。通过测试用例的执行,可以发现潜在的问题并及时修复,从而提高软件的可靠性。 三、简答题 1. 请简要介绍软件配置管理的概念及其作用。 软件配置管理是一种用于控制和管理软件开发过程中各种配置项 的方法,其主要作用包括: - 确定需求:通过对配置项的分析和管理,可以确保所开发的软 件满足用户的需求。 - 提高可追溯性:通过配置项的详细记录和版本控制,可以方便 地对开发过程进行追溯和复盘,帮助发现问题和改进方法。 - 管理变更:配置管理可以帮助识别和管理软件开发过程中的变更,保证变更的合理性和可控性。

软件工程试题库及答案

一、选择题 软件(2) 1.在软件开发的各种资源中,( D )是最重要的资源。 A 开发工具 B 方法 C 硬件环境 D 人员 2.软件的复杂性是( A ),它引起人员通信困难、开发费用超支、开发时间超时等问题。 A 固有的 B 人为的 C 可消除的 D 不可降低的 3.3:软件是计算机系统中与硬件相互依存的另一部分,它的组成部分是( D )。 A.程序、数据 B.程序、文档 C.程序 D. 程序、数据、文档 4.软件是一种( B )产品。 A、有形 B、逻辑 C、物质 D、消耗 软件危机(1) 5.1:开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C ) A.软件工程 B.软件周期 C.软件危机 D.软件产生 6.2:在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了( A )A.软件危机B.软件工程 C.程序设计革命D.结构化程序设计 7.3:以下哪一项不是软件危机的表现形式( C ) (A)成本高(B)生产率低 (C) 技术发展快(D)质量得不到保证 8.4:“软件危机”产生的主要原因是( A )。 A.软件日益庞大 B.开发方法不当 C.开发人员编写程序能力差 D.没有维护好软件 9.5:软件危机是指在软件开发和( C )过程中遇到的一系列严重问题。 A 开发 B 使用 C维护D更新 软件工程(2) 10.1:为了解决软件危机人们提出了用(B )的原理来设计软件,这就是软件工程诞生的 基础。 (A) 运筹学(B) 工程学 (C) 软件学(D) 数学 11.2.在软件工程时期,决定软件质量的主要因素是( A ) A.管理水平 B.个人程序技术 C.小组技术水平 D.硬件的发展

软件工程复习题及答案

软件工程复习题(一) 一、选择题 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、开发完毕才见到产品 B、及早提供所有完整的软件产品 C、开发完毕后才见到工作软件 D、及早提供工作软件 7、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( ) A、条件覆盖法 B、等价分类法 C、边界值分析法 D、错误推测法 8、软件具体设计重要采用的方法是( ) A、模块设计 B、结构化设计 C、PDL语言 D、结构化程序设计 9、开发软件所需高成本和产品的低质量之间有着锋利的矛盾,这种现象称做( )

A、.软件工程 B、软件周期 C、软件危机 D、软件产生 10、按软件生命周期方法设计软件的过程中,画数据流图属于下面哪个阶段的工作() A、需求分析 B、概要设计 C、具体设计 D、软件维护 11、在快速原型模型的开发过程中,仅作为需求说明的补充形式的原型是() A、探索型模型 B、演化型模型 C、实验型模型 D、提交型模型 12、程序设计语言的工程特性之一为( ) A、软件的可重用性 B、数据结构的描述性 C、抽象类型的描述性 D、数据库的易操作性 13、软件按照设计的规定,在规定期间和条件下达成不出故障,连续运营的规定的质量特性称为( ) A、可用性 B、可靠性 C、对的性 D、完整性 14、模块设计中,最不希望的内聚是() A、功能内聚 B、通信内聚 C、过程内聚 D、偶尔内聚 15、实行快速原型模型方法开发软件的关键在于() A、CASE工具的支持 B、如何开发演化型模型 C、项目主管的支持 D、开发人员的素质 16、程序流程图(框图)中的箭头代表( )。 A、数据流 B、控制流 C、调用关系 D、组成关系 17、一个只有顺序结构的程序,其环形复杂度是( )。 A、0 B、1 C、3 D、不拟定的 18、可行性分析是在系统开发的初期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因此必须给出什么样的回答。()

软件工程习题及答案解析

一、选择题: 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、数据流和文件均不要命名,通过加工可自然反映出

软件工程试题及答案

软件工程 窗体顶端 1: 92.下面说法哪个不属于设计准则 1.①提高模块的内聚,降低模块间的耦合 2.②降低模块接口的复杂程度 3.③模块大小要适中 4.④模块要有重用性 2:88.计算机的体系结构对程序设计语言具有 1.①反作用 2.②促进作用 3.③抑制作用 4.④完善作用 3:79.程序图的作用是 1.①定性度量软件的复杂程度 2.②定量度量软件的复杂程度 3.③预测软件的质量标准 4.④估计软件中的错误数量 4: 87.下面说法正确的是 1.①模块的作用域在模块的控制域之内 2.②模块的控制域在模块的作用域之内 3.③模块的作用域和模块的控制域有时相同

4.④模块的作用域和模块的控制域都是一种层次结构5:94.等价类划分属于 1.①白盒测试 2.②黑盒测试 3.③穷尽测试 4.④系统测试 6:90.软件维护组织包括 1.①系统维护人员和系统管理人员 2.②系统程序员和硬件维护人员 3.③系统程序员和操作员 4.④打字员和软件工程师 7: 86.可行性研究阶段使用的图形工具是 1.①DFD图 2.②N-S图 3.③PAD图 4.④Warnier图 8: 85.好的软件结构它的外观形状一般呈 1.①线性 2.②扇形 3.③椭圆形 4.④层次型

9: 93.变换型结构的数据流呈 1.①线性形状 2.②辐射状 3.③椭圆形 4.④阶梯形 10:78.结构化程序设计就是要 1.①保留GOTO语句 2.②取消前转GOTO语句 3.③限制GOTO语句的使用 4.④取消后转GOTO语句 11: 89.若要保证开发出来的软件局部优化,而且能尽早发现设计上的错误,应采用 1.①自顶向下的开发方法 2.②自底向上的开发方法 3.③渐增式的开发方法 4.④非渐增式的开发方法 12: 软件工程的七条基本原理中有一条是“坚持进行阶段评审”,要这么做的理由有1 ; ①大部分错误是在编码之前造成的 ②在软件开发过程中插入阶段评审是为了张弛有度、提高开发效率 ③错误发现得越晚,所付出的修正代价越高 ④为了便于控制开发进度 1.供选择的答案: 1.A. ①② 2.B. ①③

软件工程题库及答案

软件工程题库及答案 一、选择题 软件 (2) 1.在软件开发的各种资源中,(D)是最重要的资源。 A开发工具B方法C硬件环境D人员 2.软件的复杂性是(A),它引起人员通信困难、开发费用超支、开发时间超时等问题。 A固有的B人为的C可消除的D不可降低的 3.3:软件是计算机系统中与硬件相互依存的另一部分,它的组成部分是(D)。 A.程序、数据 B.程序、文档 C.程序 D.程序、数据、文档 4.软件是一种(B)产品。 A、有形 B、逻辑 C、物质 D、消耗 软件危机 (1) 5.1:开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C ) A.软件工程 B.软件周期 C.软件危机 D.软件产生 6.2:在软件生产的程序系统时代由于软件规模扩大和软件复杂性

提高等原因导致了(A) A.软件危机 B.软件工程 C.程序设计革命 D.结构化程序设计 7.3:以下哪一项不是软件危机的表现形式(C ) (A)成本高(B)生产率低 (C)技术发展快(D)质量得不到保证 8.4:“软件危机”产生的主要原因是( A)。 A.软件日益庞大 B.开发方法不当 C.开发人员编写程序能力差 D.没有维护好软件 9.5:软件危机是指在软件开发和(C)过程中遇到的一系列严重问题。 A开发B使用C维护D更新 软件工程 (2) 1 0."1:为了解决软件危机人们提出了用(B)的原理来设计软件,这就是软件工程诞生的基础。 (A)运筹学(B)工程学(C)软件学(D)数学 1 1." 2.在软件工程时期,决定软件质量的主要因素是(A) A.管理水平 B.个人程序技术 C.小组技术水平 D.硬件的发展 1

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

软件工程复习题 (课程代码252258) 一、填空题(本大题共60小题) 1.数据项是指__不可再分解的___数据单元。 2.软件概要设计的主要任务就是___软件结构的设计___。 3.软件维护的内容包括校正性维持,适应性维护、____完善性维护_____和预防性维护。 4.在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和___数 据存储对象___。 5.规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此 软件具有容错功能的软件。 6.软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、可移植 性、可使用性和效率。 7.为了便于对照检查,测试用例应由输入数据和预期的输出结果两部分组成。 8.软件结构是以模块为基础而组成的一种控制层次结构。 9.在结构化分析中,用于描述加工逻辑的主要工具有结构化语言、判定表和判定表三种。 10.软件工程是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程, 它包括方法、工具和过程三个要素。 11.PDL是一种介于___自然语言___和形式化语言之间的半形式化语言。 12.从软件的功能角度划分,协助用户开发软件的工具性软件称为_支撑__软件 13.消除软件结构中高扇入扇出的做法是______增加中间层次的控制模块_____。 14.如果一个软件系统的全部实际加工都由原子模块来完成,而其他所有非原子模块仅仅执 行控制或协调功能,这样的系统就是____完全因子分解_____的系统。 15.软件的可移植性是指当把软件移植到不同的运行环境时,不需改变其__规格___就能照 原样工作的特性。 16.为满足用户对软件提出的新的要求而对软件进行扩充、改进的维护称为____完善性__ 维护。 17.将整个软件划分成若干单独命名和可编址的部分,称之为___模块___。 18.软件需求的____物理视图_____给出处理功能和数据结构的实际表示形式。 19.在面向对象的开发技术中,__类___是一组具有相同数据结构和相同操作的对象的集合。 20.软件不存在磨损和老化问题,但却存在着____退化__问题。 21.软件工程的各个阶段中,________概要设计__________阶段是将软件需求转化为数据结

相关文档
相关文档 最新文档