SlideShare a Scribd company logo
1 of 20
Unit-8
Software Maintenance
and Configuration
Management
Types of Maintenance
•Corrective Maintenance (21%)
• making changes to repair defects
•Adaptive Maintenance (25%)
• making changes to adapt software to external environment
changes (hardware, business rules, OS, etc.)
•Perfective Maintenance (50%)
• extending system beyond its original functional requirements
•Preventative Maintenance (4%)
• modifying work products so that they are more easily corrected,
adapted, or enhanced
Maintenance Costs
•Usually greater than the development costs (2
to 10 times as much in some cases)
•Affected by both technical and non-technical
factors
•Increase as software is maintained and system
corruption is introduced
•Aging software can have high support costs (e.g.
old languages, compilers, etc.)
Maintenance Developer Tasks
• Understand system.
• Locate information in documentation.
• Keep system documentation up to date.
• Extend existing functions.
• Add new functions.
• Find sources of errors.
• Correct system errors.
• Answer operations questions.
• Restructure design and code.
• Delete obsolete design and code.
• Manage changes.
Maintenance Cost Factors
•Staff turnover
• no turnover usually means lower maintenance costs
•Contractual responsibility
• developers may have no contractual obligation to maintain the
delivered system and no incentive to design for future change
•Staff skills
• maintenance staff are often inexperienced and have limited
domain knowledge
•Program age and structure
• as programs age their structure deteriorates, they become harder
to understand and change
Maintenance Prediction
•Concerned with determining which parts of the
system may cause problems and have high
maintenance costs
•Change acceptance depends on the
maintainability of the components affected by the
change
•Implementing changes degrade system and
reduces its maintainability
•Maintenance costs depends on number of
changes
Configuration Management
•Software changes are inevitable
•One goal of software engineering is to improve how easy
it is to change software
•Configuration management is all about change control.
•Every software engineer has to be concerned with how
changes made to work products are tracked and
propagated throughout a project.
•To ensure quality is maintained the change process must
be audited.
Configuration Management
Definition:
The set of activities that have been developed to
manage change throughout the software life
cycle.
Purpose:
Systematically control changes to the
configuration and maintain the integrity and
traceability of the configuration throughout the
system’s life cycle.
Purpose of CM
• Identify Change
• Control Change
• Ensure Change is Properly Implemented
• Report Changes to All the people who need to
Know
Baseline
•Definition: Specification or product that
• has been formally reviewed and agreed upon,
• serves as the basis for further development, and
• can be changed only through formal change control procedures.
•Signals a point of departure from one activity to the start
of another activity.
•Helps control change without impeding justifiable change.
Project Baseline
•Central repository of reviewed and approved
artifacts that represent a given stable point
in overall system development.
•Shared DB for project and kept in consistent
state.
•Policies allow the team to achieve consistent
state and manage the project.
Software Configuration Item (SCI)
•Definition: Information that is created as part of the
software engineering process.
•Examples:
•Software Project Plan
•Software Requirements Specification
• Models, Prototypes, Requirements
•Design document
• Protocols, Hierarchy Graphs
•Source code
• Modules
•Test suite
•Software tools (e.g., compilers)
Elements of SCM
There are four elements of SCM:
1. Software Configuration Identification
2. Software Configuration Control
3. Software Configuration Auditing
4. Software Configuration Status Accounting
SCM Tasks
•Identification
•Change control
•Version control
•Configuration auditing
•Status reporting
Identification Task
• Identification separately names each CSCI and then organizes it in
the SCM repository using an object-oriented approach
• Objects start out as basic objects and are then grouped into
aggregate objects
• Each object has a set of distinct features that identify it
• A name that is unambiguous to all other objects
• A description that contains the CSCI type, a project identifier,
and change and/or version information
• List of resources needed by the object
• The object realization (i.e., the document, the file, the model,
etc.)
Change Control Task
• Change control is a procedural activity that ensures quality and consistency as
changes are made to a configuration object
• A change request is submitted to a configuration control authority, which is usually a
change control board (CCB)
• The request is evaluated for technical merit, potential side effects, overall impact on other
configuration objects and system functions, and projected cost in terms of money, time, and
resources
• An engineering change order (ECO) is issued for each approved change request
• Describes the change to be made, the constraints to follow, and the criteria for review and
audit
• The baselined CSCI is obtained from the SCM repository
• Access control governs which software engineers have the authority to access and modify a
particular configuration object
• Synchronization control helps to ensure that parallel changes performed by two different
people don't overwrite one another
Version Control Task
• Version control is a set of procedures and tools for managing the
creation and use of multiple occurrences of objects in the SCM
repository
• Required version control capabilities
• An SCM repository that stores all relevant configuration objects
• A version management capability that stores all versions of a configuration
object (or enables any version to be constructed using differences from past
versions)
• A make facility that enables the software engineer to collect all relevant
configuration objects and construct a specific version of the software
• Issues tracking (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
• Serves as a collection of all changes made to a baseline configuration
• Used to create a specific version of the software
• Captures all changes to all files in the configuration along with the reason for
changes and details of who made the changes and when
Configuration Auditing Task
• 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
• 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" and "documented" in the CSCI? Have the change
data 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 CSCIs been properly updated?
• A configuration audit ensures that
• The correct CSCIs (by version) have been incorporated into a specific build
• That all documentation is up-to-date and consistent with the version that has been built
Status Reporting Task
• 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
• Each time a CSCI is assigned new or updated information
• Each time a configuration audit is conducted
• The configuration status report
• Placed in an on-line database or on a website for software developers and
maintainers to read
• Given to management and practitioners to keep them appraised of
important changes to the project CSCIs
Software Configuration Auditing

More Related Content

What's hot

Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12
koolkampus
 
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 ppt on sOFTWARE DEVELOPMENT LIFE CYCLE ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
Swarnima Tiwari
 
Software maintenance
Software maintenance Software maintenance
Software maintenance
Rajeev Sharan
 

What's hot (20)

Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 
Software Measurement and Metrics.pptx
Software Measurement and Metrics.pptxSoftware Measurement and Metrics.pptx
Software Measurement and Metrics.pptx
 
Software Quality Assurance in software engineering
Software Quality Assurance in software engineeringSoftware Quality Assurance in software engineering
Software Quality Assurance in software engineering
 
Staffing level estimation
Staffing level estimation Staffing level estimation
Staffing level estimation
 
Incremental model
Incremental modelIncremental model
Incremental model
 
Fault tolerance and computing
Fault tolerance  and computingFault tolerance  and computing
Fault tolerance and computing
 
Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Management
 
Feature Driven Development
Feature Driven DevelopmentFeature Driven Development
Feature Driven Development
 
Software maintenance
Software maintenanceSoftware maintenance
Software maintenance
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Programming team structure
Programming team structureProgramming team structure
Programming team structure
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
 
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 ppt on sOFTWARE DEVELOPMENT LIFE CYCLE ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 
Software maintenance ppt
Software maintenance pptSoftware maintenance ppt
Software maintenance ppt
 
Planning the development process
Planning the development processPlanning the development process
Planning the development process
 
Software configuration items
Software configuration itemsSoftware configuration items
Software configuration items
 
source code metrics and other maintenance tools and techniques
source code metrics and other maintenance tools and techniquessource code metrics and other maintenance tools and techniques
source code metrics and other maintenance tools and techniques
 
Software maintenance
Software maintenance Software maintenance
Software maintenance
 
Software Process and Project Management - CS832E02 unit 3
Software Process and Project Management - CS832E02 unit 3Software Process and Project Management - CS832E02 unit 3
Software Process and Project Management - CS832E02 unit 3
 

Similar to Software maintenance and configuration management, software engineering

Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)
Nishkarsh Gupta
 
