2017年江南大学软件工程复试实战预测五套卷
● 摘要
一、名词解释
1. 概要设计
【答案】概要就是回答“概括地说,系统应该如何实现”这个问题。概要设计站在全局高度上,花较少成本,从较抽象的层次上分析对比多种可能的系统实现方案和软件结构,从中选出最佳方案和最合理的软件结构。
二、简答题
2. 可行性研究包括哪些步骤?
【答案】(1)系统定义
为了定义好一个系统,需要分析人员对有关人员进行调查访问,仔细阅读和分析有关的材料,对项目的规模和目标进行定义和确认,清晰地描述项目的一切限制和约束,确保分析人员正在解决的问题确实是要解决的问题。
(2)研究正在运行的系统
①正在运行的系统可能是一个人工操作的系统,也可能是旧的计算机系统,要开发一个新的计算机系统来代替旧的系统。因此,现有的系统是信息的重要来源,要研究它的基本功能,存在什么问题,运行现有系统需要多少费用,对新系统有什么新的功能要求,新系统运行时能否减少使用费用等。
②收集、研究、分析现有系统的文档资料,实地考察现有系统,在考察的基础上,访问有关人员,然后描绘现有系统的高层系统流程图,与有关人员一起审查该系统流程图是否正确。这个系统流程图反映了现有系统的基本功能和处理流程。
(3)导出新系统的逻辑模型
根据对现有系统的分析研究,逐渐明确了新系统的功能、处理流程以及所受的约束,然后使用建立逻辑模型的工具一数据流图和数据字典来描述数据在系统中的流动和处理情况。
(4)设计方案
分析人员建立了新系统的高层逻辑模型之后,要从技术角度出发,提出实现高层逻辑模型的不同方案,即导出若干较高层次的物理解法。根据技术可行性、经济可行性、社会可行性对各种方案进行评估,去掉行不通的解法,就得到了可行的解法。
(5)推荐可行的方案
根据上述可行性研究的结果,应该决定该项目是否值得去开发。若值得开发,那么可行性的解决方案是什么,并且说明该方案可行的原因和理由。
(6)编写可行性研究报告
将上述可行性研究过程的结果写成相应的文档,即可行性研究报告,提请用户和使用部门仔
细审查,从而决定该项目是否进行开发,是否接受可行的实现方案。
3. 功能模型的特征有哪些?
【答案】(1)功能模型描述了系统的所有计算。
(2)功能模型指出发生了什么,对动态模型确定什么时候发生,而对象模型确定发生的客体。
(3)功能模型表明一个计算如何从输入值得到输出值,它不考虑所计算的次序。
(4)功能模型由多张数据流图组成。数据流图说明数据流是如何从外部输入、经过操作和内部存储输出到外部的。
(5)功能模型包括对象模型中值的约束条件。
4. 试述面向对象方法有哪些特征。
【答案】(1)对象唯一性
每个对象都有自身的唯一标识,通过这种标识,可找到相应的对象。在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。在对象建立时,有系统授予新对象以唯一的对象标识符,它在历史版本管理中又起巨大作用。
(2)分类性
分类性是指具有一致的数据结构(属性)和行为(操作)的对象抽象成类。每个类是具有相同性质的个体对 象的集合,而每个对象是相关类的实例。
(3)继承性
①定义
继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础上进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。
②分类
a. 单继承
子类只继承一个父类的数据结构和方法,则称为单重继承。
b. 多继承
在类层次中,子类继承了多个父类的数据结构和方法,则称为多重继承。
(4)多态性(多形性)
①定义
多态性是指允许不同类的对象对同一消息做出响应。不同的对象,收到同一消息可以产生不同的结果,这种现象称为动态性。
②特点
多态性允许每个对象以适合自身的方式去响应共同的消息。这样就增强了操作的透明性、可理解性和可维护性。用户不必为相同的功能操作但作用于不同类型的对象而费心去识别。
5. 増量模型的基本思想是什么?
【答案】(1)为了克服瀑布模型的局限性,使开发过程具有一定的灵活性和可修改性,于是产生了増量模型。它是在瀑布模型的基础上加以修改而形成的。
(2)増量模型和瀑布模型之间的本质区别是:瀑布模型属于整体开发模型,它规定在开始下一个阶段的工作之前,必须完成前一阶段的所有细节。而増量模型属于非整体开发模型,它推迟某些阶段中的纽节,从而较早地产生工作软件。
(3)増量模型是在项目的开发过程中以一系列的増量方式开发系统。增量方式包括增量开发和增量提交。增量开发是指在项目开发周期内,在一定的时间间隔内以增量方式向用户提交工作软件及相应文档。增量开发和增量提交可以同时使用,也可以单独使用。
(4)有多种增量模型,根据增量的方式和形式的不同,分为渐増模型和原型模型。
6. 什么是软件可维护性?可维护性度量的特性是什么?
【答案】(1)软件可维护性的定义
软件可维护性是指软件能够被理解、校正、适应及增强功能的容易程度;是软件开发阶段的关键目标。
(2)可维护性度量的特性
影响软件可维护性的因素较多,设计、编码及测试中的疏忽和低劣的软件配置、缺少文档等都对软件的可维护性产生不良的影响。软件可维护性可用可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率这七个质量特性来衡量。对于不同类型的维护,这七种特性的侧重点也不相同。这些质量特性通常体现在软件产品的许多方面。为使每一个相应的措施加以保证,即这些质量要求要渗透到各开发阶段的各个步骤中。因此,软件的可维护性是产品投入运行以前各阶段针对上述各质量特性要求进行开发的最终结果。
7. 什么是需求分析?需求分析阶段的基本任务是什么?
【答案】(1)需求分析的定义
需求分析是指开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求
陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。
(2)需求分析的基本任务
需求分析的基本任务是要准确地定义新系统的目标,为了满足用户需要,回答系统必须“做什么”的问题。本阶段要进行以下几方面的工作。
①问题识别
双方确定对问题的综合需求,这些需求如下:
a. 功能需求
所开发的软件必须具备什么样的功能,这是最重要的。
b. 性能需求
待开发的软件的技术性能指标。如存储容量、运行时间等限制。