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

2017年南京信息工程大学F20软件工程考研复试核心题库

  摘要

一、名词解释

1. 多态性

【答案】多态性是指同一消息为不同的对象接受时,可产生完全不同的动作,利用多态性,用户可发送一个通用的消息,而将所有的实现细节都留给接受消息的对象自行决定。另外,多态性也可以指在父类中定义的属性或者 服务被子类集成后,可以具有不用的数据类型或者表现出不同的行为。

二、简答题

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

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

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

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

①事务型分析设计

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

②变换型分析设计

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

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

【答案】(1)范围

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

(2)资源

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

(3)进度安排

进度安排的好坏往往会影响整个项目的按期完成,因此这一环节是十分重要的。制定软件进

度与其他工程没有很大的区别,其主要的方法有:工程网络图、Gantt 图、任务资源表等。

(4)成本估算

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

(5)培训计划

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

4. 简述动态模型的特征,说明事件、事件跟踪图、状态、状态图的含义。

【答案】(1)动态模型的特征

①动态模型是与时间和变化有关的系统性质,该模型描述了系统的控制结构。

②动态模型表示了瞬时的、行为化的系统控制性质。

③动态模型关心的是系统的控制,操作的执行顺序。

④动态模型从对象的事件和状态的角度出发,表现了对象的具体行为。

⑤动态模型描述的系统属性是触发事件、事件序列、状态、事件与状态的组织。使用状态图作为描述工具。

(2)事件的含义

事件是指时刻发生的某件事情。它是某事情发生的信号,它没有持续时间,它是一种相对性的快速事件。

(3)事件跟踪图的含义

①定义

事件跟踪图侧重于表达说明发生域系统执行过程中的一个特定“场景”(即脚本),是完成系统某个功能的事件序列。

②作用

事件跟踪图用来表示事件、事件的接收对象和发送对象。各种有关事件的序列关系及由此表现出来的对象之间的交互作用可通过事件跟踪图来表达。

(4)状态的含义

对象在某个特定阶段所处的情形就是状态,它是对象行为的属性值的一种抽象。对象的属性值按照影响对象显著行为的性质将其归并到一个状态中去。状态指明了对象对输入事件的响应。事件和状态是孪生的,一事件分开两种状态,一个状态分开两个事件。

(5)状态图的含义

状态图反映了状态与事件的关系。当接收一事件时,下一状态就取决于当前状态和所接收的事件,由该事件引起的状态变化称为转换。状态图确定了由事件序列引起的状态序列。状态图描述了类中某个对象的行为,由于类的所有实例有相同的行为,那么这些实例共享同一状态图,正如它们共享相同的类性质一样。但因为各对象有 自己的属性值,因此各对象也有自己的状态,按自己的步调前进。

图 图书馆的软件结构图

5. 什么是α测试和β测试?

【答案】(1)α (Alpha )测试

α测试由用户在开发者的场所进行,并且在开发者对用户的“指导”下进行测试,且开发者负责记录发现的错误和遇到的问题。即α测试是在受控的环境中进行的。

(2)β (Beta )测试

β测试由软件的最终用户们在一个或多个客户场所进行。开发者通常不在β测试的现场,即(β测试是软件在 开发者不能控制的环境中的“真实”应用。主要的实现步骤是:

①用户记录在β测试过程中遇到的问题,并且定期把这些问题报告给开发者;

②开发者在接收到在β测试期间报告的问题之后,对软件产品进行必要的修改;

③开发者向全体客户发布最终的软件产品。

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

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

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

(2)程序流程图的缺点

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

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

③不易表示数据结构。

7. 维护技术的副作用有哪些?

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