Upload
danish-nauman
View
183
Download
1
Embed Size (px)
Citation preview
Presentation Topic:“Software Configuration Management”
presented by:
Danish Nauman
Configuration• Meaning:• CHANGING of software• Change is inevitable,when computer software is
built & change increase the confusion level among software engineers who are working on a project.Confusion arises when changes are not analyzed before they are made,recorded before they are implemented,or controlled in a manner that will improve quality and reduce error.
Configuration Management(cm)
• The art of coordinating software development to minimize confusion is called “Configuration Management”
• It is the art of identifying,organizing & controlling modifications to the software being built by a programming team.
• The goal is to maximize productivity by minimizing mistakes.
Software Configuration Management
• SCM is a set of tracing & control activities that are initiated when a software management project begins & terminate only when the software is taken out of operation.
• Is like a Umbrella activity that is applied throughout the software process,Because changes can occur at any time,scm activities are develop to
• Identify change• Control change• Ensure that changes is being properly implemented• Report change to others who may have an interest.
Software Process• It may be divided into three main
categories
• Computer programs
• Work products that describe the computer programs
• Data
First Law Of System Engineering
• “No matter where you are in a system life cycle,the system will change,& the desire to change it will persist throughout the life cycle”
• “There is nothing permanent except change”(Heraclitus)
What is the origin of changes that are
requested for software?• New business or market conditions dictate
changes in product requirements or business rules.
• New customer needs demands modification of data produced by information system,functionality delivered by products,or services delivered by a computer-bases system
• Reorganization or business growth causes changes in project
• Budgetary or scheduling constrains cause a redefinition of the system.
SCM Scenario• Operational scenario involves project manager,Configuration
manager,Software engineers.Project manager:• WHO is in-charge of a software group, The goal is to ensure
that the product is developed within a certain time frame
Configuration manager:• WHO is in-Charge of CM procedures & policies,The goal is to
ensure that procedures & policies for creating, changing & testing of code.
Software engineers:• Who are responsible for developing & maintaining the
software product,& the customer who use the product.The goal is to work effectively.This means that engineers do not unnecessarily interfere with each other in the creation & testing of code & in the production of supporting document.
Element of a scm
Four important elements:
• Component elements
• Process elements
• Construction elements
• Human elements
• Component element:• A set of tools coupled within a file management system that
enable access to and management of each SC item.
• Process element:• A collection of procedures & tasks that define an effective
approach to change management for all constituencies involves in management, engineering and use of computer software.
• Construction element:• A set of tools that automate the construction of software by
ensuring that the proper set of validated components has been assembled.
• Human elements:• To implement effective scm,the software team uses the set
of tools & process features.
SCM Process• Scm process define a series of tasks that have
four primary objective:
1. To identify all items that collectively define the software configuration.
2. To manage changes to one or more of these items.
3. To facilitate the construction of different versions of an application
4. To ensure that software quality is maintained as the configuration evolves over time.
Baseline• Baseline is a software configuration
management concept that helps us to control without seriously impending justifiable change.
• The IEEE defines asA product that has been formally
reviewed & agreed upon,that there-after serves as the basis for further development,& that can be change only through formal change control procedures.
Software Configuration Item
Requirement User manuals
Specification Maintenance manuals
Design documents Interface control doc
Source code Client documentation
Object code
Tools
System description
Test plans
SCM Repository
• SCI were maintain as paper documents placed in file or folders & stored in metal cabninets.This approach was problematic for many reasons.
• Finding a CI when it was needed was often difficult.
• Determining which item were changed.• Constructing a new version of an existing
program.• Describing detail of complex relationship
b/w CI was virtually impossible.
DefineToday,SCI are maintain in a project database or
Repository.
“Anything or person thought of as a center of accumulation or storage”
The programmer who had to remember the location of all information relevant to a software project.
Role of Repository
• Definition:
• The SCM repository is the set of mechanisms & data structures that allow a software team to manage change in an effective manner.
Functions of Repository
• Data integrity
• Mechanism for sharing information
• Tool integration
• Data integration
• Methodology enforcement
• Document standardization
• Data Integrity:• Includes functions to validate entries to the
repository.
• Information Sharing:• Provide a mechanism for sharing information among
multiple developers & b/w multiple tools, manages & controls multi-user access to data,& lock or unlock objects so that changes are not inadvertently overlaid on one another.
• Tool Integration:• Establish a data model that can be accessed by many
software engineering tools, control access to the data & perform CMF
• Data Integration:• Provide database functions that allow various SCM
tasks to be performed on one or more SCIs.
• Methodology Enforcement:
• Define an entity-relationship model stored in the repository that implies a specific process model for software engineering.
• Document Standardization:
• Is the definition of object in database that leads directly to a standard approach for the creations of software engineering documents.
THANKS!!!