Software Design provides a balanced view of the varied software design methodologies most widely used by practitioners. This book helps readers become better judges of what method to adopt when working in the field by discussing the strengths and limitations of each method. The text provides a general overview of software design within the context of software development along with a general presentation of design issues. It examines the nature of design activities, as well as their applications within software development.