Non-functional requirements as drivers of software architecture design

In the last decades, software engineering has become an important area of research. As researchers, we try to identify a problem, a need, or a hole in some research topic, once identified we make an effort to produce new techniques, methods, and tools that hopefully will help to improve the detected issue. In the present thesis the identified issue was the need of supporting non-functional requirements in the software architecture design where these requirements are the drivers of the architectural decision-making. This thesis started with the idea that a relatively new software engineering discipline, model-driven development, was a good place to propose a solution for the detected issue. We envisioned how non-functional requirements can be integrated in model-driven development and how this integration will impact in the architectural design activities. When we started to produce our techniques, methods, and tools for model-driven development we found out that there was a bigger hole in the web of knowledge than what we had initially foreseen. Much of the evidence of how non-functional requirements affect the software architecture design is hidden. This situation caused a turn in this thesis: we needed to understand architects, how they think and how they make the architectural decisions, what is the role of non-functional requirements in the architectural decision-making process, and to what extent are the non-functional requirements important in this process. All these questions needed an answer, an answer that only architects could provide. In consequence we opted to drove several empirical studies to answer these questions. In parallel, we started to work in a way of representing this knowledge, an ontology for software architecture that integrates non-functional requirements. Using this ontology as basis, we designed a method to assist architects in the architectural decision-making process and a tool that acted as a proof of concept of both, the ontology and the method. In summary, this thesis explores how non-functional requirements are currently integrated in the software architecture design practices, and proposes ways to improve this integration and facilitate the work of architects by providing means to assist them in the architectural decision-making process.

[1]  Carme Quer,et al.  A pattern-based method for building requirements documents in call-for-tender processes , 2009, Int. J. Comput. Sci. Appl..

[2]  Patricia Lago,et al.  The Architect's Mindset , 2007, QoSA.

[3]  Philippe Kruchten,et al.  Do Architecture Design Methods Meet Architects' Needs? , 2007, 2007 Working IEEE/IFIP Conference on Software Architecture (WICSA'07).

[4]  Norazlin Yusop,et al.  The impacts of non-functional requirements in web system projects , 2008 .

[5]  Philippe Kruchten,et al.  The Decision View's Role in Software Architecture Practice , 2009, IEEE Software.

[6]  Björn Regnell,et al.  Non-functional requirements metrics in practice - an empirical document analysis , 2007 .

[7]  Paul C. Clements Certified Software Architects , 2010, IEEE Softw..

[8]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[9]  Antonio Bucchiarone,et al.  An Architecture-Centric Approach for Producing Quality Systems , 2005, QoSA/SOQUA.

[10]  Eric Yu,et al.  Improving Requirements Specifications in Model-Driven Development Processes , 2008 .

[11]  Mark Rouncefield,et al.  Model-driven engineering practices in industry , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[12]  Suzanne Robertson,et al.  Mastering the Requirements Process (2nd Edition) , 2006 .

[13]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

[14]  Marco Torchiano,et al.  Reflections on conducting an international survey of software engineering , 2005, 2005 International Symposium on Empirical Software Engineering, 2005..

[15]  Leonard J. Bass,et al.  Scenario-Based Analysis of Software Architecture , 1996, IEEE Softw..

[16]  Liming Zhu,et al.  Model Driven Development with non-functional aspects , 2009, 2009 ICSE Workshop on Aspect-Oriented Requirements Engineering and Architecture Design.

[17]  A. Finkelstein,et al.  A comedy of errors: the London Ambulance Service case study , 1996, Proceedings of the 8th International Workshop on Software Specification and Design.

[18]  Thomas R. Gruber,et al.  Toward principles for the design of ontologies used for knowledge sharing? , 1995, Int. J. Hum. Comput. Stud..

[19]  Vladan Devedzic,et al.  Converting UML to OWL ontologies , 2004, WWW Alt. '04.

[20]  Shari Lawrence Pfleeger,et al.  Principles of survey research part 2: designing a survey , 2002, SOEN.

