The collection of instructions which tell a computer how to work is
known as software. The branch of computer science which deals with the
application of engineering to develop software in a systematic method is
referred to as software engineering. It involves the designing and
implementation of complex computer programs. It is also concerned with
the maintenance of such computer programs. Software engineering is an
umbrella field that has various sub-disciplines. The most common of them
include software design, software development and software testing. This
book attempts to understand the multiple branches that fall under the
discipline of software engineering and how such concepts have practical
applications. Most of the topics introduced in this book cover new
techniques and the applications of this field. It will provide
comprehensive knowledge to the readers.