Software Interface Specifications:
- Interface Packages
For each package of logically related interfaces:
- Name
- Definition
- Type (Provided or Required)
- Semantics:
- Purpose
- Invariants
- State Model
- Interface:
For each interface in the package of interfaces:
- Name
- Definition
- Semantics:
- Operation Preconditions
- Operation Postconditions
- Concurrency Semantics
- Syntax:
- Parameters (e.g., data types, valid ranges,
validity of null values, default values, data flow
direction of in/out/inout)
- Return Value (e.g., data type, valid range,
validity of null value, default value)
- Exceptions Thrown
- Communication Protocol (e.g., Remote Procedure
Call, Remote Method Invocation, CORBA, DCOM)
- Quality:
- Availability
- Reliability
- Performance
- Conclusion
- Appendices:
- Major Issues
- TBDs
- Assumptions
The typical stakeholders of an External Interface Specification are:
- Producer:
- Evaluator:
- Approvers:
- Maintainer:
- Users:
A external interface specification is typically produced
during the following phases:
An external interface specification typically can be
started if the following preconditions hold:
The typical inputs to an external interface
specification include:
- Work Products:
- Stakeholders:
- Do not produce an External Interface Specification
unless the application must interface with an external
systems or applications.
- Where practical, specify open interface standards
with the following decreasing order of preference:
- International interface standards
- De facto interface standards
- Proprietary corporate standards
- Proprietary program standards
- Consider including the specification of external
interfaces in an additional section of the
system requirements specification rather than in a
separate document if there are few mandatory external
interfaces and these interfaces are simple.
- Where practical, specify external interfaces by
reference to the published standards or existing
documentation about individual external applications
rather than redundantly repeating the information.
- Do not use this specification to specify the internal
interfaces of components of the application unless use of
these components has been required as a design constraint
in the
system requirements specification.
An external interface specification is constrained by
the following conventions:
-
Example External Interface
Specification