150 likes | 306 Vues
The management of software configuration is critical for successful software development, especially as projects scale. Effective change control processes ensure that modifications to software are systematic, traceable, and well-integrated into the existing architecture. This includes identifying components, controlling releases, and maintaining status accounting. By employing revision control systems and appropriate CM tools, developers can manage concurrent changes and track issues efficiently. A robust configuration management plan outlines responsibilities, processes, and resource allocation, fostering a disciplined approach to software development.
E N D
Software Configuration Management METU Computer Engineering CEng 492 Spring'2004
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?
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
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
promote changes for inclusion in next release • rebuild, review • include in new version • distribute the new version
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
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 importantQuality feedback agentsException dumps
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
Revision Control with Central Repository • Examples: CVS, SourceSafe • 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.
Software CM Tools • SCCS, RCS, CVS, Make • Visual SourceSafe • Apollo DSEE • Rational Environment (ClearCase) • Sun NSE • IST Istar • PVCS • CM Synergy, and many more
A sample CM Plan • 1 Introduction1.1 Purpose of CMP 1.2 Scope of Document 1.3 Definitions, Acronyms and Abbreviations 1.4 Document References 1.5 Document Overview
2 The Organizations CM Framework • 2.1 Organization • 2.2 Responsibilities • 2.3 Tools & Infrastructure
3 The CM Process • 3.1 IdentificationExplain how you will identify the current state of your products and systems. • 3.2 Management and ControlConsider Tools and Practices for: Development, Engineering, Build, Deployment, Change Requests, Defect Tracking, System Management. • 3.3 Configuration Status AccountingDefine what status updates you will provide and how. Consider: Change Request Reports, Build Reports, Defect Reports, Bill of Materials and Release Reports. • 3.4 AuditingArticulates how your solution will carry out Configuration Management Audits. Things to consider: Functional Audits, Physical Audits and Process Audits.
4 Project Schedules - CM MilestonesProvide project planning support/guidelines for CM activities. • 5 Project Resources • 6 Plan Optimization • Appendix
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/