An Empirical Investigation of Methods, for Teaching Design Patterns within, Object-Oriented Frameworks

Design patterns have become an important part of modern object-oriented design. It is necessary to evaluate and compare the effectiveness of different methods of pedagogical documentation in teaching design patterns. We compared patterns-style documentation with minimalist documentation. Patterns style disagrees with minimalism in that contextual information is not minimal — it usually contains information other than what needs to be done. The discoveries in this empirical study were two fold. First, the MANOVA (multivariate analyses of variance) shows that the effect of patterns-style documentation and minimalism are different. Second, we proposed a prediction model using a regression modeling technique. Considering these results, we formulate some guidelines for effective framework documentation by applying five of the design patterns within the Swing environment as our case study. Different documentation philosophies are better for different goals. For a simple task, use minimalist documentation. For a much more complex problem such involving five of the design patterns, our empirical results suggest using patterns-style documentation.

[1]  Giuliano Antoniol,et al.  Traceability recovery in RAD software systems , 2002, Proceedings 10th International Workshop on Program Comprehension.

[2]  Lionel C. Briand,et al.  An experimental evaluation of quality guidelines on the maintainability of object-oriented design documents , 1997, ESP '97.

[3]  Mark Priestley,et al.  Practical Object-oriented Design with UML , 1997 .

[4]  John M. Carroll Minimalism beyond the Nurnberg funnel , 1998 .

[5]  Sin Ban Ho,et al.  An empirical investigation for different sequences of pedagogical framework documentation in RAD , 2004, IASTED Conf. on Software Engineering and Applications.

[6]  Lionel C. Briand,et al.  Software documentation: how much is enough? , 2003, Seventh European Conference onSoftware Maintenance and Reengineering, 2003. Proceedings..

[7]  Stephen R. Schach,et al.  Object-oriented and classical software engineering , 1995 .

[8]  Pierre N. Robillard,et al.  Engineering-based processes and agile methodologies for software development: a comparative case study , 2005, J. Syst. Softw..

[9]  Daniel Berg,et al.  The Integration of Analytical Hierarchy Process and Data Envelopment Analysis in a Multi-criteria Decision-making Problem , 2006, Int. J. Inf. Technol. Decis. Mak..

[10]  Zeshui Xu,et al.  Projection Method For Uncertain Multi-Attribute Decision Making With Preference Information On Alternatives , 2004, Int. J. Inf. Technol. Decis. Mak..

[11]  Zeshui Xu,et al.  An approach to pure linguistic multiple attribute decision making under uncertainty , 2005, Int. J. Inf. Technol. Decis. Mak..

[12]  Giuliano Antoniol,et al.  Recovering Traceability Links between Code and Documentation , 2002, IEEE Trans. Software Eng..

[13]  Gulab Singh,et al.  An Extension to ER Model for Top-Down Semantic Modeling of Databases of Applications , 2004, CIT.

[14]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[15]  E. Byrski Gang of Four , 2005 .

[16]  Craig Larman,et al.  Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process , 2001 .

[17]  Petra Perner,et al.  Data Mining - Concepts and Techniques , 2002, Künstliche Intell..

[18]  Boris Beizer RETRACTED ARTICLE: Software is different , 2000, Ann. Softw. Eng..

[19]  James Miller Statistical significance testing--a panacea for software technology experiments? , 2004, J. Syst. Softw..

[20]  Jiannong Cao,et al.  Decision Analysis of Statistically Detecting Distributed Denial-of-Service Flooding Attacks , 2003, Int. J. Inf. Technol. Decis. Mak..

[21]  Michael Philippsen,et al.  Two Controlled Experiments Assessing the Usefulness of Design Pattern Documentation in Program Maintenance , 2002, IEEE Trans. Software Eng..

[22]  Ian Chai,et al.  Pedagogical framework documentation: how to document object-oriented frameworks. an empirical study , 1999 .

[23]  Raymond J. A. Buhr,et al.  Use Case Maps as Architectural Entities for Complex Systems , 1998, IEEE Trans. Software Eng..

[24]  Max Jacobson,et al.  A Pattern Language: Towns, Buildings, Construction , 1981 .

[25]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[26]  Michael Philippsen,et al.  Two controlled experiments assessing the usefulness of design pattern information during program maintenance [online] , 1998 .

[27]  Ralph Johnson Documenting frameworks using patterns , 1992, OOPSLA 1992.

[28]  Cay S. Horstmann Object Oriented Design and Patterns , 2006 .

[29]  Martin Fowler,et al.  Patterns of Enterprise Application Architecture , 2002 .

[30]  Neil Salkind,et al.  Using SPSS for Windows: Analyzing and Understanding Data with Disk , 1997 .

[31]  C. Hortsmann Object-Oriented Design and Patterns , 2004 .

[32]  V. Barnett,et al.  Applied Linear Statistical Models , 1975 .

[33]  Michael Eichberg,et al.  A Handbook of Software and Systems Engineering , 2009 .

[34]  S. Debowski Knowledge Management , 2005 .

[36]  Efraim Turban,et al.  Decision support systems and intelligent systems , 1997 .

[37]  Walter F. Tichy,et al.  A Controlled Experiment in Maintenance Comparing Design Patterns to Simpler Solutions , 2001, IEEE Trans. Software Eng..