Software Design
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. |