Software Architecture

Software Architecture Essential Bookshelf

The following are entries for the software architect's essential  bookshelf, as nominated by visitors to this site. Contact us to submit the titles of papers or books that should be on the architect's essential bookshelf.

Collection

Alexander, Christopher. The Timeless Way of Building,   ISBN 0-19-502402-8. (details)

Alexander, Christopher; Ishikawa, Sara; & Silverstein,   Murray. A Pattern Language: Towns, Buildings, Construction, Oxford   University Press, 1977. (details)

M. Aksit (Ed.). Software Architectures and Component   Technology: The State of the Art in Research and Practice, Boston: Kluwer   Academic Publishers, 2001. (details)

Ambler, Scott W. Agile Modeling: Effective Practices for   eXtreme Programming and the Unified Process, John Wiley & Sons, ISBN:   047127190X, 2002. (details)

Baldwin, Carliss Y. & Clark, Kim B. Design Rules -   Vol. 1 : The Power of Modularity, MIT Press, 2000. (details)

Bass, Len; Clements, Paul; & Kazman, Rick. Software   Architecture in Practice, Addison-Wesley, 1997. (details, 2nd nomination)

Booch, Grady. Handbook of Software   Architecture. (details)

Resources for Software   Architects, Bredemeyer Consulting. (details)

Buschmann, Meunier, Rohnert, Sommerlad, & Stal. Pattern-Oriented Software Architecture – A System of Patterns,   Wiley, 1996. (details)

Coplien, James O. & Harrison, Neil B. Organizational   Patterns of Agile Software Development, Prentice Hall, 2004. (details)

Fowler, Martin. et al. Patterns of Enterprise Application   Architecture, Addison-Wesley Professional, 2002. (details)

Garland, Jeff & Anthony, Richard. Large-Scale Software   Architecture, A practical guide using UML, John Wiley & Sons, ISBN:   0470848499, 2002. (details)

Gamma, Erich; Helm, Richard; Johnson, Ralph; Vlissides, John. Design Patterns: Elements of Reusable Object-Oriented Software,   Addison-Wesley, ISBN-10: 0201633612, ISBN-13: 978-0201633610, 1995. (details)

Gorton, Ian. Essential Software Architecture,   Springer, ISBN: 3540287132, 2006. (details)

Hofmeister, Christine; Nord, Robert; Soni, Dilip; &   Hofmeister, Christine. Applied Software Architecture, Addison-Wesley,   1999. (details)

Johnson, Rod. Expert One-on-One J2EE Design and   Development, Peer Information, 1st edition (October 2002). (details)

Kruchten, P. "The 4+1 View Model of Architecture", IEEE   Software, Vol 12, No. 6, November 1995. (details)

Larman, Craig. Applying UML and Patterns: An Introduction   to Object-Oriented Analysis and Design and Iterative Development (3rd   Edition), Prentice Hall PTR, 2004. (details)

Maier, Mark W. & Rechtin, Eberhardt. The Art of   Systems Architecting, 2nd Edition, ISBN 0-8493-0440-7.(details)

"Recommended Practice for Architectural Description of   Software Intensive Systems", IEEE Std. 1471-2000. (details)

Rozansksi, Nick & Woods, Eoin. Software Systems   Architecture Working With Stakeholders Using Viewpoints and Perspectives,   Addison-Wesley 2005. (details)

Software Fundamentals: Collected Papers by David L. Parnas.   Ed. by Daniel M. Hoffman and David M. Weiss. Addison Wesley, 2001. (details)

Shalloway, Alan & Trott, James. Design Patterns Explained: A New Perspective on Object-Oriented Design. Addison-Wesley, 2005.

Shaw, M. & Garlan, D. Software Architecture:      Perspectives on an Emerging Discipline, Prentice Hall, April 1996. (details)

Simon, H. The Sciences of the Artificial, MIT Press,      1981. (details)

Whitmire, Scot. Object Oriented Design Measurement,      John Wiley & Sons, Inc, 1997, ISDN 0-471-13417-1. (details)


            

Details            

            

Date: July 9, 2008
Last name, first name: Kachroo, Moonesh
Organization/company: WNS - IT
City/state/country: Gurgaon, Haryana, India
Title: Technical Manager
Nomination: Design Patterns Explained: A New Perspective on Object-Oriented Design
Reason for nomination: The beauty of this book lies in the simplistic, realistic, and logical approach. Technically speaking, it exhibits a true IOC "Inversion of Control" approach where the book takes upon you rather you getting into it. Specifically, I would recommend this book to relatively new or/and aspiring architects who generally struggle hard in understanding/interpreting the language than the actual concept.
            