sfdgdfgfgfdgvsdfdsfedrfewsfdsfsfterfdcm.ppt
sfdgdfgfgfdgvsdfdsfedrfewsfdsfsfterfdcm.pptsfdgdfgfgfdgvsdfdsfedrfewsfdsfsfterfdcm.ppt
sfdgdfgfgfdgvsdfdsfedrfewsfdsfsfterfdcm.ppt
ssuser2d043c
 
software configuration management
software configuration managementsoftware configuration management
software configuration management
Fáber D. Giraldo
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
Chandan Chaurasia
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Management
elliando dias
 

Similar to Software maintenance and configuration management, software engineering (20)

Unit 6 Software Configuration Management
Unit 6 Software Configuration ManagementUnit 6 Software Configuration Management
Unit 6 Software Configuration Management
 
Fa10 mcs-005
Fa10 mcs-005Fa10 mcs-005
Fa10 mcs-005
 
Software Configuration Management.pptx
Software Configuration Management.pptxSoftware Configuration Management.pptx
Software Configuration Management.pptx
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 
Software Configuration Management.pptx
Software Configuration Management.pptxSoftware Configuration Management.pptx
Software Configuration Management.pptx
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)
 
sfdgdfgfgfdgvsdfdsfedrfewsfdsfsfterfdcm.ppt
sfdgdfgfgfdgvsdfdsfedrfewsfdsfsfterfdcm.pptsfdgdfgfgfdgvsdfdsfedrfewsfdsfsfterfdcm.ppt
sfdgdfgfgfdgvsdfdsfedrfewsfdsfsfterfdcm.ppt
 
