软件工程期末考试试题及答案机密Word文档下载推荐.docx

上传人:b****5 文档编号:19426594 上传时间:2023-01-06 格式:DOCX 页数:15 大小:174.50KB
下载 相关 举报
软件工程期末考试试题及答案机密Word文档下载推荐.docx_第1页
第1页 / 共15页
软件工程期末考试试题及答案机密Word文档下载推荐.docx_第2页
第2页 / 共15页
软件工程期末考试试题及答案机密Word文档下载推荐.docx_第3页
第3页 / 共15页
软件工程期末考试试题及答案机密Word文档下载推荐.docx_第4页
第4页 / 共15页
软件工程期末考试试题及答案机密Word文档下载推荐.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

软件工程期末考试试题及答案机密Word文档下载推荐.docx

《软件工程期末考试试题及答案机密Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《软件工程期末考试试题及答案机密Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。

软件工程期末考试试题及答案机密Word文档下载推荐.docx

●随着软件规模的增大,其复杂性往往会呈指数级升高。

需要很多人分工协作,不仅涉及技术问题,更重要的是必须有科学严格的管理。

●缺少有效的软件评测手段,提交用户的软件质量不能完全保证。

 

(3)画出软件生存周期的瀑布模型的示意图,并简单评述其优缺点。

优点:

●可强迫开发人员采用规范化的方法。

●严格地规定了每个阶段必须提交的文档。

●要求每个阶段交出的所有产品都必须是经过验证的。

缺点

●由于瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。

如果需求规格说明与用户需求之间有差异,就会发生这种情况。

●瀑布模型只适用于项目开始时需求已确定的情况。

1-2瀑布模型示意图

(4)画出软件生存周期的增量模型的示意图,并简述其优点。

●能在较短时间内向用户提交可完成一些有用的工作产品,即从第1个构件交付之日起,用户就能做一些有用的工作。

●逐步增加产品的功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给用户组织带来的冲击。

●项目失败的风险较低,虽然在某些增量构件中可能遇到一些问题,但其他增量构件将能够成功地交付给客户。

●优先级最高的服务首先交付,然后再将其他增量构件逐次集成进来。

因此,最重要的系统服务将接受最多的测试。

(5)画出D.Ross提出的软件工程结构化分析方法的框架示意图,并解释数据字典和数据流的含义。

数据字典:

数据字典以词条方式定义在数据模型、功能模型和行为模型中出现的数据对象及控制信息的特性,给出它们的准确定义,包括数据流、加工、数据文件、数据元素,以及数据源点、数据汇点等。

数据流图:

(6)举例说明变换型和事务型流图的特点。

变换型流图由输入、中心变换和输出3部分组成,而且逐层展开。

如:

事务型流图通常接受一项事务,根据事务处理的特点和性质,选择分派一个适当的处理单元,然后给出结果。

(7)给出下面变换型数据流图对应的模块结构图。

(8)给出下面交易型数据流图对应的模块结构图。

(9)举例说明模块结构图优化方法中的不同模块相似部分调整的原则。

●完全相似的模块可以归并;

●两个模块部分相似的代码可以通过建立公共新模块,并设立对公共模块调用进行调整。

例如:

(10)举例说明模块结构图优化方法中作用域与控制域调整的原则。

作用域是指判断语句所在模块和他判断调用的下属模块,而控制域是指他本身以及他的下属模块;

一般要求作用域在控制域内。

例如:

D通过B判断调用C,故D的作用范围不在它的控制范围内,调整为右图。

(11)试将下面的代码段进行局部调整,使其更容易理解。

1)要进行适当的缩排;

2)增加必要的注释;

3)增加必要的语句,以免产生错误;

For(i=1;

i<

=n-1,i++){t=i;

for(j=i+1,j<

=n,j++)if(a[j]<

a[t])t=j;

if(t!

=i){tm=a[t];

a[t]=a[i];

a[i]=tm}}

inti=0;