Date: December 10, 2007
Last name, first name: Abatzis, Nikolaos
Organization/company: Merlin International
City/state/country: Vienna, VA, US
Title: Sr. SW Architect
e-mail address: nikolaos@abatzis.com
Nomination: Johnson, Rod. Expert One-on-One J2EE Design and Development, Peer Information, 1st edition (October 2002), ISBN-10: 0764543857, ISBN-13: 978-0764543852
Reason for nomination: WARNING!!! This book contains much more than Design and Implementation info. Rob Johnson spends a lot of time explaining choices he made from an architectural perspective and "simply" demonstrates how these architectural choices propagate down the abstraction levels to become concrete choices of patterns to use and implement in classes. Although it is not a "pure" architecture book by title, the contents have been far more instrumental in driving architectural thinking than other books that I have come across. By making concrete examples in code he just reinforces and clarifies, due to experience of real life projects not just theory, concepts and choices he makes.

            

It is no coincidence that in Amazon he gets 5 stars from 32 reviews!             

Date: January 26, 2007
Last name, first name: Nakhre, Manish
Organization/company: Fitch Ratings
City/state/country: New York, New York, USA
Title: Sr. Consultant
e-mail address: manish.nakhre@gmail.com
Nomination: Larman, Craig. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition), Prentice Hall PTR, Hardcover: 736 pages. 3rd edition (October 20, 2004), Language: English ISBN-10: 0131489062, ISBN-13: 978-0131489066.
Reason for nomination: This book lucidly explains the application of patterns to different types of scenarios using a case study approach. It is a must have for any architect.             

Date: January 26, 2007
Last name, first name: Mukherjee, Shibaji
Organization/company: SUN Microsystems
City/state/country: Bangalore, KA, India
Title: Engineering Manager
e-mail address: mukher@yahoo.com
Nomination: Gamma, Erich; Helm, Richard; Johnson, Ralph; Vlissides, John. Design Patterns: Elements of Reusable Object-Oriented Software (Addison-Wesley Professional Computing Series), Hardcover: 395 pages, Addison-Wesley Professional; 1st edition (January 15, 1995). Language: English ISBN-10: 0201633612 ISBN-13: 978-0201633610.
Reason for nomination: This is the book which created the subject in its proper perspective and is a must in any architecture book list.             

Date: September 26, 2006
Last name, first name: Bass, Len
Organization/company: Software Engineering Institute
City/state/country: Pittsburgh/Pennsylvania/USA
Title: Sr. Member of the Technical Staff
e-mail address:
Nomination: Gorton, Ian. Essential Software Architecture, Springer, ISBN: 3540287132, 2006.
Reason for nomination: This book covers, among other things, the use and evaluation of middleware. This is an important skill for architects to have.             

Date: April 1, 2006
Last name, first name: Mukherjee, Joyjit
Organization/company: Microsoft
City/state/country: Hyderabad/AP/India
Title: Consultant
e-mail address: joyjitm@gmail.com
Nomination: Martin Fowler et al.,Patterns of Enterprise Application Architecture, Addison-Wesley Professional, 2002.
Reason for nomination: A great pattern oriented book which gives a new dimension to Software Architecture. Domain Model, Identity Map, Value Object, Table Inheritance etc. are practical patterns and being implemented by many Frameworks already. A must have for all Software Architects developing large scale enterprise applications.             

Date: December 14, 2005
Last name, first name: Tekinerdogan, Bedir
Organization/company: University of Twente
City/state/country: Enschede, The Netherlands
Title: Assistant professor, Software Architect
e-mail address: bedir@cs.utwente.nl
Nomination: M. Aksit (Ed.). Software Architectures and Component Technology: The State of the Art in Research and Practice, Boston: Kluwer Academic Publishers, 2001.
Reason for nomination: The book is a collection of nice papers including alternative insights in the software architecture design process. One of the important concepts that is addressed in some of the chapters of the book is the concept of analysis-synthesis-evaluation, which is a well-known problem solving concept in mature engineering disciplines. A broad overview on the application of this concept to software architecture can be found in the PhD thesis, "B. Tekinerdogan, Synthesis-based Software Architecture Design, University of Twente, The Netherlands, 2000".             

