The Software Input/Output Manual (SIOM) tells a user how to access,
submit inputs to,
and interpret output from,
a batch or interactive software system that is run by personnel in a computer center or other centralized or networked software installation.

The SIOM is developed for software systems that will be installed in a computer center or other centralized or networked software installation,
with users accessing the system via terminals or personal computers or submitting and receiving inputs and outputs in batch mode.

This DID is used when the developer is tasked to identify and record information needed by persons who will submit inputs to,
and recieve outputs from,
software,
relying on others to operate the software in a computer center or other centralized or networked software installation.

The Contract Data Requirements List (CDRL) (DD 1423) should specify whether deliverable data are to be delivered on paper or electronic media; are to be in a given electronic form (such as ASCII,
CALS,
or compatible with a specified word processor or other support software); may be delivered in developer format rather than in the format specified herein; and may reside in a computer-aided software engineering (CASE) or other automated tool rather than in the form of a traditional document.

The document shall include a title page containing,
as applicable: document number; volume number; version/revision indicator; security markings or other restrictions on the handling of the document; date; document title; name,
abbreviation,
and any other identifier for the systems,
subsystems,
or items to which the document applies; contract number; CDRL item number; organization for which the document has been prepared; name and address of the preparing organization; distribution statement; and signature blocks for the developer representative authorized to release the document,
the acquirer representative authorized to approve the document,
and the dates of release/approval.
For data in a database or other alternative form,
this information shall be included on external and internal labels or by equivalent identification methods.

The document shall contain a table of contents providing the number,
title,
and page number of each titled paragraph,
figure,
table,
and appendix.
For data in a database or other alternative form,
this information shall consist of an internal or external table of contents containing pointers to,
or instructions for accessing,
each paragraph,
figure,
table,
and appendix or their equivalents.

Each page shall contain a unique page number and display the document number,
including version,
volume,
and date,
as applicable.
For data in a database or other alternative form,
files,
screens,
or other entities shall be assigned names or numbers in such a way that desired data can be indexed and accessed.

If a paragraph is tailored out of this DID,
the resulting document shall contain the corresponding paragraph number and title,
followed by 'This paragraph has been tailored out.' For data in a database or other alternative form,
this representation need occur only in the table of contents or equivalent.

If a data description required by this DID has been published in a standard data element dictionary specified in the contract,
reference to an entry in that dictionary is preferred over including the description itself.

Content requirements begin on the following page.
The numbers shown designate the paragraph numbers to be used in the document.
Each such number is understood to have the prefix '10.2' within this DID.
For example,
the paragraph numbered 1.1 is understood to be paragraph 10.2.1.1 within this DID.

This paragraph shall contain full identification of the system and the software to which this document applies,
including,
as applicable,
identification number(s),
title(s),
abbreviation(s),
version number(s),
and release number(s).

This paragraph shall briefly state the purpose of the system and the software to which this document applies.
It shall describe the general nature of the system and software; summarize the history of system development,
operation,
and maintenance; identify the project sponsor,
acquirer,
user,
developer,
and support agencies; identify current and planned operating sites; and list other relevant documents.

This section shall list the number,
title,
revision,
and date of all documents referenced in this manual.
This section shall also identify the source for all documents not available through normal Government stocking activities.

This paragraph shall identify the software files,
if any,
including databases and data files,
that the user is responsible for requesting in order to access the software described in this manual.
The identification shall include security and privacy considerations for each file and identification of the software necessary to continue or resume operation in case of an emergency.

This paragraph shall identify the hardware,
software,
manual operations,
and other resources needed to access and use the software.
This paragraph shall be based on the assumption that the software is installed in a computer center or other centralized or networked environment and shall focus on the resources that a user must have to access and use the software in that environment.
Included,
as applicable,
shall be identification of:

Computer equipment that must be present,
such as terminals,
printers,
or other input/output devices

This paragraph shall provide a brief description of the organization and operation of the software from the user's point of view.
The description shall include,
as applicable:

Logical components of the software,
from the user's point of view,
including databases and data files the user can access,
Database Management Systems (DBMSs),
and communications paths,
and an overview of the purpose/operation of each component

Performance characteristics that can be expected by the user,
such as:

Types,
volumes,
rate of inputs accepted

Types,
volume,
accuracy,
rate of outputs that the software can produce

Typical response time and factors that affect it

Typical processing time and factors that affect it

Limitations,
e.g,
restrictions on what data may be queried and from what location

Error rate that can be expected

Reliability that can be expected

