SlideShare a Scribd company logo
1
‫ر‬َ‫ـد‬ْ‫ق‬‫ِـ‬‫ن‬،،،‫لما‬‫اننا‬ ‫نصدق‬ْْ‫ق‬ِ‫ن‬‫ر‬َ‫د‬
2
3
 Configuration Management
 Configuration Identification
 Change Control
 Configuration management planning
 Build
 Tools
4
5
 A software engineering discipline
 Comprised of tools and techniques
 used to manage change to software assets.
 Made of many parts
 Documents
 Programs
 Thousands of separate documents are generated for a
large software system
6
 A software system changes
 Different instantiations of software for different customers
 Same software changes over time
 Parts of software must be kept consistent over changes
 Configuration management
• A methodology to control and manage a software
development project.
“No matter where you are in the system life
cycle, the system will change, and the desire
to change it will persist throughout the life
cycle.” [Bersoff et al., 1980]
7
8
 Team develops software
 Many people need to access parts of software
 Common repository, all can read/write documents/ programs
 Problems:
 Concurrent access
• What if two people access same document at same time?
 Concurrent modification
• What if two people access same document and both modify
it?
 Notification of changes
• Document is changed, how all are informed?
9
 One
 John changes module A to fix bug
 Meanwhile Linda downloads old A and links it
 Two
 John and Jack download A to fix bugs
 John uploads A
 Jack uploads A (John’s changes are lost)
 Three
 Module A is used in system X
 John fixes bug in A
 Nobody is notified to relink A in X
10
 Definition:
 Software Configuration Management encompasses the
disciplines and techniques of initiating, evaluating and
controlling change to software products during and after
the software engineering process.
 Standards (approved by ANSI)
 IEEE 828: Software Configuration Management Plans
 IEEE 1042: Guide to Software Configuration Management
11
 Need Configuration Management in order to:
 Identify and manage parts of software
 Control access and changes to parts
 Help control product integration
 (and to meet ISO and CMM standards)
 Main functions of CM are:
 Configuration Identification
 Configuration Control
 Configuration Audits
 Configuration Status Accounting
 Done properly, CM is almost invisible!
 CM mistakes are often far too visible
12
 Configuration Control
 Controlling product release and its updates.
 Status Accounting
 Recording and reporting components’ status.
 Review
 Ensuring completeness and consistency of all parts.
 Build Management
 Managing the build process and its tools.
 Process Management
 Ensuring adherence to the development process.
 Environment Management
 Managing the components that host our system.
 Teamwork
 Facilitate team interactions
13
 Configuration Manager:
 Responsible for identifying configuration items. The
configuration manager can also be responsible for defining the
procedures for creating promotions and releases.
 Change control board member:
 Responsible for approving or rejecting change requests.
 Developer:
 Creates promotions triggered by change requests or the normal
activities of development. The developer checks in changes and
resolves conflicts
 Auditor:
 Responsible for the selection and evaluation of promotions for
release and for ensuring the consistency and completeness of
this release
14
 Configuration Management
 Configuration Identification
 Change Control
 Configuration management planning
 Build
 Tools
15
 Configuration item (CI)
 Configuration
 Version
 Baseline
16
 Configuration Item (SCI)
 A piece of software, a document, apiece of hardware or work
product which is subject to change is a configuration item
 Almost anything can be a software configuration item.
 Configuration items are ‘things’ we want to keep track
of and control.
 Examples:
 Requirement document
 Design document
 Software code
• Source code, Object code, or Prototype software
 Data Files
• Test cases and test scripts, Parameters, codes, etc.
 Software Development Tools
• Compilers and debuggers, or Application generators
17
 Configuration Item is “An aggregation of hardware, software,
or both, that is designated for configuration management
and treated as a single entity in the configuration
management process.”
 Software configuration items are not only program code
segments but all type of documents according to
development, e.g
 all type of code files
 drivers for tests
 analysis or design documents
 user or developer manuals
 system configurations (e.g. version of compiler used)
 In some systems, not only software but also hardware
configuration items (CPUs, bus speed frequencies) exist!
 Changes to CI are subject to procedures defined by CM system
 Typically, change must be approved and recorded
 New version of CI must be generated
18
 Problem Statement
 Software Project Management Plan
(SPMP)
 Requirements Analysis Document
(RAD)
 System Design Document (SDD)
 Project Agreement
 Object Design Document (ODD)
 Dynamic Model
 Object model
 Functional Model
 Unit tests
 Integration test strategy
 Source code
 API Specification
 Input data and data bases
 Test plan
 Test data
 Support software (part of the
product)
 Support software (not part of the
product)
 User manual
 Administrator manual
19
 Problem Statement
 Software Project Management Plan
(SPMP)
 Requirements Analysis Document
(RAD)
 System Design Document (SDD)
 Project Agreement
 Object Design Document (ODD)
 Dynamic Model
 Object model
 Functional Model
 Unit tests
 Integration test strategy
 Source code
 API Specification
 Input data and data bases
 Test plan
 Test data
 Support software (part of the
product)
 Support software (not part of the
product)
 User manual
 Administrator manual
Once the Configuration Items are selected, they are usually organized in a tree
20
“The project” CI
Models Subsystems Documents
Object Model Dynamic Model
Database User Interface
. . . .
Code Data Unit Test
RAD ODD
. . . . . . . .
. . . .
“The project”
RAD: Requirements Analysis Document
ODD: Object Design Document
21
 Version:
 An initial release or re-release of a configuration item
associated with a complete compilation or recompilation
of the item. Different versions have different
functionality.
 Instance of CI
 Revision:
 Change to a version that corrects only errors in the
design/code, but does not affect the documented
functionality.
 Release:
 The formal distribution of an approved version.
22
 Snapshot of software at certain time
 Various CIs, each in a certain version
 Same CI may appear in different configurations
 Also configuration has version
 Example:
 System 1.0 (configuration 1.0)
• File2.c 1.0 + File1.c 1.0 + Readme 1.0
 System 1.1 (configuration 1.1)
• File2.c 1.0 + File1.c 1.1 + Readme 1.0
23
 Baseline is “A specification or product that has been formally
reviewed and agreed to by responsible management, that
thereafter serves as the basis for further development, and can
be changed only through formal change control procedures.”
 Configuration in stable, frozen form
 Not all configurations are baselines
 Any further change/development will produce new version(s) of
CI(s), will not modify baseline
 Types of baselines:
 Development baseline – (SRS, SDD, Integration Test, ...)
• Goal: Coordinate engineering activities.
 Functional baseline - (first prototype, alpha release, beta release)
• Goal: Get first customer experiences with functional system.
 Product baseline - product for delivery
• Goal: Coordinate sales and customer support.
24
25
 The process of:
 Breaking a system down into a number of known and
manageable parts (configuration items)
 Labeling software and hardware configuration items with unique
identifiers.
 Identifying the documentation that describes a configuration
item.
 Grouping related configuration items into baselines.
 Labeling revisions to configuration items and baselines.
 The following tables show how a unique number is
developed for each project CI.
26
 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.
27
 Procedures for version identification should define an