Scm
ScmScm
Scm
 
Software Engineering (Software Configuration Management)
Software Engineering (Software Configuration Management)Software Engineering (Software Configuration Management)
Software Engineering (Software Configuration Management)
 
Bse 3105 lecture 6-configuration management
Bse 3105  lecture 6-configuration managementBse 3105  lecture 6-configuration management
Bse 3105 lecture 6-configuration management
 
software configuration management
software configuration managementsoftware configuration management
software configuration management
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 
Software configuration management, Web engineering
Software configuration management, Web engineeringSoftware configuration management, Web engineering
Software configuration management, Web engineering
 
Mod5-SCM.ppt
Mod5-SCM.pptMod5-SCM.ppt
Mod5-SCM.ppt
 
Mod5-SCM.ppt
Mod5-SCM.pptMod5-SCM.ppt
Mod5-SCM.ppt
 
340_18CS35_se_mod1(secab).pdf
340_18CS35_se_mod1(secab).pdf340_18CS35_se_mod1(secab).pdf
340_18CS35_se_mod1(secab).pdf
 
SE2_Lec 22_Software Configuration Management
SE2_Lec 22_Software Configuration ManagementSE2_Lec 22_Software Configuration Management
SE2_Lec 22_Software Configuration Management
 
Lecture 2 (Software Processes)
Lecture 2 (Software Processes)Lecture 2 (Software Processes)
Lecture 2 (Software Processes)
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Management
 
SE-Lecture-8.pptx
SE-Lecture-8.pptxSE-Lecture-8.pptx
SE-Lecture-8.pptx
 

More from Rupesh Vaishnav

More from Rupesh Vaishnav (9)

Software coding & testing, software engineering
Software coding & testing, software engineeringSoftware coding & testing, software engineering
Software coding & testing, software engineering
 
Software as a service, software engineering
Software as a service, software engineeringSoftware as a service, software engineering
Software as a service, software engineering
 
Requirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRequirement analysis and specification, software engineering
Requirement analysis and specification, software engineering
 
Quality assurance and management, software engineering
Quality assurance and management, software engineeringQuality assurance and management, software engineering
Quality assurance and management, software engineering
 
Managing software project, software engineering
Managing software project, software engineeringManaging software project, software engineering
Managing software project, software engineering
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2
 
Intoduction to software engineering part 1
Intoduction to software engineering part 1Intoduction to software engineering part 1
Intoduction to software engineering part 1
 
Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineering
 
Advanced topics in software engineering
Advanced topics in software engineeringAdvanced topics in software engineering
Advanced topics in software engineering
 

Recently uploaded

Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Christo Ananth
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
amitlee9823
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
dollysharma2066
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Christo Ananth
 

Recently uploaded (20)

Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
 
Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 

