We present the use of a new type of dependency graph to aid students in analyzing the modifiability of software designs. Though a variety of software design concepts, such as information hiding, separation of concerns and patterns are taught to undergraduate students, they often have difficulty applying these concepts to the analysis of designs and particularly to comparing designs, perhaps due to the subjective nature of these concepts. Our new technique complements design structure matrix and ‘uses’ techniques to handle asymmetric dependency impacts and provide a deterministic approach to comparing alternative designs. A major goal of this technique was for students to be able to quickly learn about dependencies and use them to make design decisions. In this paper we present findings from a study with thirty third- and fourth-year undergraduates indicating that most were able to use the technique to analyze and compare designs after a single short workshop and indicate that they are likely to continue use the technique in the future.
Computer Sciences | Higher Education | Software Engineering
Software and Cyber-Physical Systems
2014 IEEE 27th Conference on Software Engineering Education and Training (CSEE&T): Proceedings: April 23-25, 2014, Klagenfurt, Austria
City or Country
Steppe, Kevin, "Teaching Analysis of Software Designs using Dependency Graphs" (2014). Research Collection School Of Information Systems (SMU Access Only). Paper 47.
Available at: http://ink.library.smu.edu.sg/sis_research_smu/47