unambiguous way of identifying component versions
 Basic techniques for component identification:
1) Version numbering:
• Simple naming scheme uses a linear derivation
• e.g. V1, V1.1, V1.2, V2.1, V2.2 etc.
• Names are not meaningful.
2) Attribute-based identification:
• Attributes can be associated with a version with the
combination of attributes identifying that version.
• Examples of attributes are Date, Creator, Programming
Language, Customer, Status.
28
 Configuration Management
 Configuration Identification
 Change Control
 Configuration management planning
 Build
 Tools
29
 The problem: allow users to share information, but prevent
them from accidentally stepping on each other's feet?
Figure from svn-book
30
 Changes must be disciplined
 Who controls
 What is controlled
 How control is implemented
 Approaches:
1)Configuration Control Board (CCB):
• Best for maintenance process
– Ex Windows Vista after jan 2007
2)Check in – check out model, Workspaces:
• Best for development process
– Ex Windows Vista before jan 2007
31
 Repository
 A server where the files are stored.
 Workspace
 ‘Private’ space where developer has full control
 Check-Out
 Extraction of CI from repository
• with goal of changing it or not
• After checkout next users are notified
 Checked-out CI is locked or not
• If locked, one writer, many readers [i.e. Only one can modify]
 Commit or Check-in
 Insertion of CI under control
 Checked-in CI increments version or not
• If not, old version is lost
32
 Change
 A specific modification to a document under version control.
 Change List
 The set of changes made in a single commit.
 A sequential view of the source code.
 Update
 copies the changes that were made to the repository into your
working directory.
 Merge / Integration
 brings together (merges) concurrent changes into a unified
revision.
33
 Revision or version
 one version in a chain of changes.
 Conflict
 Occurs when two changes are made by different parties to the
same document or place within a document.
 Resolve
 The act of user intervention to address a conflict between
different changes to the same document.
34
 Lock-Modify-Unlock (or serialization)
 One can change at a time
 Copy-Modify-Merge
 Many change in parallel, then merge
35
 Only one person to
change a file at a
time.
36
 Administrative problems:
 A user can lock a file and forget about it.
• Time is wasted while others wait to edit the file.
 Unnecessary serialization:
 Different parts of a file don’t necessarily overlap.
• E.g.: Alice works on the beginning of a file, Bob wants to
edit the end of the same file.
 False sense of security:
 Let’s say Alice locks and edits file A, while Bob
simultaneously locks and edits file B.
 Let’s say A and B depend on one another, and the changes
made to each are semantically incompatible.
 Suddenly, A and B don't work together anymore.
37
38
 Configuration Control Board
 Authorizes changes to a baseline
• Corrective maintenance
 Defines what will be in next baseline
• Perfective maintenance
 Changes should be reviewed by an external group who
decide whether or not they are cost-effective from a
strategic and organizational viewpoint rather than a
technical viewpoint
 Should be independent of project responsible for
system. The group is sometimes called a change control
board
39
40
 Definition of change request form is part of the CM
planning process
 Records change required, suggest of change, reason why
change was suggested and urgency of change (from
requestor of the change)
 Records change evaluation, impact analysis, change cost
and recommendations (System maintenance staff)
41
42
 Configuration Management
 Configuration Identification
 Change Control
 Configuration management planning
 Build
 Tools
43
 Starts during the early phases of the project
 Must define (CM plan document)
 CIs
• Identification, versioning
 Baselines
 Change control rules, roles, responsibilities
 Tools used
44
 The product
 Several subsystems, each subsystem an executable and
several source files (modules)
 Hierarchy
 The team
 One person responsible per module
 One person responsible per subsystem
 The repository
 One repository per subsystem
 Check in/out
 Workspace per person
45
 Configuration Management
 Configuration Identification
 Change Control
 Configuration management planning
 Build
 Tools
46
 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’
47
48
 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.
 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 behavior.
 Are data file references within components correct?
 Embedding absolute names in code almost always causes problems
as naming conventions differ from place to place.
49
 Configuration Management
 Configuration Identification
 Change Control
 Configuration management planning
 Build
 Tools
50
 Functions:
 Change management
 Version management
 Build
 Tools:
 CM + VM
● RCS ● VSS
● CVS ● SCCS
● PCVS ● Clearcase
● Subversion ● BitKeeper
 Build
● Make
● Ant
● Maven
51
 Visual SourceSafe (VSS):
 Central repository of read-only files.
 Everybody sees the same version.
 Only one user can check in at once.
 Limited merge capabilities.
 Advantages of SourceSafe:
 Synchronized with Visual Studio.
 Relatively inexpensive.
 Relatively simple to administrate.
 Disadvantages of SourceSafe:
 Not compatible with other OS’s.
52
 Part of Unix
 Allows to describe components and dependencies among
components
 Allows to describe operations to build system from
components
 Builds system – recompiles only if component was
changed (using data tag)
53
 A build tool like make
 Open source
 from the Apache Jakarta project
 http://jakarta.apache.org/ant
 Implemented in Java
 Used to build many open source products
 Such as Tomcat and JDOM
54
 “Software configuration management: A roadmap”, J.E
stublier, Proc. Int. Conf. on Software Engineering, 2000,
IEEE Press.
 IEEE STD 1042 – 1987 IEEE guide to software
configuration management
 IEE STD 828-2005 Standard for Software Configuration
Mangement Plans
 “Configuration Management Principle and Practice”,
A.M.J.Hass,2002, Addison Wesley
55
Ad

More Related Content

What's hot (20)

Configuration management
Configuration managementConfiguration management
Configuration management
ashamarsha
 
Software configuration management
Software configuration managementSoftware configuration management
Software configuration management
Julia Carolina
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
JeyanthiR
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
Arunnima B S
 
5. scm
5. scm5. scm
5. scm
Sagar Pednekar
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
elliando dias
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Management
Rajesh Kumar
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)
Er. Shiva K. Shrestha
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
JeyanthiR
 
Software Configuration Management And CVS
Software Configuration Management And CVSSoftware Configuration Management And CVS
Software Configuration Management And CVS
Rajesh Kumar
 
Configuration management
Configuration managementConfiguration management
Configuration management
Kobi Vider
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Management
elliando dias
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Management
Saqib Raza
 
Configuration Management Best Practices
Configuration Management Best PracticesConfiguration Management Best Practices
Configuration Management Best Practices
TechWell
 
Software configuration items
Software configuration itemsSoftware configuration items
Software configuration items
ashok kumar
 
SCM PPT
SCM PPTSCM PPT
SCM PPT
Venkatesh Samineni
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Management
sslovepk
 
Change Management
Change ManagementChange Management
Change Management
Abhinav Sabharwal- Business Analyst Mumbai
 
software configuration management ppt
 software configuration management  ppt software configuration management  ppt
software configuration management ppt
Yeshiwas Getachew
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
Mata Gujri College, FatehGarh Sahib ( Harsimrat Deo )
 
Configuration management
Configuration managementConfiguration management
Configuration management
ashamarsha
 
