IBM院士 Grady Booch
一言以蔽之,整个软件工程史——甚至可能包括其未来——可归结为抽象水平的不断提高。
当今的软件密集型系统(software-intensive system)有一系列共同特征:它们通常都相当复杂、分散部署、并发协作,同时还在持续不断地演化。
不仅如此,
这类系统大多不是孤立的,系统之中嵌系统,单个系统不过是其中一个元素而已
。它们为与其他系统进行协作而存在,与之协作的系统往往由其他组织在不同时间开发,且以不同速率各自发生着变化。
在很多方面而言,所有的软件密集型系统,相对于其所处的时代都是复杂的。在计算领域的早期时代,我们在很大程度上受到硬件的约束和限制。发展到后
来,软硬件互相推动,如同一场如影随形的舞蹈。在软件方面,我们看到开发语言不断成熟,从机器语言进化到汇编语言,再进化到以算法为中心的更高级语言,直
到目前的面向对象语言。与之类似,在开发库方面,我们看到小规模的子程序库逐步演变为框架,再进化成面向特定领域的架构。同时,我们也看到方法论不断成
熟,从结构化分析和设计,演变到面向对象的分析和设计。这些都是抽象水平不断提高的事证。抽象,正是人类指望赖以应对世界复杂度的主要方式。
在这段旅程中,限制因素不仅仅是硬件,我们掌握特定领域固有算法的能力也拖慢了前进的步伐。这在计算机生成图形领域的演进上体现得尤其明显。为了得
到照片质量的图像,简单的渲染仅仅是起始第一步,从这一步演化出光线追踪算法。接下来,我们掌握了将简单纹理映射到图像上的技术。然后,进展在下列方面不
断发生:运动处理、流体建模、单个生物建模、生物群体建模、毛发建模,最后是衣物建模。在这个领域里面,我们已近乎——但还没真正达到——掌握对人类面部
进行高拟真建模的算法。正如其他领域的工程进步一样,伴随着这条路上的每一步,我们先设法解决眼前问题,然后不断改进、提升,构筑解决方案,再将它推向解
决更加复杂问题的程度。
在某些领域中,算法的掌握仍然是个问题,特别是有关通信和处理海量信息的领域。但在很多系统之中,算法已不复是限制因素。举例来看,在众多以Web
为中心的系统中,我们已经目睹了架构的演化。最早的系统很简单,早期HTML限制了我们的实现能力(即链接和简单格式化),因此催生出更加动态的结构,体
现在今天广泛使用的ASP、JSP,特别是Ajax中。征程在继续:语义网的研发,将会导致一种以web为中心的全新架构的产生。
对于当今的许多系统而言,我们愈来愈受到人为因素的约束:诸如怎样组织团队开发、部署和升级软件密集型系统,如何判定这些系统的社会影响等等。
软件开发实用主义经济学认为,只需一两个人即可完成软件密集型系统的构想,但却要大量人力来把构想变为现实。跨越不同时区甚至时间本身的团队构成形态不断地证明着这一论断。时区差异是
导致异地分布式开发中许多问题的
本
质原因。需要互相协作的开发小组可能位于不同城市,而且有可能分布于不同国家。就时间推移而言,不光意味着很多系统由一个小组开发后再交由其他小组改进,
而且大系统内的子系统也常常是不同团队在不同时间开发完成的。不仅如此,能源成本增加导致物流成本增加,经济压力所迫,也推动了在真实世界中从不谋面的开
发组的组建过程。这在开源领域里面已有实证,很多开源系统都是由遍布全球的团队构建而成的。
我们克服了机器的限制,接下来又摆脱了算法、设计以及组织架构的约束,最终,只有想象力是桎梏了。
因
此,软件工程的未来将面临这样的严峻考验:任何推动世界向未来发展的进步之举,都依赖于目前尚未问世的软件。这样一来,打造复杂软件系统的能力将影响个人
和机构,甚至人类文明。这是身为软件开发人员的荣耀:作为一个行业,我们业已且将继续改变这世界。这同样也是责任:正如
Bjarne Stroustrup所言,文明运行于软件之上,我们重任在肩。
分享到:
相关推荐
PCB设计软件未来5~10年发展趋势预测.pdf
从企业需求探索协同办公软件未来走势.docx
对软件业未来的预测,用独特的敏锐感去关注一个世界IT的崛起
二级Access 机考软件 未来教育软件研发中心研制 二级Access(机考软件)(未来教育软件研发中心研制)
未来教育二级java激活码,机试软件,视屏,二级基础视屏
我花银子买的,所以五分不算多啊。这个是我精简过的。什么视频什么的没用,我给删了,因为要是不删太大了。大家好好利用!
2012未来软件更新说明
行业报告
STEP7-Micro/WIN32编程软件介绍
IT职业发展趋势及未来,这是我前一断时间听的讲座,主讲人是我们国家第一批学计算机的人
软件工程师规划 规划软件工程师的一个美好未来
教你如何应用未来软件, 对于初学者很有帮助
未来软件使用教程[收集].pdf
中间件软件行业2022年发展概况分析及未来十年中间件软件行业数据趋势预测.docx
飞鸽传书未来软件园版,局域网传输速度很快的喔
未来教育二级c无纸化考试模拟软件是专为准备计算机二级c语言考试的同学制作的模拟软件,软件可以最大限度的模拟真实考试环境,让您如同参加真实考试一样进行练习,您的每一道错题都将会自动记录到软件的错题系统,等...
这个文档详细分析了未来十年内软件市场发展趋势,希望对大家有所帮助!!!!!
====================...未来教育二级C无纸化考试模拟软件,注册码随意。只要认真练习几套,拿证不是梦。 =====================================
软件工程未来发展趋势
未来汇编如软件使用说明书,方便使用未来汇编软件