软件工程复习点总结

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

软件工程

第一章

1.软件过程模型有:线性顺序模型(瀑布模型),原型实现模型,螺旋模型,快速应用开发模型RAD,并发模型,基于构件的开发模型,形式化方法模型,第四代技术。

2.软件危机变现:《1》软件代价高《2》开发进度难以控制《3》工作量估计困难《4》质量差《5》修改、维护困难

3.维护类型:改正性维护,适应性维护,完善性维护,预防性维护。

4.软件是计算机系统中与硬件相互依存的另一部分,它是包括程序在,数据及其相关文档的集合。

5.软件工程是一门旨在生产无故障的,及时交付的,在预算之内的和满足用户需求的软件学科。

6.软件生命周期包括了软件定义,软件开发和运行维护3个时期组成。

7.软件生命周期模型有问题定义,可行性研究,需求分析,总体详细设计,总体编码和单元测试,综合测试软件维护组。

8.CMM是用于评价一个组织软件过程成熟度和识别增加这些过程的成熟度所需要的关键实践的一个模型,是建立软件组织所使用的进程成熟度的模型以及定义和测量过程成熟度的有效方法,在实际中被软件开发组织用于软件过程改进和评估。

软件过程开发模型:9.

1)线性模型(瀑布模型):特点:自上而下,相互衔接如同瀑布流水,逐

级下落,体现不可逆转性。

优点:强调开发的阶段性、强调早期计划和需求调查以及强调产品测试。

(1)为项目提供了按阶段划分的检查点

(2)当前一阶段完成后,你自需要去关注后序阶段。

(3)开在迭代模型中应用瀑布模型。

缺点:(1)在项目各阶段之间极少有反馈。

(2)只用在项目生命周期的后期才能看到结果。

(3)通过过多的强制完成时期和里程碑来跟踪各个阶段。

适用性:用户的需求非常清楚全面。

2)快速原型模型:(1)可以得到比较良好的需求定义,容易适应需求的变化。

(2)有利于开发与培训的同步

(3)开发费用低,开发周期短且对用户更友好

缺点:(1)客户与开发者对原型模型理解不同

(2)准确的原型设计比较困难

(3)不利于开发人员开发

3)增量型优点:(1)人员分配灵活

)如果核心产品很受欢迎,则可增加人力实现下一个增量2(.

(3)可先发布部分功能给客户,对客户起到镇静剂的作用

缺点:(1)并行开发构件有可能遇到不能集成的风险,软件必须具备开放式的体系结构。

(2)容易退化为边做边改模型。从而使软件过程的控制失去整体性。4)螺旋模型:(1)设计上的灵活性,可以在项目的各个阶段进行变更。(2)以小的分段来构建大型系统,使成本计算变得简单容易。

(3)随着项目推进,客户始终掌握项目的最新消息,从而他或她能够和管理层有效交互。

缺点:(1)采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失。

(3)过多的迭代次数会增加开发成本,延迟提交时间。

10.可行性分析法包括:(1)经济可行性(2)技术可行性(3)运行可行性(4)法律可行性(5)开发方案的选择

11.需求工程分为:

(1)系统可行性研究:它指的现有的软件、硬件技术能否实现用户对新系统的需求。,从业务角度来决定系统开发是否划算以及在预算范围内能否开发出来。

(2)需求导出和分析:这是一个通过对现有系统分析与潜在用户和购买者讨论。进行任务分析等导出系统需求的过程,也可能需要一个或多个不同的系统模型和原型

(3)需求描述。需求描述就是把分析活动中收集信息以文档的形式确定下来。

(4)需求有效性验证。这个活动检查需求实现、一致和完备。

(5)需求管理。需求管理是一种系统化方法,可用于获取、组织和记录

系统需求并使客户和项目团队在系统变更需求上达成并保持一致。

12.软件需求5个方面:(1)问题识别(2)评估与综合(3)建模(4)规约(5)评审

13.需求获取方法:(1)建立联合分析小组(2)客户访谈(3)问题分析与确认

(4)快速原型法

14.需求分析原则:(1)必须能够表达和理解问题的数据域和功能域

(2)按按自顶向下,逐层分解。

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

15.软件设计分为总体设计和详细设计。

16.总体设计任务:

(1)系统分析员审查软件计划、软件需求分析、提供的文档、提出最佳推荐方案,用系统流程图,组成物理元素清单,成本效益分析,系统的进度计划,供专家审定后进入设计。

(2)去顶模块结构,划分功能模块,将软件功能需求分配给所划分的最小单元模块。确定模块之间的联系,确定数据结构、文件结构、数据库模式,确定测试方法与策略。.

(3)编写概要设计说明书,用户手册、测试计划、选用相关的软件工具来描述软件结构,结构图是经常使用的软件的软件描述工具。选择分解功能与划分模块的设计原则,例如模块划分独立性原则,信息隐藏原则等。

17.信息隐蔽是指每个模块内部信息对于其他不需要此信息的模块来说是不可访问的,即外部模块对模块内部的实现过程的不可见性。

18.模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能,以满足用户的需求。

19.模块独立性概括了把软件划分为模块时要遵守的准则,也是判断模块够着是否合理的标准。

20.衡量模块独立的两个标准是耦合性和内聚性。

21.耦合性:也称块间联系,指软件系统结构中各模块间相互联系和紧密程度的一种度量。模块之间联系月紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性,调用的方式以及传递的信息。

22.内聚性:又称为块间联系。指模块的躬耕强度的度量即一个模块内部各个元素,彼此结合的紧密程度的度量。若一个模块内各个元素联系的越紧密,则它的内聚性越高。

23.模块独立原则也称为模块设计的原则:高内聚、低耦合。

24.耦合性包括:非直接耦合,数据耦合,标记耦合,控制耦合,外部耦合,公共耦合,内容耦合.

25.内聚性包括:巧合内聚,逻辑内聚,时间性内聚,过程内聚,通信内聚,信息内聚,功能内聚。

26.数据流程图的定义和作用:数据流程图有两个特征:抽象性和概括性。抽象性指的是数据流程图把具体的组织机构、工作场所、物质流都去掉,只剩下信息和数据存储,流动,使用以及加工情况。

概括性则是指数据流图把系统对各种业务的处理过程联系起来考虑,形成

相关文档
最新文档