SlideShare a Scribd company logo
Software Engineering
Gagan Deep
Rozy Computech Services
3rd Gate, K.U., Kurukshetra
rozygag@yahoo.com
SOFTWARE CONFIGURATION MAMAGEMENT
 When we develop a software, the product (software)
undergoes many changes in their maintenance
phase, we need to handle these changes effectively.
 Several individual (programs) works together to
achieve this common goal. These individual
produces several work product (SC Items) e.g.
intermediate version of modules or test data used
during debugging, part of final product.
 The item that comprise all information produced as
part of the software process are collectively called a
software configuration.
Software Engineering by Gagan Deep
rozygag@yahoo.com 2
 As software development progresses, the number of
Software Configuration Items (SCI’s) increases rapidly.
 These are managed and controlled by SCM. This is where
we need software configuration management.
 A configuration of product refers not only to the product's
constituent, but also to specific version of the component.
 Therefore SCM is the discipline which
 Identify change
 Monitor and control change
 Ensure the proper implementation of change made to item.
 Auditing and reporting on the change made.
Software Engineering by Gagan Deep
rozygag@yahoo.com 3
 Configuration management(CM) is an art of
identifying, organising and controlling
modifications to software being built by a
programming team.
 The goal is to maximize productivity by
minimizing mistakes(errors).
 CM is essential due to the inventory
management, library management and updation
management of the items important for the
project.
Software Engineering by Gagan Deep
rozygag@yahoo.com 4
Importance of SCM
 It is useful in controlling and managing the access to
various SCIs e.g. by preventing the two member of a
team for checking out the same component for
modification at same time.
 It provide the tool to ensure that changes is being
properly implemented
 It has the capability of defining and storing the various
constituent of a software
 SCM is used in keeping a system in a consistent state
by automatically generating derived version upon
modification of same component.
Software Engineering by Gagan Deep
rozygag@yahoo.com 5
SCM Process
 It uses the tools which ensure that the required change
has been properly implemented to the appropriate
component (item). Thus it answer to the following
questions
 How and when the change will be done to software?
 How to ensure the changes are done correctly?
 What procedure will be adopted to make the change?
 Who will be responsible for change ?
 How to rank/order for importance of various change or
items?
 How to manage the many version of the program?
Software Engineering by Gagan Deep
rozygag@yahoo.com 6
 These questions lead us to the definition of five
SCM task:
 Identification
 Version Control
 Change Control,
 Configuration Auditing, and
 Status Reporting.
Software Engineering by Gagan Deep
rozygag@yahoo.com 7
 Identification
○ Basic Object : Unit of Text created by a software
engineer during analysis, design, code, or test.
○ Aggregate Object : collection of basic objects and
other aggregate objects. Design Specification is an
aggregate object.
○ Each object has a set of distinct features that identify
it uniquely: a name, a description, a list of resources,
and a "realization".
○ The interrelationships between configuration objects
can be represented with a Module Interconnection
Language(MIL).
Software Engineering by Gagan Deep
rozygag@yahoo.com 8
 Version Control
 Version Control combines procedures and tools to
manage different versions of configuration objects
that are created during the software process.
 Clemm describes version control in the context of
SCM: Configuration management 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.
Software Engineering by Gagan Deep
rozygag@yahoo.com 9
 Change Control
 James Bach describes change control in context of
SCM is: Change control is vital. But the forces that
make it necessary also make it annoying.
 We worry about change because a small confusion in
the code can create a big failure in the product. But it
can also fix a big failure or enable wonderful new
capabilities.
 We worry about change because a single rogue
developer could sink the project; yet brilliant ideas
originate in the minds of those rogues, and
 A burdensome change control process could effectively
discourage them from doing creative work.
Software Engineering by Gagan Deep
rozygag@yahoo.com 10
Bach recognizes that we face a balancing act.
 Too much change control and we create problems.
 Too little, and we create other problems.
 A Change request is submitted and evaluated to assess
technical merit, potential side effects, overall impact on
other configuration objects and system functions, and
projected cost of the change.
 The results of the evaluation are presented as a change
report, which is used by a change control
authority(CCA) - a person or group who makes a final
decision on the status and priority of the change.
Software Engineering by Gagan Deep
rozygag@yahoo.com 11
 The "check-in" and "check-out" process
