CMU CS 15-675 Architectures for Software Systems Spring 1997
Due: Wednesday, March 5, 1997
[B+96]: Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., and
Stal, M.
Pattern-Oriented Software Architecture: A System of Patterns.
Chapter 1, pp. 1-11, Chapter 2, pp. 25-70,
John Wiley and Sons Ltd., West Sussex, PO19 1 UD, England,1996[Mul94]: Mularz, D. E. Pattern-Based Integration Architectures.
Edited by Coplien and Schmidt, pp. 441-452, Addison-Wesley, 1995[Sha96]: Shaw, M. "Some Patterns for Software Architectures"
Pattern Languages of Program Design 2.
Edited by Vlissides, Coplien, and Kerth, pp. 255-270, Addison-Wesley, 1996
There is a lot of reading for this assignment. However, this is due to the fact that the readings attempt to impart two different kinds of knowledge. First, they define what patterns for software architecture are and how they can be used to solve software engineering problems. Secondly, they present the details of some well-known architectural patterns for problems that you will mostly-likely encounter as software designers. Here are some suggestions on how to read through the papers:Start by reading Chapter 1 of the first reading, Pattern-Oriented Software Architecture: A System of Patterns. The authors do an excellent job of defining patterns and they describe eight useful properties of patterns. This will give you a solid intuition about patterns for the remaining readings. Pay particular attention to the definition of a pattern, as well as the properties of patterns.
Next, read "Some Patterns for Software Architectures" by Dr. Shaw. This paper starts by providing more background and motivation for using patterns, and it provides another definition. The rest of the paper describes eight patterns which are used to design the fundamental structure of a software system.
Third, read Chapter 2 of the first reading. This Chapter presents more detailed information on two of the patterns described in Dr. Shaw's article.
Lastly read Pattern-Based Integration Architectures. Pay particular attention to her description of the problem she is addressing, as well as the details of her solution strategy.
How does the concept of reuse apply to using patterns?
What is the purpose of major architectural abstractions?
the application consists of many purely computational
components that interact on centralized data
the application consists of computations that can appropriately
be defined as a hierarchy of procedure definitions
Define the two types of components found in any
integration model.
Modified: 02/26/97