Skip to main content

Using Pattern-Based Architecture Reviews to Detect Quality Attribute Issues - An Exploratory Study

  • Conference paper
Transactions on Pattern Languages of Programming III

Part of the book series: Lecture Notes in Computer Science ((TPLOP,volume 7840))

  • 735 Accesses

Abstract

Architecture reviews are effective for identifying potential problems in architectures, particularly concerning the quality attributes of the system, but are generally expensive. We propose that architecture reviews based on the architecture patterns and their interactions with quality attributes can be done with small effort. We performed an exploratory study to investigate how much time and effort is required to perform such a review, and how many related issues it uncovers. We performed nine architecture reviews on small systems, and recorded the time and effort spent, and the number of issues identified. On average, a pattern-based review took less than two person-days of effort and less than a day of calendar time. The median number of issues identified was three, one of which was major. We recommend that where extensive architecture reviews are too expensive, a pattern-based review can be done with small effort and time.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 54.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 72.00
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Sommerville, I.: Software Engineering, 8th edn. Addison Wesley Longman (2007)

    Google Scholar 

  2. Bachmann, F., Bass, L., Klein, M., Shelton, C.: Designing Software Architectures to Achieve Quality Attribute Requirements. IEE Proceedings 152(4), 153–165 (2005)

    Article  Google Scholar 

  3. Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. Addison-Wesley (2003)

    Google Scholar 

  4. International Standards Organization, Information Technology – Software Product Quality – Part 1: Quality Model, ISO/IEC FDIS 9126-1 (2000)

    Google Scholar 

  5. Bengtsson, P.: Towards Maintainability Metrics on Software Architecture: An Adaptation of Object-Oriented Metrics. In: First Nordic Workshop on Software Architecture, Ronneby (1998)

    Google Scholar 

  6. Abowd, G., Bass, L., Clements, P., Kazman, R., Northrop, L., Zaremski, A.: Recommended Best Industrial Practice for Software Architecture Evaluation. Technical Report CMU/SEI-96-TR-025, CMU Software Engineering Institute (1997)

    Google Scholar 

  7. Obbink, H., Kruchten, P., Kozaczynski, P., Hilliard, R., Ran, A., Postema, H., Lutz, D., Kazman, R., Tracz, W., Kahane, E.: Report on Software Architecture Review and Assessment, SARA (2002), http://philippe.kruchten.com/architecture/SARAv1.pdf

  8. Dobrica, L., Niemelä, E.: A Survey on Software Architecture Analysis Methods. IEEE Trans. Softw. Eng. 28(7), 638–653 (2002)

    Article  Google Scholar 

  9. Ali-Babar, M., Zhu, L., Jeffery, R.: A Framework for Classifying and Comparing Software Architecture Evaluation Methods. In: 15th Australian Software Engineering Conference, Melbourne, pp. 309–318 (2004)

    Google Scholar 

  10. Clements, P., Kazman, R., Klein, M.: Evaluating Software Architectures: Methods and Case Studies. Addison-Wesley (2002)

    Google Scholar 

  11. Maranzano, J., Rozsypal, S., Zimmerman, G., Warnken, G., Wirth, P., Weiss, D.: Architecture Reviews: Practice and Experience. IEEE Software 22(2), 34–43 (2002)

    Article  Google Scholar 

  12. Bass, L., Nord, R., Wood, W., Zubrow, D.: Risk Themes Discovered Through Architecture Evaluations. SEI Report CMU/SEI-2006-TR-012 (2006)

    Google Scholar 

  13. Beck, K., et al.: Manifesto for Software Development, http://agilemanifesto.org (accessed October 2008)

  14. Kitchenham, B.A., Pfleeger, S.L., Pickard, L.M., Jones, P.W., Hoaglin, D.C., Emam, K.E., Rosenberg, J.: Preliminary guidelines for empirical research in software engineering. IEEE Trans. Softw. 28(8), 721–734 (2002)

    Article  Google Scholar 

  15. Gamma, E., et al.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley (1995)

    Google Scholar 

  16. Harrison, N., Avgeriou, P., Zdun, U.: Architecture Patterns as Mechanisms for Capturing Architectural Decisions. IEEE Software 24(4), 38–45 (2007)

    Article  Google Scholar 

  17. Shaw, M.: Toward Higher-Level Abstractions for Software Systems. In: Proc. Tercer Simposio Internacional del Conocimiento y su Ingerieria, pp. 55–61 (October 1988); reprinted in Data and Knowledge Engineering, vol. 5, pp. 19–28 (1990)

    Google Scholar 

  18. Buschmann, F., et al.: Pattern-Oriented Software Architecture: A System of Patterns. Wiley (1996)

    Google Scholar 

  19. Avgeriou, P., Zdun, U.: Architectural Patterns Revisited – a Pattern Language. In: 10th European Conference on Pattern Languages of Programs (EuroPLoP 2005), Irsee, Germany (2005)

    Google Scholar 

  20. Harrison, N., Avgeriou, P.: Leveraging Architecture Patterns to Satisfy Quality Attributes. In: Oquendo, F. (ed.) ECSA 2007. LNCS, vol. 4758, pp. 263–270. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  21. Harrison, N., Avgeriou, P.: Pattern-Driven Architectural Partitioning - Balancing Functional and Non-functional Requirements. In: First International Workshop on Software Architecture Research and Practice (SARP 2007). IEEE Computer Society Press (2007)

    Google Scholar 

  22. Harrison, N., Avgeriou, P., Zdun, U.: Focus Group Report: Capturing Architectural Knowledge with Architectural Patterns. In: 11th European Conference on Pattern Languages of Programs (EuroPLoP 2006), Irsee, Germany (2006)

    Google Scholar 

  23. Coplien, J., Harrison, N.: Organizational Patterns of Agile Software Development. Prentice-Hall (2004)

    Google Scholar 

  24. Harrison, N., Avgeriou, P.: Analysis of Architecture Pattern Usage in Legacy System Architecture Documentation. In: 7th Working IEEE/IFIP Conference on Software Architecture, Vancouver, pp. 147–156 (2008)

    Google Scholar 

  25. Utas, G.: Robust Communications Software: Extreme Availability, Reliability and Scalability for Carrier-Grade Systems. Wiley (2005)

    Google Scholar 

  26. Harrison, N., Avgeriou, P.: Incorporating Fault Tolerance Techniques in Software Architecture Patterns. In: International Workshop on Software Engineering for Resilient Systems (SERENE 2008). ACM Press, Newcastle upon Tyne (2008)

    Google Scholar 

  27. Kazman, R., Bass, L., Abword, G., Webb, M.: SAAM: A Method for Analyzing the Properties of Software Architectures. In: 16th International Conference on Software Engineering (1994)

    Google Scholar 

  28. Kazman, R., Klein, M., Barbacci, M., Longstaff, T., Lipson, H., Carriere, J.: The Architecture Tradeoff Analysis Method. In: Proceedings of IEEE, ICECCS (1998)

    Google Scholar 

  29. Zhu, L., Babar, M.A., Jeffrey, R.: Mining Patterns to Support Software Architecture Evaluation. In: Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA). IEEE Computer Society, Washington, DC (2004)

    Google Scholar 

  30. Bass, L., Nord, R., Wood, W., Zubrow, D., Ozkaya, I.: Analysis of architecture evaluation data. J. Syst. Softw. 81(9), 1443–1455 (2008)

    Article  Google Scholar 

  31. Clements, P.: Active Reviews for Intermediate Designs, SEI Carnegie Mellon University CUM/SEI-2000-TN-009 (2000)

    Google Scholar 

  32. Bengtsson, P.-O., Lassing, N., Bosch, J., Van Vliet, H.: Architecture-Level Modifiability Analysis. Journal of Systems and Software 69 (2004)

    Google Scholar 

  33. Bengtsson, P.O., Bosch, J.: Architectural Level Prediction of Software Maintenance. In: 3rd European Conf. on Software Engineering Maintenance and Reengineering (1999)

    Google Scholar 

  34. Bengtsson, P.O., Bosch, J.: Scenario-based Architecture Reengineering. In: 5th International Conference on Software Reuse (1998)

    Google Scholar 

  35. Alavi, M., Carlson, P.: A Review of MIS Research and Disciplinary Development. Journal of Management Information Systems 3(4), 45–62 (1992)

    Google Scholar 

  36. Holz, H., Applin, A., Haberman, B., Joyce, D., Purchase, H., Reed, C.: Research methods in computing: what are they, and how should we teach them? SIGCSE Bull. 38(4), 96–114 (2006)

    Article  Google Scholar 

  37. Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslén, A.: Experimentation in Software Engineering: an Introduction. Kluwer Academic Publishers (2000)

    Google Scholar 

  38. Jedlitschka, A., Pfal, D.: Reporting Guidelines for Controlled Experiments in Software Engineering. In: Intl. Symp. on Empirical Software Engineering (2005)

    Google Scholar 

  39. Cockburn, A.: Agile Software Development: The Cooperative Game, 2nd edn. Addison-Wesley (2007)

    Google Scholar 

  40. Schwaber, K.: Agile Project Management with Scrum. Microsoft Press (2004)

    Google Scholar 

  41. Johnson, P.M., Tjahjono, D.: Does Every Inspection Really Need a Meeting? Empirical Softw. Eng. 3(1), 9–35 (1998)

    Article  Google Scholar 

  42. Falessi, D., Ali Babar, M., Cantone, G., Kruchten, P.: Applying empirical software engineering to software architecture: challenges and lessons learned. Empirical Swre. Eng. (2010) (to appear)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Harrison, N.B., Avgeriou, P. (2013). Using Pattern-Based Architecture Reviews to Detect Quality Attribute Issues - An Exploratory Study. In: Noble, J., Johnson, R., Zdun, U., Wallingford, E. (eds) Transactions on Pattern Languages of Programming III. Lecture Notes in Computer Science, vol 7840. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-38676-3_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-38676-3_5

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-38675-6

  • Online ISBN: 978-3-642-38676-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics