Chapter 13: Usability – Creating User-Centered Architecture
Loading audio…
ⓘ This audio and summary are simplified educational interpretations and are not a substitute for the original text.
Chapter 13 delves into the essential quality attribute of usability, defining it as the system’s capacity to allow users to efficiently accomplish desired tasks while providing robust support, thereby significantly enhancing the user's perception of overall quality and satisfaction. Achieving high usability requires architectural considerations for learning new features, maximizing operational efficiency, enabling system adaptation to user needs, and minimizing the impact of potential user errors. Because user interface design is inherently iterative, the chapter establishes a strong connection between usability achievement and architectural modifiability, necessitating design patterns that facilitate painless iteration. The Usability General Scenario is used to characterize these requirements, outlining elements such as the end user as the stimulus source, runtime events, common artifacts like a GUI, and measurable response measures including task time, number of errors, and user satisfaction. Architectural tactics designed to achieve usability are split into two categories: Support User Initiative tactics, which empower the user to manage operations (such as Cancel ongoing tasks, Undo previous state changes, Pause/Resume long operations, and Aggregate repetitive actions); and Support System Initiative tactics, where the system proactively helps the user by maintaining an explicit task model, user model, or system model to predict needs or provide status updates. Finally, the text introduces standard patterns crucial for separating concerns and supporting iterative UI design, including the Model-View-Controller (MVC) pattern and its variants, the Observer pattern (often used within MVC to notify views of model changes), and the Memento pattern, which is a common strategy for implementing the vital undo function.