Chapter 11: Software Configuration Management

Slides:



Advertisements
Similar presentations
Configuration management
Advertisements

Configuration management
Configuration Management
Software Quality Assurance Plan
Configuration Management Managing Change. Points to Ponder Which is more important?  stability  progress Why is change potentially dangerous?
Software Configuration Management
CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But Vending Machines.
Software Configuration Management (SCM)
Configuration Management
Chapter 27 Change Management
Software Configuration Management
Software Configuration Management (SCM)
CSSE 375 Software Construction and Evolution: Configuration Management
Configuration Management Avoiding Costly Confusion mostly stolen from Chapter 27 of Pressman.
This chapter is extracted from Sommerville’s slides. Text book chapter
SE-02 CONFIGURATION MANAGEMENT Today we talk about Software Configuration Management (SCM for short): - What? - Why? - How?
Software Configuration Management (SCM)
Configuration Management Managing Change. Points to Ponder Which is more important?  stability  progress Why is change potentially dangerous?
Introduction to Software Quality Assurance (SQA)
SOFTWARE CONFIGURATION MANAGEMENT (SCM)
Software Configuration Management
Software Configuration Management (SCM)
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Configuration Management (managing change). Starter Questions... Which is more important?  stability  progress Why is change potentially dangerous?
Configuration Management (CM)
Creator: ACSession No: 16 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringFebruary 2006 (Software Quality) Configuration Management CSE300 Advanced.
Software Quality Assurance
KS3 Phase4 Client Server Monitoring System October 1, 2008 by Stephen, Seema, Kam, Shpetim.
SOFTWARE CONFIGURATION MANAGEMENT. Change is inevitable when computer software is built. And change increases the level of confusion among software engineers.
Software Project Management
Configuration Management and Change Control Change is inevitable! So it has to be planned for and managed.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 29 Slide 1 Configuration management.
Configuration Management CSCI 5801: Software Engineering.
Management of Software Project CSM Software Configuration Management (SCM)
Configuration Management at CMM Level 2 Copyright, 2000 © Jerzy R. Nawrocki Requirements.
Software Configuration Management (SCM) Source: Pressman, R., Software Engineering: A Practitioner ’ s Approach. Boston: McGraw Hill, Inc., 2005; Ghezzi,
Software Configuration Management n Art of coordinating SW development to minimize confusion n Software quality assurance (umbrella) activity n Set of.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 Chapter 12 Configuration management This chapter is extracted from Sommerville’s slides. Text book chapter 29 1.
Software Engineering Lecture 9: Configuration Management.
Configuration & Build Management. Why Software Configuration Management ? The problem: Multiple people have to work on software that is changing More.
Software Configuration Management (SCM)
 Software Configuration Management is the process of controlling and monitoring change to work products.  Or  “It is the art of identifying, organizing.
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
Introduction for the Implementation of Software Configuration Management I thought I knew it all !
Software Configuration Management (SCM)
Configuration Management
Software Configuration Management
Software Configuration Management
Software Configuration Management
Software Project Configuration Management
Chapter 10, Software Configuration Management
Software Configuration Management (SCM)
Software Configuration Management
Software Engineering (CSI 321)
Configuration Management
Software Configuration Management
Chapter 27 Change Management
Lecture 3 Change Management
Configuration Management (managing change)
Software Configuration Management
Chapter 27 Change Management
Chapter 27 Change Management
Baseline – IEEE definition
Chapter 11: Software Configuration Management
Chapter 27 Change Management
Chapter # 6 Software Configuration Management
Chapter 27 Change Management
Configuration management
Software Configuration Management
Presentation transcript:

Chapter 11: Software Configuration Management Asst. Prof. Dr. Duygu Çelik Ertuğrul

Configuration Management New versions of software systems are created as they change Configuration management is concerned with managing evolving systems Involves the development of procedures and standards to manage product evolution May be viewed as part of a more general quality management process.

Software Configuration Management (SCM) A Software Configuration Management (SCM) Plan defines the strategy to be used for change management.

Software Configuration Management How to manage ‘change’ in software ? SE Process produces three main categories of outputs: Computer programs both source and executable Documentation both technical and user Data within a program or external to it These items are called a ‘software configuration’.

Fundamental sources of change (in software configuration) New business or market conditions may dictate changes in requirements or business rules. Customers may ask for modification of: Data produced Functionality delivered Services delivered by a computer program Reorganization or change of business size (↗ or ↘) may cause changes in project priorities. Budgeting or scheduling constraints may cause a redefinition of the system to be built Errors detected in the software need to be corrected

Software Configuration Management? A set of activities that have been developed to manage change throughout the life cycle of computer software. Change is a ‘fact of life’ in SE. Customers want to modify requirements, Developers want to modify technical approach, Managers want to modify project approach, as they get more experienced, and collect additional info.

