Software engineering (3rd ed.): a practitioner's approach
Software engineering (3rd ed.): a practitioner's approach
Inside a software design team: knowledge acquisition, sharing, and integration
Communications of the ACM
The interaction of social issues and software architecture
Communications of the ACM
Software engineering: stretching the limits of complexity
Communications of the ACM
Connecting the design of software to the design
Communications of the ACM
Multimodal interfaces design issues: the fusion of well-designed voice and graphical user interfaces
Proceedings of the 26th annual ACM international conference on Design of communication
Abstract state machines and the inquiry process
Fields of logic and computation
Building domain specific software architectures from software architectural design patterns
Proceedings of the 33rd International Conference on Software Engineering
Hi-index | 0.00 |
The design of large software systems requires designers to apply critical thinking skills to resolve the complex design problems these systems typically generate. Cultivating these skills in novice designers involves exposing them to the complexities of these problems, allowing them to critically explore the problem and application domains, and providing a means to communicate the rationales for the design decisions they make. In a classroom learning environment, the processes students use to think about and organize what they know and do not know about the design problems is more important to the students' learning than the artifacts they generate. Effectively communicating to the instructor why they make their decisions facilitates assessment and feedback on the thinking and organizing process, and enhances the learning experience. This paper presents a pattern or template for capturing and communicating this information in a concise yet information-rich format. The author's experience using this pattern in a teaching and learning context is discussed to validate the effectiveness of this pattern.