Offers coverage required by students of software engineering, from the nuts and bolts of objects to software architecture, from writing code to testing, from software development processes to project management.
Comprehensive, clearly explained and with useful examples. The layout is sometimes a little confusing (exercises appearing out of nowhere, breaking up the flow of the chapter) but overall I found this a handy text.