As economias de todas as nações desenvolvidas estão dependentes do software. Cada vez mais sistemas são controlados por software. A engenharia de software diz respeito a teorias, métodos e ferramentas para o desenvolvimento profissional de software. A engenharia de software é uma disciplina de engenharia que se ocupa de todos os aspectos da produção de software. A engenharia de sistemas diz respeito a todos os aspectos do desenvolvimento de sistemas baseados em computadores, incluindo hardware, software e engenharia de processos. A engenharia de software faz parte deste processo.