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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
Part of the tool suite can be downloaded from http://search.cs.rug.nl/griffin
- 2.
GRIFFIN: a GRId For inFormatIoN about architectural knowledge, http://griffin.cs.vu.nl/
- 3.
- 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.
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
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.
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.
Avgeriou P, Lago P, Kruchten P (2008) Third International Workshop on Sharing and Reusing Architectural Knowledge (SHARK 2008). ICSE Companion, pp. 1065–1066.
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.
Bass L, Clements P, Kazman R (2003) Software Architecture in Practice, 2nd edn. Boston, MA: Addison-Wesley Professional.
Bhat JM, Gupta M, Murthy SN (2006) Overcoming requirements engineering challenges: Lessons from offshore outsourcing. IEEE Software 23(5): 38–44.
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.
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.
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.
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.
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.
Farenhorst R (2006) Tailoring knowledge sharing to the architecting process. ACM SIGSOFT Software Engineering Notes 31(5): 15–19.
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.
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.
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.
Hansen MT, Nohria N, Tierney T (1999) What’s your strategy for managing knowledge? Havard Business Review 77(2): 106–116.
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.
Jansen A, Avgeriou P, van der Ven JS (2009) Enriching software architecture documentation. Journal of Systems and Software 82(8): 1232–1248.
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.
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.
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.
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.
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.
Lago P, Avgeriou P (2006) First workshop on sharing and reusing architectural knowledge. ACM SIGSOFT Software Engineering Notes 31(5): 32–36.
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.
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.
Liang P, Jansen A, Avgeriou P (2009) Sharing architecture knowledge through models: Quality and cost. The Knowledge Engineering Review 24(3): 225–244.
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.
Maheshwari P, Teoh A (2005) Supporting ATAM with a collaborative web-based software architecture evaluation tool. Science of Computer Programming 57(1): 109–128.
Nonaka I, Takeuchi H (1995) The Knowledge-Creating Company: How Japanese Companies Create the Dynamics of Innovation. New York: Oxford University Press.
Nuseibeh B (2001) Weaving together requirements and architectures. IEEE Computer 34(3): 115–117.
Rubart J, Dawabi P (2004) Shared data modeling with UML-G. International Journal of Computer Applications in Technology 19(3): 231–243.
Rus I, Lindvall M (2002) Knowledge management in software engineering. IEEE Software 19(3): 26–38.
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.
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.
Tyree J, Akerman A (2005) Architecture decisions: Demystifying architecture. IEEE Software 22(2): 19–27.
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.
Whitehead J (2007) Collaboration in software engineering: A roadmap. Proceedings of Future of Software Engineering (FOSE 2007), 20–22 March, pp. 214–225.
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
Corresponding author
Editor information
Editors and Affiliations
Rights 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)