首页 | 本学科首页   官方微博 | 高级检索  
     检索      


Teaching Software Engineering by Reverse Engineering
Authors:Michael F Bosco
Institution:University of Massachusetts at Amherst
Abstract:Teaching software engineering (SE) is a difficult but critical task, whether students are undergraduates, graduates, or professionals. Most designs of undergraduate courses are based on a large project. During this project, students apply methods that have been introduced during lectures. Project schedules usually follow life cycles corresponding to the steps that lead to the creation of new pieces of software. My intention is to analyze the difficulties that occur in SE undergraduate courses and to propose a method to improve course quality and to meet with industrial needs that are more reusability‐ and maintenance‐oriented.

This article outlines a typical course and some of its weaknesses. Then, it proposes changes and discusses a different way of teaching SE based on the following ideas:

  • Apply a reverse engineering life cycle that starts by making students deal with code, and, step by step, parts of design, specification, and requirement documents. This phase aims to motivate students, to make them critical of existing software, and to teach them norms, methods, and standards.

  • Make students follow the usual feedback‐directed life cycle to complete the software they have analyzed during the first phase.

This article presents an evaluation of the method based on my application of this approach in an introductory course of SE at the University of Massachusetts at Amherst. Also proposed are some partial methods based on reverse engineering considerations. Partial methods will allow an instructor, who would like to run a project based on the reverse engineering life cycle, to introduce reverse engineering concepts progressively within a SE course.
Keywords:
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号