软件工程第15讲项目管理2.ppt

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:400-050-0739(电话支持时间:9:00-19:00)。
协同开发-源代码管理 协同开发-背景 开发软件规模的成倍增大; 开发人员专业领域的差异; 项目参与人员广地域的分布; 协同开发-开发规模 开发规模的一般单位是“人月”,”人年”等; 一般应用系统的开发规模都在数百人月,大型系统的开发规模在数千人月以上; 协同开发-专业背景 由于软件系统的应用领域越来越广泛,专业背景知识差异相当大,需要众多人月协作; 由于软件系统的构建越来越复杂,不同体系结构的系统在各个领域同样需要不同背景的技术人员协作; 协同开发-地域分布 由于成本以及商务需要,许多系统拆解为许多不同的部分,分布到广地域的不同团队去完成; 外包行业的兴起,大大加速了开发协作分布到全球; 协同开发的主要要素 如何统一众多的参与人员对系统的细节达成一致,这个决定了系统的成败; 如何协调不同的资源和时间进度; 如何跨越语言,文化和作息时间的障碍; 如何使不同参与人的质量保持一致; 如何有效的进行跨地域,跨团队的沟通; 协同开发-工具技术 成功的协同开发需要项目管理方法,开发工具,文档控制工具,源代码管理工具以及测试方法等多方面的支持和保证 协同开发-源代码管理 VSS,CVS,Clear Case等是主流的几个源代码控制和管理工具 VSS:微软 CVS:开源项目 Clear Case:Rose(IBM) 源代码管理基本概念(1) 不同的工具有不同的特点,下面讲述一些基本概念: 基线(Baseline):'''基线'''是配置演化过程中的状态标识,是配置在某一时刻的快照,反映了它所描述的系统或者其组成部分在某一时刻的状态;可以将配置的基线理解为配置的版本,是配置演化的里程碑,即软件生命周期内的阶段里程碑。 源代码管理基本概念(2) 签出(Check out)是指从配置管理系统的文件库中取出一个副本作为自己的工作拷贝,并在这个工作拷贝上进行自己的工作。 签入(Check in)是指将自己的工作拷贝提交到配置管理系统的文件库中,使得他人可以从文件库中获取你的最新修改版本。 源代码管理基本概念(3) VSS使用的是“Lock-Modify-Unlock”的方式,即一个文件在同一时刻只能由一个人在进行修改;这种方式的好处就是可以防止由于多人同时修改一个文件导致互相覆盖,某些改变丢失;但是对于协同工作不利; 源代码管理基本概念(4) 在绝大多数开源软件的开发中,对源代码的控制管理采取的是CVS(新的VSS2005中也提供了Merge功能),CVS的管理方式是“Copy-Modify-Merge”,在这种方式下,对于同一个源文件可以多人同时进行修改,修改后在提交时如果发现已经有他人的修改提交到了版本库中,系统将自动对多人所进行的修改进行合并;如果有两个人同时修改了同一个源文件的同一行,这时系统会提示发生冲突(Conflict),需要对该行进行修改的人进行交流,确定应该如何进行修改。 源代码管理基本概念(5) 版本标签(Tag) 版本标签可以理解为对项目中所有文件在某个时刻的一个“快照”,和文件版本不同,项目的版本不是在每一次提交文件的时候产生的,项目版本需要我们手工创建。 源代码管理基本概念(6) Share/Branch/Merge 分支是一种特殊的版本形式,我们可以对文件或项目分出一个并行开发的版本,对这个并行开发的版本进行修改,然后将分支版本的修改合并到主干上来。 VSS2005基本使用 Visual SourceSafe Administrator 对VSS进行管理 用户增减,读写授权 新建VSS库 备份/恢复 Visual SourceSafe Administrator VSS2005客户端 使用库——项目——文件的层次模型来管理所有的文件 设定工作目录 主要功能 Get Last Version Check Out Check In Undo Check Out Show History Show Difference 高级功能 Share(可以共享工程,或者单个文件) 工程:一般用于支线版本(比如特定BugFix的版本) 文件:一般用户文件共享(代码复用) Branch Merge Pin/Unpin 沟通 人员与组织因素(1) 计算机软件产品的开发是信息技术的一个重要方面,也是构成信息产业的主要部分之一。随着软件产品的规模不断扩大,复杂程度不断提高,软件开发出现了大量问题,被称为“软件危机”(software?crisis)。从组织心理学的角度来看,软件开发是一种典型的聚合型作业——成员虽然形式上独立完成分配的作业,但最后聚合为完整的作业。最终作业对各部分作业的技术标准和完成时限有要求,形成成员活动的相互制约。因此,软件开发的组织心理因素显得尤为重要。Ew

您可能关注的文档

文档评论(0)

135****6010
该用户很懒,什么也没介绍

相关文档

相关课程推荐