



Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
A comprehensive guide to software configuration management (scm), a set of activities aimed at identifying, organizing, and controlling changes throughout the lifecycle of computer software. It covers topics such as configuration identification, baselines, change control, version control, configuration audit, and configuration audit. The document also explains the scm process, the change control process, and the role of version control systems.
Typology: Summaries
1 / 5
This page cannot be seen from the preview
Don't miss anything!
➢ Software Configuration management is a set of activities carried out for identifying, organizing and controlling changes throughout the lifecycle of computer software. ➢ The SCM (Software Configuration Management) is a set of activities that have been developed to manage change throughout the software life cycle. ➢ The purpose of SCM is systematically control changes to the configuration and maintain the integrity and traceability of the configuration throughout the system’s life cycle. ➢ What all Changes? ✓ Change in requirements. ✓ Change in Team/ organization ✓ Change in Government Policies ✓ Change in Project Schedule ➢ SCM activities are developed to: ✓ To identify all items that collectively define the software configuration ✓ To manage changes to one or more of these items ✓ To facilitate the construction of different versions of an application ✓ To ensure that software quality is maintained as the Configuration evolves over time
➢ Referring to the above figure, SCM tasks can viewed as concentric layers. ➢ SCIs flow outward through these layers throughout their useful life, ultimately becoming part of the software configuration of one or more versions of an application or system. ➢ As an SCI moves through a layer, the actions implied by each SCM task may or may not be applicable ➢ For example, when a new SCI is created, it must be identified. ➢ However, if no changes are requested for the SCI, the change control layer does not apply. ➢ The SCI is assigned to a specific version of the software (version control mechanisms come into play). ➢ A record of the SCI (its name, creation date, version, etc.) is maintained for configuration auditing purposes
1. Configuration Identification : ✓ To control and manage software configuration items, Identification separately names each SCI and then organizes it in the SCM repository using an object-oriented approach ✓ The identification scheme for software objects must recognize that objects evolve throughout the software process. Before an object is baselined, it may change many times, and even after a baseline has been established, changes may be quite frequent. ✓ Objects start out as basic objects (Design Patterns) and are then grouped into aggregate objects (Full architectural collection of basic objects). ✓ Each object has a set of distinct features that identify it. o A name that is unambiguous to all other objects o A description that contains the SCI type, a project identifier, and change and/or version information o List of resources needed by the object o The object realization (i.e., the document, the file, the model, etc.) 2. Baselines: ✓ A baseline is a formally accepted version of a software configuration item. It is designated and fixed at a specific time while conducting the SCM process. ✓ It can only be changed through formal change control procedures. ✓ A change is a movement from this baseline state to a next state. 3. Change Control: ✓ For a large software project, uncontrolled change rapidly leads to chaos. ✓ For such projects, change control combines human procedures and automated tools to provide a mechanism for the control of change.
✓ The object to be changed is "checked out" of the project database, the change is made, and appropriate SQA activities are applied. ✓ The object is then "checked in" to the database and appropriate version control mechanisms are used to create the next version of the software. ✓ The Base lined SCI is obtained from the SCM repository o Access control governs which software engineers have the authority to access and modify a particular configuration object o Synchronization control helps to ensure that parallel changes performed by two different people don't overwrite one another.
4. Version Control: ✓ When item is baselined, it become frozen. The term frozen means that the item can only be changed by creating a new version. ✓ Version control combines procedures and tools to manage different versions of configuration objects that are created during the software process. ✓ A version control system implements or is directly integrated with four major capabilities: 1) a project database (repository) that stores all relevant configuration objects, 2) a version management capability that stores all versions of a configuration object (or enables any version to be constructed using differences from past versions), 3) a make facility that enables you to collect all relevant configuration objects and construct a specific version of the software. 4) Issues or bug tracking capability that enables the team to record and track the status of all outstanding issues associated with each configuration object. ✓ The SCM repository maintains a change set 1) Serves as a collection of all changes made to a baseline configuration 2) Used to create a specific version of the software 3) Captures all changes to all files in the configuration along with the reason for changes and details of who made the changes and when Example: Few version control systems: ✓ To accomplish this, a system modeling approach is applied. The system model contains: 1) A template that includes a component hierarchy and a “build order” for the components that describes how the system must be constructed. 2) Construction rules. 3) Verification rules.
✓ A number of different automated approaches to version control have been pro- posed over the past decade. ✓ The primary difference in approaches is the sophistication of the attributes that are used to construct specific versions and variants of a system and the mechanics of the process for construction.
5. Configuration Audit: ✓ Configuration auditing is an SQA activity that helps to ensure that quality is maintained as changes are made. ✓ It complements the formal technical review and is conducted by the SQA group ✓ It addresses the following questions o Has a formal technical review been conducted to assess technical correctness? o Has the software process been followed and have software engineering standards been properly applied? o Has the change been "highlighted" and "documented" in the SCI? Have the change data and change author been specified? Do the attributes of the configuration object reflect the change? o Have SCM procedures for noting the change, recording it and reporting it been followed? o Have all related SCIs been properly updated? ✓ A configuration audit ensures that o The correct SCIs (by version) have been incorporated into a specific build o That all documentation is up-to-date and consistent with the version that has been built ✓ Reporting: ✓ Configuration status reporting (CSR) is also called status accounting. ✓ Provides information about each change to those personnel in an organization with a need to know. ✓ Answers what happened, who did it, when did it happen and what else will be affected? ✓ Sources of entries for configuration status reporting o Each time a SCI is assigned new or updated information. o Each time a configuration audit is conducted. ✓ The configuration status report o Placed in an on-line database or on a website for software developers and maintainers to read. o Given to management and practitioners to keep them appraised of important changes to the project SCIs.