简介

Trac是一个为软件开发项目需要而集成了Wiki和问题跟踪管理系统的应用平台,是一个开源软件应用。Trac以简单的方式建立了一个软件项目管理的Web应用,以帮助开发人员更好地写出高质量的软件;Trac应用力求不影响现有团队的开发过程。

开发语言

  Trac是采用Python语言开发的,因此Trac的在运行的时候,需要有Python环境的支持,在本手册中Python采用2.5,Trac采用0.11Beta版本、Apache 2.2。   整个Trac是建立在WIKI和TICKET基础上的,WIKI在工具中充当书写文档、TICKET等的语法,它包含了一些类型HTML语法,但简化了的语法格式,在Guide文档中有语法的详细介绍。WIKI的具体含义将在“Trac中的WIKI”一节中进行详细介绍。TICKET是Trac中的另一个重要的组成部分,Trac使用Ticket传递信息,信息传递的单位个体也以Ticket作为标准。一个Ticket是具体需要做的事情的载体,也当然包含很多描述性信息。

模型

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

体系架构

Trac权限体系

  Trac的权限体系是比较完备的设计,默认情况下trac有anonymous和authenticated两种性质的用户组。Anonymous即匿名组,默认情况下只要能访问apache提供的trac实例服务,那么就属于这个组,这个组浏览trac实例界面时,将根据trac实例设定的权限方案提供可以浏览的内容。   在通常情况下,我们都给某个trac实例指定admin用户,即权限最大的用户。可以通过trac-admin 实例名 permission add 用户名 TRAC_ADMIN,命令在dos提示符下创建此实例的管理员帐户。需要注意的是权限是区分大小写的。设置成功后,此用户验证登录后,将能够看到Admin这个webadmin管理界面。可以通过此界面可视化的对trac实例进行管理。   Trac使用Subject和Action方法绑定来进行赋权。Subject即操作对象,Action即可以执行的动作。通过这种关系映射,从而实现Trac的权限管理。默认情况下Trac包含anonymous和authenticated两个Subject,通过前面的trac-admin后,将出现第三个subject,即用户名。   对于Subject具体的赋权操作,可通过下图完成。通过对Subject的分配Action即可完成赋权操作,通过Remove selected items可以取消某个Subject已经分配的权限。需要注意的是TRAC_ADMIN是最大权限。同时也可以对Subject进行分组管理。某个组拥有的权限,组员将会自动继承。

Trac中的WIKI

  在Trac中随处可见WIKI的影子。Trac的welcome页面,Ticket的编写等等,在整个Trac界面中均可以使用WIKI的语法书写文档。WIKI包含自己的一套语法,采用Genshi才渲染Web页面,或者说解释WIKI语法到HTML语法。

Trac中的Roadmap

  Roadmap中文翻译路线图。在Trac中使用Roadmap展现某个软件的开发过程。在Roadmap中,通过Milestone来分解软件开发的整个生命周期。多个Milestone就构成了一个Roadmap。当然一个软件交付后,在以后的维护过程中的变更、修改等都创建新的Milestone进行管理。

Trac中的Timeline

  Timeline中文可译作时间线,它是以时间进度为参考轴,按时间倒序的方式显示此trac实例中所以的操作日志。它监控的对象包括:   u WIKI事件:创建和更改动作;   u Ticket事件:创建、更改、完成等所有的Ticket的事件;   u Source chanege事件:资源库的代码发生一些动作事件;   u Milestone事件:Milestone结束事件。

Trac中的Ticket

  Ticket是trac中管理项目的核心元素,它在trac中被用作项目的任务、功能需求、错误报告、软件发布支持等,它采用WIKI作为其描述部分文字的语法.

Trac中的Report

  Report在trac中主要的用于显示ticket,可以根据上文中提到的ticket所有的属性进行过滤,同时也可以定义显示ticket哪些字段属性,如果觉得用户设定的查询条件及显示方式很有价值,那么你可以保存此查询Report,在下次直接使用。这样在菜单“VIEW TICKETS”中看到此报表。需要注意的是Report只查询ticket。

Trac中的Search

  Search主要是对ticket和WIKI进行查询的,查询的内容为ticket和wiki内容,其实查询的就是timeline菜单中列出的所有的内容。Trac使用全文检索的方式进行查询。具体就不在描述。Search输入框中的最小长度的设置在Trac.ini配置文件中进行配置,参考Help/Guide。

Trac中的Admin

  Trac中的admin都是一些重要的操作,但是同时也是很简单的操作,都是对trac整个环境的基本信息做一些设置。包含两个部分的设置,即general和ticket。

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,属于项目的哪个阶段,该在哪个时间之前完成。

软件项目管理工具-trac相关推荐

  1. 软件项目管理工具,JAVA WEB 框架技术(结合实际工作经验,全是干货)

    文章目录 前言 负载均衡:Nginx+Keepalived 统一网关:getway 统一配置中心:nacos 限流:Sentinel 设计工具:蓝湖 前端框架:vue 前端监控工具:Sentry JA ...

  2. trac mysql_Ubuntu 8.04下配置项目管理工具Trac

    1.首先在Ubuntu 8.04下安装Trac2.创建env目录sudo mkdir /var/lib/trac //创建trac目录sudo chmod -R 777 /var/lib/trac / ...

  3. 项目管理工具篇(一、Maven)

    一.什么是Maven(定义) Maven是一个项目管理工具,它包含了: 一个项目对象模型(POM:Project Object Model): 一组标准集合: 一个项目生命周期(Project Lif ...

  4. 浅谈软件开发工具CASE在软件项目开发中发挥的作用认识

    浅谈软件开发工具CASE在软件项目开发中发挥的作用认识 内容摘要:阐述了CASE工具作为 一种开发环境在软件项目开发中所起到的开发及管理作用.CASE工具实际上是把原先由手工完成的开发过程转变为以自动 ...

  5. 技术分享 | 软件项目管理与跨部门沟通协作

    项目管理是在项目活动中运用知识.技能.工具和方法,以便达到项目要求. 软件项目管理有其特定的对象.范围和活动,着重关注成本.进度.风险和质量的管理,还需要协调开发团队和客户的关系,协调内部各个团队之间 ...

  6. Maven项目管理工具的安装及配置(IDEA)

    一.介绍下载 Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具. 在项目开发中Maven可以对jar包和对工程之间的依赖关系进行管理,集成tomc ...

  7. 项目管理工具比较-redmine vs trac

    什么是trac 什么是trac代码 Trac是一个为软件开发项目需要而集成了Wiki和问题跟踪管理系统的应用平台,是一个开源软件应用.Trac以简单的方式建立了一个软件项目管理的Web应用,以帮助开发 ...

  8. 维护人员工具_软件项目管理:软件工具与开发环境相关知识介绍

    1.软件工具相关名词概念 软件工具:用来辅助软件开发.运行.维护.管理等过程中的活动软件. 软件开发环境:是指支持软件产品开发的软件系统,它由软件工具集和环境集成机制构成. 软件工具集:包括支持软件开 ...

  9. 项目管理工具project软件学习(六) - 设置里程碑、任务备注

    1. 里程碑设置三种方法: 1.1 工期设置为0,默认就是里程碑 1.2 双击任务名称,弹出框选择高级,下面标记为里程碑的选项勾选 1.3 添加里程碑的列 右击,插入列 然后选择里程碑,在里程碑列,选 ...

最新文章

  1. IOS Xcode提交代码到github上
  2. cve-2017-12617 tomcat远程代码执行漏洞复现测试
  3. 《构架之美》阅读笔记六
  4. 如何在Jupyter Notebook中使用在anaconda中创建的虚拟环境
  5. Beam概念学习系列之Pipeline Runners
  6. 实战_01_Spring SpringMVC 整合Mybaits
  7. 量子计算机怎么编程,量子计算机编程(一)——QPU编程
  8. c语言作业ce是什么错误代码,[求助]C语言实现ce搜索功能的两道题
  9. 09:向量点积计算【一维数组】
  10. 荒野行动系统推荐观战榜_荒野行动如何进行观战 荒野行动观战系统使用详解...
  11. python 声明不赋值_为什么Python赋值不返回值?
  12. mysql中添加中文存储和显示功能
  13. 微信小程序踩坑- tabBar.list[3].selectedIconPath 大小超过 40kb
  14. java 如何将word 转换为ftl_3种方法轻松将PDF转换为Word文档,办公必备
  15. VMware虚拟机部署k8s集群
  16. UE4蓝图版简易背包系统
  17. java操作Excel、PDF文件
  18. 【Windows 7中的凭据管理器的功能】
  19. python 写一个幸运大转盘抽奖脚本
  20. 如何将纯色背景的图片转换为背景透明的图片

热门文章

  1. 耳朵是如何听到声音的
  2. Elastic-Job:动态添加任务,支持动态分片
  3. 51Nod - 1414 冰雕问题
  4. Java+MySQL汽车租赁管理系统课程设计
  5. ENGLISH资料收集(10)-加油打气
  6. 解决:Uncaught ReferenceError: jQuery is not defined
  7. python:输入圆半径计算圆周长、圆面积、圆球表面积(高教社,《Python编程基础及应用》习题3-10)
  8. 中国通信产业大震动-电信重组已定案
  9. 广义交叉验证(GCV)
  10. [009]新疆大盘鸡