Buschmann, F., R. Meunier, H. Rohnert, P. Sommerlad, and M. Stal. Pattern-Oriented Software Architecture, Volume 1: A System of Patterns . New York: John Wiley & Sons, 1996.
Collectively known as the "Gang of Five," this book contains several useful architectural and system-level patterns.
Bass, L., P. Clements and R. Kazman. Software Architecture in Practice . Reading, MA: Addison-Wesley, 1998.
Although the case studies are either simplistic or not relevant to those of us creating real products, this book provides several excellent taxonomies on how to think about various issues in software architecture. Highly recommended.
Collins, D. Designing Object-Oriented User Interfaces . Redwood City, CA: Benjamin/Cummings, 1995.
This book should be required reading for any developer given primary responsibility for the design of the user interface. Collins addresses the proper construction of the system model and shows how they should be implemented. What is especially important is the practical advice on separating the presentation from the underlying implementation details.
Fowler, M. Patterns of Enterprise Application Architectures . Boston: Addison-Wesley, 2003.
Martin's new book is destined to become a classic for any architect who is building enterprise applications. Martin's book is a great compliment to this bookwhich is among the reasons they are in the same series!