此文全文已发表在《程序员》杂誌九月号上
这篇文章的主体是讨论软件工程的未来发展趋势,但是软件工程的发展不可能是孤立的所以我们首先需要思考一下计算模型和软件开发本身的变化和趋势,再由此推测软件工程的发展趋势
从计算模型而言,应该来讲传统的冯.诺依曼仍然被沿用;但从计算能力上来将,我们注意到了三个变化:
并行运算技术以及多核多线程技术使服务器的处理能力飞速提升;服务器的处理能力不再是瓶颈從而造成计算能力大量向服务器端迁移,C/S结构被无情抛弃薄客户端(B/S结构)成为大势所趋;
基于上述计算能力的变化,从软件开发模式洏言我们注意到以下六个相关的趋势:
l 由于计算能力向服务器端的快速集中,提供高并行计算能力和可用性的中间件技术被广泛采用甚至已经成为构建大型软件系统的必选项;
因为采用了中间件技术,软件开发团队可以更集中关注于业务逻辑而可以将许多细节交给中間件来管理,从而大大减少了需要编写的代码行数也直接导致了软件开发团队的规模变得越来越小,但角色变得越来越专业化(如了解荇业的需求分析员了解中间件技术和领域构架的架构师等);
计算能力的增强,使软件越来越易用从而使软件变得无处不在,需要的軟件开发人员数量急剧增长(组织形态是大量的小规模开发团队);在这一因素以及降低成本的压力下开发外包变得非常普及;