This revised edition of Software Engineering: Principles and Practices has become more comprehensive with the inclusion of several topics. The book now offers a complete understanding of software engineering as an engineering discipline. Like its previous edition, it provides an in-depth coverage of fundamental principles, methods and applications of software engineering. In addition, it covers some advanced approaches including Computer-Aided Software Engineering (CASE), Component-Based Software Engineering (CBSE), Clean-room Software Engineering (CSE) and formal methods. Taking into account the needs of both students and practitioners, the book presents a pragmatic picture of the software engineering methods and tools. A thorough study of the software industry shows that there exists a substantial difference between classroom study and the practical industrial application. Therefore, earnest efforts have been made in this book to bridge the gap between theory and practical applications. The subject matter is well supported by examples and case studies representing the situations that one actually faces during the software development process. For students enrolled in various courses both at the undergraduate and postgraduate levels, such as BCA, BE, BTech, BIT, BIS, BSc, PGDCA, MCA, MIT, MIS, MSc, various DOEACC levels and so on. It will also be suitable for those software engineers who abide by scientific principles and wish to expand their knowledge. With the increasing demand of software, the software engineering discipline has become important in education and industry. This thoughtfully organized second edition of the book provides its readers a profound knowledge of software engineering concepts and principles in a simple, interesting and illustrative manner.