SlideShare a Scribd company logo
Configuration management Managing the products of system change Objectives To explain the importance of software configuration management (CM) To describe key CM activities namely CM planning, change management, version management and system building Topics covered Configuration management planning Change management Version and release management System building
New versions of software systems are created as they change For different machines/OS Offering different functionality Tailored for particular user requirements Configuration management is concerned with managing evolving software systems System change is a team activity CM aims to control the costs and effort involved in making changes to a system Configuration management – Why
Configuration management – Why Involves the development and application of procedures and standards to manage an evolving software product May be seen as part of a more general quality management process When released to CM, software systems are sometimes called  baselines  as they are a starting point for further development
System families
Starts during the early phases of the project All products of the software process may have  to be managed Specifications Designs Programs Test data User manuals Thousands of separate documents may be generated for a large software system Configuration management planning
Defines the types of documents to be managed and a document naming scheme Defines who takes responsibility for the CM procedures and creation of “baselines” Defines policies for change control and version management Defines the CM records which must be maintained Describes the tools which should be used to assist the CM process and any limitations on their use The CM plan
Large projects typically produce thousands of documents which must be uniquely identified Some of these documents must be maintained for the lifetime of the software Document naming scheme should be defined  so that related documents have related names. A hierarchical scheme with multi-level names is  probably the most flexible approach Configuration item identification
All CM information should be maintained in a  configuration database This should allow queries about configurations to be answered Who has a particular system version? What platform is required for a particular version? What versions are affected by a change to component X? How many reported faults in version T? The CM database should preferably be linked to the software being managed The configuration database
Software systems are subject to continual  change requests From users From developers From market forces Change management  is concerned with keeping  track of these changes and ensuring that they are implemented in the most cost-effective way Change management
The change management process
A major problem in change management is  tracking change status Change tracking tools track the status of each change request Automatically ensure that change requests are sent to the right  people at the right time Integrated with E-mail systems allowing  electronic change request distribution Change tracking tools
Record of changes applied to a document or code component Should record, in outline, the change made, the rationale for the change, who made the change and when it was implemented May be included as a comment in code If a standard prologue style is used for the derivation history, tools can process this automatically Derivation history
Component header information
Invent identification scheme for system  versions Plan when new system version is to be  produced Ensure that version management procedures and tools are properly applied Plan and distribute  new system releases Version and release management
Version   An instance of a system which is  functionally distinct in some way from other  system instances Variant   An instance of a system which is  functionally identical but non-functionally  distinct from other instances of a system Release   An instance of a system which is  distributed to users outside of the development  team Versions/variants/releases
Version identification Procedures for version identification should define an unambiguous way of identifying component versions Three basic techniques for component identification Version numbering Attribute-based identification Change-oriented identification
Version derivation structure
Version management tools Version and release identification Systems  assign identifiers automatically when a new version is submitted to the system Storage management. System stores the differences between versions rather than all the version code Change history recording Record reasons for version creation Independent development  Only one version at a time may be checked out for change Parallel working on different versions
Delta-based versioning
Releases incorporate changes forced on the system by errors discovered by users and by hardware changes They also incorporate new system functionality Release planning is concerned with when to  issue a system version as a release Release management
System releases Not just a set of executable programs May also include Configuration files defining how the release is configured for a particular installation Data files needed for system operation An installation program or shell script to install the system on target hardware Electronic and paper documentation Packaging and associated publicity Systems are now normally released on CD-ROM or as downloadable installation files from the Web
Customer may not want a new release of the  system They may be happy with their current system as the new version may provide unwanted functionality  Release management must not assume that all  previous releases have been accepted All files required for a release should be re-created when a new release is installed Release problems
Release creation Release creation involves collecting all files and documentation required to create a system release Configuration descriptions have to be written for different hardware and installation scripts have to be written The specific release must be documented to record exactly what files were used to create it This allows it to be re-created if necessary
The process of compiling and linking software components into an executable system Different systems are built from different  combinations of components Invariably supported by automated tools that are driven by ‘build scripts’ System building
Do the build instructions include all required  components? When there are many hundreds of components making up  a system, it is easy to miss one out This should normally be detected by the linker Is the appropriate component version specified? A more significant problem. A system built with the wrong  version may work initially but fail after delivery Are all data files available? The build should not rely on 'standard' data files Standards vary from place to place System building problems
Are data file references within components  correct? Embedding absolute names in code almost always causes  problems as naming conventions differ from place to place Is the system being built for the right platform Sometimes must build for a specific OS version or hardware  configuration Is the right version of the compiler and other  software tools specified? Different compiler versions may actually generate different code and the compiled component will exhibit different behaviour System building problems
System building
System building tools Building a large system is computationally expensive and may take several hours Hundreds of files may be involved System building tools may provide A dependency specification language and interpreter Tool selection and instantiation support Distributed compilation Derived object management
Configuration management is the management of system change to software products A formal document naming scheme should be  established and documents should be managed in a database The configuration database should record information about changes and change requests A consistent scheme of version identification should be established using version numbers, attributes or change sets System releases include executable code, data, configuration files and documentation System building involves assembling components into a system  Key points

