Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 11: Software Configuration Management

Similar presentations


Presentation on theme: "Chapter 11: Software Configuration Management"— Presentation transcript:

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

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

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

4 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’.

5 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

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

7 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!!!

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

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

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

11 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)

12 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)

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

14

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

16 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

17 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)

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

19 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

20 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 systems to allow electronic distributions of change requests

21 According to IEEE Standard 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

22 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

23 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


Download ppt "Chapter 11: Software Configuration Management"

Similar presentations


Ads by Google