Cover Graphic


These are References for the Architecture Papers from the book (Note some papers can be found at a specific URL, these URLs are included here):

Alexandrescu, Andrei. Modern C++ Design: Generic Programming and Design Patterns Applied. Addison-Wesley, 2001.

Ambler, Scott, 'Distributed Object Design', Software Development, June 1999. URL =

Anthony, Richard, Jeff Garland, and Bill Lawrence, 'An Analysis of the Advantages of Application and Enterprise Frameworks'. Position Paper for the Workshop on Achieving Bottom-Line Improvements with Application and Enterprise Frameworks at OOPSLA 1999.

Bass, Len, Paul Clements, and Rick Kazman. Software Architecture in Practice. Addison- Wesley, 1998.

Beck, Kent, and Ward Cunningham, 'A Laboratory For Teaching Object-Oriented Thinking'. From the OOPSLA'89 Conference Proceedings, October 1-6, 1989, and the special issue of SIGPLAN Notices, 24, No. 10, October 1989.

Bellin, David, and Susan Suchman Simone. The CRC Card Book. Addison-Wesley, 1997. Booch, Grady, Ivar Jacobson, and James Rumbaugh. The Unified Modeling Language User Guide. Addison-Wesley, 1999.

Bosch, Jan. Design and Use of Software Architectures. Addison-Wesley, 2000. Brown, William J., Hays W. McCormick, and Scott W. Thomas. Anti-Patterns in Project Management. John Wiley, 2000.

Brown, William J. (Editor), Raphael C. Malveau, and Hays W. McCormick, III. Anti- Patterns: Refactoring Software, Architectures, and Projects in Crisis. John Wiley, 1998.

Buschmann (Editor), Frank, Regine Meunier, Hans Rohnert, Peter Sommerlad and Michael Stal. Pattern-Oriented Software Architecture: A System of Patterns. John Wiley, 1996.

Cockburn, Alistair. Writing Effective Use Cases. Addison-Wesley, 2000.

Coplien, James O. Multi-Paradigm Design for C++. Addison-Wesley, 1998.

Coplien, James, Daniel Hoffman, and David Weiss, 'Commonality and Variability in Software Engineering', IEEE Software, November/December 1998, 15, No. 6. URL =

Coplien, James O., and Douglas C. Schmidt (Editors). Pattern Languages of Program Design. Addison-Wesley, 1995.

Czarnecki, Krzysztof, and Ulrich W. Eisenecker. Generative Programming - Methods, Tools, and Applications. Addison-Wesley, 2000.

Department of the Army, 'Joint Technical Architecture - Army', Version 6.0, 8 May 2000. URL =

Dikel, David M., David Kane, and James R. Wilson. Software Architecture: Organizational Principles and Patterns. Prentice-Hall, 2000.

Douglass, Bruce Powel. Doing Hard Time: Developing Real-Time Systems with UML, Objects, Frameworks and Patterns. Addison-Wesley, 1999.

Egyed, Alexander, and Nenad Medvidovic. ''Extending Architectural Representation in UML with View Integration''. In Proceedings of the Second IEEE International Conference on the Unified Modeling Language (UML99). IEEE Computer Society Press.

Ericsson, Maria, 'Developing Large-scale Systems with the Rational Unified Process', Rational Software, Rational White Paper, 2000. URL=""

Fagan, M.E., 'Design and Code Insptections to Reduce Errors in Program Development', IBM Systems Journal, 38, Nos 2-3, 1999.

Foote, Brian, Neil Harrison, and Hans Rohnert. Pattern Languages of Program Design 4. Addison-Wesley, December 1999.

Foote, Brian, and Yoder, Joseph, 'Big Ball of Mud'. In Pattern Languages of Program Design 4. Addison-Wesley, 2000. URL = ""

Fowler, Martin, 'Reducing Coupling,' IEEE Software, July/August 2001.

Fowler, Martin, and Jim Highsmith, 'The Agile Manifesto', Software Development Magazine, August 2001.

Fowler, Martin, and Kendall Scott. UML Distilled, Applying the Standard Object Modeling Language. Addison-Wesley, 1997.

Garlan, David, and Robert Allen, 'Formalizing Architectural Connection', 71-80. In Proceedings of the 16th International Conference on Software Engineering, Sorrento, Italy, May 16-21, 1994. IEEE Computer Society Press.

Garland, Jeff, 'Representing Software Architectures for Large-Scale Systems'. Position Paper for the OOPSLA 2001 Workshop on Representing Architectures.

Garland, Jeff, Richard Anthony, and Bill Lawrence, 'Accomplishing Software Stability'. Position Paper for the OOPSLA 99 Workshop on Accomplishing Software Stability.

Highsmith III, James A. Adaptive Software Development. Dorset House, 2000.

Hofmeister, Christine, Robert Nord, and Dilip Soni. Applied Software Architecture. Addison-Wesley, 1999.

IEEE Std. 1471-2000, 'IEEE Recommended Practice for Architectural Description of Software-Intensive Systems', 2000.

ISO/IEC, 'The Reference Model for Open Distributed Processing', ISO/IEC DIS 10746- 1:1995.

ITU-T Recommendation X.731 | ISO/IEC 10164-2, 'State Management Function'.

ITU-T, 'Z.100, Specification and Description Language (SDL) Specification', November 1999.

ITU-T, 'Z.120, Message Sequence Chart (MSC) Specification', November 1999.

Jackson, Daniel, and John Chapin, 'Redesigning Air Traffc Control: An Exercise in Software Design', IEEE Software, May/June 2000, pp. 63-70. URL = ""

Jacobson, Ivar. Object-Oriented Software Engineering: A Use Case Driven Approach. Addison-Wesley, 1992.

Jacobson, Ivar, 'Use Cases in Large-Scale Systems', ROAD, 1, No. 6, 1995.

Jacobson, Ivar, Grady Booch, James Rumbaugh. The Unified Software Development Process. Addison-Wesley, 1999.

Jacobson, Ivar, K. Palmkvist, and S. Dyrhage, 'Systems of Interconnected Systems', ROAD, 2, No. 1, 1995.

Kande´ , Mohamed Mancona, and Alfred Strohmeier, 'Towards a UML Pro.le for Software Architecture Descriptions'. In Proceedings of UML '2000 - The Unified Modeling Language: Advancing the Standard, Third International Conference, York, UK, October 2-6, 2000. Springer Verlag. URL = ""

Kerner, Judy, 'Joint Technical Architecture: Impact on Department of Defense Programs', CrossTalk, The Journal of Defense Software Engineering, October 2001.

Kruchten, Philippe, 'The 4+1 view model of architecture', IEEE Software, 12, No. 5, 1995.

Kruchten, Philippe, 'Modeling Component Systems with the Unified Modeling Language'. A Position Paper presented at the 1998 International Workshop on Component-Based Software Engineering. URL =

Kruchten, Philippe. The Rational Unified Process. Addison-Wesley, 1999.

