1. What is Software Configuration Management?
Software Configuration Management refers to implementing version control, change control procedures, and using appropriate configuration management software to ensure the integrity and traceability of all configuration items. Configuration Management is an effective protection of work results.
2. Why is configuration management required?
Without Software Configuration Management, the biggest trouble is that work results cannot be traced back. As work progresses, new programs overwrite old ones. What should I do when I suddenly find that new programs are faulty and old programs are correct? You can only rewrite the old program to overwrite the new one. After a while, I found that there was a problem with the old program, and the solution was in the new program ...... Are you going crazy.
To avoid overwriting the results, many people, including myself, used the manual version management method in the early days. For example, when a new version was generated, the folder was named by the date at that time, then copy the changes to the copied folder and save the previous version. Different versions will not be overwritten. Although this method can solve the version tracing problem to some extent, its shortcomings are obvious: First, if the result is retained too frequently, this will lead to a large number of folders with duplicate content, a large physical space, and difficult to manage. If the old version is retained for a long time, some useful old programs may not be traceable. Taking the program I recently developed for example, the program only has dozens of megabytes. After one year of development, each version has accumulated to 1 GB. Second, it is easy to generate version chaos. If it is a team that develops software, this simple method is more difficult to solve the essence of the problem.
3. Human problems
The configuration management method is mature, and the corresponding software tools are also mature. Basically, there is no problem that cannot be understood or used. What is the effect of Configuration Management. The main problem that hinders configuration management is that people are too troublesome and lucky.
Running version control seems a little troublesome without any issue. Get Latest Version is always required for each modification, Check Out, Check In again after modification, and perform three steps. In fact, these three steps add up to more than 10 seconds, and there is no need to worry about it. It's just that my personal experience is uncomfortable. If you do not execute version control, it will be too much trouble if your work results are overwritten or lost.
4. Software Configuration Management specifications
The software development and management process produces a lot of work results, such as documents, procedures and data, which should be kept properly for access and modification. It is very troublesome to use all files in a computer.
All work results included in the configuration management scope are collectively referred to as configuration items in two main categories: one is part of the product, such as requirement documents, design documents, source code, test cases, and so on; the other is the documents generated during the management process, such as various plans and reports.
The main attributes of each configuration item include name, identifier, File status, version, author, date, and so on. Configuration items and historical records reflect the software evolution process.
A baseline consists of a set of configuration items that constitute a relatively stable logical entity. After the configuration items in the baseline are frozen, they cannot be changed at will by anyone. Baselines usually correspond to milestones in the development process. Generally, the baseline delivered to this customer is called a Release, and the baseline used for internal development is called a Build.
The purpose of version control is to save all versions of a configuration item according to certain rules to avoid version loss or confusion. There are three statuses for configuration items: "draft", "officially released", and "modifying"
The version number of a configuration item is closely related to the status of the configuration item:
(1) the version number of a configuration item in the draft state is in the format of 0.YZ.
(2) the version number of a configuration item in the "officially released" status is in the format of X.Y.
Generally, the value of X changes only when the value of Y reaches a certain range.
(3) the version number of a configuration item in the "modifying" status is in the format of X. YZ.
Generally, only the Z value is increased. When the configuration item is modified and the status changes to "official release", the Z value is changed to 0 and the X.Y value is increased.
5. Common Configuration Management Software
A) Since the development and improvement of the "incremental storage algorithm" in the late 1980s S, the configuration management tool began in the spring. Currently, common configuration management tools in China include SourceSafe, CVS, and ClearCase.
SourceSafe is a configuration management tool launched by Micrsoft that supports collaborative development by teams. It is one of the kits of Visual Studio. Because it is short and concise, and inherits the consistent style of Microsoft integrated sales, users can get the price relative to the free price, the number of users is definitely the first.
SourceSafe is easy to use. When people use the configuration management tool, only Add, Check in, Check out and other functions are used for 80% of the time.
Main limitations of SourceSafe: Only WINDOWS does not support configuration management in heterogeneous environments, and the INTERNET is not fully supported.
B) First, let's give a brief overview of SourceSafe's basic mechanism. SourceSafe operates on servers and local machines. It deems that all files to be operated exist in the server version file and local machine version file, whether your SourceSafe architecture is in the form of a server client or a standalone, this is the same mechanism. All the modifications used by the user are completed on the local machine. After the modifications are completed, they are uploaded to the server. This is also true for the standalone version. We must clarify the two versions before analyzing them.
A server version file is absolutely restricted by configuration management software. You can modify it only through the permissions and operation methods specified by SourceSafe because it is not yours, it is yours. A local file is basically unrestricted. You can operate it like a local file.
SourceSafe consists of Visual SourceSafe 6.0 Admin, Microsoft Visual SourceSafe 6.0, Analyze vss db, and Analyze & Fix vss db.
C) Analyze vss db and Analyze & Fix vss db are not very common tools. The former is used to check the integrity of SourceSafe database files, and the latter is mainly used to correct errors in SourceSafe database files.
D) Visual SourceSafe 6.0 Admin features similar to win2k User Manager, which is used by Software Configuration Management Personnel to assign users and set corresponding permissions.
Administrator management operations are generally concentrated in Visual SourceSafe 6.0 Admin. In the system, only one system administrator Admin can log on to this program for management, generally, the password of this user is blank by default in the just-installed system. In addition, the system reserves all rights for the Admin user and cannot be changed.
The database creation operation must be performed on the server, because the database creation operation through the client is only performed on the client machine. This database can only be used on a single machine. Note that VSS shares controlled version files on the server through WINDOWS network sharing. Therefore, the databases on the VSS server must be built into a fully shared directory on the server. Otherwise, the client will not be able to obtain files in the database.
Backup and recovery of the database. Back up the database or a project. Click tools-archive projects... In the dialog box that appears, perform backup step by step as prompted. A backup file with the extension *. ssa is generated.
If you want to restore the file data in the VSS database from the file, click the tools-restore projects menu to complete data recovery step by step as prompted. During the restoration process, you can choose to recover to the original project or change to another project directory.
E) Microsoft Visual SourceSafe 6.0 is the main platform used by SourceSafe. It looks like a Windows File Manager. The path displayed by it is the relative path of the root node with the '$' symbol, here we will introduce the main usage of this platform.
(1) Add a project
You can Add a project under the root node by: File-Add File. After the Add File dialog box appears, select the relevant File and press Add.
You can use File-Create Project to Create a Project under the root directory and then add files under this Project node.
After the file is added, the attribute of the added source file automatically becomes read-only, and a vssver file is generated in the folder of the added file, in the future, operations on the file are basically irrelevant to the original file.
(2) Browse files in Source Safe Server
In Visual SourceSafe certificate e, double-click the file to be opened. A dialog box is displayed. Click OK. At this time, SourceSafe certificate e will copy the file to the temporary folder on the local machine (the Temporary Folder path is set under tools-options-general), because the original file has changed to read-only, therefore, temporary files are read-only, and the file name is automatically changed by the system.
(3) set the working folder
The SourceSafe folder must specify a "working folder" on the local computer ". When "check out", the corresponding file will be downloaded to this local working folder. Modify the file in the local file, and then "check in" the modified file is returned to the source safe of the server.