Creating Architectures with Building Blocks

Large systems need a sound architecture. In our method, we decompose the system into building blocks to make it "future-proof," accommodate functional needs, and minimize system complexity. We organize the system construction along three design dimensions covered by the system architecture: structure, aspects, and behavior. The structure determines the system's decomposition into parts and the relationships between the parts. Aspects model the functional decomposition of the system. Behavior deals with processing that takes place within the system. Of the three dimensions, we consider structure to be the most important. In this dimension, reducing complexity is our main concern. We organize system functionality into four layers, or subsystems. These subsystems are composed of software modules-building blocks-which are the basic software entities in the system architecture. >

[1]  F. Van der Linden,et al.  Composing product families from reusable components , 1995, Proceedings of the 1995 International Symposium and Workshop on Systems Engineering of Computer-Based Systems.

[2]  Morris Sloman,et al.  Configuring object-based distributed programs in REX , 1992, Softw. Eng. J..

[3]  Hassan Gomaa,et al.  Reusable software requirements and architectures for families of systems , 1995, J. Syst. Softw..

[4]  Even-André Karlsson,et al.  Software reuse: a holistic approach , 1995 .

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

[6]  H.-H. Deubler,et al.  Introducing Object Orientation into Large and Complex Systems , 1994, IEEE Trans. Software Eng..

[7]  Clemens A. Szyperski,et al.  Import is Not Inheritance - Why We Need Both: Modules and Classes , 1992, ECOOP.

[8]  A. Nico Habermann,et al.  Modularization and hierarchy in a family of operating systems , 1976, CACM.

[9]  J. K. Muller Integrating architectural design into the development process , 1995, Proceedings of the 1995 International Symposium and Workshop on Systems Engineering of Computer-Based Systems.