The document discusses software configuration management (SCM), which involves identifying changes to software, controlling changes, and ensuring changes are properly implemented. It describes SCM processes, tasks like configuration identification, change control, version control, auditing and reporting. The goal of SCM is to minimize mistakes and maximize productivity by properly managing any changes made to software.
The document discusses software configuration management (SCM), which involves identifying changes to software, controlling changes, and ensuring changes are properly implemented. It describes SCM processes, tasks like configuration identification, change control, version control, auditing and reporting. The goal of SCM is to minimize mistakes and maximize productivity by properly managing any changes made to software.
The document discusses software configuration management (SCM), which involves identifying changes to software, controlling changes, and ensuring changes are properly implemented. It describes SCM processes, tasks like configuration identification, change control, version control, auditing and reporting. The goal of SCM is to minimize mistakes and maximize productivity by properly managing any changes made to software.
software configuration management (SCM), is an activity that is applied throughout the software process because change can occur at any time. It maximizes the productivity by minimizing the mistakes of the teams involved. SCM activities are developed to: ◦ Identify changes, ◦ Change control, ◦ Ensure that changes are being properly implemented, ◦ Report changes to others who may have interest. SOFTWARE CONFIGURATION ITEMS
The items that contains all information produced
as a part of software process are collectively called a software configuration items. BASELINES
A baseline is a formally accepted version of a
software configuration item. IEEE Std. No. 610.12-1990 defines baselines as, ◦ “A specification or product that has been formally reviewed and agreed upon, that thereafter serves as the basis for further development, and that can be changed only through formal change control procedures.” SCM PROCESS
SCM process is a systems engineering practice
for establishing and maintaining consistency of a product's functional, performance, and physical attributes with its requirements, design, and operational information throughout its life. SCM TASKS
Configuration item identification,
Change control, Version control, Configuration auditing, & Reporting. SCM TASKS: CONFIGURATION ITEM IDENTIFICATION To control and manage software configuration items, each should be separately named and then organized using an object oriented approach. Two types of objects can be identified as follows: ◦ Basic objects, & ◦ Aggregate objects SOFTWARE CONFIGURATION ITEMS: CONFIGURATION ITEM IDENTIFICATION A basic object is a unit of information that has been created by a software engineer during analysis, design, code or test. E.g., a basic object might be a section of requirements specification, part of design model or a source code of a component. SOFTWARE CONFIGURATION ITEMS: CONFIGURATION ITEM IDENTIFICATION An aggregate object is a collection of basic objects. Each object has a set of distinct features that identify it uniquely: a name, a description, a list of resources. Configuration object identification can also consider the relationships that exist between named objects. E.g., using the simple notation: Class diagram <part-of> analysis model; Analysis model <part-of> requirements specification; SCM TASKS: CHANGE CONTROL A defined process that is used to handle change requests from their initiation until the time the change is implemented and released to the users. In this process, a change request is submitted and evaluated: ◦ to assess technical merit, ◦ potential side effects, ◦ overall impact on other configuration objects and system functions, & ◦ the projected cost of change. SCM TASKS: CHANGE CONTROL The results of evaluation are presented as a change report, which is used by a change control authority (CCA) – a person or a group who makes the final decision on the status and priority of the change. An engineering change order (ECO) is generated for each approved change. The ECO describes the change to be made, the constraints that must be valued and the criteria for review and audit. SCM TASKS: VERSION CONTROL Revisions, variations, and variants are the types of versions of a software product; and the principles of version control apply to all of them. A version control system updates the original file once the change has been made and appropriate SQA activities are applied to create the next version of the software. SCM TASKS: VERSION CONTROL The version control mechanisms, implement two important elements of change management: ◦ access control, & ◦ synchronization. Access control governs which software engineers have authority to access and modify a particular configuration object. Synchronization control helps to ensure that parallel changes, performed by two different people do not overwrite one another. SCM TASKS: CONFIGURATION AUDITING It is executed formally and impartially to ensure that changes have been made correctly and quality has been maintained while implementing the changes. A software configuration audit complements the formal technical review by addressing the following questions: ◦ Has the change specified in the Engineering Change Order (ECO) been made? Have any additional modifications been incorporated? ◦ Has a formal technical review been conducted to assess technical correctness? ◦ Has the software process been followed, and have software engineering standards been properly applied? SCM TASKS: CONFIGURATION AUDITING ◦ Has the change been highlighted in SCI? Have the change date and change author been specified? ◦ Have all the Software Configuration Items (SCIs) been properly updated? SCM TASKS: STATUS REPORTING It provides timely information on the status of the changes requested and the SCIs to the people who may be affected by the changes. These could be the people requesting for changes, the developers, the project manager, and the senior management. Status reports are generated on a regular basis and are intended to keep management and practitioners informed of important changes.