当前位置:首页 > 多媒体相关

企业级应用开发中的JAVA开源项目 企业软件频道



热门问答:
  • 升级的问题:从WebLogic 5.1到7.1,有兴趣的朋友进来看看! [详细内容]
  • 奇怪的问题!!有关打印的简单问题 [详细内容]
  • 请教一个查询SQL的问题 [详细内容]
  • 鲁文易盘无法格式化! [详细内容]
  • 我想考北大青鸟的ACCP,请大家谈谈有没有必要。 [详细内容]

  • 推荐阅读
      · 技巧:免激活 让vista合法运行一整年 企业软件频道
        摘要:  其实,微软在vista激活上的态度十分宽松,如果不是此前某些组织做得过火——擅自架设vista激活服务器,微软甚至愿意“悄悄”提供给用户免激活长期使用vista的方式  其实,微软在vista激活上的态度十分宽松,如果不是此前某些组织做得过火——擅自架设vista激活服务器,微软甚至愿意“悄悄”提供给用户免激活长期使用vista的方式。    事实上,只需将vista注册表中一个键值从0改为1,就可以无限......
      · 英特尔怒斥移动cpu造假说 称报道完全不属实
        摘要:  一则“英特尔涉嫌造假移动cpu”的报道,把英特尔给惹怒了。昨天,英持尔中国称:该报道完全不属实!  昨天,某媒体称?押“经国内某知名it专业网站评测发现,在某笔记本厂商送测的笔记本中,竟然有几款移动cpu有造假现象。其中评测的改造封装结构的cpu竟然来自英特尔自身。”  “cpu造假一说完全不属实!”英特尔怒了。英特尔中国公关部负责人称,该报道把矛头直指英特尔业绩优秀的移动产品领域,其目的显然是为了打击英特尔在此领域的......

    正文

      对于目前企业应用开发竞争日益激烈,需求变更频繁,各个系统集成商都面临巨大的生存压力。其中有两个方面表现尤其突出:没有统一的软件开发过程或者照搬重量级的软件开发过程,例如rup等,但是往往由于时间等压力的影响,并不能切实执行;大部分企业仍然没有摆脱手工作坊期间的做法,每个项目或者产品由于管理人员或者团队的不同,重新设计系统框架,浪费大量的时间在结构验证与调整上。    
      对于目前企业应用开发竞争日益激烈,需求变更频繁,各个系统集成商都面临巨大的生存压力。其中有两个方面表现尤其突出:没有统一的软件开发过程或者照搬重量级的软件开发过程,例如rup等,但是往往由于时间等压力的影响,并不能切实执行;大部分企业仍然没有摆脱手工作坊期间的做法,每个项目或者产品由于管理人员或者团队的不同,重新设计系统框架,浪费大量的时间在结构验证与调整上。

      企业应用系统的开发中,需求的变更是项目中唯一不变的东西,而且,为了保持开发的一致性和利益最大化,系统集成商需要与客户保持长期的合作。因此,采取演进式敏捷软件开发,可以更好的保证项目质量。在所有的敏捷软件开发方法中,xp是目前应用最为广泛的一种。它是一种高度动态的过程,它通过非常短的迭代周期来应对需求的变化;沟通、简单、反馈和勇气是它的四大核心价值。同时,它集中了业界的很多最佳实践,目前已经有18条之多,xp强调通过严格执行全部的最佳实践来获得"极限"效果。

      同时,出于复用和效率的考虑,尤其是对于系统集成商,企业应用系统应该具有自己的框架和结构。拥有具有良好性能、经过项目验证的系统框架,结合有效的软件开发过程,系统集成商可以快速、成功地开发企业应用系统。

      为了更好的开发成功的系统,系统集成商们可以试着从以下两个方面着手解决问题:结合开源工具的支持,在组织内部实施"敏捷软件开发方法";为核心业务领域建立灵活、有效的framework。

      由于目前很多企业应用是采用基于j2ee技术的网络应用程序开发,因此,下面主要介绍基于java的开源项目、工具的应用。

      1、开源工具与xp

      xp的12条最佳实践,对于所有的企业应用开发商而言,由于组织和文化的不同,不可能全部应用,但是,下面几个实践是有条件逐步实施的:

      代码规范:codestandard

      测试驱动开发:test-drivendevelopment

      日构建:dailybuilding

      持续集成:continuousintegration

      小步发布:smallrelease

      每日晨会:dailymeeting

      每周40小时工作:40-hoursaweek

      其中,codestandard和tdd是continuousintegration、dailybuilding和smallrelease的基础;而dailymeeting和40-hoursawork是单独的实践过程,可以与其他的实践想结合,增强项目小组的沟通,激发士气。

      需要说明的是以上最佳实践并非xp所独有,而是被最多的软件开发方法所应用,其中"日构建"就在微软的软件开发方法中正式出现过。

      1)代码规范

      虽然大部分的企业在一定程度上推行代码标准与规范,而且对于使用java的应用程序开发,也有sun的推荐编码规范,但是,实际的情况并不理想。

      主要的原因在于:一方面,开发人员的习惯势力很大;另一方面,代码审查的力度不够。如果能够借助工具,从一定程度上帮助进行代码标准的执行情况检查,那么代码审查就可以着重检查程序的逻辑和性能等方面。

      开源产品checkstyle(http://sourceforge.net/projects/checkstyle)可以帮助开发组织解决代码标准审查的问题。

      目前的最新版本为3.0,它提供了两种运行方式:一种是命令行;一种是与ant结合(ant自1.5以后提供的optionaltasks中有对于checkstyle的支持)。同时,sourceforge中有对于jbuilder等流行ide的插件支持,可以定义global、project级别上的属性文件,但是,目前只是支持2.42版本。

      在3.x版本之前,checkstyle的配置信息写在propertyfile中;而在3.x之后,配置信息为xml文件,配置更加灵活。3.0的发布版本中提供了针对suncodeconventions的特定checkfile,可以参考使用。

      建议执行情况:

      手动执行:开发人员在ide中手动触发checkstyle检查或者代码审查时由审查者手动执行;

      自动执行:将checkstyle与源码控制系统(cvs)结合,在源码checkin的时候进行规则判断,如果不符合,则不允许代码进入系统。

      2)测试驱动开发

      测试先行或者测试驱动是xp的基本实践之一,同时测试在软件开发中的重要作用正越来越得到人们的重视。审查和测试作为系统确认和验证的有效方式,是项目质量保证的重要措施。

      下面按照一般的测试分类,介绍各个领域内的开源测试工具:

      单元测试:junit(http://www.junit.org)

      junit是由erichgamma和kentbeck编写的一个回归测试框架(regressiontestingframework),用于java开发人员编写单元测试之用。下面介绍的开源测试工具,很多都是对于junit的扩展。

      它目前的版本为3.7,为编写单元测试提供了主要的接口。目前主流的ide都提供了对于junit的支持。

      xp强调测试先行,尤其重视单元测试。系统集成商需要通过软件开发过程的执行,来强化junit的使用。

      目前很多商业测试软件都提供了与junit的联合使用,例如获得1999和2000年jolt测试类工具亚军和生产率大奖的jtest(parasoft公司产品,内置200余条编码规范,提供java代码静态和动态检查,同时还可以自动生成简单的测试用例等等)就可以导入和导出junit的测试用例。

      集成与功能测试:httpunit(http://unit.sourceforge.net)&cactus(http://jakarta.apache.org/cactus/)

      httpunit是一套通过http连接测试web应用程序的java类。在结合junit的情况下,httpunit可以作为一种创建测试程序的强大工具用来保证web应用程序正常的端对端功能。

      虽然junit自身就可以通过编写单一类的测试程序对服务器端java代码进行测试,不过,有了httpunit的帮助,junit就可以扩展为模拟web浏览器-web服务器的工作方式对整个web程序结构进行测试。

      cactus为我们提供了一种测试servlet等web组件的有效手段。它是junit的一个扩展,但是它又和junit有一些不同。cactus的测试分为三种不同的测试类别,jsptestcase,servlettestcase,filtertestcase,而不是像junit就一种testcase。cactus的测试代码有服务器端和客户端两个部分,他们协同工作。

      一般意义上,可以采用cactus作集成测试;而使用httpunit做功能测试。

      

    讨论区

    Login