课程简介
本课程帮助学员了解软件配置管理工作的职责,理解软件配置管理的基本工作原理,掌握其基本工作方法。这将使学员有能力结合所在团队的实际情况,进行日常配置管理工作,制定具体项目的配置管理解决方案,并有能力发现和实施一些配置管理方面的改进。在教学方法上,结合实际工具、基于具体案例的课堂互动是本课程的特色。
课程对象
本课程的目标授课对象是接触配置管理不久的相关工作人员,包括配置管理员、开发人员、相关团队管理者等,是一门基础课。
课程大纲
内容 | 简要介绍 |
软件配置管理概述 | 这一部分讲解软件配置管理的基本概念:用什么样的方法,解决什么样的问题。既给出CMMI、IEEE中的标准定义,也从若干具体场景出发,深入浅出讲解。最后讲解配置管理员和配置管理团队的使命和发展。 |
版本控制 | 这一部分结合Git,讲解版本控制方面的基础内容。利用版本库保存历史信息;代码传递从网状模式到星形模式;版本覆盖的预防;用变更集来组织工作;分布式版本控制方法。这一部分也将对版本合并的原理进行探讨。 |
代码评审与 特性分支管理 | 这一部分结合Gerrit和Merge Request / Pull Request,讲解代码评审的概念、意义和方法。此外,代码评审工具经常扩展为feature/topic分支的质量管理和流程控制工具。因此这部分也将介绍相关内容。 |
集成、测试与交付 | 这一部分讲解系统集成和交付的基本过程。在介绍基线的概念、基本的开发-集成-测试-交付流程后,重点讨论不同阶段对质量的要求,以及如何达到。同时也将讲解构建管理、版本命名等方面的内容。 |
持续集成与持续交付 | 这一部分结合Jenkins,对持续集成、持续交付这一重要潮流进行单独介绍。详细讲解其原理和工具,并讲解在不同开发场景下如何克服困难,实现持续集成和持续交付。 |
分支的原理和应用 | 这一部分首先讲解分支的基本原理,在这之后将讲解分支的若干典型应用。适当使用分支,能显著提高并行工作的能力、提高效率;能有效重用已有的开发成果、避免重复开发。但分支也有可能因不当使用、过度使用而适得其反。何时适用什么样的分支模式、分支之外的替代解决方法将被讨论。 |
软件复用的通用模式 | 这一部分讲解当企业研发不止一个产品(版本)时的软件配置管理方法。正确地使用适当的分支,并不是全部方法。还可以通过适当的设置,通过组件间的组合,等等。应用适当的方法,可以有效地节约成本、缩短研发周期、提高生产效率,总而言之,提高企业的竞争力。 |
其他内容概览
| 这一部分是对软件配置管理领域的更多话题的概览。包括组织级配置管理、缺陷跟踪、文档管理、构建管理、安装包管理、发布管理、部署管理、对多地点开发和跨组织合作的不同方式的支持等等。这部分是选讲内容,主要是针对学员给出的具体需求进行讲解,对提出的具体问题给予解答。 |