软件工程期末试卷简答题(答案)

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件工程简答

1、软件和软件生存周期。(什么是软件生存期。)

软件是能够完成预定功能和性能的可执行的计算机程序,包括使程序正常执行所需要的数据,以及有关描述程序操作和使用的文档。(软件=程序+文档)

软件生存周期:由软件定义、软件开发、运行维护3个时期组成,每个时期又进一步划分成若干阶段。软件生存周期就是从提出软件产品开始,直到该软件产品被淘汰的全过程。

2、什么是软件危机?他有哪些典型的表现?产生的原因?

软件危机是指计算机软件开发和维护过程中所遇到的一系列严重问题。

典型表现有:

(1)对软件开发成本和进度的估计常常很不准确

(2)软件产品的质量往往靠不住

(3)用户对已完成的软件系统不满意的现象经常发生

(4)软件常常是不可维护的

(5)软件中没有适当的文档资料

(6)软件成本在计算机系统总成本所占的比例逐年上升(成本上升)

(7)软件开发生产率提高的速度,往往跟不上计算机应用迅速普及深入的趋势

原因:

(1)软件本身独有的特点,给开发和维护带来了困难

(2)与软件开发和维护的方法不正确有关

(3)程序只是完整软件的一个组成部分

(4)轻视是一个最大的错误

3、软件项目的质量管理

制定软件质量保证计划,按照质量评价体系控制软件质量要素,对阶段性的软件产品进行评审,对最终软件产品进行确认,确保软件质量。

5、螺旋模型的适应场合有哪些?0104

适应场合:支持需求不明确、特别是大型软件系统的开发,并支持面向规格说明、面向过程、面向对象等多种软件开发方法,是一种具有广阔前景的模型。

6.什么是软件过程?它与软件工程方法学有何关系?

(1)软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。

(2) 软件过程是软件工程方法学的3个重要组成部分之一。

(3) 软件工程方法学包含三个要素:方法、工具和过程。

7.简述软件设计的过程。

答:

软件设计是把许多事物和问题抽象起来,并且抽象它们不同层次和角度,是将需求转变为软件陈述的过程,是迭代的过程。软件设计,要根据需求规格说明书,对整个设计过程进行计划,然后实施具体的设计过程,即“先整体,再局部”,也是不断迭代和精化的过程。然后需要对生成的设计规格说明书进行评审,启动质量评价的标准,若未通过评审,需重新修改设计,直至评审通过,确定最后定型的过程本身。进入后续阶段,完成软件设计过程。

8.请比较快速原型模型和螺旋模型的优缺点,并说明各自的适用范围。

9、软件工程的目标是什么?

答:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并满足用户需求的软件产品。

10.简述什么是系统流程图。

答:系统流程图是描述物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘系统里的每个部件(程序、文件、数据库、表格、人工过程等)。系统流程图表达的是部件的信息流程,而不表示对信息进行加工处理的控制过程。

11.为什么数据流图要分层?

答:这了表达数据处理过程的数据加工情况,用一个数据流图是不够的。为表达稍为复杂的实际问题,需要按照问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系。

12.简述需求分析工作可以分成哪四个方面?软件需求分析的有哪三个基本原则?

答:需求分析阶段分成四个方面:对问题的识别、分析与综合、制定规格说明和评审。三个基本原则:必须能够表达和理解问题的数据域和功能域;必须按自顶向下、逐步分解的方式对问题进行分解和不断细化;

要给出系统的逻辑视图和物理视图。

13、需求分析与软件设计二个阶段任务的主要区别是什么?

答:需求分析定义软件的用户需求,即定义待开发软件能做什么

软件设计定义软件的实现细节以满足用户需求,即研究如何实现软件。

14、需求分析的任务是什么?

需求分析的任务是确定待开发的软件系统“做什么”。具体任务包括确定软件系统的功能需求、性能需求和运行环境约束,编制软件需求规格说明书、软件系统的验收测试准则和初步的用户手册。

15、模块

是由边界元素限定的相邻程序元素的序列,而且有一个总标识符代表他。模块是构成

程序的基本构件。

16抽象

抽出事务的本质特性二暂时不考虑他们的细节。

17.模块独立性

每个模块只完成系统要求的独立的子功能,与其他模块的联系最少且接口简单。

18.模块独立重要的理由:

有效的模块化的软件比较容易开发

独立的模块比较容易测试和维护。

19、模块独立(考过)

模块独立是模块化、抽象、信息隐藏和局部化概念的直接结果。由两个定性标准度量:内聚和耦合。指每个模块只完成一个相对独立的特定子功能,并且和其他模块之间的关系很简单,和其他模块之间没有过多的相互作用。

20耦合

对一个软件结构内不同模块之间互连程度的度量。

21数据耦合

如果两个模块彼此间通过参数交换信息,而且交换的信息仅仅是数据,那马这种耦合称为数据耦合。

22控制耦合

如果传递的信息中有控制信息,则称为控制耦合。

23内聚

内聚标志着一个模块内各个元素彼此结合的紧密程度,他是信息隐藏和局部化概念的自然扩展。

24作用域

受该模块内一个判定影响的所有模块的集合。

25控制域

模块本身以及所有直接或间接从属于它的模块集合。

26深度

软件结构中控制的层数。

27宽度

软件结构内同一个层次上的模块总数的最大值。

28扇出

一个模块直接控制的模块数目。

29扇出

一个模块被多少上级模块直接调用的数目。

30什么是耦合?模块的耦合包括哪些类型?

答:耦合是对一个软件结构内不同模块之间互连程度的度量。

模块的耦合包括以下几种类型:数据耦合,控制耦合,特征耦合,公共环境耦合,内容

耦合,标记耦合,无耦合/非直接耦合

31什么是内聚?模块的内聚包括哪些类型?

答:内聚标志着一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展

模块的内聚包括以下几种类型:低内聚—偶然内聚,逻辑内聚,时间内聚

中内聚—过程内聚,通信内聚;高内聚—顺序内聚,功能内聚

32.耦合性有哪几种类型? 其耦合度的顺序如何

相关文档
最新文档