Linking usability to software architecture patterns through general scenarios

  • Authors:
  • Len Bass;Bonnie E. John

  • Affiliations:
  • Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA;Human-Computer Interaction Institute, Carnegie Mellon University, Pittsburgh, PA

  • Venue:
  • Journal of Systems and Software - Special issue on: Software architecture - Engineering quality attributes
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

Usability is an important quality attribute to be considered during software architecture design. Up to this point, usability has been served only by separating a system's user interface from its functionality to support iterative design. However, this has the effect of pushing revisions to achieve usability toward the end of the software development life cycle. Many usability benefits link directly to a variety of architectural tactics in addition to separation of the user interface and these benefits can be discovered early in the life cycle. For each of 27 scenarios, we identified potential usability benefits a user could realize and an architectural pattern that supports achievement of those benefits. We organized the scenarios into an emergent hierarchy of potential benefits to the user and into an emergent hierarchy of architectural tactics used in the supporting patterns. The range of architectural tactics identified in this hierarchy demonstrates that separation is far from the only architectural tactic necessary to support usability. We present techniques that permit important usability issues to be addressed proactively at architecture design time instead of retroactively after user testing.