Software configuration management
Software configuration managementSoftware configuration management
Software configuration management
Julia Carolina
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
JeyanthiR
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
Arunnima B S
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
elliando dias
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Management
Rajesh Kumar
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)
Er. Shiva K. Shrestha
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
JeyanthiR
 
Software Configuration Management And CVS
Software Configuration Management And CVSSoftware Configuration Management And CVS
Software Configuration Management And CVS
Rajesh Kumar
 
Configuration management
Configuration managementConfiguration management
Configuration management
Kobi Vider
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Management
elliando dias
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Management
Saqib Raza
 
Configuration Management Best Practices
Configuration Management Best PracticesConfiguration Management Best Practices
Configuration Management Best Practices
TechWell
 
Software configuration items
Software configuration itemsSoftware configuration items
Software configuration items
ashok kumar
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Management
sslovepk
 
software configuration management ppt
 software configuration management  ppt software configuration management  ppt
software configuration management ppt
Yeshiwas Getachew
 

Viewers also liked (11)

Modern Control - Lec 04 - Analysis and Design of Control Systems using Root L...
Modern Control - Lec 04 - Analysis and Design of Control Systems using Root L...Modern Control - Lec 04 - Analysis and Design of Control Systems using Root L...
Modern Control - Lec 04 - Analysis and Design of Control Systems using Root L...
Amr E. Mohamed
 
DSP_FOEHU - MATLAB 03 - The z-Transform
DSP_FOEHU - MATLAB 03 - The z-TransformDSP_FOEHU - MATLAB 03 - The z-Transform
DSP_FOEHU - MATLAB 03 - The z-Transform
Amr E. Mohamed
 
DSP_FOEHU - Lec 13 - Digital Signal Processing Applications I
DSP_FOEHU - Lec 13 - Digital Signal Processing Applications IDSP_FOEHU - Lec 13 - Digital Signal Processing Applications I
DSP_FOEHU - Lec 13 - Digital Signal Processing Applications I
Amr E. Mohamed
 
DSP_FOEHU - Lec 10 - FIR Filter Design
DSP_FOEHU - Lec 10 - FIR Filter DesignDSP_FOEHU - Lec 10 - FIR Filter Design
DSP_FOEHU - Lec 10 - FIR Filter Design
Amr E. Mohamed
 
SE18_Lec 09_UML Use Cases
SE18_Lec 09_UML Use CasesSE18_Lec 09_UML Use Cases
SE18_Lec 09_UML Use Cases
Amr E. Mohamed
 
Modern Control - Lec 05 - Analysis and Design of Control Systems using Freque...
Modern Control - Lec 05 - Analysis and Design of Control Systems using Freque...Modern Control - Lec 05 - Analysis and Design of Control Systems using Freque...
Modern Control - Lec 05 - Analysis and Design of Control Systems using Freque...
Amr E. Mohamed
 
DSP_FOEHU - Lec 11 - IIR Filter Design
DSP_FOEHU - Lec 11 - IIR Filter DesignDSP_FOEHU - Lec 11 - IIR Filter Design
DSP_FOEHU - Lec 11 - IIR Filter Design
Amr E. Mohamed
 
Modern Control - Lec07 - State Space Modeling of LTI Systems
Modern Control - Lec07 - State Space Modeling of LTI SystemsModern Control - Lec07 - State Space Modeling of LTI Systems
Modern Control - Lec07 - State Space Modeling of LTI Systems
Amr E. Mohamed
 
Modern Control - Lec 04 - Analysis and Design of Control Systems using Root L...
Modern Control - Lec 04 - Analysis and Design of Control Systems using Root L...Modern Control - Lec 04 - Analysis and Design of Control Systems using Root L...
Modern Control - Lec 04 - Analysis and Design of Control Systems using Root L...
Amr E. Mohamed
 
DSP_FOEHU - MATLAB 01 - Discrete Time Signals and Systems
DSP_FOEHU - MATLAB 01 - Discrete Time Signals and SystemsDSP_FOEHU - MATLAB 01 - Discrete Time Signals and Systems
DSP_FOEHU - MATLAB 01 - Discrete Time Signals and Systems
Amr E. Mohamed
 
Modern Control - Lec 06 - PID Tuning
Modern Control - Lec 06 - PID TuningModern Control - Lec 06 - PID Tuning
Modern Control - Lec 06 - PID Tuning
Amr E. Mohamed
 
Modern Control - Lec 04 - Analysis and Design of Control Systems using Root L...
Modern Control - Lec 04 - Analysis and Design of Control Systems using Root L...Modern Control - Lec 04 - Analysis and Design of Control Systems using Root L...
Modern Control - Lec 04 - Analysis and Design of Control Systems using Root L...
Amr E. Mohamed
 
DSP_FOEHU - MATLAB 03 - The z-Transform
DSP_FOEHU - MATLAB 03 - The z-TransformDSP_FOEHU - MATLAB 03 - The z-Transform
DSP_FOEHU - MATLAB 03 - The z-Transform
Amr E. Mohamed
 
DSP_FOEHU - Lec 13 - Digital Signal Processing Applications I
DSP_FOEHU - Lec 13 - Digital Signal Processing Applications IDSP_FOEHU - Lec 13 - Digital Signal Processing Applications I
DSP_FOEHU - Lec 13 - Digital Signal Processing Applications I
Amr E. Mohamed
 
DSP_FOEHU - Lec 10 - FIR Filter Design
DSP_FOEHU - Lec 10 - FIR Filter DesignDSP_FOEHU - Lec 10 - FIR Filter Design
DSP_FOEHU - Lec 10 - FIR Filter Design
Amr E. Mohamed
 
SE18_Lec 09_UML Use Cases
SE18_Lec 09_UML Use CasesSE18_Lec 09_UML Use Cases
SE18_Lec 09_UML Use Cases
Amr E. Mohamed
 
Modern Control - Lec 05 - Analysis and Design of Control Systems using Freque...
Modern Control - Lec 05 - Analysis and Design of Control Systems using Freque...Modern Control - Lec 05 - Analysis and Design of Control Systems using Freque...
Modern Control - Lec 05 - Analysis and Design of Control Systems using Freque...
Amr E. Mohamed
 
DSP_FOEHU - Lec 11 - IIR Filter Design
DSP_FOEHU - Lec 11 - IIR Filter DesignDSP_FOEHU - Lec 11 - IIR Filter Design
DSP_FOEHU - Lec 11 - IIR Filter Design
Amr E. Mohamed
 
Modern Control - Lec07 - State Space Modeling of LTI Systems
Modern Control - Lec07 - State Space Modeling of LTI SystemsModern Control - Lec07 - State Space Modeling of LTI Systems
Modern Control - Lec07 - State Space Modeling of LTI Systems
Amr E. Mohamed
 
Modern Control - Lec 04 - Analysis and Design of Control Systems using Root L...
Modern Control - Lec 04 - Analysis and Design of Control Systems using Root L...Modern Control - Lec 04 - Analysis and Design of Control Systems using Root L...
Modern Control - Lec 04 - Analysis and Design of Control Systems using Root L...
Amr E. Mohamed
 