More Related Content

PDF
Constructive Cost Model - II (COCOMO-II)
PPTX
Lect3 conventional vs modern spm
PPT
Rad model
PPTX
Software development life cycle (SDLC)
PPTX
Software Configuration Management (SCM)
PPTX
Fundamental design concepts
PPTX
Software Development Life Cycle
PPTX
Software Evolution
Constructive Cost Model - II (COCOMO-II)
Lect3 conventional vs modern spm
Rad model
Software development life cycle (SDLC)
Software Configuration Management (SCM)
Fundamental design concepts
Software Development Life Cycle
Software Evolution

What's hot (20)

PPT
Agile software development
PPT
Advanced topics in software engineering
PPTX
software cost factor
PPTX
Lect4 software economics
PPTX
Planning the development process
PPTX
unit testing and debugging
PPTX
Unified process model
PPTX
Software testing life cycle
PPTX
Case study operating systems
PPTX
Software quality assurance
PPTX
Validation Controls in asp.net
PPTX
Cohesion and coupling
PDF
Project control and process instrumentation
PPTX
Software Engineering - Spiral Model
PPT
Quality Management in Software Engineering SE24
PPTX
The Software Engineering Discipline and Evolution of S/W Engineering Methodol...
DOCX
Techniques & applications of Compiler
PPT
Uml in software engineering
PPTX
Vision of cloud computing
PPT
Software quality
Agile software development
Advanced topics in software engineering
software cost factor
Lect4 software economics
Planning the development process
unit testing and debugging
Unified process model
Software testing life cycle
Case study operating systems
Software quality assurance
Validation Controls in asp.net
Cohesion and coupling
Project control and process instrumentation
Software Engineering - Spiral Model
Quality Management in Software Engineering SE24
The Software Engineering Discipline and Evolution of S/W Engineering Methodol...
Techniques & applications of Compiler
Uml in software engineering
Vision of cloud computing
Software quality
Ad

Viewers also liked (10)

PDF
The importance of Program Management and Change Management in eHealth
PPTX
Visitor management system
PPTX
Visitor management system
PDF
Wireless Sensing by Passive Radiofrequency Identification: Research, Systems ...
PPTX
Visitor Management System
PPT
Wireless Accident Identification
PPT
Requirement Engineering
PPT
Biometric Security advantages and disadvantages
PPTX
Change Management PPT Slides
PDF
LinkedIn SlideShare: Knowledge, Well-Presented
The importance of Program Management and Change Management in eHealth
Visitor management system
Visitor management system
Wireless Sensing by Passive Radiofrequency Identification: Research, Systems ...
Visitor Management System
Wireless Accident Identification
Requirement Engineering
Biometric Security advantages and disadvantages
Change Management PPT Slides
LinkedIn SlideShare: Knowledge, Well-Presented
Ad

Similar to Configuration management (20)

