【系统架构设计师】软件配置管理

目录

          • [1. 说明](#1. 说明)
          • [2. 版本控制](#2. 版本控制)
          • [3. 变更控制](#3. 变更控制)
          • [4. 例题](#4. 例题)
            • [4.1 例题1](#4.1 例题1)
1. 说明
  • 1.P215.
  • 2.软件配置管理(Software Configuration Management,SCM)是一种标识、组织和控制修改的技术。
  • 3.软件配置管理应用于整个软件工程过程。
  • 4.在软件建立时变更是不可避免的,而变更加剧了项目中软件开发者之间的混乱。
  • 5.SCM活动的目标就是为了标识变更、控制变更、确保变更正确实现并向其他有关人员报告变更。
  • 6.从某种角度讲,SCM是一种标识、组织和控制修改的技术,目的是使错误降为最小并最有效地提高生产效率。
  • 7.软件配置管理核心内容包括版本控制变更控制
2. 版本控制
  • 1.Version Control。
  • 2.版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一。
  • 3.版本控制最主要的功能就是追踪文件的变更。
  • 4.它将什么时候、什么人更改了文件的什么内容等信息忠实地记录下来。
  • 5.每一次文件的改变,文件的版本号都将增加。
  • 6.除了记录版本变更外,版本控制的另一个重要功能是并行开发。
  • 7.软件开发往往是多人协同作业,版本控制可以有效地解决版本的同步以及不同开发者之间的开发通信问题,提高协同开发的效率。
  • 8.并行开发中最常见的不同版本软件的错误(Bug)修正问题也可以通过版本控制中分支与合并的方法来有效地解决。
3. 变更控制
  • 1.Change Control。
  • 2.变更控制的目的并不是控制变更的发生,而是对变更进行管理,确保变更有序进行。
  • 3.对于软件开发项目来说,发生变更的环节比较多,因此变更控制显得格外重要。
  • 4.项目中引起变更的因素有两个:一是来自外部的变更要求,如客户要求修改工作范围和需求等;二是开发过程内部的变更要求,如为解决测试中发现的一些错误而修改源码甚至设计。
  • 5.比较而言,最难处理的是来自外部的需求变更,因为IT项目需求变更的概率大,引发的工作量也大(特别是到项目的后期)。
4. 例题
4.1 例题1
  • 1.题目

    1.在软件开发和维护过程中,一个软件会有多个版本,(B)工具用来存储、更新、恢复和管理一个软件的多个版本。
    A.软件测试
    B.版本控制
    C.UML建模
    D.逆向工程

  • 2.解析

    1.版本控制就是用来管理多个版本变迁的工具。
    2.软件测试是描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。
    3.UML 是一种软件工程中常用的标准化建模语言,用于描述和可视化软件系统的结构、行为和交互。
    UML建模的主要目的是帮助开发者、设计师和利益相关者更好地理解和沟通系统的设计和功能。
    4.逆向工程是分析程序,力图在比源代码更高抽象层次上建立程序的表示过程,逆向工程是设计的恢复过程。

相关推荐
小短腿的代码世界17 小时前
Qt WebEngine多进程架构与IPC通信:从Chromium多进程到Qt信号槽融合
qt·架构·系统架构
今天也是元气满满的一天呢21 小时前
从单机架构到负载均衡的互联网架构全流程
数据库·系统架构
Thomas.Chan1 天前
数据中心动环监控系统架构详解
运维·网络·计算机网络·其他·系统架构·数据中心
月落归舟1 天前
从单机到分布式:互联网系统架构演进全流程
分布式·系统架构
圣殿骑士-Khtangc2 天前
分布式事务解决方案全景:从 2PC 到 Saga,每种方案的适用场景与落地要点
系统架构
涛声依旧-底层原理研究所2 天前
Agent 长任务可靠性设计:实现暂停、恢复、续跑与崩溃重启的完整方案
人工智能·python·系统架构
-dzk-2 天前
【系统架构设计师】案例分析篇
开发语言·数据结构·python·算法·架构·系统架构·架构设计
开发小程序的之朴2 天前
认识安企CMS - 系统概述
nginx·golang·系统架构
幻风_huanfeng2 天前
软考:高级软件架构师学习笔记----嵌入式技术
系统架构·架构师·软考·高级系统架构师
兵慌码乱13 天前
面向桌面端的资产管理系统分层架构设计与核心模块实现
python·系统架构·sqlite·pyqt5·数据库设计·桌面应用开发·mvc架构