Abstract

Context: Managing Non-Functional Requirements (NFRs) in software projects is challenging, and projects that adopt Model-Driven Development (MDD) are no exception. Although several methods and techniques have been proposed to face this challenge, there is still little evidence on how NFRs are handled in MDD by practitioners. Knowing more about the state of the practice may help researchers to steer their research and practitioners to improve their daily work. Objective: In this paper, we present our findings from an interview-based survey conducted with practitioners working in 18 different companies from 6 European countries. From a practitioner's point of view, the paper shows what barriers and benefits the management of NFRs as part of the MDD process can bring to companies, how NFRs are supported by MDD approaches, and which strategies are followed when (some) types of NFRs are not supported by MDD approaches. Results: Our study shows that practitioners perceive MDD adoption as a complex process with little to no tool support for NFRs, reporting productivity and maintainability as the types of NFRs expected to be supported when MDD is adopted. But in general, companies adapt MDD to deal with NFRs. When NFRs are not supported, the generated code is sometimes changed manually, thus compromising the maintainability of the software developed. However, the interviewed practitioners claim that the benefits of using MDD outweight the extra effort required by these manual adaptations. Conclusion: Overall, the results indicate that it is important for practitioners to handle `NFRs in MDD, but further research is necessary in order to lower the barrier for supporting a broad spectrum of NFRs with MDD. Still, much conceptual and tool implementation work seems to be necessary to lower the barrier of integrating the broad spectrum of NFRs in practice.

Highlights

  • M ODEL-DRIVEN DEVELOPMENT (MDD) refers to the systematic use of models as first-class entities throughout the software engineering lifecycle [1], [2]

  • If we examine the three Non-Functional Requirements (NFRs) types reported in Finding 2, namely productivity, maintainability and reusability, we may notice that all of them are of internal nature

  • We have presented the results of a family of interviews in eighteen European companies from six different countries that use MDD in some or all of their software projects to better understand how NFRs are handled when developing under the banner of MDD

Read more

Summary

Introduction

M ODEL-DRIVEN DEVELOPMENT (MDD) refers to the systematic use of models as first-class entities throughout the software engineering lifecycle [1], [2]. Other concepts related to MDD are: 1) Model-Driven Engineering (MDE), which is a systematization of MDD to all software engineering activities (e.g., forward engineering, reverse engineering, software evolution, and systems interoperability); 2) Model-Driven Architecture (MDA) [11], which is the Object Management Group (OMG) approach to MDD. They all imply the use of models as first-class entities and the general consideration is that they provide a way to design and develop software systems. We consider that this particular bias should be substantially reduced

Objectives
Methods
Findings
Discussion
Conclusion
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.