DSP_FOEHU - MATLAB 01 - Discrete Time Signals and Systems
DSP_FOEHU - MATLAB 01 - Discrete Time Signals and SystemsDSP_FOEHU - MATLAB 01 - Discrete Time Signals and Systems
DSP_FOEHU - MATLAB 01 - Discrete Time Signals and Systems
Amr E. Mohamed
 
Modern Control - Lec 06 - PID Tuning
Modern Control - Lec 06 - PID TuningModern Control - Lec 06 - PID Tuning
Modern Control - Lec 06 - PID Tuning
Amr E. Mohamed
 
Ad

Similar to SE2_Lec 22_Software Configuration Management (20)

SE2018_Lec 21_ Software Configuration Management (SCM)
SE2018_Lec 21_ Software Configuration Management (SCM)SE2018_Lec 21_ Software Configuration Management (SCM)
SE2018_Lec 21_ Software Configuration Management (SCM)
Amr E. Mohamed
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
elliando dias
 
Software configuration management, Web engineering
Software configuration management, Web engineeringSoftware configuration management, Web engineering
Software configuration management, Web engineering
divyammo
 
Mod5-SCM.ppt
Mod5-SCM.pptMod5-SCM.ppt
Mod5-SCM.ppt
divyammo
 
Mod5-SCM.ppt
Mod5-SCM.pptMod5-SCM.ppt
Mod5-SCM.ppt
divyammo
 
software configuration management
software configuration managementsoftware configuration management
software configuration management
Fáber D. Giraldo
 
Scm PPT
Scm PPTScm PPT
Scm PPT
Venkatesh Samineni
 
Voyager scm
Voyager scmVoyager scm
Voyager scm
SivaprasanthRentala1975
 
Voyager scm
Voyager scmVoyager scm
Voyager scm
sivaprasanth rentala
 
SE-Lecture-8.pptx
SE-Lecture-8.pptxSE-Lecture-8.pptx
SE-Lecture-8.pptx
vishal choudhary
 
Unit 6 Software Configuration Management
Unit 6 Software Configuration ManagementUnit 6 Software Configuration Management
Unit 6 Software Configuration Management
KanchanPatil34
 
lecture14.ppt
lecture14.pptlecture14.ppt
lecture14.ppt
ubaidullah75790
 
Software Configuration Management introduction
Software Configuration Management introductionSoftware Configuration Management introduction
Software Configuration Management introduction
Mani Deepak Choudhry
 
Software maintenance and configuration management, software engineering
Software maintenance and  configuration management, software engineeringSoftware maintenance and  configuration management, software engineering
Software maintenance and configuration management, software engineering
Rupesh Vaishnav
 
Configuration Managment Powerpoint
Configuration Managment PowerpointConfiguration Managment Powerpoint
Configuration Managment Powerpoint
Jeannine Jacobs, MS
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Management
elliando dias
 
Software configuration management of students
Software configuration management of studentsSoftware configuration management of students
Software configuration management of students
AssadLeo1
 
Fa10 mcs-005
Fa10 mcs-005Fa10 mcs-005
Fa10 mcs-005
Danish Nauman
 
16103271 software-testing-ppt
16103271 software-testing-ppt16103271 software-testing-ppt
16103271 software-testing-ppt
atish90
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
Virendra Thakur
 
SE2018_Lec 21_ Software Configuration Management (SCM)
SE2018_Lec 21_ Software Configuration Management (SCM)SE2018_Lec 21_ Software Configuration Management (SCM)
SE2018_Lec 21_ Software Configuration Management (SCM)
Amr E. Mohamed
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
elliando dias
 
Software configuration management, Web engineering
Software configuration management, Web engineeringSoftware configuration management, Web engineering
Software configuration management, Web engineering
divyammo
 
Mod5-SCM.ppt
Mod5-SCM.pptMod5-SCM.ppt
Mod5-SCM.ppt
divyammo
 
Mod5-SCM.ppt
Mod5-SCM.pptMod5-SCM.ppt
Mod5-SCM.ppt
divyammo
 
software configuration management
software configuration managementsoftware configuration management
software configuration management
Fáber D. Giraldo
 
Unit 6 Software Configuration Management
Unit 6 Software Configuration ManagementUnit 6 Software Configuration Management
Unit 6 Software Configuration Management
KanchanPatil34
 
Software Configuration Management introduction
Software Configuration Management introductionSoftware Configuration Management introduction
Software Configuration Management introduction
Mani Deepak Choudhry
 
Software maintenance and configuration management, software engineering
Software maintenance and  configuration management, software engineeringSoftware maintenance and  configuration management, software engineering
Software maintenance and configuration management, software engineering
Rupesh Vaishnav
 
Configuration Managment Powerpoint
Configuration Managment PowerpointConfiguration Managment Powerpoint
Configuration Managment Powerpoint
Jeannine Jacobs, MS
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Management
elliando dias
 
Software configuration management of students
Software configuration management of studentsSoftware configuration management of students
Software configuration management of students
AssadLeo1
 
16103271 software-testing-ppt
16103271 software-testing-ppt16103271 software-testing-ppt
16103271 software-testing-ppt
atish90
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
Virendra Thakur
 
Ad

More from Amr E. Mohamed (20)

Dsp 2018 foehu - lec 10 - multi-rate digital signal processing
Dsp 2018 foehu - lec 10 - multi-rate digital signal processingDsp 2018 foehu - lec 10 - multi-rate digital signal processing
Dsp 2018 foehu - lec 10 - multi-rate digital signal processing
Amr E. Mohamed
 
Dcs lec03 - z-analysis of discrete time control systems
Dcs   lec03 - z-analysis of discrete time control systemsDcs   lec03 - z-analysis of discrete time control systems
Dcs lec03 - z-analysis of discrete time control systems
Amr E. Mohamed
 
Dcs lec02 - z-transform
Dcs   lec02 - z-transformDcs   lec02 - z-transform
Dcs lec02 - z-transform
Amr E. Mohamed
 
Dcs lec01 - introduction to discrete-time control systems
Dcs   lec01 - introduction to discrete-time control systemsDcs   lec01 - introduction to discrete-time control systems
Dcs lec01 - introduction to discrete-time control systems
Amr E. Mohamed
 
DDSP_2018_FOEHU - Lec 10 - Digital Signal Processing Applications
DDSP_2018_FOEHU - Lec 10 - Digital Signal Processing ApplicationsDDSP_2018_FOEHU - Lec 10 - Digital Signal Processing Applications
DDSP_2018_FOEHU - Lec 10 - Digital Signal Processing Applications
Amr E. Mohamed
 
DSP_2018_FOEHU - Lec 07 - IIR Filter Design
DSP_2018_FOEHU - Lec 07 - IIR Filter DesignDSP_2018_FOEHU - Lec 07 - IIR Filter Design
DSP_2018_FOEHU - Lec 07 - IIR Filter Design
Amr E. Mohamed
 
DSP_2018_FOEHU - Lec 06 - FIR Filter Design
DSP_2018_FOEHU - Lec 06 - FIR Filter DesignDSP_2018_FOEHU - Lec 06 - FIR Filter Design
DSP_2018_FOEHU - Lec 06 - FIR Filter Design
Amr E. Mohamed
 
