草庐IT

软件项目管理 9.2.软件项目配置管理过程

软件项目管理 2023-03-28 原文

【公众号@ “项目管理研究所” 将会第一时间更新文章并分享《项目管理模板》】
归档于软件项目管理初级学习路线
第九章 软件项目配置管理计划
我们一直都希望!!!-->《初级学习路线合集 》


前言

大家好,这节我们学习软件项目管理----软件项目配置管理计划--软件项目配置管理过程。

主要学习:

  1. 配置项标识与跟踪过程
  2. 配置管理环境建立过程
  3. 基线变更管理过程
  4. 配置管理审计过程
  5. 配置状态统计过程
  6. 配置管理计划过程

前五个过程描述的是配置管理的主要活动,最后一个配置管理计划过程是来规划解决活动的。

配置项标识与跟踪

配置项标识

将软件项目中需要进行控制的部分拆分成SCI。例如需求可能有5个文件,那么5个配置项,代码就多了,有很多文件,那么就对应着很多配置项。

那么这个配置项定义过程可能是一个拆分的过程,例如项目需求规格可以拆成多个文件。其实这个拆分成多个配置项,对项目管理是有好处的,在项目执行过程中,需求的不同部分,修改的频率是不同的,因此需求的不同配置项变更的频率也是不同的。

如果某需求变更只是其中的一个配置项有关,那么其他需求配置项就不需要变更了。

那么这个项目确定下来之后,需要对每个配置项进行标识,即给出文件的命名规格。

这是某项目的命名规格,包括了5个部分,第一个部分代表企业,第二个部分代表项目的标识码,第三个部分代表项目的组号,第四个部分是文档类型,最后就是一个版本号。

配置项跟踪

为了实现配置管理,需要建立配置项的关联关系,便于跟踪和版本控制。比如需求规格有很多配置项,每个配置项有对应的设计版本、代码版本、测试用例,那么要建立这些对应关系,一但需求发生变更,就很容易把这些关联的配置项确定下来。

配置管理环境建立

配置管理库

配置管理环境的建立是将配置管理库建立起来的过程,即建立配置管理仓库。

软件配置管理库是用来存储所有基线配置项及相关文件的等内容的系统,是在软件产品的整个生存期中建立和维护软件产品完整性的主要手段。

受控操作

配置库环境是一个受控的,不可以随意对他进行操作,那么基线、配置项审核通过之后,可以添加至配置库,添加配置库之后就不可以随意来修改,一但提出变更,需要走变更流程。

这个配置管理库一般是通过安装配置管理工具来实现的。

例如这是rational管理工具界面:

VSS版本管理工具界面:

SVN版本管理工具操作界面:

GIT 管理工具操作界面

基线变更管理过程

基本概念

基线修改应该受到控制,这种变化要经SCCB授权,按程序进行控制并记录基线修改过程。

基线变更系统

基线变更的流程最主要的部分是变更控制系统,如下图就是一个基线变更系统:
首先提出变更申请,然后进行评估,跟着进行决策,如果批准了这个变更则实现这个变更。

变更请求

这是一个变更申请:

变更评估

接下来要评估这个申请,这是一个评估流程:首先变更分类,看这个变更属于什么类型的,需求的?设计的?还是代码的变更,然后看看技术的影响如何,还要分析接口的影响,因此还要确定对进度的影响,成本的影响。

举例:一个需求的变更可能导致设计的大量变更,以及大量的代码变更,如果影响特别大,可能拒绝这个变更,因此评估的结果是决策的基础。

变更批准/拒绝

当然决策有两个,即同意和拒绝,如果同意变更了,还要实施这个变更,最后实现版本的升级。

变更实现

变更实现也需要按照流程来实现。例如将变更控制项从配置库取出来,实现这个变更,让验证确认没有问题了再提交到这个库里面去。

变更控制系统-举例

这是某项目的配置变更控制系统,项目人员来参照这个流程来实施变更的。

配置管理审计

审计大家是否遵守了这个配置管理过程,还需要审计基线产品,基线入库前一定要进行审计的。

配置状态统计

我们知道仓库管理员要定期向项目人员发布仓库里面有哪些产品,每个产品是怎么样的型号、版本、有无作废的等等等。

同理呢,软件配置管理负责人也要定期发布配置库的状态报告。例如:

  1. 被批准的配置项
  2. 变更请求的数量
  3. 配置项的所有请求的变化状态
  4. 配置项所有被批准的变更实现状态
  5. 配置管理系统以及SCCB在运作中发生异常的次数。

配置管理计划大纲---举例

上面介绍配置管理的主要过程,他们描述了配置管理的活动,那么这些活动在配置管理计划中要体现出来。