Relationships of the functions performed by the software with interfacing systems and with the organizations or stations that are sources of input or recipients of output

Supervisory controls that can be implemented (such as passwords) to manage the software

This paragraph shall contain an overview of the security and privacy considerations associated with the software.
A warning shall be included regarding making unauthorized copies of software or documents,
if applicable.

This section shall be divided into the following paragraphs to describe how to prepare inputs to,
and interpret output from,
the software.
If the software has a query capability,
this paragraph shall reference section for a description of this capability.
If the software can be accessed via terminal,
this paragraph shall reference Sections through n to describe terminal processing procedures.
Safety precautions,
marked by WARNING or CAUTION,
shall be included where applicable.

This paragraph shall illustrate the layout formats to be used in the preparation of inputs to the software and shall explain the information that may be entered in the various sections and lines of each format.

This paragraph shall describe any rules and conventions that must be observed to prepare inputs.
The rules of syntax,
usage of punctuation,
etc.,
shall be explained.
The rules shall include the following,
as applicable:

Input transaction length,
such as 100 characters maximum

Format conventions,
such as all input items must be left-justified

Labeling,
such as usage of identifiers to denote major data sets to the software

Sequencing,
such as order and placement of items in the input

Punctuation,
such as spacing and use of symbols (virgule,
asterisk,
character combinations,
etc.) to denote start and end of input,
of data groups,
and of fields

Restrictions,
such as rules forbidding use of particular characters or parameter sets

This paragraph shall list the error codes generated by the software,
give their meanings,
and describe the corrective actions to be taken by the user.
Also included shall be the procedures to be followed by the user with respect to restart,
recovery,
and continuity of operations in the event of emergencies.

This paragraph shall provide a user's view of the format and content of each database and data file that can be queried.
Figure 1 provides an example.
Information such as the following shall be provided for each data element,
as applicable:

This paragraph shall provide instructions for the sequencing of runs and other actions necessary to extract responses to query requests.
These instructions shall include control statements that may be required by the computer system or software.

This section shall be divided into the following paragraphs to provide the user with information on the use of terminals to accomplish processing.
If the procedures are complicated or extensive,
Sections through n may be added in the same paragraph structure as this section and with titles meaningful to the sections selected.
The organization of the document will depend on the characteristics of the software being documented.
For example,
sections might be based on the organizations in which users work,
their assigned positions,
work sites,
or the tasks they must perform.
For other software,
it may be more appropriate to have Section 6 be a guide to menus,
Section 7 be a guide to the command language,
and Section be a guide to functions.
Detailed procedures are intended to be presented in paragraphs 6.2 through 6.5.
Depending on the design of the software,
the subparagraphs might be organized on a function-by-function,
menu-by-menu,
transaction-by-transaction,
or other basis.
Safety precautions,
marked by WARNING or CAUTION,
shall be included where applicable.

This paragraph shall be divided into subparagraphs to provide the step-by-step procedures necessary to produce the displays,
updates,
and retrievals that are available through the use of terminal.
Each procedure shall include the name of the operation,
input formats,
and sample responses,
as applicable.

This paragraph shall identify error messages that may be displayed and shall indicate their meanings and any corrective actions that should be taken.
Also included shall be any procedures to be followed by the user with respect to restart,
recovery,
and continuity of operations in the event of emergencies.

This section shall contain any general information that aids in understanding this document (e.g.,
background information,
glossary,
rationale).
This section shall include an alphabetical listing of all acronyms,
abbreviations,
and their meanings as used in this document and a list of terms and definitions needed to understand this document.
If section 6 has been expanded into section(s) 7,...,
this section shall be numbered as the next section following section n.

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.
Appendixes shall be lettered alphabetically (A,
B,
etc.).

Software Diamonds permits the redistribution and use in source and binary forms,
with or without modification,
provided that the following conditions are met:

Redistributions of source code,
modified or unmodified must retain the above copyright notice,
this list of conditions and the following disclaimer.

Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

SOFTWARE DIAMONDS,
http://www.SoftwareDiamonds.com,
PROVIDES THIS SOFTWARE 'AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING,
BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL SOFTWARE DIAMONDS BE LIABLE FOR ANY DIRECT,
INDIRECT,
INCIDENTAL,
SPECIAL,EXEMPLARY,
OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,DATA,
OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT,
STRICT LIABILITY,
OR TORT (INCLUDING USE OF THIS SOFTWARE,
EVEN IF ADVISED OF NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE POSSIBILITY OF SUCH DAMAGE.