The interface design for software is analogous to a set of detailed drawings (and specifications) for the doors, windows, and external utilities of a house. In essence, the detailed drawings [and specifications) for the doors, windows, and external utilities tell us how things and information flow into and out of the house and within the rooms that are part of the floor plan. The interface design elements for software depict information flows into and out of a system and how it is communicated among the components defined as part of the architecture.
There are three important elements of interface design; (11 the user interface (U1), E2] external interfaces to other systems, devices, networks, or other producers or consumers of information, and (3) internal interfaces between various design components. These interface design elements allow the software to communicate externally and enable internal communication and collaboration
among the components that populate the software architecture.
UI design [increasingly called use biliry design] is a major software engineering action and is considered in detail in Chapter 15. Usability design incorporates aesthetic elements (e.g.. layout, color, graphics, interaction mechanisms], ergonomic elements [e.g, information layout and placement, metaphors, Ul navigation], and technical elements (e.g. Ul patterns, reusable components). In general. the UT is a unique subsystem within the overall application architecture.
The design of external interfaces requires definitive information about the entity to which information is sent or received. In every case, this information should be collected during requirements engineering (Chapter 8] and verified once the interface design commences.‘ The design of external interfaces should incorporate error checking and appropriate security features.