Abstract
A common situation is that an initial architecture has been sufficient in the initial phases of a project, but when the size and complexity of the product increases the architecture must be changed. In this paper experiences are presented from changing an architecture into independent units, providing basic reuse of main functionality although giving higher priority to independence than reuse. An objective was also to introduce metrics in order to monitor the architectural changes. The change was studied in a case-study through weekly meetings with the team, collected metrics, and questionnaires. The new architecture was well received by the development team, who found it to be less fragile. Concerning the metrics for monitoring it was concluded that a high abstraction level was useful for the purpose.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Bergman, B., Klevsjö, B.: Quality, from Customer Needs to Customer Satisfaction, 3rd edn. Studentlitteratur, Lund (2010)
Fenton, N., Pfleeger, S.L.: Software Metrics, a Rigorous and Practical Approach, 2nd edn. PWS Publishing Company, Boston (1997)
Betz, S., Wohlin, C.: Alignment of business, architecture, process, and organisation in a software development context. In: Proceedings of the International Symposium on Empirical Software Engineering and Measurement (ESEM), pp. 239–242 (2012)
Martin, R.C.: Agile Software Development Principles, Patterns, and Practices, 2nd edn. Prentice-Hall, Upper Saddle River (2003)
Chikofsky, E., Cross II, J.H.: Reverse engineering and design recovery: a taxonomy. IEEE Softw. 7(1), 13–17 (1990)
Mens, T., Tourwé, T.: A survey of software refactoring. IEEE Trans. Softw. Eng. 30(2), 126–139 (2004)
Seriai, A., Bastide, G., Oussalah, M.: Transformation of centralized software components into distributed ones by code refactoring. In: Eliassen, F., Montresor, A. (eds.) DAIS 2006. LNCS, vol. 4025, pp. 332–346. Springer, Heidelberg (2006)
Eloff, J.: Software restructuring: implementing a code abstraction transformation. In: Proceedings of the 2002 Annual Research Conference of the South African Institute of Computer Scientists and Information Technologists on Enablement Through Technology, SAICSIT 2002, Republic of South Africa, pp. 83–92 (2002)
Arnold, R.: Software restructuring. IEEE Softw. 77(4), 607–617 (1989)
Ivkovic, I., Kontogiannis, K.: A framework for software architecture refactoring using model transformations and semantic annotations. In: 10th European Conference on Software Maintenance and Reengineering (CSMR), March 2006
Rizvi, S., Khanam, Z.: A methodology for refactoring legacy code. In: International Conference on Electronics Computer Technology (ICECT 2011), pp. 198–200 (2011)
Aversano, L., Molfetta, M., Tortorella, M.: Evaluating architecture stability of software projects. In: Working Conference on Reverse Engineering, pp. 417–424 (2013)
Tonu, S.A., Ashkan, A., Tahvildari, L.: Evaluating architectural stability using a metric-based approach. In: Proceedings of the European Conference on Software Maintenance and Reengineering, (CSMR), Bari, Italy, pp. 261–270 (2006)
Bahsoon, R., Emmerich, W.: Evaluating architectural stability with real options theory. In: IEEE International Conference on Software Maintenance, ICSM, Chicago, IL, United States, pp. 443–447 (2004)
Figueiredo, E., Cacho, N., Garcia, A., Ferrari, F., Khan, S., Sant’Anna, C., Monteiro, M., Soares, S., Filho, F.C., Kulesza, U., Dantas, F.: Evolving software product lines with aspects: an empirical study on design stability. In: International Conference on Software Engineering, Leipzig, Germany, pp. 261–270 (2008)
Martin, R.C.: OO design quality metrics. Technical report, Object Mentor (1994)
Runeson, P., Höst, M., Rainer, A., Regnell, B.: Case Study Research in Software Engineering - Guidelines and Examples. Wiley, Hoboken (2012)
Robson, C.: Real World Research, 2nd edn. Blackwell, Oxford (2002)
Acknowledgement
This work was funded by Vinnova in the ITEA2 project 12018 SCALARE.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this paper
Cite this paper
Asklund, U., Höst, M., Wnuk, K. (2016). Experiences from Monitoring Effects of Architectural Changes. In: Winkler, D., Biffl, S., Bergsmann, J. (eds) Software Quality. The Future of Systems- and Software Development. SWQD 2016. Lecture Notes in Business Information Processing, vol 238. Springer, Cham. https://doi.org/10.1007/978-3-319-27033-3_7
Download citation
DOI: https://doi.org/10.1007/978-3-319-27033-3_7
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-27032-6
Online ISBN: 978-3-319-27033-3
eBook Packages: Computer ScienceComputer Science (R0)