trac使用手册1.docx
- 文档编号:23207615
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:17
- 大小:1.05MB
trac使用手册1.docx
《trac使用手册1.docx》由会员分享,可在线阅读,更多相关《trac使用手册1.docx(17页珍藏版)》请在冰豆网上搜索。
trac使用手册1
Trac使用手册
作者:
强克明
1.前言
Trac是一个为软件开发项目需要而集成了Wiki和问题跟踪管理系统的应用平台,是一个开源软件应用。
Trac以简单的方式建立了一个软件项目管理的Web应用,以帮助开发人员更好地写出高质量的软件;Trac应用力求不影响现有团队的开发过程。
Trac是采用Python语言开发的,因此Trac的在运行的时候,需要有Python环境的支持,在本手册中Python采用2.5,Trac采用0.11Beta版本、Apache2.2。
整个Trac是建立在WIKI和TICKET基础上的,WIKI在工具中充当书写文档、TICKET等的语法,它包含了一些类型HTML语法,但简化了的语法格式,在Guide文档中有语法的详细介绍。
WIKI的具体含义将在“Trac中的WIKI”一节中进行详细介绍。
TICKET是Trac中的另一个重要的组成部分,Trac使用Ticket传递信息,信息传递的单位个体也以Ticket作为标准。
一个Ticket是具体需要做的事情的载体,也当然包含很多描述性信息。
Trac是以面向进度模型为项目管理模型的,很明显的特点就是它以里程碑(Milestone)方式进行项目管理的。
每个里程碑中的具体要做哪些事情,就使用Ticket来进行定义、跟踪等。
里程碑是什么呢?
里程碑是一些事件,我们设立这些事件是为了表明当这些事件发生的时候,我们的工作已经达到了某种程度。
为什么我不用时间点呢?
原因在于使用时间点往往让人误以为,里程碑是按照时间来设计的,而不是按照事件来设立的。
另外,Trac做一个SCM配置管理平台,意味着它有良好的扩充性。
通过WebAdmin界面中的Plugin功能,可以很方便的安装下载的插件,也可以通过此功能查看已经安装的插件,并可对其中的插件进行启用或停用操作。
2.Trac体系架构
Trac的运行体系:
Trac构成体系图:
3.Trac权限体系
Trac的权限体系也是比较完备的设计,默认情况下trac有anonymous和authenticated两种性质的用户组。
Anonymous即匿名组,默认情况下只要能访问apache提供的trac实例服务,那么就属于这个组,这个组浏览trac实例界面时,将根据trac实例设定的权限方案提供可以浏览的内容。
在通常情况下,我们都给某个trac实例指定admin用户,即权限最大的用户。
可以通过trac-admin实例名permissionadd用户名TRAC_ADMIN,命令在dos提示符下创建此实例的管理员帐户。
需要注意的是权限是区分大小写的。
设置成功后,此用户验证登录后,将能够看到Admin这个webadmin管理界面。
可以通过此界面可视化的对trac实例进行管理。
如下图:
Trac使用Subject和Action方法绑定来进行赋权。
Subject即操作对象,Action即可以执行的动作。
通过这种关系映射,从而实现Trac的权限管理。
默认情况下Trac包含anonymous和authenticated两个Subject,通过前面的trac-admin后,将出现第三个subject,即用户名。
如下图:
对于Subject具体的赋权操作,可通过下图完成。
通过对Subject的分配Action即可完成赋权操作,通过Removeselecteditems可以取消某个Subject已经分配的权限。
需要注意的是TRAC_ADMIN是最大权限。
同时也可以对Subject进行分组管理。
某个组拥有的权限,组员将会自动继承。
Action的含义,请参考Help/Guide中的Permissions一节。
4.Trac中的WIKI
Wiki是一个协同写作平台或者称之为开放编辑系统,即它允许所有人修改它的网页。
Wiki使用了简化的语法,替代复杂的HTML,加上WEB界面的编辑工具,降低内容维护的门槛。
Wiki的特点是方便和开放。
Wiki最适合做百科全书、知识库、整理某一个领域的知识等知识型站点,几个分在不同地区的人利用Wiki协同工作共同写一本书等等。
Wiki技术已经被较好的用在百科全书、手册/FAQ编写、专题知识库方面。
在Trac中随处可见WIKI的影子。
Trac的welcome页面,Ticket的编写等等,在整个Trac界面中均可以使用WIKI的语法书写文档。
WIKI包含自己的一套语法,采用Genshi才渲染Web页面,或者说解释WIKI语法到HTML语法。
在Trac中使用WIKI可以很方便的在线编写文档,如点击WIKI菜单,如果你有WIKI_MODIFY权限,那么你就可以看到如下画面:
红色方框部分,就显示了你可以直接在线编写这个页面,点击Editthispage出现下图:
图片中可以看到页面的源代码就在大的可编辑的输入框中展示出来。
里面包含了一些特殊的语法,如=XXX==[[BR]]*[http:
//trac.edgewall.org/TheTracproject]等等,这些语法通过Genshi的解释,将变成浏览器认识的HTML代码。
WIKI的具体语法请参考Help/Guide里面的TheWiki一节。
5.Trac中的Roadmap
Roadmap中文翻译路线图。
在Trac中使用Roadmap展现某个软件的开发过程。
在Roadmap中,通过Milestone来分解软件开发的整个生命周期。
多个Milestone就构成了一个Roadmap。
当然一个软件交付后,在以后的维护过程中的变更、修改等都创建新的Milestone进行管理。
界面如下:
图中的MileStone通过Admin菜单中的Milestones模块进行管理的,如下图:
一个Milestone的详细说明如下:
上图中,显示一个了一个milestone的概要,包括
名称:
完成IM工具开发
结束时间:
2008-3-1
Duein2days:
表示在两天后应该结束的,如果结束日期超过了2008-3-1将显示lateXdays。
Closedtickets:
表示这个milestone已经完成了几个ticket。
Activetickets:
表示当前还有几个ticket是活动的。
Totaltickets:
表示这个milestone总共有几个ticket,包含活动的和关闭的。
点击上图中的milestone:
完成IM工具的开发,出现下图:
上图中的红色方框中的部分的功能为可以通过ticket的一些属性来分别列出此milestone中所有的ticket的在某种属性查看轴下的各种状态。
点击Activetickets:
3将进入如下界面:
上图中显示了此Milestone下3个Ticket。
可以通过Summary清楚的看到每个ticket具体的内容。
点击#1的summary后,如下图:
这部分具体的说明,请参考“Trac中的Ticket”。
6.Trac中的Timeline
Timeline中文可译作时间线,它是以时间进度为参考轴,按时间倒序的方式显示此trac实例中所以的操作日志。
它监控的对象包括:
◆WIKI事件:
创建和更改动作;
◆Ticket事件:
创建、更改、完成等所有的Ticket的事件;
◆Sourcechanege事件:
资源库的代码发生一些动作事件;
◆Milestone事件:
Milestone结束事件。
截图如下:
上图中用黄色的小图标标出的说明是Ticket类型,用灰色的小图标标出的是WIKI文档类型。
图中显示了yesterday和today,所有用户在本trac实例中的操作都可以在此列出。
7.Trac中的Ticket
Ticket是trac中管理项目的核心元素,它在trac中被用作项目的任务、功能需求、错误报告、软件发布支持等,它采用WIKI作为其描述部分文字的语法。
Ticket主要字段包括:
∙Reporter:
ticket的作者
∙Type:
类型(缺陷、任务、改进需求等)
∙Component:
此ticket所属的项目中的子组件
∙Version–ticket所属的此项目的版本
∙Keywords–ticket的关键字有利于查询和报表生成
∙Priority–此ticket的优先级
∙Milestone–所属于的milestone
∙Assignedto/Owner–分配给谁或者谁有完成这个ticket的责任
∙Cc–抄送给别人,用逗号分割的一个邮件列表
∙Resolution–关闭此ticket时需要选择原因,包括修复、无效、习惯修复、重复、worksforme
∙Status–ticket的状态,包括新建、被分配、关闭、重新打开
∙Summary–ticket的概要
∙Description–ticket的详细描述,此描述应该简明、扼要,采用WIKI语法书写
Ticket的运作状态切换图如下:
状态图很明显的展示了一个ticket在trac实例中的运行生命周期。
Ticket的流转是采用TicketWorkflow进行驱动的。
当成员拿到一个ticket后,可以做如下操作:
◆Leaveasnew不做改变,指对ticket的动作,用于只修改ticket属性以及replyticket的时候使用。
注意,此项的内容会根据ticket具体的状态会发生改变。
◆Resolveas关闭此ticket时需要选择原因,包括修复、无效、习惯修复、重复、我的工作
◆Reassignto重新分配给
◆Accept自己接收,并处理
自己接收后,在点击Viewtickets,我的查询,可以看到如下界面:
其他的状态的流转,请参考ticket的运作状态图。
也可以修改一些属性,如下图:
以上所有的操作都将与该用户拥有的权限有关。
具体的描述请参考“Trac如何管理一个软件项目的生命周期”
8.Trac中的Report
Report在trac中主要的用于显示ticket,可以根据上文中提到的ticket所有的属性进行过滤,同时也可以定义显示ticket哪些字段属性,如果觉得用户设定的查询条件及显示方式很有价值,那么你可以保存此查询Report,在下次直接使用。
这样在菜单“VIEWTICKETS”中看到此报表。
需要注意的是Report只查询ticket。
如下图:
保存后,出现下图所示:
9.Trac中的Search
Search主要是对ticket和WIKI进行查询的,查询的内容为ticket和wiki内容,其实查询的就是timeline菜单中列出的所有的内容。
Trac使用全文检索的方式进行查询。
具体就不在描述。
Search输入框中的最小长度的设置在Trac.ini配置文件中进行配置,参考Help/Guide。
10.Trac中的Admin
Trac中的admin都是一些重要的操作,但是同时也是很简单的操作,都是对trac整个环境的基本信息做一些设置。
包含两个部分的设置,即general和ticket。
如下图:
由于操作比较简单,再次就不在详细叙述。
在这里需要注意的是能看到此模块的只有拥有TRAC_ADMIN的用户才能浏览。
另外这里面的权限分配模块比较重要,操作简单,但是需要理解每个Action的含义。
11.Trac如何管理一个软件项目生命周期
上面的内容比较详细的说明了整个trac的环境以及用法,那么如何才能使用它来管理一个真正的项目呢?
在回答这个问题之前,我们要有这几个概念WIKI、Ticket、Milestone、可以做的Action即处理动作,这几个概念是否已经清晰的认识了,如果没有,请重新阅读前面相关的章节,或者阅读trac的Help/Guide。
正如前面所说的,Trac采用面向进度的开发模型,因此产生了Milestone的概念,那么Milestone虽然建立了阶段性的里程碑,但是里程碑具体怎么才能到达呢?
这就需要采用ticket方式进行处理。
当定义的所以的ticket全部closed时,就说明到达了里程碑,但是达到了也并不表示所有的ticket都是fixed,也许是其他的原因关闭的。
还有虽然到达了里程碑,但是未必是按时完成的,但是总的阶段性结束点是很明确的。
因此用trac管理一个项目,就要做好以下几方面的工作:
◆划分里程碑
◆划分项目components
◆划分ticket
◆熟练掌握Ticket的运作机制
◆熟练掌握ChangeHistory的查看和使用
◆熟练掌握Milestone的查看和使用
前面三项属于项目架构范畴,后面三项属于操作范畴。
对于前面三项各自的划分原则是:
✓划分里程碑原则
里程碑是一些事件,我们设立这些事件是为了表明当这些事件发生的时候,我们的工作已经达到了某种程度。
而我们不能够仅仅使用时间点来划分里程碑。
至于选择什么事件作为里程碑,其实就是选择项目利益相关人员最关心的事件作为里程碑。
如果为项目计划时间表开一个会议,肯定有很多人提出他们关心的事件或者时间点,比如销售人员会问开发人员什么时候完成alpha测试,好让他们去找客户做beta测试,老板在听完大致计划之后会问什么时候拿出第一个运行版本,开发人员会问什么时候能够签约以便可以开始正式的工作。
这些事件或者时间点就是最好的里程碑,里程碑之所以能够标示项目进度,是因为它是项目相关人员关心的事件,里程碑标示进度的含义也是事件的含义。
在实际项目工作中,里程碑是否已经达到,也是非常明确的事情。
事件是否发生应该是很明确的,如果不明确说明选择的里程碑不是一个事件,比如“评审通过”、客户在合同上签字、需求分析文档被老板批准,测试中bug收敛,这些事情是否发生都是很清晰的,是一个明确的时间点。
✓划分Component原则
一般情况下按功能模块来划分,比如协同办公系统可以划分为公文处理、个人办公、电子邮件等等。
组件和里程碑之间的关系是,一个组件可以属于多个里程碑,当然一个里程碑里面也可以包含多个组件,它们之间是多对多的关系,但是在trac里面是以里程碑为导向的,所以我们应该站在里程碑这条轴上去管理软件项目。
具体的Component如何划分,这就需要跟实际的情况决定了。
✓划分Ticket原则
Ticket系统简介Ticket系统是Trac中关于项目管理的一个重要单元,它是一个简单有效的版本差异和Bug跟踪系统。
在项目开发过程中出现的任何问题,都可以用一个Ticket来标识,例如Bug,项目计划,功能改进,项目建议,Todo等等,都可以写成一个Ticket,开发人员通过访问查看Ticket系统,可以及时的了解到项目进度,有待解决的地方等等
每个Ticket都可以被修改和说明(Description属性),并说明这个Ticket是Bug还是项目建议还是其他什么(Type属性),指派由哪个人对这个Ticket负责(Assignedto/Owner属性),设定Ticket的优先级(Priority属性),设定Ticket的最终完成时间(Milestone属性),设定这个Ticket属于哪个模块(Component属性)。
一个Milestone包含一个名称和时间,其中时间即为项目中这个阶段的预计完结时间,我们通过设定这个属性,来表明所要创建的Ticket属于哪个Milestone,属于项目的哪个阶段,该在哪个时间之前完成。
Ticket的更为仔细的状态图如下:
具体的ticket如何使用请参与实际的操作使用,在此就无法详细说明。
12.后记
仓促编写,如有不妥之处,请指正,感谢!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- trac 使用手册
![提示](https://static.bdocx.com/images/bang_tan.gif)