2020年复旦大学软件工程考研复试核心题库之简答题精编

特别说明

本书根据最新复试要求并结合历年复试经验对该题型进行了整理编写,涵盖了这一复试科目该题型常考及重点复试试题并给出了参考答案,针对性强,由于复试复习时间短,时间紧张建议直接背诵记忆,考研复试首选资料。

版权声明

青岛掌心博阅电子书依法对本书享有专有著作权,同时我们尊重知识产权,对本电子书部分内容参考和引用的市面上已出版或发行图书及来自互联网等资料的文字、图片、表格数据等资料,均要求注明作者和来源。但由于各种原因,如资料引用时未能联系上作者或者无法确认内容来源等,因而有部分未注明作者或来源,在此对原作者或权利人表示感谢。若使用过程中对本书有任何异议请直接联系我们,我们会在第一时间与您沟通处理。

因编撰此电子书属于首次,加之作者水平和时间所限,书中错漏之处在所难免,恳切希望广大考生读者批评指正。

重要提示

本书由本机构编写组多位高分在读研究生按照考试大纲、真题、指定参考书等公开信息潜心整理编写,仅供考研复试复习参考,与目标学校及研究生院官方无关,如有侵权请联系我们立即处理。

一、2020年复旦大学软件工程考研复试核心题库之简答题精编

1.变换分析设计与事务分析设计有什么区别?简述其设计步骤。

【答案】变换分析设计是一个顺序结构,由输入、变换和输出三部分组成,其工作过程有3步:取得数据、变换数据和给出数据。事务分析设计是将它的输入流分离成许多发散的数据流,形成许多加工路径,并根据输入的值选择其中一个路径来执行。二者区别:变换分析设计适用于具有明显变换特征的数据流图,事务分析设计适用于具有明显事务特征的数据流图。

变换分析设计步骤:

①确定DFD中的变换中心、逻辑输入和逻辑输出:

从物理输入端开始,沿着数据流方向向系统中心寻找,直到有这样的数据流,它不能再被看做是系统的输入,则它的前一个数据流是系统的逻辑输入。

从物理输出端开始,逆数据流方向向中间移动,可以确定系统的逻辑输出。

介于逻辑输入和逻辑输出之间的加工就是变换中心,即主加工。

②设计软件结构的顶层和第一层——变换结构:

顶层即主模块,主要完成所有模块的控制。

第一层至少有3个功能模块:输入、输出和变换模块,即为邀辑输入设计一个输入模块,其功能是为顶层模块提供相应数据,为逻辑输出设计一个输出模块,其功能是输出顶层模块的信息,为变换中心设计一个变换模块,其功能是将逻辑输入进行变换加工,然后逻辑输出。

③设计中、下层模块。对第一层的输入、变换、输出模块自顶向下逐层分解。

输入模块下属模块的设计:可设计两个下属模块,一个接收,一个转换。

输出模块下属模块的设计:可设计两个下属模块,一个转换,一个发送。

变换模块下属模块的设计:按照模块独立性原则来组织其结构,一般对每个基本加工建立一个功能模块。

④设计的优化:

输入部分求精:为每个物理输入设置专门模块,其他输入模块与转换数据模块可适当合并。

输出部分求精:为每个物理输出设置专门模块,其他输出模块与转换数据模块可适当合并。

变换部分求精:根据设计准则,对模块进行合并或调整。

事务分析设计步骤:

①确定DFD的事务中心和加工路径:当数据流图中每个加工将一个输入数据分解成多个发散的输出数据流时,该加工就是事务中心,从事务中心辐射出去的数据流为各个加工路径。

②设计软件结构的顶层和第一层——事务结构。

顶层是一个全控模块,有两个部分:接收分支(与变换型DFD的输入部分设计方法相同)和发

送分支(即调度模块,它控制管理所有下层的事务处理模块)。

③设计中、下层模块、优化等工作,与变换分析设计相同。

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

【答案】原因在于:

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

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

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

3.面向对象分析模型的用途是什么?

【答案】面向对象分析,就是抽取和整理用户需求并建立问题域精确模型的过程,分为对需求文档分析、对需求建模和对需求评审。

面向对象分析模型有三种用途:用来明确问题需求;为用户和开发人员提供明确需求;为用户和开发人员提供一个协商的基础,作为后继的设计和实现的框架。

4.试述软件工程过程中版本控制与变更控制处理过程。

【答案】软件工程过程中某一阶段的变更,均要引起软件配置的变更,这种变更必须严格加以控制和管理,保持修改信息,并把精确、清晰的信息传递到软件工程过程的下一步骤。

变更控制包括建立控制点和建立报告与审查制度。对于一个大型软件来说,不加控制的变更很快就会引起混乱。因此变更控制是一项最重要的软件配置任务,变更控制的过程如图所示。

其中“检出”和“登入”处理实现了两个重要的变更控制要素,即存取控制和同步控制。存取控制管理各个用户存取和修改一个特定软件配置对象的权限。同步控制可用来确保由不同用户所执行的并发变更。

5.通常采取哪些措施来降低模块间的耦合度?

【答案】通常采取以下措施来降低模块间的耦合度:

(1)油耦合方式上降低模块间接口的复杂性。模块间接口的复杂性包括模块的接口方式、接口信息的结构和数量。接口方式不采用直接引用(内容耦合),而采用调用方式(如过程语句调用方式)。接口信息通过参数传递且传递信息的结构尽量简单,不用复杂参数结构(如过程、指针等类型参数),参数的个数也不宜太多,如果很多,可考虑模块的功能是否庞大复杂。

(2)在传递信息类型上尽量使用数据耦合,避免控制耦合,慎用或有控制地使用公共耦合。这只是原则,耦合类型的选择要根据实际情况综合地考虑。

相关文档
最新文档