1 / 30

Configuration Management

Configuration Management. CS 330 Introduction to Software Engineering By Rania Elnaggar West Virginia University. Outline. The Law of Change What is Software Configuration Management Identifying configuration Items Version Control Change Control Configuration Audit Status Reporting.

beth
Télécharger la présentation

Configuration Management

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Configuration Management CS 330 Introduction to Software Engineering By Rania Elnaggar West Virginia University

  2. Outline • The Law of Change • What is Software Configuration Management • Identifying configuration Items • Version Control • Change Control • Configuration Audit • Status Reporting CS 330 – Configuration Management - Slide 2

  3. The Law of Change • Change is inherent in the nature of the entire universe • The only thing that doesn’t change is Change itself! • Software is more susceptible to change • Ease of changing software rapidly. CS 330 – Configuration Management - Slide 3

  4. What is Software Configuration Management? • Configuration Management is the art of identifying, organizing, and controlling modifications to the software being built by a team. • Four basic SCM steps: • Identify change • Control change • Ensure change is being properly implemented • Report change CS 330 – Configuration Management - Slide 4

  5. The Software Configuration programs documents The pieces data CS 330 – Configuration Management - Slide 5

  6. Software Configuration Items • Software consists of: programs, documents, and Data • The items that comprise all information produced as part of the software process are called SCIs. CS 330 – Configuration Management - Slide 6

  7. What are the changes? changes in business requirements changes in technical requirements changes in other documents user requirements software models Project Plan data Test code CS 330 – Configuration Management - Slide 7

  8. Baselines • A baseline is: • 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. CS 330 – Configuration Management - Slide 8

  9. What is SCM? Software Engineering SCM • identification tools • version control methods • change control procedures • auditing a TQM foundation • reporting CS 330 – Configuration Management - Slide 9

  10. Identification of SCIs

  11. Identification of SCIs • Identify entities: • Project plan • Overall Design Specification • Design Specification of individual Components • Test Specifications • etc • Identify relationships between entities • Assess the impact of change CS 330 – Configuration Management - Slide 11

  12. Version Control

  13. Software versions • Every module exists in three forms • Source code • object code • executable load image • Configuration - given version of a product built by specific versions of each module CS 330 – Configuration Management - Slide 13

  14. Software Versions • During maintenance, at all times there are at least two versions of the product: • The old version, and • The new version • Two types of versions Version Variation Revision CS 330 – Configuration Management - Slide 14

  15. Revisions • Revision • Version with fixed faults in the module • Should we throw away an incorrect version ? • Perfective and adaptive maintenance also results in revisions • It is vital to have control to ensure that every member of the development team knows which version is the current version of a given module • Each revision is written to replace its predecessor CS 330 – Configuration Management - Slide 15

  16. Variations • Variation • Version for different operating system or hardware • Variations are designed to coexist in parallel • To complicate matters further, in general, there will be multiple revisions of each variation CS 330 – Configuration Management - Slide 16

  17. Version Control Tool • Which revision of which variation went into the version of of the product? AcknowledgeMessage /1 AcknowledgeMessage /2 AcknowledgeMessage /3 AcknowledgeMessage /4 PrinterDriver (laser) /1 PrinterDriver (InkJet) PrinterDriver (laser) /2 PrinterDriver (laser) /3 CS 330 – Configuration Management - Slide 17

  18. Version Control Tool (contd) • First step toward version control is detailed record of every version of the product • Name of each source code element, including the variation and revision • Versions of various compilers and linkers used • Name(s) of the person(s) who constructed the product • Date and time at which it was constructed • Problem of multiple variations • Delta - list of differences from the original variation • Version control is not enough CS 330 – Configuration Management - Slide 18

  19. Version Control - Baselines • Problem - Two programmers working on the same module fixing two different faults • Solution - Baselines • Check out the module into private workspace • Freeze the current version of the module • New version is checked-in modifying the baseline • Configuration control during implementation and integration phase CS 330 – Configuration Management - Slide 19

  20. Build Tools • At least build tool + version control tool • Example - UNIX tool make • For each executable load image the developer sets up Makefile specifying the hierarchy of source and object files that go into that particular configuration • Make compares the date and time stamp on • Source file, object file • Executable load image, every object file • Ensures that latest versions are compiled and linked CS 330 – Configuration Management - Slide 20

  21. Change Control STOP

  22. Change Control Process—I need for change is recognized change request from user developer evaluates change report is generated change control authority decides request is queued for action change request is denied user is informed change control process—II CS 330 – Configuration Management - Slide 22

  23. Change Control Process-II assign people to SCIs check-out SCIs make the change review/audit the change establish a “baseline” for testing change control process—III CS 330 – Configuration Management - Slide 23

  24. Change Control Process-III perform SQA and testing activities check-in the changed SCIs promote SCI for inclusion in next release rebuild appropriate version review/audit the change include all changes in release CS 330 – Configuration Management - Slide 24

  25. Configuration Audit

  26. Auditing Change Requests SQA Plan SCIs SCM Audit CS 330 – Configuration Management - Slide 26

  27. Configuration Audit • Complements the formal technical review by assessing configuration objects for characteristics that are not generally considered in a review: • Have the change specified been made? • Have any additional modifications been made? • Has a formal technical review been conducted to ensure correctness? • Has the s/w process been followed? Standards applied? • Are the changes highlighted? • Have all related SCIs been updated? CS 330 – Configuration Management - Slide 27

  28. Status Reporting

  29. Status Reporting • Accounting system that creates entries for: • What happened? • Who did it? • When did it happen? • What else it affected? CS 330 – Configuration Management - Slide 29

  30. Status Accounting Change Reports Change Requests ECOs SCIs Status Accounting Reporting CS 330 – Configuration Management - Slide 30

More Related