Date: December 12, 2005
Last name, first name: van Schelven, Richard
Organization/company: Marconi
City/state/country: Dun Laoghaire/Co. Dublin/Ireland
Title: Principal Engineer
e-mail address:
Nomination: Rozansksi, Nick & Woods, Eoin. Software Systems Architecture Working With Stakeholders Using Viewpoints and Perspectives, Addison-Wesley 2005.
Reason for nomination: This book is essential since it puts process on architecture. It also introduces the concept of perspectives which is very powerful to further focus on achieving quality attributes. It also helps gives people a start on viewpoints. Together with Software Architecture in Practice one of the best books I've read in years.             

Date: June 28, 2005
Last name, first name: Panduranga, Sathyanarayana
Organization/company: Flextronics Software Systems
City/state/country: Bangalore/India
Title: Solution Architect
e-mail address: sathyap@gmail.com
Nomination: Garland, Jeff & Anthony, Richard. Large-Scale Software Architecture, A practical guide using UML, John Wiley & Sons, ISBN: 0470848499, 2002.
Reason for nomination: This book provides guidelines to handle the intricacies of building large-scale software systems.             

Date: June 15, 2005
Last name, first name: Louzado, Dario
Organization/company: Independent Consultant
City/state/country: Manaus/AM/Brazil
Title: Software Architect
e-mail address: dlouzado@yahoo.com.br
Nomination: Coplien, James O. & Harrison, Neil B. Organizational Patterns of Agile Software Development, Prentice Hall, 2004, ISBN: 0131467409.
Reason for nomination: Components, connectors and interfaces shape the communication paths in the organization. People relationships, information flow. This book is about architecture, organization, culture and the set of forces among all these elements.             

Date: March 16, 2005
Last name, first name: Clements, Paul
Organization/company: Software Engineering Institute
City/state/country: Pittsburgh, PA
Title: Sr. Member of the Technical Staff
e-mail address:
Nomination: Grady Booch. Handbook of Software Architecture
Reason for nomination: While not a book or paper, I think Grady's handbook should be in every architect's bookmark list. He has produced a comprehensive, thoughtful, insightful, yet concise treatment of a complicated subject. It makes a splendid introduction, as well as an introduction to deeper concepts.             

Date: March 1, 2005
Last name, first name: Steinbach, Christian
Organization/company:
City/state/country: Luxembourg/Luxembourg
Title: Software developer
e-mail address:
Nomination: Ambler, Scott W. Agile Modeling: Effective Practices for eXtreme Programming and the Unified Process, John Wiley & Sons, ISBN: 047127190X, 2002.
Reason for nomination: This is the first comprehensive attempt at tying together two opposing software development cultures. On the one hand the Agile/Extreme Programming camp with its essentially people-based approach to development, and what is most often referred to as 'traditional' software development. Each culture is caricatured negatively by the other. Scott Amber shows how architecture (through modeling) becomes an activity that involves people and how that activity benefits software development.            

Date: March 21, 2004
Last name, first name: Midha, Amit
Organization/company: Carnegie Mellon University-West Coast Campus
City/state/country: Mountain View, CA, USA
              Title: Research Scholar
              e-mail address: midha@andrew.cmu.edu
Nomination: Resources for Software   Architects website
Reason for nomination: This is a knowledgeable site dedicated exclusively to software architecture.             

           

Date: March 10, 2004
Last name, first name: Asif, Muhammad
Organization/company: PICS
City/state/country: Islamabad, Punjab, Pakistan
Title: Developer
e-mail address:
Nomination: Bass, Len; Clements, Paul; & Kazman, Rick. Software Architecture in Practice, Addison-Wesley, 1997.
Reason for nomination: Because of its contents regarding architecture evaluation.             

Date: January 26, 2004
Last name, first name: Jackson, David
Organization/company: IBM
City/state/country: Palisades, NY US
Title: Senior Software Architect
e-mail address:
Nomination: The Timeless Way of Building, Christopher Alexander. ISBN 0-19-502402-8
Reason for nomination: No other book captures the soul of architectural thinking the way that Alexander does in this volume. I re-read it occasionally to remind me what I am really doing.             

Date: January 26, 2004
Last name, first name: Jackson, David
Organization/company: IBM
City/state/country: Palisades, NY USA
Title: Senior Software Architect
e-mail address:
Nomination: The Art of Systems Architecting, 2nd Edition, Mark W. Maier and Eberhardt Rechtin. ISBN 0-8493-0440-7
Reason for nomination: This is a comprehensive look at the current architectural thinking in software architecture and other domains. This is a complete look at the profession.             

