Design Document Example
Design Document Example
FOR
PROJECT NAME
_______________________________________________
Project Manager Date:
______________________ ____________________
Lead Engineer Date:
_______________________________________________
Program Manager Date:
Page 1 of 14
This document was developed for use by programs assigned to the Business and Enterprise Systems Directorate
(AFLCMC/HI), and does not constitute official issuance of DoD or AF policy.
File: Design Document Template Last updated: 24 September 2018
Chan
ge ID or CI Date Date Com
# Reviewed A ment Signature
p
p
r
o
v
e
d
Page 2 of 14
This document was developed for use by programs assigned to the Business and Enterprise Systems Directorate
(AFLCMC/HI), and does not constitute official issuance of DoD or AF policy.
File: Design Document Template Last updated: 24 September 2018
TABLE OF CONTENTS
1. Scope 4
1.1. Identification 4
1.2. Document security 4
1.3. System evolution description (SV-8) 4
1.4. System technology forecast (SV-9) 4
2. System design 5
2.1. System-wide design decisions 5
2.2. System components 5
2.3. Concept of execution between system components 7
2.4. Interface design 7
3. Interface design for external interfaces 7
3.1. External interface design 8
4. Notes 10
5. Documentation and tailoring guidelines 10
5.1. Tailoring instructions 10
6. Appendixes 10
Page 3 of 14
This document was developed for use by programs assigned to the Business and Enterprise Systems Directorate
(AFLCMC/HI), and does not constitute official issuance of DoD or AF policy.
File: Design Document Template Last updated: 24 September 2018
All paragraphs in this document except for NOTES are mandatory for large requirements
and N/A for small.
Definitions:
Mandatory: at a minimum, information must be included; more information may be added
at Project Manager’s discretion.
A large requirement involves new development or sustainment efforts greater than 1500
work hours or crossing multiple systems.
A small requirement involves sustainment less than 1500 work hours and doesn’t cross
systems.
1. Scope
1.1. Identification
This paragraph shall contain a full identification of the system and software to which this
document applies, including, as applicable, identification number, title, abbreviation,
version number, and release number as applicable. Identification must include the
operating system platform to which this document applies. This section shall list all
applicable standards (AF, DOD, JTA, ANSI, IEEE, etc) that apply to the given design
considerations, to include the StdV-1 section from the CONOPS Para 4.3 and the SRS Para
1.1.
(NOTE: In this template there are references to certain ISP documents using the
abbreviations AV, OV, SV and StdV for All Viewpoint, Operational Viewpoint, System
Viewpoint and Standards Viewpoint. Details on these documents and the concepts guiding
their creation can be found in Department of Defense Architecture Framework (DoDAF),
v2.x. If your project is required to generate ISP documents, then the information in several
parts of this document corresponds to the ISP. In any case, if a corresponding ISP
document exists, you can reference that document instead of recreating the information.)
Page 4 of 14
This document was developed for use by programs assigned to the Business and Enterprise Systems Directorate
(AFLCMC/HI), and does not constitute official issuance of DoD or AF policy.
File: Design Document Template Last updated: 24 September 2018
2. System design
Note: The system design presented in this section is only applicable to multiple-CI
projects. In the case of a single-CI project, replace this section with the CI design
information which would normally appear in Appendix A.
Page 5 of 14
This document was developed for use by programs assigned to the Business and Enterprise Systems Directorate
(AFLCMC/HI), and does not constitute official issuance of DoD or AF policy.
File: Design Document Template Last updated: 24 September 2018
Page 6 of 14
This document was developed for use by programs assigned to the Business and Enterprise Systems Directorate
(AFLCMC/HI), and does not constitute official issuance of DoD or AF policy.
File: Design Document Template Last updated: 24 September 2018
Page 7 of 14
This document was developed for use by programs assigned to the Business and Enterprise Systems Directorate
(AFLCMC/HI), and does not constitute official issuance of DoD or AF policy.
File: Design Document Template Last updated: 24 September 2018
dependency shall be indicated. If design information falls into more than one paragraph, it
may be presented once and referenced from the other paragraphs. If part or all of this
information is documented elsewhere, it may be referenced. Design conventions needed to
understand the design shall be presented or referenced.
Page 8 of 14
This document was developed for use by programs assigned to the Business and Enterprise Systems Directorate
(AFLCMC/HI), and does not constitute official issuance of DoD or AF policy.
File: Design Document Template Last updated: 24 September 2018
Page 9 of 14
This document was developed for use by programs assigned to the Business and Enterprise Systems Directorate
(AFLCMC/HI), and does not constitute official issuance of DoD or AF policy.
File: Design Document Template Last updated: 24 September 2018
3.1.4. Characteristics of protocols the system must use for the interface, such as:
3.1.4.1. Project-unique identifier
3.1.4.2. Priority or layer of the protocol
3.1.4.3. Packeting, including fragmentation and re-assembly, routing, and
addressing
3.1.4.4. Legality checks, error control, and recovery procedures
3.1.4.5. Status, identification, and any other reporting features
3.1.5. Other characteristics, such as physical compatibility of the interfacing
entities (dimensions, tolerances, loads, plug compatibility, etc.), voltages, etc.
4. Notes
This section shall contain any general information that aids in understanding this document
(e.g., background information, rationale). Ensure that all definitions of terms used in all
products are captured in the Integrated Dictionary. (AV-2)
6. Appendixes
The design for each CI will be documented in its own appendix. Appendixes shall be
lettered alphabetically (A, B, etc.).
Note: When a project consists of a single CI, there is no need to relegate CI design to an
appendix. Instead, replace the System Design section with the CI design that would
normally appear in Appendix A.
Additional appendixes may be used to provide information published separately for
convenience in document maintenance (e.g., charts, classified data). As applicable, each
appendix shall be referenced in the main body of the document where the data would
normally have been provided. Appendixes may be bound as separate documents for ease in
handling.
Page 10 of 14
This document was developed for use by programs assigned to the Business and Enterprise Systems Directorate
(AFLCMC/HI), and does not constitute official issuance of DoD or AF policy.
File: Design Document Template Last updated: 24 September 2018
APPENDIX A
DESIGN OF CI < insert applicable CI number >
A.1 Identification. This paragraph shall contain a full identification of CI to which this
section applies, including, as applicable, identification number, title, abbreviation, version
number, and release number.
A.2 CI-wide design decisions. This section shall include a functional decomposition chart
detailing the functions performed by the system and the information flow among system
functions (SV-4). This section shall also include an identification of system and system
components and their interfaces, within and between nodes (SV-1). (Note: The SV-1 and
SV-4 listed here are not the same as the SV-1 and SV-4 listed in the System Design section.
The System-Wide Design Decisions paragraph refers to how the system relates to other
systems within the architecture. In this section SV-1 and SV-4 need to be reproduced with
a reference to how sub-systems and components relate to each other and the system as a
whole). This section shall include a Physical Data Model that illustrates the physical
implementation of the information of the Logical Data Model, e.g., message formats, file
structures, physical schema (DIV-2). This section shall be divided into paragraphs as
needed to present CI-wide design decisions, that is, decisions about the CI's behavioral
design (how it will behave, from a user's point of view, in meeting its ++++++++
+requirements, ignoring internal implementation) and other decisions affecting the
selection and design of the software units that make up the CI. If all such decisions are
explicit in the requirements or are deferred to the design of the software units, this section
shall so state. Design decisions that respond to requirements designated critical, such as
those for safety, security, or privacy, shall be placed in separate subparagraphs. If a design
decision depends upon system states or modes, this dependency shall be indicated. Design
conventions needed to understand the design shall be presented or referenced. Examples of
CI-wide design decisions are the following:
a. Design decisions regarding inputs the CI will accept and outputs it will produce,
including interfaces with other systems, HWCIs, configuration items, and users. (for
detailed interface information, refer to the applicable IRAs).
b. Design decisions on CI behavior in response to each input or condition, including
actions the CI will perform, response times and other performance characteristics,
description of physical systems modeled, selected equations, algorithms, rules, and
handling of non-allowed inputs or conditions.
c. Design decisions on how databases and data files will appear to the user. If part or
all of this information is given in Database Specifications (DSs), they may be referenced.
d. Selected approach to meeting safety, security, and privacy requirements.
e. Other CI-wide design decisions made in response to requirements, such as selected
approach to providing required flexibility, availability, and maintainability.
A.3 Preliminary Design
A.3.1 Software Unit Identification. This paragraph shall:
Page 11 of 14
This document was developed for use by programs assigned to the Business and Enterprise Systems Directorate
(AFLCMC/HI), and does not constitute official issuance of DoD or AF policy.
File: Design Document Template Last updated: 24 September 2018
a. Identify the software units that comprise the CI. Each software unit shall be assigned
a project-unique identifier.
Note: A software unit is an element in the design of a CI; for example, a major subdivision
of a CI, a component of that subdivision, a class, object, module, function, routine, or
database. Software units may occur at different levels of a hierarchy and may consist of
other software units. 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 those entities. A database may
be treated as a CI or as a software unit. The DD may refer to the software units by any
name consistent with the design methodology being used. Refer to the Definition of Terms
Lexicon and Work Breakdown Structure (WBS) Definitions for a graphic depiction and
discussion of the relationships of software units.
b. Show the static (such as "consists of") relationship of the software units. Multiple
relationships may be presented, depending on the selected software design methodology
(for example, in an object-oriented design, this paragraph may present the class and object
structures, as well as the module and process architectures of the CI).
c. State the purpose of each software unit and identify the CI requirements and CI-wide
design decisions allocated to it.
d. Identify each software unit's development status or type (such as new development,
existing design or software to be reused as is, existing design or software to be re-
engineered, software to be developed for reuse, software planned for Build N, etc.) For
existing design or software, the description shall provide identifying information, such as
name, version, documentation references, library, etc.
e. Describe the CI’s (and as applicable, each software unit's) planned utilization of
computer hardware resources (such as processor capacity, memory capacity, input and
output device capacity, auxiliary storage capacity, and communications and network
equipment capacity). The description shall cover all computer hardware resources included
in resource utilization requirements for the CI, in system-level resource allocations
affecting the CI, and in resource utilization measurement planning in the Software
Development Plan. If all utilization data for a given computer hardware resource are
presented in a single location, such as in one DD, this paragraph may reference that source.
Included for each computer hardware resource shall be:
(1) The CI requirements or system-level resource allocations being satisfied
(2) The assumptions and conditions on which the utilization data are based (for
example, typical usage, worst-case usage, assumption of certain events)
(3) Any special considerations affecting the utilization (such as use of virtual memory,
overlays, or multiprocessors or the impacts of operating system overhead, library software,
or other implementation overhead)
f. The units of measure used (such as percentage of processor capacity, cycles per
second, bytes of memory, kilobytes per second)
Page 12 of 14
This document was developed for use by programs assigned to the Business and Enterprise Systems Directorate
(AFLCMC/HI), and does not constitute official issuance of DoD or AF policy.
File: Design Document Template Last updated: 24 September 2018
g. The level at which the estimates or measures will be made (such as software unit, CI,
or executable program)
h. Identify the program library in which the software that implements each software
unit is to be placed.
A.3.2 Concept of Execution Between Software Units. This section shall describe the
concept of execution among the software units. It shall include diagrams and descriptions
showing the dynamic relationship of the units, that is, how they will interact during CI
operation, including, as applicable: flow of execution control, data flow, dynamically
controlled sequencing, state transition diagrams, timing diagrams, priorities among
components, handling of interrupts, timing and sequencing relationships, exception
handling, concurrent execution, dynamic allocation or de-allocation, dynamic creation or
deletion of objects, processes, tasks, and other aspects of dynamic behavior. This section
shall also include a Systems Matrix showing the relationships among the various systems in
the given architecture. The matrix can be designed to show relationships of interest, e.g.,
system-type interfaces, planned vs. existing interfaces, etc. (SV-3). This section shall
contain a system data exchange matrix; detailing of data exchanges among system elements
applications and hardware allocated to system elements (SV-6). This section shall also
contain a System Performance Parameters Matrix, if applicable. A System Performance
Parameters Matrix details the performance characteristics of each system hardware and
software elements, for the appropriate timeframe (SV-7). Furthermore, this section shall
include a list of any constraints that are imposed on the system’s functionality due to some
aspect of system’s design or implementation, a graphic detailing the responses of the
system to events, and system-specific refinements of critical sequences of events described
in the operational viewpoint (SV-10 (a, b, c)). (Note: The SV-3 and SV-10 listed here are
not the same as the SV-3 and SV-10 listed in the System Design section. The System
Design section refers to how the system relates to other systems within the architecture. In
this appendix, SV-3 and SV-10 need to be reproduced with a reference to how sub-systems
and components relate to each other and the system as a whole).
A.3.3 Interface Design. This section shall contain a high-level description of interfaces
between software units and with external systems. If design depends on system states or
modes, this dependency shall be identified. Diagrams may be included, as desired. For
more detailed information, the reader will be referred to the applicable IRAs. This section
can be omitted if this information is incorporated into the previous paragraph.
A.4 Detailed Design.
This section shall be divided into the following paragraphs to describe each software unit
of the CI (one paragraph per software unit). Design conventions needed to understand the
design shall be presented or referenced.
A.4.x < Project-unique identifier of software unit “x” >. There shall be an instance of this
paragraph for each software unit. Each paragraph shall identify a software unit by a
project-unique identifier and shall describe the unit. The description shall include the
following information, as applicable. Software units that contain other software units may
reference the descriptions of those units rather than repeating information.
a. Unit design decisions, if any, such as algorithms to be used, if not previously selected
Page 13 of 14
This document was developed for use by programs assigned to the Business and Enterprise Systems Directorate
(AFLCMC/HI), and does not constitute official issuance of DoD or AF policy.
File: Design Document Template Last updated: 24 September 2018
b. Any constraints, limitations, or unusual features in the design of the software unit
-The programming language to be used and rationale for its use if other than the specified
CI language
c. If the software unit consists of or contains procedural commands (such as menu
selections in a database management system (DBMS) for defining forms and reports, on-
line DBMS queries for database access and manipulation, input to a graphical user
interface (GUI) builder for automated code generation, commands to the operating system,
or shell scripts), a list of the procedural commands and reference to user manuals or other
documents that explain them.
d. If the software unit contains, receives, or outputs data, provide a description of its
inputs, outputs, and other data elements and data element assemblies, as applicable. Data
local to the software unit shall be described separately from data input to or output from the
software unit. If the software unit is a database, a corresponding DS shall be referenced;
interface characteristics may be provided here.
e. If the software unit contains logic, the logic to be used by the software unit,
including, as applicable:
(1) Conditions in effect within the software unit when its execution is initiated
(2) Conditions under which control is passed to other software units
(3) Response and response time to each input, including data conversion, renaming,
and data transfer operations
(4) Sequence of operations and dynamically controlled sequencing during the
software unit's operation, including:
(a) The method for sequence control
(b) The logic and input conditions of that method, such as timing variations,
priority assignments
(c) Data transfer in and out of memory
(d) The sensing of discrete input signals, and timing relationships between
interrupt operations within the software unit
(5) Exception and error handling
Page 14 of 14