DI-MCCR-80902
Software Development Summary Report
This report collects data pertaining to effort and schedule, computer program size, function by functional element, programming language, characteristics, and complexity.
Approval DateSeptember 26, 1989
AMSC NumberG4833
Preparing Activity—
Project Number—
OPRG/Y231
DTIC Applicable—
GIDEP Applicable—
Limitation—
Applicable Forms—
Approval Limitation—
Form VersionMAR 87
DID Formatdd_form_1664
963C CompliantNo
DISTRIBUTION STATEMENT A: Approved for public release; distribution is unlimited.
Description & Purpose
This report collects data pertaining to effort and schedule, computer program size, function by functional element, programming language, characteristics, and complexity.
Application & Interrelationship
This data item description (DID) contains the format and content preparation instructions for the data product generated by the specific and discrete task requirement as delineated in the contract.
This report is designed to collect data at several stages during the software review development.
This DID supersedes DI-F-5612.
Preparation Instructions
10.1General Information.The report is required for each task consisting of 5000 or more Source Lines of Code (SLOC) within the project. SLOC consists of all executable statements, inputs/outputs, format statements, data declaration statements, deliverable job control language statements, and procedure oriented language. It does not include program comments. These reports are submitted at several major milestones as specified in the CDRL and at major contract modifications. Therefore a number of questions request project size, schedule and level of effort data in the form of "estimated actual". This implies that at the time of preparation of the report, if the data hasn't become available in certainty, then estimated data is to be provided: once the actual data is available, then such data is to be provided. For example, for the question which addresses the date of achievement or the level of effort at a certain milestone, the estimated data should be reported for reports prior to the milestone, and actual data should be reported thereafter.
10.2Format.The report may be in the contractor's format.
10.3.1Title Page.The title page shall contain the following information:
10.3.2Project Title.The highest level of the development contract. It includes the compilation of all software systems being developed.
10.3.3Contractor/Subcontractor Name.The contractor or subcontractor name as appropriate.
10.3.4Subsystem Information.
10.3.4.1Subsystem Title and Description.The software subsystem is the compilation of all computer programs which must interrelate to support a specific operation. A project may consist of multiple software subsystems (e.g. one supporting the prime mission equipment; another supporting the training package, a third supporting test and evaluation, etc.). However, each subsystem would run on a separate processor.
10.3.4.2Development Computer Name and Model Number.Shall be included at the subsystem level except in the case when the subsystem crosses machine bounds. In that case, this information should be included at the program level. Reference to the section in the document is appropriate when the description is lengthy.
10.3.4.3Development Computer CPU Size.Shall be included at the subsystem level except in the case when the subsystem crosses machine bounds. In that case this information should be included at the program level.
*NOTE: The size of the CPU refers to the size of the data bus used in the computer.
10.3.4.4Host Computer Name and Model Number.Shall be included at the subsystem level except in the case when the subsystem crosses machine bounds. In that case this information should be included at the program level.
10.3.4.5Host Computer CPU Size.Shall be included at the subsystem level except when the subsystem crosses machine bounds. In that case this information should be included at the program level.
*NOTE: The size of the CPU refers to the size of the data bus used in the computer.
10.3.5Subsystem Schedule and level of Effort.Create a matrix and enter the estimated/actual DATE OF ACHIEVEMENT and the estimated/actual LEVEL OF EFFORT in man-hours expended for each ACTIVITY/MILESTONE as specified in the contract. Also enter the estimated/actual DATE OF ACHIEVEMENT and the estimated/actual LEVEL OF EFFORT in man-hours expended while preparing each required DOCUMENT. Provide the estimated or actual data as appropriate in accordance with the instructions at the beginning of this document. (Item 10.1)
10.3.5.1Comments.Provide an explanation for any gaps or unusual circumstances which may affect the schedule.
10.4Computer Program Information.
10.4.1Computer Program Name and Description.Reference to the section in the document is appropriate when the description is lengthy.
10.4.2Computer Program Language(s).Enter each programming language which is utilized in the computer program and its percent of the SLOC. These percentages should sum to 100 percent. Expand the list as necessary to accommodate each programming language that is utilized. This data may be included in the SLOC Matrix. (See 10.3.3)
10.4.3Maximum Intricacy of Code in Computer Program.Create a matrix and enter, in percentages, the applicable code that identifies the intricacy characteristics of the code within the type of operations that most closely resembles the computer program. Use the tables provided to generate the matrix. After the information has been derived it should be delivered in the earliest submission of this report. (i.e., If this information is available at Preliminary Design Review (PDR), it will be submitted during PDR.)
10.4.3.1Control Operations (see Table II).
10.4.3.2Computational Operations (see Table III).
10.4.3.3Device-Dependent Operations (see Table IV).
10.4.3.4Data Management Operations (see Table V).
10.4.4Schedule and Level of Effort.Enter the estimated/actual date of achievement for each activity/milestone and the estimated/actual level of effort in man-months for each activity as specified in the report. Enter the estimated/actual date of achievement for each required document and the estimated/actual level of effort in man-months expended for preparing (preparation time and thought required to prepare the document) the required document. Provide the estimated or actual data as appropriate in accordance with the instructions at the beginning of this document (Item 10.1).
10.4.4.1Comments.Shall include an explanation for any gaps or unusual circumstances which may affect the schedule.
10.5Component Information.
10.5.1Component Name and Description.Reference to section in the document is appropriate when description is lengthy.
10.5.2Maximum Intricacy of Code in Component.Create a matrix and enter, in percentages, the amount of applicable code which identifies the intricacy characteristics of the code within the type of operations that most closely resembles the computer program component. Use the tables provided to generate the matrix. This information should be delivered in the earliest submission of this report, after the information has been derived. (i.e., If this information is available at PDR, it will be submitted during PDR.)
10.5.2.1Control Operations (see Table II).
10.5.2.2Computational Operations (see Table III).
10.5.2.3Device-Dependent Operations (see Table IV).
10.5.2.4Data Management Operations (see Table V).
10.6.1Unit Name and Description.Reference to section in the document is appropriate when description is lengthy.
10.6.2Maximum Intricacy of Code in Unit.Create a matrix and enter, in percentages, the amount of applicable code that identifies the intricacy characteristics of the code within the type of operations that most closely resembles the unit of code. Use the tables provided to generate the matrix. After the information has been derived it should be delivered in the earliest submission of this report. (i.e., If this information is available at PDR, it will be submitted during PDR.)
10.6.2.1Control Operations (see Table II).
10.6.2.2Computational Operations (see Table III).
10.6.2.3Device-Dependent Operations (see Table IV).
10.6.2.4Data Management Operations (see Table V).
10.7Source Lines of Code Down to the Unit Level.Consists of all executable statements, inputs/outputs, format statements, data declaration statements, deliverable job control language statements, and procedure oriented language statements, but does not include program comments. Enter, at the unit level, the SLOC used in this subsystem. See Figure 1 for matrix example. This information could also include other items as necessary (i.e., Routine name, etc...). Items in this matrix should be entered as they become available (PDR, Critical Design Review (CDR), CCUT, etc..), otherwise TBSs will be entered.
(*NOTE: SLOC numbers will include rebuilt lines of code)
10.8New versus Rebuilt Lines of CodeIf code for this subsystem is rebuilt from previously existing programs, rather than newly designed, than a matrix (see Figure 2) should be created. Enter on a unit level, the minimum most likely, and maximum amount of Lines of Code that came from: original, essentially unmodified, and significantly modified SLOC on a unit level.
*NOTE - (See Table I for supporting definitions).
10.9Readjustment Level of Effort.Enter, on a program level, the actual level of effort expended in the High Level Design (HLD) and Detailed Design (DD) Phases, Implementation Phase, and the Detailed Test & Evaluation (DT&E) Phase, due to readjusting the existing code to accommodate the rebuilt code. The level of adjustment effort which is necessary to accommodate rebuilt code depends on the configuration of the modification within the existing code. If the modification is embedded throughout the existing code then the level of effort due to adjustments is likely to be more extensive than if the modification affects only one part of the code with few outside interfaces. See Figure 3 for an example matrix of this data.
Figures

Figure Figure 1. Example of SLOC Matrix

Figure Figure 2. New vs Rebuilt Source Lines of Code

Figure Figure 3. Sample Readjustment Level of Effort Matrix

Figure Table I. Supporting Definitions - New vs Rebuilt Source Lines of Code

Figure Table II. Control Operations Codes

Figure Table III. Computational Operations Codes

Figure Table IV. Device-Dependent Operations Codes

Figure Table V. Data Management Operations Codes
Schema v3.0Community-maintained · Verify against ASSIST