PL EN


Preferencje help
Widoczny [Schowaj] Abstrakt
Liczba wyników
Tytuł artykułu

Traceability of Architectural Design Decisions and Software Artifacts: A Systematic Mapping Study

Identyfikatory
Warianty tytułu
Języki publikacji
EN
Abstrakty
EN
The definition of architecture is a crucial task in software development, where the architect is responsible for making the right decisions to meet specific functional and quality requirements. These architectural design decisions form the foundation that shapes the arrangement of elements within a system. Unfortunately, these decisions are often poorly documented, implicit in various artifacts, or inadequately updated, leading to negative consequences on the maintainability of a system and resulting in rework and cost overruns. The objective of this systematic mapping study is to comprehend the current state regarding approaches for traceability of architectural design decisions and how these decisions are linked with the different artifacts used in software development. To achieve this, an information extraction protocol is followed, utilizing databases with search strings, inclusion, and exclusion criteria. The findings demonstrate that this knowledge is highly relevant; however, it is rarely explicitly documented. As a result, most works propose diverse approaches to extract this knowledge from existing technical documentation, commonly used tools, and other sources of product and process information. In contrast, it is evident that there is no standard for documenting design decisions, leading each author to present a subjective version of what is important and where to trace these decisions. This suggests that there is still a significant amount of research to be conducted regarding the traceability of these architectural design decisions and their connection with software artifacts. Such research could lead to intriguing new proposals for investigation.
Rocznik
Strony
401--423
Opis fizyczny
Bibliogr. 58 poz., rys., tab.
Twórcy
  • Software Engineering Research and Development Group, Systems Engineering Department, Faculty of Electronic Engineering and Telecommunications, Universidad del Cauca, Popayán, 19001, Cauca, Colombia
  • Software Engineering Research and Development Group, Systems Engineering Department, Faculty of Electronic Engineering and Telecommunications, Universidad del Cauca, Popayán, 19001, Cauca, Colombia
