Software engineering encompasses the design, development and testing of software applications and systems, drawing on principles of computer science, mathematics and engineering. An online master's ...