software development tools and processes
play

Software Development: Tools and Processes Lecture - 13: Software - PowerPoint PPT Presentation

Software Development: Tools and Processes Lecture - 13: Software Configuration Management Software configuration management What is Configuration Management? Configuration Management is the art of identifying, organizing, and


  1. Software Development: Tools and Processes Lecture - 13: Software Configuration Management

  2. Software configuration management • What is Configuration Management? • Configuration Management is the art of identifying, organizing, and controlling modifications to the software being built by a programming team. • Objectives of SCM • Identify Change • Control Change • Ensure proper implementation of Change • Report all the Changes

  3. Software Configuration Management (SCM) is umbrella activity that is applied throughout the software process.

  4. Sources of Change •New business or market conditions •New customer needs •Change in project priorities by the customer • Change in the software engineering team •Budgetary or scheduling constraints

  5. Software configuration management • What is Software Configuration? • The items that comprise all information produced as part of the software process are collectively called a Software Configuration Software Configuration Item: • • Any artifact which is put under the configuration control • Example of SCM item • System Specifications • Software project Plan • SRS • Design Specifications • User Manual • Test Specifications – test cases, test plan • Executable programs • Maintenance Documents

  6. Software configuration management Base-Lines? � A baseline is a SCM concept that helps us to control change without seriously impeding justifiable change. � IEE definition: � “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” � When items are put under Configuration control ? � The items which are formally designed and reviewed and have become baselines.

  7. Before a SCM item becomes a baseline, a change can be made quickly. However, when a baseline is established, we have to follow more stringent procedure to make a change

  8. Configuration Management Process Major SCM tasks – Identification – Version control – Change control – Configuration auditing – reporting

  9. Configuration Management Process • Identification • Each item must be separately named and then organized • Each item has set of distinct features that identify it uniquely: • Name – Description – Resources - relationships • Description – SCI type (doc, program etc), Project identifier, version information and change information • Resources – entities processed, referenced or required by object. Example: resources of programs include variables, functions etc. • Relationship with other items.

  10. Configuration Management Process • Version control • Management of different versions of configuration items. 1.0 1.1 1.2 1.0 • Versions are represented by evolution graph • Each version may be composed of 1.1.1 1.1.1. 2 different variants • Variant example: There are five different modules in a software called 1,2,3,4, & 5. Now 4 and 5 are mutually exclusive. Then one variant of software is 1,2,3,5 and other is 1,2,3,4.

  11. Configuration Management Process • Change Control • Combines human procedure and automated tools • Need for change is recognized • Change request from user • Request evaluated by developer • Change report is generated • Change control authority decides to: deny or accept the request • Request is queued for action • job to assigned individuals • Changes incorporated, reviewed and tested • New versions are built

  12. Configuration Management Process • Configuration Audit • To ensure that change have been properly implemented • FTRs • Software configuration audits - complete process • Status Reporting • What happened • Who performed the job • When was it performed • What will be affected.

  13. Configuration management & CMMI • SP 1.2-1 – Establish a configuration management system • Dynamic systems • Master systems • Static systems

  14. Configuration Management Process Support required from SCM Tool • Get Latest Version of a Program • Get any previous version of a program • Obtain the Delta between two different versions • Identify version related to a particular delivery • Handle Concurrent Update Requests • Undo a Program Change • Prevent Unauthorized Changes or Deletions • Ability to archive selected versions • Implement complete change control process

  15. Version control tool: VSS • Visual source safe is free ware by Microsoft • VSS manages versions of different software artifacts

  16. Configuration management tool: CRTS • Developed to manage the change control process • Tracks the modification history and reasons for modifications • Helps to clearly identify the delta between two different versions

Recommend


More recommend