Software maintenance and configuration management, software engineering

  • 2. Types of Maintenance •Corrective Maintenance (21%) • making changes to repair defects •Adaptive Maintenance (25%) • making changes to adapt software to external environment changes (hardware, business rules, OS, etc.) •Perfective Maintenance (50%) • extending system beyond its original functional requirements •Preventative Maintenance (4%) • modifying work products so that they are more easily corrected, adapted, or enhanced
  • 3. Maintenance Costs •Usually greater than the development costs (2 to 10 times as much in some cases) •Affected by both technical and non-technical factors •Increase as software is maintained and system corruption is introduced •Aging software can have high support costs (e.g. old languages, compilers, etc.)
  • 4. Maintenance Developer Tasks • Understand system. • Locate information in documentation. • Keep system documentation up to date. • Extend existing functions. • Add new functions. • Find sources of errors. • Correct system errors. • Answer operations questions. • Restructure design and code. • Delete obsolete design and code. • Manage changes.
  • 5. Maintenance Cost Factors •Staff turnover • no turnover usually means lower maintenance costs •Contractual responsibility • developers may have no contractual obligation to maintain the delivered system and no incentive to design for future change •Staff skills • maintenance staff are often inexperienced and have limited domain knowledge •Program age and structure • as programs age their structure deteriorates, they become harder to understand and change
  • 6. Maintenance Prediction •Concerned with determining which parts of the system may cause problems and have high maintenance costs •Change acceptance depends on the maintainability of the components affected by the change •Implementing changes degrade system and reduces its maintainability •Maintenance costs depends on number of changes
  • 7. Configuration Management •Software changes are inevitable •One goal of software engineering is to improve how easy it is to change software •Configuration management is all about change control. •Every software engineer has to be concerned with how changes made to work products are tracked and propagated throughout a project. •To ensure quality is maintained the change process must be audited.
  • 8. Configuration Management Definition: The set of activities that have been developed to manage change throughout the software life cycle. Purpose: Systematically control changes to the configuration and maintain the integrity and traceability of the configuration throughout the system’s life cycle.
  • 9. Purpose of CM • Identify Change • Control Change • Ensure Change is Properly Implemented • Report Changes to All the people who need to Know
  • 10. Baseline •Definition: Specification or product that • has been formally reviewed and agreed upon, • serves as the basis for further development, and • can be changed only through formal change control procedures. •Signals a point of departure from one activity to the start of another activity. •Helps control change without impeding justifiable change.
  • 11. Project Baseline •Central repository of reviewed and approved artifacts that represent a given stable point in overall system development. •Shared DB for project and kept in consistent state. •Policies allow the team to achieve consistent state and manage the project.
  • 12. Software Configuration Item (SCI) •Definition: Information that is created as part of the software engineering process. •Examples: •Software Project Plan •Software Requirements Specification • Models, Prototypes, Requirements •Design document • Protocols, Hierarchy Graphs •Source code • Modules •Test suite •Software tools (e.g., compilers)
  • 13. Elements of SCM There are four elements of SCM: 1. Software Configuration Identification 2. Software Configuration Control 3. Software Configuration Auditing 4. Software Configuration Status Accounting
  • 14. SCM Tasks •Identification •Change control •Version control •Configuration auditing •Status reporting
  • 15. Identification Task • Identification separately names each CSCI and then organizes it in the SCM repository using an object-oriented approach • Objects start out as basic objects and are then grouped into aggregate objects • Each object has a set of distinct features that identify it • A name that is unambiguous to all other objects • A description that contains the CSCI type, a project identifier, and change and/or version information • List of resources needed by the object • The object realization (i.e., the document, the file, the model, etc.)
  • 16. Change Control Task • Change control is a procedural activity that ensures quality and consistency as changes are made to a configuration object • A change request is submitted to a configuration control authority, which is usually a change control board (CCB) • The request is evaluated for technical merit, potential side effects, overall impact on other configuration objects and system functions, and projected cost in terms of money, time, and resources • An engineering change order (ECO) is issued for each approved change request • Describes the change to be made, the constraints to follow, and the criteria for review and audit • The baselined CSCI is obtained from the SCM repository • Access control governs which software engineers have the authority to access and modify a particular configuration object • Synchronization control helps to ensure that parallel changes performed by two different people don't overwrite one another
  • 17. Version Control Task • Version control is a set of procedures and tools for managing the creation and use of multiple occurrences of objects in the SCM repository • Required version control capabilities • An SCM repository that stores all relevant configuration objects • A version management capability that stores all versions of a configuration object (or enables any version to be constructed using differences from past versions) • A make facility that enables the software engineer to collect all relevant configuration objects and construct a specific version of the software • Issues tracking (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 • Serves as a collection of all changes made to a baseline configuration • Used to create a specific version of the software • Captures all changes to all files in the configuration along with the reason for changes and details of who made the changes and when
  • 18. Configuration Auditing Task • 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 • 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" and "documented" in the CSCI? Have the change data 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 CSCIs been properly updated? • A configuration audit ensures that • The correct CSCIs (by version) have been incorporated into a specific build • That all documentation is up-to-date and consistent with the version that has been built
  • 19. Status Reporting Task • 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 • Each time a CSCI is assigned new or updated information • Each time a configuration audit is conducted • The configuration status report • Placed in an on-line database or on a website for software developers and maintainers to read • Given to management and practitioners to keep them appraised of important changes to the project CSCIs