Reconciling usability and interactive system architecture using patterns

  • Authors:
  • Ahmed Seffah;Taleb Mohamed;Halima Habieb-Mammar;Alain Abran

  • Affiliations:
  • Human-Centered Software Engineering Group, Department of Computer Science and Software Engineering, Concordia University, Montreal, Quebec, Canada;Human-Centered Software Engineering Group, Department of Computer Science and Software Engineering, Concordia University, Montreal, Quebec, Canada;Human-Centered Software Engineering Group, Department of Computer Science and Software Engineering, Concordia University, Montreal, Quebec, Canada;Human-Centered Software Engineering Group, Department of Computer Science and Software Engineering, Concordia University, Montreal, Quebec, Canada

  • Venue:
  • Journal of Systems and Software
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Traditional interactive system architectures such as MVC [Goldberg, A., 1984. Smaltalk-80: The Interactive Programming Environment, Addison-Wesley Publ.] and PAC [Coutaz, J., 1987. PAC, an implementation model for dialog design. In: Interact'87, Sttutgart, September 1987, pp. 431-436; Coutaz, J., 1990. Architecture models for interactive software: faillures and trends. In: Cockton, G. (Ed.), Engineering for Human-Computer Interaction, Elsevier Science Publ., pp. 137-153.] decompose the system into subsystems that are relatively independent, thereby allowing the design work to be partitioned between the user interfaces and underlying functionalities. Such architectures extend the independence assumption to usability, approaching the design of the user interface as a subsystem that can designed and tested independently from the underlying functionality. This Cartesian dichotomy can be fallacious, as functionalities buried in the application's logic can sometimes affect the usability of the system. Our investigations model the relationships between internal software attributes and externally visible usability factors. We propose a pattern-based approach for dealing with these relationships. We conclude by discussing how these patterns can lead to a methodological framework for improving interactive system architectures, and how these patterns can support the integration of usability in the software design process.