作业二:源程序管理软件与项目管理软件

本周的作业题目要求:

  上网调查一下目前流行的源程序版本管理软件和项目管理软件都有哪些?各有什么优缺点?

初识源程序版本管理软件与项目管理软件

  当看到这个题目时有点迷茫,在此之前并不知道什么是源程序版本管理软件,项目管理软件是什么。于是就进行了百度一番得到了如下的回答:源程序版本管理软件(版本控制软件)提供完备的版本管理功能,用于存储、追踪目录(文件夹)和文件的修改历史,是软件开发者的必备工具,是软件公司的基础设施。版本控制软件的最高目标,是支持软件公司的配置管理活动,追踪多个版本的开发和维护活动,及时发布软件。经过一段时间的消化才明白,这种软件会记录一个程序开发的各个版本以及其改动,帮助我们开发软件。项目管理是指管理项目计划、定义、监控、控制以及确认交付的过程,而项目管理软件顾名思义就是帮助我们进行项目管理的软件。

目前流行的源程序管理软件

SVN

  SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。 由于其设计目的是为了取代CVS,所以比较优缺点我选择了用CVS与SVN对比,对比如下:

  1、存储格式

  CVS是个基于RCS文件的版本控制系统。每个CVS文件都不过是普通的文件,加上一些额外信息。这些文件会简单的重复本地文件的树结构。因此,不必担心有什么数据损失,如果必要的话可以手工修改RCS文件。

  SVN是基于关系数据库的(BerkleyDB)或一系列二进制文件的(FS_FS)。一方面这解决了许多问题 (例如,并行读写共享文件)以及添加了许多新功能(例如运行时的事务特性。)。然而另一方面,数据存储由此变得不透明。

   2、速度

  CVS比较慢。 整体而言,由于架构实现的不同, SVN的确比CVS快很多。在网络上它只传输很少的信息并支持更多的离线模式的功能。但这也是有代价的。速度的代价就是巨大的存储(完全备份所有的工作文件)。

   3、标志&分支

  SVN采用标志和分支而抛弃了其他三件东西,实际上这意味着他们把这个概念替换为在档案库内部复制文件或目录以便保存日志。这样一来,无论标志创建还是分支创建都只是仓库内部的文件复制了。对分支而言:分支不过是在仓库内部的一个单独的目录而已了,不像早期还有些什么交错。对标志而言:已经不能对代码加标志了。在某种程度上说,SVN全文件编号补足了这个缺陷,SVN里整个仓库都有版本号,但不是针对单个文件。

  4、元数据

  CVS只允许存储文件。

  SVN允许一个文件有任意多的可命名属性,功能十分完全。

  5 文件类型

   CVS最初是为文本文件存储而设计的。因此其他文件类型(二进制,统一码)文件的支持几乎没有,如需要的话则要有其他信息,并且客户端服务器端都要调整。

  SVN会关心所有的文件类型,不需要你来手工操作。

  6回滚

  CVS允许任意的回滚,在任意一个已递交的版本上,尽管这要花些时间(所有的文件都要分别处理)。

  SVN不允许递交后回滚。建议把版本库里好的状态版本加到末尾,覆盖掉损坏的版本。而损坏的版本无论如何也是会存在数据库里的。(SVN的滚回操作实际上是merge操作)

   7事务

   CVS中的“零或一”事务原则根本没有实现。如果检入几个文件的话(加到服务器上),很有可能部分文件完成了,而另几个没有。作为一个潜规则,手工纠正这些并且对余下的文件 (而不是所有文件)一一重复检入。这样这些文件将在两阶段中被检入。SVN的确支持“零或一”事务原则,这是SVN的一大优势。


GitHub

  Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理。在推出后,Git在其它项目中也取得了很大成功,尤其是在Ruby社区中。目前,包括Rubinius、Merb和Bitcoin在内的很多知名项目都使用了Git。Git同样可以被诸如Capistrano和Vlad the Deployer这样的部署工具所使用。

  优点:  

  GitHub是一个非常万能的工具。对于任何大小的项目,他都是理想的工具;他也是伟大的web工作流工具。首先,他可以作为一个版本控制系统和协作工具,用它来发布工作。

  利用GitHub,你可以将项目存档,与其他人分享交流,并让其他开发者帮助你一起完成这个项目。优点在于,他支持多人共同完成一个项目,因此你们可以在同一页面对话交流。

  创建自己的项目,并备份,代码不需要保存在本地或者服务器,GitHub做得非常理想。

  GitHub有着最大的开源社区,如果应用得当我们可以找到我们所需要的一切,同时我们也可以更好的和更多的人进行交流沟通!

  学习Git也有很多好处。他被视为一个预先维护过程,你可以按自己的需要恢复、提交出现问题,或者您需要恢复任何形式的代码,可以避免很多麻烦。Git最好的特性之一是能够跟踪错误,这让使用Github变得更加简单。Bugs可以公开,你可以通过Github评论,提交错误。

  在GitHub页面,你可以直接开始,而不需要设置主机或者DNS。

  缺点:
  如果,你是Github使用新手,首先的挑战就是摆正心态——需要不断实践和时间。

  他可能不是捕捉创意过程和记录创意点子的最佳工具。对于这种特殊功能模拟可以选择LayerVault 或其他相似工具。之前,我们已经强调过Github非常适用代码跟踪,但是却不是最好的设计跟踪工具。将图片内容转化为代码,或者将设计用于产品设置,看起来依旧不是那样顺利。

  这是由设计者决定的,然而,一些人发现 GUI 有点混乱,选择CLI代替。一些开发人员学习主要使用Git命令,这样可以解释为什么他们不太喜欢GUI的原因了。稍加练习,命令的学习是不太困难的。然而,你喜欢天天写命令吗?特别是跟踪项目历史或解决冲突的时候。所以就有了另外一群喜欢GUI的人们。将提交、修改、移动文件等操作可视化,会有一个更好的体验。而这些,就如之前提到的,需要时间来适应。

  如果,你专门在GIthub上工作,版本控制存储库就值得你拥有,也需要你长期付出。


Coding

  Coding 是一个面向开发者的云端开发平台,目前提供代码托管,运行空间,质量控制,项目管理等功能。此外,还提供社会化协作功能,包含了社交元素,方便开发者进行技术讨论和协作。 比较于其他的源程序管理软件,Coding是一个后起之秀,加之自己并未使用该平台,所以得不出过多的比较,也在网上的论坛、社区进行过寻找,所以并不是太了解它的优缺点。但是在知乎中得知国内好多的程序猿还是用着Coding和OSchina的。


Team Foundation Server

  TFS是一种为 Microsoft 产品提供 源代码管理、 数据收集、 报告和项目跟踪,而为协作 软件开发 的项目。 可作为独立的软件,或 Visual Studio Team System (VSTS) 在服务器端后端平台。

  TFS是个很不错的源程序管理软件。

  TFS核心的,是对敏捷,MSF,CMMI等项目、过程管理、过程改善的支持。或者按微软的话,简称ALM,产品全生命周期管理。在这方面,真正了解,能应用起来的团队、公司的数量极少。多数真正用起来,也就是源代码管理这部分,这也仅仅是占TFS极小部分功能。对于小团队,绝大部分的公司,装个SVN还更实在。


GitHub注册流程

  由于GitHub拥有着最大的开源社区,我选择了GitHub来帮助学习软件工程。

步骤一:

  进入GitHub的官网:https://github.com/

步骤二:

  进入注册页面,输入你的账户名称、邮箱、以及密码。

 步骤三:

  选择使用的服务标准,不同的服务有不同的收费标准。

步骤四:

  完成注册!了解GitHub。

  到此,本次的作业的基本要求已经完成了。接下来是附加题,使用GitHub上传代码。
时间: 2024-10-13 03:41:50

作业二:源程序管理软件与项目管理软件的相关文章

第八篇——源程序版本管理软件及项目管理软件

作业四:上网调查一下目前流行的源程序版本管理软件和项目管理软件都有哪些, 各有什么优缺点? (提示:搜索一下Microsoft TFS.GitHub.Trac.Bugzilla.Rationale,Apple XCode)? 一.CVS 是一个C/S系统,是一个常用的代码版本控制软件.主要在开源软件管理中使用.与它相类似的代码版本控制软件有subversion.多个开发人员通过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的.CVS版本控制系统是一种GNU软件包,主要用于在多人开发

现在流行的源程序版本管理软件和项目管理软件

现在流行的源程序版本管理软件和项目管理软件有: 1.  Microsoft TFS 2.  Github 3.  SVN 4.  Coding 他们各自的优缺点是: Microsoft TFS: 优点:任务版上能将需求.项目进度一览无余,对于小团队而言,它集成了项目管理.版本控制.BUG          跟踪,能有效实现 SCRUM能与 VS 无缝接合 缺点:不适合新手,新手需要多加练习.个人成本上的消耗相对来说更大一些.整个系统是用 asp 实现的,用浏览器访问相当慢. Github 优点:

3. 上网调查一下目前流行的源程序版本管理软件和项目管理软件都有哪些, 各有什么优缺点?

