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

2018年山西大学计算机与信息技术学院859软件工程专业基础之软件工程导论考研核心题库

  摘要

一、名词解释

1. 模块化

【答案】模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起 来构成一个整体,可以完成指定的功能满足用户的需求。模块化是为了使一个复杂的大型程序能被人的智力所管理。

2. 文档

【答案】文档是软件开发使用和维护中的必备资料。它能提高软件开发的效率,保证软件的质量,而且在软件的使用过程中有指导、帮助、解惑的作用,尤其是在维护工作中,文档是不可或缺的资料。

二、简答题

3. 维护技术有哪些?

【答案】(1)面向维护的技术

面向维护的技术是在软件开发阶段用来减少错误,提高软件可维护性的技术,面向维护的技术涉及软件开发的所有阶段。

①在需求分析阶段,对用户的需求进行严格的分析定义,使之没有矛盾和易于理解,可以减少软件中的错误。

②在设计阶段,划分模块时充分考虑将来改动或扩充的可能性。使用结构化分析和结构化设计方法,采用容 易变更的、不依赖于特定硬件和特定操作系统的设计。

③在编码阶段,采用灵活的数据结构,是程序相对独立于数据的物理结构,养成良好的程序设计风格。

④在测试阶段,尽可能多地发现错误,保存测试用例和测试数据等。

(2)维护支援技术

维护支援技术是在软件维护阶段用来提高维护作业的效率和质量的技术,维护支援技术包括下列各方面的技术:信息收集、错误原因分析、软件分析与理解、维护方案评价、代码与文档修改、修改后的确认、远距离的维护。

4. 试述面向对象方法有哪些特征。

【答案】(1)对象唯一性

每个对象都有自身的唯一标识,通过这种标识,可找到相应的对象。在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。在对象建立时,有系统授予新对象以唯一的对象标识符,它在历史版本管理中又起巨大作用。

(2)分类性

分类性是指具有一致的数据结构(属性)和行为(操作)的对象抽象成类。每个类是具有相同性质的个体对 象的集合,而每个对象是相关类的实例。

(3)继承性

①定义

继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础上进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。

②分类

a. 单继承

子类只继承一个父类的数据结构和方法,则称为单重继承。

b. 多继承

在类层次中,子类继承了多个父类的数据结构和方法,则称为多重继承。

(4)多态性(多形性)

①定义

多态性是指允许不同类的对象对同一消息做出响应。不同的对象,收到同一消息可以产生不同的结果,这种现象称为动态性。

②特点

多态性允许每个对象以适合自身的方式去响应共同的消息。这样就增强了操作的透明性、可理解性和可维护性。用户不必为相同的功能操作但作用于不同类型的对象而费心去识别。

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

【答案】(1)范围

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

(2)资源

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

(3)进度安排

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

(4)成本估算

为使开发项目能在规定的时间内完成,且不超过预算,成本估算是很重要的。软件成本估算

是一门不成熟的技术,国外已有的技术只能作为我们的借鉴。

(5)培训计划

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

6. 说明McCall 软件质量度量模型。

【答案】McCall 质量度量模型是McCall 等人于1979年提出的软件质量模型。针对面向软件产品的运行、修正、转移,软件质量概念包括11个特性,其定义如下。

(1)面向软件产品操作

①正确性:软件满足设计规格说明及用户预期目标的程度。

②可靠性:软件按照设计要求,在规定时间和条件下不出故障、持续运行的程度。 ③效率:为了完成预定功能,软件系统所需的计算机资源和程序代码数量。

④完整性:对非授权人访问软件或数据行为的控制程度。

⑤可使用性:用户熟悉、使用及准备输入和解释输出所需工作量的大小。

(2)面向软件产品修改

①可维护性:找到并改正程序中的一个错误所需代价。

②可测试性:测试软件以确保其能够执行预定功能所需工作量。

③灵活性:修改可运行程序所需要付出的努力。

(3)面向软件产品适应

①可移植性:将一个软件系统从一个计算机系统或环境移植到另一个计算机系统或环境中运行所需的工作量。

②可重用性:一个软件(或软件的部件)能再次用于其他相关应用的程度。

③连接性:将一个系统耦合到另一个系统所需的工作量。

三、综合应用题

7. 在什么情况下应该使用形式化说明技术?使用形式化说明技术时应遵守哪些准则?

【答案】(1)人们在理解用自然语言描述的规格说明时,容易产生二义性。为了克服非形式化方法的缺点,人们把数学引入软件工程。创造了基于数学的形式化说明技术。

(2)应用形式化方法的准则:

①应该选用适当的表示方法。

②应该形式化,但不要过分形式化。

③应该估算成本。

④应该有形式化方法顾问随时提供咨询。

⑤不应该放弃传统的开发方法。

⑥应该建立详尽的文档。

⑦不应该放弃质量标准。