In this world of rapidly changing technology, it has become a need for IT companies to have people working in parallel on Software projects across different geographical locations. Under these circumstances, using Software Configuration Management tools to keep track of all the changes in the code is the need of the times. This essay outlines the definition and primary characteristics of a Software Configuration Management system, and its role in any organization. It also explains the SCM Technology used by IBM ClearCase as an example of how SCM tools actually work.
Full Text (907 words)In this era of rapid advancements in the world of Software Technology, there are Software developers working together on the same project across continents and geographical locations due to the evolution of the Global Delivery Model. Projects now involve global teams working in parallel and modifying the same code base from different locations at the same time .Under these circumstances, the absence of a version control system would have caused the most unimaginable catastrophes.
In the event of two programmers made changes to the same part of the code simultaneously, changes made by the second developer could undo or break the changes by the former, affecting the project dramatically. Tested features would disappear mysteriously, and the entire development could be marred by many such crippling and frustrating problems.To circumvent these problems however, all IT companies use a Software Configuration Management tool to keep track of all the changes in the code. According to the definition of SCM, “Configuration management is the discipline of developing uniform descriptions of a complex product at discrete points in its lifecycle with a view to controlling systematically the manner in which the product evolves.
” (K.Narayanaswamy and W. Scacchi, “Maintaining configurations of evolving software systems”, IEEE Transactions on Software Engineering March 1987, Vol. 13 No. 4, pp. 323-334.) As the definition clearly explains, Software Configuration Management keeps a track of all the changes made to all components, recording the way they contribute to every release. It is a boon for parallel development, and also for the growth of sub projects within a project..SCM tools primarily create a different version of the entire system for every user, and isolate the changes made by a developer from the rest of the code until the differences are resolved. The code is merged to the main label only after all conflicting merge points are taken care of, and it is ensured that the present changes will not have any undesired adverse effect on any other part of the code. They keep a track of the history of the source code, isolate files relevant to a particular task and reproduce the past releases. This is essential because software development goes through evolutionary phases. Initially after it’s release to the customer, there come in the defect fixing and enhancement requests for the next release. Hence if a bug is found at any point, it needs to be fixed in all the older versions also. For this we need to keep an exact snapshot of the previous versions which is done by SCM tools. These tools control the entire software and the release. They also provide security by having an authentication mechanism to validate the user before granting access the code repository.The kind of SCM tools used depends on the company’s requirements and the compatibility of the SCM tool with its code base. There are may SCM tools available in the market, like ClearCase , Microsoft Visual Souce Safe, CVS, RCS, PVCS and Synergy to name a few. Out of them, probably the most widely used and acclaimed is IBM’s Clearcase Version control system. The ClearCase Version control system supports parallel development and inbuilt Build Management. Its strategy works equally well for LAN based or geographically distributed development environments. ClearCase has an inbuilt utility called “Multisite” which is used to create a copy of an entire repository across geographical locations. In this case, apart from support for parallel development, there is also a periodic sync up to keep the changes up to date across locations You could also call this WAN based ClearCase support. The various components of the ClearCase version management system are:-Version Object Base:The ClearCase system creates a Version Object Base (VOB) which is read-only repository storing information about the directories and files under its control. This is also a globally accessible database which requires proper authentication to access it. It keeps a record and reports actions, and its history records provide reproducibility and traceability. It has powerful concepts of branching and merging, which are extremely useful for parallel development.View:In the ClearCase system, every user has a private workspace, which is derived from a particular set of rules defined in his/her configuration specification. This private workspace is called a view. Every view has a private data storage, and is isolated from the activities in other views. All views have access to the VOB, and the access to the versions transparently and automatically.Metadata:The data which is related to VOB objects, but distinct from the contents of these objects is called Metadata. It consists of Event records created whenever any change is made to the VOB object. It keeps track of who modifies what data when and where in the VOBs. This is done by permanently stored and logically assessed information related to a particular object. Metadata also comprises of Labels and Branches. Labels are user defined tags used to identify files and directories. Branches are also tags, but they are used for parallel development and can be merged back to the main stream using the merge utility. By default, all files in ClearCase are read-only and you would need to check-out the files to make any modifications in them. Once the changes are made, the files are checked in and integrated with the VOB. In Windows operating system, ClearCase gets automatically integrated with Internet Explorer so the VOBS can be viewed just like any other directory.
Software Configuration Management Tools. (2019, Dec 05). Retrieved from https://paperap.com/paper-on-essay-software-configuration-management/