摘要:Software engineers are provided with an enormous choice of technology for improving the quality of software. Being intangible, software products tend to be more intricate to build than any other artifacts. The selection of technology can thus become a critical factor for the success of software development. Software engineers are expected to be well-versed in various technologies to enable them to decide the best one for a particular development project. Sensible decisions however require not only understanding but also active minds, which can be achieved through meaningful learning. Being a discussion-based learning approach that encourages students to exploit knowledge and understanding of the subject matter, the Case Method seems to be a practical teaching and learning option. This method entails developing specific cases that promote exploration and critical thinking. To ensure the developed cases are useful, they should be evaluated. This paper presents a practical methodology for developing as well as evaluating industrial cases for teaching software engineering through the Case Method. It also shares some important lessons learned from the process. These lessons act as a guideline for future case developers to compose useful cases and motivate software engineering instructors to use cases in teaching.