Date: December 20, 2003
Last name, first name: Uzuncaova, Engin
Organization/company: Turkish Navy Research Center Command
City/state/country: Istanbul/Turkey
Title: Software Engineer
e-mail address: euzuncaova@armerk.tsk.mil.tr
Nomination: Shaw, M. and Garlan, D., Software Architecture: Perspectives on an Emerging Discipline, Prentice Hall, April 1996
Reason for nomination: From a graduate student's perspective, this book is good in putting it simple and as comprehensive as possible. That is an important quality that you want to have, if you are just a beginner.             

Date: August 8, 2003
Last name, first name: Ryberg, Richard
Organization/company: Titan Corp
City/state/country: Annapolis Junction, MD, USA
Title: Chief Systems Engineer
e-mail address: rryberg@titan.com
Nomination: Object Oriented Design Measurement by Scot Whitmire, John Wiley & Sons, Inc, 1997, ISDN 0-471-13417-1.
Reason for nomination: Excellent review of measurement theory and practice particularly as it applies to software engineering. This book should be in every software engineering and performance measurement library.             

Date: March 30, 2003
Last name, first name: Risi, Walter
Organization/company: LIFIA
City/state/country: Capital Federal/Buenos Aires/Argentina
Title: Software Architect
e-mail address: walter@lifia.info.unlp.edu.ar
Nomination: Applied Software Architecture by Christine Hofmeister, Robert Nord, Dilip Soni, Christine Hofmeister Published by Addison-Wesley Pub Co. 1999. ISBN: 0201325713
Reason for nomination: This is possibly the first book on software architecture that presents practices that are almost immediately applicable to day-to-day practice. It provides a method for developing architectures that is aligned to accepted best-practices from industry and academia, and packages it in a form so that it can be used almost out-of-the-box. Another interesting aspect of this book is that it presents an UML-based notation for software architectures that is both descriptive and easy to use in industrial practice. Finally, it has a strong "how-to" feeling often lacking in software architecture books.             

Date: December 5, 2002
Last name, first name: Kabealo, Craig
Organization/company: Development Consultants Incorporated
City/state/country: Columbus, OH, USA
Title: Enterprise Java Architect
e-mail address: craig@devconinc.com
Nomination: Alexander, Christopher; Ishikawa, Sara; & Silverstein, Murray. A Pattern Language: Towns, Buildings, Construction, Oxford University Press, 1977.
Reason for nomination: While this book does not deal with software architecture per se, it does clearly articulate the millennia of cumulative experience of pattern-based architectural reasoning. It is an essential reference that provides a historical foundation for the integration of patterns in architectural problem solving. This is the quintessential guide to the discipline of architectural design and forms the philosophical basis for all architectural reasoning.             

Date: November 27, 2002
Last name, first name: Mjema, Fredrick
Organization/company: iPath Solutions
City/state/country: Houston/TX/USA
Title: Technical Consultant
e-mail address:
Nomination: Bass, Len; Clements, Paul; & Kazman, Rick. Software Architecture in Practice, Addison-Wesley, 1997.
Reason for nomination: This book is a must have for any architect's bookshelf. The authors goes in great details to discuss the importance of architecture business cycle, quality attributes, unit operations and much more. The book not only introduce you to architecture styles but also how the quality attributes can be achieved by these styles. It gives you the tools on how to derive these styles from first principle. This book lays foundation for an ever increasing importance in architecture analysis methods, Attribute Based Architecture Styles (ABASs) and reuse with product-line architectures.             

Date: September 30, 2002
Last name, first name:
Organization/company:
City/state/country:
Title:
e-mail address:
Nomination: Baldwin, Carliss Y. & Clark, Kim B. Design Rules - Vol. 1 : The Power of Modularity, MIT Press, 2000.
Reason for nomination: An essential text as architects scale software up from "components" to "systems". The authors make compelling arguments for the necessity of design rules as the backplane of any complex system. The examples, especially that of the development and architecture behind the IBM 370, are persuasive and compelling. In addition, concrete techniques, such as the design structure matrix, are described and used throughout the text.             

