Leveraging design structure matrices in software design education

  • Authors:
  • Yuanfang Cai;Daniel Iannuzzi;Sunny Wong

  • Affiliations:
  • Dept. of Computer Science, Drexel University, Philadelphia, PA, USA;Dept. of Computer Science, Drexel University, Philadelphia, PA, USA;Dept. of Computer Science, Drexel University, Philadelphia, PA, USA

  • Venue:
  • CSEET '11 Proceedings of the 2011 24th IEEE-CS Conference on Software Engineering Education and Training
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Important software design concepts, such as information hiding and separation of concerns, are often conveyed to students informally. The modularity and hence maintainability of student software is difficult to assess. In this paper, we report our study of using design structure matrix (DSM) to assess the modularity of student software by comparing the differences between the DSM representing the intended design and the DSMs representing the software implemented by the students. We applied this approach to a software design class at Drexel University. We found that even though the lab and homework assignments were of small scale, and in many cases, detailed designs were given to the students in the form of UML class diagrams, 74% of the 85 student submissions, although fulfilled the required functionality, introduced unexpected dependencies so that the modules that designed to be independent are actually coupled. These design problems can only be revealed during software evolution, which is usually not possible for student projects. The results show the necessity and benefits of applying DSM modeling to make such design problems explicit to the students.