Desenvolvimento de software
Introdução: Engenharia de software é uma área da computação virada para a especificação, desenvolvimento e manutenção de sistemas de software, com aplicação de tecnologias e práticas de gerência de projetos e outras disciplinas, visando organização, produtividade e qualidade.
Os fundamentos científicos para a engenharia de software envolvem o uso de modelos abstratos e precisos que permitem ao engenheiro especificar, planear, implementar e manter sistemas de software, avaliando e garantindo as qualidades. Como engenharia de software envolve o uso de modelos, eles sao:
Modelo “waterfall” ou ciclo de vida.
Modelo de desenvolvimento incremental.
Modelo de reutilização orientada.
Modelo waterfall
O primeiro modelo publicado sobre o processo de desenvolvimento de software foi derivado de processos de engenharia de sistemas mais gerais. Por causa da cascata de uma fase para outra, este modelo é conhecido como o modelo "Waterfall” ou ciclo de vida do software. O modelo em cascata é um exemplo de um plano de processo orientado - no princípio, deve-se planear e programar todo o processo antes de começar a trabalhar neles.
Este modelo é composto por cinco fases, sendo elas:
Analise de requerimentos e definição.
Design de software.
Implementação e teste.
Integraçao.
Utilização e manutenção.
Modelo de desenvolvimento incremental: Desenvolvimento incremental é baseado na ideia de desenvolver uma implementação inicial, através de várias versões até que um sistema adequado foi desenvolvido. Especificação, desenvolvimento e validação de actividades são intercaladas em vez de separadas, com feedback rápido em actividades.
Este modelo tem três grandes benefícios comparado ao modelo “waterfall”:
Custo de efectuar novas exigências por parte dos clientes é reduzido;
Facilidade em obter um feedback sobre o desenvolvimento do trabalho efectuado;
Entrega de software útil ao cliente é