Requirements Analysis and System Design: Developing Information Systems with UML by Leszek Maciaszek
This is a thorough text on object-oriented software development emphasizing large-scale applications and capitalizing on the increasing popularity of UML and client-server techniques. The book addresses the latest developments in database technology including object-relational databases. In this context, the Internet-driven shift from thick-clients back to server-based computing is acknowledged. The analysis and design principles discussed in the text apply equally well to conventional client-server solutions and modern component-based distributed applications.