why cm

WHY CM? Multiple people are working on changing software Jyrki - PDF document

WHY CM? Multiple people are working on changing software Jyrki Nummenmaa University of Tampere, CS Department Jyrki Nummenmaa University of Tampere, CS Department More than one version of the software needs to be supported:


  1. WHY CM? • Multiple people are working on changing software Jyrki Nummenmaa University of Tampere, CS Department Jyrki Nummenmaa University of Tampere, CS Department • More than one version of the software needs to be supported: – Different releases Configuration management – Different installations with different functionalities – Development versions • Software needs to run on different operating systems and different hardware Software Engineering – http://www.cs.uta.fi/se Software Engineering – http://www.cs.uta.fi/se WHAT IS SCM? SCM Activities Jyrki Nummenmaa University of Tampere, CS Department Jyrki Nummenmaa University of Tampere, CS Department • CM data management • Configuration management is a way to manage evolving software • Version management - Release versions • Configuration management is a set of disciplines and - Development versions techniques for initiating, evaluating, and controlling • Concurrent development management change to software products. • Change management • Configuration management covers the lifecycle of software development Software Engineering – http://www.cs.uta.fi/se Software Engineering – http://www.cs.uta.fi/se SCM Items Managing SCM Items Jyrki Nummenmaa University of Tampere, CS Department Jyrki Nummenmaa University of Tampere, CS Department • There may easily be thousands of SCM items • Design documents • Code files • A naming scheme should be introduced to identify these • Test data • The hierarchical arrangement of software project items • Test drivers should be supported • Manuals • Should all CM items be managed • System configuration data • When to start management for an item? • Etc. – If you start too early, you get bureaucracy. • A meaningful combination of above, meant to be treated as – If you start too late, you get chaos. a single entity • Also hardware items can be considered CM Items Software Engineering – http://www.cs.uta.fi/se Software Engineering – http://www.cs.uta.fi/se 1

  2. Baselines Version control Jyrki Nummenmaa University of Tampere, CS Department Jyrki Nummenmaa University of Tampere, CS Department • Baseline: A specification or a product, which is formally • Procedures and tools to manage different versions of reviewed and agreed on, and which can only be changed configuration objects through formal change procedures • Versions may not always be created in sequential order, • Before an item becomes a baseline, changes can be made e.g. you create 1.0 -> 1.1 -> 1.2 -> 2.0 and then you need quickly and informally. to create 1.3 for some customers who can not run 2.0 but • Baseline is a kind of a milestone in software development need some changes or improvements. • Baseline typically creates new versions in SCIs. • With big software, you may e.g have 4.0 as the official current version. You work on 5.0 to release it as the next official version, but you have already started to create 6.0, as it takes so long to get it ready. Software Engineering – http://www.cs.uta.fi/se Software Engineering – http://www.cs.uta.fi/se CVS Change Control / 1 • Quite often versions are managed using a program / set of Jyrki Nummenmaa University of Tampere, CS Department Jyrki Nummenmaa University of Tampere, CS Department 1. Need for change is recognised utilities called CVS. 2. Someone (like a user) makes a change request • CVS manages versions using a space-effective way (does not 3. Developer evaluates copy all things). 4. Change report is generated • You can basically put any files into a CVS repository. 5. Change control authority decides • CVS has user and rights management. - Change is denied -> User is informed • CVS does not solve the problem of concurrent access to files - Change is accepted -> go to next slide :) – It is just a version management system. – Different users can create different versions. • Usually CVS is accessed using a graphical user interface, like Eclipse has one, and it allows you to e.g. synchronize your working version with the CVS repository. Software Engineering – http://www.cs.uta.fi/se Software Engineering – http://www.cs.uta.fi/se Change Control / 2 Change Control / 3 Jyrki Nummenmaa University of Tampere, CS Department Jyrki Nummenmaa University of Tampere, CS Department 13. Perform quality assurance (QA) and testing activities 6. Change request is queued for action and and engineering 14. ”Promote” changes for inclusionin next release change order (technical descr) is made 15. Rebuild appropriate version of software 7. Assign individuals to make changes to configuration objects 8. ”Check out” configuration items from project repository 16. Review (audit) the change to all configuration items -> Need for controlled access to repository (e.g. CVS)! 17. Include changes in new version 9. Make the change 18. Distribute the new version 10. Review (audit) the change 11. ”Check in” the changed configuration items 12. Establish a baseline for testing the change go to next slide :) Software Engineering – http://www.cs.uta.fi/se Software Engineering – http://www.cs.uta.fi/se 2

  3. SCM Audit / 1 SCM Audit / 2 The following questions should be answered More questions to be answered: Jyrki Nummenmaa University of Tampere, CS Department Jyrki Nummenmaa University of Tampere, CS Department 1. Has the change specified in the ECO been made? Have any 5. Have Software Configuration Management procedures for the additional modifications been incorporated? change been followed? 2. Has formal technical review been conducted to assess 6. Have all related SCIs been properly updated? technical correctness? 3. Has the software process been followed and SE standards been applied? 4. Has the change been appropriately recorded in the SCIs? Software Engineering – http://www.cs.uta.fi/se Software Engineering – http://www.cs.uta.fi/se 3

Recommend


More recommend