Controls And Interfaces

Controls And Interfaces

Controls And Interfaces

An interface, from the perspective of system development, can be identified as any point where a system and something, or someone, meet. This interface point may include other systems, internal hardware, circuitry, external peripherals, networks, system users, etc. For example, common interfaces for computer peripherals may include USB, serial, parallel ports, etc; common interfaces for system users may include monitors, keyboards, mice, etc.

Interfaces are documented using interface control documents (ICD) that describe the system's interfaces as well as any rules for communicating with them. ICDs help ensure compatibility between system segments and components and are often considered key elements of effective system design and development. The purpose of the ICD is to clearly communicate all possible inputs and outputs from a system for all potential actions whether they are internal to the system or transparent to system users. An ICD may describe the system interfaces to the lowest physical elements (circuits, voltage, watts, etc) to the user interface or any subset thereof. The level of detail included in any ICD is dependant upon the requirements of the stakeholders to successfully deliver on project requirements.

ICDs define for the development team system inputs, outputs, internal interfaces, and interfaces between other systems, subsystems and/or users. An ICD should only describe the interface itself and not any characteristics of the systems using it. An ICD should also not include anything about the meaning or intended use of the data. Any features, functions, or logic supporting the system interface should be outlined within separate design and/or specification documents. Defining an ICD in this way allows other teams to develop connecting systems without concern of how the data is treated by the other system. This allows development teams to work without the requirement of knowing the business logic or technical aspects behind the system and allows for modularity that leads to easy maintenance and extensibility of systems.