I used this textbook as an introduction to Software Engineering, and for the first time in my University career, I didn't find my textbook lacking or incomplete.
This book covers it all: the basics of Software Engineering, a review on Object-orientation, the software life cycle, detailed modelling in UML, architecture and design, patterns, and testing.
The material is easy-to-read, in-depth, well organized, and comprehensive. Too often, you find a book that bogs you down in its wordiness and jargon, but this isn't one of them.
This book was written by professors in the Software Engineering field who know, from years of experience, what a student needs to know in order to learn and understand the process of software engineering.
This is not a book that will sit on your shelf: I used it all the time during my first software course and still take it as my reference for all my other software courses.
I recommend it to anyone who wants to learn a lot about software.