Overview
This activity describes the process of placing a revised unit of code (copied from the software configuration management (SCM) library and modified) under SCM.
Roles and Responsibilities
See parent activity 2.1. Place Products Under Software Configuration Management.
Controls
The order of compilation, as stated in the computer software configuration item (CSCI) Components section of the Software Design Document (SDD) (see Appendix E).
See also parent activity 2.1. Place Products Under Software Configuration Management.
Inputs
A Promotion Notification Form (PNF) (see Appendix C), partially completed by the developer and software engineering manager (or project software manager).
A modified code unit copied from the SCM library.
Procedures
Note: The directories described in the following steps may vary depending on the directory structure defined in the Configuration Identification section of the projects SCM Plan (SCMP) (see Appendix E). The directories are shown as examples only.
Prior to starting this activity, the developer checks a code unit out of the SCM library for revision.
1) The software librarian receives and reviews the PNF. The developer and the software engineering manager (or project software manager) should have completed the appropriate PNF sections and indicated if the modified code unit was approved to be baselined or placed in the integration directory. If a baselined unit of code is modified, the PNF must reference an approved Software Change Request (SCR) and must include the project software managers signature. If the modified code is to be placed in the integration directory, only the software engineering managers signature is required.
2) The software librarian assigns a unique filename to the code unit based on the naming and numbering scheme described in the Configuration Identification section of the SCMP.
3) If baselined code is modified, the software librarian verifies that the modification is documented in the code unit (i.e., the code unit contains comments indicating what (and where) changes were made).
4) If the code unit was approved to be baselined, the software librarian moves it to the baseline directory (see Example 1).
Example 1:
project_volume\CSCI\CONFIG\BASELINE\SOURCE\ unit_filename
project_volume\SHARED\REUSE\BASELINE\SOURCE\unit_filename
Otherwise, the software librarian moves the code unit to the integration directory (see Example 2).
Example 2:
project_volume\CSCI\CONFIG\INTEGRATION\SOURCE\ unit_filename
project_volume\SHARED\REUSE\INTEGRATION\SOURCE\unit_filename
Upon moving the code to the appropriate location, the software librarian sets up the access restrictions specified in the Configuration Identification section of the SCMP.
5) The software librarian rebuilds the system using the projects SCM and development tools. Rebuilding the system includes compiling and binding the Ada units, and linking the Ada library to create an executable file. The librarian references the order of compilation stated in the CSCI Components section of the SDD for assistance in rebuilding the system. If the modifications affect a shared directory being used by developers, the software librarian should make the modifications after normal working hours to minimize the disturbance of developers work.
6) If the compilation, binding, and linking (the build) are successful, the software librarian signs the PNF, and sends a copy to the software engineering manager, unit developer, and any other developers who may be using the libraries, indicating that the unit was successfully promoted. If the modified unit is baselined, the librarian also notifies the project software manager. The PNF is placed in the SCM tracking system.
7) If the build is not successful (e.g., syntax errors or runtime errors are encountered) the software librarian documents this on the PNF, sends copies of it to the software engineering manager and developer, and removes the unit from the integration directory. The librarian then rebuilds the system with the previous configuration. Upon further analysis, the software engineering manager may request that other units be removed.
8) If the updated code unit being placed under SCM was baselined prior to modification and the build of the updated unit was successful, the software librarian notes in the projects SCM tracking system that each SCR proposing the changes was implemented and closed. If an implemented SCR was generated as a result of a Software Trouble Report, and all other SCRs generated by that Software Trouble Report are closed, the librarian also marks the Software Trouble Report as closed.
9) The software librarian updates the status of the code unit (i.e., baselined or in integration) in the projects SCM tracking system. To accomplish this, the librarian may use a product list that tracks the status of each software product being developed during the cycle.
Outputs
The modified code unit, which was placed in the correct directory using the correct filename.
The notification (using the PNF) of the software engineering manager and developer by the software librarian that the modified code unit was promoted and placed under SCM.