Advertisement

Making the Case for Centralized Software Architecture Management

  • Georg Buchgeher
  • Rainer Weinreich
  • Thomas Kriechbaum
Conference paper
Part of the Lecture Notes in Business Information Processing book series (LNBIP, volume 238)

Abstract

Architectural knowledge is an important artifact for many software development and quality control activities. Examples for quality control activities based on architectural information are architecture reviews, dependency analyses, and conformance analyses. Architecture is also an important artifact for understanding, reuse, evolution, and maintenance. Unfortunately, in many projects architectural knowledge often remains implicit and is not available for a particular system stakeholder or outdated when it is actually needed. To address this problem, we propose to manage semi-formal software architecture knowledge in a central repository, where it is accessible to all stakeholders and where it can be automatically and continuously updated and analyzed by different tools. In this paper we discuss important elements and use cases of such an approach, and present an example for an architecture knowledge and information repository in the context of an enterprise service-oriented architecture (SOA).

Keywords

Software architecture management Software architecture knowledge management Software architecture information repositories Software architecture as a service  Software architecture models Software architecture views Software architecture use cases 

Notes

Acknowledgements

The research reported in this paper has been partly supported by the Austrian Ministry for Transport, Innovation and Technology, the Federal Ministry of Science, Research and Economy, and the Province of Upper Austria in the frame of the COMET center SCCH.

The authors would like to thank Hermann Lischka from Racon Software GmbH for supporting the project, and Gernot Binder, and Heinz Huber (also Racon Software GmbH) for their cooperation.

