-
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 :
- 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
- 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 ?
- Melhorando a qualidade do software produzido
- 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]