Friday, January 16, 2009

Configuration Management.

Configuration Management.

Configuration management (CM) is the detailed recording and updating of information that describes an enterprise's computer systems and networks, including all
hardware and software components. Such information typically includes the versions and updates that have been applied to installed software packages and the locations and network addresses of hardware devices. Special configuration management software is available.
When a system needs a hardware or software upgrade, a computer technician can accesses the configuration management program and database to see what is currently installed. The technician can then make a more informed decision about the upgrade needed.

An advantage of a configuration management application is that the entire collection of systems can be reviewed to make sure any changes made to one system do not adversely affect any of the other systems

Configuration management is also used in software development, where it is called Unified Configuration Management (UCM). Using UCM, developers can keep
track of the source code, documentation, problems, changes requested, and changes made.

Software CM is a discipline for controlling the evolution of software systems.

1. Identification: an identification scheme is needed to reflect the structure of the product. This involves identifying the structure and kinds of components, making

them unique and accessible in some form by giving each component a name, a version identification, and a configuration identification.


2. Control: controlling the release of a product and changes to it throughout the lifecycle by having controls in place that ensure consistent software via the creation

of a baseline product.


3. Status Accounting: recording and reporting the status of components and change requests, and gathering vital statistics about components in the product.


4. Audit and review: validating the completeness of a product and maintaining consistency among the components by ensuring that components are in an
appropriate state throughout the entire project life cycle and that the product is a well-defined collection of components.

The definition includes terminology such as configuration item, baseline, release and version, etc. At a high level, most designers of CM systems incorporate functionality of varying degrees to support these aspects. But at the implementation level, from the user's viewpoint, most CM systems have different functionality.

Among the many reasons for these differences are: disparate hardware platforms, operating system, and programming languages. But an interesting reason is due to
the different kinds of users of a CM system. This stems from the role the user plays in the organization. In particular, a manager, a software engineer developing an
application, an application customer, and an environment builder tend to see CM differently. As a result, they may want differing (albeit complementary) functionality
from their CM system. For example, to a manager the term "CM" conjures up the image of a Configuration Control Board. To a software engineer, the image of baselines arise. To a customer, versions of the application arise. And to the environment builder, mechanisms such as libraries and data compression arise. All these images obviously result in different requirements for a CM system and hence possibly different functionality.

No comments:

Post a Comment