Definition and evaluation of a synthesis-oriented, user-centered task analysis technique: the Task Mapping Model
A software system is an aggregate of communicating modules, and there are several different types of communication among these modules (direct, indirect, and global). Therefore, understanding the interfaces among these modules can characterize the system and are a major factor in the system's complexity. These interfaces could possibly also show and predict inadequacies in the reliability and maintenance of a system. Interfaces are defined early in the development life cycle at a detailed or high level design stage. Knowing that these interfaces exist and their structure leads us to measure them for an indication of the designed interface complexity. This designed interface complexity can then be utilized for software quality assurance by allowing users to choose from among several designs. With data provided by an Ada software developer, the interface complexity metrics correlated with established metrics, but also found complex interfaces that established metrics missed.