CSE2552 Software Configuration Management PDF
Document Details
Uploaded by TemptingVerisimilitude
St. Joseph's College
2024
Thilina Jayathilaka
Tags
Related
- Vagrant: Simplifying Virtual Development Environments PDF
- Introduction to Software Maintenance & Configuration Management (SCM) PDF
- Updates in Information Systems PDF
- Software Engineering - Past Paper - Wintersemester 2024/2025 - PDF
- Chapter 7 Implementation Issues - Software Engineering PDF
- Software Configuration Management CSE2552 PDF
Summary
These notes cover Software Configuration Management (CSE2552). Topics include identification of configuration items, naming and labeling, and version control. Examples of software configuration items are also provided.
Full Transcript
CSE2552 Software Configuration Management 02. Identification of Configuration Items Thilina Jayathilaka [email protected] 1. Identification of Configuration Items Identification of configuration items includes the functions associated with naming, labelin...
CSE2552 Software Configuration Management 02. Identification of Configuration Items Thilina Jayathilaka [email protected] 1. Identification of Configuration Items Identification of configuration items includes the functions associated with naming, labeling, and version control. Naming and Labeling Version Control 2024-OCT-10 Thilina Jayathilaka 2 1.1. Naming and Labeling Identification determines how all of the parts of the product are identified and how baselines, which are built from the parts, are identified. The following are key points to consider regarding identification: Each software configuration item must be identified and uniquely labeled. The identification and labeling scheme should reflect the structure of the product. Criteria for identifying and labeling software configuration items need to be established. Criteria for identifying and labeling all forms of tests and test data need to be established. 2024-OCT-10 Thilina Jayathilaka 3 1.1. Naming and Labeling … (2) Criteria for identifying support tools used to build baselines need to be established. It is important to include the compilers, linkers, assemblers, make files, and other tools used to translate the software and build baselines. This ensures that you can always recreate the exact information produced by those tools long after they have been changed, replaced, or updated. Special attention may be needed for third party or purchased software that is incorporated into your company’s product, especially if there are copyright or royalty issues involved. Criteria for how third party or purchased software will be integrated into your product in a manner that will allow this software to be easily removed, replaced, or updated should be established. Special attention may be needed for software that is being reused from other products or software that is intended to be reused. Special attention may be needed for prototype software that is intended to be replaced. 2024-OCT-10 Thilina Jayathilaka 4 1.1. Naming and Labeling … (3) 2024-OCT-10 Thilina Jayathilaka 5 1.2. Version Control Version control provides support for parallel development by enabling branching and merging. Parallel development is important because it: Allows different projects to use the same source files at the same time; Isolates work that is not ready to be shared by the rest of the project; Isolates work that should never be shared (i.e., fixing a bug that exists only in an older release); Allows software engineers to continue development along a branch even when a line of development is frozen (e.g., during software validation testing) 2024-OCT-10 Thilina Jayathilaka 6 1.2. Version Control … (2) To support parallel development, SCM tools must support, branching, file comparison, and merging functions Branching, file comparison, and merging are key functions for supporting SCM, especially for larger projects. 2024-OCT-10 Thilina Jayathilaka 7 1.2. Version Control … (3) Branching is an SCM function in which a configuration item (usually code) evolves simultaneously along two or more branches, with new versions added independently to each branch. File comparison is a facility that compares files with the same name in two or more different branches or baselines and identifies those files that are different. Merging is the process of selectively applying changes made to source files in branches or other baselines to the corresponding source files in the main branch. 2024-OCT-10 Thilina Jayathilaka 8 1.2. Version Control … (4) 2024-OCT-10 Thilina Jayathilaka 9 1.2. Version Control … (5) A version control procedure that provides a mechanism for making changes to a known baseline in a controlled manner. Key requirements of this procedure are as follows: Proposed changes to baselines must have some level of review. The impact (to cost, schedule, software development, and manufacturing) of proposed changes must be identified and understood. Where appropriate, approval of the CCB (Configuration Control Board), key managers, and project team members must be obtained; Approved changes must be properly implemented. Once changes are approved, all affected parties are notified of the changes. 2024-OCT-10 Thilina Jayathilaka 10 1.3. Software Configuration Items 2024-OCT-10 Thilina Jayathilaka 11 THE END