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

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

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

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

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

冷,出门时要穿上大衣。

天气情况

下雨

不下雨

变冷

不变冷

变冷

不变冷 带雨伞 Yes Yes No No

穿大衣 Yes No Yes No

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)程序流程图

(y>1) AND (z=0)

(y=2) OR (x>1)

x=x/y

x=x+1

N

N

Y

Y

(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]

} }

Select_sort 对a[1]...a[n]进行选择排序

i=i+1

k=i,j=i+1

j=j+1

While j<=n

Def

PAD 图

i=1

While i

a[j]

exchange(

a[i],a[k])k=j

k!=i T

T

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 图:

A X X2

B F

B

O

PAD 图:

T

F

UNTIL B

START

STOP

Z

X2Y

X1

8. 某报社采用面向对象技术实现报刊征订的计算机管理系统,该系统基本需求如下:

(1)报社发行多种刊物,每种刊物通过订单来征订,订单中有代码,名称,订期,单价,份数等项目,订户通过填写订单来订阅报刊。

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

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

Z

1 2

3

333

3

C D D

F P Q

父图子图

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

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

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

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

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

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

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

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

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

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

条件名称取值符号取值数

性别男M

M1=2 女 F

年龄

不满18岁 C

M2=3 满18岁小于50岁Y

超过50岁L

文化程度硕士G

M3=2 本科U

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

(3)初步判定表

1 2 3 4 5 6 7 8 9 10 11 12 性别M M M M M M F F F F F F 文化程度G G G U U U G G G U U U 年龄L Y C L Y C L Y C L Y C 组长√√√√√√

领导√√

科研√

行政√资料员√

考研√

(4)简化后的判定表

1,2,3

7,8,9

4 5,11 6 10 12

性别------ M ----- M F F

文化程度G U U U U U

年龄------ L Y C L C

组长√

领导√

科研√

行政√

E

资 料 员 √ 考 研

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

一台微机有一个显示器,一个主机,一个键盘,一个鼠标,汉王笔可有可无。主机包

括一个机箱,一个主板,一个电源及储存器等部件。储存器又分为固定储存器和活动存储器两种,固定存储器为内存和硬盘,活动存储器为软盘和光盘。

微机

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

机箱主板存储器电源

固定存储器

活动存储器

内存硬盘软盘光盘

12. 某商场在“五一”期间,顾客购物时付款有4种情况:普通顾客一次购物累计少于100元,按A 类标准付款(不打折),一次购物累计多于或等于100元,按B 类标准付款(打9折);会员顾客一次购物累计少于1000元,按C 类标准付款(打8折),一次购物累计等于或多于1000元,按D 类标准付款(打7折)。 (1)请使用程序流程图来设计付款算法。 (2)按照路径覆盖法设计一组测试用例。

是否会员?sum<100?sum=sum*0.9sum<1000?sum=sum*0.7

sum=sum*0.8

Y

N

Y Y

N N 程序流程图

13

2

46

75开始

结束

sum 为付款总额

8

9

10

