当前位置:问答库>考研试题

2018年武汉工程大学计算机科学与工程学院838软件工程概论考研基础五套测试题

  摘要

目录

2018年武汉工程大学计算机科学与工程学院838软件工程概论考研基础五套测试题(一) ... 2

2018年武汉工程大学计算机科学与工程学院838软件工程概论考研基础五套测试题(二) ... 7 2018年武汉工程大学计算机科学与工程学院838软件工程概论考研基础五套测试题(三) . 11 2018年武汉工程大学计算机科学与工程学院838软件工程概论考研基础五套测试题(四) . 17 2018年武汉工程大学计算机科学与工程学院838软件工程概论考研基础五套测试题(五) . 22

一、名词解释

1. UML

【答案】UML 又称统一建模语言或标准建模语言,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。

2. 模块化

【答案】模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起 来构成一个整体,可以完成指定的功能满足用户的需求。模块化是为了使一个复杂的大型程序能被人的智力所管理。

二、简答题

3. 说明对象模型的特征。

【答案】(1)对象模型表示了静态的、结构化的、系统数据性质,描述了系统的静态结构,表现了对象间的相互关系。

(2)模型主要关心系统中对象的结构、属性和操作使用对象图来描述。

4. 非渐増式测试与渐増式测试有什么区别?

【答案】(1)渐增式测试和非渐增式测试的定义

集成测试的方法主要有两种:非渐増式测试和渐増式测试。

①非渐增式测试

首先对每个模块分别进行单元测试,然后再把所有的模块按设计要求组装在一起进行测试。 ②渐增式测试

逐个把未经过测试的模块组装成到已经测试的模块上去,进行集成测试。每加入一个新模块进行一次集成测试,重复此过程直至程序组装完毕。

(2)渐增式测试和非渐増式测试的区别

①非渐增式方法把单元测试和集成测试分成两个不同的阶段,前一阶段完成模块的单元测试,后一阶段完成集成测试。而渐增式测试把单元测试与集成测试合在一起,同时完成。

②非渐增式测试需要更多的工作量,因为每个模块都需要驱动模块和桩模块,而渐增式利用已测试过的模块作为驱动模块或桩模块,因此工作量较少。

③渐增式可以较早地发现进口之间的错误,非渐增式最后组装时才发现。

④渐增式有利于排错,发生错误往往和最近加进来的模块有关,而非渐増式发现进口错误推迟到最后,很难判断是哪一部分接口出错。

⑤渐增式比较彻底,已测试的模块和新的模块再测试。

⑥渐增式占用的时间较多,但非渐增式需更多地驱动模块。桩模块也占用一些时间。

⑦非渐増式开始可并行测试所有模块,能充分利用人力,对测试大型软件很有意义。

5. 软件工程的净室方法为什么没有得到广泛的使用?

【答案】(1)净室方法学太理论、太数学化,以至难于在真实的软件开发中使用。

(2)不需要进行单元测试,而是进行正确性验证和统计质量控制,与当前大多数软件开发方式背离。

(3)软件开发产业的成熟度。净室过程的使用需要在整个生命周期阶段定义的过程中严格的应用,因为大多数软件企业的运作还处于特定的阶段(级别),因此,还没有准备好应用哪些技术。

6. 使用快速原型方法构造原型时,对原型有什么样的要求?

【答案】(1)原型不同于最终系统,两者在功能上的区别是最终系统要实现软件需求的全部功能,而原型只实现所选择的部分功能,最终系统对每个软件需求都是要求详细实现,而原型仅仅是为了试验和演示的,部分功能需求可以忽略或者模拟实现。

(2)在构造原型时,必须注意功能性能的取舍,忽略一切暂时不关心的部分以加速原型的实现,同时又要充分体现原型的作用,满足评价原型的要求。

(3)在构造原型之前,必须明确运用原型的目的,从而解决分析与构造内容的取舍,还要根据构造原型的目的确定考核、评价原型的内容。

三、综合应用题

7. 根据历史数据可以进行如下的假设。对计算机存储容量的需求大致按下面公式描述的趋势逐年增加:

存储器的价格按下面公式描述的趋势逐年下降:

如果计算机字长为16位,则存储器价格下降的趋势为:

在上列公式中y 代表年份,M 是存储容量(字数),和

较计算机硬件和软件成本的变化趋势。要求计算:

(1)在1985年对计算机存储容量的需求估计是多少? 如果字长为16位,这个存储器的价格是多少?

代表价格。基于上述假设可以比

(2)假设在1985年一名程序员每天可开发出10条指令,程序员的平均工资是每月4000美元。如果一条指令为一个字长,计算使存储器装满程序所需用的成本。

(3)假设在1995年存储器字长为32位,一名程序员每天可开发出30条指令,程序员的月平均工资为6000 美元,重复(1)、(2)题。

【答案】(1)在1985年对计算机存储容量的需求,估计是:

如果字长为16位,则这个存储器的价格是:

(2)如果一条指令的长度为一个字,则使存储器装满程序共需4474263条指令。

如果每月有20个工作日,则每人每月可开发200条指令。需要的工作量是:

程序员的月平均工资是4000美元,开发出4474263条指令的成本是:

(3)在1995年对存储容量的需求估计为:

如果字长为32位,则这个存储器的价格是:

如果一条指令的长度为一个字,则使存储器装满程序共需73577679条指令。

如果每月有20个工作日,则每人每月可开发600条指令。需要的工作量是:

开发出成本是:

8. 面向对象实现应该选用哪种程序设计语言?为什么?

【答案】(1)面向对象实现应该尽量选用面向对象语言来实现面向对象分析、设计的结果。

(2)原因

一致的表示方法。面向对象开发基于不随时间变化的、一致的表示方法。既有利于在软件开发过程中始终使用统一的概念,也有利于维护人员理解软件的各种配置成分。

可重用性。既可重用面向对象分析结果,也可重用相应的面向对象设计和面向对象程序设计结果。

可维护性。程序显式地表达问题域语义,对维护人员理解待维护的软件有很大帮助。在选择编程语言时,应该考虑的首要因素是哪个语言能最恰当地表达问题域语义。

9. 试讨论Rational 统一过程的优缺点。

【答案】(1)优点

提高了团队生产力,在迭代的开发过程、需求管理、基于组件的体系结构、可视化软件建模、验证软件质量 以及控制软件变更等方面、针对所有关键的开发活动为每个开发成员提供了必要的