SOFTWARE CONFIGURATION MANAGEMENT •The output of the software process is information that may be divided into three broad categories: (1) computer programs (both source level and executable forms); (2) documents that describe the computer programs (targeted at both technical practitioners and users), and (3) data.
3.
There are fourfundamental sources of change: • New business or market conditions dictate changes in product requirements or business rules. • New customer needs demand modification of data produced by information systems, • Reorganization or business growth/downsizing causes changes in project priorities or software engineering team structure. • Budgetary or scheduling constraints.
4.
• Free softwaretools that help in SCM are: – Concurrent Versions System (CVS) – Revision Control System (RCS) – Source Code Control System (SCCS) • Commercial Tools: – Rational Clear Case – PVCS – Microsoft Visual SourceSafe
5.
Baselines • A baselineis a software configuration management concept that helps us to control. • Change without seriously impeding justifiable change.
7.
Five SCM tasks •Identification (tracking multiple versions to enable efficient changes) • Version control (control changes before and after release to customer) • Change control (authority to approve and prioritize changes) • Configuration auditing (ensure changes made properly) • Reporting (tell others about changes made)
8.
Version Control • Configurationmanagement allows a user to specify alternative configurations of the software system through the selection of appropriate versions • This is supported by associating attributes with each software version, and then allowing a configuration to be specified [and constructed] by describing the set of desired attributes. • These "attributes" mentioned can be as simple as a specific version number that is attached to each object or as complex as a string of Boolean variables
10.
Change Control • Changerequest is submitted and evaluated to assess technical merit and impact on the other configuration objects and budget. • Change report contains the results of the evaluation. • Change control authority (CCA) makes the final decision on the status and priority of the change based on the change report. • Engineering change order (ECO) is generated for each change approved . • Object to be changed is checked-out of the project database subject to access control parameters for the object. • Modified object is subjected to appropriate SQA and testing procedures. • Modified object is checked-in to the project database and version control mechanisms are used to create the next version of the software. • Synchronization control is used to ensure that parallel changes made by different people don’t overwrite one another.
12.
Configuration Audit • Toensure that the change has been properly implemented we conduct : – formal technical reviews and – the software configuration audit. • The formal technical review focuses on the technical correctness of the configuration object that has been modified. • A software configuration audit complements the formal technical review by assessing a configuration object for characteristics that are generally not considered during review.
13.
• The auditasks and answers the following questions: • Has the change specified in the ECO (Engineering change order) 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? • Has the change been "highlighted" in the SCI? Have the change date and change author been specified? Do the attributes of the configuration object reflect the change? • Have SCM procedures for noting the change, recording it, and reporting it been followed? • Have all related SCIs been properly updated?
14.
Status Reporting • Configurationstatus reporting (sometimes called status accounting) is an SCM task that answers the following questions: • What happened? • Who did it? • When did it happen? • What else will be affected? – Each time an SCI is assigned new or updated identification, a CSR entry is made. – Each time a configuration audit is conducted, the results are reported as part of the CSR task. – Output from CSR may be placed in an on-line database.