1. What is configuration management?
Software Configuration Management is a technology that identifies, organizes, and controls software modifications. It is used to coordinate and control the entire process. It is a series of measures to control and standardize software products, their development processes and lifecycles through technical or administrative means.
The main goal of configuration management is to establish and maintain product integrity, effectively track and control configuration item changes, and ensure that the project can be traced back to the previous status.
Ii. Basic Requirements of Configuration Management
Basic configuration management requirements include:
1) Clear Configuration Management Director
2) The Configuration Management Plan is clearly implemented
3) clear naming rules and version number rules
4) All configuration items are clearly identified
5) The status information of the configuration item is clearly recorded
6) change requests are effectively recorded, tracked, and controlled
7) clear plans for baselines
8) regularly back up the configuration Library
Iii. configuration items
A configuration item is an object for configuration management. A configuration item can be a module, a sub-system, or even the entire system. The configuration items of each project have different granularities. The granularity of configuration items is determined by the characteristics of the project. For example, in a large system, there are thousands of files that make up the system. If configuration management is performed per file, it will be a task with a huge workload. Therefore, the whole module or subsystem should be managed as a Configuration Management Unit (configuration item.
According to the configuration item selection standard, in a complex project that includes software and hardware development, its configuration items may include:
1) various technical documents (user requirement manual, system requirement manual, system test cases, etc)
2) Various project management documents (project plans, project configuration management plans, and project status reports)
3) source code (source code and scripts written in various languages)
4) binary files (executable files, system installation packages, patches, etc)
5) hardware devices (such as the hardware of embedded systems)
6) system environment (such as the compiling environment and running environment of the system)
7) Baseline (the baseline itself is also a configuration item)
Iv. Baseline
In the Configuration Management System, a baseline is a State in which a configuration item or a set of configuration items are officially controlled after being officially reviewed at different time points in its lifecycle, these configuration items constitute a relatively stable logical entity, and this process is called baseline ".
Each baseline is the starting point and reference point for the next development. A baseline contains only one version of the configuration item. Generally, baselines are created at the specified milestone (milestone) and synchronized with milestones in the project. After a baseline is created, it cannot be modified as the basis for subsequent work. Modifications to the configuration items contained in the baseline are carried out in strict accordance with the change control requirements. At the end of a software development phase, the previous baseline is added with the added and modified baseline content to form the next baseline.
Configuration items are the basic unit of configuration management. However, it is difficult to maintain consistency between configuration items. To improve management efficiency, projects usually establish baselines to integrate all related configuration items and perform effective configuration management based on baselines.
V. Configuration Library
The configuration library is used to access configuration items and manage project members' access permissions for various configuration items.
The configuration administrator creates a configuration Library Based on the configuration management plan at the initial stage of the project. The configuration library contains three logical libraries: dynamic database, controlled database, and static database. Although the configuration library contains three types of databases, only the controlled databases belong to the scope of configuration management and must be strictly managed by configuration.
Vi. Configuration Management Tools
Projects can use the following common configuration management tools. Each tool has different features and is suitable for different types of projects. The following table briefly describes the features and applicability of each tool.
Tools |
Features |
Scope of use |
CVS |
Open-source products; simple operations when used together with wincvs; strong collaboration with other development environments, such as Eclipse provides a plug-in for operating CVS directly from the development environment; Support for Synchronous modification, better branch and merge functions |
Source code, text file |
SVN |
Similar to CVS. Faster than CVs. |
Source code, text files, binary files |
VSS |
Microsoft products; easy to use interactive interfaces; exclusive file management, does not support synchronous modification; does not support complex configuration management activities. |
Source code, text files, binary files |
Clearcase |
The configuration management tools developed by rational can be integrated and used with Windows resource manager, and can also be used together with many development tools. |
Source code, text files, binary files |
---------------------------------------------------------------------------
Http://blog.csdn.net/arui319
The Android Application Development solution has been published. You are welcome to purchase and read it.
This article can be reproduced, but please keep the above author information.
Thank you.
---------------------------------------------------------------------------