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

2017年湖南大学信息科学与工程学院F1008软件工程导论复试实战预测五套卷

  摘要

一、名词解释

1. 程序的可移植性

【答案】程序的可移植性指程序从某一环境转移到另一个环境下的难易程度。为获取较高的可移植性,在设计过程中采用的程序设计语言和运行支撑环境,尽量不使用与系统底层相关性强的语言。

二、简答题

2. 列举用主动对象表示控制流时应遵循的应用规划。

【答案】(1)在一个表示进程的主动对象中,有且仅有一个表示进程的主动服务。

(2)如果要把一个进程和隶属于它的线程分散到不同的对象中去表示,则尽可能使每个对象中只含有一个表示线程的服务。

(3)如果要把进程和隶属于它的线程放在一个对象中表示,就应该把这个进程的全部线程都放在同一个对象中,避免一部分集中,一部分分散。

3. PDL 的特点是什么?有哪些优点?

【答案】(1) PDL 的特点

①所有关键字都有固定语法,以便提供结构化控制结构、数据说明和模块的特征。

②描述处理过程的说明性语言没有严格的语法。

③具有模块说明机制,包括简单的与复杂的数据说明。

④具有模块定义和调用机制,因此开发人员应根据系统编程所用的语种,说明PDL 表示的有关程序结构。

(2) PDL 的优点

①提供的机制比图形全面,为保证详细设计与编码的质量创造了有利条件。

②可作为注释嵌入在源程序中一起作为程序的文档,并可同高级程序设计语言一样进行编辑、修改,有利于 软件的维护。

③会自动生成程序代码,提高软件生产率。目前已有PDL 多种版本(

等),为自动生成相应代码提供了便利条件。

4. 什么是软件的可靠性?它们能否定量计算?

【答案】(1)软件可靠性是指在给定的时间内,在规定的环境条件下系统完成所指定功能的概率。

(2)软件可靠性可以进行定量计算,常用指标是平均失效等待时间MTTF 与平均失效间隔时间MTBF 。

假如对n 个相同的系统(硬件或软件)进行测试,它们的失效时间分别是

均失效等待时间MTTF 定义为:

则平

MTBF 是平均失效间隔时间,它是指两次相继失效之间的平均时间。MTBF 在实际使用时通常是指当n 很大时,系统第n 次失效与第

5. 维护技术的副作用有哪些? 次失效之间的平均时间。

【答案】因修改软件而造成的错误或其他不希望出现的情况称为维护的副作用。维护的副作用有编码副作用、数据副作用、文档副作用三种。

(1)编码副作用

在使用程序设计语言修改源代码时可能引入下面错误。这些错误要到运行时才能被发现。例如:

①删除或修改一个子程序、一个标号、一个标识符。

②改变程序代码的时序关系,改变占用存储的大小,改变逻辑运算符。

③修改文件的打开和关闭。

④改进程序的执行效率。

⑤把设计上的改变翻译成代码的改变。

⑥为边界条件的逻辑测试做出改变。

(2)数据副作用

在修改数据结构时,有可能造成软件设计与数据结构不匹配,因而导致软件错误。数据副作用是修改软件信息结构导致的结果。例如:

①重新定义局部或全局的常量,重新定义记录和文件格式。

②增加或减少一个数组或高层数据结构的大小。

③修改全局或公共数据。

④重新初始化控制标志或指针。

⑤重新排列输入/输出或子程序的参数。

(3)文档副作用

所有的维护活动都必须对相关技术文档进行相应修改。否则会导致文档与程序功能不匹配、缺省条件改变、新错误信息不正确等错误,使文档不能反映软件当前的状态。如果对可执行软件的修改没有反映在文档中,就会产生文档副作用。例如:

①修改交互输入的顺序和格式,没有正确地记入文档中。

②过时的文档内容、索引和文本可能造成冲突等。

6. 功能模型的特征有哪些?

【答案】(1)功能模型描述了系统的所有计算。

(2)功能模型指出发生了什么,对动态模型确定什么时候发生,而对象模型确定发生的客体。

(3)功能模型表明一个计算如何从输入值得到输出值,它不考虑所计算的次序。

(4)功能模型由多张数据流图组成。数据流图说明数据流是如何从外部输入、经过操作和内部存储输出到外部的。

(5)功能模型包括对象模型中值的约束条件。

7. 什么是面向数据流的设计方法?它有哪些策略?

【答案】(1)面向数据流的设计方法的定义

面向数据流的设计方法也称结构化设计方法(SD ),它与结构化分析(SA )相衔接,它按一定的设计策略将数据流图转换成软件的模块层次结构。

(2)面向数据流的设计策略

①事务型分析设计

一个大的复杂的系统分解成较小的,相对简单的子系统,这些子系统彼此之间相对独立一些,而高层数据流图的数据处理往往反映这些子系统的功能,有平行分别处理的特点,因此,高层数据流图的转换通常可作为事务型处理,把一个加工逻辑看成是一类特定的事务,把它们分别映射成一个模块,最高层模块为系统模块,通过对输入初始命令的判断决定调用哪个模块。这种事务型分析设计的策略也用于较低层数据流图向软件结构图的转换。

②变换型分析设计

变换型数据流图具有主要的处理功能及实现这项处理功能所需要的输入数据流和经过处理后产生的输出数据流。确定了第三部分,高层模块就可分解出三个从属于它的新模块,分别执行输入、变换、输出功能。变换分析设计一般用于对较低层数据流图向软件结构图的转换。

三、综合应用题

8. 简述有助于提高面向对象设计质量的每条主要启发规则的内容和必要性。

【答案】(1)有助于提高面向对象设计质量的主要启发规则如下所述:

①设计结果应该清晰易懂

a. 用词一致。

b. 使用已有的协议。

c. 减少消息模式的数目。

d. 避免模糊的定义。

①一般一特殊结构的深度应适当

②设计简单的类

a. 不要包含过多的属性。

b. 有明确的定义。为使类的定义明确,分配给每个类的任务应该简单。

c. 简化对象之间的合作关系。

d. 不要提供太多的服务。