Architecting for usability: A survey

E Folmer*, J Bosch

*Corresponding author for this work

    Research output: Contribution to journalArticleAcademicpeer-review

    194 Citations (Scopus)

    Abstract

    Over the years the software engineering community has increasingly realized the important role software architecture plays in fulfilling the quality requirements of a system. The quality attributes of a software system are, to a large extent determined by the system's software architecture. In recent years, the software engineering community has developed various tools and techniques that allow for design for quality attributes, such as performance or maintainability, at the software architecture level. We believe this design approach can be applied not only to "traditional" quality attributes such as performance or maintainability but also to usability. This survey explores the feasibility of such a design approach. Current practice is surveyed from the perspective of a software architect. Are there any design methods that allow for design for usability at the architectural level? Are there any evaluation tools that allow assessment of architectures for their support of usability? What is usability? A framework is presented which visualizes these three research questions. Usability should drive design at all stages, but current usability engineering practice fails to fully achieve this goal. Our survey shows that there are no design techniques or assessment tools that allow for design for usability at the architectural level. (C) 2002 Elsevier Inc. All rights reserved.

    Original languageEnglish
    Pages (from-to)61-78
    Number of pages18
    JournalJournal of Systems and Software
    Volume70
    Issue number1-2
    DOIs
    Publication statusPublished - Feb-2004

    Keywords

    • software architecture
    • usability
    • design for quality attributes

    Fingerprint

    Dive into the research topics of 'Architecting for usability: A survey'. Together they form a unique fingerprint.

    Cite this