北方工业大学软件工程期末复习题(含答案)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

北方工业大学

《软件工程》课程期末复习题(答案)

A 卷

2014年春季学期

开课学院:信息工程学院

考试方式:闭卷

考试时间:120 分钟

班级 姓名 学号 一.简要回答下列各问题(共40分,每个小题5分) (1) 阐述软件工程的定义。

答:

● 是指导计算机软件开发和维护的一门工程学科; ● 采用工程的概念、原理、技术和方法来开发和维护软件; ● 把证明正确的管理技术和最好技术综合运用到软件开发中; ● 研究经济地开发出高质量的软件方法和技术;

● 研究有效维护软件的方法和技术。

(2) 简述软件危机的原因。

答:

● 缺乏软件开发的经验和有关软件开发数据的积累,使得开发计划很难制定。 ● 软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误 。 ● 软件开发过程不规范。如,没有真正了解用户的需求就开始编程序。 ● 随着软件规模的增大,其复杂性往往会呈指数级升高。需要很多人分工协作,

不仅涉及技术问题,更重要的是必须有科学严格的管理。

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

线

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

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

优点:

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

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

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

的。

缺点

●由于瀑布模型几乎完全依赖于书面的规格说明,很

可能导致最终开发出的软件产品不能真正满足用户

的需要。如果需求规格说明与用户需求之间有差异,

就会发生这种情况。

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

1-2 瀑布模型示意图

●能在较短时间内向用户提交可完成一些有用的工作产

品,即从第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]

int i=0;/*实现***功能

int t=0;

int tm=0;

For(i=1;i<=n-1,i++) /*实现***功能

{

t=i;

for(j=i+1,j<=n,j++) /*实现***功能

if(a[j]

t=j;

if(t!=i)

{

tm=a[t]; /*实现***功能

a[t]=a[i];

a[i]=tm

}

}

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

1)禁止使用GOTO语句;

2)使用缩排编写程序;

3)变量命名明晰

答:

main() // a c code about finding out the small one in tree input number

{int num1,num2,num3,min;

printf("Please input three numbers:");

scanf("%d,%d,%d",&num1,&num2,&num3);

if (num1

MIN=num1;

else

MIN=num2;

if (num3

MIN=num3;

printf("The small one is:%d",small);

相关文档
最新文档