CodeBeamer Module for NetBeans介绍

来源:互联网 发布:c语言 字节数组转int 编辑:程序博客网 时间:2024/05/21 09:46

 

概述

 

在寻求如何平衡有效管理软件项目和保持开发人员效率的过程中,devnull 软件股份有限公司恰当地组合了IDE 和协同开发平台。一种有潜力的插件集成了两者,随后便减少了开发人员的工作量并提供了更详细和精确的项目信息。本文将给出相关背景,说明为什么这样做是必要的,如何选择这些工具,以及通过使用它们能带来的好处。

入门

 软件开发组织每天都要面对同样的三个基本约束条件:生产出符合要求的软件(具有符合质量要求的功能),按时生产,在预算之内生产。 当添加了分布式、虚拟组织结构之类的其他约束时,实现这些变得更加复杂和艰难。软件开发项目的成功执行可以成就一家公司,也可以毁灭一家公司。因此,这不仅仅关系到项目管理人员,还关系到整个团队。而且一个顺利运行的项目也让人更加愉悦。
 团队成员需要了解“蓝图”(即,产品应该是什么样子以及产品应该为用户解决哪些问题)、总体项目规划和里程碑,以及自己所承担的任务、可交付工作和最后期限。他们还需要了解自己和团队其他人员的项目工作进展如何,以便在必要的时候进行战略调整。他们也应该定期碰面来确保没有偏移目标,并对遇到的问题交换意见。项目或者程序管理人员对这些任务没有异议——这些任务组成了他们工作的主要部分;然而,大多数开发人员,甚至那些了解这些任务重要性的人却觉得它们既无趣又繁琐。
 我们devnull 软件股份有限公司和其他组织一样,为了成功也必须提供这种可见性。我们分布式的虚拟组织结构增加了这个负担,因为我们的项目管理人员无法直接监督每个人的工作,而我们的职员工作在不同的时区。因此,我们需要一种更为正式的通信和报告方式。我们需要一种办法来有效地管理项目,同时减轻开发人员的负担。事实上,理想的解决办法也会提高生产率。这需要我们考虑如何选择实现目标所需的主要工具,以及这些工具如何起作用。

协同开发平台

过去,使用过很多工具来管理软件开发生命周期:源代码管理程序(SCM)、追踪bug和各种问题的软件、构建工具、项目管理系统、文档应用软件和电子邮件。这些工具的主要问题是它们仅仅是一组工具。它们之间没有集成,因此很难获得整个项目的可见性。由于成本和专门技术的限制,单个组织很难实现这种集成。

随着网络和其它协作工具(即,聊天工具)的出现,文档记录也有了新的方式——wiki。它迅速成为每个人可以查找的“虚拟手册”。这对于开发人员和没有时间进行文档记录的人来说都是完美的。几乎不需要时间去学习使用或者键入信息。另一个强大的功能是创建到wiki其它部分的超链接。然后,插件出现了,它能在保持同一界面的同时提供更多完善的功能。出现的协同开发工具能将过去的工具和较新的协同工具(比如wiki)集成到一个平台,这个平台能够帮助管理软件项目并提供更大的项目可见性。

  IDE成为软件开发生命周期的必须部分已经将近三十年了。八十年代,IDE缺乏灵活性,但仍然可为个人提供高效率。九十年代末期,IDE供应商扩展了IDE,他们新增了一个允许简单插件的框架,这些插件扩展了IDE的核心功能。但是除了简单的SCM访问,开发人员彼此之间没有任何联系。如今的IDE框架允许您通过协作服务程序将开发人员集成到团队中,并且能将IDE扩展为一个全面集成的应用程序生命周期环境。

选择IDE

每个软件开发组织都希望能提高开发人员的生产率、缩短面市时间、精简团队、增加开发人员的成就感并方便他们的日常工作以便他们能愉快的工作。

实现这一点的一种简单而可行的方法是使用IDE。众所周知,开发人员在生成代码时,尤其在自动化或改进了乏味但又必需的任务时,他们是最快乐的。除了方便以外,IDE解放了更多的时间用于创造性的和智力劳动。

devnull
软件股份有限公司研究了很多IDE,最终我们得出结论,NetBeans是满足我们需要的最好工具:

l      一个工具就能满足开发三层应用程序的所有需求

l      J2EE支持

l      JSF支持

