软件工程的发展历史.pdf

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

1.世界上第一个计算机程序员

第一个写软件的人是Ada(AugustaAdaLovelace),在1860年代她尝试为

Babbage(CharlesBabbage)的机械式计算机写软件。尽管他们的努力失败了,

但他们的名字永远载入了计算机发展的史册。她的父亲就是那个狂热的,不趋炎

附势的激进诗人和冒险家拜伦。她本身也是一个光彩照人的人物—数学尖子和某

种程度上的赌徒。她最重要的贡献来自于与发明家CharlesBabbage的合作,从

而设计出世界上首批大型计算机—DifferenceEngine和AnalyticalEngine。

她甚至认为如果有正确的指令,Babbage的机器可以用来作曲,这是一个多么疯

狂的想法,因为当时大多数人只把它看成是一个机械化算盘,而她却有渲染力和

感召力来传播她的思想。

2.现代计算机软件的出现

20世纪50年代,软件伴随着第一台电子计算机的问世诞生了。以写软件为

职业的人也开始出现,他们多是经过训练的数学家和电子工程师。1960年代美

国大学里开始出现授予计算机专业的学位,教人们写软件。

在计算机系统发展的初期,硬件通常用来执行一个单一的程序,而这个程序

又是为一个特定的目的而编制的。早期当通用硬件成为平常事情的时候,软件的

通用性却是很有限的。大多数软件是由使用该软件的个人或机构研制的,软件

往往带有强烈的个人色彩。早期的软件开发也没有什么系统的方法可以遵循,软

件设计是在某个人的头脑中完成的一个隐藏的过程。而且,除了源代码往往没

有软件说明书等文档。

3.软件危机

从60年代中期到70年代中期是计算机系统发展的第二个时期,在这一时期

软件开始作为一种产品被广泛使用,出现了“软件作坊”专职应别人的需求写软

件。这一软件开发的方法基本上仍然沿用早期的个体化软件开发方式,但软件的

数量急剧膨胀,软件需求日趋复杂,维护的难度越来越大,开发成本令人吃惊地

高,而失败的软件开发项目却屡见不鲜。“软件危机”就这样开始了!

“软件危机”使得人们开始对软件及其特性进行更深一步的研究,人们改变

了早期对软件的不正确看法。早期那些被认为是优秀的程序常常很难被别人看

懂,通篇充满了程序技巧。现在人们普遍认为优秀的程序除了功能正确,性能优

良之外,还应该容易看懂、容易使用、容易修改和扩充。

1968年北大西洋公约组织的计算机科学家在联邦德国召开的国际学术会议

上第一次提出了“软件危机”(softwarecrisis)这个名词。概括来说,软件危

机包含两方面问题:一、如何开发软件,以满足不断增长,日趋复杂的需求;二、

如何维护数量不断膨胀的软件产品。

4.软件工程的提出

1968年秋季,NATO(北约)的科技委员会召集了近50名一流的编程人员、

计算机科学家和工业界巨头,讨论和制定摆脱“软件危机”的对策。在那次会议

上第一次提出了软件工程(softwareengineering)这个概念。

软件工程是一门研究如何用系统化、规范化、数量化等工程原则和方法去进

行软件的开发和维护的学科。软件工程包括两方面内容:软件开发技术和软件项

目管理。软件开发技术包括软件开发方法学、软件工具和软件工程环境。软件

项目管理包括软件度量、项目估算、进度控制、人员组织、配置管理、项目计划

等。

5.传统软件工程

为迎接软件危机的挑战,人们进行了不懈的努力。这些努力大致上是沿着两

个方向同时进行的。

一是从管理的角度,希望实现软件开发过程的工程化。这方面最为著名的成

果就是提出了大家都很熟悉的“瀑布式”生命周期模型。它是在60年代末“软

件危机”后出现的第一个生命周期模型。如下所示:

分析→设计→编码→测试→维护

后来,又有人针对该模型的不足,提出了快速原型法、螺旋模型、喷泉模型

等对“瀑布式”生命周期模型进行补充。现在,它们在软件开发的实践中被广泛

采用。

这方面的努力,还使人们认识到了文档的标准以及开发者之间、开发者与用

户之间的交流方式的重要性。一些重要文档格式的标准被确定下来,包括变量、

符号的命名规则以及原代码的规范式。

软件工程发展的第二个方向,侧重与对

文档评论(0)

187****3083 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档