Software Engineering is the sub discipline of Computer Science that attempts to apply engineering principles to the creation, operation, modification and maintenance of the software components of various systems. As with much of Computer Science, the subject of Software Engineering is at a very early stage in its development. It is much more of an art than a science, and at present has little in common with classical engineering.I believed that the methodology followed by the book is the best way to teach the software engineering. I have written the book to be used as a text book and have designed it to meet the needs that I have seen in my own classes and industry needs. My industrial experience performing software development, consulting and professional training has allowed me to focus on material that is important to the employers of these students.This book provides an introduction to software engineering for students in undergraduate and post graduate programs in Computer Science, Computer Engineering, Information Technology, Software Engineering and related fields at the college and university level. It can also be used by practicing software developers in industry.