A grosso modo, podemos dizer que a Engenharia de Software é uma área do conhecimento relacionado a todos os aspectos da produção e gestão de um software, compreendendo desde o seu estágio inicial na especificação dos requisitos até a sua manutenção, a qual tem por objetivo organizar, aumentar a produtividade e trazer mais qualidade ao software que desenvolvemos.

Hoje o software é uma das tecnologia mais importantes que temos, e consequentemente indispensável no nosso dia a dia, seja nos negócios, ciência, engenharia entre outros. Embora não fosse possível imaginar tal dependência a 50 anos atrás, pode se dizer que o software é tanto o produto quanto o meio utilizado para entrega do produto.

Diante desta evolução do software, a forma como o seu desenvolvimento e gestão vem sendo realizados também tem evoluído. A primeira definição que temos sobre o que é a engenharia de software é de 1969 por F. L. Baue, que diz que a engenharia de software é:

O estabelecimento e uso de sólidos princípios de engenharia para que esse possa obter economicamente um software que seja confiável e que funcione eficientemente em máquinas reais.”

Com base nesta definição é possível observar que não havia a necessidade de satisfação do cliente, assim como pontualidade na entrega, necessidade de testes e tão pouco faz menção aos aspectos de qualidade do software. Pontos estes que são o fundamentais nos dias de hoje.

A visão atual da Engenharia de software discute aspectos relacionados:

  • Especificação do software
  • O desenvolvimento do software
  • A validação do software
  • A evolução do software

E com foco na qualidade tem como visão os elementos:

  • Métodos: como fazer para construir
  • Ferramentas: Apoio automatizado
  • Procedimentos: ligação entre métodos e ferramentas

Embora a engenharia de software tenha evoluído muito nos últimos anos, ainda assim esta ainda é uma disciplina muito nova se comparado as outras engenharias, como engenharia civil, engenharia física entre outras. O que acaba por ainda existir muitos mitos na engenharia de software além de pontos a serem melhorados e estudados.

Uma série de artigos relacionados a engenharia de software, podem ser encontrados na tag dedicada sobre o tema.

Categorized in: