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

2017年解放军信息工程大学081100控制科学与工程03方向软件工程复试仿真模拟三套题

  摘要

一、名词解释

1. 数据字典

【答案】数据字典(DD )是用来定义数据流图中的各个成分具体含义的。它以一种准确的、无二义性的说明方 式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。

二、简答题

2. 快速原型模型有哪几种?各有何特点?

【答案】(1)快速原型模型的分类

原型模型又称快速原型模型,它是增量模型的另一种形式。它是在开发真实系统之前,构造一个原型,在该原型的基础上,逐渐完成整个系统的开发工作。根据原型的不同作用,可以分为探索型模型、实验型模型和演化型模型三类。

(2)三种快速原型模型的特点

①探索型模型

这种类型的原型模型是把原型用于开发的需求分析阶段,目的是要弄清用户的需求,确定所期望的特性,并探索各种方案的可行性。它主要针对开发目标模糊,用户与开发者对项目都缺乏经验的情况,通过对原型的开发来说明用户的需求。

②实验型模型

这种原型主要用于设计阶段,考核实现方案是否合适,能否实现。对于一个大型系统,若对设计方案心中没有把握时,可通过这种原型来证实设计方案的正确性。

③演化型模型

这种原型主要用于及早向用户提交一个原型系统,该原型系统或者包括系统的框架,或者包含系统的主要功能,在得到用户的认可后,将原型系统不断扩充演变为最终的软件系统。它将原型的思想扩展到软件开发的全过程。

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

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

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

(2)程序流程图的缺点

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

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

③不易表示数据结构。

4. 试述软件项目计划内容。

【答案】(1)范围

对该软件项目的综合描述,定义其所要做的工作以及性能限制,它包括项目目标、主要功能、性能限制、系统接口、特殊要求、开发概述等。

(2)资源

包括人力资源、硬件资源、软件资源及其他资源。

(3)进度安排

进度安排的好坏往往会影响整个项目的按期完成,因此这一环节是十分重要的。制定软件进度与其他工程没有很大的区别,其主要的方法有:工程网络图、Gantt 图、任务资源表等。

(4)成本估算

为使开发项目能在规定的时间内完成,且不超过预算,成本估算是很重要的。软件成本估算是一门不成熟的技术,国外已有的技术只能作为我们的借鉴。

(5)培训计划

为用户各级人员制定培训计划。

5. 什么是数据流图,其作用是什么,有哪些基本符号以及各表示什么含义?

【答案】(1)数据流图的定义

数据流图(DFD )是一种用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程的 图形化技术。它是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。

(2)数据流图的作用

数据流图的作用是描绘信息流和数据从输入移动到输出的过程中所经受的变换。

(3)数据流图的基本符号和表示含义

数据流图中的基本符号和表示含义,如图1所示。

图1数据流图的基本符号

6. 什么是耦合性?模块的耦合性有哪些内容?

【答案】(1)耦合性的定义

耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。

(2)模块耦合性的分类

①无直接耦合

无直接耦合指两个模块之间没有直接的关系,它们分别从属于不同模块的控制与调用,它们之间不传递任何信息。因此模块间耦合性最弱,模块独立性最高。

②数据耦合

数据耦合指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中的值传递。这种耦合程度较低,模块的独立性较高。

③标记耦合

标记耦合指两个模块之间传递的是数据结构,如高级语言中的数组名、记录名、文件名等这些名字即为标记,其实传递的是这个数据结构的地址。两个模块必须清楚这些数据结构,并按要求对其进行操作,这样降低了可理解性。可采用“信息隐蔽”的方法,把该数据结构以及在其上的操作全部集中在一个模块,就可消除这种耦合,但有时因为还有其他功能的缘故,标记耦合是不可避免的。

④控制耦合

控制耦合指一个模块调用另一个模块时,传递的是控制变量(如开关、标志等),被调用模块通过该控制变量的值有选择地执行模块内某一功能。因此被调用模块内应具有多个功能,哪个功能起作用受其调用模块控制。

7. 软件生命期各阶段的任务是什么?

【答案】(1)问题定义

问题定义阶段必须回答的关键问题是:“要解决的问题是什么?”。通过对客户的访问调查,系统分析员扼 要地写出关于问题性质、工程目标和工程规模的书面报告,经过讨论和必要的修改之后这份报告应该得到客户的确认。

(2)可行性研究

这个阶段要回答的关键问题是:“对于上一个阶段所确定的问题有行得通的解决办法吗? ”。

可行性研究阶 段的任务是研究问题的范围,探索这个问题是否值得去解,是否有可行的解决办法。

(3)需求分析

这个阶段的任务是准确地确定“为了解决这个问题,目标系统必须做什么”。这个阶段的一项重要任务是用 需求规格说明书准确地记录对目标系统的需求。

(4)总体设计

这个阶段必须回答的关键问题是:“概括地说,应该怎样实现目标系统?”。用适当的表达工具