软件开发过程与项目管理(9.软件项目配置管理计划)

课件

软件项目配置管理概述

配置项

指基础架构组件或基础架构有关的项目,包括软件、硬件和各种文档,如变更请求、服务、服务器、环境、设备、网络设施、台式机、移动设备、应用系统、协议电信服务等。

配置基准线

指一个产品或系统在某一特定时刻的配置状况,这种配置不仅体现了其产品获系统的结构,还反映了其具体内容,使得以后可以按照上述配置重建该产品或系统。

配置管理数据库

是指包含每个配置项及配置项之间重要关系的详细资料的数据库。

最终软件库

是一个存放和保管所有已批准的最终版本的软件配置的地方,是软件正本存放的物理性仓库或逻辑性存储空间。

配置管理

是描述、跟踪、控制和汇报所有IT基础架构中所有设备或系统的管理流程。

配置控制委员会

负责指导和控制配置管理的各项具体活动的进行,为项目经理的决策提供建议的组织。

责任

  • 评估变更
  • 批准变更请求
  • 在生命周期内规范变更申请流程
  • 对变更进行反馈
  • 与项目管理层沟通

目标

  1. 软件配置管理的各项工作是有计划进行的
  2. 被选择的项目产品得到识别,控制并且可以被相关人员获取
  3. 已识别出的项目产品的更改得到控制
  4. 使相关组别和个人及时了解软件基准的状态和内容

软件项目配置管理过程

配置项标识

  • 配置标识是定义各类配置项、建立各种基线、描述相关软件配置及其文档的过程。
  • 配置标识是配置管理的基础性工作,是配置管理的前提。
  • 配置标识是确定哪些内容应该进入配置管理形成配置项,并确定配置项如何命名,用哪些信息来描述该配置项。
  • 编写《配置项识别表》时,配置管理工程师负责标识配置项范围,并由项目负责人确认。
  • 项目组成员创立配置项时,根据配置项命名规则分配唯一的标识符。
  • 确定配置项:1.信息系统项目中形成的技术型文档和管理型文档,除一些临时性的文档外一般都应该进行配置管理。2.判定一个文档是否进行配置管理的标准应该是此文档是否有多个人需要使用。
  • 步骤:1.识别配置项;2.配置项命名;3.配置项的描述
  • 基线:基线是项目生存期各开发阶段末尾的特定点,也称为里程碑,在这些特定点上,阶段工作已经结束,并且已经形成了正式的阶段产品。(功能基线、分配基线和产品基线)
  • 功能基线:功能基线是指在系统分析与软件定义阶段结束时所确定的各种规格说明;功能基线是最初批准的功能配置标志。
  • 分配基线:分配基线是指在软件需求分析阶段结束时,经过正式评审和批准的软件需求说明;分配基线是最初批准的分配配置标志。
  • 产品基线:产品基线是指在软件组装与系统测试阶段结束时,经过正式评审批准的有关所开发软件产品的全部配置项的规格说明;产品基线是最初批准的产品配置标志。

配置管理环境建立

  • 软件配置管理库是用来存储所有基线配置项及相关文件的等内容 的系统
  • 是在软件产品的整个生存期中建立和维护软件产品完整性的主要 手段。
  • 配置库存储配置项(SCI)、修改请求、变化记录等,并提供对库 中所存储文件的版本控制。
  • 为不同的人员分配不同的访问配置库的权限。
  • 配置库中的配置项每经历一次改变将形成一个新的版本并被分配相应的版本标志。

基线变更管理

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

配置管理审计

配置审计确认最终的基线和文件是否遵照特定标准或需求,并适当记录审计结果。
检查内容至少包括

  • 配置库的目录结构是不是符合要求
  • 基线对应的必须文件是不是到位
  • 达成基线的前提要素(比如里程碑评审,变更申请,问题,bug)是否OK

配置状态统计

配置状态统计配置状态统计的主要对象是软件配置项的状态、更改申请和对已批准的更改的实现情 况,其任务就是将上述信息持续、完整地记录下来。

配置管理计划

软件配置管理计划过程是确定软件配置管理的解决方案。

敏捷项目的配置管理

全面配置管理

就是对项目所有的相关产物及其之间的关系都要进行有效管理

内容

  • 代码和构建产物的配置管理
  • 应用的配置管理
  • 环境的配置管理

