您的当前位置:首页正文

软件工程导论(第五版)期末考试

2021-08-16 来源:年旅网
1、软件危机是指在计算机开发过程中的开发和维护过程中所遇到的一系列的严重问题。

2、软件是程序、数据及相关文档的完整集合,程序是能够完成预定功能和性能的可执行的程序序列;数据是是使程序能够适当的处理信息的数据结构;文档是开发、使用和维护程序所需要的图文资料。

3、软件工程学包含3个要素:方法、工具、过程。 4、目前使用最广泛的软件工程方法学是传统方法学和面向对象方法学。

5、软件工程方法学的软件过程基本上可以用瀑布模型来描述。

6、瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型。

7、Rup把软件生命周期划为:初始、精化、构建、移交阶段。

8、可行性研究的三方面:技术可行性、经济可行性、操作可行性。

9、数据流图(DFD)是一种图形化技术,他描绘信息流和数据从输入移动到输出的过程中所经受的变化。

10、数据字典是关于数据信息的集合,也就是对数据流程图中所包含的所有元素的定义的集合。 11、数据流图和数据字典共同构成系统的逻辑模型,没有数据字典,数据如就不严格,没有流程图,数据字典也难以发挥作用。

12、需求分析阶段结束之前,系统分析员应该写出软件需求规格说明书,以书面形式准确的描述软件需求。

13、结构化分析方法就是面向数据流自顶向下逐步求精进行需求分析的方法。

14、ER图中包含了实体、关系和属性,矩形代表实体,菱形表示关系,椭圆或圆角矩形表示属性,用直线把实体和其属性连接。

15、验证软件需求的正确性:一致性、完整性、现实性、有效性。

16、总体设计的基本目的是回答\"概括地说,系统应该如何实现?\",总体设计又称为概要设或初步设计。

17、模块的独立程度可以有两个定性标量度量:内聚和耦合。

18、软件测试的目标:(1)测试是为了发现程序中的错误而执行程序的过程;(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;(3)成功的测试是发现可至今为止尚未发现的错误的测试。

19、软件测试步骤:模块测试、子系统测试、系统测试、验收测试、平行运行。

20、软件可靠性是程序在给定的时间点,按照规格说明书的规定,成功的运行的概率。

21、用面向对象方法开发软件,通常需要建立3种形式的模型:描述系统数据结构的对象模型,描述系统控制结构的动态模型和描述系统功能的功能模型。

22、用面向对象方法开发软件,在任何情况下,对象模型始终都是最重要、最基本的、最核心的。 23、通常,使用UML提供的类图来建立对象模型。 24、类与类之间通常有关联、泛化(继承)、依赖和细化等4种关系。

25、在UML中,在一段为空心的三角形的连线表示泛化关系。

26、复杂问题的对象模型通常由:主题层、类与对象层、结构层、属性层和服务层。

27、广义的说,软件重用可分为知识重用、方法和标准的重用、软件成分的重用。

28、工程网络和Gantt图同样是安排进度和管理工程进度情况的强有力的工具。

29、3种典型人员组织方式:民主制程序员组、住程序员组、现代程序员组。

30、软件过程的输出信息可以分为3类计算机程序、描述计算机程序的文档、数据,这些项组成了软件过程中产生的全部信息,人们把他们统称为软件配置,而这些项就是软件配置项。

31、Cmm把软件过程从无序到有序的进化过程分成5个阶段,并把这些阶段排序,形成五个逐层提高的等级。能力的成熟度的5个等级从低到高依次是:初始级(1级)、可重复级(2级)、已定义级(3级)已管理级(4级)和优化级(5级)。

32、软件危机的典型表现:对软件开发成本和进度的估计常常很不准确;用户对\"已完成\"的软件系统不满意的现象经常发生;软件产品质量往往靠不住;软件常常是不可维护的;软件通常没有适当的文档资料;软件成本在计算机总成本中所占的比例逐年上升;软件开发生产效率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。

33、软件不同于硬件,他是计算机系统的逻辑部件而不是物理部件。

34、软件不同于一般程序,它的一个显著特点就是规模庞大。

35、如何改进软件设计、提高软件质量? (1)提高模块的独立性。(2)模块规模应该适中。(3)适当选择深度、宽度、扇出和扇入。(4)模块的作用域应该在控制域之内。(5)力争降低模块接口的复杂程度。(6)设计单入口单出口的模块。(7)模块功能应该可以预测。

36、软件的维护有哪4种类型?①校正性维护②适应性维护 ③完善性维护 ④ 预防性维护。 37、软件的可维护性

软件可维护性指软件能够被理解、校正、适应及增强功能的容易程度。

38、什么是黑盒测试法?常用的黑盒测试方法有哪些?

将程序当成是黑盒子以设计中的功能为标准在程序的接口出进行测试看它能否达到功能要求。 常见方法:等价类划分、边界值分析、因果图、错误推测。

39、编码风格:持续内部文档、数据说明、语句构造、输入输出、效率、

40、面向对象设计准则和启发式原则

(1)模块化(2)抽象(3)信息隐藏(4)弱耦合(5)强内聚(6)可重用

(1)设计结果应该清晰易懂(2)一般-特殊结构的深度应适当(3)设计简单的类(4)使用简单的协议(5)使用简单的服务(6)把设计变动减至最小

41、软件维护的几种类型

(1)改正性维护(2)适应性维护(3)完善性维护(4)预防性维护

42、决定软件可维护性因素

(1)可理解性(2)可测试性(3)可修改性(4)可移植性(5)可重用性 43、软件配置项

软件配置的主要任务就是控制变化,同时也负责各个软件配置项和软件各种版本的标志、软件配置审计以及软件配置发生的任何变化的报告。

(1)标识软件配置中的对象(2)版本控制(3)变化控制(4)配置审计(5)状态报告

面向对象的模型:对象模型,动态模型,功能模型

因篇幅问题不能全部显示,请点此查看更多更全内容