PPT
Configuration Management
PPT
Configuration Management in Software Engineering - SE29
PPT
Configuration Management
PPT
Configuration Management
PPT
Ch29
PPTX
Configuration management
PPT
Software Configuration Management
PPT
Bse 3105 lecture 6-configuration management
PPTX
SE-Lecture-8.pptx
PPT
Software Change in Software Engineering SE27
PPT
Software configuration management, Web engineering
PPT
Mod5-SCM.ppt
PPT
Mod5-SCM.ppt
PPTX
Ch 8 configuration management
PPT
Software Configuration Management
PPT
Software configuration management of students
PPTX
Configuration Managment Powerpoint
PPT
Configuration Management
PPT
SA Chapter 13
PPT
Source Code management System
Configuration Management
Configuration Management in Software Engineering - SE29
Configuration Management
Configuration Management
Ch29
Configuration management
Software Configuration Management
Bse 3105 lecture 6-configuration management
SE-Lecture-8.pptx
Software Change in Software Engineering SE27
Software configuration management, Web engineering
Mod5-SCM.ppt
Mod5-SCM.ppt
Ch 8 configuration management
Software Configuration Management
Software configuration management of students
Configuration Managment Powerpoint
Configuration Management
SA Chapter 13
Source Code management System

More from elliando dias (20)

PDF
Clojurescript slides
PDF
Why you should be excited about ClojureScript
PDF
Functional Programming with Immutable Data Structures
PPT
Nomenclatura e peças de container
PDF
Geometria Projetiva
PDF
Polyglot and Poly-paradigm Programming for Better Agility
PDF
Javascript Libraries
PDF
How to Make an Eight Bit Computer and Save the World!
PDF
Ragel talk
PDF
A Practical Guide to Connecting Hardware to the Web
PDF
Introdução ao Arduino
PDF
Minicurso arduino
PDF
Incanter Data Sorcery
PDF
PDF
Fab.in.a.box - Fab Academy: Machine Design
PDF
The Digital Revolution: Machines that makes
PDF
Hadoop + Clojure
PDF
Hadoop - Simple. Scalable.
PDF
Hadoop and Hive Development at Facebook
PDF
Multi-core Parallelization in Clojure - a Case Study
Clojurescript slides
Why you should be excited about ClojureScript
Functional Programming with Immutable Data Structures
Nomenclatura e peças de container
Geometria Projetiva
Polyglot and Poly-paradigm Programming for Better Agility
Javascript Libraries
How to Make an Eight Bit Computer and Save the World!
Ragel talk
A Practical Guide to Connecting Hardware to the Web
Introdução ao Arduino
Minicurso arduino
Incanter Data Sorcery
Fab.in.a.box - Fab Academy: Machine Design
The Digital Revolution: Machines that makes
Hadoop + Clojure
Hadoop - Simple. Scalable.
Hadoop and Hive Development at Facebook
Multi-core Parallelization in Clojure - a Case Study

Recently uploaded (20)

PPTX
Big Data Technologies - Introduction.pptx
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Machine learning based COVID-19 study performance prediction
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
cuic standard and advanced reporting.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Big Data Technologies - Introduction.pptx
Encapsulation_ Review paper, used for researhc scholars
Machine learning based COVID-19 study performance prediction
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Building Integrated photovoltaic BIPV_UPV.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Per capita expenditure prediction using model stacking based on satellite ima...
cuic standard and advanced reporting.pdf
Review of recent advances in non-invasive hemoglobin estimation
Reach Out and Touch Someone: Haptics and Empathic Computing
Unlocking AI with Model Context Protocol (MCP)
MYSQL Presentation for SQL database connectivity
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Mobile App Security Testing_ A Comprehensive Guide.pdf
Programs and apps: productivity, graphics, security and other tools
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
“AI and Expert System Decision Support & Business Intelligence Systems”
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...