分支管理策略

配置管理工具

GIT

  • 是一个开源的分布式版本控制系统,用以有效、高速地处理从很小到非常大的项目版本管理
  • 可以本地查看所有版本历史,只需在连网时push到相应的服务器或其他用户那里即可
  • 每个用户保存所有的版本数据,只要有一个用户的设备没有问题就可以恢复所有的数据
  • 增加了本地存储空间的占用

VSS— Visual Source Safe

  • Microsoft提供的,可以与VS.net进行无缝集成。
  • 适合独立开发人员和小型开发团队使用,因性能问题不适合大规模团队适应
  • 对分支与并行开发支持的比较有限

CVS—Concurrent Versions System

  • 开源工具,主要基于命令行,又简单的winCVS的图形化界面
  • 适合于项目比较大,产品发布频繁,分支活动频繁的中大型项目
  • 可以与Eclipse等流行工具进行集成开发

SVN—CollabNet Subversion

ClearCase

GIT和其他工具比较

集中式版本控制工具:CVS、SVN、VSS
分布式版本控制工具:Git

主观题

给出几个常见的软件配置项

  1. 软件需求规格说明书
  2. 设计规格说明书
  3. 源代码
  4. 测试规格说明书

请简述配置管理在软件开发中的作用,并列举至少两种配置管理工具

软件配置管理在软件项目管理中有着重要的地位,可以有效管理软件项目开发过程中的变更。有很多配置管理工具,例如Rational ClearCase, Hansky Firefly, CVS, MicrosoftVisual Source Safe(VSS), PVCS,git。

请说明软件配置管理委员会(SCCB)的基本职责

  1. 评估变更
  2. 批准变更申请
  3. 在生存期内规范变更申请流程
  4. 对变更进行反馈
  5. 与项目管理层沟通

请写出配置管理的基本过程

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

客观题

变更控制主要关注的是:标识变更,提出变更,管理变更

软件配置管理无法确保以下哪种软件产品属性:正确性

为了更好的管理变更,需要定义项目基线,关于基线的描述,正确的事:

可以变化,但是必须通过基线变更控制流程处理

不属于SCCB的职责:提出变更申请

变更控制系统包括了从项目变更申请、变更评估、变更审批到变更实施的文档化流程(正确)

基线修改应受到控制,但不一定要经SCCB授权(错误)

基线产品是不能修改的(错误)

基线的修改不需要每次都按照正式的程序执行(错误)

软件配置项是项目需定义其受控于软件配置管理的款项。每个项目的配置项是相通的。(错误)

一些配置项形成并通过审核,即形成基线(正确)

有效的项目管理能够控制变化,以最有效的手段应对变化(正确)

基线提供了软件开发阶段的一个特定点(正确)

在软件项目配置管理中,最终应保证软件产品的完整性、一致性、有效性、机密性。(错误)

一个软件配置项可能有多个标识(错误)

软件配置控制委员会的英文简写是SCCB

基线变更时,需要经过软件配置控制委员会授权

版本管理、变更管理是配置管理的主要功能。

基线变更控制包含变更请求、变更评估、变更批准、变更拒绝、变更实现等几个步骤

基线标志开发过程一个阶段的结束和里程碑

版本控制是软件配置管理的核心功能

配置管理最终保证软件产品的完整性、一致性、追朔性、可控性