3.  上网调查一下目前流行的源程序版本管理软件和项目管理软件都有哪些, 各有什么优缺点? (1)Microsoft TFS的优缺点: 优点:是对敏捷,msf,cmmi等项目.过程管理.过程改善的支持.任务版上能将需求.项目进度一览无余,对于小团队而言,比甘特图更有用. 缺点:能应用起来的团队.公司的数量极少,多数真正用起来,也就是源代码管理这部分,这也仅仅是占TFS极小部分功能. (2)GitHub的优缺点: 优点:GitHub提供Git存储库服务,基于web,允许你使用Git的源代码管理功能

调查:源程序版本管理软件和项目管理软件

源程序管理软和项目管理软件的优缺点 cvs 优点:修改软件时可能会不知不觉混进一些 bug,而且可能过了很久你才会察觉到它们的存在.有了 cvs,你可以很容易地恢复旧版本,并从中看出到底是哪个修改导致了这个 bug.有时这是很有用的,cvs 用一种聪明的办法把一个文件的所有版本保存在一个文件里,仅仅保存不同版本之间的差异.cvs 最初由 Dick Grune 在 1986 年 12 月以 shell 脚本的形式发布在 comp.sources.unix 的新闻组第 6 卷里:1989 年 4 月

作业二:调查一下目前流行的源程序版本管理软件和项目管理软件

Microsoft TFS TFS(Taobao FileSystem)是一个高可扩展.高可用.高性能.面向互联网服务的分布式文件系统,主要针对海量的非结构化数据,它构筑在普通的Linux机器集群上,可为外部提供高可靠和高并发的存储访问.TFS为淘宝提供海量小文件存储,通常文件大小不超过1M,满足了淘宝对小文件存储的需求,被广泛地应用在淘宝各项应用中.它采用了HA架构和平滑扩容,保证了整个文件系统的可用性和扩展性.同时扁平化的数据组织结构,可将文件名映射到文件的物理地址,简化了文件的访问流程,一

作业二 流行的源程序版本管理软件和项目管理软件各自的优点缺点

Microsoft TFS 优点: 在小的团队中,比甘特图更有用集成了项目管理.版本控制.BUG 跟踪,能有效实现 SCRUM能与 VS 无缝接合 缺点: 搭建.维护tfs相对比较复杂,硬件要求同时比较高. GitHub: 优点: 是一个万能的工具.对于任何大小的项目,他都是理想的工具.首 先,他可以作为一个版本控制系统和协作工具,用它来发布工作. 利用GitHub,你可以将项目存档,与其他人分享交流,并让其他开发者帮助你一起完成这个项目.优点在于 ,他支持多人共同完成一个项目,因此你们可以在同

#个人博客作业——目前流行的源程序版本管理软件和项目管理软件优缺点

TFS(Team Foundation Server )是一个工作流协作的引擎,它允许一个团队使用他们自定义的流程,并使用在项目历史中实时收集起来的一个集中的数据仓库. 优点:集成性.版本控制系统和工作项存储器在注册时集成在一起.当注册时,可以将其与一个或多个工作项关联.新概念:搁置集 GitHub:Ruby社区的程序员使用Git以后,找不到好的Git托管网站,于是就开发了Github出来. 优点:重视社区活动,在GitHub,用户可以十分轻易地找到海量的开源代码. Trac是一个为软件开发项目

#个人博客作业Week1——流行的源程序版本管理软件和项目管理软件

1.TFS(Team Foundation Server)(1)定义:TFS是一个高可扩展.高可用.高性能.面向互联网服务的分布式文件系统,主要针对海量的非结构化数据,          它构筑在普通的Linux机器集群上,可为外部提供高可靠和高并发的存储访问.(2)优点:它采用了HA架构和平滑扩容,保证了整个文件系统的可用性和扩展性.同时扁平化的数据组织结构,          可将文件名映射到文件的物理地址,简化了文件的访问流程,一定程度上为TFS提供了良好的读写性能. 2.Git/GitH

源程序管理软件与项目管理软件

由于个人英语水平不达标仅完成了注册阶段,准备暂时搁置,孙然注册了,但时并不了解这是什么,于是乎上网搜索了一下,发现github是一个很强大的”工具“(其实并不知道怎么定义这个...) 以下是一些资料(来自于360百科,懒的去查人可以在我这里看一下) Github是一个代码托管平台和开发者社区,开发者可以在Github上创建自己的开源项目并与其他开发者协作编码.创业公司可以用它来托管软件项目,开源项目可以免费托管,私有项目需付费. GitHub是一个分布式的版本控制系统,最初由Linus Torv