{"id":41,"date":"2018-07-21T05:44:41","date_gmt":"2018-07-21T05:44:41","guid":{"rendered":"http:\/\/csp9.epgpbooks.inflibnet.ac.in\/?post_type=chapter&#038;p=41"},"modified":"2022-01-06T11:32:20","modified_gmt":"2022-01-06T11:32:20","slug":"software-configuration-management","status":"publish","type":"chapter","link":"https:\/\/ebooks.inflibnet.ac.in\/csp9\/chapter\/software-configuration-management\/","title":{"rendered":"Software Configuration Management"},"content":{"raw":"<div>\r\n\r\n<strong>Introduction<\/strong>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify;\">Software configuration management (SCM) is a software-engineering discipline comprising the tools and techniques (processes or methodology) that a company uses to manage change to its software assets.<\/p>\r\n&nbsp;\r\n<p style=\"text-align: justify;\">SCM enhances the reliability and quality of software by:<\/p>\r\n&nbsp;\r\n<p style=\"text-align: justify;\">\u2022 Providing structure for identifying and controlling documentation, code, interfaces, and databases to support all life-cycle phases<\/p>\r\n<p style=\"text-align: justify;\">\u2022 Supporting a chosen development\/maintenance methodology that fits the requirements, standards, policies, organization, and management philosophy<\/p>\r\n<p style=\"text-align: justify;\">\u2022 Producing management and product information concerning the status of baselines, change control, tests, releases, audits, etc.<\/p>\r\n&nbsp;\r\n<p style=\"text-align: justify;\">When implementing SCM tools and processes, you must define what practices and policies to employ to avoid common configuration problems and maximize team productivity. Many years of practical experience have shown that the following best practices are essential to successful software development:<\/p>\r\n\r\n<ul>\r\n \t<li>Identify and store artifacts in a secure repository.<\/li>\r\n \t<li>Control and audit changes to artifacts.<\/li>\r\n \t<li>Organize versioned artifacts into versioned components.<\/li>\r\n \t<li>Organize versioned components and subsystems into versioned subsystems.<\/li>\r\n \t<li><span style=\"font-size: 1em;\">Create baselines at project milestones.<\/span><\/li>\r\n \t<li>Record and track requests for change.<\/li>\r\n \t<li>Organize and integrate consistent sets of versions using activities.<\/li>\r\n \t<li>Maintain stable and consistent workspaces.<\/li>\r\n \t<li>Support concurrent changes to artifacts and components.<\/li>\r\n \t<li>Integrate early and often.<\/li>\r\n \t<li>Ensure reproducibility of software builds.<\/li>\r\n<\/ul>\r\n<\/div>\r\n<p style=\"text-align: justify;\">Change is continues in day to day life. In software development also changes come often. In all phases of the system life cycle, the system will change continuously. Therefore, it is necessary to provide a facility for making changes in the software developed in a project. The main objective of this chapter is to introduce the Software Configuration Management (SCM) Techniques and activities, explain the role of baseline in SCM, explain the concept of change management process and to explain the procedures adopted for approval of changes. Therefore, software configuration management is the art of identifying, organizing, and controlling modifications to the software being built by a programming team in order to maximize productivity by minimizing mistakes.<\/p>\r\n&nbsp;\r\n\r\n<strong>Change Control Objects<\/strong>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify;\">In software development, changes are starting from business requirement and goes upto documentation. Therefore, changes will come in requirements document, design document, program code, test reports and data. All these changes must be performed using a systematic procedure. The major software configuration items are programs, data and documents as shown in figure 1.<\/p>\r\n&nbsp;\r\n\r\n<img class=\"size-full wp-image-46 aligncenter\" src=\"http:\/\/csp9.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/54\/2018\/07\/pic.png\" alt=\"\" width=\"343\" height=\"187\" \/>\r\n<div id=\"pageContainer2\" class=\"page\">\r\n<div class=\"textLayer\">\r\n<div style=\"text-align: center;\">Figure 1. Software Configuration Items<\/div>\r\n<\/div>\r\n<\/div>\r\n<div id=\"pageContainer3\" class=\"page\">\r\n<div class=\"textLayer\"><\/div>\r\n<\/div>\r\nThe major items in software configuration management include system specification, software project plan, software requirements specification, preliminary user manual and design specification. With that items the major grouping namely source code listing, test plan and procedures, manuals for installation &amp; operation and executable software can be performed for effective management.\r\n<div>\r\n\r\n&nbsp;\r\n\r\n<strong>Change and Software Configuration Management<\/strong>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify;\">The steps involved in software configuration management are identification, version control, change control, auditing and reporting. All these activities are supported by suitable tools, methods, procedures and total quality management foundations. Therefore, the activities such as identification of changes, application of change control procedures, ensuring that changes are being properly implemented and reporting the changes to others who may have an interest are to be carried out effectively for proper change management.<\/p>\r\n&nbsp;\r\n\r\n<strong>Baseline<\/strong>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify;\">A baseline is an SCM concept which helps to control the changes without seriously affecting the justifiable changes. Therefore, a baseline is a logical specification that has been formally reviewed by a review team and is agreed upon by the development team. Hence, thereafter the baseline serves as the basis for further changes in the development. Any new change can be changed only through the application of formal change control procedures. This implies that once a baseline is established, changes can be made to the configuration objects only thorough a formal procedure, which evaluates and verifies each change.<\/p>\r\n&nbsp;\r\n\r\nThe following questions must be answered by SCM:\r\n\r\n&nbsp;\r\n\r\n\u2022\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 How to manage the change requests?\r\n\r\n\u2022\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 What are the components to be changed and where are they?\r\n\r\n\u2022\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 What is the current status of each modifiable component?\r\n\r\n\u2022\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Is there side effect due to the change in one component on other components?\r\n\r\n\u2022\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 How to handle the conflicts in changes?\r\n\r\n\u2022\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 How to perform version control?\r\n\r\n\u2022\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 How to keep the system with recent updates?\r\n\r\n<\/div>\r\n<strong>SCM Task1 : Identification of Objects<\/strong>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify;\">In SCM, the configuration objects may be either a basic object or an aggregate object. The basic object is a \u201cunit of text\u201d which has been created by a software engineering team during analysis, design, coding, or testing. On the other hand, an aggregate object is a collection of basic software configuration objects and other aggregate objects which are formed from basic objects. In addition, each object has a set of distinct features that identify the particular object uniquely using its name, the description made, the list of resources related to this item and a realization of the object.<\/p>\r\n&nbsp;\r\n\r\n<strong>SCM Task 2: Version Control<\/strong>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify;\">Whenever a new software is made by extending the old software, a new version number is provided. The version numbers can be in terms of 1,2,3, etc., or it can be 1.0, 1.1, 1.2 and so on. Therefore, version control technique combines the procedures and methods used to manage different versions of programs, software and configuration objects. It can be either as simple as specifying a version number or it can be so complex that a new data structure may be introduced to indicate the specific types of functional changes which have been applied to the existing system to provide a new system.<\/p>\r\n&nbsp;\r\n\r\n<strong>SCM Task 3 : Change Control<\/strong>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify;\">The change control procedure combines human procedures and automated tools to provide a mechanism for the control of changes. In change control first the need for change is recognized. Once it is identified, the user create a Change Request (CR) by filing a change request form. Th eform is submitted by the user to the development team. The development team evaluates the change request and submits a report to the change control body. Based on this report, the change control body can either approve or reject the change request. If the change request is approved, an engineering change order is generated and put in the queue for processing. If it not approved, it is given in two categories namely the first category in which the requestor is asked to produce more information. In the second category, the change request is fully rejected. In the second case, the requestor cannot appeal again for the changes required.<\/p>\r\n&nbsp;\r\n<p style=\"text-align: justify;\">If the changes are approved, staffs are assigned to implement the change order. In this scenario, the source code, documents and data are checked out for making changes. Once the changes are made, it should be reviewed, audited and tested using baseline checking and testing activities. The modified source code is checked in for storing in the database. It must include all changes in the new release.<\/p>\r\n&nbsp;\r\n\r\n<strong>Access Control<\/strong>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify;\">Figure 2 shows the procedure used to perform check- in and check-out of software configuration items. Form figure 2 it can be observed that change control requires restricted access to the\u00a0configuration objects. Moreover, an ECO (engineering change order) must be generated by the Change Control body and required for \u201ccheck-out\u201d. After changes are made and have been reviewed, the changed configuration item is ready for \u201ccheck- in\u201d. in this scenario, the access control policies govern which software engineers have the authority to access and modify a particular configuration object.<\/p>\r\n&nbsp;\r\n<p style=\"text-align: justify;\"><img class=\"size-full wp-image-49 aligncenter\" src=\"http:\/\/csp9.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/54\/2018\/07\/pic1.png\" alt=\"\" width=\"386\" height=\"323\" \/><\/p>\r\n\r\n<div>\r\n<div style=\"text-align: center;\">Figure 2. Access Control<\/div>\r\n<strong>SCM Task 4 : Configuration Audit<\/strong>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify;\">The next step in software configuration management is configuration audit. In this process, it is necessary to check whether a change authorized by an ECO has been properly implemented must be checked. In addition, formal technical reviews must be conducted and software configuration audit must be carried out. In this scenario, the formal technical review focuses on the technical correctness of the configuration object that has been modified. Moreover, software configuration audit is used to assess a configuration object for other characteristics. In software configuration audit the following questions must be considered for approving the changes.<\/p>\r\n\r\n<ul>\r\n \t<li>\u00a0Has the change specified in the ECO been made? Have any additional modifications been made?<\/li>\r\n \t<li>\u00a0Has a formal technical review been done?<\/li>\r\n \t<li>\u00a0Have software engineering standards been followed?<\/li>\r\n \t<li>\u00a0Has the change been \u201chighlighted\u201d?\u00a0 Have the change date and author been specified?<\/li>\r\n \t<li><span style=\"font-size: 1em;\">\u00a0Have SCM procedures been followed?<\/span><\/li>\r\n \t<li><span style=\"font-size: 1em;\">\u00a0Have all related ECOs been properly updated?<\/span><\/li>\r\n<\/ul>\r\n<\/div>\r\n<p style=\"text-align: justify;\">In this way, change control management is carried out by taking the items from the database and stored back whenever the configuration process is completed.<\/p>\r\n&nbsp;\r\n\r\n<strong>SCM Task 5: Configuration Status Reporting<\/strong>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify;\">In any activity, status reporting is an important activity. Therefore, any changes made to existing software, status reporting must be performed. Moreover, this reporting must be able to provide suitable answers to the queries namely what happened, when it has happened, who did it and any other modules are affected by the changes in one module.<\/p>\r\n&nbsp;\r\n\r\n<strong>Summary<\/strong>\r\n\r\n&nbsp;\r\n<p style=\"text-align: justify;\">There many advantages which are beneficial to the developer and customer by the application of software configuration management procedure. Therefore, SCM reduces the effort required to manage and effect change with improved productivity. Moreover, SCM leads to better software integrity and security and thereby provides increased quality. Using software configuration management, it is possible to generate information about the process which is used to perform enhanced management control. It is also beneficial with respect to storage since it maintains a software development database and thereby provides a facility for better record keeping and tracking. From SCM process, it can be seen that quality is based on good testing. Moreover, SCM can be applied to improve the quality using process and product metrics as well as reviews.<\/p>\r\n&nbsp;\r\n\r\n&nbsp;\r\n\r\n<img class=\"size-full wp-image-50 alignleft\" src=\"http:\/\/csp9.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/54\/2018\/07\/pic1-1.png\" alt=\"\" width=\"628\" height=\"191\" \/>","rendered":"<div>\n<p><strong>Introduction<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">Software configuration management (SCM) is a software-engineering discipline comprising the tools and techniques (processes or methodology) that a company uses to manage change to its software assets.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">SCM enhances the reliability and quality of software by:<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">\u2022 Providing structure for identifying and controlling documentation, code, interfaces, and databases to support all life-cycle phases<\/p>\n<p style=\"text-align: justify;\">\u2022 Supporting a chosen development\/maintenance methodology that fits the requirements, standards, policies, organization, and management philosophy<\/p>\n<p style=\"text-align: justify;\">\u2022 Producing management and product information concerning the status of baselines, change control, tests, releases, audits, etc.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">When implementing SCM tools and processes, you must define what practices and policies to employ to avoid common configuration problems and maximize team productivity. Many years of practical experience have shown that the following best practices are essential to successful software development:<\/p>\n<ul>\n<li>Identify and store artifacts in a secure repository.<\/li>\n<li>Control and audit changes to artifacts.<\/li>\n<li>Organize versioned artifacts into versioned components.<\/li>\n<li>Organize versioned components and subsystems into versioned subsystems.<\/li>\n<li><span style=\"font-size: 1em;\">Create baselines at project milestones.<\/span><\/li>\n<li>Record and track requests for change.<\/li>\n<li>Organize and integrate consistent sets of versions using activities.<\/li>\n<li>Maintain stable and consistent workspaces.<\/li>\n<li>Support concurrent changes to artifacts and components.<\/li>\n<li>Integrate early and often.<\/li>\n<li>Ensure reproducibility of software builds.<\/li>\n<\/ul>\n<\/div>\n<p style=\"text-align: justify;\">Change is continues in day to day life. In software development also changes come often. In all phases of the system life cycle, the system will change continuously. Therefore, it is necessary to provide a facility for making changes in the software developed in a project. The main objective of this chapter is to introduce the Software Configuration Management (SCM) Techniques and activities, explain the role of baseline in SCM, explain the concept of change management process and to explain the procedures adopted for approval of changes. Therefore, software configuration management is the art of identifying, organizing, and controlling modifications to the software being built by a programming team in order to maximize productivity by minimizing mistakes.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Change Control Objects<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">In software development, changes are starting from business requirement and goes upto documentation. Therefore, changes will come in requirements document, design document, program code, test reports and data. All these changes must be performed using a systematic procedure. The major software configuration items are programs, data and documents as shown in figure 1.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-46 aligncenter\" src=\"http:\/\/csp9.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/54\/2018\/07\/pic.png\" alt=\"\" width=\"343\" height=\"187\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp9\/wp-content\/uploads\/sites\/54\/2018\/07\/pic.png 343w, https:\/\/ebooks.inflibnet.ac.in\/csp9\/wp-content\/uploads\/sites\/54\/2018\/07\/pic-300x164.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp9\/wp-content\/uploads\/sites\/54\/2018\/07\/pic-65x35.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp9\/wp-content\/uploads\/sites\/54\/2018\/07\/pic-225x123.png 225w\" sizes=\"auto, (max-width: 343px) 100vw, 343px\" \/><\/p>\n<div id=\"pageContainer2\" class=\"page\">\n<div class=\"textLayer\">\n<div style=\"text-align: center;\">Figure 1. Software Configuration Items<\/div>\n<\/div>\n<\/div>\n<div id=\"pageContainer3\" class=\"page\">\n<div class=\"textLayer\"><\/div>\n<\/div>\n<p>The major items in software configuration management include system specification, software project plan, software requirements specification, preliminary user manual and design specification. With that items the major grouping namely source code listing, test plan and procedures, manuals for installation &amp; operation and executable software can be performed for effective management.<\/p>\n<div>\n<p>&nbsp;<\/p>\n<p><strong>Change and Software Configuration Management<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">The steps involved in software configuration management are identification, version control, change control, auditing and reporting. All these activities are supported by suitable tools, methods, procedures and total quality management foundations. Therefore, the activities such as identification of changes, application of change control procedures, ensuring that changes are being properly implemented and reporting the changes to others who may have an interest are to be carried out effectively for proper change management.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Baseline<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">A baseline is an SCM concept which helps to control the changes without seriously affecting the justifiable changes. Therefore, a baseline is a logical specification that has been formally reviewed by a review team and is agreed upon by the development team. Hence, thereafter the baseline serves as the basis for further changes in the development. Any new change can be changed only through the application of formal change control procedures. This implies that once a baseline is established, changes can be made to the configuration objects only thorough a formal procedure, which evaluates and verifies each change.<\/p>\n<p>&nbsp;<\/p>\n<p>The following questions must be answered by SCM:<\/p>\n<p>&nbsp;<\/p>\n<p>\u2022\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 How to manage the change requests?<\/p>\n<p>\u2022\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 What are the components to be changed and where are they?<\/p>\n<p>\u2022\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 What is the current status of each modifiable component?<\/p>\n<p>\u2022\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Is there side effect due to the change in one component on other components?<\/p>\n<p>\u2022\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 How to handle the conflicts in changes?<\/p>\n<p>\u2022\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 How to perform version control?<\/p>\n<p>\u2022\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 How to keep the system with recent updates?<\/p>\n<\/div>\n<p><strong>SCM Task1 : Identification of Objects<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">In SCM, the configuration objects may be either a basic object or an aggregate object. The basic object is a \u201cunit of text\u201d which has been created by a software engineering team during analysis, design, coding, or testing. On the other hand, an aggregate object is a collection of basic software configuration objects and other aggregate objects which are formed from basic objects. In addition, each object has a set of distinct features that identify the particular object uniquely using its name, the description made, the list of resources related to this item and a realization of the object.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>SCM Task 2: Version Control<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">Whenever a new software is made by extending the old software, a new version number is provided. The version numbers can be in terms of 1,2,3, etc., or it can be 1.0, 1.1, 1.2 and so on. Therefore, version control technique combines the procedures and methods used to manage different versions of programs, software and configuration objects. It can be either as simple as specifying a version number or it can be so complex that a new data structure may be introduced to indicate the specific types of functional changes which have been applied to the existing system to provide a new system.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>SCM Task 3 : Change Control<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">The change control procedure combines human procedures and automated tools to provide a mechanism for the control of changes. In change control first the need for change is recognized. Once it is identified, the user create a Change Request (CR) by filing a change request form. Th eform is submitted by the user to the development team. The development team evaluates the change request and submits a report to the change control body. Based on this report, the change control body can either approve or reject the change request. If the change request is approved, an engineering change order is generated and put in the queue for processing. If it not approved, it is given in two categories namely the first category in which the requestor is asked to produce more information. In the second category, the change request is fully rejected. In the second case, the requestor cannot appeal again for the changes required.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">If the changes are approved, staffs are assigned to implement the change order. In this scenario, the source code, documents and data are checked out for making changes. Once the changes are made, it should be reviewed, audited and tested using baseline checking and testing activities. The modified source code is checked in for storing in the database. It must include all changes in the new release.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Access Control<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">Figure 2 shows the procedure used to perform check- in and check-out of software configuration items. Form figure 2 it can be observed that change control requires restricted access to the\u00a0configuration objects. Moreover, an ECO (engineering change order) must be generated by the Change Control body and required for \u201ccheck-out\u201d. After changes are made and have been reviewed, the changed configuration item is ready for \u201ccheck- in\u201d. in this scenario, the access control policies govern which software engineers have the authority to access and modify a particular configuration object.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-49 aligncenter\" src=\"http:\/\/csp9.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/54\/2018\/07\/pic1.png\" alt=\"\" width=\"386\" height=\"323\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp9\/wp-content\/uploads\/sites\/54\/2018\/07\/pic1.png 386w, https:\/\/ebooks.inflibnet.ac.in\/csp9\/wp-content\/uploads\/sites\/54\/2018\/07\/pic1-300x251.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp9\/wp-content\/uploads\/sites\/54\/2018\/07\/pic1-65x54.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp9\/wp-content\/uploads\/sites\/54\/2018\/07\/pic1-225x188.png 225w, https:\/\/ebooks.inflibnet.ac.in\/csp9\/wp-content\/uploads\/sites\/54\/2018\/07\/pic1-350x293.png 350w\" sizes=\"auto, (max-width: 386px) 100vw, 386px\" \/><\/p>\n<div>\n<div style=\"text-align: center;\">Figure 2. Access Control<\/div>\n<p><strong>SCM Task 4 : Configuration Audit<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">The next step in software configuration management is configuration audit. In this process, it is necessary to check whether a change authorized by an ECO has been properly implemented must be checked. In addition, formal technical reviews must be conducted and software configuration audit must be carried out. In this scenario, the formal technical review focuses on the technical correctness of the configuration object that has been modified. Moreover, software configuration audit is used to assess a configuration object for other characteristics. In software configuration audit the following questions must be considered for approving the changes.<\/p>\n<ul>\n<li>\u00a0Has the change specified in the ECO been made? Have any additional modifications been made?<\/li>\n<li>\u00a0Has a formal technical review been done?<\/li>\n<li>\u00a0Have software engineering standards been followed?<\/li>\n<li>\u00a0Has the change been \u201chighlighted\u201d?\u00a0 Have the change date and author been specified?<\/li>\n<li><span style=\"font-size: 1em;\">\u00a0Have SCM procedures been followed?<\/span><\/li>\n<li><span style=\"font-size: 1em;\">\u00a0Have all related ECOs been properly updated?<\/span><\/li>\n<\/ul>\n<\/div>\n<p style=\"text-align: justify;\">In this way, change control management is carried out by taking the items from the database and stored back whenever the configuration process is completed.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>SCM Task 5: Configuration Status Reporting<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">In any activity, status reporting is an important activity. Therefore, any changes made to existing software, status reporting must be performed. Moreover, this reporting must be able to provide suitable answers to the queries namely what happened, when it has happened, who did it and any other modules are affected by the changes in one module.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Summary<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">There many advantages which are beneficial to the developer and customer by the application of software configuration management procedure. Therefore, SCM reduces the effort required to manage and effect change with improved productivity. Moreover, SCM leads to better software integrity and security and thereby provides increased quality. Using software configuration management, it is possible to generate information about the process which is used to perform enhanced management control. It is also beneficial with respect to storage since it maintains a software development database and thereby provides a facility for better record keeping and tracking. From SCM process, it can be seen that quality is based on good testing. Moreover, SCM can be applied to improve the quality using process and product metrics as well as reviews.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-50 alignleft\" src=\"http:\/\/csp9.epgpbooks.inflibnet.ac.in\/wp-content\/uploads\/sites\/54\/2018\/07\/pic1-1.png\" alt=\"\" width=\"628\" height=\"191\" srcset=\"https:\/\/ebooks.inflibnet.ac.in\/csp9\/wp-content\/uploads\/sites\/54\/2018\/07\/pic1-1.png 628w, https:\/\/ebooks.inflibnet.ac.in\/csp9\/wp-content\/uploads\/sites\/54\/2018\/07\/pic1-1-300x91.png 300w, https:\/\/ebooks.inflibnet.ac.in\/csp9\/wp-content\/uploads\/sites\/54\/2018\/07\/pic1-1-65x20.png 65w, https:\/\/ebooks.inflibnet.ac.in\/csp9\/wp-content\/uploads\/sites\/54\/2018\/07\/pic1-1-225x68.png 225w, https:\/\/ebooks.inflibnet.ac.in\/csp9\/wp-content\/uploads\/sites\/54\/2018\/07\/pic1-1-350x106.png 350w\" sizes=\"auto, (max-width: 628px) 100vw, 628px\" \/><\/p>\n","protected":false},"author":4,"menu_order":3,"template":"","meta":{"pb_show_title":"on","pb_short_title":"","pb_subtitle":"","pb_authors":[],"pb_section_license":""},"chapter-type":[],"contributor":[],"license":[],"class_list":["post-41","chapter","type-chapter","status-publish","hentry"],"part":3,"_links":{"self":[{"href":"https:\/\/ebooks.inflibnet.ac.in\/csp9\/wp-json\/pressbooks\/v2\/chapters\/41","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ebooks.inflibnet.ac.in\/csp9\/wp-json\/pressbooks\/v2\/chapters"}],"about":[{"href":"https:\/\/ebooks.inflibnet.ac.in\/csp9\/wp-json\/wp\/v2\/types\/chapter"}],"author":[{"embeddable":true,"href":"https:\/\/ebooks.inflibnet.ac.in\/csp9\/wp-json\/wp\/v2\/users\/4"}],"version-history":[{"count":10,"href":"https:\/\/ebooks.inflibnet.ac.in\/csp9\/wp-json\/pressbooks\/v2\/chapters\/41\/revisions"}],"predecessor-version":[{"id":313,"href":"https:\/\/ebooks.inflibnet.ac.in\/csp9\/wp-json\/pressbooks\/v2\/chapters\/41\/revisions\/313"}],"part":[{"href":"https:\/\/ebooks.inflibnet.ac.in\/csp9\/wp-json\/pressbooks\/v2\/parts\/3"}],"metadata":[{"href":"https:\/\/ebooks.inflibnet.ac.in\/csp9\/wp-json\/pressbooks\/v2\/chapters\/41\/metadata\/"}],"wp:attachment":[{"href":"https:\/\/ebooks.inflibnet.ac.in\/csp9\/wp-json\/wp\/v2\/media?parent=41"}],"wp:term":[{"taxonomy":"chapter-type","embeddable":true,"href":"https:\/\/ebooks.inflibnet.ac.in\/csp9\/wp-json\/pressbooks\/v2\/chapter-type?post=41"},{"taxonomy":"contributor","embeddable":true,"href":"https:\/\/ebooks.inflibnet.ac.in\/csp9\/wp-json\/wp\/v2\/contributor?post=41"},{"taxonomy":"license","embeddable":true,"href":"https:\/\/ebooks.inflibnet.ac.in\/csp9\/wp-json\/wp\/v2\/license?post=41"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}