Bibliografia
  • [1] Adesina A. O., Ocholla D. N., "The SECI Model in Knowledge Management Practices," Mousaion South African J. Inf. Stud., vol. 37, no. 3, 2019, doi: 10.25159/2663-659x/6557.
  • [2] Bass L., Clements P., Kazman R., Software Architecture in Practice, Second. Addison Wesley, 2003.
  • [3] Bhat M., Shumaiev K., Biesdorf A., Hohenstein U., Matthes F., "Automatic extraction of design decisions from issue management systems: A machine learning based approach," Lect. Notes Comput. Sci. (including Subser. Lect. Notes Artif. Intell. Lect. Notes Bioinformatics), vol. 10475 LNCS, pp. 138–154, 2017, doi: 10.1007/9783-319-65831-5_10.
  • [4] Borrego G., Morán A. L., Palacio R. R., Vizcaíno A., García F. O., "Towards a reduction in architectural knowledge vaporization during agile global software development," Inf. Softw. Technol., vol. 112, no. June 2018, pp. 68–82, 2019, doi: 10.1016/j.infsof.2019.04.008.
  • [5] Buchgeher G., Weinreich R., Kriechbaum T., "Making the case for centralized software architecture management," Lect. Notes Bus. Inf. Process., vol. 238, pp. 109-121, 2016, doi: 10.1007/978-3-319-27033-3_8.
  • [6] Capilla R., Jansen A., Tang A., Avgeriou P., Babar M. A., "10 years of software architecture knowledge management: Practice and future," J. Syst. Softw., vol. 116, pp. 191–205, 2016, doi: 10.1016/j.jss.2015.08.054.
  • [7] Ceyssens J., Coppers S., Vanacken D., "Towards traceable design rationale in augmented reality," Conf. Hum. Factors Comput. Syst. - Proc., pp. 1-8, 2020, doi: 10.1145/3334480.3382835.
  • [8] Chanda N., Liu X. F., "Intelligent analysis of software architecture rationale for collaborative software design," 2015 Int. Conf. Collab. Technol. Syst. CTS 2015, pp. 287-294, 2015, doi: 10.1109/CTS.2015.7210436.
  • [9] Dasanayake S., Markkula J., Aaramaa S., Oivo M., "Software architecture decision-making practices and challenges: An industrial case study," Proc. - 2015 24th Australas. Softw. Eng. Conf. ASWEC 2015, pp. 88-97, 2015, doi: 10.1109/ASWEC.2015.20.
  • [10] De Graaf K. A., Liang P., Tang A., Van Vliet H., "How organisation of architecture documentation affects architectural knowledge retrieval," Sci. Comput. Program., vol. 121, pp. 75-99, 2016, doi: 10.1016/j.scico.2015.10.014.
  • [11] Di Noia T., Mongiello M., Nocera F., Straccia U., "A fuzzy ontology-based approach for tool-supported decision making in architectural design, " Knowl. Inf. Syst., vol. 58, no. 1, pp. 83-112, 2019, doi: 10.1007/s10115-018-1182-1.
  • [12] Dingsoyr T., van Vliet H., “Introduction to Software Architecture and Knowledge Management,” in Software Architecture Knowledge Management: Theory and Practice, M. Ali Babar, T. Dingsøyr, P. Lago, and H. van Vliet, Eds. Berlin, Heidelberg: Springer Berlin Heidelberg, 2009, pp. 1-17.
  • [13] Durschmid T., Kang E., Garlan D., "Trade-off-oriented development: Making quality attribute trade-offs first-class," in Proceedings - 2019 IEEE/ACM 41st International Conference on Software Engineering: New Ideas and Emerging Traceability of Architectural Design Decisions and Software Artifacts 419 Results, ICSE-NIER 2019, May 2019, pp. 109-112, doi: 10.1109/ICSENIER.2019.00036.
  • [14] Dutoit A. H., McCall R., Mistrík I., Paech B., "Rationale Management in Software Engineering: Concepts and Techniques,” in Rationale Management in Software Engineering, SPI Publisher Services, Pondicherry, 2006.
  • [15] Eftekhari N., Rad M. P., Alinejad-Rokny H., "Evaluation and classifying software architecture styles due to quality attributes," Aust. J. Basic Appl. Sci., vol. 5, no. 11, pp. 1251–1256, 2011, doi: 10.1145/1978802.1978812.
  • [16] Gayer S., Herrmann A., Keuler T., Riebisch M., Antonino P. O., "Lightweight Traceability for the Agile Architect," Computer (Long. Beach. Calif)., vol. 49, no. 5, pp. 64-71, 2016, doi: 10.1109/MC.2016.150.
  • [17] Gilson F., Annand S., Steel J., "Recording software design decisions on the fly," CEUR Workshop Proc., vol. 2799, pp. 53–66, 2020.
  • [18] Guo J., Monaikul N., Cleland-Huang J., “Trace links explained: An automated approach for generating rationales," 2015 IEEE 23rd Int. Requir. Eng. Conf. RE 2015 - Proc., pp. 202-207, 2015, doi: 10.1109/RE.2015.7320423.
  • [19] Hadar I., Sherman S., Hadar E., Harrison J. J., “Less is more: Architecture documentation for agile development,” 2013 6th Int. Work. Coop. Hum. Asp. Softw. Eng. CHASE 2013 - Proc., pp. 121-124, 2013, doi: 10.1109/CHASE.2013.6614746.
  • [20] Harrison N. B., Avgeriou P., "How do architecture patterns and tactics interact? A model and annotation," J. Syst. Softw., vol. 83, no. 10, pp. 1735–1758, 2010, doi: 10.1016/j.jss.2010.04.067.
  • [21] Heisig P., Brink C., Steghöfer J. P., Sachweh S., "A generic traceability metamodel for enabling unified end-to-end traceability in software product lines," Proc. ACM Symp. Appl. Comput., vol. Part F1477, pp. 2344–2353, 2019, doi: 10.1145/3297280.3297510.
  • [22] Hesse T. M., Kuehlwein A., Roehm T., "DecDoc: A Tool for Documenting Design Decisions Collaboratively and Incrementally," Proc. - 2016 1st Int. Work. Decis. Mak. Softw. Archit. MARCH 2016, no. June, pp. 30-37, 2016, doi: 10.1109/MARCH.2016.9. Int. Work. Establ. a Community-Wide Infrastruct. Archit. Softw. Eng. ECASE 2019, pp. 6-12, 2019, doi: 10.1109/ECASE.2019.00010.
  • [23] Jansen A., Bosch J., "Software Architecture as a Set of Architectural Design Decisions," 5th Work. IEEE/IFIP Conf. Softw. Archit., pp. 109–120, 2005, doi: 10.1109/WICSA.2005.61.
  • [24] Javed M. A., Stevanetic S., Zdun U., "Towards a pattern language for construction and maintenance of software architecture traceability links,” ACM Int. Conf. Proceeding Ser., pp. 1-20, 2016, doi: 10.1145/3011784.3011810.
  • [25] Kamalabalan K. et al., "Tool Support for Traceability of Software Artefacts."
  • [26] Keim J., Kaplan A., Koziolek A., Mirakhorli M., “Does bert understand code? - an exploratory study on the detection of architectural tactics in code,” Lect. Notes Comput. Sci. (including Subser. Lect. Notes Artif. Intell. Lect. Notes Bioinformatics), vol. 12292 LNCS, no. November 2021, pp. 220–228, 2020, doi: 10.1007/978-3-03058923-3_15.
  • [27] Keim J., Koziolek A., "Towards Consistency Checking between Software Architecture and Informal Documentation," Proc. - 2019 IEEE Int. Conf. Softw. Archit. - Companion, ICSA-C 2019, pp. 250-253, 2019, doi: 10.1109/ICSAC.2019.00052.
  • [28] Keim J., Schneider Y., Koziolek A., "Towards consistency analysis between formal and informal software architecture artefacts,” Proc. - 2019 IEEE/ACM 2nd.
  • [29] Kitchenham B., Charters S., “Guidelines for performing Systematic Literature Reviews in Software Engineering,” Engineering, vol. 2, p. 1051, 2007, doi: 10.1145/1134285.1134500.
  • [30] Kleebaum A., Johanssen J. O., Paech B., Bruegge B., "Continuous management of requirement decisions using the ConDec tools,” CEUR Workshop Proc., vol. 2584, pp. 3-8, 2020.
  • [31] Kleebaum A., Johanssen J. O., Paech B., Bruegge B., "Tool support for decision and usage knowledge in continuous software engineering,” CEUR Workshop Proc., vol. 2066, pp. 74-77, 2018.
  • [32] Kruchten P., Obbink H., Stafford J., “The Past, Present, and Future for Software Architecture,” IEEE Softw., vol. 23, no. 2, pp. 22-30, 2006, doi: 10.1109/MS.2006.59.
  • [33] Lian X., Fakhry A., Zhang L., Cleland-Huang J., "Leveraging Traceability to Reveal the Tapestry of Quality Concerns in Source Code,” Proc. - 2015 IEEE/ACM 8th Int. Symp. Softw. Syst. Traceability, SST 2015, pp. 50-56, 2015, doi: 10.1109/SST.2015.15.
  • [34] Lytra I., Carrillo C., Capilla R., Zdun U., “Quality attributes use in architecture design decision methods: research and practice," Computing, vol. 102, no. 2, pp. 551-572, 2020, doi: 10.1007/s00607-019-00758-9.
  • [35] Mirakhorli M., Cleland-Huang J., "Detecting, Tracing, and Monitoring Architectural Tactics in Code," IEEE Trans. Softw. Eng., vol. 42, no. 3, 2016, doi: 10.1109/TSE.2015.2479217.
  • [36] Nam D., Lee Y. K., Medvidovic N., "EVA: A tool for visualizing software architectural evolution," Proc. - Int. Conf. Softw. Eng., pp. 53–56, 2018, doi: 10.1145/3183440.3183490.
  • [37] Namdar S., Mirakhorli M., "Toward Actionable Software Architecture Traceability," in Proceedings - 2015 IEEE/ACM 8th International Symposium on Software and Systems Traceability, SST 2015, Aug. 2015, pp. 36-42, doi: 10.1109/SST.2015.17.
  • [38] Papatheocharous E. et al., "The GRADE taxonomy for supporting decision-making of asset selection in software-intensive system development,” Inf. Softw. Technol., vol. 100, no. February, pp. 1-17, 2018, doi: 10.1016/j.infsof.2018.02.007.
  • [39] Pedraza-Garcia G., Astudillo H., Correal D., "An approach for software knowledge sharing based on architectural decisions," Proc. 2016 42nd Lat. Am. Comput. Conf. CLEI 2016, 2017, doi: 10.1109/CLEI.2016.7833409.
  • [40] Perry D. E., Wolf A. L., "Foundations for the study of software architecture,” ACM SIGSOFT Softw. Eng. Notes, vol. 17, no. 4, pp. 40-52, 1992, doi: 10.1145/141874.141884.
  • [41] Petersen K., Vakkalanka S., Kuzniarz L., "Guidelines for conducting systematic mapping studies in software engineering: An update," Inf. Softw. Technol., vol. 64, pp. 1-18, 2015, doi: 10.1016/j.infsof.2015.03.007.
  • [42] Plataniotis G., De Kinderen S., Ma Q., Proper E., "A Conceptual Model for Compliance Checking Support of Enterprise Architecture Decisions,” Proc. - 17th IEEE Conf. Bus. Informatics, CBI 2015, vol. 1, pp. 191-198, 2015, doi: 10.1109/CBI.2015.46.
  • [43] Portal ISO, "ISO/IEC 25010." http://iso25000.com/index.php/normas-iso25000/iso25010?limit=3&limitstart=0.
  • [44] Reese J. D., Leveson N. G., "Software deviation analysis, " Proc. 19th Int. Conf. Softw. Eng., pp. 250-260, 1997, doi: 10.1109/ICSE.1997.610264.
  • [45] Roldán M. L., Gonnet S., Leone H., "An Ontology-based Approach for Sharing, Integrating, and Retrieving Architectural Knowledge,” Electron. Notes Theor. Comput. Sci., vol. 339, pp. 43-62, 2018, doi: 10.1016/j.entcs.2018.06.004.
  • [46] Rozanski N., Woods E., Software Systems Architecture. 2005.
  • [47] Sabry A. E., "Decision Model for Software Architectural Tactics Selection Based on Quality Attributes Requirements," Procedia Comput. Sci., vol. 65, no. Icc, pp. 422-431, 2015, doi: 10.1016/j.procs.2015.09.111.
  • [48] Schubanz M., "Custom-MADE - Leveraging agile rationale management by employing domain-specific languages,” CEUR Workshop Proc., vol. 2839, no. February, pp. 34-41, 2021.
  • [49] Shahbazian A., Karthik S., Brun Y., Medvidovic N., "EQual: Informing early design decisions," ESEC/FSE 2020 - Proc. 28th ACM Jt. Meet. Eur. Softw. Eng. Conf. Symp. Found. Softw. Eng., pp. 1039–1051, 2020, doi: 10.1145/3368089.3409749.
  • [50] Shahbazian A., Kyu Lee Y., Le D., Brun Y., Medvidovic N., "Recovering Architectural Design Decisions,” Proc. - 2018 IEEE 15th Int. Conf. Softw. Archit. ICSA 2018, pp. 95-104, 2018, doi: 10.1109/ICSA.2018.00019.
  • [51] Silva I. C. L., Brito P. H. S., Neto B. F. D. S., Costa E., Silva A. A., "A decision-making tool to support architectural designs based on quality attributes," Proc. ACM Symp. Appl. Comput., vol. 13-17-Apri, pp. 1457-1463, 2015, doi: 10.1145/2695664.2695928.
  • [52] Soria A. M., "KNOCAP: Capturing and Delivering Important Design Bits in Whiteboard Design Meetings,” Proc. - 2020 ACM/IEEE 42nd Int. Conf. Softw. Eng. Companion, ICSE-Companion 2020, pp. 194-197, 2020, doi: 10.1145/3377812.3381397.
  • [53] Soria A. M., Van Der Hoek A., "Collecting design knowledge through voice notes," Proc. - 2019 IEEE/ACM 12th Int. Work. Coop. Hum. Asp. Softw. Eng. CHASE 2019, pp. 33-36, 2019, doi: 10.1109/CHASE.2019.00015.
  • [54] Souali K., Rahmaoui O., Ouzzif M., "An overview of traceability: Definitions and techniques," Colloq. Inf. Sci. Technol. Cist, vol. 0, pp. 789-793, 2016, doi: 10.1109/CIST.2016.7804995.
  • [55] Tsadimas A., "Model-based enterprise information system architectural design with SysML,” Proc. - Int. Conf. Res. Challenges Inf. Sci., vol. 2015-June, no. June, pp. 492-497, 2015, doi: 10.1109/RCIS.2015.7128911.
  • [56] Tyree J., Akerman A., "Architecture decisions: Demystifying architecture," IEEE Softw., vol. 22, no. 2, pp. 19-27, 2005, doi: 10.1109/MS.2005.27.
  • [57] Van Heesch U., Avgeriou P., Hilliard R., "A documentation framework for architecture decisions,” J. Syst. Softw., vol. 85, no. 4, pp. 795-820, 2012, doi: 10.1016/j.jss.2011.10.017.
  • [58] Whiting E., Andrews S., "Drift and Erosion in Software Architecture," pp. 132-138, 2020, doi: 10.1145/3404663.3404665.
Uwagi
Opracowanie rekordu ze środków MNiSW, umowa nr SONP/SP/546092/2022 w ramach programu "Społeczna odpowiedzialność nauki" - moduł: Popularyzacja nauki i promocja sportu (2024).
Typ dokumentu
Bibliografia
Identyfikator YADDA
bwmeta1.element.baztech-3a4490d9-e733-483d-8553-56e7f327c710
JavaScript jest wyłączony w Twojej przeglądarce internetowej. Włącz go, a następnie odśwież stronę, aby móc w pełni z niej korzystać.