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

2017年广西大学1301计算机网络与软件工程复试实战预测五套卷

  摘要

一、名词解释

1. UML

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

二、简答题

2. 什么是软件可维护性?可维护性度量的特性是什么?

【答案】(1)软件可维护性的定义

软件可维护性是指软件能够被理解、校正、适应及增强功能的容易程度;是软件开发阶段的关键目标。

(2)可维护性度量的特性

影响软件可维护性的因素较多,设计、编码及测试中的疏忽和低劣的软件配置、缺少文档等都对软件的可维护性产生不良的影响。软件可维护性可用可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率这七个质量特性来衡量。对于不同类型的维护,这七种特性的侧重点也不相同。这些质量特性通常体现在软件产品的许多方面。为使每一个相应的措施加以保证,即这些质量要求要渗透到各开发阶段的各个步骤中。因此,软件的可维护性是产品投入运行以前各阶段针对上述各质量特性要求进行开发的最终结果。

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

【答案】(1) PDL 的特点

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

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

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

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

(2) PDL 的优点

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

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

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

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

4. 什么是事件?

【答案】事件是发生在某一个时问点的一件事,例如,用户单击左边按钮,或者某次航班从北京出发。

5. 画数据流图的步骤是什么?画数据流图应该注意什么事项?

【答案】(1)画数据流图的步骤

①首先画系统的输入输出,即先画顶层数据流图

顶层流图只包含一个加工,用以表示被开发的系统,然后考虑该系统有哪些输入数据,这些输入数据从哪里来;有哪些输出数据,输出到哪里去。这样就定义了系统的输入、输出数据流。顶层图的作用在于表明被开发系统的范围以及它和周围环境的数据交换关系。顶层图只有一张。

②画系统内部,即画下层数据流图

一般将层号从0开始编号,采用自顶向下、由外向内的原则。画0层数据流图时,一般根据当前系统工作分组情况,并按新系统应有的外部功能,分解顶层流图的系统为若干子系统,决定每个子系统间的数据接口和活动关系。画更下层数据流图时,则分解上层图中的加工,一般沿着输入流的方向,凡数据流的组成或值发生变化的地方则设置一个加工,这样一直进行到输出数据流(也可从输出流到输入流方向画)。如果加工的内部还有数据流,则对此加工在下层图中继续分解,直到每一个加工足够简单,不能再分解为止,不再分解的加工称为基本加工。

(2)画数据流图时要注意的事项

①命名

不论数据流、数据存储还是加工,合适的命名使人们易于理解其含义。数据流的名字代表整个数据流的内容,而不仅仅是它的某些成分,不便用缺乏具体含义的名字,如“数据”、“信息”等,加工名也应反映整个处理的功能,不使用“处理”、“操作”这些笼统的词。

②画数据流而不是控制流

数据流图反映系统“做什么”,不反映“如何做”,因此箭头上的数据流名称只能是名词或名词短语,整个图中不反映加工的执行顺序。

③一般不画物质流

数据流反映能用计算机处理的数据,并不是实物,因此对目标系统的数据流图一般不要画物质流。

④每个加工至少有一个输入数据流和一个输出数据流

反映出此加工数据的来源与加工的结果。

⑤加工点的编号

如果一张数据流图中的某个加工点分解成另一张数据流图时,则上层图为父图,直接下层图为子图。子图应编号,子图上的所有加工也应编号,子图的编号就是父图中相应加工的编号,加工的编号由子图号、小数点及局 部号组成。

⑥父图与子图的平衡

子图的输入输出数据流同父图相应加工的输入输出数据流必须一致,此即父图与子图的平衡。

有时考虑平衡可忽略一些枝节性的数据流(如出错处理)。父图与子图的平衡,是分层数据流图中的重要性质,保证了数据流图的一致性,便于分析人员的阅读与理解。

⑦局部数据存储

在分层处理的过程中,当某层数据流图中的数据存储不是父图中相应加工的外部接口,而只是本图中某些加工之间的数据接口,则称这些数据存储为局部数据存储。一个局部数据存储只要当它作为某些加工的数据接H 或某个加工特定的输入或输出时,就把它画出来,这样有助于实现信息隐藏。

⑧提高数据流图的易理解性

注意合理分解,要把一个加工分解成几个功能相对独立的子加工,这样可以减少加工之间输入、输出数据流的数目,增加数据流图的可理解性。分解时要注意子加工的独立性,还应注意均匀性,特别是画上层数据流时,要注意将一个问题划分成几个大小接近的组成部分,这样做便于理解;不要在一张数据流图中,某些加工已是基本加工,某些加工还要分解好几层。

6. 简述三种分析模型的关系。

【答案】(1)功能模型说明对象模型中操作的含义、动态模型中动作的意义以及对象模型中约束的意义。一些不存在相互作用的系统,如编译器系统,它们的动态模型较小,因为它们的目的是功能处理,功能模型是这类系 的主要模型。

(2)功能模型由多张数据流图组成。数据流图用来表示从源对象到目标对象的数据值的流向。数据流图不表示控制信息,控制信息在动态模型中表示。数据流图也不表示对象中值的组织,这种信息在对象模型中表示。

7. 程序流程图的特点有哪些?

【答案】(1)程序流程图的优点

流程图的优点是直观清晰、易于使用,是开发者普遍采用的工具。

(2)程序流程图的缺点

①可以随心所欲地控制流程线的流向,容易造成非结构化的程序结构。编码时势必不加限制地使用GOTO 语言,导致基本控制块多入口多出口,这样会使软件质量受到影响,与程序设计的原则相违背。

②流程图不易反映逐步求精的过程,往往反映的是最后的结果。

③不易表示数据结构。

三、综合应用题

8. 什么是软件工程? 它有哪些本质特性? 怎样用软件工程消除软件危机?

【答案】(1)软件工程定义:

软件工程是是从管理和技术两方面研究如何更好地开发和维护计算机软件的一门新兴学科。采用工程的概 念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术