References

  1. 1.
    van der Ven, J.S., Jansen, A., Avgeriou, P., Hammer, D.K.: Using architectural decisions. In: Hofmeister, C., Crnkovic, I., Reussner, R., Becker, S. (eds.) Perspectives in Software Architecture Quality, pp. 1–10. Universitaet Karlsruhe, Fakultaet fuer Informatik, Germany (2006)Google Scholar
  2. 2.
    ISO, IEC, IEEE: 42010:2011 systems and software engineering, architecture description. International Standard (2011)Google Scholar
  3. 3.
    Tang, A., Liang, P., van Vliet, H.: Software architecture documentation: the road ahead. In: Working IEEE/IFIP Conference on Software Architecture, pp. 252–255 (2011)Google Scholar
  4. 4.
    Maranzano, J.F., Rozsypal, S.A., Zimmerman, G.H., Warnken, G.W., Wirth, P.E., Weiss, D.M.: Architecture reviews: practice and experience. IEEE Softw. 22(2), 34–43 (2005)CrossRefGoogle Scholar
  5. 5.
    Glass, R.L.: Frequently forgotten fundamental facts about software engineering. IEEE Softw. 18(3), 111–112 (2001)CrossRefGoogle Scholar
  6. 6.
    Perry, D.E., Wolf, A.L.: Foundations for the study of software architecture. ACM SIGSOFT Softw. Eng. Notes 17(4), 40–52 (1992)CrossRefGoogle Scholar
  7. 7.
    Bosch, J.: Software architecture: the next step. In: Oquendo, F., Warboys, B.C., Morrison, R. (eds.) EWSA 2004. LNCS, vol. 3047, pp. 194–199. Springer, Heidelberg (2004) CrossRefGoogle Scholar
  8. 8.
    Farenhorst, R., de Boer, R.C.: Knowledge management in software architecture: state of the art. In: Ali Babar, M., Dingsøyr, T., Lago, P., van Vliet, H. (eds.) Software Architecture Knowledge Management, pp. 21–38. Springer, Heidelberg (2009) CrossRefGoogle Scholar
  9. 9.
    Weinreich, R., Buchgeher, G.: Towards supporting the software architecture life cycle. J. Syst. Softw. 85(3), 546–561 (2012)CrossRefGoogle Scholar
  10. 10.
    Merkle, B.: Stop the software architecture erosion. In: Proceedings of the ACM International Conference Companion on Object Oriented Programming Systems Languages and Applications Companion, SPLASH 2010, pp. 295–297. ACM, New York (2010)Google Scholar
  11. 11.
    Kriechbaum, T., Buchgeher, G., Weinreich, R.: Service development and architecture management for an enterprise SOA. In: Avgeriou, P., Zdun, U. (eds.) ECSA 2014. LNCS, vol. 8627, pp. 186–201. Springer, Heidelberg (2014) Google Scholar
  12. 12.
    Weinreich, R., Miesbauer, C., Buchgeher, G., Kriechbaum, T.: Extracting and facilitating architecture in service-oriented software systems. In: 2012 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture. IEEE (2012)Google Scholar
  13. 13.
    Weinreich, R., Buchgeher, G.: Automatic reference architecture conformance checking for SOA-based software systems. In: 11th Working IEEE/IFIP Conference on Software Architecture. IEEE Computer Society Press (2014)Google Scholar
  14. 14.
    Sangal, N., Jordan, E., Sinha, V., Jackson, D.: Using dependency models to manage complex software architecture. SIGPLAN Not. 40(10), 167–176 (2005)CrossRefGoogle Scholar
  15. 15.
    Sangwan, R.S., Vercellone-Smith, P., Laplante, P.A.: Structural epochs in the complexity of software over time. IEEE Softw. 25(4), 66–73 (2008)CrossRefGoogle Scholar
  16. 16.
    Weinreich, R., Buchgeher, G.: Integrating requirements and design decisions in architecture representation. In: Babar, M.A., Gorton, I. (eds.) ECSA 2010. LNCS, vol. 6285, pp. 86–101. Springer, Heidelberg (2010) CrossRefGoogle Scholar
  17. 17.
    Buchgeher, G., Weinreich, R.: Automatic tracing of decisions to architecture and implementation. In: 2011 9th Working IEEE/IFIP Conference on Software Architecture, pp. 46–55 (2011)Google Scholar
  18. 18.
    Groher, I., Weinreich, R.: Supporting variability management in architecture design and implementation. In: 2013 46th Hawaii International Conference on System Sciences (HICSS), pp. 4995–5004, January 2013Google Scholar
  19. 19.
    Clerc, V., de Vries, E., Lago, P.: Using wikis to support architectural knowledge management in global software development. In: Proceedings of the 2010 ICSE Workshop on Sharing and Reusing Architectural Knowledge, SHARK 2010, pp. 37–43. ACM, New York (2010)Google Scholar
  20. 20.
    de Boer, R.C., van Vliet, H.: Experiences with semantic wikis for architectural knowledge management. In: 2011 Ninth Working IEEE/IFIP Conference on Software Architecture, pp. 32–41. IEEE (2011)Google Scholar
  21. 21.
    de Graaf, K.A., Tang, A., Liang, P., van Vliet, H.: Ontology-based software architecture documentation. In: 2012 Joint Working IEEE/IFIP Conference on Software Architecture and European Conference on Software Architecture, WICSA-ECSA 2012, pp. 121–130. IEEE Computer Society, Washington, DC (2012)Google Scholar
  22. 22.
    Capilla, R., Nava, F., Prez, S., Dueas, J.C.: A web-based tool for managing architectural design decisions. ACM SIGSOFT Softw. Eng. Notes 31(5), 20–27 (2006)Google Scholar
  23. 23.
    Chen, L., Babar, M.A., Liang, H.: Model-centered customizable architectural design decisions management. In: Proceedings of the 2010 21st Australian Software Engineering Conference, ASWEC 2010, pp. 23–32. IEEE Computer Society, Washington, DC (2010)Google Scholar
  24. 24.
    Jansen, A., Avgeriou, P., van der Ven, J.S.: Enriching software architecture documentation. J. Syst. Softw. 82(8), 1232–1248 (2009)CrossRefGoogle Scholar
  25. 25.
    Babar, M.A., Wang, X., Gorton, I.: Pakme: a tool for capturing and using architecture design knowledge. In: IEEE INMIC 2005 9th International Multitopic Conference on Empirical Software Engineering. National ICT Australia Ltd., IEEE (2005)Google Scholar
  26. 26.
    Babar, M.A., Gorton, I.: A tool for managing software architecture knowledge. In: Proceedings of the Second Workshop on SHAring and Reusing architectural Knowledge Architecture, Rationale, and Design Intent, SHARK-ADI 2007, p. 11. IEEE Computer Society, Washington, DC (2007)Google Scholar
  27. 27.
    Eloranta, V.P.P., Hylli, O., Vepsalainen, T., Koskimies, K.: Topdocs: using software architecture knowledge base for generating topical documents. In: 2012 Joint Working IEEE/IFIP Conference on Software Architecture and European Conference on Software Architecture, pp. 191–195. IEEE (2012)Google Scholar
  28. 28.
    Eloranta, V.P., Koskimies, K.: Lightweight architecture knowledge management for agile software development. In: Babar, M.A.A., Brown, A.W., Mistrik, I. (eds.) Agile Software Architecture: Aligning Agile Processes and Software Architectures. Morgen Kaufmann (2013)Google Scholar
  29. 29.
    Ghezzi, G., Gall, H.C.: Sofas: a lightweight architecture for software analysis as a service. In: 9th Working IEEE/IFIP Conference on Software Architecture, pp. 93–102 (2011)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Georg Buchgeher
    • 1
  • Rainer Weinreich
    • 2
  • Thomas Kriechbaum
    • 3
  1. 1.Software Competence Center HagenbergHagenberg im MühlkreisAustria
  2. 2.Johannes Kepler UniversityLinzAustria
  3. 3.Racon Software GmbHLinzAustria

Personalised recommendations