Interface Design and Definition Document Template — A Short Guide for the Best Results

This article will discuss the Interface Design/Definition Document (or IDD) and provide a basic structure that can be used as a template. The sections below represent the main topics an Interface Definition Document (IDD) must address. However, this list is incomplete; an overview section, a reference guide, and a terms and definitions section must also be included. We have covered each of these items in the Solution Design Document article. In summary, an IDD must cover:

Before we explore the template, we will discuss the Design Structure Matrix (DSM), an essential part of any solution design document.

This series also cover the following topics:

Interface Design and Management

Interface Design and Management — A How-To Guide for System Engineers

Interface Definition Document Template

Interface Design and Definition Document Template — A Short Guide for the Best Results

Large Systems Integration

Systems Integration — Challenges and Solutions to Assembling Large Systems

From Abstract Concepts to Tangible Value: Solution Architecture in Modern IT Systems

Software Architecture and Design Software Architecture and Design — Order, Complexity, and Chaos

2. Design Structure Matrix (DSM)

2.1 Overview

A Design Structure Matrix (DSM), also referred to as a dependency structure matrix, incidence matrix, N2 matrix, interaction matrix, or dependency map, is a simple, square representation of a system design highlighting the interfaces, dependencies, or links between the system subcomponents.

An example of a Design Structure Matrix (DSM) includes an operator, a system of two components and an environment in which it operates.

In the example above, we see four components of the system (including the environment it operates in and the end user) and different types of interfaces between them.

2.2 Benefits of Having a DSM

A DSM allows you to do the following:

A DSM can also be created on different system decomposition levels. A high-level DSM would show the connections between major systems, while a low-level DSM would represent a more granular view. However, its size must remain within the cognitive capacity of its users to remain usable.

A high-level Design Structure Matrix naturally belongs in the High-Level Design Document, whereas a low-level DSM would best be included in a Low-Level Solution Design.

While a DSM is crucial in systems integration projects, it is highly recommended in large software development and implementation projects.

Principles of Operational Excellence in Software Development

3. Interface Definition Document (IDD) Template

The Interface Design/Definition Document (IDD) template should cover the following aspects.

3.1 Interface Overview

The interface overview section presents generic details like terms and definitions, change history, current version number, support contact information, intended audience, and external references.

3.2 Assumptions and Limitations

Any assumptions, limitations, or constraints on the systems connected through the interface or the interface itself must be explicitly mentioned. Example are:

3.3 Transaction Processing, Flow, and Design Patterns

The IDD should specify the adopted design pattern and operation mode, which we now describe.

The following design patterns are typically applied when conceptualizing interface operations.

Message flow could be either synchronous or asynchronous. In synchronous operation modes, the sender is blocked until a response is received. In asynchronous modes, the sender continues to perform its task while waiting for a response.

Connection initiation, handshakes, keep-alive, and security key exchanges must be described.

Part 2: Solution Design — How to Identify the Design Characteristics of Modern IT Systems

3.4 Message Structure and Protocols

The IDD must contain a detailed definition of the message structure used across the interface. A typical message shared across a system interface is made up of the following components:

3.5 Message Definitions

Include the below topics in your IDD on message definition:

3.6 Data Field Definitions

Include the following topics when describing your interface’s data fields (sometimes called data elements).