The developer shall perform software implementation and unit testing in
accordance with the following requirements.
Note: The term "software" includes both computer programs and computer
databases. The term "implementation" means converting software design into
computer programs and computer databases. If a CSCI is developed in multiple
builds, software implementation and unit testing of that CSCI will not be
completed until the final build. Software implementation and unit testing in
each build should be interpreted to include those units, or parts of units,
needed to meet the CSCI requirements to be implemented in that build.
5.7.1 Software implementation. The developer shall develop and record
software corresponding to each software unit in the CSCI design. This activity
shall include, as applicable, coding computer instructions and data
definitions, building databases, populating databases and other data files
with data values, and other activities needed to implement the design. For
deliverable software, the developer shall obtain acquirer approval to use any
programming language not specified in the contract.
Note: Software units in the design may or may not have a one-to-one
relationship with the code and data entities (routines, procedures, databases,
data files, etc.) that implement them or with the computer files containing
5.7.2 Preparing for unit testing. The developer shall establish test cases
(in terms of inputs, expected results, and evaluation criteria), test
procedures, and test data for testing the software corresponding to each
software unit. The test cases shall cover all aspects of the unit's detailed
design. The developer shall record this information in the appropriate
software development files (SDFs).
5.7.3 Performing unit testing. The developer shall test the software
corresponding to each software unit. The testing shall be in accordance with
the unit test cases and procedures.
5.7.4 Revision and retesting. The developer shall make all necessary
revisions to the software, perform all necessary retesting, and update the
software development files (SDFs) and other software products as needed, based
on the results of unit testing.
5.7.5 Analyzing and recording unit test results. The developer shall
analyze the results of unit testing and shall record the test and analysis
results in appropriate software development files