Skip to main content

Collaborative Software Architecting Through Knowledge Sharing

  • Chapter
  • First Online:

Abstract

In the field of software architecture, there has been a paradigm shift from describing the outcome of the architecting process to documenting architectural knowledge, such as design decisions and rationale. Moreover, in a global, distributed setting, software architecting is essentially a collaborative process in which sharing and reusing architectural knowledge is a crucial and indispensible part. Although the importance of architectural knowledge has been recognized for a considerable period of time, there is still no systematic process emphasizing the use of architectural knowledge in a collaborative context. In this chapter, we present a two-part solution to this problem: a collaborative architecting process based on architectural knowledge and an accompanying tool suite that demonstrates one way to support the process.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD   109.99
Price excludes VAT (USA)
  • Durable hardcover 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

Learn about institutional subscriptions

Notes

  1. 1.

    Part of the tool suite can be downloaded from http://search.cs.rug.nl/griffin

  2. 2.

    GRIFFIN: a GRId For inFormatIoN about architectural knowledge, http://griffin.cs.vu.nl/

  3. 3.

    http://www.openrdf.org/

  4. 4.

    If there is no explicit specification, we assume that the AK domain model employed in various requirements engineering and architecting activities for producing and consuming AK is the same one, so that all stakeholders can communicate the AK in a common language.

  5. 5.

    The collaboration between other stakeholders is also critical, e.g., between the telescope user and requirements engineer, but we focus on the requirements engineer and architect in the scope of this chapter.

