fa10 mcs-005

21

Upload: danish-nauman

Post on 05-Jul-2015

186 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Fa10 mcs-005
Page 2: Fa10 mcs-005

Presentation Topic:“Software Configuration Management”

presented by:

Danish Nauman

Page 3: Fa10 mcs-005

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.

Page 4: Fa10 mcs-005

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.

Page 5: Fa10 mcs-005

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.

Page 6: Fa10 mcs-005

Software Process• It may be divided into three main

categories

• Computer programs

• Work products that describe the computer programs

• Data

Page 7: Fa10 mcs-005

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)

Page 8: Fa10 mcs-005

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.

Page 9: Fa10 mcs-005

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.

Page 10: Fa10 mcs-005

Element of a scm

Four important elements:

• Component elements

• Process elements

• Construction elements

• Human elements

Page 11: Fa10 mcs-005

• 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.

Page 12: Fa10 mcs-005

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.

Page 13: Fa10 mcs-005

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.

Page 14: Fa10 mcs-005

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

Page 15: Fa10 mcs-005

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.

Page 16: Fa10 mcs-005

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.

Page 17: Fa10 mcs-005

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.

Page 18: Fa10 mcs-005

Functions of Repository

• Data integrity

• Mechanism for sharing information

• Tool integration

• Data integration

• Methodology enforcement

• Document standardization

Page 19: Fa10 mcs-005

• 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

Page 20: Fa10 mcs-005

• 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.

Page 21: Fa10 mcs-005

THANKS!!!