Abstract
The benefits of requirements traceability to understand architectural representations are still hard to achieve. This is because architectural knowledge usually remains implicit in the heads of the architects, except the architecture design itself. The aim of this research is to make architectural knowledge more explicit by mining homogenous and heterogeneous requirements traceability networks. This chapter investigates such networks achieved by event-based traceability and call graphs. Both traces are harvested during a software project. An evaluation study suggests the potential of this approach. Traceability networks can be used in understanding some of the resulting architectural styles based on the real time state of a software project. We also demonstrate the use of traceability networks to monitor initial system decisions and identify bottlenecks in a software project.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Galster M, Eberlein A, Moussavi M (2006) Transition from requirements to architecture: a review and future perspective
Omoronyia I et al (2009) Use case to source code traceability: the developer navigation view point
Turner CR, Fuggetta A, Lavazza L, Wolf AL (1999) A conceptual basis for feature engineering. J Syst Softw 49(1):3–15
Eden AH, Kazman R (2003) Architecture, design, implementation. ICSE, Portland
Bass L, Clements P, Kazman R (2003) Software architecture in practice, 2nd edn. Addison Wesley, Reading
Palmer JD (1997) Traceability. In: Thayer RH, Dorfman M (eds) Software requirements engineering. IEEE Computer Society Press, Los Alamitos, pp 364–374
Ramesh B, Jarke M (2001) Toward reference models for requirements traceability. IEEE Trans Software Eng 27(1):58–93
Egyed A (2003) A scenario-driven approach to trace dependency analysis. IEEE Trans Software Eng 29(2):116–132
Kruchten P, Lago P, van Vliet H (2006) Building up and reasoning about architectural knowledge. In: Hofmeister C (ed) QoSA-Quality of software architecture. Springer, Vasteras, pp 43–58
Omoronyia I, Ferguson J, Roper M, Wood M (2009) Using developer activity data to enhance awareness during collaborative software development. Comput Supported Coop Work 18(5–6 December 2009):509–558
Omoronyia I (2008) Enhancing awareness during distributed software development. Ph.D. Dissertation, University of Strathclyde, Glasgow, Scotland
Fritz T, Murphy GC, Hill E (2007) “Does a programmer’s activity indicate knowledge of code?” in ESEC/SIGSOFT FSE 341–350
Gutwin C, Greenberg S, Roseman M (1996) Workspace awareness in real-time distributed groupware: framework, widgets, and evaluation. In: BCS HCI, London, UK, pp 281–298
Brandes U, Erlebach T (2007) Network analysis -methodological foundations – introduction, ser. Lecture notes in computer science. vol 3418. Springer-Verlag, Berlin (2005)
Latora V, Marchiori M (2007) A measure of centrality based on network efficiency. New J Phys 9:188
White S, Smyth P (2003) Algorithms for estimating relative importance in networks. In: Getoor L, Senator TE, Domingos P, Faloutsos C (eds) KDD. ACM, Washington, pp 266–275
Java universal network/graph framework. [Online] Available: http://jung.sourceforge.net
Hornbaek K, Hertzum M (2007) Untangling the usability of fisheye menus. Acm Transactions On Computer-Human Interaction 14: 2
Grünbacher P, Egyed A, Medvidovic N (2001) Reconciling software requirements and architectures: the CBSP approach. Fifth IEEE international symposium on requirements engineering (RE’01)
Grünbacher P, Egyed A, Medvidovic N (2000) Dimensions of concerns in requirements negotiation and architecture modelling
Jakobac V, Medvidovic N, Egyed A (2005) Separating architectural concerns to ease program understanding. SIGSOFT Softw Eng Notes 30(4):1
Jakobac V, Egyed A, Medvidovic N (2004) ARTISAn: an approach and tool for improving software system understanding via interactive, tailorable source code analysis, TR USC-CSE-2004-513. USC, USA
Medvidovic N, Egyed A, Gruenbacher P (2003) Stemming architectural erosion by coupling architectural discovery and recovery
Mader P, Gotel O, Philippow I (2008) Enabling automated traceability maintenance by recognizing development activities applied to models., pp 49–58
Mendonça N, Kramer J (2001) An approach for recovering distributed system architectures. Automated Softw Eng 8(3–4):311–354
Guo J, Liao Y, Pamula R (2006) Static analysis based software architecture recovery, computational science and its applications – ICCSA 2006
Antoniol G et al (2002) Recovering traceability links between code and documentation. Softw Eng IEEE Trans 28(10):970–983
Oliveto R (2008) Traceability management meets information retrieval methods: strengths and limitations. In: Proceedings of the 2008 12th European conference on software maintenance and reengineering. IEEE Computer Society, Athens, Greece
Lormans M, van Deursen A (2005) Reconstructing requirements coverage views from design and test using traceability recovery via LSI. In: Proceedings of the 3rd international workshop on traceability in emerging forms of software engineering, ACM, Long Beach
Egyed A (2006) Tailoring software traceability to value-based needs. In: Stefan Biffl AA, Boehm B, Erdogmus H, Grünbacher P (eds) Value-based software engineering, Egyed A., Springer-Verlag, pp 287–308
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Omoronyia, I., Sindre, G., Biffl, S., Stålhane, T. (2011). Understanding Architectural Elements from Requirements Traceability Networks. In: Avgeriou, P., Grundy, J., Hall, J.G., Lago, P., Mistrík, I. (eds) Relating Software Requirements and Architectures. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21001-3_5
Download citation
DOI: https://doi.org/10.1007/978-3-642-21001-3_5
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-21000-6
Online ISBN: 978-3-642-21001-3
eBook Packages: Computer ScienceComputer Science (R0)