Software Engineering Concepts Authored by Richard Fairley is a great book on the subject. It is used as text and reference books in Engineering and MCA courses. This text is written for junior, seniors, graduate students, and practitioners of software engineering.