First, what is configuration management
Software configuration management is a technique for identifying, organizing, and controlling software modifications to coordinate and control the entire process. is a series of measures to control and standardize the software product and its development process and life cycle through technical or administrative means.
The primary goal of configuration management is to establish and maintain product integrity, to effectively track and control changes to configuration items, and to ensure that projects can be traced back to the past.
Second, the basic requirements of configuration management
The basic requirements for configuration management include:
1) have a clear head of configuration management
2) configuration management plan is explicitly implemented
3) Explicit naming rules and version number rules
4) All configuration items are clearly identified
5) configuration item status information is explicitly recorded
6) change requests are effectively recorded, tracked, and controlled
7) The baseline has a clear plan
8) Regular backup of the configuration library
iii. Configuration Items
Configuration items are configuration-managed objects, which can be a module, a subsystem, or even an entire system. The granularity of each item's configuration item is different. The granularity of the configuration item is determined by the characteristics of the project, for example, in a large system, there are thousands of files composing the system, if the configuration management per file, it will be a heavy task, so the entire module or subsystem should be managed as a configuration snap-in (configuration item).
Depending on the configuration item selection criteria, a complex project containing hardware and software development, the types of configuration items may include:
1) Various technical documents (user requirements, system requirements, system test cases, etc.)
2) Various project management documents (project plan, project configuration management plan, project status report, etc.)
3) source code (source code, scripts, etc. written in various languages)
4) binaries (executable files, system installation packages, patches, etc.)
5) hardware devices (such as hardware parts of embedded systems, etc.)
6) system environment (e.g., system compilation environment, operating environment, etc.)
7) Baseline (the baseline itself is also a configuration item)
Iv. baselines
In a configuration management system, a baseline is either a configuration item or a set of configuration items that are formally reviewed at different points in the life cycle of a state that constitutes a relatively stable logical entity that is referred to as a "baseline".
Each baseline is the starting point and reference point for its next development. The baseline contains only one version of the configuration item. In general, baselines are created at the specified milestone (Milestone) and are synchronized with the milestones in the project. The baseline is created as a basis for subsequent work and cannot be modified. Changes to the configuration items included in the baseline are strictly in accordance with the process of change control requirements. At the end of a software development phase, the previous baseline plus the addition and modification of the baseline content forms the next baseline.
Configuration items are the basic unit of configuration management, but managing configuration items is difficult to maintain consistency between configuration items. To improve management efficiency, projects typically establish baselines to integrate all relevant configuration items and to perform effective configuration management on a baseline basis.
v. Configuration library
The configuration library is used to access configuration items and to manage the access rights of project members to various configuration items.
Configure the administrator to create the configuration library at the beginning of the project, based on the configuration management plan. The configuration library includes three logical libraries, the dynamic library, the managed library, the static library, and the controlled level increases successively. Although there are three types of libraries in the configuration library, only the managed libraries are within the scope of configuration management and require strict configuration management.
VI. Configuration Management Tools
The project can use several common configuration management tools. Each tool has different characteristics and is suitable for different types of projects. The following table provides a brief description of each tool's characteristics and scope of application.
Tools |
Characteristics |
Scope of Use |
Cvs |
Open source products; When used in conjunction with WINCVS, the operation is relatively simple, and it is highly collaborative with other development environments, such as Eclipse provides plug-ins that operate CVS directly from the development environment, support for synchronous modifications, and better branching and merging capabilities |
Source code, text file |
Svn |
Similar to CVS. Slightly faster than CVS. |
Source code, text file, binary file |
Vss |
Microsoft products, interactive interface is easy to use, exclusive management of files, synchronization modification is not supported, complex configuration management activities are not supported. |
Source code, text file, binary file |
Clearcase |
The configuration management tools developed by rational companies can be integrated with Windows Explorer and can also be integrated with many development tools. |
Source code, text file, binary file |
---------------------------------------------------------------------------
http://blog.csdn.net/arui319
"Android Application Development Solution" has been published, welcome to buy reading.
This article can be reproduced, but please keep the above author information.
Thank you.
---------------------------------------------------------------------------