Deriving architectural models from requirements specifications: A systematic mapping study

Research output: Contribution to journalArticle

1 Citation (Scopus)

Abstract

Context: Software architecture design creates and documents the high-level structure of a software system. Such structure, expressed in architectural models, comprises software elements, relations among them, and properties of these elements and relations. Existing software architecture methods offer ways to derive architectural models from requirements specifications. These models must balance different forces that should be analyzed during this derivation process, such as those imposed by different application domains and quality attributes. Such balance is difficult to achieve, requiring skilled and experienced architects. Object: The purpose of this paper is to provide a comprehensive overview of the existing methods to derive architectural models from requirements specifications and offer a research roadmap to challenge the community to address the identified limitations and open issues that require further investigation. Method: To achieve this goal, we performed a systematic mapping study following the good practices from the Evidence-Based Software Engineering field. Results: This study resulted in 39 primary studies selected for analysis and data extraction, from the 2575 initially retrieved. Conclusion: The major findings indicate that current architectural derivation methods rely heavily on the architects’ tacit knowledge (experience and intuition), do not offer sufficient support for inexperienced architects, and lack explicit evaluation mechanisms. These and other findings are synthesized in a research roadmap which results would benefit researchers and practitioners.

Original languageEnglish
Pages (from-to)26-39
JournalInformation and Software Technology
Volume109
DOIs
Publication statusPublished - 1 May 2019

Fingerprint

Specifications
Software architecture
Software engineering

Keywords

  • Literature review
  • Mapping study
  • Software architecture

Cite this

@article{4ca2223d9ba44a82aea505d37ef88f76,
title = "Deriving architectural models from requirements specifications: A systematic mapping study",
abstract = "Context: Software architecture design creates and documents the high-level structure of a software system. Such structure, expressed in architectural models, comprises software elements, relations among them, and properties of these elements and relations. Existing software architecture methods offer ways to derive architectural models from requirements specifications. These models must balance different forces that should be analyzed during this derivation process, such as those imposed by different application domains and quality attributes. Such balance is difficult to achieve, requiring skilled and experienced architects. Object: The purpose of this paper is to provide a comprehensive overview of the existing methods to derive architectural models from requirements specifications and offer a research roadmap to challenge the community to address the identified limitations and open issues that require further investigation. Method: To achieve this goal, we performed a systematic mapping study following the good practices from the Evidence-Based Software Engineering field. Results: This study resulted in 39 primary studies selected for analysis and data extraction, from the 2575 initially retrieved. Conclusion: The major findings indicate that current architectural derivation methods rely heavily on the architects’ tacit knowledge (experience and intuition), do not offer sufficient support for inexperienced architects, and lack explicit evaluation mechanisms. These and other findings are synthesized in a research roadmap which results would benefit researchers and practitioners.",
keywords = "Literature review, Mapping study, Software architecture",
author = "Eric Souza and Ana Moreira and Miguel Goul{\~a}o",
note = "info:eu-repo/grantAgreement/FCT/5876/147279/PT# Programa Cada sem Fronteiras (Ref. 99999.009047/2013-01)",
year = "2019",
month = "5",
day = "1",
doi = "10.1016/j.infsof.2019.01.004",
language = "English",
volume = "109",
pages = "26--39",
journal = "Information and Software Technology",
issn = "0950-5849",
publisher = "Elsevier",

}

TY - JOUR

T1 - Deriving architectural models from requirements specifications: A systematic mapping study

AU - Souza, Eric

AU - Moreira, Ana

AU - Goulão, Miguel

N1 - info:eu-repo/grantAgreement/FCT/5876/147279/PT# Programa Cada sem Fronteiras (Ref. 99999.009047/2013-01)

PY - 2019/5/1

Y1 - 2019/5/1

N2 - Context: Software architecture design creates and documents the high-level structure of a software system. Such structure, expressed in architectural models, comprises software elements, relations among them, and properties of these elements and relations. Existing software architecture methods offer ways to derive architectural models from requirements specifications. These models must balance different forces that should be analyzed during this derivation process, such as those imposed by different application domains and quality attributes. Such balance is difficult to achieve, requiring skilled and experienced architects. Object: The purpose of this paper is to provide a comprehensive overview of the existing methods to derive architectural models from requirements specifications and offer a research roadmap to challenge the community to address the identified limitations and open issues that require further investigation. Method: To achieve this goal, we performed a systematic mapping study following the good practices from the Evidence-Based Software Engineering field. Results: This study resulted in 39 primary studies selected for analysis and data extraction, from the 2575 initially retrieved. Conclusion: The major findings indicate that current architectural derivation methods rely heavily on the architects’ tacit knowledge (experience and intuition), do not offer sufficient support for inexperienced architects, and lack explicit evaluation mechanisms. These and other findings are synthesized in a research roadmap which results would benefit researchers and practitioners.

AB - Context: Software architecture design creates and documents the high-level structure of a software system. Such structure, expressed in architectural models, comprises software elements, relations among them, and properties of these elements and relations. Existing software architecture methods offer ways to derive architectural models from requirements specifications. These models must balance different forces that should be analyzed during this derivation process, such as those imposed by different application domains and quality attributes. Such balance is difficult to achieve, requiring skilled and experienced architects. Object: The purpose of this paper is to provide a comprehensive overview of the existing methods to derive architectural models from requirements specifications and offer a research roadmap to challenge the community to address the identified limitations and open issues that require further investigation. Method: To achieve this goal, we performed a systematic mapping study following the good practices from the Evidence-Based Software Engineering field. Results: This study resulted in 39 primary studies selected for analysis and data extraction, from the 2575 initially retrieved. Conclusion: The major findings indicate that current architectural derivation methods rely heavily on the architects’ tacit knowledge (experience and intuition), do not offer sufficient support for inexperienced architects, and lack explicit evaluation mechanisms. These and other findings are synthesized in a research roadmap which results would benefit researchers and practitioners.

KW - Literature review

KW - Mapping study

KW - Software architecture

UR - http://www.scopus.com/inward/record.url?scp=85060004787&partnerID=8YFLogxK

U2 - 10.1016/j.infsof.2019.01.004

DO - 10.1016/j.infsof.2019.01.004

M3 - Article

VL - 109

SP - 26

EP - 39

JO - Information and Software Technology

JF - Information and Software Technology

SN - 0950-5849

ER -