implements two important elements of change
control - access control and synchronization
control.
 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.
 The CCA may be composed of one person - the
project manager - or a number of people (e.g.,
representatives from software, hardware, database
engineering, support, marketing).
Software Engineering by Gagan Deep
rozygag@yahoo.com 12
The role of the CCA is to take a global view, that
is, to assess the impact of change beyond the SCI
in question.
 How will the change affect hardware?
 How will the change affect performance?
 How will the change modify customer's
perception of the product?
 How will the change affect product quality and
reliability?
 These and many other questions are addressed
by the CCA.
Software Engineering by Gagan Deep
rozygag@yahoo.com 13
 Configuration Auditing
 How can we ensure that the change has been properly
implemented? The answer is two fold:
 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. The reviewers assess the SCI to determine
consistency with other SCIs, omissions, or potential side
effects. A formal technical review should be conducted
for all but the most trivial changes.
 A Software Configuration Audit complements the formal
technical review by assessing a configuration object for
characteristics that are generally not considered during
review.
Software Engineering by Gagan Deep
rozygag@yahoo.com 14
 Status Reporting
 Configuration status 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?
 Status reporting provides information about each
change to those with a need to know.
Software Engineering by Gagan Deep
rozygag@yahoo.com 15
Thanks!
Gagan Deep
Rozy Computech Services
3rd Gate, K.U., Kurukshetra
rozygag@yahoo.com

More Related Content

PPSX
Software Project Planning III
PPSX
Software Project Planning V
PPSX
Software Project Planning II
PDF
Agile for DHS 2017 June26
PPTX
8. project-management
PDF
Alleman coonce-agile-2017 may2
PDF
SE18_SE_Lec 12_ Project Management 1
PPT
Slides chapter 15
Software Project Planning III
Software Project Planning V
Software Project Planning II
Agile for DHS 2017 June26
8. project-management
Alleman coonce-agile-2017 may2
SE18_SE_Lec 12_ Project Management 1
Slides chapter 15

What's hot (17)

PPT
Chapter3 part3-cmm-for-cis6516
PPT
Slides chapter 5
PDF
SE_Lec 11_ Project Management
PPTX
Software Project Management - NESDEV
PDF
Stepwise planning
PDF
Software engineering
PDF
SWE-401 - 3. Software Project Management
DOCX
Software Engineering Solved Past Paper 2020
PPT
Slides chapters 21-23
DOCX
Software
PDF
MS_Practicum_Research_Paper_Glenn_Fuller_IP_110309
PDF
Spm tutorials
PPTX
Spm unit v-software reliability-
PPTX
Artifacts
PPTX
Software Metrics & Measurement-Sharbani Bhattacharya
PPTX
Quality and productivity factors
PDF
SE2_Lec 19_Design Principles and Design Patterns
Chapter3 part3-cmm-for-cis6516
Slides chapter 5
SE_Lec 11_ Project Management
Software Project Management - NESDEV
Stepwise planning
Software engineering
SWE-401 - 3. Software Project Management
Software Engineering Solved Past Paper 2020
Slides chapters 21-23
Software
MS_Practicum_Research_Paper_Glenn_Fuller_IP_110309
Spm tutorials
Spm unit v-software reliability-
Artifacts
Software Metrics & Measurement-Sharbani Bhattacharya
Quality and productivity factors
SE2_Lec 19_Design Principles and Design Patterns
Ad

Viewers also liked (20)

PPSX
C – A Programming Language- I
PPSX
Software Engineering
PPSX
Fundamentals of Neural Networks
PPTX
Normalization 1
PPTX
Normalization i i
PPSX
C lecture 4 nested loops and jumping statements slideshare
PPSX
Artificial Intelligence
PPTX
SQL – A Tutorial I
PPSX
Information System and MIS
PPSX
System Analysis & Design - 2
PPSX
Number system
PDF
Dbms viva questions
PPSX
C Programming : Arrays
DOCX
DBMS lab manual
ODT
Sql queries interview questions
DOC
Dbms lab questions
DOC
DBMS Practical File
DOC
Best sql plsql material
PPTX
Boolean algebra
DOC
A must Sql notes for beginners
C – A Programming Language- I
Software Engineering
Fundamentals of Neural Networks
Normalization 1
Normalization i i
C lecture 4 nested loops and jumping statements slideshare
Artificial Intelligence
SQL – A Tutorial I
Information System and MIS
System Analysis & Design - 2
Number system
Dbms viva questions
C Programming : Arrays
DBMS lab manual
Sql queries interview questions
Dbms lab questions
DBMS Practical File
Best sql plsql material
Boolean algebra
A must Sql notes for beginners
Ad

