Teaching Analysis of Software Designs using Dependency Graphs

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 appl...

Full description

Saved in:
Bibliographic Details
Main Author: Steppe, Kevin
Format: text
Language:English
Published: Institutional Knowledge at Singapore Management University 2014
Subjects:
Online Access:https://ink.library.smu.edu.sg/sis_research_smu/47
https://ink.library.smu.edu.sg/cgi/viewcontent.cgi?article=1046&context=sis_research_smu
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Singapore Management University
Language: English
Description
Summary: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.