A Method to Derive Software Architectures from Quality Requirements

We present a model- and pattern-based method that allows software engineers to take quality requirements into account right from the beginning of the software development process. The method comprises requirements analysis as well as the derivation of a software architecture from requirements documents, in which quality requirements are reflected explicitly. For requirements analysis, we use an enhancement of the problem frame approach, where software development problems are represented by problem diagrams. The derivation of a software architecture starts from a set of problem diagrams, annotated with functional as well as quality requirements. First, we set up an initial software architecture, taking into account the decomposition of the overall software development problem into sub problems. Then, we incorporate quality requirements into that architecture by using security or performance patterns or mechanisms. The method is tool-supported, which allows developers to check semantic integrity conditions in the different models.

[1]  Maritta Heisel,et al.  Towards Systematic Integration of Quality Requirements into Software Architecture , 2011, ECSA.

[2]  R Day,et al.  The eclipse open-development platform , 2008 .

[3]  Maritta Heisel,et al.  Systematic Architectural Design Based on Problem Patterns , 2011, Relating Software Requirements and Architectures.

[4]  Haralambos Mouratidis,et al.  A security oriented approach in the development of multiagent systems : applied to the management of the health and social care needs of older people in England , 2004 .

[5]  Wouter Joosen,et al.  A system of security patterns , 2006 .

[6]  Maritta Heisel,et al.  Making Pattern- and Model-Based Software Development More Rigorous , 2010, ICFEM.

[7]  Jan Jürjens,et al.  From goal‐driven security requirements engineering to secure design , 2010, Int. J. Intell. Syst..

[8]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[9]  Steffen Becker,et al.  The Palladio component model for model-driven performance prediction , 2009, J. Syst. Softw..

[10]  Chris Ford,et al.  Patterns for Performance and Operability: Building and Testing Enterprise Software , 2007 .

[11]  Maritta Heisel,et al.  A UML Profile for Requirements Analysis of Dependable Software , 2010, SAFECOMP.

[12]  Peter Sommerlad,et al.  Security Patterns: Integrating Security and Systems Engineering , 2006 .

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

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

[15]  Paul Clements,et al.  Attribute-Driven Design (ADD), Version 2.0 , 2006 .

[16]  Bashar Nuseibeh,et al.  Relating software requirements and architectures using problem frames , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[17]  Eoin Woods,et al.  The system context architectural viewpoint , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

[18]  Holger Schmidt,et al.  Preserving Software Quality Characteristics from Requirements Analysis to Architectural Design , 2006, EWSA.

[19]  Maritta Heisel,et al.  A Systematic Account of Problem Frames , 2007, EuroPLoP.