Similar to Software Project Planning IV (20)

PPT
SE Lecture 7.ppt
PPT
lecture14.ppt
PPT
Software Configuration Management introduction
DOCX
Mi0033 software engineering
PPTX
Configuration Managment Powerpoint
PPT
Configuration Management
PPTX
Ch 2 Software Engineering
PPTX
SOFTWARE ENGINEERING PART 1
PPT
Introduction To Software Configuration Management
PPTX
Sofware engineering
PPTX
Software configuration management
PDF
Software Testing and Quality Assurance Assignment 3
PPTX
Why Software Maintenance is Essential for Business?
PPT
General SCM
PDF
softwareMaintenance.pdf
PPTX
Qa analyst training
PDF
SOFTWARE MAINTENANCE AFTER DEVELOPMENT
PPTX
Software process
PPTX
Software Engineering unit 5
SE Lecture 7.ppt
lecture14.ppt
Software Configuration Management introduction
Mi0033 software engineering
Configuration Managment Powerpoint
Configuration Management
Ch 2 Software Engineering
SOFTWARE ENGINEERING PART 1
Introduction To Software Configuration Management
Sofware engineering
Software configuration management
Software Testing and Quality Assurance Assignment 3
Why Software Maintenance is Essential for Business?
General SCM
softwareMaintenance.pdf
Qa analyst training
SOFTWARE MAINTENANCE AFTER DEVELOPMENT
Software process
Software Engineering unit 5

Recently uploaded (20)

PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
VCE English Exam - Section C Student Revision Booklet
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PPTX
Week 4 Term 3 Study Techniques revisited.pptx
PDF
Complications of Minimal Access Surgery at WLH
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PDF
Business Ethics Teaching Materials for college
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PPTX
Pharma ospi slides which help in ospi learning
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
Anesthesia in Laparoscopic Surgery in India
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
O7-L3 Supply Chain Operations - ICLT Program
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
01-Introduction-to-Information-Management.pdf
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PDF
Pre independence Education in Inndia.pdf
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PPTX
master seminar digital applications in india
PPTX
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
Microbial diseases, their pathogenesis and prophylaxis
VCE English Exam - Section C Student Revision Booklet
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
Week 4 Term 3 Study Techniques revisited.pptx
Complications of Minimal Access Surgery at WLH
FourierSeries-QuestionsWithAnswers(Part-A).pdf
Business Ethics Teaching Materials for college
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
Pharma ospi slides which help in ospi learning
Module 4: Burden of Disease Tutorial Slides S2 2025
Anesthesia in Laparoscopic Surgery in India
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
O7-L3 Supply Chain Operations - ICLT Program
O5-L3 Freight Transport Ops (International) V1.pdf
01-Introduction-to-Information-Management.pdf
Pharmacology of Heart Failure /Pharmacotherapy of CHF
Pre independence Education in Inndia.pdf
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
master seminar digital applications in india
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES

Software Project Planning IV

  • 1. Software Engineering Gagan Deep Rozy Computech Services 3rd Gate, K.U., Kurukshetra rozygag@yahoo.com
  • 2. SOFTWARE CONFIGURATION MAMAGEMENT  When we develop a software, the product (software) undergoes many changes in their maintenance phase, we need to handle these changes effectively.  Several individual (programs) works together to achieve this common goal. These individual produces several work product (SC Items) e.g. intermediate version of modules or test data used during debugging, part of final product.  The item that comprise all information produced as part of the software process are collectively called a software configuration. Software Engineering by Gagan Deep rozygag@yahoo.com 2
  • 3.  As software development progresses, the number of Software Configuration Items (SCI’s) increases rapidly.  These are managed and controlled by SCM. This is where we need software configuration management.  A configuration of product refers not only to the product's constituent, but also to specific version of the component.  Therefore SCM is the discipline which  Identify change  Monitor and control change  Ensure the proper implementation of change made to item.  Auditing and reporting on the change made. Software Engineering by Gagan Deep rozygag@yahoo.com 3
  • 4.  Configuration management(CM) is an art of identifying, organising and controlling modifications to software being built by a programming team.  The goal is to maximize productivity by minimizing mistakes(errors).  CM is essential due to the inventory management, library management and updation management of the items important for the project. Software Engineering by Gagan Deep rozygag@yahoo.com 4
  • 5. Importance of SCM  It is useful in controlling and managing the access to various SCIs e.g. by preventing the two member of a team for checking out the same component for modification at same time.  It provide the tool to ensure that changes is being properly implemented  It has the capability of defining and storing the various constituent of a software  SCM is used in keeping a system in a consistent state by automatically generating derived version upon modification of same component. Software Engineering by Gagan Deep rozygag@yahoo.com 5
  • 6. SCM Process  It uses the tools which ensure that the required change has been properly implemented to the appropriate component (item). Thus it answer to the following questions  How and when the change will be done to software?  How to ensure the changes are done correctly?  What procedure will be adopted to make the change?  Who will be responsible for change ?  How to rank/order for importance of various change or items?  How to manage the many version of the program? Software Engineering by Gagan Deep rozygag@yahoo.com 6
  • 7.  These questions lead us to the definition of five SCM task:  Identification  Version Control  Change Control,  Configuration Auditing, and  Status Reporting. Software Engineering by Gagan Deep rozygag@yahoo.com 7
  • 8.  Identification ○ Basic Object : Unit of Text created by a software engineer during analysis, design, code, or test. ○ Aggregate Object : collection of basic objects and other aggregate objects. Design Specification is an aggregate object. ○ Each object has a set of distinct features that identify it uniquely: a name, a description, a list of resources, and a "realization". ○ The interrelationships between configuration objects can be represented with a Module Interconnection Language(MIL). Software Engineering by Gagan Deep rozygag@yahoo.com 8
  • 9.  Version Control  Version Control combines procedures and tools to manage different versions of configuration objects that are created during the software process.  Clemm describes version control in the context of SCM: Configuration management 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. Software Engineering by Gagan Deep rozygag@yahoo.com 9
  • 10.  Change Control  James Bach describes change control in context of SCM is: Change control is vital. But the forces that make it necessary also make it annoying.  We worry about change because a small confusion in the code can create a big failure in the product. But it can also fix a big failure or enable wonderful new capabilities.  We worry about change because a single rogue developer could sink the project; yet brilliant ideas originate in the minds of those rogues, and  A burdensome change control process could effectively discourage them from doing creative work. Software Engineering by Gagan Deep rozygag@yahoo.com 10
  • 11. Bach recognizes that we face a balancing act.  Too much change control and we create problems.  Too little, and we create other problems.  A Change request is submitted and evaluated to assess technical merit, potential side effects, overall impact on other configuration objects and system functions, and projected cost of the change.  The results of the evaluation are presented as a change report, which is used by a change control authority(CCA) - a person or group who makes a final decision on the status and priority of the change. Software Engineering by Gagan Deep rozygag@yahoo.com 11
  • 12.  The "check-in" and "check-out" process implements two important elements of change control - access control and synchronization control.  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.  The CCA may be composed of one person - the project manager - or a number of people (e.g., representatives from software, hardware, database engineering, support, marketing). Software Engineering by Gagan Deep rozygag@yahoo.com 12
  • 13. The role of the CCA is to take a global view, that is, to assess the impact of change beyond the SCI in question.  How will the change affect hardware?  How will the change affect performance?  How will the change modify customer's perception of the product?  How will the change affect product quality and reliability?  These and many other questions are addressed by the CCA. Software Engineering by Gagan Deep rozygag@yahoo.com 13
  • 14.  Configuration Auditing  How can we ensure that the change has been properly implemented? The answer is two fold:  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. The reviewers assess the SCI to determine consistency with other SCIs, omissions, or potential side effects. A formal technical review should be conducted for all but the most trivial changes.  A Software Configuration Audit complements the formal technical review by assessing a configuration object for characteristics that are generally not considered during review. Software Engineering by Gagan Deep rozygag@yahoo.com 14
  • 15.  Status Reporting  Configuration status 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?  Status reporting provides information about each change to those with a need to know. Software Engineering by Gagan Deep rozygag@yahoo.com 15
  • 16. Thanks! Gagan Deep Rozy Computech Services 3rd Gate, K.U., Kurukshetra rozygag@yahoo.com