O termo engenharia de software é composto de duas palavras, software e engenharia.

Software é mais do que apenas um código de programa. Um programa é um código executável, que serve a algum propósito computacional. O software é considerado uma coleção de arquivos executáveis

código de programação, bibliotecas associadas e documentações. Software, quando feito para um requisito específico é chamado de produto de software.


A engenharia, por outro lado, trata do desenvolvimento de produtos, usando princípios e métodos científicos bem definidos.


Assim, podemos definir a engenharia de software como um ramo da engenharia associado ao desenvolvimento de produtos de software usando princípios, métodos e procedimentos científicos bem definidos. O resultado da engenharia de software é um produto de software eficiente e confiável.


Necessidade de Engenharia de Software

A necessidade de engenharia de software surge devido à maior taxa de mudança nos requisitos do usuário e no ambiente em que o software está trabalhando.


Software grande - É mais fácil construir uma parede do que uma casa ou prédio, da mesma forma, como o tamanho do software se torna grande a engenharia tem que dar um passo para dar-lhe um processo científico.


Escalabilidade - Se o processo de software não fosse baseado em conceitos científicos e de engenharia, seria mais fácil recriar um novo software do que dimensionar um existente.


Custo - Como a indústria de hardware mostrou suas habilidades e enorme fabricação baixou o preço do computador e hardware eletrônico. Mas o custo do software continua alto se o processo adequado não for adaptado.


Natureza Dinâmica - A natureza sempre crescente e adaptável do software depende enormemente do ambiente em que o usuário trabalha. Se a natureza do software está sempre mudando, novos aprimoramentos precisam ser feitos no existente. É aqui que a engenharia de software desempenha um bom papel.


Gestão da Qualidade - Melhor processo de desenvolvimento de software fornece produto de software melhor e de qualidade.


Características de um bom software

Um produto de software pode ser julgado pelo que oferece e quão bem pode ser usado. Este software deve satisfazer pelos seguintes motivos:


  1. Operacional
  2. Transicional
  3. Manutenção

Espera-se que um software bem projetado e elaborado tenha as seguintes características:


Operacional

Isso nos diz como o software funciona bem nas operações. Pode ser medido em:

  • Orçamento
  • Usabilidade
  • Eficiência
  • Correção
  • Funcionalidade
  • Confiabilidade
  • Segurança
  • Segurança

Transitório

Este aspecto é importante quando o software é movido de uma plataforma para outra:

  • Portabilidade
  • Interoperabilidade
  • Reutilização
  • Adaptabilidade

Manutenção

Este aspecto resume o quão bem um software tem os recursos para se manter no ambiente em constante mudança:


  • Modularidade
  • Manutenibilidade
  • Flexibilidade
  • Escalabilidade

Em suma, a engenharia de software é um ramo da ciência da computação, que usa conceitos de engenharia bem definidos necessários para produzir produtos de software eficientes, duráveis, escaláveis, dentro do orçamento e no prazo.