Topics range from the technically challenging formal specifications to managerial issues such as quality and team organization to HCI aspects. The author's approach to the material and organization of the chapters is based on years of teaching experience of the software life cycle itself and all the satellite subjects which make up the practice of developing and working on large scale software projects. As developing software becomes ever increasingly complicated, the practices adjust accordingly. The references given and pointers for further reading are comprehensive.
This has book has given me a great overview of the software life cycle. Before reading this I had a very limited understanding of any stage of that cycle other than perhaps implementation, but I've learned some really valuable information now that I'm finished. It doesn't go too deep into a lot of the topics, but I think that's the point. It's showing you every aspect of software engineering, so that you can study further as you wish, giving you that safety net of broad knowledge in the field. A great book for aspiring software engineers (or, as in my case, web developers).