Software engineering, as an emerging discipline, presents special challenges in post-secondary and professional development education. Basic principles and practices of software engineering are still in the process of being codified, and both declarative and procedural knowledge in the domain are subject to rapid, continual change as the discipline evolves. Software architecture is an important, advanced subdiscipline of software engineering. Students of software architecture are instructed in architectural patterns and their uses -- important concepts and techniques for designing the increasingly complex computer software systems that pervade our world.
Software must accommodate the needs of human users with whom it interacts; this quality of software is termed usability. Recent research on the relationship between usability and software architecture has led to the development of Usability-Supporting Architecture Patterns (USAPs), each addressing a single usability concern.
Instructional materials may be experimentally validated to ensure usefulness and usability for the expected student population, in our case, post-secondary students studying software architecture. We designed and performed two controlled experiments comparing three types of instructional materials for assisting these students in designing architectural support for an important usability concern. Previously published results showed significant gains in both coverage of architecture mechanisms and quality of overall architecture design through use of our instructional materials. New data help identify components of instructions most responsible for previously published results. Results overall indicate that explanation of the explicit responsibilities underlying a USAP may be sufficient to improve task performance on applying that USAP, without providing the graphical representation.