Software engineering is the branch of computer science that deals with the design, development, testing, and maintenance of software applications. It is an engineering-style system of software development that applies engineering principles and knowledge of programming languages to create operating systems, applications and programs.