Software architecture analysis of usability

Eelke Folmer

Research output: ThesisThesis fully internal (DIV)

3944 Downloads (Pure)


One of the qualities that has received increased attention in recent decades is usability. A software product with poor usability is likely to fail in a highly competitive market; therefore software developing organizations are paying more and more attention to ensuring the usability of their software. However, practice shows that product quality (which includes usability among others) is not that high as it could be. Organizations spend a relative large amount of money and effort on fixing usability problems during late stage development. The problem with fixing certain usability problems during late stage is that some of these solutions require changes to the software architecture which is very expensive to modify during late stage. Similar to other qualities, usability is also restricted and fulfilled by software architecture design. However, software architects are often not aware of this constraint nor are there any techniques that explicitly focus on analyzing software architectures for their support of such solutions. As a result, avoidable rework is frequently necessary. This rework leads to high costs and because tradeoffs need to be made, for example between cost and quality, leads to systems with less than optimal usability. In order to be able to cost effectively develop usable systems we investigated the relationship between usability and software architecture. The three main results of this research are: - ASUP: Architecture Sensitive Usability Patterns: This is a collection of patterns that improve usability but have proven to be hard to retrofit. Architecture Sensitive usability patterns are an extension of interaction design patterns by adding information on how to generally implement this pattern. ASUP patterns can be used for architectural analysis: when the generic implementation is known, software architects can assess what it means in their context and can decide whether they need to modify the software architecture to support these patterns. - SAU (Software Architecture Usability Framework): This is a framework that defines relationships between architecture sensitive usability patterns and specific usability attributes and properties of usability. Using the relationships, a designer can analyze when he or she has a quality requirement which architecture sensitive patterns may need to be implemented to fulfill this requirement. On the other hand when heuristically evaluating an architecture for a set of quality requirements an architect can decide whether an architecture has sufficient support based on whether certain quality improving architecture sensitive patterns have been implemented. - SALUTA: In order to assist an architect in analyzing an software architecture for its support of usability we provide a specific set of steps that provide the structure for understanding and reasoning about how particular design decisions may affect usability. SALUTA is a Scenario based Architecture Level UsabiliTy Analysis method and it uses the SAU framework for identifying an architecture's support for usability. All research in this thesis has been funded by the European Union funded STATUS (Software Architecture that supports Usability) project. STATUS was an ESPRIT project (IST-2001-32298) financed by the European Commission in its Information Society Technologies Program, Action Line IV.3. The project started on 1-12-2001 and its duration was 36 months. The aim of this project was to gain an in-depth understanding of the relationship between software systems usability and architecture.
Original languageEnglish
QualificationDoctor of Philosophy
  • Bosch, J., Supervisor, External person
Award date26-Sept-2005
Print ISBNs9036723610, 9036723620
Publication statusPublished - 2005


  • Proefschriften (vorm)
  • Programmatuurtechniek, Bruikbaarheid;
  • programmatuurontwikkeling;

Cite this