Date: September 10, 2002
Last name, first name: Emery, David
Organization/company: MITRE Corporation
City/state/country: Mclean, VA USA
Title:
e-mail address: emery@mitre.org
Nomination: IEEE Std 1471-2000 Recommended Practice for Architectural Description of Software Intensive Systems
Reason for nomination: This is the first standard to explicitly address how to describe architectures. It provides a reference model for describing architectures and normative requirements on the contents of an architectural description.             

Date: August 2, 2002
Last name, first name: Clements, Paul
Organization/company: Software Engineering Institute
City/state/country: Pittsburgh, PA USA
Title: Sr. Member, Technical Staff
e-mail address: clements@sei.cmu.edu
Nomination: Buschmann, Meunier, Rohnert, Sommerlad, Stal. Pattern-Oriented Software Architecture – A System of Patterns, Wiley, 1996.
Reason for nomination: This is the first widely used architectural pattern (also called "architectural style" in many circles) catalog. As such, it represents a watershed for those in the architecture field who have been pushing for making architectural design more systematic, more repeatable, and more predictable by using a known set of patterns/styles. Patterns have known quality attributes, are more analyzable, decrease learning time and training time for a system, and bring to the table their own style-specific vocabulary that makes the design and development process more effective. The book by Buschmann et al. represents a turning point in architectural design.             

Date: August 2, 2002
Last name, first name: Clements, Paul
Organization/company: Software Engineering Institute
City/state/country: Pittsburgh, PA USA
Title: Sr. Member, Technical Staff
e-mail address: clements@sei.cmu.edu
Nomination: Software Fundamentals: Collected Papers by David L. Parnas. Ed. by Daniel M. Hoffman and David M. Weiss. Addison Wesley, 2001.
Reason for nomination: Parnas laid the foundations for what we call today "software architecture". It is a bit too strong to say that he did so single-handedly, but that is not far from the truth. This book includes all of his important papers on the subject (as well as many others), and should be required reading for anyone interested in architectural "first principles." Among the best best: "On the Criteria to be Used in Decomposing Systems into Modules" (1972) which for the first time articulated the principle of information-hiding, the encapsulation idea without which object-oriented design and component-based development would be impossible; "On a 'Buzzward': Hierarchical Structures", which teaches us that software systems are composed simultaneously of many structures, both static and dynamic, which is the basis for the multi-view approach such as 4+1 and others; "Design Software for Ease of Extension and Contraction", which details the "uses" relation in software, a vastly under-utilized relation that is behind our ability to extract useful subsets of systems and to practice incremental development; "On the Design and Development of Program Families," which lays out the first principles behind developing software as a family of systems, giving us the very powerful software product line approach; "Response to Undesired Events in Software Systems," which lays out the now-taken-for-granted scheme of separating the detection of an error from its handling, and of bubbling errors back up to the callers who are best equipped to remedy them; "A Procedure for Designing Abstract Interfaces for Device Interface Modules," a wonderful paper that teaches design principles for interface specification and provides a very useful template; and many others.             

Date: August 1, 2002
Last name, first name: Kazman, Rick
Organization/company: Software Engineering Institute
City/state/country: Pittsburgh, PA USA
Title: Sr. Member, Technical Staff
e-mail address: rkazman@sei.cmu.edu
Nomination: Kruchten, P. "The 4+1 View Model of Architecture", IEEE Software, Vol 12, No. 6, November 1995.
Reason for nomination: This paper sets out a sensible list of architectural views that you should consider when creating an architecture, and justifies why each one is necessary. This paper lays out a minimal set of requirements for architectural documentation.             

Date: August 1, 2002
Last name, first name: Kazman, Rick
Organization/company: Software Engineering Institute
City/state/country: Pittsburgh, PA USA
Title: Sr. Member, Technical Staff
e-mail address: rkazman@sei.cmu.edu
Nomination: Simon, H., The Sciences of the Artificial, MIT Press, 1981.
Reason for nomination: This book is a must reading for any architect, particularly the chapter on the architecture of complexity. Herb Simon, 20 years ago, already thought of almost every important issue regarding the way that humans think about the design and analysis of complex artifacts.

Find Us Here

Find us on Youtube  Find us on LinkedIn  Find us on twitter  Find us on Facebook

Share This Page

Share on Facebook  Send to your Twitter page  Save to del.ico.us  Save to LinkedIn  Digg this  Stumble this page.  Add to Technorati favorites  Save this page on your Google Home Page 

For more information

Contact Us

info@sei.cmu.edu

412-268-5800

Help us improve

Visitor feedback helps us continually improve our site.

Please tell us what you
think with this short
(< 5 minute) survey.