Title :
Teaching analysis of software designs using dependency graphs
Author_Institution :
Sch. of Inf. Syst., Singapore Manage. Univ., Singapore, Singapore
Abstract :
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.
Keywords :
computer science education; further education; graphs; software engineering; teaching; asymmetric dependency; dependency graphs; design decisions; design structure matrix; deterministic approach; fourth-year undergraduates; information hiding; software design concepts; software design modifiability; teaching analysis; third-year undergraduates; undergraduate students; Conferences; Couplings; Education; Information systems; Semantics; Software design; Syntactics;
Conference_Titel :
Software Engineering Education and Training (CSEE&T), 2014 IEEE 27th Conference on
Conference_Location :
Klagenfurt
DOI :
10.1109/CSEET.2014.6816783