Software Configuration Management METU Computer Engineering CEng 492

  • Slides: 15
Download presentation
Software Configuration Management METU Computer Engineering CEng 492 Spring'2004 1

Software Configuration Management METU Computer Engineering CEng 492 Spring'2004 1

Software development process: ● The larger the software, the harder to maintain it. ●

Software development process: ● The larger the software, the harder to maintain it. ● When a change required: ● – Who will do it? – How will s/he do it? – How will the change incorporated in the whole software? – How to guarantee change will not inject any other troubles? After a change made: – When it is made? – Who made it, why s/he made it? 1

Software Configuration Management ● ● ● Standard definition: – Identification: identifying components, structure –

Software Configuration Management ● ● ● Standard definition: – Identification: identifying components, structure – Control: controlling releases and changes – Status accounting: recording, reporting status – Audit and review: validating completeness Traditional CM: check-in, check-out of sources, builds, compilation. Process Management: control of the software activities (test, documentation, review). Ensuring life -cycle model 1

Change Control Process ● Evaluate the change request ● Assign individuals to configuration objects

Change Control Process ● Evaluate the change request ● Assign individuals to configuration objects ● check-out configuration objects ● make the change ● review (audit) the change ● check-in the changed configuration items ● establish baseline for testing 1

● promote changes for inclusion in next release ● rebuild, review ● include in

● promote changes for inclusion in next release ● rebuild, review ● include in new version ● distribute the new version 1

Aspects of CM Tools· ● Versioning and version history ● Configurations and versions ●

Aspects of CM Tools· ● Versioning and version history ● Configurations and versions ● Transparency of CM ● Derived object management ● Workspace management ● Development transactions ● Evolution support ● Activity modeling and automation 1

Problem Management ● Tightly coupled with CM ● Collecting problems and development issues ●

Problem Management ● Tightly coupled with CM ● Collecting problems and development issues ● Assigning issues to people ● Status reporting and auditing ● Collecting problems and easily tracking them in the source is essentially important Quality feedback agents Exception dumps 1

Revision Control Systems ● ● Example: SCCS, RCS Versions of sources, version history (storing

Revision Control Systems ● ● Example: SCCS, RCS Versions of sources, version history (storing in delta differences: SCCS delta, RCS reverse delta) Concurrent development (check-in checkout semantics) Branches of revisions (i. e. stable, development, experimental) ● Logging, identification ● Merging of revisions 1

Revision Control with Central Repository ● ● Examples: CVS, Source. Safe Developers work on

Revision Control with Central Repository ● ● Examples: CVS, Source. Safe Developers work on their copy on a distributed environment. Operate on whole SW collection Transaction based. Development goes in parallel, conflicts resolved in time of commit. 1

Software CM Tools ● SCCS, RCS, CVS, Make ● Visual Source. Safe ● Apollo

Software CM Tools ● SCCS, RCS, CVS, Make ● Visual Source. Safe ● Apollo DSEE ● Rational Environment (Clear. Case) ● Sun NSE ● IST Istar ● PVCS ● CM Synergy, and many more 1

A sample CM Plan ● 1 Introduction 1. 1 Purpose of CMP 1. 2

A sample CM Plan ● 1 Introduction 1. 1 Purpose of CMP 1. 2 Scope of Document 1. 3 Definitions, Acronyms and Abbreviations 1. 4 Document References 1. 5 Document Overview 1

● 2 The Organizations CM Framework – 2. 1 Organization – 2. 2 Responsibilities

● 2 The Organizations CM Framework – 2. 1 Organization – 2. 2 Responsibilities – 2. 3 Tools & Infrastructure 1

● 3 The CM Process – 3. 1 Identification Explain how you will identify

● 3 The CM Process – 3. 1 Identification Explain how you will identify the current state of your products and systems. – 3. 2 Management and Control Consider Tools and Practices for: Development, Engineering, Build, Deployment, Change Requests, Defect Tracking, System Management. – 3. 3 Configuration Status Accounting Define what status updates you will provide and how. Consider: Change Request Reports, Build Reports, Defect Reports, Bill of Materials and Release Reports. – 3. 4 Auditing Articulates how your solution will carry out Configuration Management Audits. Things to consider: Functional Audits, Physical Audits and Process Audits. 1

● 4 Project Schedules - CM Milestones Provide project planning support/guidelines for CM activities.

● 4 Project Schedules - CM Milestones Provide project planning support/guidelines for CM activities. ● 5 Project Resources ● 6 Plan Optimization ● Appendix 1

References: ● ● ● CMU Software Engineering Institute: http: //www. sei. cmu. edu. /

References: ● ● ● CMU Software Engineering Institute: http: //www. sei. cmu. edu. / Association for Configuration and Data Management: http: //www. acdm. org/ comp. software. config-mgmt FAQ: http: //www. daveeaton. com/scm/ 1