/*实现***功能

intt=0;

inttm=0;

=n-1,i++)/*实现***功能

{

t=i;

=n,j++)/*实现***功能

if(a[j]<

a[t])

t=j;

=i)

tm=a[t];

/*实现***功能

a[i]=tm

}

(12)试按照规范编写一个求3个数中最小值的程序。

程序规范如下:

1)禁止使用GOTO语句;

2)使用缩排编写程序;

3)变量命名明晰

main()//accodeaboutfindingoutthesmalloneintreeinputnumber

{intnum1,num2,num3,min;

printf("

Pleaseinputthreenumbers:

"

);

scanf("

%d,%d,%d"

&

num1,&

num2,&

num3);

if(num1<

num2)

MIN=num1;

else

MIN=num2;

if(num3<

MIN)

MIN=num3;

Thesmalloneis:

%d"

small);

(13)举例说明软件测试的不完备性。

就目前的软件测试方法而言,还无法做到对代码的完全覆盖测试,所以说软件测试是不完备的。

例如,下面的代码是无法完全测试的。

包含的不同执行路径数达520条,对每一条路径进行测试需要1毫秒,假定一年工作365×

24小时,要想把所有路径测试完,需3170年。

(14)试解释单元测试中“驱动模块”、“桩模块”与“被测模块”含义以及它们之间的关系。

●驱动模块相当于被测模块的主程序,它接收测试数据,并把这些数据传送给被测模块,最后再输出实测结果。

●桩模块也叫做存根模块,用以代替被测模块调用的子模块。

●被测模块是单元测试要测试的模块,他与驱动模块和桩模块有被调用和调用的关系。

(15)简述软件改正性、适应性维护的含义。

改正性是为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应进行的诊断和改正错误的过程。

适应性维护是指,随着信息技术的飞速发展,软件运行的外部环境(新的硬、软件配置)或数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质)可能发生变化,为了使软件适应这种变化,而修改软件的过程叫做适应性维护

(16)举例说明影响维护工作量的因素。

(1)系统规模:

系统规模大,维护困难;

(2)程序设计语言:

开发语言复杂,维护也困难;

(3)系统年龄大小:

时间久远的系统,维护困难;

(4)数据库技术的应用水平:

数据应用水平低,维护工作量大。

(5)所采用的软件开发技术及软件开发工程化的程度:

工程化程度高,维护相对容易。

商业企业进销存管理软件。

由于商品品种多,经营手段灵活,所以对数据库技术应用的水平要求比较高;

一般大型商业企业,如沃尔玛是全球连锁,所以系统规模巨大,维护困难;

商业企业管理软件一般要处理的内容多样,目前还没有一种语言可以完成整个系统的开发任务,所以选择功能相对强大的语言会减少开发困难。

二、已知程序框图如图2-1所示,试分别给出(a)语句覆盖,(b)条件覆盖,(c)判断覆盖,(d)条件组合覆盖,(e)判断/条件的最小测试用例和路径。

(每小题5分,共25分)

(a)语句覆盖

路径:

ace

测试用例【(2,0,4),(2,0,3)】

(b)条件覆盖

测试用例:

【(2,0,4),(2,0,3)】

abd

【(1,1,1),(1,1,1)】

(c)判断覆盖

【(2,0,4),(2,0,3)】

(d)条件组合覆盖

abe

【(2,1,1),(2,1,2)】

【(1,0,3),(1,0,4)】

(e)判断/条件覆盖

三、现有一个PASCAL语言的编译器。

试采用黑盒测试法测试该编译器对语法规定:

“标识符是由字母开头、后跟字母或数字的任意组合构成;

有效字符数为8个,最大字符数为80个;

标识符必须先说明,再使用;

在同一说明语句中,标识符至少必须有一个。

”的一致性。

(每一个分类5分,共25分)

等价类划分如下:

下面选取了8个测试用例,它们覆盖了所有的等价类。

①VARx,T1234567:

REAL;

}

(1)

(2)(4)(7)(8)(11)

(13)

BEGINx:

=3.414;

T1234567:

=2.732;

……

②VAR:

 

}(3)

③VARx,:

}(5)

④VART12345……:

}(6)多于80个字符

⑤VART$:

CHAR;

}(9)

⑥VARGOTO:

INTEGER;

}(10)

⑦VAR2T:

}(12)

⑧VARPAR:

}(14)

BEGIN……

PAP:

=SIN(3.14*0.8)/6;

四、已知程序伪代码如图4-1所示,试完成下列工作:

1)试用算法4.1给出对应的流图;

2)计算流图的复杂性V(G);

3)求基本路径构成的基本集合(num1,num2,num3各取一次最小值);

4)给出每条路径执行的期望结果;

5)给出每一条路径的测试用例。

(每小题3分,共15分)

环形复杂性:

3

基本路径集:

12357

12457

12367

期望结果:

12357的结果:

num1是最小值

12457的结果:

num2是最小值

12367的结果:

num3是最小值

Num1=3;

num2=4;

num3=5

Num1=4;

num2=3;

num2=5;

num3=3

五、已知程序伪代码如图5-1所示,试完成下列工作:

1)试用算法5.1给出对应的流图;

V(G)=6

path1:

1-2-10-11-13

path2:

1-2-10-12-13

path3:

1-2-3-10-11-13

path4:

1-2-3-4-5-8-9-2……

path5:

1-2-3-4-5-6-8-9-2……

path6:

1-2-3-4-5-6-7-8-9-2……

输入数据:

value[k]=有效输入,限于k<

i(i定义如下)value[i]=−999,当2≤i≤100;

预期结果:

n个值的正确的平均值、正确的总计数。

注意:

不能孤立地进行测试,应当作为路径4、5、6测试的一部分来测试。

path2:

value[1]=−999;

平均值=−999,总计数取初始值。

path3:

试图处理101个或更多的值,而前100个应当是有效的值;

与测试用例1相同。

六、一个网络教学系统的功能需求内容:

1)学生通过客户端根据学号和密码进入选课界面,在这里学生可以进行查询已选课程、指定自己的选修课程以及对自己基本信息的查询;

2)学生可以登录本系统中学习模块,浏览课程信息、选择和查找自己所需要学习课程的课件并进行下载;

3)教师可以登录本系统,在网站上输入课程介绍、上传课程的课件、发布、更新和修改消息;

4)系统管理员可以对本系统进行维护和批准用户申请注册等操作。

对课程信息进行维护,包括:

添加、删除和修改课程信息;

对学生基本信息进行维护,包括:

添加、修改、查询和删除;

对教师信息进行维护,包括:

添加、修改、查询和删除等操作。

试完成系统的分析与设计工作。

具体要求如下:

●画出系统的数据流程图

●画出系统E-R图

●画出系统状态转换图

●画出系统功能的模块结构图

●给出模块结构图中学生选课并下载课件的算法的伪代码(每问4分,共20分)

七、采用面向对象的分析与设计方法完成“网络教学系统”下面要求的系统分析与设计工作。

(每问4分,共20分)

●画出系统UML用例图

●画出系统UML类图

●画出系统UML状态转换图

●画出系统UML顺序图

●给出类图中教师发布课程信息方法的伪代码;

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

当前位置:首页 > 解决方案 > 学习计划

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

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