http://dev.9cbs.net/Article/55/55574.shtm
Each software item, whether it is an engineering project, or product type project, must experience demand analysis, system design, encoding implementation, integration test, deployment, delivery, maintenance, and support. In this process, a variety of different workpieces, including documents, source programs, executable code, and support libraries. More terrible is that frequent changes are inevitable, so it is a prominent issue that makes it in order, how to store it, and use, and utilize it. In response to this problem, the earliest developer tried solution is to implement by manual: 1) Document: Save as a new file each time, then distinguish, for example, "XXX Software Demand Manual V1 .0, XXX software requirements specification V1.1, XXX software demand manual V2.0. ", And indicate the contents of each version change; 2) Source code: Copy the entire project directory every time you want to modify One, rename the original folder, such as "XX project v1.0, xx item 1.01 ,.", then modify in the new directory; but this method is not only very cumbersome, it is easy to make mistakes, and will bring Come a lot of spam. If the team is developed or the project is large, it will still cause a lot of confusion. Obviously, such a simple method is unable to cope with this problem. Later, some people tried to introduce the concept of "Configuration Management" from the manufacturing industry. Through unremitting research and practice, it finally formed a set of management methods and activities, which is software configuration management. Through software configuration management, the system management of multiple versions of the software system will be managed; the history of the system is fully recorded, including why modification, who made changes, modified; management and tracking development, harmful software quality and influence Development cycle defects and changes. The development process is effectively managed and controlled, complete, clearly records historical changes in the development process, forming standardized documents, which not only makes the future maintenance and upgrade guarantee, but more importantly, this will protect valuable Code resources, accumulation of software wealth, improve software reuse, and speed up investment.
As mentioned earlier, since the software configuration management process is very complicated, the management object is intricate. If it is an artificial approach, it is too expensive, but it is easy to make mistakes, producing a large number of waste. Therefore, it is very beneficial to introduce some automation tools, which is also necessary for configuring management. It is because of this, there have been a large number of automation allocation management tools in the market. The principles and basic mechanisms of these tools are closely close, but due to their different positioning, we have the characteristics, and we do some of the common configuration management tools. A simple introduction. Elder: CCC, SCCS, RCS Write a paper, proposing a paper, proposing the concept of controlling and configuring, and after 1975, he set up a named SoftTool The company has developed its own configuration management tool: CCC, which is also one of the earliest configuration management tools. In the history of software configuration management tools, after CCC, the most milestone is two free software: Marc Rochkind's SCCS (Source Concil System) and Walter Tichy's RCS (Revision Control System), they are configured Development has made significant contributions until most most configuration management tools are basically from their design ideas and architectures. NT: Rational ClearCase Rational Company is the world's largest software Case tool provider, has been acquired by IBM. Perhaps it is affected by his fist products, visual modeling first tool Rose, which is developed by ClearCase is also aware of users, and is one of the most widely used enterprise and cross-platform configuration management tools. ClearCase provides a comparison of comprehensive configuration management support, including version control, workspace management, build management, etc., and developers do not need to change existing environment, tools, and work. Its maximum disadvantage is that its price is worthy, and each client user license takes approximately a few thousand dollars, so there is limited group in China. 1) Version Control ClearCase can not only control files, directories, and links, but also provide advanced version branches and return features to support parallel development. In addition, it supports a wide range of file types. 2) Workspace management can provide private storage for developers, while achieving information sharing between members, providing each developer with consistent, flexible, reusable working space domain. 3) Build Management Data on ClearCase controls both custom scripts, or using the Make program provided by this unit. Its maximum disadvantage is that its price is worthy, and each client user license takes approximately a few thousand dollars, so there is limited group in China.
New Show: Hansky Firefly As an important member of the H a N S K Y Company Software Development Management Suite, you can easily manage, maintain the software assets of the entire enterprise, including program code and related documents. Firefly is a software configuration management system that is functional, high running speed, which can support different operating systems and multiple integrated development environments, so it can apply in different teams and different projects across the enterprise. Firefly is based on a real client / server architecture, which does not rely on any special network file system, which can smoothly run in different LAN, WAN environments. Its installation configuration process is easy to use, and firefly can automatically, safely save each change of code, and avoid code being unintentionally covered and modified. Project managers use Firefly to effectively organize the development of various resources in parallel development and management projects, making the product easy to manage; and quickly returning to any historical version. System administrators use Firefly's built-in tools to make it easy to backup and recovery of repositories without relying on any third-party tool. Open source wonder: CVS CVS is an abbreviation for Concurrent Versions System. It is a great masterpiece of open source software world. Because of its simple easy, powerful, cross-platform, support and free, free, it is in small and medium-sized software It has been widely used in the enterprise. Its biggest regret is the lack of corresponding technical support, and many problems need to be available from the search, even read source code. Small Working Group: MERANT PVCS Merant's PVCS can provide basic support for software configuration management, by using its graphical interface or similar SCCS command, can basically meet the configuration management requirements of small project development. Although PVCS is functionally able to meet demand, its performance performance has been poor and gradually beware of the market. Getting Started: Microsoft Visual Source Safe Visual Source Safe, that is, VSS, is Microsoft's small configuration management tool for Visual Studio supporting, it is only possible to be called a small version control software. The advantage of VSS is that it is seamlessly integrated with Visual Studio and is simple. Provides basic functions such as historical version record, modification control, file comparison, logs, etc. However, its shortcomings are also very obvious, only supporting Windows platforms, do not support parallel development, through check out - modify - check in management, only one time allows only one to modify the code, and slow speed, polarity, not supporting off-site development . Even Microsoft itself does not use it as a configuration management tool, but uses an internal tool called SLM.
In the face of these shapes, each of the two-year-old configuration management tools, how to develop team needs according to organizational characteristics, choose the tools to be applied? The author has some exchanges and discussions with everyone in combination with work practices. The factors required to consider the selection of the configuration management tool include the following factors: whether the function meets the actual needs? Is it in line with the team characteristics? Is the performance satisfied? Can the cost accept? How is after-sales service? Next, we will discuss in these few aspects: 1) Whether the function meets the actual needs, whether it is in line with the team characteristics tools to help you solve the problem, so the function is in line with the actual needs is the most important judgment factor. The basic functions of most mainstream configuration management tools can be met, therefore mainly need to judge the following factors: Parallel Development Support In the process of teamwork, there are two main modes: collective code rights and individual code rights. When developing the collective code mode, a piece of code may be modified by multiple developers at the same time; while each code is always exclusive by one developer, others need to modify it. By completing the developer. And the configuration management software is for this situation, also uses different strategies: Copy-Modify-Merge parallel development mode, check out-modify-check in (check out, modify, check in) Exclusive development model. In parallel development mode, developers can develop, change the code, and Firefly automatically detect code conflicts and automatically merge, or prompting developers to be resolved manually. Table 1. Parallel Development Support Comparison Table Tool Name
Description
CLEARCASECOPY-MODIFY-MERGE Mode FireflyCopy-Modify-Merge Mode Cvscopy-Modify-Merge Mode PVCSCHECK OUT-Modify-Check In schema Vsscheck Out-modify-check in mode
Differently development support If your development team is distributed in different development locations, you need to have a careful assessment of the tool's off-site development function. Most tools provide web-based interfaces that can perform configuration management through the browser, and some tools are supported by such methods. This implementation method has too many limitations, such as the Internet connection bandwidth limitation, firewall, and security issues. Real sense in different site development, refers to the establishment of their respective repositories in different development locations, and automatically or manually synchronize through tools. The advantage of this is that the network has nothing to do with the network, even if there is no real-time communication between the various development locations, the synchronization package can be sent to the other party by e-mail attachments, and manual synchronization. Table 2 existing development support comparison table
Tool name
Description
ClearCase provides the Multisite module that supports the storage of different development locations by automatically or manually synchronizing the storage library of different development locations, supporting the SERVERSYNC module through automatic or manual simultaneous repository, supporting the different development of CVS without special support Module PVCS No specially supported module VSS no specially supported module
It is worth noting that the way each self-repository is established at different development points, mainly suitable for two or more developing teams in different locations collaborative development. If only the virtual team works, developers are scattered in different places in their own form, and it is more suitable for remote configuration management servers through the Internet. Cross-platform development support If companies need development work under multiple different platforms, they need to configure management tools to support cross-platform development, otherwise it will bring inconvenience to development, test, release, etc., will make a lot of Time was wasted to upload the code, downloaded. Table three cross-platform development support comparison table tool name
Description
ClearCase supports common platform Firefly software itself based on Java development, can be used on Windows, Linux, Solaris, HP-UX, AIX, etc., and the transplant between platforms is also very convenient to support almost all operating system PVCS software itself based on Java development, able to support common platform VSS only support Windows operating system
The integration configuration management tool and development tool for development tools are most commonly used in the encoding process, so the integration between them directly affects the convenience of developers. If it is unable to integrate, developers will inevitably Switching between configuration management tools and development tools. Table 4 and Development Tool Integrative Comparison Table
Tool name
Description
ClearCase is integrated with the resource manager, it is easy to use Firefly and common development tools Seamlessly integrated CVS to develop tool integration PVCs only support Windows operating system VSS and Visual Studio development kits seamless connection, other development tools are poor
2) Some performance indicators that perform if you are satisfied with the management tool software have a vital impact on the final choice. Running performance If the development team is not large, the performance of the configuration management tool software will not have a great impact, but if the project is relatively large, if the team member gradually increases, its operational performance will bring a lot. influences. Table 5 Operation Performance Comparison Table
Tool name
Description
The ClearCase server uses a multi-process mechanism that uses its own multi-version file system MVFS, which has a great negative impact on performance. As an enterprise-class, comprehensive development configuration management tool, suitable for large-scale development team Firefly servers with multi-threaded application servers, excellent performance, as a corporate, comprehensive development configuration management, can apply to 50 People to thousands of people's team CVS high operating performance, suitable for various level development team PVCS servers with file system sharing, high, performance, general performance, only applicable to small and medium-sized project teams Not suitable for enterprise-class applications VSS relative function single, simple, suitable for small teams of several people, performance can be accepted in the case of small data volume
Easy-use table six easy usability comparison table
Tool name
Description
ClearCase installation, configuration, relatively complicated, need to perform team training Firefly, install, configure, and more simple, including installation, configuration, and training, including installation, configuration, and training, including installation, configuration, and training. month. CVS installation, more complicated, but use is relatively simple, just make simple training for configuration management, PVCS is relatively simple, just make simple training for configuration management, you can install, configure, and use it is simple, it is easy to get started. use
From the user interface, with the integration of development tools, these mainstream configuration management software have better design, with better ease of use. Safety episode seven security comparison table
Tool name
Description
CLEARCASE uses a C / S mode that requires a storage directory on the server for client access. This will bring a certain security hidden danger Firefly server that does not share it. It does not transparent to the client. The client cannot directly access the storage directory. The system is safer and reliable CVS with C / S mode. You do not need the storage directory on the shared server. The security of PVCs is based on file system sharing, and you need to share storage directories with "writable" permission, there is a large security hazard VSS Based on file system sharing implementation to server access, you need to share storage directories, which will bring certain security hazards 3) If it accepts Rational Clearcase, Hansky Firefly is a corporate level configuration management tool software, ClearCase is more expensive, In contrast, Hansky Firefly is a good choice. The price of PVCs is approximately hundreds of US dollars per client. For domestic companies, the cost performance is not cost-effective. VSS is Microsoft packages in the Visual Studio development kit. It is clear that the cost is not very rich, the price is cheap, can be used as a personal and small project team version control. CVS is a completely free open source software, and the gap between the performance of the enterprise-level configuration management tool is not a good choice. 4) How to list eight after-sales service comparison table
Tool name
Description
Clearcase large commercial software has been acquired by IBM, but domestic market expansion is limited, so service support will be restricted. The support of Chinese users now contacts Firefly large commercial software by the support center in Sydney, Australia, has established a branch in China, and has a comprehensive development of the market. It has a support center CVS as an open source software, no official support, requiring users I find information to solve technical problems, and now I also have a company PVCS specializing in cvs to do well in the Chinese market. There is no support center VSS as Microsoft's non-core products, and technical support is limited. There are some common problems on its website, only provide certain technical support for officially purchased users.
After-sales service and product support are also a very important inspection point, and the tools like this in the process of use are common, some are because improper use, some are the defects of the tool itself. These issues will directly affect the use of the development team, so it is important to find professional technicians to solve these problems.