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

2018年武汉工程大学计算机科学与工程学院838软件工程概论考研核心题库

  摘要

一、名词解释

1. 信息隐藏

【答案】信息隐藏在信息安全保障体系的诸多方面发挥着重要作用,它指的是在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对不需要这些信息的其他模块来说,是不能访问的,也是不可见的。

2. 重用性

【答案】利用标准化的软件模块快速构建特定的应用系统,不做修改或稍加改动就可以在不同环境中多次重复使用。

二、简答题

3. 简述事件如何触发操作。

【答案】(1)如果仅描述事件的模式,那状态图就会失去意义。一个对象的行为描述必须指出在事件的响应中该对象做些什么。在响应所对应的状态和事件过程中,完全依附于状态和变迁的操作。

(2)活动是需要花费时间来完成的操作

①活动与状态有关,一个活动可以是连续的操作,例如在电视机屏幕上显示一幅画面。

②一个活动也可以包括经过一段时间间隔之后的自动终结顺序操作,例如关闭阀门,或者执行一次计算。

③一个状态可以控制一个连续性活动,这种控制可以持续到一个事件使该状态发生变迁时才结束,例如电话铃响。在状态框中用 表示活动A 开始进入该状态并在退出该状态时结束。

表示时序活动A 开始进④一个状态也可以控制时序的活动,例如机器人移动一个零件,这种控制持续到完成该行动,或因另一个事件被中断而提前停止该活动时才结束。相同的记号

入该状态,当完成时停止。

(3)如果一个事件在行动完成之前发生状态的变迀,则该活动被提前终止。例如机器人遇到阻碍而停止移动。这两种使用没有本质的区别:连续性活动可以被看成延续时间不确定的时序活动。

4. 三种模型的建立过程。

【答案】(1)对象模型:确定类、准备数据字典、确定联系、确定属性、完善对象模型。 (2)动态模型:准备脚本、准备事件跟踪、构造状态图。

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

5. 应该由谁来进行确认测试?是软件开发者还是软件用户?为什么?

【答案】(1)在对照需求做有效性测试和软件配置审查时,是由软件开发者在开发环境下进

行的测试。而接下来做验收测试时则以用户为主。软件开发人员和

输出结果,一般使用生产中的实际数据进行测试。

(2)如果软件是为多个用户开发的,则需要进行a 测试和p 测试。a 测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试。软件在应该自然设置状态下使用。开发者坐在用户旁边,随时记录错误情况和使用中的问题,这是在受控制的环境下进行的测试。

(3)测试是由软件的多个用户在一个用户或多个用户的实际使用环境下进行的测试。这些用户是与公司签订了支持产品预发行合同的外部用户,他们要求使用产品,并愿意返回有关错误信息给开发者。与a 测试不同的是,开发者通常不在测试现场。因此,测试是在开发者无法控制的环境下进行的软件现场应用。

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

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

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

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

一一质量保证)人员也应参加。由用户参加设计测试用例,使用用户界面输入测试数据,并分析测试的

三、综合应用题

7. 说明微软过程的适用范围。

【答案】微软过程的每一个生命周期发布一个递进的软件版本,各个生命周期持续、快速地迭代循环。它综合了 Rational 统一过程和敏捷过程的许多优点,是对众多成功项目的开发经验的正确总结;适用于商业环境下具有有 限资源和有限开发时间约束的项目。

8. 假设自己被指定为项目负责人,任务是开发一个应用系统,该系统类似于自己的小组以前做过的那些系统,但是规模更大且更复杂一些。客户已经写出了完整的需求文档。应选用哪种项目组结构?为什么?打算采用哪种(些)软件过程模型?为什么?

【答案】(1)由于待开发的应用系统类似于以前做过的系统,开发人员已经积累了较丰富的经验,没有多少技术难题需要攻克。为了减少通信开销,充分发挥技术骨干的作用,统一意志统

一行动,提高生产率,加快开发进度,项目组的组织结构以基于主程序员组的形式为宜。

(2)针对待开发的系统,客户已经写出了完整的需求文档,项目组又有开发类似系统的经验,因此,可以采用广大软件工程师熟悉的瀑布模型来开发本系统。

9. 面向对象程序设计语言主要有哪些技术特点?

【答案】(1)支持类与对象概念的机制。

(2)实现聚集结构的机制。

(3)实现泛化结构的机制。

(4)实现属性和服务的机制。

(5)类型检查机制。

(6)类库。

(7)效率。

(8)持久保存对象的机制。

(9)参数化类的机制。

(10)开发环境。

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

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

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

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

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

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

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

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

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

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

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

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