References

  1. Ali-Babar M, Gorton I (2007) A tool for managing software architecture knowledge. Proceedings of the 2nd Workshop on Sharing and Reusing architectural Knowledge – Architecture, rationale, and Design Intent (SHARK/ADI 2007), 20–26 May, pp. 11–17.

    Google Scholar 

  2. Ali-Babar M, Gorton I, Kitchenham B (2006) A framework for supporting architecture knowledge and rationale management. In: Dutoit AH et al. (Eds.) Rationale Management in Software Engineering. Berlin: Springer-Verlag, pp. 237–254.

    Chapter  Google Scholar 

  3. Avgeriou P, Lago P, Kruchten P (2008) Third International Workshop on Sharing and Reusing Architectural Knowledge (SHARK 2008). ICSE Companion, pp. 1065–1066.

    Google Scholar 

  4. Avgeriou P, Kruchten P, Lago P, Grisham P, Perry D (2007) Architectural knowledge and rationale: Issues, trends, challenges. ACM SIGSOFT Software Engineering Notes 32(4): 41–46.

    Article  Google Scholar 

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

    Google Scholar 

  6. Bhat JM, Gupta M, Murthy SN (2006) Overcoming requirements engineering challenges: Lessons from offshore outsourcing. IEEE Software 23(5): 38–44.

    Article  Google Scholar 

  7. Bischofberger WR, Kofler T, Mätzel KU, Schäffer B (2002) Computer supported cooperative software engineering with beyond-sniff. Proceedings of the 7th Conference on Software Engineering Environments (SEE 1995), 5–7 April, pp. 135–143.

    Google Scholar 

  8. Capilla R, Nava F, Carrillo C (2008) Effort estimation in capturing architectural knowledge. Proceedings of the 23rd IEEE/ACM International Conference on Automated Software Engineering (ASE 2008), 15–19 September, pp. 208–217.

    Google Scholar 

  9. Capilla R, Nava F, Pérez S, Dueñas J (2006) A web-based tool for managing architectural design decisions. ACM SIGSOFT Software Engineering Notes 31(5): 20–27.

    Google Scholar 

  10. de Boer RC, Farenhorst R, Lago P, van Vliet H, Clerc V, Jansen A (2007) Architectural knowledge: Getting to the core. Proceedings of the 3rd International Conference on the Quality of Software Architectures (QoSA 2007), 12–13 July, pp. 197–214.

    Google Scholar 

  11. Dingsøyr T, Conradi R (2002) A survey of case studies of the use of knowledge management in software engineering. International Journal of Software Engineering and Knowledge Engineering 12(4): 391–414.

    Article  Google Scholar 

  12. Farenhorst R (2006) Tailoring knowledge sharing to the architecting process. ACM SIGSOFT Software Engineering Notes 31(5): 15–19.

    Google Scholar 

  13. Farenhorst R, van Vliet H (2008) Experiences with a wiki to support architectural knowledge sharing. Proceedings of the 3rd Workshop on Wikis for Software Engineering (Wikis4SE 2008), 8–10 September.

    Google Scholar 

  14. Ferreira D, da Silva AR (2008) Wiki supported collaborative requirements engineering. Proceedings of the 3rd Workshop on Wikis for Software Engineering (Wikis4SE 2008), 8–10 September.

    Google Scholar 

  15. Guo J, Liao Y, Parviz B (2006) A collaboration-oriented software architecture modeling system – JarchiDesigner. Proceedings of the 13th Annual IEEE International Symposium and Workshop on Engineering of Computer Based Systems (ECBS 2006), 27–30 March, pp. 481–482.

    Google Scholar 

  16. Hansen MT, Nohria N, Tierney T (1999) What’s your strategy for managing knowledge? Havard Business Review 77(2): 106–116.

    Google Scholar 

  17. Hofmeister C, Kruchten P, Nord RL, Obbink H, Ran A, America P (2005) A general model of software architecture design derived from five industrial approaches. Journal of Systems and Software 80(1): 106–126.

    Article  Google Scholar 

  18. Jansen A, Avgeriou P, van der Ven JS (2009) Enriching software architecture documentation. Journal of Systems and Software 82(8): 1232–1248.

    Google Scholar 

  19. Jansen A, Bosch J (2005) Software architecture as a set of architectural design decisions. Proceedings of the 5th Working IEEE/IFIP Conference on Software Architecture (WICSA 2005), 6–10 November, pp. 109–120.

    Google Scholar 

  20. Jansen A, de Vries T, Avgeriou P, van Veelen M (2008) Sharing the architectural knowledge of quantitative analysis. Proceedings of the 4th International Conference on the Quality of Software Architectures (QoSA 2008), 14–17 October, pp. 220–234.

    Google Scholar 

  21. Jansen A, van der Ven J, Avgeriou P (2007) Tool support for architectural decisions. Proceedings of the 6th Working IEEE/IFIP Conference on Software Architecture (WICSA 2007), 6–9 January, pp. 44–53.

    Google Scholar 

  22. Kruchten P (2004) An ontology of architectural design decisions in software intensive systems. Proceedings of the 2nd Groningen Workshop on Software Variability Management (SVM 2004), 2–3 December, pp. 54–61.

    Google Scholar 

  23. Kruchten P, Lago P, van Vliet H (2006) Building up and reasoning about architectural knowledge. Proceedings of the 2nd International Conference on the Quality of Software Architectures (QoSA 2006), 27–29 June, pp. 43–58.

    Google Scholar 

  24. Lago P, Avgeriou P (2006) First workshop on sharing and reusing architectural knowledge. ACM SIGSOFT Software Engineering Notes 31(5): 32–36.

    Article  Google Scholar 

  25. Li J, Li T, Lin Z, Mathur AP, Kanoun K (2004) Computer supported co-operative work in software engineering. Proceedings of the 28th International Computer Software and Applications Conference (COMPSAC 2004), 27–30 September, pp. 328–328.

    Google Scholar 

  26. Liang P, Jansen A, Avgeriou P (2008) Selecting a high-quality central model for sharing architectural knowledge. Proceedings of the 8th International Conference on Quality Software (QSIC 2008), 12–13 August, pp. 357–365.

    Google Scholar 

  27. Liang P, Jansen A, Avgeriou P (2009) Sharing architecture knowledge through models: Quality and cost. The Knowledge Engineering Review 24(3): 225–244.

    Google Scholar 

  28. Liang P, Jansen A, Avgeriou P (2009) Knowledge architect: A tool suite for managing software architecture knowledge. Technical Report RUG-SEARCH-09-L01, University of Groningen, http://www.cs.rug.nl/∼liangp/download/liang2009kat.pdf.

  29. Maheshwari P, Teoh A (2005) Supporting ATAM with a collaborative web-based software architecture evaluation tool. Science of Computer Programming 57(1): 109–128.

    Article  MathSciNet  Google Scholar 

  30. Nonaka I, Takeuchi H (1995) The Knowledge-Creating Company: How Japanese Companies Create the Dynamics of Innovation. New York: Oxford University Press.

    Google Scholar 

  31. Nuseibeh B (2001) Weaving together requirements and architectures. IEEE Computer 34(3): 115–117.

    Google Scholar 

  32. Rubart J, Dawabi P (2004) Shared data modeling with UML-G. International Journal of Computer Applications in Technology 19(3): 231–243.

    Article  Google Scholar 

  33. Rus I, Lindvall M (2002) Knowledge management in software engineering. IEEE Software 19(3): 26–38.

    Article  Google Scholar 

  34. Tang A, Ali-Babar M, Gorton I, Han J (2006) A survey of architecture design rationale. Journal of Systems and Software 79(12): 1792–1804.

    Article  Google Scholar 

  35. Tang A, Jin Y, Han J (2007) A rationale-based architecture model for design traceability and reasoning. Journal of Systems and Software 80(6): 918–934.

    Article  Google Scholar 

  36. Tyree J, Akerman A (2005) Architecture decisions: Demystifying architecture. IEEE Software 22(2): 19–27.

    Article  Google Scholar 

  37. van der Ven J, Jansen A, Avgeriou P, Hammer D (2006) Using architectural decisions. Short Papers of the 2nd International Conference on the Quality of Software Architectures (QoSA 2006), 27–29 July.

    Google Scholar 

  38. Whitehead J (2007) Collaboration in software engineering: A roadmap. Proceedings of Future of Software Engineering (FOSE 2007), 20–22 March, pp. 214–225.

    Google Scholar 

Download references

Acknowledgments

This research has been partially sponsored by the Dutch Joint Academic and Commercial Quality Research & Development (Jacquard) program on Software Engineering Research via contract 638.001.406 GRIFFIN: a GRId For inFormatIoN about architectural knowledge. The authors would like to thank Astron for their support and access to the LOFAR software architecture documents.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Peng Liang .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Liang, P., Jansen, A., Avgeriou, P. (2010). Collaborative Software Architecting Through Knowledge Sharing. In: Mistrík, I., Grundy, J., Hoek, A., Whitehead, J. (eds) Collaborative Software Engineering. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-10294-3_17

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-10294-3_17

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

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

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

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics