项目管理工具ppt课件
项目管理工具简介 项目管理是大型程序设计中必不可少的一部分。
对于经常修改程序版本的程序员而言,项目管理 的价值已远远超出软件开发的领域。在项目开发 中,如果当前出现了失误,项目管理可以使用户 代码自动恢复到一个已知的、工作正常的版本, 从而避免重大的风险和损失,此外,在已经发布 的老程序版本中如果发现了bug,用户也可以轻 松的检出特定的版本,以确认和修订,并生成该 bug的修补程序。如果没有版本控制和项目管理, 用户在开发时必须慎之又慎,缓慢推进,这样会 严重影响开发效率。 Linux下常用的管理工具主要包括以下几种: Redmine、DotProject、Subversion以及CVS 几种
Redmine Redmine也是一个基于WEB的项目管理软件,是项 目管理系统的后起之秀。它是使用Ruby语言进行 开发的。除了集成了DotProject许多相似的功能外, Redmine还有不少自己独特的功能,例如,提供 Wiki、新闻台、时间跟踪、feed聚合、导出pdf、 集成Bug跟踪系统等。
Subversion(SVN)
同其它许多工具一样,随着科技的发展,CVS 逐渐显露出衰老和缺陷的迹象。SVN是以CVS 继任者的面目出现的新型版本控制系统,它的 许多的特征都与CVS基本相似,但是又充分弥 补了CVS的缺陷。所有的这些努力的结果使得 从CVS可以非常容易的迁移到Subversion,而 不需要做重大的改革。
版本库文件
读 用户1
写 用户2
读 用户3
锁定-修改-解锁 模式
在修改之前,“用户1”要“锁定”住这个文件, 如果“用户1”锁住这个文件,“用户2”将不能做 任何修改,如果“用户2”想请求得到一个锁,版 本库会拒绝这个请求。在“用户1”结束编辑并且 放开这个锁之前,“用户2”只可以阅读文件。 “用户1”解锁后,“用户2”才能得到自己的轮换 位置,锁定并且开始编辑这个文件。“锁定-修改 -解锁”模型经常会成为用户的障碍,例如,有时 候“用户1”锁住文件后忘了此事,而“用户2”一 直等待解锁来编辑这些文件,于是“用户2”就在 这里僵住了,这种情况会导致不必要的耽搁和时
CVS被应用于各种流行的开放源码工程中,并且使用它可 以保持了对一系列文件所作的历史记录,对于一个开发者 来说,那就意味着在进行程序开发期间,能够跟踪所有改 动的痕迹。CVS的主要特点如下:
1)代码集中配置。
2)调整代码。
3)使用服务器负载小。
4)日志功能。
5)与Eclipse的有机结合
在自由软件世界里,并行版本系统(CVS)一直是版本控 制中比较理想的选择。CVS本身不加限制的处事风格以及 对网络化操作的支持,非常符合开源世界的协作精神。事 实证明,这是个正确的选择。
DotProject DotProject可以说是最早的开源项目管理软件系统, 它是在1996年由开源组织人员开发的一个项目程 序。它基于WEB程序,客户端不需要安装任何额 外的软件即可使用(当前必须要有IE、Firefox等浏 览器),它强大、小巧并且被翻译为众多国家的语 言,是一款功能简单的项目管理程序。
Concurrent Version System(CVS) CVS(并行版本系统)是一个基于GNU的客户端/服务器
(C/S)系统,主要用于在团队开发环境下源码的维护。 CVS用“Copy-Modify-Merge”支持对文件系统的访问和修 改,并且明确将源文件的存储和用户工作空间独立开来,使 其并行操作。CVS基于客户端/服务器的行为使其可容纳多 个用户,构成网络也很方便,这一特性使得CVS成为大型公 司进行程序开发和数据处理(特别是程序源代码处理)时的 首选。 CVS的工作原理是:在项目总服务器上建立一个源代码库, 并且在库里放置许多该项目的源程序。由总服务器源代码库 管理员统一管理这些源程序。每个用户在使用源代码库之前, 首先要把源代码库里需要的项目文件下载到本地,然后在本 地任意修改,最后用CVS命令进行提交,由CVS源代码库统 一管理修改。这样,就好像只有一个人在修改文件一样,既 避免了冲突,又可以做到跟踪文件变化等,并且在修改新版 本前,备份旧版本项目,如果新版本问题,可以再次使用旧 版本进行程序二次开发。
间浪费。
拷贝-修改-合并 模式
首先为每一个客户建立个人拷贝版的版本库文件, 并在用户端建立本地映射,用户可以并行工作, 修改各自的工作拷贝,最终将各个拷贝合并在一 起形成最终的版本,这种模式最终要靠人工去确 认正误 。
版本库文件
版本库文件
读取复制件
读取复制件
本地修改复制件
本地修改复制件
用户 1
第八章 项目管理工具
本章内容及目标:
了解Linux系统下几种常见的项目管理工具 了解Subversion工具的基本特征,以及与
CVS的区别 了解Subversion的组织结构以及标签、分支、
合并的概念
掌握SVN从项目建立到项目提交的基本操作, 以及其维护操作
掌握SVN如何使用标签、分支和合并的方法
(1) 版本库文件
用户2
提交修改件
提交修改件
用户 1
(2) 生成新版本
用户2
用户 1
(3)
用户2
用户 1
(4)
用户2
svn工作术语介绍 工作拷贝 签出 提交 更新
标签、分支和合并 主干和分支
签入
主干
用户1
签入
提交
主干
主干
用户2提交时间主干分支1分支3
主干 分支2
时间
标签
SVN版本控制系统允许用户在某一时刻为一组文 件或者一些目录分配一个名字。“标签”是一个 项目某一时间的“快照”,在Subversion里这个 概念无处不在,每一次提交的修订版本都是一个 精确的快照。
相对于CVS而言,它支持如下特征: 1)统一的版本号 2)真实的版本历史 3)原子提交 4)空间节约 5)可选的网络层 6)优化数据库 7)高效的分支和标签操作 8)可修改性 9)跨平台
svn的基本概念
Subversion是一种集中分享信息的系统,它的核 心是版本库,用户通过它可以存储所有的数据。 版本库按照文件树形式储存文件和目录数据。与 该版本库相连接并赋予权限的客户端可以连接到 版本库,读写这些文件。通过写,别人可以看到 这些信息,通过读数据,可以看到别人的修改。