Teaching software engineering using a traceability-based development methodology

  • Authors:
  • Sandeep Mitra;T. M. Rao;Thomas A. Bullinger

  • Affiliations:
  • SUNY Brockport, Brockport, NY;SUNY Brockport, Brockport, NY;SUNY Brockport, Brockport, NY

  • Venue:
  • Journal of Computing Sciences in Colleges
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Instructors of Software Engineering (SE) classes in small Computer Science programs face the challenge of selecting a coherent set of SE concepts that can be taught in a one-semester course. This challenge is more significant when the students' background lacks significant exposure to Object-Oriented (OO) design. A second challenge is the design of "right-sized" case studies that rigorously illustrate the application of the selected SE concepts, can be comprehensively presented in the classroom and assigned as term projects. In this paper, we address the first challenge by proposing the use of a traceability-based methodology for SE instruction. We address the second challenge by advocating the use of a particular type of problem -- namely, "GUI-based workflow applications". We present an ATM case study in class and focus on how the issues inherent in this problem can be tackled by choosing appropriate OOSE concepts. We have found that this approach allows us to teach concepts such as design patterns and coding idioms as they naturally arise in the problem. Our experience with a small group of students indicates that, with this approach, they were able to better understand the SE process itself and come up with high-quality software designs in a similar term project.