Methodologies of the Validation of Software Architectures

Authors

DOI:

https://doi.org/10.33633/jcta.v1i2.9332

Keywords:

Software engineering, Software architecture, Software development process, Validation, Methodologies

Abstract

Software architecture validation is the process of assessing whether a software architecture meets its intended requirements and goals. It is an important step in the software development process, as it can help to identify and address potential problems early on before they become more costly and difficult to fix. There are a variety of different methodologies that can be used to validate software architecture. Some of the most common methodologies include Architectural evaluation methods, Architecture tests and reviews, and Model-based validation. This paper will provide an overview of the different methodologies that can be used to validate software architecture. Apart from that, it also analyzes and summarizes the strengths and weaknesses of each method so that it can guide determining the most appropriate methodology for a particular case.

References

R. F. Schmidt, “Software Architecture,” in Software Engineering, Elsevier, 2013, pp. 43–54. doi: 10.1016/B978-0-12-407768-3.00003-3.

T. Huckle and T. Neckel, Bits and Bugs. Philadelphia, PA: Society for Industrial and Applied Mathematics, 2019. doi: 10.1137/1.9781611975567.

C. anton Boiangiu, A. adrian Dinu, M. aura Duican, and R. catalin Raducu, “Comparative Analysis between Mainstream Software Development Methodologies,” Apr. 2021, pp. 20–28. doi: 10.12753/2066-026X-21-076.

P. Kruchten, The rational unified process, 3rd ed. Boston, MA: Addison-Wesley Educational, 2003.

P. Clements et al., Documenting software architectures, 2nd ed. Boston, MA: Addison-Wesley Educational, 2010.

N. Rozanski and E. Woods, Software systems architecture, 2nd ed. Boston, MA: Addison-Wesley Educational, 2011.

L. Bass, R. Kazman, and P. Clements, Software Architecture in Practice, 3rd ed. Boston, MA: Addison-Wesley Educational, 2012.

J. F. Maranzano, S. A. Rozsypal, G. H. Zimmerman, G. W. Warnken, P. E. Wirth, and D. M. Weiss, “Architecture Reviews: Practice and Experience,” IEEE Softw., vol. 22, no. 2, pp. 34–43, Mar. 2005, doi: 10.1109/MS.2005.28.

S. M. Ågren et al., “Architecture evaluation in continuous development,” J. Syst. Softw., vol. 184, p. 111111, Feb. 2022, doi: 10.1016/j.jss.2021.111111.

G. Booch, J. Rumbaugh, and I. Jacobson, The unified modeling language user guide, 2nd ed. Boston, MA: Addison-Wesley Educational, 2005.

L. Dobrica and E. Niemela, “A survey on software architecture analysis methods,” IEEE Trans. Softw. Eng., vol. 28, no. 7, pp. 638–653, Jul. 2002, doi: 10.1109/TSE.2002.1019479.

I. Atoum et al., “Challenges of Software Requirements Quality Assurance and Validation: A Systematic Literature Review,” IEEE Access, vol. 9, pp. 137613–137634, 2021, doi: 10.1109/ACCESS.2021.3117989.

N. Rajabli, F. Flammini, R. Nardone, and V. Vittorini, “Software Verification and Validation of Safe Autonomous Cars: A Systematic Literature Review,” IEEE Access, vol. 9, pp. 4797–4819, 2021, doi: 10.1109/ACCESS.2020.3048047.

O. Kopp, A. Armbruster, and O. Zimmermann, “Markdown architectural decision records: Format and tool support,” CEUR Workshop Proc., vol. 2072, pp. 55–62, 2018.

M. Goldstein and I. Segall, “Automatic and Continuous Software Architecture Validation,” in 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, May 2015, pp. 59–68. doi: 10.1109/ICSE.2015.135.

B. Kitchenham, O. Pearl Brereton, D. Budgen, M. Turner, J. Bailey, and S. Linkman, “Systematic literature reviews in software engineering – A systematic literature review,” Inf. Softw. Technol., vol. 51, no. 1, pp. 7–15, Jan. 2009, doi: 10.1016/j.infsof.2008.09.009.

S. Alsaqqa, S. Sawalha, and H. Abdel-Nabi, “Agile Software Development: Methodologies and Trends,” Int. J. Interact. Mob. Technol., vol. 14, no. 11, p. 246, Jul. 2020, doi: 10.3991/ijim.v14i11.13269.

B. Cole, V. Mittal, S. Gillespie, N. La, R. Wise, and A. MacCalman, “Model-based systems engineering: application and lessons from a technology maturation project,” Procedia Comput. Sci., vol. 153, pp. 202–209, 2019, doi: 10.1016/j.procs.2019.05.071.

Object Management Group, “OMG Systems Modeling Language (OMG SysMLTM),” 2018. [Online]. Available: http://www.omg.org/spec/SysML/20161101

A. Bertolino et al., “A Survey of Field-based Testing Techniques,” ACM Comput. Surv., vol. 54, no. 5, pp. 1–39, Jun. 2022, doi: 10.1145/3447240.

C. Trubiani, I. Meedeniya, V. Cortellessa, A. Aleti, and L. Grunske, “Model-based performance analysis of software architectures under uncertainty,” in Proceedings of the 9th international ACM Sigsoft conference on Quality of software architectures, Jun. 2013, pp. 69–78. doi: 10.1145/2465478.2465487.

J. Gonzalez-Huerta, E. Insfran, S. Abrahão, and G. Scanniello, “Validating a model-driven software architecture evaluation and improvement method: A family of experiments,” Inf. Softw. Technol., vol. 57, pp. 405–429, Jan. 2015, doi: 10.1016/j.infsof.2014.05.018.

G. Jacobs, C. Konrad, J. Berroth, T. Zerwas, G. Höpfner, and K. Spütz, “Function-Oriented Model-Based Product Development,” in Design Methodology for Future Products, Cham: Springer International Publishing, 2022, pp. 243–263. doi: 10.1007/978-3-030-78368-6_13.

E. M. Clarke Jr, O. Grumberg, D. Kroening, D. Peled, and H. Veith, Model Checking, 2nd ed. Carnegie Mellon University; Technion; Oxford University; Bar Ilan University; Technische Universitaet Darmstadt: MIT Press, 2018.

G. S. Fishman, Discrete-Event Simulation. New York, NY: Springer New York, 2001. doi: 10.1007/978-1-4757-3552-9.

A. Francalanza, J. A. Pérez, and C. Sánchez, “Runtime Verification for Decentralised and Distributed Systems,” 2018, pp. 176–210. doi: 10.1007/978-3-319-75632-5_6.

B. Uzun and B. Tekinerdogan, “Model-driven architecture based testing: A systematic literature review,” Inf. Softw. Technol., vol. 102, pp. 30–48, Oct. 2018, doi: 10.1016/j.infsof.2018.05.004.

Downloads

Published

2023-11-01

How to Cite

El Murabet, A., & Abtoy, A. (2023). Methodologies of the Validation of Software Architectures. Journal of Computing Theories and Applications, 1(2), 78–85. https://doi.org/10.33633/jcta.v1i2.9332