SE2018_Lec 17_ Coding
SE2018_Lec 17_ CodingSE2018_Lec 17_ Coding
SE2018_Lec 17_ Coding
Amr E. Mohamed
 
SE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-ToolsSE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-Tools
Amr E. Mohamed
 
SE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design PatternsSE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design Patterns
Amr E. Mohamed
 
Selenium - Introduction
Selenium - IntroductionSelenium - Introduction
Selenium - Introduction
Amr E. Mohamed
 
SE2018_Lec 20_ Test-Driven Development (TDD)
SE2018_Lec 20_ Test-Driven Development (TDD)SE2018_Lec 20_ Test-Driven Development (TDD)
SE2018_Lec 20_ Test-Driven Development (TDD)
Amr E. Mohamed
 
SE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software TestingSE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software Testing
Amr E. Mohamed
 
DSP_2018_FOEHU - Lec 08 - The Discrete Fourier Transform
DSP_2018_FOEHU - Lec 08 - The Discrete Fourier TransformDSP_2018_FOEHU - Lec 08 - The Discrete Fourier Transform
DSP_2018_FOEHU - Lec 08 - The Discrete Fourier Transform
Amr E. Mohamed
 
DSP_2018_FOEHU - Lec 05 - Digital Filters
DSP_2018_FOEHU - Lec 05 - Digital FiltersDSP_2018_FOEHU - Lec 05 - Digital Filters
DSP_2018_FOEHU - Lec 05 - Digital Filters
Amr E. Mohamed
 
DSP_2018_FOEHU - Lec 04 - The z-Transform
DSP_2018_FOEHU - Lec 04 - The z-TransformDSP_2018_FOEHU - Lec 04 - The z-Transform
DSP_2018_FOEHU - Lec 04 - The z-Transform
Amr E. Mohamed
 
DSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and Systems
DSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and SystemsDSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and Systems
DSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and Systems
Amr E. Mohamed
 
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time Signals
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time SignalsDSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time Signals
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time Signals
Amr E. Mohamed
 
SE2018_Lec 15_ Software Design
SE2018_Lec 15_ Software DesignSE2018_Lec 15_ Software Design
SE2018_Lec 15_ Software Design
Amr E. Mohamed
 
DSP_2018_FOEHU - Lec 1 - Introduction to Digital Signal Processing
DSP_2018_FOEHU - Lec 1 - Introduction to Digital Signal ProcessingDSP_2018_FOEHU - Lec 1 - Introduction to Digital Signal Processing
DSP_2018_FOEHU - Lec 1 - Introduction to Digital Signal Processing
Amr E. Mohamed
 
Dsp 2018 foehu - lec 10 - multi-rate digital signal processing
Dsp 2018 foehu - lec 10 - multi-rate digital signal processingDsp 2018 foehu - lec 10 - multi-rate digital signal processing
Dsp 2018 foehu - lec 10 - multi-rate digital signal processing
Amr E. Mohamed
 
Dcs lec03 - z-analysis of discrete time control systems
Dcs   lec03 - z-analysis of discrete time control systemsDcs   lec03 - z-analysis of discrete time control systems
Dcs lec03 - z-analysis of discrete time control systems
Amr E. Mohamed
 
Dcs lec02 - z-transform
Dcs   lec02 - z-transformDcs   lec02 - z-transform
Dcs lec02 - z-transform
Amr E. Mohamed
 
Dcs lec01 - introduction to discrete-time control systems
Dcs   lec01 - introduction to discrete-time control systemsDcs   lec01 - introduction to discrete-time control systems
Dcs lec01 - introduction to discrete-time control systems
Amr E. Mohamed
 
DDSP_2018_FOEHU - Lec 10 - Digital Signal Processing Applications
DDSP_2018_FOEHU - Lec 10 - Digital Signal Processing ApplicationsDDSP_2018_FOEHU - Lec 10 - Digital Signal Processing Applications
DDSP_2018_FOEHU - Lec 10 - Digital Signal Processing Applications
Amr E. Mohamed
 
DSP_2018_FOEHU - Lec 07 - IIR Filter Design
DSP_2018_FOEHU - Lec 07 - IIR Filter DesignDSP_2018_FOEHU - Lec 07 - IIR Filter Design
DSP_2018_FOEHU - Lec 07 - IIR Filter Design
Amr E. Mohamed
 
DSP_2018_FOEHU - Lec 06 - FIR Filter Design
DSP_2018_FOEHU - Lec 06 - FIR Filter DesignDSP_2018_FOEHU - Lec 06 - FIR Filter Design
DSP_2018_FOEHU - Lec 06 - FIR Filter Design
Amr E. Mohamed
 
SE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-ToolsSE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-Tools
Amr E. Mohamed
 
SE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design PatternsSE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design Patterns
Amr E. Mohamed
 
Selenium - Introduction
Selenium - IntroductionSelenium - Introduction
Selenium - Introduction
Amr E. Mohamed
 
SE2018_Lec 20_ Test-Driven Development (TDD)
SE2018_Lec 20_ Test-Driven Development (TDD)SE2018_Lec 20_ Test-Driven Development (TDD)
SE2018_Lec 20_ Test-Driven Development (TDD)
Amr E. Mohamed
 
SE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software TestingSE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software Testing
Amr E. Mohamed
 
DSP_2018_FOEHU - Lec 08 - The Discrete Fourier Transform
DSP_2018_FOEHU - Lec 08 - The Discrete Fourier TransformDSP_2018_FOEHU - Lec 08 - The Discrete Fourier Transform
DSP_2018_FOEHU - Lec 08 - The Discrete Fourier Transform
Amr E. Mohamed
 
DSP_2018_FOEHU - Lec 05 - Digital Filters
DSP_2018_FOEHU - Lec 05 - Digital FiltersDSP_2018_FOEHU - Lec 05 - Digital Filters
DSP_2018_FOEHU - Lec 05 - Digital Filters
Amr E. Mohamed
 
DSP_2018_FOEHU - Lec 04 - The z-Transform
DSP_2018_FOEHU - Lec 04 - The z-TransformDSP_2018_FOEHU - Lec 04 - The z-Transform
DSP_2018_FOEHU - Lec 04 - The z-Transform
Amr E. Mohamed
 
DSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and Systems
DSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and SystemsDSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and Systems
DSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and Systems
Amr E. Mohamed
 
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time Signals
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time SignalsDSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time Signals
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time Signals
Amr E. Mohamed
 
SE2018_Lec 15_ Software Design
SE2018_Lec 15_ Software DesignSE2018_Lec 15_ Software Design
SE2018_Lec 15_ Software Design
Amr E. Mohamed
 
DSP_2018_FOEHU - Lec 1 - Introduction to Digital Signal Processing
DSP_2018_FOEHU - Lec 1 - Introduction to Digital Signal ProcessingDSP_2018_FOEHU - Lec 1 - Introduction to Digital Signal Processing
DSP_2018_FOEHU - Lec 1 - Introduction to Digital Signal Processing
Amr E. Mohamed
 

Recently uploaded (20)

Avnet Silica's PCIM 2025 Highlights Flyer
Avnet Silica's PCIM 2025 Highlights FlyerAvnet Silica's PCIM 2025 Highlights Flyer
Avnet Silica's PCIM 2025 Highlights Flyer
WillDavies22
 
Data Structures_Introduction to algorithms.pptx
Data Structures_Introduction to algorithms.pptxData Structures_Introduction to algorithms.pptx
Data Structures_Introduction to algorithms.pptx
RushaliDeshmukh2
 
IntroSlides-April-BuildWithAI-VertexAI.pdf
IntroSlides-April-BuildWithAI-VertexAI.pdfIntroSlides-April-BuildWithAI-VertexAI.pdf
IntroSlides-April-BuildWithAI-VertexAI.pdf
Luiz Carneiro
 
DSP and MV the Color image processing.ppt
DSP and MV the  Color image processing.pptDSP and MV the  Color image processing.ppt
DSP and MV the Color image processing.ppt
HafizAhamed8
 
Value Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous SecurityValue Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous Security
Marc Hornbeek
 
Data Structures_Searching and Sorting.pptx
Data Structures_Searching and Sorting.pptxData Structures_Searching and Sorting.pptx
Data Structures_Searching and Sorting.pptx
RushaliDeshmukh2
 
new ppt artificial intelligence historyyy
new ppt artificial intelligence historyyynew ppt artificial intelligence historyyy
new ppt artificial intelligence historyyy
PianoPianist
 
fluke dealers in bangalore..............
fluke dealers in bangalore..............fluke dealers in bangalore..............
fluke dealers in bangalore..............
Haresh Vaswani
 
Compiler Design_Lexical Analysis phase.pptx
Compiler Design_Lexical Analysis phase.pptxCompiler Design_Lexical Analysis phase.pptx
Compiler Design_Lexical Analysis phase.pptx
RushaliDeshmukh2
 
Structural Response of Reinforced Self-Compacting Concrete Deep Beam Using Fi...
Structural Response of Reinforced Self-Compacting Concrete Deep Beam Using Fi...Structural Response of Reinforced Self-Compacting Concrete Deep Beam Using Fi...
Structural Response of Reinforced Self-Compacting Concrete Deep Beam Using Fi...
Journal of Soft Computing in Civil Engineering
 
RICS Membership-(The Royal Institution of Chartered Surveyors).pdf
RICS Membership-(The Royal Institution of Chartered Surveyors).pdfRICS Membership-(The Royal Institution of Chartered Surveyors).pdf
RICS Membership-(The Royal Institution of Chartered Surveyors).pdf
MohamedAbdelkader115
 
five-year-soluhhhhhhhhhhhhhhhhhtions.pdf
five-year-soluhhhhhhhhhhhhhhhhhtions.pdffive-year-soluhhhhhhhhhhhhhhhhhtions.pdf
five-year-soluhhhhhhhhhhhhhhhhhtions.pdf
AdityaSharma944496
 
Reagent dosing (Bredel) presentation.pptx
Reagent dosing (Bredel) presentation.pptxReagent dosing (Bredel) presentation.pptx
Reagent dosing (Bredel) presentation.pptx
AlejandroOdio
 
Compiler Design Unit1 PPT Phases of Compiler.pptx
Compiler Design Unit1 PPT Phases of Compiler.pptxCompiler Design Unit1 PPT Phases of Compiler.pptx
Compiler Design Unit1 PPT Phases of Compiler.pptx
RushaliDeshmukh2
 
Degree_of_Automation.pdf for Instrumentation and industrial specialist
Degree_of_Automation.pdf for  Instrumentation  and industrial specialistDegree_of_Automation.pdf for  Instrumentation  and industrial specialist
Degree_of_Automation.pdf for Instrumentation and industrial specialist
shreyabhosale19
 
QA/QC Manager (Quality management Expert)
QA/QC Manager (Quality management Expert)QA/QC Manager (Quality management Expert)
QA/QC Manager (Quality management Expert)
rccbatchplant
 
International Journal of Distributed and Parallel systems (IJDPS)
International Journal of Distributed and Parallel systems (IJDPS)International Journal of Distributed and Parallel systems (IJDPS)
International Journal of Distributed and Parallel systems (IJDPS)
samueljackson3773
 
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E..."Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
Infopitaara
 
Introduction to FLUID MECHANICS & KINEMATICS
Introduction to FLUID MECHANICS &  KINEMATICSIntroduction to FLUID MECHANICS &  KINEMATICS
Introduction to FLUID MECHANICS & KINEMATICS
narayanaswamygdas
 
some basics electrical and electronics knowledge
some basics electrical and electronics knowledgesome basics electrical and electronics knowledge
some basics electrical and electronics knowledge
nguyentrungdo88
 
Avnet Silica's PCIM 2025 Highlights Flyer
Avnet Silica's PCIM 2025 Highlights FlyerAvnet Silica's PCIM 2025 Highlights Flyer
Avnet Silica's PCIM 2025 Highlights Flyer
WillDavies22
 
Data Structures_Introduction to algorithms.pptx
Data Structures_Introduction to algorithms.pptxData Structures_Introduction to algorithms.pptx
Data Structures_Introduction to algorithms.pptx
RushaliDeshmukh2
 
IntroSlides-April-BuildWithAI-VertexAI.pdf
IntroSlides-April-BuildWithAI-VertexAI.pdfIntroSlides-April-BuildWithAI-VertexAI.pdf
IntroSlides-April-BuildWithAI-VertexAI.pdf
Luiz Carneiro
 
DSP and MV the Color image processing.ppt
DSP and MV the  Color image processing.pptDSP and MV the  Color image processing.ppt
DSP and MV the Color image processing.ppt
HafizAhamed8
 
Value Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous SecurityValue Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous Security
Marc Hornbeek
 
Data Structures_Searching and Sorting.pptx
Data Structures_Searching and Sorting.pptxData Structures_Searching and Sorting.pptx
Data Structures_Searching and Sorting.pptx
RushaliDeshmukh2
 
new ppt artificial intelligence historyyy
new ppt artificial intelligence historyyynew ppt artificial intelligence historyyy
new ppt artificial intelligence historyyy
PianoPianist
 
fluke dealers in bangalore..............
fluke dealers in bangalore..............fluke dealers in bangalore..............
fluke dealers in bangalore..............
Haresh Vaswani
 
Compiler Design_Lexical Analysis phase.pptx
Compiler Design_Lexical Analysis phase.pptxCompiler Design_Lexical Analysis phase.pptx
Compiler Design_Lexical Analysis phase.pptx
RushaliDeshmukh2
 
RICS Membership-(The Royal Institution of Chartered Surveyors).pdf
RICS Membership-(The Royal Institution of Chartered Surveyors).pdfRICS Membership-(The Royal Institution of Chartered Surveyors).pdf
RICS Membership-(The Royal Institution of Chartered Surveyors).pdf
MohamedAbdelkader115
 
five-year-soluhhhhhhhhhhhhhhhhhtions.pdf
five-year-soluhhhhhhhhhhhhhhhhhtions.pdffive-year-soluhhhhhhhhhhhhhhhhhtions.pdf
five-year-soluhhhhhhhhhhhhhhhhhtions.pdf
AdityaSharma944496
 
Reagent dosing (Bredel) presentation.pptx
Reagent dosing (Bredel) presentation.pptxReagent dosing (Bredel) presentation.pptx
Reagent dosing (Bredel) presentation.pptx
AlejandroOdio
 
Compiler Design Unit1 PPT Phases of Compiler.pptx
Compiler Design Unit1 PPT Phases of Compiler.pptxCompiler Design Unit1 PPT Phases of Compiler.pptx
Compiler Design Unit1 PPT Phases of Compiler.pptx
RushaliDeshmukh2
 
Degree_of_Automation.pdf for Instrumentation and industrial specialist
Degree_of_Automation.pdf for  Instrumentation  and industrial specialistDegree_of_Automation.pdf for  Instrumentation  and industrial specialist
Degree_of_Automation.pdf for Instrumentation and industrial specialist
shreyabhosale19
 
QA/QC Manager (Quality management Expert)
QA/QC Manager (Quality management Expert)QA/QC Manager (Quality management Expert)
QA/QC Manager (Quality management Expert)
rccbatchplant
 
International Journal of Distributed and Parallel systems (IJDPS)
International Journal of Distributed and Parallel systems (IJDPS)International Journal of Distributed and Parallel systems (IJDPS)
International Journal of Distributed and Parallel systems (IJDPS)
samueljackson3773
 
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E..."Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
Infopitaara
 
Introduction to FLUID MECHANICS & KINEMATICS
Introduction to FLUID MECHANICS &  KINEMATICSIntroduction to FLUID MECHANICS &  KINEMATICS
Introduction to FLUID MECHANICS & KINEMATICS
narayanaswamygdas
 
some basics electrical and electronics knowledge
some basics electrical and electronics knowledgesome basics electrical and electronics knowledge
some basics electrical and electronics knowledge
nguyentrungdo88
 