(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 环路复杂度。

START

P

A B

Q END

T F F

T

Q=T

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. 用Jackson 图表示下图所示的二维表格:

学生名册

姓名 性别 年龄 学号 …… …… …… ……

该学生名册由表头和表体两部分组成。其中表头又顺序包括表名和字段名。表体可由任意行组成,每行包括学生的姓名、性别、年龄和学号。

表表

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

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

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

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

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

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

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

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

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

(A>3) AND (B=1)?

(A=1) OR (M>1)?

M=M/2

M=M-5

F F T

T

begin

Return

M=M+5

b

c d e

题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 填写下表 数据 覆盖路径 覆盖条件 M 值 T1,T2,F3,F4

F1,F2,T3,T4

答:

数据 覆盖路径 覆盖条件 M 值 A=4,B=1,M=2 cd T1,T2,F3,F4 6 A=1,B=2,M=4

be

F1,F2,T3,T4

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

划分等价类:

输入条件

合理等价类 不合理等价类 职称

①教授

②副教授 ③讲师

⑤四种职称之外任意一种

职称兼工龄 ④助教兼工龄大于2年

⑥助教兼工龄等于两

⑦助教兼工龄小于两年

设计测试用例:

输入数据 预期结果

覆盖范围 教授 输入有效,进行调整工资处理 ① 副教授 输入有效,进行调整工资处理 ② 讲师 输入有效,进行调整工资处理 ③ 助教 3

输入有效,进行调整工资处理

A 取某部门员工工资表

B 取平均工资或最高工资

C 取员工个人工资部门

工资总汇

平均/最高

工资

员工编号

工资

题42 图1 设计方案1

题42 图2 设计方案2

A 取某部门员工工资表

B1取平均工资

B2取最高工资

C 取员工个人工资平均工资工资

员工编号

员工编号

工资

最高工资

部门工资总汇

助教 2 输入有效,不调整工资处理⑥

助教 1 输入有效,不调整工资处理⑦

工程师输入无效⑤

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为加工处理。试用判定表给予描述。

答:

b1 F F F F T T T T b2 F F T T F F T T b3 F T F T F T F T s1 × × × × s2

×

×

×

×

或者

b1 F T F

T b2 / T / F b3 F / T / s1 × × s2

×

×

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

24.对一个长度为48000条机器指令的程序进行测试,第一个月由甲、乙二人分别测试它。甲改正20个错误,使程序的平均无故障时间为8小时。乙在测试该程序副本时改正了24个错误,其中6个错误与甲改正的下同。然后,由甲继续测试该程序。根据上述数据完成下列各题:( 每题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 2 3 4 条件

b1 F T T T b2 … F F T b3

… F T … 结果

s1 √ √ √ s2

T

T

T

F F

F

解:1.E T =80 2.58 3.41

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

1

2

3

4

5

6

7

9

10

8

5

7

4

11

9

3

4

9

2

3

6

3

00

解:

1

2

3

4

5

6

7

9

10

8

5

7

4

11

9

3

4

9

2

3

6

3

00

55

12122121

2424

282837373131

3939

2828

简答题

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.提高可维护性的方法有哪些?

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

一、填空题 1.程序设计的三种基本结构是、、(顺序、条件、循环),它们的共同点是一个 入口和一个出口。 2.程序的三种基本控制结构的共同特点是。(单入口单出口) 3.用结构化语言来描述加工逻辑的外层结构时,基本结构有________(顺序结构、选择结构、循环结构) 4.软件的实现阶段主要包括(编码)阶段和(测试)阶段。 5.计算机程序及其说明程序的各种文档称为。(软件) 6.软件是、和(程序、数据、相关文档)的完整集合。 7.软件工程管理的具体内容包括对开发人员、组织机构、用户和______(文档资料)等方面的管理。 8.为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,所以(软件文 档)的编制是很重要的。 9.软件工程方法学有3大要素、工具、。(方法、过程) 10.需求分析是确定系统(必须做什么),其最终成果是(需求分析规格说明书)。 11.在需求分析中,开发人员要从用户那里解决的之重要的问题是。(软件应当做什么) 12.软件开发活动的顺序是_________。(问题定义、可行性研究、需求分析、设计、编码和测试) 13.软件需求分析的任务包括_________。(问题分析、信息域分析、确定程序结构) 14.最早提出软件系统维护问题的阶段是_________。(需求分析) 15.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做______(软件危机)。 16.“软件危机”是指________ 。(软件开发和维护中出现的一系列问题) 17.快速原型模型是用户和设计人员之间的一种交互过程,适用于(需求不确定性高)的系统。 18.快速原型是利用原型辅助软件开发的一种新思想,它是在研究(需求阶段)的方法和技术中产 生的。 19.瀑布模型是以文档为驱动,适用于(软件需求明确)的系统。 20.瀑布模型本质上是一种________ 模型。(线性顺序) 21._______(喷泉模型)是一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的软件开发 方法。 22.瀑布模型的主要特点是_________。(将软件生命周期个阶段依线性顺序连接、用文档驱动的模型) 23.增量模型根据增量方式和形式的不同,分为_____(渐增式增量模型)和原型模型。 24.从目前情况来看,增量模型存在的主要问题是(缺乏丰富而强有力的软件工具和开发环境) 25.可行性研究的目的是______。(确定系统是否值得开发) 26.可行性研究需要的时间长短取决于系统的规模,一般来说,可行性研究的成本只是预期总成本的 _________。(8%) 27.可行性研究从技术可行性、经济可行性、________、_________(社会因素、软件开发风险分析)四方 面进行分析。 28.数据字典是用来定义_________中的各个成份的具体含义的。(数据流程图) 29.结构化程序设计的一种基本方法是_________。(逐步求精法) 30.结构化分析方法式一种面向(数据流)的开发方法。 31.结构化程序设计,主要强调的是______。(程序的可理解性)

《软件工程》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. 有人说:软件开发时,一个错误发现得越晚,为改正它所付出的代价就越大。对否?请解释你的回答。

软件工程复习题及答案

一、单项选择题(本大题共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. 请用判定表画出以下问题的行为逻辑。 人们往往根据天气情况决定出门时的行装。天气可能下雨,也可能不下雨;下雨或不下雨天气可能变冷,也可能不变冷。如果天气要下雨,出门时带上雨伞;如果天气变

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

一、选择 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、传统"瀑布模型"的主要缺陷是什么?试说明造成缺陷的原因。 传统"瀑布模型”的主要缺陷及其原因:在项目的早期,用户常常很难清楚地给出所有需求,瀑布模型却要求如此。由于瀑布模型的特点,早期的错误直到开发晚期才能被发现,开发的风险较大. 3、某学校需要开发一个学生成绩管理系统,教务人员可以通过该系统维护学生信息、课程信息和成绩信息,学生可以随时查询自己的成绩单,该

软件工程复习题及答案

软件工程复习题及答案 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.某旅馆的电话服务如下:可以拨分机号和外线号码。分机号是从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.在结构化设计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 )。

软件工程题库(含答案)

软件工程题库(含答案) 一、单选题(共60题,每题1分,共60分) 1、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( ) A、可用性 B、正确性 C、完整性 D、可靠性 正确答案:D 2、软件特性中,软件从一个计算机系统或环境移植到另一个上去的难易程度指的是( ). A、可移植性 B、可理解性 C、可重用性 D、可修改性 正确答案:A 3、在软件质量要素的评价准则中,操作该软件的难易程度指的是( )。 A、容错性 B、检测性 C、可操作性 D、安全性 正确答案:C 4、下列属于维护阶段的文档是( ) A、软件问题报告 B、用户操作手册 C、软件测试分析报告 D、软件规格说明 正确答案:B 5、快速原型模型的主要特点之一是( ) A、及早提供工作软件 B、开发完毕才见到产品 C、及早提供全部完整的软件产品 D、开发完毕后才见到工作软件 正确答案:C

6、可维护性通常包括( )。 A、可用性和可理解性 B、可修改性、数据独立性和数据一致性 C、可理解性、可修改性和可测试性 D、可测试性和稳定性 正确答案:C 7、软件的可修改性支持软件的( )。 A、可互操作性 B、可维护性 C、可追踪性 D、有效性 正确答案:B 8、数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( ) A、数据通信 B、数据定义 C、数据维护 D、数据库设计 正确答案:B 9、软件特性中,多个软件元素相互通讯并协同完成任务的能力指的是( )。 A、可追踪性 B、可理解性 C、可互操作性 D、可维护性 正确答案:C 10、可维护性的特性中相互促进的是( ) A、效率和可移植性 B、可理解性和可测试性 C、效率和结构好 D、效率和可修改性 正确答案:B 11、在软件质量特性中,( )是指在规定的一段时间和条件下,与软件维持其性能水平的能力有关的一组属性。

软件工程复习题与答案

二、填空题 1.为了支持软件人员开发和维护活动而使用的软件一般是指___软件工具_____。 3.在软件结构的设计中,各个模块之间要力求降低耦合性,提高__聚性_____。 5.数据流图(DFD)一般可分为变换型和__事务性_____两类。 6.软件维护的容包括校正性维护、适应性维护、__完善性维护__和预防性维护。 7.软件的生产经历了三个阶段,分别是程序设计时代、程序系统时代和___软件工程时代___。8.渐增模型是瀑布模型的变种,分为两类:增量构造模型和__演化提交模型__。 9.状态图反映了_事件与状态____的关系。 10.软件项目管理过程一个关键的活动是__制定项目计划__,它是软件开发工作的第一步。11.组成软件的两个部分是:____程序和文档________。 14.变换型数据流图是由输入、__变换(或处理)_____和输出三部分组成的。15.Jackson方法是一种面向___数据结构_____的开发方法。 16.结构化语言是介于___自然语言_____和形式语言之间的一种半形式语言。 17.软件产品在交付使用之前一般要经过___单元测试___、集成测试、确认测试和系统测试。18.不采用软件工程的方法开发软件,软件只有程序而无文档,从而导致维护工作困难,这是一种__结构化______的维护。 19.子类自动共享父类数据结构和方法的机制是___继承性_____,这是类之间的一种关系。21.软件生产的发展经历了三个阶段,分别是程序设计时代、程序系统时代和___软件工程____时代。 22.可行性研究从以下三个方面研究每种解决方法的可行性:经济可行性、社会可行性和__技术可行性____。 23.HIPO图的H图用于描述软件的层次关系,矩形框表示一个模块,矩形框之间的直线表示模块之间的____调用_____关系。 24.数据流图描绘数据在系统中___流动和处理___的过程。 25.为了便于对照检查,测试用例应由输入数据和预期的___输出结果(输出数据)____两部分组成。 26.软件详细设计阶段常采用的工具有图、表和____语言_______。 28.实现容错技术的主要手段是__冗余_____。 29.软件开发环境的目标是提高软件开发的生产率和__降低软件的费用__。 32.软件工程管理中的控制包括进度控制、人员控制、经费控制和_____质量控制______。33.软件开发的原型模型可以分为三类,它们是:探索型原型、实验型原型和_演化型原型34.软件复杂性主要表现在程序的复杂性。程序的复杂性主要指___模块___程序的复杂性。35.白盒法中,__基本路径测试_______首先以详细设计或源程序为基础,导出控制流程图的拓扑结构(程序图)。 36.在软件的详细设计中,根据控制流程从上到下,从左到右展开的设计工具是__PAD图。37.一个模块通过传递开关、标志对某一模块的多种功能进行选择,则这两个模块之间的耦合方式是__控制耦合______。 38.结构化分析是面向__数据流_____进行需求分析的方法。

软件工程复习试题及答案

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

软件工程试题及答案

一、填空 1.结构化分析方法的分析策略是自顶向下逐步求精。 2.衡量模块独立性的两个定性标准是_耦合性与内聚性。 3.软件集成测试的方法主要有两种,它们是渐增式与非渐增式测试。 4.可行性研究的目的是用最小的代价在尽可能短的时间内确定该软件项目_是否值得开发_。 5.需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是功能需求_。 6.软件生存周期中时间最长、花费的精力和费用最多的一个阶段是维护阶段。 7.计算机辅助软件工程这一术语的英文缩写为_CASE 。 8.McCall 提出的软件质量模型包括11 个软件质量特性。 9.软件结构是以模块 10.软件概要设计的主要任务就是为基础而组成的一种控制层次结构。 软件结构的设计。 11.结构化程序设计方法是使用三种基本控制结构 (条件\控制\循环) 构造程序。 12.在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和数据存储对象_ 二、选择 1.UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法( C ) A、基于瀑布模型的结构化方法 B、基于需求动态定义的原型化方法 C、基于对象的面向对象的方法 D、基于数据的数据流开发方法 2、面向对象的开发方法中,(B)将是面向对象技术领域内占主导地位的标准建模语言。 A、Booch 方法 B、UML 语言 C、OMT 方法 D、Coad 方法 3、功能模型中所有的( A)往往形成一个层次结构。在这个层次结构中一个数据流图的过程可以由下一层的数据流图作进一步的说明。 A、数据流图 B、概念模型图 C、状态迁移图 D、事件追踪图 4、(A)应当在应用分析之前进行,因为我们在了解问题之前应当对问题敞开思想考虑,不应加以限制。 A、问题域分析 B 、高层分析C、实例的建立D、类的开发 5、通过执行对象的操作改变对象的属性,但它必须通过(B)的传递。 A、接口 B 、消息C、信息D、操作 6、所有的对象可以成为各种对象类,每个对象类都定义了一组(B) A、说明 B 、方法C、过程D、类型 9、面向对象的主要特征除对象唯一性、封装、继承外,还有(A) A、多态性 B 、完整性C、可移植性D、兼容 10、在面向对象的设计中,我们应遵循的设计准则除了模块化、抽象、低耦合、高内聚以外,还有(B) A、隐藏复杂性 B 、信息隐藏C、即存类的重用 D 、类的开发 13、在考察系统的一些涉及时序和改变的状况时,要用动态模型来表示。动态模型着重于系统的控制逻辑,它 包括两个图:一个是事件追踪图,另一个是(B) A、数据流图 B、状态图 C、系统结构图 D、时序图 14、人们常用的评价软件质量的 4个因素是( B ) A.可维护性、可靠性、健壮性、效率 B.可维护性、可靠性、可理解性、效率 C.可维护性、可靠性、完整性、效率 D.可维护性、可靠性、移植性、效率 15、软件可移植性是用来衡量软件的( C ) 重要尺度之一。 A.通用性 B. 效率 C.质量 D. 人机界面 16、为了提高软件的可移植性,应注意提高软件的( D ) A.使用的方便性 B.简洁性 C.可靠性 D.设备独立性 20.在软件质量因素中,软件在异常条件下仍能运行的能力称之为软件的( B ) A.可靠性 B.健壮性 C.可用性 D.安全性 21.在软件设计中,设计复审是和软件设计本身一样重要的环节,其主要的目的和作用是为了能够( B) A.减少测试工作量 B. 避免后期付出高代价 C.保证软件质量 D. 缩短软件开发周期 22.在软件危机中表现出来的软件质量差的问题,其原因是( B)

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

软件工程复习题库带答案完整版 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、信息隐蔽是通过对象的封装性来实现的,继承性和共享性与信息隐蔽无关。

软件工程试题库及答案

一、选择题 软件(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) 以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并最终可运行的代码的过程叫()。 正确答案:D (2) 面向数据的设计方法就是根据问题的数据结构定义一组映射,把问题的数据结构转换为问题解的()。 正确答案:A (3) 面向机器的,可以完成高级语言无法完成的特殊功能,如与外部设备之间的一些接口工作的语言是()。 语言 语言 正确答案:C (4) 在屏蔽硬件错误的冗错技术中,冗余附加技术有()。

正确答案:D (5) 用工程、科学和数学的原则与方法研制基于计算机的系统的有关技术、方法和过程的是()。 正确答案:C (6) 第一个体现结构化编程思想的程序设计语言是()。 语言 语言 语言 语言 正确答案:B (7) 软件详细设计的主要任务是确定每个模块的()。 正确答案:A (8) 属于软件测试方法中的静态测试方法的是()。

正确答案:D (9) Putnam成本估算模型是以下哪种模型。() 正确答案:D (10) 如果某种内聚要求一个模块中包含的任务必须在同一段时间内执行,则这种内聚为()。 正确答案:A (11) 提高软件质量和可靠的技术大致可分为两大类:其中一类就是避开错误技术,但避开错误技术无法做到完美无缺和绝无错误,这就需要()。 正确答案:D (12) 为了使用户需求逐步精细化、完全化、一致化,通常采用()。 正确答案:B

(13) 描绘物理系统的工具,它用图形符号来表示系统中的各元素。它表达了系统中各个元素之间的信息流动的情况。是指()。 图 正确答案:D (14) 软件系统结构中各模块间相互联系紧密程度的一种度量,也称块间联系的是()。 正确答案:C (1) 流程图也称为程序框图是最常用的一种表示法,它有哪些基本控制构件。() 正确答案:ABD (2) 为了能设计出有效的测试方案,软件测试的基本准则包括()。 正确答案:ABD (3)

烟台大学《软件工程复习题带答案》期末考试复习题及参考答案

一、多选题 1. 从下列叙述中选出5条关于好的程序设计风格的正确叙述。 A.使用括号以改善表达式的清晰性。 B.对递归定义的数据结构不要使用递归过程。 C.尽可能对程序代码进行优化。 D.不要修补不好的程序, 要重新写。 E.不要进行浮点数的相等比较。 F.应尽可能多地输出中间结果。 G.利用数据类型对数据值进行防范。 H.用计数方法而不是用文件结束符或输入序列结束符来判别输入的结束。 I.程序中的注释是可有可无的。 J.使用有意义的标识符。 2.从下列叙述中选出5条关于软件测试的正确叙述。 A.为了使得软件容易测试, 应该使用高级的程序设计语言编制程序。 B.程序测试是一个程序的执行过程, 目的是为了发现软件中隐藏的错误。 C.如果程序中连锁式连接了8个判定(IF)结构, 则程序中总的路径数达28 。 D.白盒测试仅与程序的内部结构有关, 完全可以不考虑程序的功能要求。 E.为了快速完成集成测试, 采用一次性集成方式是适宜的。 F.对一批模块进行测试,发现错误多的模块中残留的错误将比其它的模块少。 G.好的测试用例应能证明软件是正确的。 H.边界值分析方法是取输入/输出等价类的边界值做为测试用例。 I.等价类划分方法考虑了各等价类之间取值的组合情况下可能的结果。 J.判定覆盖法可能查不出在判定中逻辑运算符使用有误时产生的错误。 3.从下列叙述中选出5条有利于软件可维护性的正确叙述。 A.在进行需求分析时需同时考虑如何实现可维护性问题。 B.完成测试作业后,为了缩短源程序的长度应删去程序中的注解。 C.尽可能在软件生产过程中保证各阶段文档的正确性。 D.编程时应尽可能使用全局变量。 E.选择时间效率和空间效率尽可能高的算法。 F.尽可能利用硬件的特点。 G.重视程序结构的设计,使程序具有较好的层次结构。 H.使用维护工具或支撑环境。 I.在进行概要设计时应加强模块间的联系。 J.提高程序的可读性,尽可能使用高级语言编写程序。 K.为了加快软件维护作业的进度,应尽可能增加维护人员的数目。 4.在下面关于标准和文档的叙述中,选出5条正确的叙述。 A.国家标准是由政府或国家级机构制定或批准,适用于全国的标准。这些标准都是强制性的,相关产 品必须严格执行标准。 B.ISO9001是设计/开发、生产、安装和服务中的质量保证模式,ISO9000-3是使ISO9001适合于软件 的质量保证指南。 C.软件工程标准化可提高软件的生产率。 D.软件质量保证体系是贯穿于整个软件生存期集成化过程体系,而不仅仅体现在最后产品的检验上。 E.ISO9000-3与具体的开发模式有关。它将软件全过程工序从管理角度、合同角度和工程角度划分为三 大类。

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

第一章 1,与计算机硬件相比,计算机软件有哪些特点? 软件的特点如下。 1)无法直接观察计算机软件的物理形态,只能通过观察它的实际运行情况来了 解它的功能、特性和质量等。 2)人们在分析、设计、开发、测试软件产品,以及在软件开发项目的管理过程 中,渗透了大量的脑力劳动。 3)不存在像硬件一样的磨损和老化现象,但存在着缺陷维护和技术更新的问 题。 4)软件的开发和运行必须依赖于特定的计算机系统环境。 5)具有可复用性。 3,什么是软件危机?什么原因导致了软件危机? 软件危机的现象如下。 1)经费超出预算,项目一再拖延。 2)不重视需求,开发的软件不能满足用户的要求,项目成功率低。 3)没有规范的软件工程方法,软件可维护性差、软件质量差、可靠性差。 4)开发工具落后,手工方式,开发效率低。 所有导致软件危机的原因,都与软件本身的产品特点相关。 1)软件是一个复杂的逻辑产品。如果没有解决复杂问题的有效方法,以及软件 产品的结构、质量、可维护性得不到保障,开发与维护费用就会持续升高。 2)软件产品不能实现大规模复用,这导致了软硬件生产效率的不同。 3)软件生产是脑力劳动,它看不见、摸不着,开发成本、开发周期等都无法做