[21]  Paola Inverardi,et al.  Non-Functional Modeling and Validation in Model-Driven Architecture , 2007, 2007 Working IEEE/IFIP Conference on Software Architecture (WICSA'07).

[22]  Leonard J. Bass,et al.  Making Practical Use of Quality Attribute Information , 2008, IEEE Software.

[23]  Muhammad Ali Babar,et al.  A Framework for Supporting Architecture Knowledge and Rationale Management , 2006 .

[24]  Julio Cesar Sampaio do Prado Leite,et al.  On Non-Functional Requirements in Software Engineering , 2009, Conceptual Modeling: Foundations and Applications.

[25]  B. J. Ferro Castro,et al.  Pattern-Oriented Software Architecture: A System of Patterns , 2009 .

[26]  M. F.,et al.  Bibliography , 1985, Experimental Gerontology.

[27]  Remco C. de Boer,et al.  In search of `architectural knowledge' , 2008, SHARK '08.

[28]  Eila Niemelä,et al.  Capturing quality requirements of product family architecture , 2007, Inf. Softw. Technol..

[29]  David Ameller,et al.  Assigning Treatments to Responsibilities in Software Architectures , 2007 .

[30]  Rick Kazman,et al.  Evaluating Software Architectures: Methods and Case Studies , 2001 .

[31]  Leonard J. Bass,et al.  Designing software architectures to achieve quality attribute requirements , 2005, IEE Proc. Softw..

[32]  .. V. Heescha,et al.  The Journal of Systems and Software , 2022 .

[33]  Xavier Franch,et al.  Quark: A Method to Assist Software Architects in Architectural Decision-Making , 2013, CIbSE.

[34]  Frank Buschmann Value-Focused System Quality , 2010, IEEE Software.

[35]  Carolyn B. Seaman,et al.  Qualitative Methods in Empirical Studies of Software Engineering , 1999, IEEE Trans. Software Eng..

[36]  Stefan Biffl,et al.  Practical Experiences in the Design and Conduct of Surveys in Empirical Software Engineering , 2003, ESERNET.

[37]  Tony Gorschek,et al.  Quality Requirements in Practice: An Interview Study in Requirements Engineering for Embedded Systems , 2009, REFSQ.

[38]  Miguel P Caldas,et al.  Research design: qualitative, quantitative, and mixed methods approaches , 2003 .

[39]  Patricia Lago,et al.  Architectural Knowledge: Getting to the Core , 2007, QoSA.

[40]  Soumya Simanta,et al.  Challenges for assuring quality of service in a service-oriented environment , 2009, 2009 ICSE Workshop on Principles of Engineering Service Oriented Systems.

[41]  Ghassan Beydoun,et al.  A field study of the requirements engineering practice in Australian software industry , 2007, Requirements Engineering.

[42]  Leonard J. Bass,et al.  Introduction to the attribute driven design method , 2001, ICSE.

[43]  Daniel Amyot,et al.  Non-Functional Properties in Service Oriented Architecture - A Consumer's Perspective , 2012, J. Softw..

[44]  Klaus Pohl,et al.  Requirements Engineering - Fundamentals, Principles, and Techniques , 2010 .

[45]  Suzanne Robertson,et al.  Mastering the Requirements Process , 1999 .

[46]  Nenad Medvidovic,et al.  Reconciling software requirements and architectures with intermediate models , 2004, Software & Systems Modeling.

[47]  John A. Zachman,et al.  A Framework for Information Systems Architecture , 1987, IBM Syst. J..

[48]  David Ameller,et al.  Asignación de tratamientos a responsabilidades en el contexto del diseño arquitectónico dirigido por modelos , 2007 .

[49]  Jose-Norberto Mazón,et al.  A Model-Driven Goal-Oriented Requirement Engineering Approach for Data Warehouses , 2007, ER Workshops.

[50]  José Ambrosio Toval Álvarez,et al.  Integrating usability requirements that can be evaluated in design time into Model Driven Engineering of Web Information Systems , 2009, Adv. Eng. Softw..

[51]  Shari Lawrence Pfleeger,et al.  Preliminary Guidelines for Empirical Research in Software Engineering , 2002, IEEE Trans. Software Eng..

[52]  Ian Gorton,et al.  Essential Software Architecture (2. ed.) , 2011 .

[53]  Joaquin Miller,et al.  MDA Guide Version 1.0.1 , 2003 .

[54]  Sooyong Park,et al.  Quality-driven architecture development using architectural tactics , 2009, J. Syst. Softw..

[55]  Oscar Pastor,et al.  Model-driven architecture in practice - a software production environment based on conceptual modeling , 2007 .

[56]  Liming Zhu,et al.  UML Profiles for Design Decisions and Non-Functional Requirements , 2007, Second Workshop on Sharing and Reusing Architectural Knowledge - Architecture, Rationale, and Design Intent (SHARK/ADI'07: ICSE Workshops 2007).

[57]  Jan Jürjens,et al.  UMLsec: Extending UML for Secure Systems Development , 2002, UML.

[58]  Javier Franch Gutiérrez,et al.  Usage of architectural styles and technologies in IT companies and organizations , 2009 .

[59]  Matthew B. Miles,et al.  Qualitative Data Analysis: An Expanded Sourcebook , 1994 .

[60]  Paola Inverardi,et al.  Integrating Performance and Reliability Analysis in a Non-Functional MDA Framework , 2007, FASE.

[61]  Wilhelm Hasselbring,et al.  Ontology-based modelling of architectural styles , 2009, Inf. Softw. Technol..

[62]  Rafael Capilla,et al.  Modeling and Documenting the Evolution of Architectural Design Decisions , 2007, Second Workshop on Sharing and Reusing Architectural Knowledge - Architecture, Rationale, and Design Intent (SHARK/ADI'07: ICSE Workshops 2007).

[63]  Philippe Kruchten,et al.  Building Up and Reasoning About Architectural Knowledge , 2006, QoSA.

[64]  Muhammad Ali Babar,et al.  A survey of architecture design rationale , 2006, J. Syst. Softw..

[65]  Colin Robson,et al.  Real World Research: A Resource for Social Scientists and Practitioner-Researchers , 1993 .

[66]  Eric S. K. Yu,et al.  Qualitative, Interactive, Backward Analysis of i* Models , 2008, iStar.

[67]  Gerd Wagner,et al.  On the Foundations of UML as an Ontology Representation Language , 2004, EKAW.

[68]  Silvia Mara Abrahão,et al.  Integrating a Usability Model into Model-Driven Web Development Processes , 2009, WISE.

[69]  Mario Dal Cin Extending UML towards a Useful OO-Language for Modeling Dependability Features , 2003, 2003 The Ninth IEEE International Workshop on Object-Oriented Real-Time Dependable Systems.

[70]  Jon Oldevik,et al.  A Framework for QoS-Aware Model Transformation, Using a Pattern-Based Approach , 2004, CoopIS/DOA/ODBASE.

[71]  Xavier Franch,et al.  How do software architects consider non-functional requirements: An exploratory study , 2012, 2012 20th IEEE International Requirements Engineering Conference (RE).

[72]  Björn Regnell,et al.  An Empirical Study on the Importance of Quality Requirements in Industry , 2011, SEKE.

[73]  Paul Clements,et al.  Software Architecture in Practice (Second Edition) , 2011 .

[74]  Paris Avgeriou,et al.  Naive Architecting - Understanding the Reasoning Process of Students - A Descriptive Survey , 2010, ECSA.

[75]  Jens Dietrich,et al.  Towards a web of patterns , 2007, J. Web Semant..

[76]  Carlo Ghezzi,et al.  Quality Prediction of Service Compositions through Probabilistic Model Checking , 2008, QoSA.

[77]  Dániel Varró,et al.  Model Transformations for Performability Analysis of Service Configurations , 2008, MoDELS Workshops.

[78]  David S. Rosenblum,et al.  Reliability prediction in model-driven development , 2005, MoDELS'05.

[79]  Philippe Kruchten,et al.  An Ontology of Architectural Design Decisions in Software-Intensive Systems , 2004 .

[80]  Steffen Becker,et al.  A Case Study on Model-Driven and Conventional Software Development: The palladio editor , 2007, Software Engineering.

[81]  Eric Yu,et al.  Social Modeling for Requirements Engineering , 2011, Cooperative information systems.

[82]  Heather Goldsby,et al.  i2MAP: an incremental and iterative modeling and analysis process , 2007, MODELS'07.

[83]  J. Aagedal,et al.  UML Pro?le for Modeling Quality of Service and Fault Tolerance Characteristics and Mechanisms , 2004 .

[84]  Jan Bosch,et al.  Software Architecture as a Set of Architectural Design Decisions , 2005, 5th Working IEEE/IFIP Conference on Software Architecture (WICSA'05).

[85]  Muhammad Ali Babar,et al.  Introducing Tool Support for Managing Architectural Knowledge: An Experience Report , 2008, 15th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems (ecbs 2008).

[86]  Päivi Parviainen,et al.  Challenges in Deployment of Model Driven Development , 2009, 2009 Fourth International Conference on Software Engineering Advances.

[87]  Miroslaw Staron,et al.  Adopting model driven software development in industry: a case study at two companies , 2006, MoDELS'06.

[88]  Len Bass,et al.  Toward Deriving Software Architectures from Quality Attributes , 1994 .

[89]  Vinny Cahill,et al.  Customisable Model Transformations Based on Non-Functional Requirements , 2008, 2008 IEEE Congress on Services - Part I.

[90]  L. Giddings Research Design: Qualitative, Quantitative, and Mixed Methods Approaches, 2d ed , 2005 .

[91]  Xavier Franch,et al.  Non-functional Requirements in Architectural Decision Making , 2013, IEEE Software.

[92]  Winfried E. Kühnhauser,et al.  Software Architectural Design Meets Security Engineering , 2009, 2009 16th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems.

[93]  David Garlan,et al.  Acme: an architecture description interchange language , 1997, CASCON.

[94]  Angela Greiling Keane,et al.  NO SILVER BULLET , 2003 .

[95]  Tony Gorschek,et al.  Challenges in Aligning Requirements Engineering and Verification in a Large-Scale Industrial Context , 2010, REFSQ.

[96]  Christina Kluge,et al.  Service-Oriented Architecture: Concepts, Technology, and Design , 2005 .

[97]  Xavier Franch,et al.  A Framework for Software Reference Architecture Analysis and Review , 2013, CIbSE.

[98]  John Mylopoulos,et al.  A core ontology for requirements , 2009, Appl. Ontology.

[99]  Robert W. Krut,et al.  Managing Variation in Services in a Software Product Line Context , 2010 .

[100]  Peri L. Tarr,et al.  Model-driven development : The good , the bad , and the ugly & , 2006 .

[101]  John Mylopoulos,et al.  Representing and Using Nonfunctional Requirements: A Process-Oriented Approach , 1992, IEEE Trans. Software Eng..

[102]  Xavier Franch,et al.  The Role of Quality Attributes in Service-Based Systems Architecting: A Survey , 2013, ECSA.

[103]  Andrea Herrmann,et al.  Software Architects' Experiences of Quality Requirements: What We Know and What We Do Not Know? , 2013, REFSQ.

[104]  Klaus Krippendorff,et al.  Content Analysis: An Introduction to Its Methodology , 1980 .

[105]  Bradley R. Schmerl,et al.  Ævol: A tool for defining and planning architecture evolution , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[106]  Katja Henttonen,et al.  Open source based tools for sharing and reuse of software architectural knowledge , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

[107]  M. Cecilia Bastarrica,et al.  Model-Driven approach to Software Architecture design , 2009, 2009 ICSE Workshop on Sharing and Reusing Architectural Knowledge.

[108]  T. V. Prabhakar,et al.  ArchVoc--Towards an Ontology for Software Architecture , 2007, Second Workshop on Sharing and Reusing Architectural Knowledge - Architecture, Rationale, and Design Intent (SHARK/ADI'07: ICSE Workshops 2007).

[109]  Anton Nijholt,et al.  Context-free grammars: Covers, normal forms, and parsing , 1980, Lecture Notes in Computer Science.

[110]  Stephen J. Mellor,et al.  Executable UML - A Foundation for Model-Driven Architecture , 2002, Addison Wesley object technology series.

[112]  Arie van Deursen,et al.  Empirical research in software architecture: opportunities, challenges, and approaches , 2011, Empirical Software Engineering.

[113]  Axel van Lamsweerde,et al.  Requirements Engineering: From System Goals to UML Models to Software Specifications , 2009 .

[114]  C. D. Gelatt,et al.  Optimization by Simulated Annealing , 1983, Science.

[115]  L. O'Brien Lero,et al.  Quality Attributes for Service-Oriented Architectures , 2007, International Workshop on Systems Development in SOA Environments (SDSOA'07: ICSE Workshops 2007).

[116]  Martin Höst,et al.  Collaborative Resolution of Requirements Mismatches When Adopting Open Source Components , 2012, REFSQ.

[117]  Inge van de Weerd,et al.  How Architects See Non-Functional Requirements: Beware of Modifiability , 2012, REFSQ.

[118]  Qing Gu,et al.  SOA decision making - what do we need to know , 2009, 2009 ICSE Workshop on Sharing and Reusing Architectural Knowledge.

[119]  B. J. Oates,et al.  Researching Information Systems and Computing , 2005 .

[120]  Johan F. Hoorn,et al.  The lonesome architect , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

[121]  João Pimentel,et al.  STREAM-ADD - Supporting the Documentation of Architectural Design Decisions in an Architecture Derivation Process , 2012, 2012 IEEE 36th Annual Computer Software and Applications Conference.

[122]  Martin Höst,et al.  Managing Quality Requirements: A Systematic Review , 2010, 2010 36th EUROMICRO Conference on Software Engineering and Advanced Applications.

[123]  Jeff Tyree,et al.  Architecture decisions: demystifying architecture , 2005, IEEE Software.

[124]  Colin Atkinson,et al.  Model-Driven Development: A Metamodeling Foundation , 2003, IEEE Softw..

[125]  Mary Shaw,et al.  The coming-of-age of software architecture research , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[126]  Antony Tang,et al.  A rationale-based architecture model for design traceability and reasoning , 2007, J. Syst. Softw..

[127]  Thomas Olsson,et al.  Non-functional requirements in industry - three case studies adopting an experience-based NFR method , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[128]  Carole D. Hafner,et al.  The State of the Art in Ontology Design: A Survey and Comparative Review , 1997, AI Mag..

[129]  Uwe Zdun,et al.  Architectural Patterns Revisited - A Pattern Language , 2005, EuroPLoP.

[130]  Jan Bosch,et al.  Design and use of software architectures - adopting and evolving a product-line approach , 2000 .

[131]  Joerg Evermann,et al.  Evaluating Ontologies: Towards a Cognitive Measure of Quality , 2007, 2007 Eleventh International IEEE EDOC Conference Workshop.

[132]  Xavier Franch,et al.  The Three‐Layer architectural pattern applied to plug‐in‐based architectures: the Eclipse case , 2013, Softw. Pract. Exp..

[133]  Alexandru Telea,et al.  Ontology-driven visualization of architectural design decisions , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

[134]  Shari Lawrence Pfleeger,et al.  Principles of survey research: part 1: turning lemons into lemonade , 2001, SOEN.

[135]  H. D. Rombach,et al.  The Goal Question Metric Approach , 1994 .

[136]  Muhammad Ali Babar,et al.  A Tool for Managing Software Architecture Knowledge , 2007, Second Workshop on Sharing and Reusing Architectural Knowledge - Architecture, Rationale, and Design Intent (SHARK/ADI'07: ICSE Workshops 2007).

[137]  David Ameller,et al.  Definición de una ontología para el proceso de DSDM considerando requisitos no-funcionales , 2009 .

[138]  Tony Clark,et al.  Model-driven development - Guest editor's introduction , 2003 .

[139]  Keunhyuk Yeom,et al.  An Approach to Quality Achievement at the Architectural Level: AQUA , 2006, FMOODS.

[140]  Maria Haigh,et al.  Software quality, non-functional software requirements and IT-business alignment , 2010, Software Quality Journal.

[141]  Agung Fatwanto,et al.  Analysis, Specification and Modeling of Non-Functional Requirements for Translative Model-Driven Development , 2008, 2008 International Conference on Computational Intelligence and Security.

[142]  Xavier Franch,et al.  How Do Software Architects Consider Non-Functional Requirements: A Survey , 2010, REFSQ.

[143]  Carme Quer,et al.  Managing Non-Technical Requirements in COTS Components Selection , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[144]  Christine Nadel,et al.  Case Study Research Design And Methods , 2016 .

[145]  Xavier Franch,et al.  Managing Risk in Open Source Software Adoption , 2018, ICSOFT.

[146]  Stefan Kugele,et al.  Optimizing Automatic Deployment Using Non-functional Requirement Annotations , 2008, ISoLA.

[147]  Robert L. Nord,et al.  A general model of software architecture design derived from five industrial approaches , 2007, J. Syst. Softw..

[148]  Rafael Capilla,et al.  A web-based tool for managing architectural design decisions , 2006, SOEN.

[149]  Luigi Logrippo,et al.  The ISO Reference Model for Open Distributed Processing: An Introduction , 1995, Comput. Networks ISDN Syst..

[150]  Elena Navarro,et al.  ATRIUM: Software Architecture Driven by Requirements , 2009, 2009 14th IEEE International Conference on Engineering of Complex Computer Systems.

[151]  Ian Gorton,et al.  Essential software architecture , 2006 .

[152]  Jaelson Brelaz de Castro,et al.  Systematic Integration Between Requirements and Architecture , 2004, SELMAS.

[153]  Barbara Kitchenham,et al.  Procedures for Performing Systematic Reviews , 2004 .

[154]  Philippe Kruchten,et al.  Architectural knowledge and rationale: issues, trends, challenges , 2007, SOEN.

[155]  Xavier Franch,et al.  Ontology-Based Architectural Knowledge Representation: Structural Elements Module , 2011, CAiSE Workshops.

[156]  João Pimentel,et al.  On the use of metamodeling for relating requirements and architectural design decisions , 2013, SAC '13.

[157]  Paris Avgeriou,et al.  Sharing the Architectural Knowledge of Quantitative Analysis , 2008, QoSA.

[158]  Bashar Nuseibeh,et al.  Weaving Together Requirements and Architectures , 2001, Computer.

[159]  Xavier Franch,et al.  ArchiTech: Tool support for NFR-guided architectural decision-making , 2012, 2012 20th IEEE International Requirements Engineering Conference (RE).

[160]  Daniel Gross,et al.  From Non-Functional Requirements to Design through Patterns , 2001, Requirements Engineering.

[161]  Andreas Bollin,et al.  Requirements Engineering Fundamentals , 2015 .

[162]  Xavier Franch,et al.  Service Level Agreement Monitor (SALMon) , 2008, Seventh International Conference on Composition-Based Software Systems (ICCBSS 2008).

[163]  Martin Fowler,et al.  Patterns of Enterprise Application Architecture , 2002 .

[164]  Peng Liang,et al.  Architectural design decision: Existing models and tools , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

[165]  Steffen Zschaler,et al.  Model-Driven Development for Non-functional Properties: Refinement Through Model Transformation , 2004, UML.

[166]  Diego Calvanese,et al.  Reasoning on UML class diagrams , 2005, Artif. Intell..

[167]  Ivar Jacobson,et al.  The unified software development process - the complete guide to the unified process from the original designers , 1999, Addison-Wesley object technology series.

[168]  I. Gorton,et al.  A quality-driven systematic approach for architecting distributed software applications , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[169]  R. Yin,et al.  Case Study Research: Design and Methods (4th ed. , 2009 .

[170]  Shari Lawrence Pfleeger,et al.  Principles of survey research part 6: data analysis , 2003, SOEN.

[171]  Sam Supakkul,et al.  The RE-Tools: A multi-notational requirements modeling toolkit , 2012, 2012 20th IEEE International Requirements Engineering Conference (RE).

[172]  Mark Rouncefield,et al.  Empirical assessment of MDE in industry , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[173]  Jan Jürjens,et al.  Secure systems development with UML , 2004 .

[174]  Per Runeson,et al.  A survey of unit testing practices , 2006, IEEE Software.

[175]  C. Lopez,et al.  NDR Ontology: Sharing and Reusing NFR and Design Rationale Knowledge , 2008, 2008 First International Workshop on Managing Requirements Knowledge.

[176]  Helen M. Edwards,et al.  Problem frames: analyzing and structuring software development problems , 2002, Softw. Test. Verification Reliab..

[177]  Philippe Kruchten,et al.  The Rational Unified Process Made Easy - A Practitioner's Guide to the RUP , 2003, Addison Wesley object technology series.

[178]  Eila Niemelä,et al.  Quality-driven architecture design and quality analysis method: A revolutionary initiation approach to a product line architecture , 2002 .

[179]  Oscar Pastor,et al.  Dealing with Usability in Model Transformation Technologies , 2008, ER.

[180]  NiemeläEila,et al.  Capturing quality requirements of product family architecture , 2007 .

[181]  Márcia Lucena,et al.  Stream: a strategy for transition between requirements models and architectural models , 2011, SAC.

[182]  Carlo Ghezzi,et al.  Rethinking the Use of Models in Software Architecture , 2008, QoSA.

[183]  Stefano Ceri,et al.  Designing Data-Intensive Web Applications , 2002 .

[184]  Rick Kazman,et al.  The architecture tradeoff analysis method , 1998, Proceedings. Fourth IEEE International Conference on Engineering of Complex Computer Systems (Cat. No.98EX193).

[185]  Oscar Pastor,et al.  From i* Requirements Models to Conceptual Models of a Model Driven Development Process , 2009, PoEM.

[186]  João Pimentel,et al.  F-STREAM: A Flexible Process for Deriving Architectures from Requirements Models , 2011, CAiSE Workshops.

[187]  Shari Lawrence Pfleeger,et al.  Principles of survey research: part 3: constructing a survey instrument , 2002, SOEN.

[188]  Xavier Franch,et al.  Architecture Quality Revisited , 2012, IEEE Software.

[189]  Matthew R. McBride,et al.  The software architect , 2007, CACM.

[190]  Antony Tang,et al.  Software Architecture Design Reasoning: A Case for Improved Methodology Support , 2009, IEEE Software.

[191]  Javier Franch Gutiérrez,et al.  Monitoring Adaptable SOA Systems using SALMon , 2008 .

[192]  Alan M. Davis,et al.  Software Requirements: Objects, Functions and States , 1993 .

[193]  Mario Piattini,et al.  Classifying web metrics using the web quality model , 2005, Online Inf. Rev..

[194]  Philippe Kruchten,et al.  The 4+1 View Model of Architecture , 1995, IEEE Softw..

[195]  Martin Glinz,et al.  On Non-Functional Requirements , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[196]  Jeff Tyree,et al.  Using ontology to support development of software architectures , 2006, IBM Syst. J..

[197]  Andreas Borg,et al.  The Bad Conscience of Requirements Engineering : An Investigation in Real-World Treatment of Non-Functional Requirements , 2003 .

[198]  Xavier Franch,et al.  Dealing with Non-Functional Requirements in Model-Driven Development , 2010, 2010 18th IEEE International Requirements Engineering Conference.

[199]  Lawrence Chung,et al.  Developing adaptable software architectures using design patterns: an NFR approach , 2003, Comput. Stand. Interfaces.

[200]  Jos de Bruijn,et al.  Web Service Modeling Ontology , 2005, Appl. Ontology.

[201]  Simona Bernardi,et al.  Adding Dependability Analysis Capabilities to the MARTE Profile , 2008, MoDELS.

[202]  Paris Avgeriou,et al.  Mature Architecting - A Survey about the Reasoning Process of Professional Architects , 2011, 2011 Ninth Working IEEE/IFIP Conference on Software Architecture.

[203]  Tony Gorschek,et al.  Prioritization of quality requirements: State of practice in eleven companies , 2011, 2011 IEEE 19th International Requirements Engineering Conference.

[204]  Nicola Guarino,et al.  Some Ontological Principles for Designing Upper Level Lexical Resources , 1998, LREC.

[205]  Claes Wohlin,et al.  Empirical Research Methods in Software Engineering , 2003, ESERNET.

[206]  Paris Avgeriou,et al.  Variability in quality attributes of service-based software systems: A systematic literature review , 2013, Inf. Softw. Technol..