Lago, P., and P. Falcarin, 'UML Requirements for Distributed Software Architectures'. In Proceedings of the 1st International Workshop on Describing Software Architecture with UML (co-located with ICSE'2001), Toronto, Canada, May 2001. URL =

Lakos, John. Large-Scale C++ Software Design. Addison-Wesley, 1996.

Lawrence, Bill, Dick Anthony, and Jeff Garland, 'A Process for Developing Reusable Software'. Position Paper submitted to the OOPSLA '99 Workshop on Patterns in Software Architecture: The Development Process.

Maier, Mark W., and Eberhardt Rechtin. The Art of Systems Architecting. CRC Press, 1996.

Maier, M.W., D. Emery, and R. Hilliard, 'Software Architecture: Introducing IEEE Standard 1471', Computer, 34, No. 4 , April 2001, pp. 107-109.

Martin, Robert C. Designing Object Oriented C++ Applications Using The Booch Method. Prentice-Hall, 1995.

McCarthy, Jim. Dynamics of Software Development. Microsoft Press, 1995.

Medividovic, Nenad, and David S. Rosenblum, 'Assessing the Suitability of a Standard Design Method for Modeling Software Architectures'. In Proceedings of the First Working IFIP Conference on Software architectures (WICSA1), San Antonio, TX, February 22-24, 1999. URL =

Medvidovic, Nenad, David S. Rosenblum, Jason E. Robbins, and David F. Redmiles, 'Modeling Software Architectures in the Unified Modeling Language', IEEE Computer Magazine, January 1999.

Medividovic, Nenad, and Richard N. Taylor, 'Separating Fact from Fiction in Software Architecture'. In Proceedings of the Third International Software Architecture Workshop (ISAW-3), pp. 105-108, Orlando, FL, November 1-2, 1998. URL =

Meyer, Bertrand, 'Applying Design by Contract', IEEE Computer, 25, No. 10, October 1992, pages 40-51.

Meyer, Bertrand. Object-Oriented Software Construction. Prentice-Hall, 1997.

Meyers, B. Craig, and Patricia Oberndorf. Managing Software Acquisition: Open Systems and COTS Products. Addison-Wesley, 2001.

Mili, Hafedh, Mohammed Fayad, Davide Brugali, David Hamu, and Dov Dori, 'Enterprise Frameworks: Issues and Research Directions', International Software Practice & Experience (SP&E) Journal, March 2002. URL = ""

Monroe, Robert T., Andrew Kompanek, Ralph Melton, and David Garlan, 'Architectural Styles, Design Patterns, and Objects', IEEE Software, January, 1997, pp. 43-52.

Naiburg, Eric J., and Robert A. Maksimchuk. UML for Database Design. Addison-Wesley, 2001.

Ousterhout, John K., 'Scripting: Higher Level Programming for the 21st Century', IEEE Computer, March 1998. URL = ""

Parnas, D.L., 'On the Criteria To Be Used in Decomposing Systems into Modules', Communications of the ACM, 15, No. 12, December 1972, pp. 1053-1058.

Paulish, Daniel J. Architecture-Centric Software Project Management: A Practical Guide. Addison-Wesley, 2001.

Pryce, Nathamid G., 'Component Interaction in Distributed Systems'. PhD Thesis, Imperial College of Science, Technology and Medicine, January 2000.

Putman, Janis, R. Architecting With RM-ODP. Prentice Hall, 2000.

Rettig, Michael J., and Martin Fowler, 'Refection vs. Code Generation', Java World, November 2001.

Riel, Arthur J. Object-Oriented Design Heuristics. Addison-Wesley, 1996.

Rising, Linda, and Norman S. Janoff, 'The Scrum Software Development Process for Small Teams', IEEE Software, July/August 2000.

Rosenberg, Doug, and Kendall Scott. Use Case-Driven Object Modeling with UML. Addison-Wesley, 1999.

Rumbaugh, James, Ivar Jacobson, and Grady Booch. The Unified Modeling Language Reference Manual. Addison-Wesley, 1999.

Schmidt, Douglas, Michael Stal, Hans Rohnert, and Frank Buschmann. Pattern-Oriented Software Architecture, Volume 2, Patterns for Concurrent and Networked Objects. John Wiley, 2000.

Sewell, Marc, and Laura Sewell. The Software Architect's Profession: An Introduction to the 21st Century. Prentice-Hall, 2001.

Shaw, M., and P. Clements, 'A Field Guide to Boxology: Preliminary Classification of Architectural Styles for Software Systems'. In Proceedings of Computer Software and Applications Conference 1997 (COMPSAC '97), 1997, pp. 6-13.

Shaw, Mary, and David Garlan. Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, 1996.

Smith, Douglas, 'Realizing Architecture Through Realizing Use Cases'. In Proceedings of UML World 2000, June 12, 2000, New York. Published by CMP Media, pp. 1131-1168.

Soni, Dilip, R.L. Nord, and Liang Hsu, 'An Empirical Approach to Software Architectures'. In Proceedings of the Seventh International Workshop on Software Specification and Design, 1993, pp. 47-51.

Taylor, P., 'Adhocism in Software Architecture - Perspectives from Design Theory'. In Proceedings of the International Conference on Software Methods and Tools 2000 (SMT 2000), pp. 41-50.

Vaughan, Jack, 'UML Hits the Streets', Application Development Trends, 8, No. 9, September 2001, pp 18-23.

Weinberg, Gerald M. The Psychology of Computer Programming, Silver Anniversary Edition. Dorset House Publishing. February 2000.

Weiss, David M., Chi Tau Robert, and Lai, Software Product-Line Engineering: A Family- Based Software Development Approach. Addison-Wesley, 1999.

Wirth, Niklaus, 'Program Development by Stepwise Refinement', Communications of the ACM, 14, No. 4, April 1971, pp. 221-227.

Yourdon, E. Modern Structured Analysis. Prentice-Hall, 1991.

Last modified: Wed Aug 4 14:29:25 MST 2004