到准确估算,生产过程不易控制。 4)软件成本主要是由研发成本构成;而硬件的生产成本主要是材料和制造成 本,分摊的研发成本很少,即软件研发过程与硬件制造过程相比要复杂得 多。 5,请简述软件工程研究的内容。 软件工程研究的内容包括软件开发方法、软件开发模型、软件支持过程和软件管理过程。 软件开发方法的内容涵盖市场调研、正式立项、需求分析、项目策划、概要设计、详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实施、系统维护、版本升级等。 常用的软件开发模型有瀑布模型、迭代模型、增量模型和原型模型等。 软件支持过程由所支持的CASE工具组成,常用的CASE工具有Power Designer 和Rational Rose等。 7,请简述软件工程的目标、过程和原则。 目标、过程和原则是一切工程的三维框架,这里是以工程的观点来看待软件开发。 1)软件工程的目标:降低成本、及时交付高质量的软件产品(高质量、高效 率、高效益)。 2)实现目标的过程即完成产品加工的过程,包括:基本过程、支持过程和组 织过程。 3)进行过程应遵守的原则:原则就是过程中的轨道约束,包括:选取适宜的 开发范型、采用合适的设计方法、提供高质量的工程支持、重视开发过程 的管理。

2022学年9月《软件工程》考试复习题

