O que é Engenharia de Software?

Publicado em 03 Jul 2021 por André Felipe

Quando falamos de software, temos em mente uma grande variedades deles que utilizamos no nosso cotidiano como aplicativos para smartphones e tablets, e até mesmo sistemas corporativos de grande porte. O fato é que eles se tornaram indispensáveis nas áreas de engenharia, saúde, gestão e em muitas outras. Softwares são capazes de gerar o produto mais valioso, a informação, pois ela permite impulsionar o surgimento de novas tecnologias, auxiliar nas tomadas de decisão e automatização de tarefas de uma organização.

Por consequência, o maior desafio da área de desenvolvimento de software, se tornou desenvolvê-los de forma rápida, com qualidade e baixo custo. A Engenharia de Software é uma área de atuação e de estudo que visa, através de conjuntos de processos, técnicas e métodos, atingir esses objetivos.

Além dos citados acima, o maior desafio do processo de desenvolvimento de software é a mudança. Desenvolver novas funcionalidades ou alterar funcionalidades já existentes em qualquer software podem ser feitos devido a uma ou mais razões abaixo:

  • Novos ambientes de execução, como em rede

  • Novas tecnologias computacionais

  • Novas necessidades a nível de negócio

  • Necessidade de operar com outros bancos de dados ou em outros sistemas operacionais

Adições e alterações em funcionalidades fazem com que o software se torne mais sucetível a falhas e por consequência, menos confiável. Como softwares passaram a serem indispensáveis para as organizações, é necessário desenvolver projetos de software de qualidade para minimizar os impactos negativos para as organizações. Para isso, existem dois modelos de gestão de projetos de software: Modelo em Cascata e Modelo Ágil. Em ambos, as etapas de desenvolvimento são semelhantes, porém aplicadas de forma diferente.

A primeira etapa de desenvolvimento é o Levantamento e Análise de Requisitos, onde é definido o que o software deve fazer ou resolver, o quanto será gasto para desenvolvê-lo e quanto tempo será necessário para desenvolvê-lo.

Após isso, na etapa de Definição do Projeto, é escolhido as tecnologias de software e hardware que serão utilizadas no desenvolvimento do projeto, como linguagens de programação, bancos de dados, frameworks, design visual, processador, memória, e outros.

Após isso, nas etapas de Codificação e de Testes, o software é desenvolvido, utilizando as tecnologias escolhidas, e testado, visando encontrar falhas de desenvolvimento (bugs).

Por fim, na etapa de Implantação, o software é implantado no hardware escolhido, caso existente, e entregue para o cliente.

Após isso, caso o software precise de alterações ou de novas funcionalidades, é feito um novo projeto com as mesmas etapas, porém com novos requisitos.