考研《软件工程--面向对象和传统的方法》复习笔记

 

《软件工程——面向对象和传统的方法》复习笔记

 

第一章 软件工程的范畴

引言

可以结合 软件工程导论第六版 --张海藩

1.软件工程概念:

软件工程是一门学科,目的是生产出没有错误的软件,按时并且在预算内交付,满足用户的需求。更进一步,当用户的需求改变时,软件必须易于修改。

2.软件工程范畴:

软件工程的范畴非常广。软件工程的某些方面可以归入数学或计算机科学;其他方面可以落入经济学、管理学或者心理学的范畴。我们可以从历史方面、经济方面、维护性方面、需求分析设计方面、小组编程方面等五个方面进行考察。

3.软件制品:

软件制品是软件产品的组成部分,如规格说明文档、代码模块或手册,它结合了属性和对属性的操作。

4.回归错误:

指对软件某处进行修改时,不小心在与该处明显没有关联的另一处造成新的错误。

1.1历史方面

软件危机:

顾名思义,软件危机指软件产品的质量低的通常不能接受,并且不能满足交付日期和预算限制。

1.2经济方面

2014年真题

使用旧编码技术CTold的软件组织发现使用新的编码技术CTnew之后,编写代码的时间比旧编码技术少花1/10,因此花费也少1/10.通常大家都认为使用新技术CTnew比较恰当,对此你怎么看?

答案:实际上,虽然大家普遍认为速度快的技术应当成为技术的首选,但是从软件工程的经济观点却认为选择旧编码技术比较合适。原因如下:(1)新技术引入一个组织的花费十分高昂。使用CTnew技术后编码速度提高了10%,这与将新技术引入开发组织中的花费相比没有那么重要。(2)软件工程经济学建议保留旧编码技术的第二个重要原因是维护问题。从满足用户需求的角度来看,新旧技术的代码质量相当,但是信技术的使用导致代码很难维护,从整个产品的周期来看,使用新技术的耗费要大一些。

1.3维护性方面

传统范型的生命周期模型:

(1)需求阶段。在需求分析阶段,对概念进行研究和细化,提取客户的需求。

(2)分析(规格说明)阶段。分析客户需求并以规格说明文档的形式给出,同时阶段结束时,制定出计划,称为软件项目管理计划,详细描述期望的软件开发。

(3)设计阶段。第一步是结构设计、将作为整体的产品分解成各个模块,然后通过详细设计

对各个模块进行设计,最终得到两个设计文档。

(4)实现阶段。对各个部分独立地进行代码编写和测试(单元测试、集成测试),最后由客户对产品进行验收测试

(5)交付后维护。交付后维护包括在产品交付并安装到客户计算机中并通过验收测试后对产品所做的全部改动。它可以分为纠错性维护、增强性维护。纠错性维护主要是去掉残存错误,它不对规格说明文档做修改;增强性维护则是在对规格说明文档进行修改的同时,实现这些修改。有两种类型的增强性维护:完善性维护、适应性维护。

(6)退役。退役,发生在当产品推出服务的时候。当产品功能不再对客户组织有用的时候,就不再使用该产品。

1.4需求、分析和设计方面

无重点

1.5小组编程方面

无重点

其他:

 

为什么没有计划阶段?

为什么没有测试阶段?

你可能感兴趣的:(软件工程)