Since current scenario-based software architecture design methods do not handle technical difficulties with the embodiment of usability scenarios into software architecture, it is difficult to bring usability in the comprehensive quality attribute tradeoff analysis. As a result, the omission of usability leads to changes of software architecture in later phases of the software process and the changes cause additional effort and cost for systems. The technical difficulties, which are the sources of this weakness in the current methods, comprise hardships of specifying usability scenarios, selecting effective usability scenarios, and finding sensitivity points.
To address these technical difficulties and support usability in software architecture, we propose three techniques that are incorporated in current scenario-based architecture design methods: (1) We provide a mapping mechanism between usability attributes and usability scenarios. Based on usability attributes defined in ISO 9241, we categorize usability scenarios and response measures. (2) We propose a questionnaire to determine whether a usability scenario is architectural. The questionnaire is designed to judge how much each usability scenario causes changes to software architecture. (3) We utilize sequence diagrams and interaction to create design options. The sequence diagram clearly presents components relationship, and the interaction catalyzes application of existing design patterns.
To exemplify these three techniques, we have chosen the Attribute Driven Design (ADD) method because of its generality and its compatibility with other scenario-based architecture design methods. Using this method, we present how to incorporate our techniques in software architecture design methods and how to support usability in software architecture.
Our approach contributes to reducing cost and effort caused by changes in software architecture. By discovering usability scenarios in earlier phases of the sof...