Assessing the value of architectural information extracted from patterns for architecting

Background: We have developed an approach to identifying and capturing architecturally significant information from patterns (ASIP), which can be used to improve architecture design and evaluation. Goal: Our goal was to evaluate whether the use of the ASIP provides more effective support in understanding or designing software architecture composed of the software design patterns which are the source of the ASIP compared with the original design pattern documentation. Experimental design: Our subjects were 20 experienced software engineers who had returned to University for a post graduate course. All participants were taking a course in software architecture. The participants were randomly assigned to two groups of equal size. Both groups performed two tasks: understanding the use of J2EE design pattern in a given architecture based on the quality requirements the architecture was supported to satisfy, and designing software architecture to satisfy a given set of quality requirements using J2EE design patterns. For the first task, one group (treatment group) was given ASIP information the other (control group) was given the standard J2EE pattern documentation. For the second task, treatment group became the control group and vice versa and the type of support information was kept constant. The outcome variables were the number of correctly identified design patterns. The participants also completed a post-experiment questionnaire. Result: The average score for the first task for the treatment group was 23.90 and for the control group was 13.80. The difference between the groups was significant using Mann-Whiney test (p=0.0375). The average score for the second task for the treatment group was 26.85 and for the control group was 19.60. Mann-Whitney test revealed that the difference between the groups was again significant at (p=0.035). Post-study questionnaire revealed that 18 of the 20 participants believed that the ASIP was more helpful than pattern documentation for understanding and designing architectures. Conclusion: Our results support the hypotheses that ASIP information is more helpful in understanding or designing software architectures using software design patterns than pattern documentation itself.

[1]  Rick Kazman,et al.  Toward a discipline of scenario‐based architectural engineering , 2000, Ann. Softw. Eng..

[2]  Daniel Gross,et al.  From Non-Functional Requirements to Design through Patterns , 2001, Requirements Engineering.

[3]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[4]  Claes Wohlin,et al.  Experimentation in software engineering: an introduction , 2000 .

[5]  John Crupi,et al.  Core J2EE Patterns: Best Practices and Design Strategies , 2001 .

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

[7]  Leonard J. Bass,et al.  Linking usability to software architecture patterns through general scenarios , 2003, J. Syst. Softw..

[8]  Steffen Thiel On the Definition of a Framework for an Architecting Process Supporting Product Family Development , 2001, PFE.

[9]  Leszek A. Maciaszek,et al.  Practical Software Engineering: A Case-Study Approach , 2004 .

[10]  Muhammad Ali Babar,et al.  The value of architecturally significant information extracted from patterns for architecture evaluation: a controlled experiment , 2006, Australian Software Engineering Conference (ASWEC'06).

[11]  Leonard J. Bass,et al.  Bringing Usability Concerns to the Design of Software Architecture , 2004, EHCI/DS-VIS.

[12]  Liming Zhu,et al.  Mining patterns to support software architecture evaluation , 2004, Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004).

[13]  Jan Bosch,et al.  A framework for capturing the relationship between usability and software architecture , 2003, Softw. Process. Improv. Pract..

[14]  Leszek A. Maciaszek,et al.  Practical Software Engineering: An Interactive Case-Study Approach to Information Systems Development , 2004 .

[15]  Gail C. Murphy,et al.  Design pattern rationale graphs: linking design to source , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[16]  Hans van Vliet,et al.  How well can we predict changes at architecture design time? , 2003, J. Syst. Softw..

[17]  Kent Petersson,et al.  Software Architecture as a Combination of Patterns , 2022 .

[18]  B. F. Castro Buschmann, Frank; Meunier, Regine; Rohnert, Hans; Sommerlad, Peter; Stal, Michael. Pattern-oriented software architecture: a system of patterns, John Wiley & Sons Ltd, 1996 , 1997 .

[19]  Muhammad Ali Babar,et al.  Scenarios, quality attributes, and patterns: capturing and using their synergistic relationships for product line architectures , 2004, 11th Asia-Pacific Software Engineering Conference.

[20]  M. Mari,et al.  Quality-Driven Architecture Design Method , 2002 .

[21]  Rick Kazman,et al.  Evaluating Software Architectures: Methods and Case Studies , 2001 .

[22]  E. Golden,et al.  The value of a usability-supporting architectural pattern in software architecture design: a controlled experiment , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

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

[24]  Felix Bachmann,et al.  Deriving Architectural Tactics: A Step Toward Methodical Architectural Design , 2003 .