2022学年9月《软件工程》考试复习题 一、单选题 1、以下软件生存周期的活动中,要进行软件结构设计的是()。 A、测试用例设计 B、概要设计 C、程序设计 D、详细设计 正确答案:B 2、关于JAVA语言下列说法不正确的是()。 A、跨平台的 B、动态指针 C、解释型的 D、面向对象的 正确答案:B 3、需求规格说明书的作用不包括()。 A、软件验收的依据 B、用户与开发人员对软件要做什么的共同理解 C、软件可行性研究的依据 D、软件设计的依据 正确答案:D 4、模块的耦合性可以按照耦合程度的高低进行排序,以下哪一项符合从低到高的正确次序()。 A、数据结构耦合,公共耦合,控制耦合,内容耦合 B、数据耦合,控制耦合,数据结构耦合,公共耦合 C、无直接耦合,数据结构耦合,内容耦合,控制耦合 D、无直接耦合,数据耦合,控制耦合,内容耦合 正确答案:D 5、使用白盒测试方法时,确定测试数据应根据()和指定的覆盖标准。 A、程序内部逻辑 B、程序复杂结构

C、使用说明书 D、程序的功能 正确答案:A 6、在软件生存期的各个阶段中跨越时间最长的阶段是()。 A、需求分析阶段 B、设计阶段 C、测试阶段 D、维护阶段 正确答案:D 7、DFD中的每个加工至少有( )。 A、一个输入流或一个输出流 B、一个输入流和一个输出流 C、一个输入流 D、一个输出流 正确答案:A 8、在结构化分析方法中,()表达系统内部数据运动的图形化技术。 A、数据字典 B、实体关系图 C、数据流图 D、状态转换图 正确答案:C 9、信息隐藏的核心内容是()。 A、把数据都放在公共的区域 B、数据不能被其他模块访问 C、一个模块的内部信息不允许其他模块直接访问 D、把信息加密,只能让有密钥的模块访问 正确答案:C 10、面向对象分析和设计的界限是( ),从分析到设计是一个逐渐扩充模型的过程。 A、清晰的 B、模糊的

相关文档
最新文档