1.Intuction
The Standard Definition for CM Taken from IEee Standard 729-1983 [SCM] INCLUDES:
Identification: indentifying the structure of the product, its componets and their type, and making them unique and accessible in some form.For exmaple, theis addresses the quesion, "What version of the file is this?" Control: controlling the release of a product and changes to it throughout the life cycle by having controls in palce that ensure consistent software via the creation of a baseling product.For example, this addresses the question, "What changes went into the latest version of this product?" Status Accounting: . recording and reporting the status of components and change requests, and gathering vital statistics about components in the product For example, this addresses the question, "How many files were affected by fixing this one bug?" Audit and review: validating the completeness of PRODUCT AND MAINTAINNING CONSISTENCY AMONG The Components by Enssuring That The Product IS A Well-Defined Collection of Components. For Example, This Addresses The QueESON, "Are All the Correct Versions ? Of files used in this current release "When examining current technology that automates CM functions, it becomes clear that definition of CM as given by the IEEE standard needs to be broadened to encompass the extra functionality found in CM systems This concerns.:
Manufacturing: managing the construction and building of the product in an optimal manner.For example, this addresses the question, "What vertions of files and tools were used to generate this latest relaese?" Process management: ensuring the correct execution of the organization ' . sprocedure, policies, and life-cycle model for example, this addresses the question, "Were all the files tested and checked for quality before beingreleased to the customer?" Team work: controlling the work and interactions between multiple developers on a product. For example, this addresses the question, "Were all the locally made changes of the programmers merged into the last release of the product?" The CM solution is pervasive - it affects the software developmentenvironment, the software process model, the users of the Cm Sytem, The Quality of The Software Product, And The User '
s organization.This article discusses the past and present situation concerning CM systems in order to focus on the furure CM challenges. The past is characterized as in-house CM solutions whereas the present is characterized by many third-part CM solutions. The future involves technological, process-oriented, political standardization and managerial challenges. One way of addressing these challenges is through the definition of a CM services model, which is briefly dicussed. This article concludes by raising some questions about the nature of CM in relation to software engineering problems in general.2.The PastIn the past CM was a private, organizational problem. A few organizations fell into a CM solution because they realized that managing changes to their software was very complex and they needed assistance. Other organizations dis not use CM because THE PROBLEMS WERE NOT CLEARLY EVIDENT NOR WERE The Any Third-Party Tools Available To Assist Tools Available To Assist THE, AND THE COST OF IN-House Devel opment was viewed as too expensive. CM solutions generally entailed version control facilities that came with the operating system (such as SCCS with Unix) and some kind of build facility (such as job control scripts or Make). Organizations were thus dependent upon the operating system vendor for any CM capabilities or had to develop them in-house Usually change control facilities (such as change request solution involved manual procedures and policies;. people would keep any CM information in their head of filling cabinet; or a librarian would be assigned To Carry Out The CM FunctionsL and in Large Companies, Length Document IN LARGE Company Manuals.3. The present
Repository: captures CM information and stores versions of files as immutable objects, as in RCS.Distributed component: allows distributed users to have access to a repository workstations, as in Sherpa DMS.Context management: captures in a domain-specific manner the working context for the user, thereby eliminating the need for users to remember how they got to a particular working status and what all the data items, their relationships, and tools are in that context, as in Powerframe.Contract: represents a formal plan for, and a record of, a unit of work on a configuration item, as in ISTAR.Change request: assists in driving the process of change to configurations and keeping an audit trail of the changes, as in LIFESPAIN.Life-cycle model: represent the process of developing and maintainning configurations through various phases, as in CCC.Change set: represents a logicl change to a product and a means of creating any version of configuration that is not necessarily dependent on the latest version of that configuration, as in ADC.System modeling: abstracts the notion of a configuration from an instance of it and by fully describing the configuration, assists tools in maintaing the configuration '
s integrity, as in Jasmine.Subbsystem: provide a means to limit the effect of changes and recomplilation, and for the environment to check the validity of configurations, as in Rational.Object pool: optimizes the need for regenerating objects and maximizes the amount of sharing of derived objects, as in DSEE.Attribution: permits the description of a system at a higher level of abstraction via its characteristics, as in Adele, rather than in terms of a composition of files from a lengthy file list.Consistency maintenance: enables the environment to identify any inconsistencies and to preserve consistencies in creating and reusing configurations, as in CMA.Workspace: provides isolation of work between programmers and distinguishes between a global, long-term repository for immutable objects and a orivate, shorter term repository for mutable Objects, AS in Shape.Transparent View: Gives A Viewing MAINSM for a Configuration from the Main Repository Into a Workspace with Protection Again s unacuthorized access as in SMS.Transaction:. synchronizes and coordinates teams of engineers changing the same of different configuration, as in NSE.These concepts provide a vocabulary that enables people to discuss automated CM suport No single CM system provides all these concepts It. IS Also Possible to Categorize Some Cm Tools Suited to Developers Based on The Sets of Concepts The Provide. The Four Categorites Are: