Chapter # 6 Software Configuration Management

Slides:



Advertisements
Similar presentations
Configuration Management
Advertisements

Software Quality Assurance Plan
Chapter 7: Key Process Areas for Level 2: Repeatable - Arvind Kabir Yateesh.
Sponsored by the U.S. Department of Defense © 2002 by Carnegie Mellon University July 2002 Pittsburgh, PA Lecture 6: Team Planning.
Configuration Management Managing Change. Points to Ponder Which is more important?  stability  progress Why is change potentially dangerous?
 Every stage from phase DESIGN in Software Development Process will have “design document” especially in analysis and design phases.  “Design document”
SOFTWARE QUALITY ASSURANCE Maltepe University Faculty of Engineering SE 410.
Software Configuration Management
Software Configuration Management (SCM)
Configuration Management
Development and Quality Plans
Software Configuration Management
CSSE 375 Software Construction and Evolution: Configuration Management
Configuration Management Avoiding Costly Confusion mostly stolen from Chapter 27 of Pressman.
OHT 4.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software Quality assurance (SQA) SWE 333 Dr Khalid Alnafjan
Configuration Management Process and Environment MACS Review 1 February 5th, 2010 Roland Moser PR a-RMO, February 5 th, 2010 R. Moser 1 R. Gutleber.
SE-02 CONFIGURATION MANAGEMENT Today we talk about Software Configuration Management (SCM for short): - What? - Why? - How?
Configuration Management Managing Change. Points to Ponder Which is more important?  stability  progress Why is change potentially dangerous?
CHAPTER 5 Infrastructure Components PART I. 2 ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser 2 Learning Objectives: To discuss: The need for SQA procedures.
Introduction to Software Quality Assurance (SQA)
OHT 18.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Chapter 18 Configuration Management.
Software Engineering Modern Approaches
Software Configuration Management
Galin, SQA from theory to implementation © Pearson Education Limited 2004 Review objectives Formal design reviews (FDRs) Participants Preparations The.
Software Configuration Management (SCM)
Configuration Management (managing change). Starter Questions... Which is more important?  stability  progress Why is change potentially dangerous?
SOFTWARE QUALITY INFRASTRUCTURE COMPONENTS
SENG521 (Fall SENG 521 Software Reliability & Testing Software Product & process Improvement using ISO (Part 3d) Department.
OHT 5.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Contract review process and stages Contract review objectives Implementation.
Software Quality Assurance
CHAPTER 5 Infrastructure Components PART II. 2 ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser Procedures and work instruction. Quality support devices like.
OHT 18.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Introduction The foundations of high quality Foundation 1: software.
© Mahindra Satyam 2009 Configuration Management QMS Training.
Software Engineering 2003 Jyrki Nummenmaa 1 CONFIGURATION MANAGEMENT Today we talk about Software Configuration Management (SCM for short): -
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa Configuration management.
Configuration Management and Change Control Change is inevitable! So it has to be planned for and managed.
Principles of Computer Security: CompTIA Security + ® and Beyond, Third Edition © 2012 Principles of Computer Security: CompTIA Security+ ® and Beyond,
OHT 15.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Templates The contribution of templates to software quality The organizational.
SE513 Software Quality Assurance Lecture10: Documentation and Quality Records Control Galin, SQA from Theory to Education Limited.
Software Engineering Lecture 9: Configuration Management.
TMP3413 Software Engineering Lab Lab 01: TSPi Tool Support.
CASE (Computer-Aided Software Engineering) Tools
OHT 18.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software configuration, software configuration items and software configuration.
Configuration & Build Management. Why Software Configuration Management ? The problem: Multiple people have to work on software that is changing More.
Software Configuration Management (SCM)
Introduction for the Implementation of Software Configuration Management I thought I knew it all !
ITIL: Service Transition
Configuration Management
Configuration Management
Software Configuration Management
Software Configuration Management
Software Project Configuration Management
Supporting quality devices
Software Configuration Management (SCM)
Chapter 11: Software Configuration Management
Software Engineering (CSI 321)
Testing Process Roman Yagodka ISS Test Leader.
Chapter 18 Maintaining Information Systems
Configuration Management
Software Configuration Management
Configuration Management (managing change)
Software Configuration Management
Chapter 11: Software Configuration Management
Chapter # 8 Quality Management Standards
Chapter # 5 Supporting Quality Devices
Chapter # 7 Software Quality Metrics
Chapter # 4 Development and Quality Plans
Chapter # 3 The Components of SQA
Configuration Management
Software Configuration Management
Presentation transcript:

Chapter # 6 Software Configuration Management 435-INFS-3 Software Quality Assurance Chapter # 6 Software Configuration Management Software Quality Assurance from Theory to Implementation by Daniel Galin Prepared by: S.Hashmi

SCM Software configuration management (SCM) is a software engineering discipline consisting of standard processes and techniques often used by organizations to manage the changes introduced to its software products. SCM helps in identifying individual elements and configurations, tracking changes, and version selection, control, and baselining. SCM is also known as software control management. SCM aims to control changes introduced to large complex software systems through reliable version selection and version control. The SCM system has the following advantages:  Reduced redundant work. Effective management of simultaneous updates. Avoids configuration-related problems. Facilitates team coordination. Helps in building management; managing tools used in builds. Defect tracking: It ensures that every defect has traceability back to its source.

Software Configuration Management Software configuration management (SCM) is the SQA component assigned to manage changes and supply accurate answers to inquiries. SCM deals with all the issues related to control of software changes, proper documentation of changes, registering and storing the approved software versions, provision of the relevant information and supply of copies of registered versions throughout the software system’s life cycle. Software configuration, its items and its management: The definitions of software configuration items and software configuration versions are presented as Software configuration, its items and its management The definitions of software configuration items and software configuration versions are presented as given below. Software configuration item (SCI) or configuration item (CI) An approved unit of software code, a document or piece of hardware that is designed for configuration management and treated as a distinct entity in the software configuration management process.

continue SCI version The approved state of an SCI at any given point of time during the development or maintenance process. Software configuration version An approved selected set of documented SCI versions that constitute a software system or document at a given point of time, where the activities to be performed are controlled by software configuration management procedures. The software configuration versions are released according to the cited procedures. The SCIs are generally placed into four classes, as follows: ■ Design documents ■ Software code ■ Data files, including files of test cases and test scripts ■ Software development tools. Common types of software configuration items Design documents

Continue ■ Software development plan (SDP) ■ System requirements document ■ Software requirements document (SRD) ■ Interface design specifications ■ Preliminary design document (PDD) ■ Critical design document (CDD) ■ Database description ■ Software test plan (STP) ■ Software test procedure (STPR) ■ Software test report (STR) ■ Software user manuals ■ Software maintenance manuals ■ Software installation plan (SIP) ■ Software maintenance requests (including problem reports) ■ Software change requests (SCRs) and software change orders (SCOs)

Continue Software code ■ Source code ■ Object code ■ Prototype software Data files ■ Test cases and test scripts ■ Parameters, codes, etc. Software development tools (the versions applied in the development and maintenance stages) ■ Compilers and debuggers ■ Application generators ■ CASE tools Note: The SQA component under whose heading all the activities necessary to attend to the availability and accuracy of information regarding all aspects of a software configuration is called software configuration management (SCM).

Continue Software configuration management – tasks and organization The tasks of software configuration management The tasks of software configuration management may be classified into four groups: ■ Control software change ■ Release of SCI and software configuration versions. ■ Provision of SCM information services ■ Verification of compliance to SCM procedures. Software change control Software change management controls the process of introducing changes mainly by doing the following: ■ Examining change requests and approving implementation of appropriate requests. ■ Assuring the quality of each new version of software configuration before it becomes operational.  

Continue Approval to carry out proposed changes The factors affecting the decision whether to implement a proposed change include: ■ Expected contribution of the proposed change ■ Urgency of the change ■ Effect of the proposed change on project timetables, level of service, etc. ■ Efforts required in making the change operational ■ Required software quality assurance efforts ■ Estimated required professional resources and cost of performing the change. Software change request (SCR) document – a template (1) Change principles ■ The initiator ■ The date the SCR was presented ■ The character of the change ■ The goals

Continue ■ The expected contribution to the project/system ■ The urgency of performance (2) Change details ■ Description of the proposed change ■ A list of the SCIs to be changed ■ Expected effect on other SCIs ■ Expected effect on interfaces with other software systems and hardware firmware ■ Expected delays in development completion schedules and expected disturbances to services to customers (3) Change timetable and resources estimates ■ Timetable for implementation ■ Estimated required professional resources ■ Other resources required ■ Estimated total cost of the requested change

Continue Release of software configuration versions The need to release a new software configuration version usually stems from one or more of the following conditions: ■ Defective SCIs ■ Special features demanded by new customers ■ The team’s initiatives to introduce SCI improvements. A discussion of the following issues, all of which are part of the process of software configuration version release, occupy the remainder of this section: ■ Types of software configuration releases ■ Software configuration management plans (SCMPs) ■ Software configuration evolution models ■ Documentation of software configuration versions. Types of software configuration releases Among software configuration releases, baseline versions, intermediate versions and revisions are considered to be the three main types of release.

Continue Baseline versions Baseline software configuration versions are planned early, during a system’s development or operating stage. As part of the process, they are reviewed, tested and approved, as are their SCIs. Baseline versions serve as milestones in the software system’s life cycle, and represent the foundations for further system development. Intermediate versions When problems arise that require immediate attention – such as the need to correct defects identified in an important SCI, or perform immediate adaptations as defined in a contract with a new customer – an intermediate version of the software is often prepared. Usually, intermediate versions serve only a portion of a firm’s customers, and then for a limited period, until replaced by a new baseline version. Naturally, we can expect that these versions will not receive the attention and investment of efforts usually devoted to the release of baseline versions. An intermediate software configuration version can thus serve as a “pilot” or springboard to the next baseline version.

Continue Revisions Revisions introduce minor changes and corrections to a given software configuration version. In some cases, several successive revisions are released before a new baseline version is released. Software configuration management plans (SCMPs) The main objective of a software configuration management plan (SCMP) is to plan ahead the schedule of baseline version releases and the required resources to carry out all the activities required for the software configuration releases. An additional objective of the SCMP is to enable one to follow up the progress of activities involved in software version release. SCMPs are required during the development stage as well as the operation (maintenance) stage. Accordingly, an SCMP usually includes: ■ An overview of the software development project or existing software system. ■ A list of scheduled baseline version releases. ■ A list of SCIs (documents, code, etc.) to be included in each version. ■ A list of assumptions about the resources required to perform the various activities required by the SCMP

Continue Software configuration evolution models Two fundamental software configuration evolution models – the linear model and the tree model – are generally applied. ■ The linear evolution model According to the linear model, only one unique software system’s configuration version serves all customers at any given time. Each new configuration version then replaces the prior version. This model is the natural choice for software systems developed to serve a single organization. ■ The tree evolution model According to this model, several parallel versions of the software are developed to serve the needs of different customers simultaneously throughout the system’s life cycle. Tree models are typically applied in firmware configuration versions, where each branch serves a different product or product line.

Documentation of software configuration versions SCI version document – a template Identification ■ SCI Version number ■ Name(s) of software engineer(s) who implemented the change ■ Date the new version was completed and approved Changes in the new version ■ Former SCI version number ■ Short description of the introduced changes ■ List of other SCIs that had to be changed as a result of the current changes ■ List of SCOs included in the new version ■ List of software problem reports resolved by the new version ■ Operational as well as other implications of the changes introduced in the new version Software configuration release documentation – VDD template Identification and installations

Continue ■ Release version and revision number ■ Date of the new version’s release ■ List of installations where the release was entered (site, date, name of technician who installed the version), if applicable Configuration of the released version ■ List of SCIs in the released version, including identification of each SCI version ■ List of hardware configuration items required for operating the specified version, including specification of each hardware configuration item ■ List of interfacing software systems (including version) and hardware systems (including model) ■ Installation instructions for the new release Changes in the new version ■ Previous software configuration version ■ List of SCIs that have been changed, new SCIs introduced for the first time, and deleted SCIs ■ Short description of introduced changes■ Operational and other implications of changes introduced in the new release

Continue Further development issues ■ List of software system problems that have not been solved in the new version ■ List of SCRs and proposals for development of the software system for which implementation of development was delayed Software configuration management audits The following is a list of typical bits of control information that SCM audits are meant to discover and transmit to management: ■ Percentage of unapproved changes introduced in the system during development or operation. ■ Percentage of SCOs not carried out according to instructions and not fully complying with procedures. ■ Percentage of design reviews and software tests of changed SCIs that have not been performed according to the relevant procedures. ■ Percentage of SCOs that have been completed on schedule. ■ Percentages of cases where SCIs affected by changes have not been checked, with some necessary changes not implemented

THANK YOU