When you develop computer software, change occurs, and because it happens, you need to manage it effectively. Software configuration management is a set of actions composed to regulate change, by
Need for SCM
There are many reasons for implementing an SCM system on a software project, all of which save time, lower costs, and reduce problems. First, SCM can provide safety for a project by keeping track of all the old data, requirements, code, time, and other components that went into a project. If you need to transfer to any of these components in the future, information is easy to find because it is all located in one place. This can be particularly useful in supporting the software years after the project was originally developed because it preserves the information that was present when the project was initially developed.
Second, by using the SCM backup system on a regular basis, you guarantee a consistent and correct record of what you have done. This type of backup system can save hours of time if a build is corrupted or destroyed. Without a well documented and executed backup system, a corrupted build could cost weeks of downtime.
Third, as SCM system takes care of many of the necessary parts of a project that would have to be done anyway. The SCM system interlinks these necessary components in a way that reporting can be done through one system, rather than having to fill out a time card for your work hours, a project timesheet for how many hours you worked on a particular project, and sift through many systems to bill clients.
A typical configuration management operational scenario involves a project manager who is in charge of a software group, a configuration manager who is in charge of the configuration management procedure and policies, the software engineers who are accountable for developing and maintaining the software product, and the customer who uses the product.
A work product converts a baseline only after it is evaluated and certified. Once a baseline is founded each change request must be assessed and verified by a formal method before it is processed.
Software configuration item
A software configuration item is an information that was created as part of the software engineering process. It is a document, an entire suite of test cases, or a named program component.
A configuration object has a
The SCM repository
In the initial days of software engineering, software configuration items were handled as paper records, stored in file folders or three-ring binders, and saved in metal cabinets. This procedure was uncertain for many reasons:
Today, SCIs are managed in a project database or repository. Today, the repository is a 'thing' - a database that acts as the center for both accumulation and storage of software engineering information.
The role of the repository
The repository performs the following functions:
To fulfill these functions, the repository is represented in terms of a meta-model. The meta-model defines how Information is stored in the repository, how data can be obtained by tools and viewed by software engineers, how well data security and integrity can be stated, and how simply the existing model can be extended to support new needs.
To support software configuration management, the repository must have a toolset that provides support for the following features
Versioning, dependency tracking, and Change management, requirement tracking, configuration management, and Audit trains trails.
Software configuration management process
It defines a series of tasks that have four primary objectives.
Software quality assurance Software quality is described as conformance to explicitly state functional and performance requirements, explicitly documented standards and implicit features that are anticipated of all professionally developer software ... Read More
A tunnel establishes a virtual pipe for data packets between a tunnel entry and a tunnel endpoint. Packets entering a tunnel are forwarded inside the tunnel leave the tunnel unchanged. Tunneling, that is, sending a packet through a tunnel, is achieved by using encapsulation ... Read More
The overall structure of the software components and how the success provides a conceptual integrated file system. In other words, architecture is the hierarchical structure of program components, how these components interact, and the structure of data that are used by the components ... Read More
Real-time and distributed system design The real-time system is a software system the correct functioning of the system depends on the results produced by the system the time at which these results are produced ... Read More
Waterfall Model The waterfall model also called classic life cycle requirements is well defined and stable. It suggests a systematic, sequential approach to software development. It begins with customer specification of requirements and processes through planning, modeling, instruction, and deployment ... Read More
Software Design A software design is an essential engineering description of some software product that is to be established. A design can be determined to the customer's requirements and can be assessed for quality against predefined patterns ... Read More