Architecture-driven problem decomposition

Jackson's problem frames provide a means of analysing and decomposing problems. They emphasise the world outside the computer helping the developer to focus on the problem domain instead of drifting into inventing solutions. The intention is to delay consideration of the solution space until a good understanding of the problem is gained. In contrast, early consideration of a solution architecture is common practice in software development. Software is usually developed by including existing components and/or reusing existing frameworks and architectures. This has the advantage of shortening development time through reuse, and increasing the robustness of a system through the application of tried and tested solutions. In This work, we show how these two views can be reconciled and demonstrate how a choice of architecture can facilitate problem analysis, decomposition and subsequent recomposition, within the problem frames framework. In particular, we introduce architectural frames - combinations of architectural styles and problem frames - and illustrate their use by applying them to two problems from the literature.

[1]  Constance L. Heitmeyer,et al.  Automated consistency checking of requirements specifications , 1996, TSEM.

[2]  Nenad Medvidovic,et al.  Reconciling software requirements and architectures: the CBSP approach , 2001, Proceedings Fifth IEEE International Symposium on Requirements Engineering.

[3]  Michael Jackson,et al.  A reference model for requirements and specifications - extended abstract , 2000, Proceedings Fourth International Conference on Requirements Engineering. ICRE 2000. (Cat. No.98TB100219).

[4]  P ? ? ? ? ? ? ? % ? ? ? ? , 1991 .

[5]  Jon G. Hall,et al.  Problem Frames for Sociotechnical Systems , 2009 .

[6]  Alistair G. Sutcliffe,et al.  The domain theory - patterns for knowledge and software reuse , 2002 .

[7]  John Mylopoulos,et al.  Non-Functional Requirements in Software Engineering , 2000, International Series in Software Engineering.

[8]  J. Brier,et al.  Problem frames for socio-technical systems: predictability and change , 2004 .

[9]  Michael Jackson,et al.  A Reference Model for Requirements and Specifications , 2000, IEEE Softw..

[10]  L'ubor Sesera,et al.  Analysis Patterns , 2000, SOFSEM.

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

[12]  Axel van Lamsweerde,et al.  Agent-based tactics for goal-oriented requirements elaboration , 2002, ICSE '02.

[13]  Desmond D'Souza,et al.  Objects, Components, and Frameworks with UML: The Catalysis Approach , 1998 .

[14]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

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

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

[17]  Michael A. Jackson,et al.  Software requirements and specifications - a lexicon of practice, principles and prejudices , 1995 .

[18]  Nancy G. Leveson,et al.  An investigation of the Therac-25 accidents , 1993, Computer.

[19]  Andrés Silva,et al.  A Requirements-based Framework for the Analysis of Socio-technical System Behaviour , 2003 .

[20]  Benjamin L. Kovitz,et al.  Practical Software Requirements: A Manual of Content and Style , 1998 .

[21]  Jon G. Hall,et al.  Capturing change in socio-technical system with problem frames , 2005 .

[22]  Alexander L. Wolf,et al.  Software architecture , 2001 .

[23]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

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

[25]  David Lorge Parnas,et al.  Functional Documents for Computer Systems , 1995, Sci. Comput. Program..

[26]  David Lorge Parnas,et al.  Software Requirements for the A-7E Aircraft. , 1992 .

[27]  David S. Wile Residual requirements and architectural residues , 2001, Proceedings Fifth IEEE International Symposium on Requirements Engineering.

[28]  John Daniels,et al.  UML Components: A Simple Process for Specifying Component-Based Software , 2000 .

[29]  Lucia Rapanotti,et al.  Towards a semantics of Problem Frames , 2003 .

[30]  Mark Klein,et al.  Attribute-Based Architectural Styles , 1999 .

[31]  David M. Weiss,et al.  Software Product-Line Engineering: A Family-Based Software Development Process , 1999 .

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

[33]  Dewayne E. Perry,et al.  Transforming Goal Oriented requirements specifications into Architectural Prescriptions , 2001 .

[34]  Leonard J. Bass,et al.  Attribute-Based Architecture Styles , 1999, WICSA.

[35]  Jon G. Hall,et al.  A reference model for requirements engineering , 2003, Proceedings. 11th IEEE International Requirements Engineering Conference, 2003..

[36]  Flavio Oquendo,et al.  Software Architecture , 2004, Lecture Notes in Computer Science.

[37]  Axel van Lamsweerde,et al.  Goal-Oriented Requirements Engineering: A Guided Tour , 2001, RE.