Configuration Management Standards CM should always be based on a set of standards which are applied within an organization Should define how items are identified changes are controlled versions are managed Should be based on an evolutionary process model rather than something like the waterfall model!!!

Baselines A work product becomes a baseline only after it is reviewed and approved. A baseline is a software configuration management concept that helps us to control change without seriously approaching justifiable change. Once a baseline is established each change request must be evaluated and verified by a formal procedure before it is processed.

Fig 9.2. Baselined SCIs and Project Database (Software Repository or Project Library)

SUMMARY: A Baseline: (IEEE Std. 610. 12_1990) A specification or product that has been formally reviewed and agreed upon, that thereafter serves as the basis for further development, and that can be changed only through formal change control procedures. Before a software configuration item becomes a baseline, changes may be made quickly and informally. Once a baseline is established, changes can only be made by applying formal procedures Milestones usually define baselines. The progress of events that lead to a baseline is illustrated in the previous slide Purpose of creating Baseline? Creation of a baseline is usually a milestone in the schedule. The baseline is centrally controlled. Everyone uses the same current baselines. To change the baseline, a formal process is required.

Software Configuration Item (SCI) Definition: Information that is created as part of the software engineering process. Examples: Software Project Plan Software Requirements Specification Models, Prototypes, Requirements Design document Source code Test suite Software tools (e.g., compilers)

A Software Configuration Item ? The following SCI-Software Configuraion Items become the target for configuration management techniques, and hence form a set of baselines: 7. Test specification Test plan and procedure Test cases and recorded results 8. Operation and installation manuals 9. Executable program Module executable codes Linked modules executable codes 10. Database description Scheme and file structure Inıtıal content User manual Maintenance documents Software problem reports Maintenance requests Engineering change orders Standards and procedures for SE 1. System Specification 2. Software Project Plan 3. Software Requirement Specification Graphical analysis model Process specifications Prototype(s) Mathematical specification 4. Preliminary User Manual 5. Design specification Data design description Architectural design description Module design descriptions Interface design descriptions Object descriptions 6. Source code listing A Software Configuration Item ? Information that is created as a part of the SE process (a document, an entire plan of test cases, or a program module)

Many companies also place specific versions of editors, compilers, and other CASE tools under configuration control. A configuration object has a name, attributes and connections to other configuration objects.

Elements of SCM There are four elements of SCM: Software Configuration Identification Software Configuration Control Software Configuration Auditing Software Configuration Status Accounting

Configuration Management Cycle Customer Customer generates a change request Customer approves changes Project Manager Manager assigns change request to software engineer Dev Team Software engineer checks out necessary configuration objects SE checks in modified configuration objects and notifies CM SE completes necessary changes Configuration Manager* CM prepares new system release for operation if necessary CM creates new system baseline *In charge of administering project database and providing access control to engineers

Software Configuration Management Tasks Identification (tracking multiple versions to enable efficient changes) Version control (control changes before and after release to customer) Change control (authority to approve and prioritize changes) Configuration auditing (ensure changes made properly) Reporting (tell others about changes made)

Requirements for SCM Repository: shared DB for artifacts (eserler) with controlled access to prevent overwrites. Version management: Preserve history of changes made to each artifact; provide ability to see how version was created. Workspace control: Private work space with ability to check out from repository and check in with new version number. Product modeling and building: Procedure to build the product from artifacts in repository.

Version Numbering Derivation Structure from Sommerville Version Terminology Version instance of system that is functionally different from other system instances Variant instance of system that is functionally identical but non-functionally different from other system instances. Release system instance distributed to users outside the development team. Version Numbering Derivation Structure from Sommerville

Change Tracking Tools Major problem in change management is tracking the change status Change tracking tools help track the status of each change request Ensures that change requests are sent to the right people at the right time Can be integrated with e-mail systems to allow electronic distributions of change requests

According to IEEE Standard 828 - standard for Software Configuration Management Plans CM Plan - Format 1. Introduction a) purpose b) scope c) definitions and acronyms d) references 2. Management a) organization b) SCM responsibilities c) interface control d) SCMP implementation e) policies, directives, procedures (naming conventions, version designations, problem report process) 3. SCM Activities a) configuration identification b) configuration control (change history, review authority, read/write control, member identification) c) configuration status accounting (status of requests, status of approved changes, …) d) audits and reviews 4. Tools, Techniques, and Methodologies 5. Supplier Control 6. Records Collection and Retention

IEEE 1042 Guide to Software Configuration Management Defines terms, such as baseline and version Discusses configuration management as a management discipline and its role in the engineering process Includes checklists of issues for sections of the SCMP (IEEE Std 828) Includes four complete examples of SCMPs

CM Tools - Necessary Features Dependency Tracking!!! Audit Trails!!! Reporting of Changes Supports the Change Rules Versioning Requirements Tracing Repository arranged as "basic objects" and "aggregate objects" Supports both Linear evolution and Trees