220 likes | 253 Views
Software Configuration Management (SCM). Nidhi Sharma. What is Software Configuration Management. Software Configuration Management is the ability to control and manage change in a software project. SCM is the discipline which Identify change. Monitor and control change.
E N D
Software Configuration Management (SCM) Nidhi Sharma
What is Software Configuration Management • Software Configuration Management is the ability to control and manage change in a software project. SCM is the discipline which • Identify change. • Monitor and control change. • Ensure the proper implementation of change. • Auditing and reporting on the change made.
What is the origin of change? • Changing clients’ needs. • Gap between client and developer. • Poorly written and inconsistent SRS. • Time and cost constraint. • Wrong programming approach.
Importance of SCM • Improves productivity, reduce cost. • Ensures that changes are being properly implemented. • Defines how to manage and control change. • Keep system in consistent state.
SCM Activities • Configuration Identification • Version Control • Change control • Configuration Audit • Status reporting
Configuration Identification • Software is usually made up of several programs. Each program, its related documentation and data can be called as a “Software configuration item"(SCI). The SCIs are documents that are placed under configuration control and are considered in the basic unit for configuration. • To manage & control SCIs each must be separately named. • The status of the CIs at a given point in time is called as a baseline. The baseline serves as a reference point in the software development life cycle.
Version Control • Combines rules and tools to manage different versions of SCIs that are created during the software process. • SCI may revised many times ,each time it is assigned a version number.
Change control • Steps of change control process are: need for change is recognized Change request from user Developer evaluates Change report is generated Change control authority decides Request is queued for action change request is denied Assign individuals to configuration objects user is informed “check out” configuration objects(items) Make change
Contd. Review (audit) the change “check in” the configuration items that have to be changed Establish a baseline for testing Perform quality assurance and testing activities “promote” changes for inclusion in next release(revision) Rebuild appropriate version of software Review the change to all configuration items Include changes in new version Distribute the new version.
Configuration Audit • Ensures changes have been properly implemented. A software configuration audit complements the technical review by accessing a configuration object for characteristics that are generally not considered during the review.
Status Reporting • Configuration status reporting is an SCM task that answers the following question: • What happened ? • Who did it? • When it happen? • What else will be affected?
Software Quality Assurance • To ensure that final product is of high quality,some quality control activities must be performed throughout the development. • SQA is an umbrella activity.
Methods of SQA • Verification and Validation • Inspection and reviews
Verification & Validation (V&V) • Verification refers to the set of activities that ensure that software correctly implements a specific function. • Validation refers to a different set of activities that ensure that the software has been built is traceable to customer requirements. • The major V & V activities for software development are • Inspections • Reviews
Inspection and Reviews • The inspection process is use to improve the quality and increase productivity. • IEEE defines inspection as “A formal evaluation techniques in which software requirement, design, code are examined in detail by a person or a group of person or a group other than a author to detect faults, violation of development standards and other problems. ”
Inspection Process • The main goal of Inspection Process is to detect defects in the work products and improve quality ,increase productivity by finding defects early . • Software Inspections were first proposed by Fagan. • Inspection is performed by team of reviewers including an author, with one of them being the moderator.
Contd. • Moderator has the overall responsibility to ensure that the review is done in proper manner and all steps in review process are followed. • Different stages are: • Planning • Preparation and overview • Group review meeting • Rework and follow up
Contd. (1) Planning • The objective of planning is to prepare for inspection. • The author ensures that the work product is ready for inspection. • The package is distributed among review team that includes • The work product to be reviewed • The specifications for that work product • Relevant checklists and standards.
Contd. (2) Overview & Preparation • The package is given to reviewers for review. • The moderator may arrange an opening meeting , if necessary. The author may provide brief overview of the product. • Each reviewer do a self review of the work product. • Relevant guidelines , checklists , standards may be used while reviewing. • The reviewer also record the time spent in self review. • All reviewers fill the self review logs.
Contd. (3) Group Review Meeting. • The purpose is to come up with final defects list, based on individual defects identified by reviewer and those found during the discussion in the meeting. • A team member ( called Reader) goes over the work product line by line. • If any reviewer has an issue while listening, there will be discussion over the issue . • The author accepts the issue or clarifies why it is not a defect. • One member (called Scribe)records the identified defects in the defect log.
Contd. (4) Rework and Follow up • In this phase , author corrects all the defects raised during the inspection. • The author reviews the corrections with the moderator or if defects are serious then another meeting is conducted after the rework is done.