Since the 1980s, use cases have been a way to bring users into software design, but translating use cases into software has been an art, at best, because user goods often don't respect code boundaries. Now that aspect-oriented programming (AOP) can express crosscutting concerns directly in code, the man who developed use cases has proposed step-by-step methods for recognizing crosscutting concerns in use cases and writing the code in separate modules. If these methods are at all fruitful in your design and development practice, they will make a big difference in software quality for developers and users alike. This book not only provides ideas and examples of what aspect-oriented software development is but how it can be utilized in a real development projects. In this highly anticipated new book, Ivar Jacobson and Pan-Wei Ng demonstrate how to apply use cases, a mature and systematic approach to focusing on stakeholder concerns, and aspect-orientation in building robust and extensible systems. Throughout the book, the authors employ a single, real-world example of a hotel management information system to make the described theories and practices concrete and understandable.