配置管理计划具体包括哪些内容,没有一个统一的公认标准,主要看项目的具体情况,下面我们给一个大纲:

  1. 人员的职责(要确定配置管理负责人,SCCB的组成,同时确定相关人员的配置要求)
  2. 配置项定义(要确定项目产生的文件以及命名规则)
  3. 基线定义(确定项目的基线)
  4. 版本控制(说明采用的配置管理工具等等)
  5. 定义变更控制系统等等

总结

总之 配置管理计划需要规划配置项,配置管理环境,基线变更管理,配置管理审计,配置状态统计等活动,作为将来项目配置管理的一个指导。

到这里,第九章 第二节 软件项目配置管理过程就讲解完毕了!下一节介绍敏捷配置管理计划~

如果您觉得这篇文章有帮助到您的的话不妨点赞支持一下哟~~?

后续将持续更新【软件项目管理初级学习路线】的全知识点,大家感兴趣的多多关注博主哟~
————————————————

有关软件项目管理 9.2.软件项目配置管理过程的更多相关文章

  1. ruby - i18n Assets 管理/翻译 UI - 2

    我正在使用i18n从头开始​​构建一个多语言网络应用程序,虽然我自己可以处理一大堆yml文件,但我说的语言(非常)有限,最终我想寻求外部帮助帮助。我想知道这里是否有人在使用UI插件/gem(与django上的django-rosetta不同)来处理多个翻译器,其中一些翻译器不愿意或无法处理存储库中的100多个文件,处理语言数据。谢谢&问候,安德拉斯(如果您已经在ruby​​onrails-talk上遇到了这个问题,我们深表歉意) 最佳答案 有一个rails3branchofthetolkgem在github上。您可以通过在Gemfi

  2. ruby - 如何在 buildr 项目中使用 Ruby 代码? - 2

    如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby​​

  3. ruby-on-rails - 独立 ruby​​ 脚本的配置文件 - 2

    我有一个在Linux服务器上运行的ruby​​脚本。它不使用rails或任何东西。它基本上是一个命令行ruby​​脚本,可以像这样传递参数:./ruby_script.rbarg1arg2如何将参数抽象到配置文件(例如yaml文件或其他文件)中?您能否举例说明如何做到这一点?提前谢谢你。 最佳答案 首先,您可以运行一个写入YAML配置文件的独立脚本:require"yaml"File.write("path_to_yaml_file",[arg1,arg2].to_yaml)然后,在您的应用中阅读它:require"yaml"arg

  4. ruby-on-rails - 项目升级后 Pow 不会更改 ruby​​ 版本 - 2

    我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby​​版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby​​版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘

  5. ruby-on-rails - 新 Rails 项目 : 'bundle install' can't install rails in gemfile - 2

    我已经像这样安装了一个新的Rails项目:$railsnewsite它执行并到达:bundleinstall但是当它似乎尝试安装依赖项时我得到了这个错误Gem::Ext::BuildError:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcheckingforlibkern/OSAtomic.h...yescreatingMakefilemake"DESTDIR="cleanmake"DESTDIR="

  6. Ruby Sinatra 配置用于生产和开发 - 2

    我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm

  7. ruby-on-rails - 获取 inf-ruby 以使用 ruby​​ 版本管理器 (rvm) - 2

    我安装了ruby​​版本管理器,并将RVM安装的ruby​​实现设置为默认值,这样'哪个ruby'显示'~/.rvm/ruby-1.8.6-p383/bin/ruby'但是当我在emacs中打开inf-ruby缓冲区时,它使用安装在/usr/bin中的ruby​​。有没有办法让emacs像shell一样尊重ruby​​的路径?谢谢! 最佳答案 我创建了一个emacs扩展来将rvm集成到emacs中。如果您有兴趣,可以在这里获取:http://github.com/senny/rvm.el

  8. Ruby 从大范围中获取第 n 个项目 - 2

    假设我有这个范围:("aaaaa".."zzzzz")如何在不事先/每次生成整个项目的情况下从范围中获取第N个项目? 最佳答案 一种快速简便的方法:("aaaaa".."zzzzz").first(42).last#==>"aaabp"如果出于某种原因你不得不一遍又一遍地这样做,或者如果你需要避免为前N个元素构建中间数组,你可以这样写:moduleEnumerabledefskip(n)returnto_enum:skip,nunlessblock_given?each_with_indexdo|item,index|yieldit

  9. ruby-on-rails - 事件管理员日期过滤器日期格式自定义 - 2

    是否有简单的方法来更改默认ISO格式(yyyy-mm-dd)的ActiveAdmin日期过滤器显示格式? 最佳答案 您可以像这样为日期选择器提供额外的选项,而不是覆盖js:=f.input:my_date,as::datepicker,datepicker_options:{dateFormat:"mm/dd/yy"} 关于ruby-on-rails-事件管理员日期过滤器日期格式自定义,我们在StackOverflow上找到一个类似的问题: https://s

  10. Vscode+Cmake配置并运行opencv环境(Windows和Ubuntu大同小异) - 2

    之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m

随机推荐