The comprehensive coverage and real-world perspective makes the book accessible and appealing to both beginners and experienced designers. Covers both the fundamentals of software design and modern design methodologies? Provides comparisons of different development methods, tools and languages Blends theory and practical experience together Emphasises the use of diagrams and is highly illustrated