当前课程知识点:软件理论与工程 >  第6章 项目管理 >  6.3 软件配置管理 >  6.3 软件配置管理

返回《软件理论与工程》慕课在线视频课程列表

6.3 软件配置管理在线视频

下一节:6.4 项目版本控制及调试

返回《软件理论与工程》慕课在线视频列表

6.3 软件配置管理课程教案、知识点、字幕

大家好

我们现在继续开始

软件理论与工程第六章第三节

软件配置管理

我是主讲人高广宇

我们首先 想一想

为什么要进行软件配置管理

软件配置管理到底是什么

我们主要先回答这两个问题

但实际上为什么会提出软件配置管理

它其实最主要的一个问题的来源在于

随着我们现在整个科技和技术的发展

复杂的软件系统及其开发过程

它开放的系统越来越大

功能越来越复杂

它也涉及到了越来越多的软件开发人员

当然 也就涉及到多种文档对象和类型

包括各种各样的数据模型

甚至还包括

各种不同的版本

最简单来说

比如说我们开发一个软件

我们通常具有pc版的

安卓版的 iphone版的 多种

甚至还会有各种的

面向特定应用或环境的版本

还有多种平台的 linux的 windows的等等

多个开发地点

在这种情况下

同样的一个软件

我怎么样能够保证它

既是围绕的同样的一堆需求

同样一个功能

但是 又是面向不同的环境

不同的需求来进行开发

实际上 我们就需要通过软件配置管理

来明确地描述

如何在不同的环境

不同的上下文条件下

去做软件的一个开发

所以 所有方面都需要考虑

并且我们需要去进行正确的管理

这就是软件配置管理

以往的软件开发过程中

它也通常存在各种各样的问题

当然也就前面提到的这些情况下

一些比较具体的问题

比如说 版本难以控制

资源变化频繁导致失控

配置审核问题

文档和程序严重脱钩

测试工作不规范等等

因为软件复杂了之后

涉及的环节非常多

涉及到的人也非常多

我们需要有一套规范来明确

各自的任务和各自的需要符合的规则

这其实就是软件配置管理所关注的内容

当然前面这些问题导致的后果会非常多

我就不一一细讲了

大家可以直接课后去看一下

传统的做法

通常就是说

我们通过建立各种各样的文件

通过手工去保持各种各样的版本

它面临的一个问题

比如说站在程序员的角度上来说

我要更改一个文件

但我不知道哪个是最新的

我最后修改了哪几行以及原因

对我帮助很大

但是我又不知道 我也没有清楚的去记录

比如说大家一起共同开发的时候

改得乱七八糟

并没有协调一致

并没有去讨论

所以导致 做很多无用功

甚至 最后本来一个很好的程序

改的乱七八糟的

然后就没法去直接运行

这都是各种各样的问题

从程序员的角度

从项目经理的角度上

调试的过程中

项目成员也经常会因为一些问题

大家各自不想承担责任

出现"扯皮"

所以也搞不清楚到底是谁造成的责任

还有包括项目版本太多等等

包括交付给用户使用的产品又"缺斤少两"

到底是在需求阶段

用户没有说清楚

还是说我们在整个过程中漏掉了

或者在哪个环节

这些都是问题

所以 我们需要去开展软件配置的管理

实施软件配置管理

它有什么好处

第一个

它能够加强开发过程的一个控制

加强产品质量的可控性

还能够

节约费用

因为能够缩短开发周期

提高效率

也有利于知识库的建立

代码对象库 业务及经验库

有时候能重用 复用

还能够规划一个管理

前面讲了这么多

软件配置管理 能解决的问题

我们形式化的定义一下

到底什么是软件配置管理

我们引用一下《Code Complete》

书中的一段话来强调一下

配置管理

它是能够系统的处理变更

从而使得软件系统可以随时保持其完整性

所以 配置管理

有的时候又可称为"变更控制"

可以用来评估提出的变更请求

跟踪变更 并保存系统在不同时间的状态

当然还有另外一个定义

比较简单

简单来说就是说

对软件开发组所建立的软件的修改

进行标识 组织和控制的一种艺术

其目标就是减少错误

提高生产力

比较实际

还有像[IEEE]的定义

咱们这里就不一一去讲了

大家可以课后再自己去体会

反正大概我们理解一下

软件配置管理的作用

就是我们要在质量体系的诸多支持活动中

去有机地把其它支持活动组织起来

形成一个整体 相互促进

保证质量体系的实施

它的目的

是建立和维护在整个软件生存周期中

软件项目产品的一个完整性

它主要的内容又包括

及时地确定软件的配置

系统地控制软件的配置的变更

并保证整个软件生命周期

软件配置的完整性和可追溯性

所以 我们总结一下软件配置管理

贯穿于整个软件生命周期

为软件研发 提供了一套管理办法

和活动原则

而且 软件配置管理

无论是对于软件企业管理人员

还是研发人员都非常的重要

软件配置管理

通常也可以凝练为三个方面的内容

版本控制

变更控制和过程支持

我们的下节内容里

也会把版本控制进一步的细化去讲解

我们今天这一节 就讲到这里

好 谢谢大家

软件理论与工程课程列表:

课程概述

-课程概述

第1章 软件与软件工程

-1.1 软件的本质

--1.1 软件的本质

-1.2 软件工程

--1.2 软件工程

-1.3 软件过程结构

--1.3 软件过程结构

-1.4 过程模型

--1.4 过程模型

-1.5 敏捷开发方法

--1.5 敏捷开发方法

-第1章 习题

--第1章 习题

第2章 需求分析

-2.1 需求工程过程

--2.1 需求工程过程

-2.2 需求获取

--2.2 需求获取

-2.3 需求分析

--2.3 需求分析

-2.4 过程建模

--2.4 过程建模

-2.5 面向对象建模

--2.5 面向对象建模

-第2章 习题

--第2章 习题

第3章 软件设计

-3.1 设计概述

--3.1 设计概述

-3.2 设计的概念

--3.2 设计的概念

-3.3 设计模型元素

--3.3 设计模型元素

-3.4 体系结构概述

--3.4 体系结构概述

-3.5 体系结构风格

--3.5 体系结构风格

-3.6 构件级设计

--3.6 构件级设计

-3.7 UI设计

--3.7 UI设计

-3.8 基于模式的设计

--3.8 基于模式的设计

-第3章 习题

--第3章 习题

第4章 UML方法

-4.1 UML概述

--4.1 UML概述

-4.2 UML 及UML中的事物

--4.2 UML 及UML中的事物

-4.3 UML关系和图

--4.3 UML关系和图

-4.4 UML 图细节(上)

--4.4 UML 图细节(上)

-4.4 UML 图细节(下)

--4.4 UML 图细节(下)

-第4章 习题

--第4章 习题

第5章 软件测试

-5.1 软件测试策略

--5.1 软件测试策略(上)

--5.1 软件测试策略(下)

-5.2 测试传统的应用系统

--5.2 测试传统的应用系统

-5.3 测试面向对象的应用系统

--5.3 测试面向对象的应用系统

-5.4 测试web应用系统

--5.4 测试web应用系统

-5.5 测试移动应用系统

--5.5 测试移动应用系统

-第5章 习题

--第5章 习题

第6章 项目管理

-6.1 软件项目估算

--6.1 软件项目估算

-6.2 软件过程管理

--6.2 软件过程管理

-6.3 软件配置管理

--6.3 软件配置管理

-6.4 项目版本控制及调试

--6.4 项目版本控制及调试

-第6章 习题

--第6章 习题

6.3 软件配置管理笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。