项目管理工具-Trac

来源:互联网 发布:c和a的算法 编辑:程序博客网 时间:2024/05/21 11:29

http://trac.edgewall.org/

软件介绍

  Trac是一个为软件开发项目需要而集成了Wiki问题跟踪管理系统的应用平台,是一个开源软件应用。

 

开发语言
  Trac是采用Python语言开发的,因此Trac的在运行的时候,需要有Python环境的支持,在本手册中Python采用2.5,Trac采用0.11Beta版本、Apache 2.2。

 

模型
  Trac是以面向进度模型为项目管理模型的,很明显的特点就是它以里程碑(Milestone)方式进行项目管理的。每个里程碑中的具体要做哪些事情,就使用Ticket来进行定义、跟踪等。里程碑是什么呢?里程碑是一些事件,我们设立这些事件是为了表明当这些事件发生的时候,我们的工作已经达到了某种程度。为什么我不用时间点呢?原因在于使用时间点往往让人误以为,里程碑是按照时间来设计的,而不是按照事件来设立的。
  另外,Trac做一个SCM配置管理平台,意味着它有良好的扩充性。通过WebAdmin界面中的Plugin功能,可以很方便的安装下载的插件,也可以通过此功能查看已经安装的插件,并可对其中的插件进行启用或停用操作。

 

体系架构
1、Trac权限体系
2、Trac中的WIKI
3、Trac中的Roadmap
  Roadmap中文翻译路线图。在Trac中使用Roadmap展现某个软件的开发过程。在Roadmap中,通过Milestone来分解软件开发的整个生命周期。多个Milestone就构成了一个Roadmap。当然一个软件交付后,在以后的维护过程中的变更、修改等都创建新的Milestone进行管理。
4、Trac中的Timeline
  Timeline中文可译作时间线,它是以时间进度为参考轴,按时间倒序的方式显示此trac实例中所以的操作日志。它监控的对象包括:
  WIKI事件:创建和更改动作;
  Ticket事件:创建、更改、完成等所有的Ticket的事件;
  Source chanege事件:资源库的代码发生一些动作事件;
  Milestone事件:Milestone结束事件。
5、Trac中的Ticket
  Ticket是trac中管理项目的核心元素,它在trac中被用作项目的任务、功能需求、错误报告、软件发布支持等,它采用WIKI作为其描述部分文字的语法.
6、Trac中的Report
7、Trac中的Search
8、Trac中的Admin

 

Trac如何管理一个软件项目生命周期
  Trac采用面向进度的开发模型,因此产生了Milestone的概念,那么Milestone虽然建立了阶段性的里程碑,但是里程碑具体怎么才能到达呢?这就需要采用ticket方式进行处理。当定义的所以的ticket全部closed时,就说明到达了里程碑,但是达到了也并不表示所有的 ticket都是fixed,也许是其他的原因关闭的。还有虽然到达了里程碑,但是未必是按时完成的,但是总的阶段性结束点是很明确的。
  因此用trac管理一个项目,就要做好以下几方面的工作:
  u 划分里程碑
  u 划分项目components
  u 划分ticket
  u 熟练掌握Ticket的运作机制
  u 熟练掌握Change History的查看和使用
  u 熟练掌握Milestone的查看和使用
  前面三项属于项目架构范畴,后面三项属于操作范畴。对于前面三项各自的划分原则是:

  划分里程碑原则
  里程碑是一些事件,我们设立这些事件是为了表明当这些事件发生的时候,我们的工作已经达到了某种程度。而我们不能够仅仅使用时间点来划分里程碑。
  至于选择什么事件作为里程碑,其实就是选择项目利益相关人员最关心的事件作为里程碑。如果为项目计划时间表开一个会议,肯定有很多人提出他们关心的事件或者时间点,比如销售人员会问开发人员什么时候完成alpha测试,好让他们去找客户做beta 测试,老板在听完大致计划之后会问什么时候拿出第一个运行版本,开发人员会问什么时候能够签约以便可以开始正式的工作。这些事件或者时间点就是最好的里程碑,里程碑之所以能够标示项目进度,是因为它是项目相关人员关心的事件,里程碑标示进度的含义也是事件的含义。
  在实际项目工作中,里程碑是否已经达到,也是非常明确的事情。事件是否发生应该是很明确的,如果不明确说明选择的里程碑不是一个事件,比如“评审通过”、客户在合同上签字、需求分析文档被老板批准,测试中bug收敛,这些事情是否发生都是很清晰的,是一个明确的时间点。   
  
划分Component原则
  一般情况下按功能模块来划分,比如协同办公系统可以划分为公文处理、个人办公、电子邮件等等。组件和里程碑之间的关系是,一个组件可以属于多个里程碑,当然一个里程碑里面也可以包含多个组件,它们之间是多对多的关系,但是在trac里面是以里程碑为导向的,所以我们应该站在里程碑这条轴上去管理软件项目。
  具体的Component如何划分,这就需要跟实际的情况决定了。
  
划分Ticket原则
  Ticket系统简介 Ticket系统是Trac中关于项目管理的一个重要单元,它是一个简单有效的版本差异和Bug跟踪系统。
  在项目开发过程中出现的任何问题,都可以用一个Ticket来标识,例如Bug,项目计划,功能改进,项目建议,Todo等等,都可以写成一个Ticket,开发人员通过访问查看Ticket系统,可以及时的了解到项目进度,有待解决的地方等等
  每个Ticket都可以被修改和说明(Description属性),并说明这个Ticket 是Bug还是项目建议还是其他什么(Type属性),指派由哪个人对这个Ticket负责(Assigned to/Owner属性),设定Ticket的优先级(Priority属性),设定Ticket的最终完成时间(Milestone属性),设定这个 Ticket属于哪个模块(Component属性)。一个Milestone包含一个名称和时间,其中时间即为项目中这个阶段的预计完结时间,我们通过设定这个属性,来表明所要创建的Ticket属于哪个Milestone,属于项目的哪个阶段,该在哪个时间之前完成。