Global Analysis: moving from software requirements specification to structural views of the software architecture

Software architecture design approaches typically treat architecture as an abstraction of the implemented system. However, doing so means that the concepts, languages, notations, and tools for architecture are much more closely related to those of detailed design and implementation than to those of software requirements. Thus the gap between requirements and architecture represents a paradigm shift, while that between architecture and detailed design does not. Global Analysis, which is part of the Siemens Four Views architecture design approach, is a set of activities that serves to reduce the magnitude of this gap by guiding the architecture design process, capturing design rationale, and supporting traceability between requirements and architecture. In this paper Global Analysis is re-examined in light of five years of teaching it, reflecting on it, comparing it to other approaches, and examining how it was applied in four new systems. This experience confirms the value of the Global Analysis activities and the importance of capturing its results. In some cases the benefit went beyond that envisioned, and in other cases Global Analysis was not applied as expected. Because the templates that are provided for Global Analysis results have such a strong influence on how the activities were performed, this will be the focus of future changes.

[1]  Felix Bachmann,et al.  Illuminating the Fundamental Contributors to Software Architecture Quality , 2002 .

[2]  Pierre America,et al.  Multi-view Variation Modeling for Scenario Analysis , 2003, PFE.

[3]  Barry W. Boehm,et al.  Requirements that Handle IKIWISI, COTS, and Rapid Change , 2000, Computer.

[4]  Len Bass,et al.  Architecture-Centric Software Project Management: A Practical Guide , 2002 .

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

[6]  Robert W. Schwanke,et al.  Experience with the architectural design of a modest product family , 2004, Softw. Pract. Exp..

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

[8]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[9]  Paul Clements,et al.  Software Architecture in Practice: Addison-Wesley , 1998 .

[10]  Barry W. Boehm,et al.  Identifying Quality-Requirement Conflicts , 1996, IEEE Softw..

[11]  Robert L. Nord,et al.  Applied Software Architecture , 1999, Addison Wesley object technology series.

[12]  Alexander L. Wolf,et al.  Acm Sigsoft Software Engineering Notes Vol 17 No 4 Foundations for the Study of Software Architecture , 2022 .

[13]  James O. Coplien,et al.  A generative development-process pattern language , 1995 .

[14]  Alan M. Davis,et al.  201 Principles of Software Development , 1995 .

[15]  B. F. Castro Buschmann, Frank; Meunier, Regine; Rohnert, Hans; Sommerlad, Peter; Stal, Michael. Pattern-oriented software architecture: a system of patterns, John Wiley & Sons Ltd, 1996 , 1997 .

[16]  Gerard G. Meszaros,et al.  A pattern language for pattern writing , 1997 .

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

[18]  Jan Bosch,et al.  Software Architecture: The Next Step , 2004, EWSA.

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

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

[21]  Robert L. Nord,et al.  Preparing for Change in the Architec- ture Design of Large Software Systems , 1998 .

[22]  Barry W. Boehm,et al.  Software architectures: critical success factors and cost drivers , 1994, Proceedings of 16th International Conference on Software Engineering.

[23]  Jeff Conklin Design rationale and maintainability , 1989, [1989] Proceedings of the Twenty-Second Annual Hawaii International Conference on System Sciences. Volume II: Software Track.

[24]  Eberhardt Rechtin,et al.  The Art of Systems Architecting, Second Edition , 2000 .

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

[26]  Robert L. Nord,et al.  Software Architecture in Industrial Applications , 1995, 1995 17th International Conference on Software Engineering.

[27]  Pierre America,et al.  A component-oriented platform architecting method for families of software-intensive electronic prod , 2000 .

[28]  M.L. Griss,et al.  Software reuse architecture, process, and organization for business success , 1997, Proceedings of the Eighth Israeli Conference on Computer Systems and Software Engineering.

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

[30]  Michael L. Begeman,et al.  gIBIS: A tool for all reasons , 1989, JASIS.