各种历史以及我们在技术浪潮中的位置

  前天看完了Craig Larman写的《UML和模式应用》

  书的内容包括面向对象的分析和设计,迭代和增量式开发。

客观来说是一本不错的书,信息量巨大,包含了大量名词解释,具体的例子,做项目的时候一定可以用得到。

缺点是,书的排版给我一种信息爆炸的感觉,字体较小,看久了眼睛不舒服;目录详细得可以用来作为读书笔记,所以读起来容易让人感觉枯燥和吃力;遍布各处的作者关于瀑布式开发的批评,并且时刻提醒我自己所处的位置,让我觉得有点重复和罗嗦。

不过我已经从这本书得到很多了,谢谢Larman

 

本书一大特色是介绍了各种历史。

历史的重要性怎么强调都不过分,打个比方,你在山上看黄河,它一会儿向北流一会儿向南流,那它到底往哪里流,那你再站高一点,站到云端,你才清楚都看到它是东流入海的。

知道历史,我们才有大局观,才晓得自己在技术浪潮中处于什么位置,我们能做些什么,我们的目标不会就是坐在那里编编程而已。

我把各种历史简图总结如下,我们不说细了,只说本质,聪明的你们会看到各种历史之间的因果关系。

 

1, 数字电子计算机发展史

a)         1946年:世界上第一台真正意义上的数字电子计算机,诞生于美国宾夕法尼亚大学

b)        1971年:INTEL公司开发成功第一块微处理器4004

 

正是计算机的发明才有了现在的软件开发,那么下面是软件的发展简史。

 

2, 软件行业发展史,一般的说法是分为五代

a)         第一代1949-1959:随着第一台计算机发明,为政府,军方以及大的客户定做软件项目。

b)        第二代1959-1969:独立于硬件的软件产品出现。软件被专门开发出来重复销售给一个以上的客户。

c)         第三代1969-1981:企业解决方案公司的兴盛。许多著名的企业在此时成立,如:1972年,SAP1975年,Microsoft1977年,Oracle1987年,Sybase

d)        第四代1981-1994:客户大众市场软件。微处理器,带动了个人计算机的兴起,于是需要建立一种全新的软件:基于个人计算机的大众市场的产品。

e)         第五代1984至今:互联网增值服务。提供无限联网容量的互联网的腾飞,开创了一个新的时代。这个时代现在比较热门的是google,社会化软件,如twitterfacebook

 

现在可以来说说,OOA/D的历史了

3, OOA/D的历史

a)         1960-1970OO编程语言开始崭露头角,标志是smalltalk的发明。

b)        1980年代:OOA/D开始成为正式的主题,许多著名的先驱如:kent beck发展了他们的思想,许多论文陆续发表。

c)         1994年:UML1.0发表

d)        2004年:UML2.0发布

 

再来看看进化,迭代和增量式开发

4, IID的历史

a)         1950-1960:美国,IIDMercury空间项目,以及Trident潜水艇项目中得到应用。

b)        1970年代:IID在众多大型国防和航天项目中采用,其中包括美国航天飞机飞行控制软件。

c)         1980年代:Frederick Brooks(人月神话 )阐述了瀑布方法都缺陷;Barry Boehm发布螺旋模型风险驱动IID方法。

d)        1990年代:各种IID方法百花齐放,如UPDSDMScrumXP……

e)         2001年:敏捷联盟成立

 

  伴随着这些历史的是一本本重量级的著作:

5, 各种著述

a)         1994GOF的那本设计模式

b)        1999Martin Fowler的重构

c)         2001:敏捷宣言

d)        2002Robert C. Martin的敏捷软件开发;Martin Fowler企业软件架构模式

e)         2003Eric Evans领域驱动的设计;Kent Beck测试驱动开发

f)          2004:重构与模式;测试驱动开发(实用指南);Steve McConnell代码大全第二版

g)        2005LarmanUML和模式应用

 

  看完这么多历史以后,我想各位可以按图索骥,确定自己在技术浪潮中的位置了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值