第一范文网 - 专业文章范例文档资料分享平台

软件工程复习题 - 图文

来源:用户分享 时间:2025/7/27 15:03:57 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

软件工程复习要点

一、软件工程概述

1、 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题,具体表现是

在哪些方面? 软件危机的表现

1)、无法开发复杂程度高的软件 2)、成本和进度估计不准 3)、无统一科学的规范,软件不可维护 4)、无质量保证,可靠性差 5)、软件常不能满足用户的需求 6)、无适当的文档资料 7)、软件生产率太低

2、 简述瀑布模型软件开发方法各个阶段的任务和基本的工作过程。

瀑布模型即生命周期模型,将软件生命周期的各项活动规定为依照固定顺序连接的若干阶段工作,包括:问题定义与可行性分析、软件计划、需求分析、总体设计、详细设计、编码、测试、运行维护。(见图) 各阶段任务:

问题定义(标与范围说明书)—>可行性研究(可行性分析报告)—>需求分析(需求说明书)—>设计(设计文档)—>编程(程序)—>测试(测试报告—>运行与维护(维护报告)

优点:强调软件开发的阶段性; 强调早期计划及需求分析; 强调软件产品的测试。 缺点:依赖早期需求分析,一旦需求改变,不能适应,付出很大代价; 单一流程,过程中经验教训不能反馈应用; 风险往往后期显露,丧失及早纠正机会。

3、 软件工程的基本原则有哪些?

抽象原则:抽取事物最基本的特性和行为,忽略非基本细节。采用层次抽象,自顶向下细化的方法控制软件开发过程复杂性。

信息隐藏原则:用户只能通过模块接口访问模块中封装的数据。

模块化原则:模块是程序中在逻辑上相对独立的功能集成体,有良好接口定义,模块与模块或模块与操作者间通过接口联系。 局部化,确定性,一致性,完备性,可验证性

4、 叙述需求分析的方法和过程。

过程:确定对软件系统的要求;分析软件系统的数据及操作要求;确定软件系统的详细

逻辑模型;修订系统开发计划;编写软件需求规格说明书。 方法:

1. 功能分析法:功能,子功能,功能接口,问题空间到功能和子功能映射,利用已有

经验对新系统预先设定功能体系及功能实现,重点放在新系统需求进行什么样加工上。过程抽象的观点。

2. 信息建模法:基点是数据。现实世界找出实体,用属性描述实体,实体与关系形成

网络,描述系统信息状况给出系统信息模型。 3. 结构化分析法:由数据流图和数据字典构成,实现问题空间到某种表示映射。建立

现行系统物理模型,抽象出现行系统逻辑模型,建立目标系统逻辑模型,作进一步补充优化。

4. 面向对象分析法:采用类结构,数据封装和继承等面向对象程序设计语言概念建模。

5、 说明“软件工程”的一些概念---软件、软件质量、生命周期、软件基线、软件配置项

软件:是程序及开发、使用、维护程序所需的文档(软件=程序+文档)。

软件质量:与软件产品满足需求所规定的和隐含的能力有关的特征和特性的全体。

生命周期:从软件定义、开发、使用、维护到淘汰的全过程。

软件基线:已经通过了正式复审的规格说明或中间产品,可以作为进一步开发的基础,并且只有通过正式的变化控制过程才能改变它。基线就是通过了正式复审的软件配置项。

软件配置项:是软件过程的输出信息——计算机程序(源代码和可执行程序);描述计算机程序的文档(供技术人员或用户使用);数据(程序内或程序外)。这些项组成了软件过程中产生的全部信息。

6、 简述面向对象软件开发方法(OMT)面向对象分析的一般工作过程。

面向对象的开发方法基本思想:对问题领域自然分割,以接近人的思维建立模型,对客观信息实体进行结构和行为模拟,使设计的软件更直接地表现问题的求解过程。以对性作为最基本元素,也是分析和解决问题的核心。 面向对象方法由面向对象分析(OOA)、面向对象设计(OOD)、面向对象程序设计(OOP)组成。 面向对象=对象+类+继承+消息

参考 三,3

二、结构化软件工程方法

1、 什么是当前系统?当前系统的物理模型与逻辑模型有什么差别?

当前系统:已在运行的现行系统。

物理模型是通过对现行系统调查收集其工作过程等资料后,以图形方式来描述,反映出

分析者对现行系统的理解,客观反映现行系统的结构与行为。物理模型反映了系统的具体实现过程,抽取模型的本质因素(即系统固有的、不依赖运行环境变化而变化,且任何系统实现过程都受其影响)后,形成现行系统的逻辑模型。

物理模型表达的是数据在系统各部件之间流动的情况,描述过程中涉及到的是系统的物理部件;而逻辑模型是描绘数据在软件中流动和被处理的逻辑过程,不涉及到任何具体的物理部件。

2、 可行性研究主要研究哪些问题?

可行性研究要分析集中主要的可能解法利弊,判断原定系统规模和目标是否实现,根据将来效益判断是否值得投资开发。主要以下方面: 1. 技术可行性:风险分析,资源分析,技术分析。 2. 经济可行性:成本/效益分析。 3. 操作可行性:可操作性。 4. 调度可行性:能否按期交付。 5. 法律可行性:是否合法。

3、 DFD的作用是什么?它有哪些成分?

数据流图是结构化分析法中用于表示系统逻辑模型的工具。以图形的方式描绘数据在系

统中流动和处理的过程。反映目标系统的逻辑功能,是一种功能模型。

成分:源点或终点,处理,数据存储,数据流。

用途:作为交流信息工具;分析和设计工具;辅助物理系统设计;利于更详细的设计。 分析员与用户之间的交流工具;开发小组之间的接口工具;数据库设计的依据。

4、 DD的作用是什么?它有哪些基本词条?

数据字典是关于数据星系的集合,对数据流图中包含的所有元素的定义集合。 作用:在软件分析和设计过程中给人提供关于数据的描述信息。(DFD+DD=逻辑模型) 基本词条:一般信息(名字,别名,描述)

定义(数据类型,长度,结构)

使用特点(值范围,条件值,使用频率,使用方式——输入,输出,本地) 控制信息(来源,用户,使用它的程序,改变权,使用权)

分组信息(父结构,从属结构,物理位置——记录,文件,数据库)

组成元素:数据流,数据元素(数据流分量),数据存储,处理。

5、 叙述结构化方法需求分析模型(三图一表)。

数据模型:实体-联系图,描绘数据及对象之间的关系;

功能模型:数据流图,描绘当数据在软件系统中移动时背变换的逻辑过程,指明系统具

有的变换数据功能;

行为模型:状态转换图,指明了作为外部事件结果的系统行为,描绘了系统的各种行为模式和在不同状态间转换的方式。

数据字典是三种分析模型的粘合剂,是分析模型的核心。

6、 良好的软件设计应遵守哪些原则?

1. 模块化原理——使软件结构清晰,便于阅读理解和管理,提高软件可修改性。 2. 事物本质抽象——使设计者能够说明过程和数据,忽略低层细节。 3. 逐步求精——推迟对细节问题考虑,逐步揭示出低层细节。

4. 信息隐藏和局部化——修改期间的错误很少可能传播到其他部分。 5. 模块独立——分工合作,易于测试维护。

7、 如何理解模块独立性?衡量模块独立性的指标有哪些?

模块独立是模块化,抽象,信息隐藏和局部化概念的直接结果。指系统中每个模块具有独立的功能,模块之间无过多的相互作用。可以并行开发减少错误的影响,使模块容易组合,修改和测试。 两个定性标准度量:

耦合性——描述模块之间联系的紧密程度; 内聚性——描述模块内部联系的精密程度。

8、 模块的独立性与信息隐藏有何关系?

模块独立性:软件系统中每个模块只涉及软件要求的具体子功能,和其他模块接口简单。

信息隐藏:每个模块的实现细节对于其他模块是隐蔽的。模块中所含信息不允许其他不需要这些信息的模块使用。

如果软件系统做到了信息隐蔽,即定义和实施了对模块的过程细节和局部数据结构的存

取限制,那么这些模块间接口是简单的,模块的独立性就比较强。

衡量模块独立性的一个准则是模块内聚,达到信息隐蔽的模块是信息内聚模块,它是搞内聚情形,模块独立性自然很强。

9、 谈谈你对总体设计与详细设计的理解。

从工程管理角度来看,软件设计分为两步:总体设计和详细设计。

总体设计将软件需求转化为数据结构和软件系统结构。用比较抽象概括的方式确定系统如何完成预定任务,确定系统的物理配置方案,并确定组成系统的每个程序结构。两个小阶段:首先,系统设计——从数据流图出发设想完成系统功能的若干种物理方案,选择最佳。然后,软件结构设计——确定软件模块组成及之间动态调用关系,常用层次图和结构图。

详细设计通过对结构表示的细化,得到软件的详细数据结构和算法。目标:保证软件可靠性,使将来编写出的程序可读性好,容易理解,测试,修改和维护。结构程序设计技术是详细设计的逻辑基础。

10、简述用于软件架构设计(总体设计)的面向数据流的设计方法。

面向数据流的设计方法=结构化设计方法(SD)——基于数据流的设计方法。 目标:给出设计软件结构的一个系统化途径。

用数据流图来描绘信息在系统中被加工和流动的情况。

该法定义了一些映射,把数据流图映射成软件结构。两种分析方法:

变换分析——经过一系列设计步骤把具有变换流特点的数据流图按预先确定的模式映射成软件结构。

事务分析——对于有明显事务特征(即能找到一个书屋和一个事务中心),分析数据流图,自顶向下,逐步分解,建立系统结构图。 设计过程:

精化数据流图;确定数据流图类型并进行映射;分解上层模块,设计中下层模块结构;优化准则对软件结构求精;描述模块功能,接口及全局数据结构;复查,准备详细设计。

11、简述结构化方法的软件设计模型。

详细设计描述工具:传统程序流程图,结构化流程图(N-S图),问题分析图(PAD图),PDL语言等。

Jackson程序设计方法利用Jackson图描述数据结构和程序结构。优点:自顶向下分解,便于表示层次结构;形象直观可读性好;既能表示数据结构,也能表示程序结构。 步骤:

1. 确定输入输出数据的逻辑结构;

2. 找出输入输出数据结构中对应关系的数据单元; 3. 从数据结构Jackson图导出程序结构Jackson图;

4. 列出所有操作和条件,分配到程序结构图的适当位置; 5. 伪代码表示程序。

12、结构化方法项目开发计划,需求分析说明书,总体设计和详细设计说明书包括的主要内

容。

项目开发计划

搜索更多关于: 软件工程复习题 - 图文 的文档
软件工程复习题 - 图文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c96ooq0mxg35136q5shl2_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top