Non-functional requirements in model-driven development of service-oriented architectures

David Ameller, Xavier Burgués, Dolors Costal, Carles Farré, Xavier Franch
2018 Science of Computer Programming  
Any software development process needs to consider non-functional requirements (NFR) in order to deliver a system that complies with its stakeholders' expectations. In a previous mapping study about model-driven development (MDD) for service-oriented architectures (SOA) we found a limited number of approaches managing NFR. The present work aims at analysing in detail the state of the art in the management of NFR in MDD processes which produce SOA. We have conducted a systematic literature
more » ... following a rigorous protocol. We have taken as initial point the mapping study mentioned above and have used the subset of the 31 papers from this study (clustered into 15 approaches) that referred to NFR. We have analysed them qualitatively in order to answer six research questions. We have built a Software Engineering theory to formalize this analysis. As result we highlight that most of approaches focus exclusively on security and reliability and we observe that NFR are expressed mainly as annotations of functional models represented in UML. From our perspective, existing research on the topic of this study is still scarce and without any evidence of transferability to industry. This situation suggests the need for further investigation efforts in order to produce validated MDD methods capable of generating SOA satisfying NFR stated by stakeholders. According to Mellor et al., MDD pushes the vision that we can construct a model of a system and then transform it into the real thing [2]. If we apply this description in the context of SOC, the "model of a system" is actually a Service-Oriented Architecture (SOA) model, a model that reflects the structure of the SOC application [1]. In fact, OMG released in 2012 a standard named SOA Modeling Language (SoaML [3]) which links SOA and MDD. Some of the authors of this paper participated in a mapping study that described the state of the art of MDD approaches that produce SOAs [4] . One of the objectives of this mapping study was to identify which of these approaches were able to handle Non-Functional Requirements (NFR). From the 129 papers selected in the mapping study, only 31 mentioned some kind of support of NFR management in their MDD approach. The mapping study, however, pointed out the significant influence of NFR in software systems. It also hinted that the approaches were providing in general very limited support to NFR. However, given the descriptive nature of mapping studies, the evidence was rather sketchy and required further investigation in order to be more conclusive. Petersen et al. recommend systematic literature reviews as the natural research instrument for conducting such subsequent research [5] .
doi:10.1016/j.scico.2018.08.001 fatcat:25ydxbapkvhczb4imdzbqa6geq