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

2017年景德镇陶瓷学院软件工程复试仿真模拟三套题

  摘要

一、名词解释

1. 概要设计

【答案】概要就是回答“概括地说,系统应该如何实现”这个问题。概要设计站在全局高度上,花较少成本,从较抽象的层次上分析对比多种可能的系统实现方案和软件结构,从中选出最佳方案和最合理的软件结构。

二、简答题

2. 有限状态机有哪些优缺点?

【答案】(1)优点

有限状态机的优点在于简单易用,状态间的关系能够直观看到。

(2)缺点

任何时刻系统只能有一个状态,无法表示并发性,不能描述异步并发的系统。另外,在系统部件较多时,状态数随之增加,导致复杂性显著增长。

3. 有哪些主要的软件开发方法?

【答案】主要的软件开发方法有以下几种:

(1)结构化开发方法

结构化开发方法是用系统工程的思想和工程化的方法,按用户至上的原则,结构化、模块化、自顶向下地对系统进行分析和设计的方法。它是一种面向数据流的开发方法,其基本思想是软件功能的分解和抽象。

(2)Jackson (JSP 、JSD )方法

Jackson 方法从目标系统的输入、输出数据结构入手,导出程序框架结构,再补充其它细节,就可得到完整 的程序结构图。它是一种面向数据结构的软件设计方法,对输入、输出结构明确的中小型系统特别有效。

(3)原型化开发方法

原型化开发是软件开发的一种常用方法。开发人员对用户提出的问题进行总结,就系统的主要需求取得一致 意见后,开发出一个原型并运行之,然后反复对原型进行修改,使之逐步完善,直到用户对系统完全满意为止。

(4)维也纳开发方法(VDM )

VDM 是一个基于模型的方法,它的主要思想是将软件系统当作模型来给予描述,具体说就是把软件的输入 /输出看作模型对象,而这些对象在计算机内的状态可看作为该模型在对象上的操作。

(5)面向对象的开发方法

面向对象方法(Object-Oriented Method )是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系 统方法,简称OO (Object-Oriented )方法,是建立在“对象”概念基础上的方法学。

4. 什么是需求分析?需求分析阶段的基本任务是什么?

【答案】(1)需求分析的定义

需求分析是指开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求

陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。

(2)需求分析的基本任务

需求分析的基本任务是要准确地定义新系统的目标,为了满足用户需要,回答系统必须“做什么”的问题。本阶段要进行以下几方面的工作。

①问题识别

双方确定对问题的综合需求,这些需求如下:

a. 功能需求

所开发的软件必须具备什么样的功能,这是最重要的。

b. 性能需求

待开发的软件的技术性能指标。如存储容量、运行时间等限制。

c. 环境需求

软件运行时所需要的软、硬件(如机型、外设、操作系统、数据库管理系统等)的要求。 d. 用户界面需求

人机交互方式、输入输出数据格式等等。

另外还有可靠性、安全性、保密性、可移植性、可维护性等方面的需求,这些需求一般通过双方交流、调查研究来获取,并达到共同的理解。

②分析与综合,导出软件的逻辑模型

分析人员对获取的需求,进行一致性的分析检查,在分析、综合中逐步细化软件功能,划分成各个子功能。这里也包括对数据域进行分解,并分配到各个子功能上,以确定系统的构成及主要成分,并用图文结合的形式,建立起新系统的逻辑模型。

③编写文档

a. 编写“需求规格说明书”,把双方共同的理解与分析结果用规范的方式描述出来,作为今后各项工作的基础。

b. 编写初步用户使用手册,着重反映被开发软件的用户功能界面和用户使用的具体要求,用户手册能强制分析人员从用户使用的观点考虑软件。

c. 编写确认测试计划,作为今后确认和验收的依据。

d. 修改完善软件开发计划。在需求分析阶段对待开发的系统有了更进一步的了解,所以能更准确地估计开发成本、进度及资源要求,因此对原计划要进行适当修正。

5. 瀑布模型有哪些局限性?

【答案】(1)各阶段之间存在着严格的顺序性,特别强调预先定义需求的重要性,在着手进行具体的开发工作之前,必须通过需求分析预先定义并“冻结”软件需求,然后再一步一步地实现这些需求。但是实际项目很少是遵循着这种线性顺序进行的。

(2)虽然瀑布模型也允许迭代,但这种改变往往给项目开发带来混乱。在系统建立之前很难只依靠分析就确定出一套完整、准确、一致、有效的用户需求,这种预先定义需求的方法更不能适应用户需求不断变化的情况。

(3)传统的瀑布模型很难适应需求可变、模糊不定的软件系统的开发,而且在开发过程中,用户很难参与进去,只有到开发结束才能看到整个软件系统。这种思想的、线性的开发过程,缺乏灵活性,不适应实际的开发过程。

6. 根据瀑布模型为下列任务排序:验收测试、项目计划、单元测试、需求复审、成本估计、总体设计、设计复审、市场调研、详细设计、系统测试、实现、编制需求规格说明书。

【答案】根据题意可以把上述任务分为:

A. 市场调研

B. 项目计划、成本估计、编制需求规格说明书(同时进行)

C. 需求复审

D. 总体设计

E. 详细设计

F. 设计复审

G. 实现

H. 单元测试

I. 系统测试

J. 验收测试

根据瀑布模型的要求,上述任务正确的排序应为ABCDEFGHIJ 。

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

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

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

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

①事务型分析设计

一个大的复杂的系统分解成较小的,相对简单的子系统,这些子系统彼此之间相对独立一些,而高层数据流图的数据处理往往反映这些子系统的功能,有平行分别处理的特点,因此,高层数据流图的转换通常可作为事务型处理,把一个加工逻辑看成是一类特定的事务,把它们分别映射