SE2_Lec 22_Software Configuration Management

  • 2. 2
  • 3. 3  Configuration Management  Configuration Identification  Change Control  Configuration management planning  Build  Tools
  • 4. 4
  • 5. 5  A software engineering discipline  Comprised of tools and techniques  used to manage change to software assets.  Made of many parts  Documents  Programs  Thousands of separate documents are generated for a large software system
  • 6. 6  A software system changes  Different instantiations of software for different customers  Same software changes over time  Parts of software must be kept consistent over changes  Configuration management • A methodology to control and manage a software development project. “No matter where you are in the system life cycle, the system will change, and the desire to change it will persist throughout the life cycle.” [Bersoff et al., 1980]
  • 7. 7
  • 8. 8  Team develops software  Many people need to access parts of software  Common repository, all can read/write documents/ programs  Problems:  Concurrent access • What if two people access same document at same time?  Concurrent modification • What if two people access same document and both modify it?  Notification of changes • Document is changed, how all are informed?
  • 9. 9  One  John changes module A to fix bug  Meanwhile Linda downloads old A and links it  Two  John and Jack download A to fix bugs  John uploads A  Jack uploads A (John’s changes are lost)  Three  Module A is used in system X  John fixes bug in A  Nobody is notified to relink A in X
  • 10. 10  Definition:  Software Configuration Management encompasses the disciplines and techniques of initiating, evaluating and controlling change to software products during and after the software engineering process.  Standards (approved by ANSI)  IEEE 828: Software Configuration Management Plans  IEEE 1042: Guide to Software Configuration Management
  • 11. 11  Need Configuration Management in order to:  Identify and manage parts of software  Control access and changes to parts  Help control product integration  (and to meet ISO and CMM standards)  Main functions of CM are:  Configuration Identification  Configuration Control  Configuration Audits  Configuration Status Accounting  Done properly, CM is almost invisible!  CM mistakes are often far too visible
  • 12. 12  Configuration Control  Controlling product release and its updates.  Status Accounting  Recording and reporting components’ status.  Review  Ensuring completeness and consistency of all parts.  Build Management  Managing the build process and its tools.  Process Management  Ensuring adherence to the development process.  Environment Management  Managing the components that host our system.  Teamwork  Facilitate team interactions
  • 13. 13  Configuration Manager:  Responsible for identifying configuration items. The configuration manager can also be responsible for defining the procedures for creating promotions and releases.  Change control board member:  Responsible for approving or rejecting change requests.  Developer:  Creates promotions triggered by change requests or the normal activities of development. The developer checks in changes and resolves conflicts  Auditor:  Responsible for the selection and evaluation of promotions for release and for ensuring the consistency and completeness of this release
  • 14. 14  Configuration Management  Configuration Identification  Change Control  Configuration management planning  Build  Tools
  • 15. 15  Configuration item (CI)  Configuration  Version  Baseline
  • 16. 16  Configuration Item (SCI)  A piece of software, a document, apiece of hardware or work product which is subject to change is a configuration item  Almost anything can be a software configuration item.  Configuration items are ‘things’ we want to keep track of and control.  Examples:  Requirement document  Design document  Software code • Source code, Object code, or Prototype software  Data Files • Test cases and test scripts, Parameters, codes, etc.  Software Development Tools • Compilers and debuggers, or Application generators
  • 17. 17  Configuration Item is “An aggregation of hardware, software, or both, that is designated for configuration management and treated as a single entity in the configuration management process.”  Software configuration items are not only program code segments but all type of documents according to development, e.g  all type of code files  drivers for tests  analysis or design documents  user or developer manuals  system configurations (e.g. version of compiler used)  In some systems, not only software but also hardware configuration items (CPUs, bus speed frequencies) exist!  Changes to CI are subject to procedures defined by CM system  Typically, change must be approved and recorded  New version of CI must be generated
  • 18. 18  Problem Statement  Software Project Management Plan (SPMP)  Requirements Analysis Document (RAD)  System Design Document (SDD)  Project Agreement  Object Design Document (ODD)  Dynamic Model  Object model  Functional Model  Unit tests  Integration test strategy  Source code  API Specification  Input data and data bases  Test plan  Test data  Support software (part of the product)  Support software (not part of the product)  User manual  Administrator manual
  • 19. 19  Problem Statement  Software Project Management Plan (SPMP)  Requirements Analysis Document (RAD)  System Design Document (SDD)  Project Agreement  Object Design Document (ODD)  Dynamic Model  Object model  Functional Model  Unit tests  Integration test strategy  Source code  API Specification  Input data and data bases  Test plan  Test data  Support software (part of the product)  Support software (not part of the product)  User manual  Administrator manual Once the Configuration Items are selected, they are usually organized in a tree
  • 20. 20 “The project” CI Models Subsystems Documents Object Model Dynamic Model Database User Interface . . . . Code Data Unit Test RAD ODD . . . . . . . . . . . . “The project” RAD: Requirements Analysis Document ODD: Object Design Document
  • 21. 21  Version:  An initial release or re-release of a configuration item associated with a complete compilation or recompilation of the item. Different versions have different functionality.  Instance of CI  Revision:  Change to a version that corrects only errors in the design/code, but does not affect the documented functionality.  Release:  The formal distribution of an approved version.
  • 22. 22  Snapshot of software at certain time  Various CIs, each in a certain version  Same CI may appear in different configurations  Also configuration has version  Example:  System 1.0 (configuration 1.0) • File2.c 1.0 + File1.c 1.0 + Readme 1.0  System 1.1 (configuration 1.1) • File2.c 1.0 + File1.c 1.1 + Readme 1.0
  • 23. 23  Baseline is “A specification or product that has been formally reviewed and agreed to by responsible management, that thereafter serves as the basis for further development, and can be changed only through formal change control procedures.”  Configuration in stable, frozen form  Not all configurations are baselines  Any further change/development will produce new version(s) of CI(s), will not modify baseline  Types of baselines:  Development baseline – (SRS, SDD, Integration Test, ...) • Goal: Coordinate engineering activities.  Functional baseline - (first prototype, alpha release, beta release) • Goal: Get first customer experiences with functional system.  Product baseline - product for delivery • Goal: Coordinate sales and customer support.
  • 24. 24
  • 25. 25  The process of:  Breaking a system down into a number of known and manageable parts (configuration items)  Labeling software and hardware configuration items with unique identifiers.  Identifying the documentation that describes a configuration item.  Grouping related configuration items into baselines.  Labeling revisions to configuration items and baselines.  The following tables show how a unique number is developed for each project CI.
  • 26. 26  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.
  • 27. 27  Procedures for version identification should define an unambiguous way of identifying component versions  Basic techniques for component identification: 1) Version numbering: • Simple naming scheme uses a linear derivation • e.g. V1, V1.1, V1.2, V2.1, V2.2 etc. • Names are not meaningful. 2) Attribute-based identification: • Attributes can be associated with a version with the combination of attributes identifying that version. • Examples of attributes are Date, Creator, Programming Language, Customer, Status.
  • 28. 28  Configuration Management  Configuration Identification  Change Control  Configuration management planning  Build  Tools
  • 29. 29  The problem: allow users to share information, but prevent them from accidentally stepping on each other's feet? Figure from svn-book
  • 30. 30  Changes must be disciplined  Who controls  What is controlled  How control is implemented  Approaches: 1)Configuration Control Board (CCB): • Best for maintenance process – Ex Windows Vista after jan 2007 2)Check in – check out model, Workspaces: • Best for development process – Ex Windows Vista before jan 2007
  • 31. 31  Repository  A server where the files are stored.  Workspace  ‘Private’ space where developer has full control  Check-Out  Extraction of CI from repository • with goal of changing it or not • After checkout next users are notified  Checked-out CI is locked or not • If locked, one writer, many readers [i.e. Only one can modify]  Commit or Check-in  Insertion of CI under control  Checked-in CI increments version or not • If not, old version is lost
  • 32. 32  Change  A specific modification to a document under version control.  Change List  The set of changes made in a single commit.  A sequential view of the source code.  Update  copies the changes that were made to the repository into your working directory.  Merge / Integration  brings together (merges) concurrent changes into a unified revision.
  • 33. 33  Revision or version  one version in a chain of changes.  Conflict  Occurs when two changes are made by different parties to the same document or place within a document.  Resolve  The act of user intervention to address a conflict between different changes to the same document.
  • 34. 34  Lock-Modify-Unlock (or serialization)  One can change at a time  Copy-Modify-Merge  Many change in parallel, then merge
  • 35. 35  Only one person to change a file at a time.
  • 36. 36  Administrative problems:  A user can lock a file and forget about it. • Time is wasted while others wait to edit the file.  Unnecessary serialization:  Different parts of a file don’t necessarily overlap. • E.g.: Alice works on the beginning of a file, Bob wants to edit the end of the same file.  False sense of security:  Let’s say Alice locks and edits file A, while Bob simultaneously locks and edits file B.  Let’s say A and B depend on one another, and the changes made to each are semantically incompatible.  Suddenly, A and B don't work together anymore.
  • 37. 37
  • 38. 38  Configuration Control Board  Authorizes changes to a baseline • Corrective maintenance  Defines what will be in next baseline • Perfective maintenance  Changes should be reviewed by an external group who decide whether or not they are cost-effective from a strategic and organizational viewpoint rather than a technical viewpoint  Should be independent of project responsible for system. The group is sometimes called a change control board
  • 39. 39
  • 40. 40  Definition of change request form is part of the CM planning process  Records change required, suggest of change, reason why change was suggested and urgency of change (from requestor of the change)  Records change evaluation, impact analysis, change cost and recommendations (System maintenance staff)
  • 41. 41
  • 42. 42  Configuration Management  Configuration Identification  Change Control  Configuration management planning  Build  Tools
  • 43. 43  Starts during the early phases of the project  Must define (CM plan document)  CIs • Identification, versioning  Baselines  Change control rules, roles, responsibilities  Tools used
  • 44. 44  The product  Several subsystems, each subsystem an executable and several source files (modules)  Hierarchy  The team  One person responsible per module  One person responsible per subsystem  The repository  One repository per subsystem  Check in/out  Workspace per person
  • 45. 45  Configuration Management  Configuration Identification  Change Control  Configuration management planning  Build  Tools
  • 46. 46  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’
  • 47. 47
  • 48. 48  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.  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 behavior.  Are data file references within components correct?  Embedding absolute names in code almost always causes problems as naming conventions differ from place to place.
  • 49. 49  Configuration Management  Configuration Identification  Change Control  Configuration management planning  Build  Tools
  • 50. 50  Functions:  Change management  Version management  Build  Tools:  CM + VM ● RCS ● VSS ● CVS ● SCCS ● PCVS ● Clearcase ● Subversion ● BitKeeper  Build ● Make ● Ant ● Maven
  • 51. 51  Visual SourceSafe (VSS):  Central repository of read-only files.  Everybody sees the same version.  Only one user can check in at once.  Limited merge capabilities.  Advantages of SourceSafe:  Synchronized with Visual Studio.  Relatively inexpensive.  Relatively simple to administrate.  Disadvantages of SourceSafe:  Not compatible with other OS’s.
  • 52. 52  Part of Unix  Allows to describe components and dependencies among components  Allows to describe operations to build system from components  Builds system – recompiles only if component was changed (using data tag)
  • 53. 53  A build tool like make  Open source  from the Apache Jakarta project  http://jakarta.apache.org/ant  Implemented in Java  Used to build many open source products  Such as Tomcat and JDOM
  • 54. 54  “Software configuration management: A roadmap”, J.E stublier, Proc. Int. Conf. on Software Engineering, 2000, IEEE Press.  IEEE STD 1042 – 1987 IEEE guide to software configuration management  IEE STD 828-2005 Standard for Software Configuration Mangement Plans  “Configuration Management Principle and Practice”, A.M.J.Hass,2002, Addison Wesley
  • 55. 55