软件工程历史发展

  1964年,IBM发布OS/360系统,该系统旨在让所有的软件适用于所有的电脑(当然,仅限于360系列),这个理念让IBM的软件工程师们伤透脑筋,投入到这个项目中的软件工程师超过2000人(Windows2000也只动用了1700人),花费超过5亿美元,系统共有4000多个模块,约100万条指令,投入5000人年,结果还是延期交付。在交付使用后的系统中仍发现大量(2000个以上)的错误。负责这项艰苦卓绝的开发任务的,就是当时年仅三十岁的计算机科学博士Frederick Brooks。

[第三代计算机的标志性产品]

  1964年,通用电气、贝尔实验室和麻省理工联合发起了一个极具野心的项目,MULTICS。目标是创建一个用于大型机的分时共享操作系统。但项目的难度超过了大家的想象,到1969年,贝尔实验室断定MULTICS是一个代价高昂的错误,率先退出了该项目。最终,项目以失败告终。

[参与MULTICS的科学家们]

  1968年,北大西洋公约组织(NATO)在联邦德国的国际学术会议创造软件危机(Software Crisis)一词。而1960年代中期开始爆发众所周知的软件危机,为了解决问题,在1968、1969年连续召开两次著名的NATO会议,并同时提出软件工程的概念。

[“软件工程”大会]

  1970年,罗伊斯(Royce)提出了著名的瀑布模型(Waterfall Model),直到80年代早期,它一直是唯一被广泛采用的软件开发模型。后来,又有人针对该模型的不足,提出了快速原型法、螺旋模型、喷泉模型等对瀑布模型进行补充。软件生命周期模型为人们对软件定义、开发、运行维护的全部过程提供实践参考。

[瀑布模型]

  1975年,布鲁克斯(Brooks)写出了软件工程领域著作《人月神话》(The Mythical Man-Month),作者根据自己在IBM公司System 360家族和OS 360中的项目管理经验,以随笔集的形式对大型软件项目开发提出独到见解。

[史前史中,没有别的场景比巨兽们在焦油坑中垂死挣扎的场面更令人震撼]

  1995年,GoF写出了设计模式经典著作《Design Patterns: Elements of Reusable Object-Oriented Software》(中文译名《设计模式:可复用面向对象软件的基础》),设计模式最早来源于建筑学,是一套被反复使用、多数人知晓、经过分类的、代码设计经验的总结,他们在书中列举并描述了23种设计模式GoF设计模式是程序员真正掌握面向对象核心思想的必修课。

[23种设计模式]

  1995年,Standish Group研究机构以美国境内8000个软件项目作为调查样本,调查结果显示,有84%软件计划无法于既定时间、经费中完成,超过30%的项目于运行中被取消,项目预算平均超出189%。

  1997年1月,UML 1.0(Unified Modeling Language 统一建模语言)发布,它解决了开发人员之间互相交流的问题,它包括用例图类图、活动图、状态图、时序图、协作图、组件图和部署图等。

[各种各样的UML图]

  2000年,爆发千年虫问题(Y2K bug),起源于60年代计算机为了节省存储空间,只使用了两位十进制数来表示年份,导致错将2000年识别成1900年,而且1900年是非闰年,到了2月29日就被当作3月1日处理,由此带来跨世纪的年份、日期处理时的计算错误,引发各种各样的计算机业务处理系统和控制系统的功能紊乱。

[JavaScript“.getYear()”函数问题,用当前年份减去1900]

  2002年,南昌航空大学软件学院成立。其软件工程一级学科在全国第四轮学科评估中被评为C+,成为江西省软件工程学科唯一上榜单位,是江西省软件工程学科联盟牵头单位。

[南昌航空大学软件学院匾额]

 


  在20世纪八十年代服务于传奇般的施乐帕罗·阿尔托研究中心(Xerox PARC)的软件老手L.Peter Deutsch说:“没有物理学就很难有真正的工程,而软件中则没什么物理学可言”。“用严格的数学方法来对付宇宙的抽象基础”是软件研究者们数十年以来的追求,“自动化软件”的概念就是追寻者们的圣杯。“终有一日,我们会发现自己处在一个软件无须编程的世界中”。——《梦断代码》

posted @ 2022-04-27 17:58  HanselHuang  阅读(1094)  评论(0编辑  收藏  举报