For anyone InterestedInSoftwareArchitecture
, here are some papers and books which may be useful. These wont all appear on the GreatBooksList
, but they do go some way to setting the scene and help to provide some common ideas and vocabulary.
KentBeck and RalphJohnson, PatternsGenerateArchitectures, ECOOP '94 Proceedings, Springer-Verlag, 1994.
DavidGarlan?, RobertAllen? and JohnOckerbloom?, ArchitecturalMismatch, Carnegie-Melon University, August 1994.
The Aesop meta-tool for creating style-specific architectural design tools was itself built out of common off-the-self (COTS) software products and this paper details some of the many difficulties in composing large-grain software components.
ThomasLane?, StudyingSoftwareArchitecureThroughDesignSpacesAndRules?, Technical Report CMU/SEI-90-TR-18, SEI/CMU, 1990.
Describes the use of a design space to evaluate the architectural-level structure of user-interface systems. A design space is a multi-dimensional space that consists of a number of axes which each represent one property of the systems being compared, such as use of parallelism. A system being evaluated is measured along each of the axes in the design space. A number of rules complement the space that describe connections between axes and so allow the evaluator to easily navigate among them.
DwaynePerry? and AlexanderWolf, FoundationsForTheStudyOfSoftwareArchitectures?, Software Engineering Notes Vol. 17 No. 4, ACM SIGSOFT, 1992.
Introduces software architecture by drawing analogies to hardware, network and building architecture. Some motivations for studying and researching software architecture are given, along with a model for architectural description - consisting of processing, data and connecting elements. Includes a case study of two different architectures for a multi-phase compiler.
MaryShaw and DavidGarlan?, SoftwareArchitecture:PerspectivesOnAnEmergingDiscipline?, Prentice Hall, 1996.
Based on the papers published jointly and separately between them in the last 3-5 years.
LenBass?, PaulClements?, and RickKazman?, SoftwareArchitectureInPractice, Addison Wesley, 1998.
A good, practical introduction to software architecture.
From Charles Weir:
Here's an interesting set of patterns I came across recently. They describe
software architecture at http://www.laputan.org/mud/mud.html
. This, for the uninitiated, is what normally happens for any large and long-lived system: the architecture of a system gets cobbled together and everything gets rather complicated.
An empirical study of architectures
can be found in:
C. Hofmeister, D. Soni, R.L. Nord. Software Architectures in Industrial Applications. In Proceedings of the 17th International Conference of Software Engineering
, Seattle Washington, April 1995. ACM Press.
A good practical overview of the topic can be found in:
Software Architecture for Product Families: Principles and Practice, by Mehdi Jazayeri, Alexander Ran, Frank Van Der Linden, Addison-Wesley Pub Co. ISBN 0201699672
The book is the summary of knowledge that was gained from the EU-funded research project ARES (architectural reasoning for embedded systems).
See also: SoftwareEngineeringInPractice