• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

Java 开发环境的过去、现在和将来

发布: 2008-8-07 15:11 | 作者: 网络转载 | 来源: 择就居 | 查看: 117次 | 进入软件测试论坛讨论

领测软件测试网

总的讲20年来软件工程的发展变化很小,现在许多为人所熟知的概念和方法都是在20年以前奠定下的基础。尽管Gerald Weinberg等人要求特别关注软件开发中人的因素,但无论是过去的IDEs也好,还是现在的XDEs也罢,它们有一个共同的出发点:仅仅注重提高个人的开发效率。现在的Java开发环境,在如何提高个人开发效率上做了许多工作,比如,增量编译器、组件浏览器、可视化编辑器等,但是我们知道现在的Java开发人员主要开发复杂的N-层Web应用,这需要知道多种编程语言、运行平台以及相关的各种组件和Web服务技术,由于影响因素众多,开发人员很难单独完成全部的工作。一般以Web应用为核心的开发团队常常包括项目经理、测试工程师、,络工程师,架构师,软件工程师和内容编辑等角色,有些项目的人数会达到几十甚至上百人,软件开发已经成为一个集体项目,成员之间的合作与个人英雄同样重要。

  由于市场的压力,一个软件企业不仅要提高开发人员个体的工作效率,还要提高整个开发团队以及整个企业的开发效率,但在现有的Java 开发环境XDEs下无法完全做到这些,所以新一代开发环境CDEs (Collaborative Development Environments)就产生。Grady Booch和Alan W. Brown的研究表明一个程序员一天工作时间的分配是这样的:分析占16% (从 5% 到 40%不等), 设计占14% (从 1% 到 40%不等),编程占16% (从0% 到 60%不等), 测试占10% ,打电话占 3% ,阅读占7% (电子邮件,文档,月刊和杂志),参加开发会议占 10% ,无关的会议占 7% 。从这些数据可以发现,开发人员用于交流的时间约占工作时间的1/3,开发人员的相互交流非常重要。可是现有的主流Java开发环境一般仅将分析、设计、编程和测试等工具集成进来,却未包括用于交流的工具,这显然不合理。因此,所谓CDEs就是将用于人与人、人与团队以及团队与团队进行交流的工具集成进来的开发环境,比如,CDEs常具有发送电子邮件、进行及时通讯和屏幕分享等功能,通过实现无损耗过程的交流提高开发团队的开发效率。

  现在已经商业化的 CDEs是CodeBeamer Collaborative Development Platform和CodePro AnalytiX,上述两款软件都提供Eclipse的插件,可以与Eclipse集成在一起,使Eclipse升级成为一个CDEs,从而提高Java 开发人员的开发效率,而Eclipse基金会开展的两个开发项目 Stellation和 Koi都是希望Eclipse具有一定的协同功能。此外,GILD (Groupware-enabled Integrated Learning and Development)、Hipikat以及IBM的Jazz也是值得关注的研究项目。大家肯定知道Borland已经宣布开发基于Eclipse 的新版JBuilder-"Peloton",Peloton就是一个CDEs(Collaborative Development Environments),当它明年上半年发布时,就意味着Java开发环境进入CDEs时代,现在Java开发环境还处于 XDEs与CDEs交替的阶段。

 Java开发环境的未来

  在可以看得见的将来,Java的开发环境还会是以CDEs的形式存在。开源组织或开发工具供应商将会努力为软件的开发创建一个绝对光滑的平面 (frictionless surface),实现无损耗的开发过程,以提高开发效率。为了实现无损耗的开发过程,Java的开发环境将会关注以下几个方面:

  起步阶段方面 
  协作开发方面 
  维护开发团队有效沟通方面 
  多个任务的时间协调方面 
  相互协商方面 
  资料有效性方面 
  上述6个方面是最容易出现损耗的地方,如果出现了损耗将会浪费时间和金钱,降低整个团队的开发效率。比如,每个Java开发人员都有这样的经历,当一个新的项目开始时,总要有一个了解的过程,而进入新的开发团队时也需要一个适应过程,这些都叫起步损耗。在起步阶段花费的时间越少,起步损耗就越少,而开发的效率就越高。所以减少6个方面的损耗相应地就是提高了开发效率,这就是CDEs比XDEs开发效率更高的奥秘。未来的Java开发环境也许具有下述功能:

  及时通讯功能 
  举办网络会议功能 
  集中的信息管理功能 
  应用程序共享功能 
  搜索与查询功能 
  屏幕共享功能 
  任务列表功能 
  文档的流转功能 
  在线投票功能 
  电子公告功能 
  计划与日历功能 
  时间提示功能 
  工作流程安排功能 
  电子邮件功能 
  ...

  但这里必须承认未来Java开发环境是如何具体去实现无损耗的开发,还需要时间给予答案,因为现在所能采用的方法未必是最好的,比如,使用面向文件的 CVS进行协同开发就有需要改进的地方。

  总结
  罗哩罗唆一大堆,归纳起来不过就是:一个目的、三种手段以及一条规律。
  一个目的:十年Java开发环境的演变,其目的就是为了提高开发效率。
  三种手段:

  提高集成在Java 开发环境中开发工具的性能和易用性 
  将Java开发环境尽可能的覆盖到整个软件的开发生命周期 
  集成人与人、人与团队以及团队与团队进行交流的工具 
  一条规律:软件开发环境的发展过程是从CLEs到IDEs再到XDEs最后进入CDEs,这是由Grady Booch总结出来的,套在Java开发环境上也适用。 
  参考文献
  1. Grady Booch and Alan W. Brown, "Collaborative Development Environments", Advances in Computers 59, Aug. 2003.
  2. Li-Te Cheng,Cleidson R. B. de Souza,Susanne Hupfer,John Patterson, Steven Ross, "Building Collaboration into IDEs", ACM Queue vol. 1, no. 9 - December/January 2003-2004
  3. J. des Rivie` res,J. Wiegand, "Eclipse: A platform for integrating development tools", IBM System Journal,Volume 43, Number 2, 2004
  4.The Java Extension Mechanism.
  5. Grady Booch, "History of Development Environments", January 29, 2004

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

22/2<12

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网