l      网页编辑器以及应用程序构建器(即,Visual Web Pack

l      Ant支持

l      SVN支持

l      通过基于Java的框架可进行扩展和自定义

选择协同开发平台

我们对于协同开发平台的需求是广泛的,因为我们计划将其作为公司的“操作系统”,简言之,它应该能管理我们的业务。

主要的目的是找出一种工具,这种工具具有很多工具的功能并能支持虚拟环境中的整个软件开发生命周期。它需要取代核心系统,比如SCM、追踪bug和各种问题的工具以及文档管理、报告、新闻/通告和wiki之类的辅助系统。我们也期待它能够增大项目管理系统,能使项目计划和进度报告对于整个团队更加可见。这个工具不仅要全面,而且必须是紧密集成的。我们也希望只有一个系统,以消除“应用程序颠簸”,即应用程序间的持续转换。
 
项目的知识和文档对于成功至关重要,所以功能强大的、可扩展的wiki是必要的。我们期望wiki成为主要的项目报告界面和性能仪表板,并能为传统项目文档提供平台。因为wiki是核心工具,我们要寻找连接到它的所有其它工具,从而能够集成相关的实体。例如,执行某一特征的任务能够将wiki连接到实际的需求规约及其相关的用例。
 
假如我们有特定的需求,并且这些需求将随着流程的成熟度而发生改变,那么可扩展性对我们极为重要。谁也不愿意处于不能执行必要任务的处境。为了能够扩展平台(尤其是wiki),我们必须在恰当的平台—J2EE上运行,J2EE是我们开发的应用程序平台,也是我们的专业技术领域。我们不需要在非主要业务核心领域内开发或者寻找功能。这不仅带来了独立性,也带来了根据需要快速适应系统的能力。我们也期望能够通过记录良好的插件、APIweb services来扩展平台,并且有一个预构建特性的扩展列表,因为我们没有时间和资源来创建我们需要的一切。
  
前文提到过有一个需求扩展列表。除了主要的需求,以下是一些其他的重要需求:

l      驻留在防火墙后面内部主机的能力

l      便于团队安装和管理

l      Wiki需求:扩展的置标语言和插件库、内置报告制图,将html直接嵌入到wiki页的能力,为wiki页创建动态数据以及将页面连接到bug和任务的能力。

l      扩展的电子邮件通知能力

l      创建和归档电子邮件论坛和线程的能力

l      便于整个团队使用和扩展,包括文档记录和QA

l      自动连续构建并构建结果通知

l      可靠的、可响应的支持

研究了很多商业以及开源协同开发平台之后,来自IntlandCodeBeamer是满足我们需求的唯一平台。

CodeBeamer Module for NetBeans

在集成协同开发平台和IDE理念的驱动下,我们迫不及待地试用了CodeBeamer Module for NetBeansCodeBeamer的一个插件)。 这是一个接合了CodeBeamer实例的NetBeans模块,同时允许远程查看、创建、修改和删除CodeBeamer“跟踪器”(需求、bug、任务、变更请求或任何自定义跟踪器),并且即将在CodeBeamer文档管理系统中对文档[1]启用这些功能。它的界面是添加到NetBeans IDE的一组面板。它能使开发人员无需离开IDE即可与CodeBeamer及其关键信息相结合,并能有效地将其合二为一。另外,模块是开放源码的,您可以查看代码,自定义代码或者帮助其开发。有一个开发人员的社区和一个论坛。它太有吸引力了,尽管目前还只是一个原型,JavaOne 2007上有对其一般利用率进行的预期。

                   

1:带 CodeBeamer Module for NetBeansNetBeans IDE屏幕截图

安装

安装该模块类似于安装典型的NetBean IDE模块。下载模块之后,使用Update Center进行安装。如果CodeBeamer实例没有运行,Intland可以免费提供CodeBeamer 15-user版本,可以从其网站www.intland.com获得。

使用CodeBeamer Module for NetBeans的特性和好处

开始使用模块后,好处会立刻显现。我们为需求、项目任务、bug和信息请求创建了CodeBeamer跟踪器。开发人员每天核对跟踪器来确定每天的安排,并确保没有关键的bug分配给他们。稍后,他们将根据完成的内容详细更新跟踪器。我们发现在NetBeans IDE 中通过CodeBeamer Module for NetBeans很容易完成这些同样的活动。既方便又省时。它消除了“应用程序颠簸”,因而能帮助人们关注重点并保持畅通。
  
Bug
是时间关键性因素,尤其那些使客户生产系统崩溃或破坏构建的bug。必须要能快速处理它们。在IDE中查看bug的详细资料同时查看代码的能力能有效地帮助解决该问题。一旦发现bug,开发人员可以更新跟踪器,报告估计的工作和交付日期,从而向管理问题的人员提供及时信息。如果bug 被错误的分配了,可以从GUI中重新分配。如果在修改bug(或者开发代码的任何时候)的过程中发现bug,可以创建一个新的跟踪器,而无需离开工作和IDE。当可用时[1],从NetBeans IDE访问涉及一种特性(即,需求或标准化)文档的能力将成为另一个推动生产率的功能,这还能防止试图查找文档和确保文档最新时出现问题。
 
CodeBeamer
是一种极好的连续构建设施,但是devnull软件是一个虚拟的组织,因此经常会出现不完整的构建,并会在这种状态持续停留很长时间,这是因为存在时差或其他交流中的问题。为了降低出现这种情况的风险,我们建立了一个分析构建结果的程序并将其作为构建的一部分,该程序会自动创建最高优先权和关键程度的bug跟踪器,并将其分配给负责失败模块的开发人员。然后它将出现在这些开发人员的跟踪器列表中。
   CodeBeamer Module for NetBeans也减少了开发人员在提供相关信息时的工作量。任意跟踪器的估计时间、实际时间、决定和注释等项目无需离开IDE即可更新。 更新跟踪器的状态只需要几分钟即可提供及时和详细的信息。这些功能为维护项目的项目管理人员提供了非常有用和及时的信息。
  
该模块最有强大的特性在于源码管理系统和跟踪器系统的交互。当您从NetBeans IDESCM提交代码(例如,subversion)时,将会出现一个窗口,您不仅可以为要上传的代码创建评论,还可以为这次提交关联跟踪器(例如,bug或者任务)。跟踪器选自所有项目可用跟踪器所组成的树中。

           图2 CodeBeamer Module for NetBeans 提交窗口屏幕截图

进行了关联后,任何人双击提交链接都可以在NetBeans IDE中查看跟踪器,与这次提交关联的文件将在IDE的主面板上打开,位于提交的开始线上。

小结

集成的好处显而易见。真正的问题在于:它将通向何处?也许,扩展模块以允许查看并创建wiki页或报告,或者开放项目仪表板?由于模块的开放源码特性,您可以帮助制作说明书或根据特定的需要创建自己的版本。欢迎在本论坛投稿,欢迎您假如社区:https://codebeamer.com/cb/proj/wiki/displayHomePage.do?proj_id=346

 




原创粉丝点击