Overview
This activity describes the process for placing a new unit of code under software configuration management (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).
Inputs
A Promotion Notification Form (PNF) (see Appendix C), partially completed by the developer and software engineering manager (or project software manager).
A new unit of code that was not placed under SCM.
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 SCMP. The directories are shown as examples only.
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 to indicate if the code unit was approved to be baselined or placed in the integration directory. If the code is to be baselined, the project software managers signature is required. If the 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 the code unit was approved to be baselined, the software librarian moves the unit to the baseline directory (see Example 1).
Example 1:
project_volume\CSCI_Name\CONFIG\BASELINE\SOURCE\ unit_filename
project_volume\SHARED\REUSE\BASELINE\SOURCE\unit_filename
Otherwise, the software librarian places the code unit in the integration directory (see Example 2).
Example 2:
project_volume\CSCI_Name\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.
4) The software librarian rebuilds the system in the integration directory 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 software librarian references the SDD to determine the correct compilation order. If changes affect a shared directory being used by developers, the software librarian should make the changes after normal working hours to minimize the disturbance of the developers work in progress.
5) If the compilation, binding, and linking (i.e., the build) are successful, the software librarian signs and numbers the PNF, and sends copies of it to the software engineering manager, author(s), and any other developers who may be using the libraries, indicating that the unit was successfully promoted. If the unit was placed in the baseline directory, the software librarian also notifies the project software manager. The software librarian places the PNF in the SCM tracking system.
6) If the build is not successful (compilation or linking errors were encountered), the software librarian indicates this on the PNF, sends copies to the software engineering manager and author(s), and removes the unit from the directory. The software librarian rebuilds the system with the previous configuration. Upon further analysis, the software engineering manager may request that other units also be removed from the directory.
7) If the build is successful, the software librarian enters the status of the code unit (i.e., baselined or integration) into the SCM tracking system. The software librarian may accomplish this by using a product list that tracks the status of each software product being developed during this cycle.
Outputs
The code unit which was placed in the correct directory using the correct filename, as stated in the SCMP.
The completed PNF, sent by the software librarian to the software engineering manager, author(s), and (if the unit was placed in the baseline directory) the project software manager.