《软件工程导论》第一章-软件工程学概述-笔记整理

个人向笔记整理,如有错误欢迎指正= =

参考教材:《软件工程导论》-张海藩第6版


目 录

1 软件工程的发展

1.1 软件工程发展的4个阶段

1.2 软件危机

2 软件工程

2.1 软件的定义

2.2 软件工程的定义

2.3 软件工程的本质特性

2.4 软件工程的基本原理

3 软件工程的生命周期

3.1 软件工程生命周期的概念

3.2 生命周期的组成:(3个时期、8个阶段)

4 软件过程

4.1 软件过程的概念

4.2 典型软件过程模型

5 软件工程方法学

5.1 软件工程方法学的概念

5.2 软件工程方法学的三要素

5.3 传统方法学(生命周期方法学或结构化范型)

5.4 面向对象方法学

6 软件工程技术[补充]


1 软件工程的发展

1.1 软件工程发展的4阶段

(1)第一阶段(20世纪60年代中期以前):传统软件工程

软件通常是规模较小的程序,编写者和使用者往往是同一(或同一组)人。

(2)第二阶段(20世纪60年代中期-70年代中期):对象工程

 “软件作坊”的出现,广泛使用产品软件。“软件危机”出现。1968年北大西洋公约组织在联邦德国召开的国际会议上提出“软件工程”的概念。

(3)第三阶段(20世纪70年代中期-80年代中期):过程工程

工程化的思想被引入软件开发中,结构化方法的发展,规模化软件开发。

(4)第四阶段(20世纪80年代中期至今):构件工程

面向对象方法学发展,软件定制和满足客户需求。

1.2 软件危机

1.2.1 软件危机的概念:软件危机是指在计算机软件的开发和维护工程中所遇到的一些列严重问题。主要包括:

①开发:如何开发软件,以满足对软件日益增长的需求;

②维护:如何维护数量不断膨胀的已有软件。

1.2.2 软件危机的典型表现

①对软件开发成本和进度的估计常常很不准确;

②用户对“已完成的”软件系统不满意的现象经常发生;

③软件产品的质量往往靠不住;

④软件常常是不可维护的;

⑤软件通常没有适当的文档资料;

⑥软件成本在计算机系统总成本中所占的比例逐年上升;

⑦软件开发生产率提高的速率,远远跟不上计算机应用迅速普及及深入的趋势。

1.2.3 软件危机产生的原因

(1)客观原因:

①软件是计算机系统中的逻辑部件,而不是物理部件;

②软件的一个特点是规模庞大,而且程序复杂性将随着程序规模的增加,而呈指数级上升。

(2)主观原因:

①对软件开发和维护的观念模糊,存在错误的认识和做法,采用了错误的方法和技术;

②对用户要求没有完整准确的认识就匆忙着手编写程序;

③一个软件从定义、开发、使用、维护到最终被废弃,要经历一个漫长的时期;

④一个软件产品必须由一个完整的配置组成,主要包括程序、文档和数据等成分;

⑤在软件开发的不同阶段进行修改需要付出的代价是很不相同的;

⑥轻视了软件维护的重要性。

1.2.4 消除软件危机的途径

①应该对计算机软件有一个正确的认识,软件是程序、数据及相关文档的完整集合;

(程序:能够完成预定功能和性能的、可执行的指令序列

  数据:使程序能够适当地处理信息的数据结构

  文档:开发、使用和维护程序所需要的图文资料)

②工程方法:应该充分认识到软件开发是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目;

③成功经验:应该推广使用在实践中总结出来的、开发软件的、成功的技术和方法;

④软件工具:应该开发和使用更好的软件工具。

2 软件工程

2.1 软件的定义 

2.1.1 一般定义:

软件是程序、数据及相关文档的完整集合。

2.1.2 软件的三要素:

程序+数据+文档。

2.2 软件工程的定义

(1)1968年NATO会议:软件工程就是为了经济地获得可靠的且能在实际机器上有效地运行的软件,而建立和使用完善的工程原理。

(2)1993年IEEE:软件工程是:①把系统的规范的可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②研究①中提到的途径。

2.3 软件工程的本质特性

①软件工程关注于大型程序的构造;

②软件工程的中心课题是控制复杂性;

③软件经常变化;(需求的不确定性与易变性)

④开发软件的效率非常重要;(高效的方法和工具)

⑤和谐地合作是开发软件的关键;

⑥软件必须有效地支持它的用户;

⑦在软件工程领域中通常由具有一种文化背景的人替具有另一种文化背景的人创造产品。(为其他领域和文化背景创造产品)

2.4 软件工程的基本原理

2.4.1 七条基本原理:

①用分阶段的生命周期计划严格管理;

②坚持进行阶段评审;

③实行严格的产品控制;

④采用现代程序设计技术;

⑤结果应能清楚地审查;

⑥开发小组的人员应该少而精;

⑦承认不断改进软件工程实践的必要性。

2.4.2 意义

       遵循前六条基本原理,能够实现软件的工程化生产;按照第七条原理,不仅要积极主动地采纳新的软件技术,而且要注意不断总结经验。这七条原理相互独立、缺一不可,是确保软件产品质量和开发效率的原理最小集合。

3 软件工程的生命周期

3.1 软件工程生命周期的概念

软件生命周期由软件定义、软件开发和运行维护(也称为软件维护)3 个时期组成,每个时期又进一步划分成若干个阶段。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

皮皮龍丶PPRON

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值