软件开发过程与项目管理(9.软件项目配置管理计划)相关推荐

  1. 软件开发过程与项目管理(16.项目结束)

    软件开发过程与项目管理(16.项目结束) 课件 项目终止 项目终止的条件 下列条件出现,可以终止项目: 项目计划中确定的可交付成果已经出现,项目的目标已经成功实现 由于相关原因,项目无法继续进行,例如 ...

  2. 软件开发过程与项目管理(13.软件项目集成计划控制)

    软件开发过程与项目管理(13.软件项目集成计划控制 项目集成计划 软件项目管理的最重要的四个要素 四要素的关系 项目集成计划的作用 项目集成计划的内容 项目集成计划的流程 项目集成计划风险 项目集成计 ...

  3. 软件开发过程与项目管理(14.项目核心计划执行控制)

    软件开发过程与项目管理(14.项目核心计划执行控制) 范围计划执行控制 范围核实 变更控制 进度与成本执行控制 图解控制法 挣值分析法(重点) 挣值分析法- 输入 BCWS-Budgeted Cost ...

  4. 软件开发过程与项目管理(10.软件项目人员与沟通计划)

    软件开发过程与项目管理(10.软件项目人员与沟通计划) 课件 项目人员计划 团队定义 团队是一定数量的个体成员组织的集合 包括自己组织的人.供应商.分包商.客户等 为一个共同的目标工作,协调一致,愉快 ...

  5. 软件开发过程与项目管理(6.软件项目成本计划)

    软件开发过程与项目管理(6.软件项目成本计划) 软件项目规模 软件项目规模即工作量包括 软件规模单位包括 软件项目成本 成本估算 估算基本方法 代码行估算法(简略) 功能点估算法- Albrecht ...

  6. 软件开发过程与项目管理(2.软件项目确定)

    软件开发过程与项目管理(2.软件项目确定) 项目立项 Make or Buy 决策 项目招投标过程 乙方项目分析 项目经理的职责 小结 例题 简答题: 自练 项目立项 明确项目的目标.时间表.项目使用 ...

  7. 软件开发过程与项目管理(1.项目管理概述)

    软件开发过程与项目管理(1.项目管理概述) 项目定义 项目的特征 项目与日常运作 软件项目的特殊性 项目管理定义 软件项目管理 PMBOK(美国的项目管理知识体系) 过程管理 软件项目管理过程 软件项 ...

  8. 软件开发过程与项目管理(12.软件项目合同计划)

    软件开发过程与项目管理(12.软件项目合同计划) 课件 项目合同 合同是具有法律效力的协议 双方自愿达成的协议 签订者具有相应的法律能力 有充分的签约理由 具有合法的目的 合同条款 合同类型 总价合同 ...

  9. 软件开发过程与项目管理(11.软件项目风险计划)

    软件开发过程与项目管理(11.软件项目风险计划) 课件 风险基本概念 项目风险的三要素 一个事件 事件发生的概率 事件的影响 风险类型 预测角度: 已知风险 可预测风险 不可预测风险 范围角度: 商业 ...

  10. 浅谈软件开发过程及项目管理

    做软件也有几年了,将学到别人的经验,项目中自己的体验,参加培训的收获一起总结一下. 需求阶段: 首先要明确软件项目开发完后是为了解决什么问题?对于要解决的核心问题必须要明确,以后可以重点设计作为软件的 ...

最新文章

  1. ssh整合问题总结--使用struts2+Ajax+jquery验证用户名是否已被注册
  2. django模板中使用JQ代码实现瀑布流显示效果
  3. VS2015+OpenCV2.4.13环境搭建详细步骤及自带示例编译运行
  4. 用 Flutter 开发真的NX
  5. 十进制转化为m进制(mlt;=16)
  6. linux开机和登陆欢迎信息
  7. Java集合(6)--Map接口
  8. jQuery中的ready
  9. JavaScript对象的创建之外部属性定义方式(基于已有对象扩充其属性和方法)
  10. PSD模版如何变成网页模版 (转载)
  11. mysql拼装字段_Mysql 实现字段拼接的三个函数
  12. python汉化版下载-Python中文版
  13. WEB渗透测试工程师需要具备的技能
  14. 华为 常用的查看命令
  15. 猿创征文 | 常见的五款BI报表介绍
  16. coreldraw2023安装教程及新功能讲解
  17. 计蒜客--蒜头君的新游戏
  18. 白鹭引擎学习笔记(二)
  19. 新闻推荐笔记(2):Embedding-based News Recommendation for Millions of Users
  20. centos安装shutter

热门文章

  1. uefi模式安装win7出现winload.efi和oxc0000428错误的另类解决办法
  2. 市区对应的编码获取入库过程
  3. 获取稳定的西刺代理IP
  4. vue从s3(AWS)中获取图片并展示
  5. HiTool烧写Hi3536操作记录
  6. 【布局优化】基于人工鱼群算法实现充电桩布局优化matlab源码
  7. VMware 15 上Mac虚拟机卡顿情况的优化
  8. 京东支付SDK重构设计与实现
  9. 如何给软件开发项目估价?
  10. html5好看表格样式,CSS实现的清爽、漂亮的表格样式分享