Desenvolvimento e Manutenção de Software


Tudo começou , se é que podemos falar em começo, com a crise de Software. Mas afinal que crise é esta e por que ela existe ?

Afinal desenvolver software é tão complexo e difícil assim ? Existem alguns itens básicos que devem ser levados em consideração no desenvolvimento de software, são eles:

Parece simples , não é. A prática tem mostrado que é muito , muito complexo.
  • Cada produto é um produto novo

  • É dependente do conhecimento

  • Para cada problema temos uma solução particular.

  • Software não é construído a partir de partes pré-existentes

Geralmente o software produzido é de baixa qualidade e os processos envolvidos são de baixa eficácia e produtividade.

O processo pode ser divido em :

  1. Desenvolvimento ( 30% do esforço)
  • Inicio - quando a necessidade do produto é identificada
  • Fim - quando os testes do produto implantado são concluídos e o produto é entregue para produção
  1. Manunteção (70 % do esforço)
  • Todas as atividades após a entrega
    • Aumento da capacidade do produto              60%
    • Adaptação do produto a novos ambientes     20%
    • Correção de erros                                            20% 

A manutenção geralmente é cara e inevitável devido as mudanças de requisitos , necessidade de ajustes e aumento de funcionalidades antes não previstas.

Por que o custo é tão alto ?

  • Não há controles sobre prazos ou planejamento sobre equipes e recursos
  • O levantamento de requisitos não é feito de forma integrada com o cliente e dentro de padrões definidos
  • O controle de qualidade é deficiente

Como tornar este processo mais eficiente e com menor custo ?

  1. Melhorando a qualidade do software produzido
  2. Melhorando o processo de produção do Sofware

Surgiu então a Engenharia de Software com a proposta de utilização de princípios de engenharia para atividades de projeto e construção de software a fim de obter um software eficiente.

A Engenharia de Software (ES) surgiu em meados dos anos 70 numa tentativa de contornar a crise do software e dar um tratamento de engenharia (mais sistemático e controlado) ao desenvolvimento de sistemas de software complexos. Um sistema de software complexo se caracteriza por um conjunto de componentes abstratos de software (estruturas de dados e algoritmos) encapsulados na forma de procedimentos, funções, módulos, objetos ou agentes e interconectados entre si, compondo a arquitetura do software, que deverão ser executados em sistemas computacionais.[Wikipédia]

Não é tão simples como parece pois o software tem suas particularidades que contribuem para que haja diversos problemas as serem enfrentados:

A Engenharia de Software (ES) deve então usar a prática para sistematizar as atividades de :

Como promover a Engenharia de Software ?

Para terminar citamos os principais modelos de Desenvolvimento de Software:

Na continuação entraremos em detalhes sobre cada um destes modelos. Aguarde...


José Carlos Macoratti