An Introduction To General Systems Thinking
by Gerald M. Weinberg
Classics in Software Engineering
Edited by Edward Nash Yourdon
Contains David L. Parnas' paper: "On the Criteria to Be Used in Decomposing Systems into Modules", ACM 1972. In my view, The software design paper, and perhaps roots for object design.
Designing Hard Software
by Douglas W Bennett
www.manning.com/Bennett (Out of print, try www.powells.com)
Designing Object-Oriented Software
by Rebecca Wirfs-Brock, Brian Wilkerson, Lauren Wiener
This text presents Responsibility Driven Design - The best concepts for thinking and designing with objects, from systems design to programming in any language.
Designing Object Oriented User Interfaces
by Dave Collins
Object Design: Roles, Responsibilities and Collaborations
by Rebecca Wirfs-Brock and Alan McKean
An in-depth guide to Responsibility Driven Design, building on the authors and the industries' 15 years of experience since RDD was first presented by Rebecca at OOPSLA 89. Object Design has extensive support for the fundamentals of design and in-depth discussions on flexibility and reliability. Object Design is also a great collaboration across the industry. The many connections to the literature and recommend readings total five pages of references. Great book!
Software Architecture in Practice
(The SEI Series)
by Len Bass, Paul Clements, Rick Kazman, Ken Bass
The Human Interface
by Jef Raskin
The Visual Display of Quantitative Information
by Edward R. Tufte One of the very best treatments on the honest effective presentation of information. (First of a series of three)
Workflow Handbook 1997
by Peter Lawrence (Editor), Workflow Management Coalition
Writing Effective use Cases
by Alistair Cockburn
The first software engineering text that I have read through from the start in a long long time. Every page has value, even if you have been at this for years.