Systems development methods or software methodologies have evolved
considerably over the past few years. This development has tended to fall into two main areas: Software Engineering and Human Computer Interaction (HCI). The two main techniques proposed in Software Engineering were Structured Analysis, as proposed by Ross and DeMarco; and Semantic Modelling. These two different approaches were later combined to yield Modern Structured Analysis, in which Structured Analysis was augmented with data modelling techniques.
Modern Structured Analysis was subsequently replaced by Object Oriented Analysis and Design (OOAD) which adopted a holistic approach to data and processes, encapsulating them into objects.
In the HCI domain, design methods such as Hierarchical Task Analysis (HTA) and Task Analysis for Knowledge Descriptions (TAKD), have long been used to model the cognitive nature of the tasks performed by the users. Recent work by Walsh, Um, Long and Sutcliffe have proposed combining Task Analysis (TA) with Structured Analysis and Design methods, in order to improve system usability. Analysis for Task Object Modelling (ATOM), as proposed by Walsh, is an example of such a method which combines TA with object modelling in an integrated life cycle approach.
This article will review the major Software Engineering methods, together with the principal HCI methods and motivate for the integration of the two areas on the basis of improved system usability. A taxonomy of software development methods as proposed by Blum will be reviewed and a proposal made to augment the framework to include the issue of user-centered design methods. The extended framework will then be used to classify several of the principal software design methodologies, together with the principal HCI methods. Each of these methodologies will be reviewed and conclusions drawn as to the efficacy of each in the context of the software life cycle. We will demonstrate that all of the traditional design methodologies fail to include Task Analysis (TA). An alternative methodology, Analysis for Task Object Modelling, as proposed by Walsh, will be discussed, which includes TA with object modelling. We will motivate that TA is an essential
part of Requirements Analysis and HCI design. Furthermore, failure to include TA may result in serious usability problems. Methods like ATOM, which combine TA with OOAD, are thus the most applicable software methodologies for designing usable systems in the future. Further research, however, is needed to improve and integrate the conceptual modelling techniques in ATOM