Configuration management

  • 1. Configuration management Managing the products of system change Objectives To explain the importance of software configuration management (CM) To describe key CM activities namely CM planning, change management, version management and system building Topics covered Configuration management planning Change management Version and release management System building
  • 2. New versions of software systems are created as they change For different machines/OS Offering different functionality Tailored for particular user requirements Configuration management is concerned with managing evolving software systems System change is a team activity CM aims to control the costs and effort involved in making changes to a system Configuration management – Why
  • 3. Configuration management – Why Involves the development and application of procedures and standards to manage an evolving software product May be seen as part of a more general quality management process When released to CM, software systems are sometimes called baselines as they are a starting point for further development
  • 5. Starts during the early phases of the project All products of the software process may have to be managed Specifications Designs Programs Test data User manuals Thousands of separate documents may be generated for a large software system Configuration management planning
  • 6. Defines the types of documents to be managed and a document naming scheme Defines who takes responsibility for the CM procedures and creation of “baselines” Defines policies for change control and version management Defines the CM records which must be maintained Describes the tools which should be used to assist the CM process and any limitations on their use The CM plan
  • 7. Large projects typically produce thousands of documents which must be uniquely identified Some of these documents must be maintained for the lifetime of the software Document naming scheme should be defined so that related documents have related names. A hierarchical scheme with multi-level names is probably the most flexible approach Configuration item identification
  • 8. All CM information should be maintained in a configuration database This should allow queries about configurations to be answered Who has a particular system version? What platform is required for a particular version? What versions are affected by a change to component X? How many reported faults in version T? The CM database should preferably be linked to the software being managed The configuration database
  • 9. Software systems are subject to continual change requests From users From developers From market forces Change management is concerned with keeping track of these changes and ensuring that they are implemented in the most cost-effective way Change management
  • 11. A major problem in change management is tracking change status Change tracking tools track the status of each change request Automatically ensure that change requests are sent to the right people at the right time Integrated with E-mail systems allowing electronic change request distribution Change tracking tools
  • 12. Record of changes applied to a document or code component Should record, in outline, the change made, the rationale for the change, who made the change and when it was implemented May be included as a comment in code If a standard prologue style is used for the derivation history, tools can process this automatically Derivation history
  • 14. Invent identification scheme for system versions Plan when new system version is to be produced Ensure that version management procedures and tools are properly applied Plan and distribute new system releases Version and release management
  • 15. Version An instance of a system which is functionally distinct in some way from other system instances Variant An instance of a system which is functionally identical but non-functionally distinct from other instances of a system Release An instance of a system which is distributed to users outside of the development team Versions/variants/releases
  • 16. Version identification Procedures for version identification should define an unambiguous way of identifying component versions Three basic techniques for component identification Version numbering Attribute-based identification Change-oriented identification
  • 18. Version management tools Version and release identification Systems assign identifiers automatically when a new version is submitted to the system Storage management. System stores the differences between versions rather than all the version code Change history recording Record reasons for version creation Independent development Only one version at a time may be checked out for change Parallel working on different versions
  • 20. Releases incorporate changes forced on the system by errors discovered by users and by hardware changes They also incorporate new system functionality Release planning is concerned with when to issue a system version as a release Release management
  • 21. System releases Not just a set of executable programs May also include Configuration files defining how the release is configured for a particular installation Data files needed for system operation An installation program or shell script to install the system on target hardware Electronic and paper documentation Packaging and associated publicity Systems are now normally released on CD-ROM or as downloadable installation files from the Web
  • 22. Customer may not want a new release of the system They may be happy with their current system as the new version may provide unwanted functionality Release management must not assume that all previous releases have been accepted All files required for a release should be re-created when a new release is installed Release problems
  • 23. Release creation Release creation involves collecting all files and documentation required to create a system release Configuration descriptions have to be written for different hardware and installation scripts have to be written The specific release must be documented to record exactly what files were used to create it This allows it to be re-created if necessary
  • 24. The process of compiling and linking software components into an executable system Different systems are built from different combinations of components Invariably supported by automated tools that are driven by ‘build scripts’ System building
  • 25. Do the build instructions include all required components? When there are many hundreds of components making up a system, it is easy to miss one out This should normally be detected by the linker Is the appropriate component version specified? A more significant problem. A system built with the wrong version may work initially but fail after delivery Are all data files available? The build should not rely on 'standard' data files Standards vary from place to place System building problems
  • 26. Are data file references within components correct? Embedding absolute names in code almost always causes problems as naming conventions differ from place to place Is the system being built for the right platform Sometimes must build for a specific OS version or hardware configuration Is the right version of the compiler and other software tools specified? Different compiler versions may actually generate different code and the compiled component will exhibit different behaviour System building problems
  • 28. System building tools Building a large system is computationally expensive and may take several hours Hundreds of files may be involved System building tools may provide A dependency specification language and interpreter Tool selection and instantiation support Distributed compilation Derived object management
  • 29. Configuration management is the management of system change to software products A formal document naming scheme should be established and documents should be managed in a database The configuration database should record information about changes and change requests A consistent scheme of version identification should be established using version numbers, attributes or change sets System releases include executable code, data, configuration files and documentation System building involves assembling components into a system Key points