Fases de um sistema de informação: diferenças entre revisões
Linha 18: | Linha 18: | ||
# Manutenção de software. | # Manutenção de software. | ||
[[Ficheiro:Cascata.jpg| thumb | [[Ficheiro:Cascata.jpg|thumb|200px|''Fonte:[http://arquivo.devmedia.com.br/REVISTAS/easyjava/imagens/31/1/1.png Google Images]'']] | ||
Revisão das 16h30min de 11 de fevereiro de 2016
Existem diversos modelos para o desenvolvimento de Sistemas de Informação:
Cada modelo compreende um conjunto particular de fases que, com mais ou menos variações, procuram cumprir o mesmo objetivo: desenvolver e construir sistemas de informação capazes de suprir as necessidades dos seus utilizadores.
Modelo Waterfall
O modelo waterfall (ou "em cascata") é um modelo de desenvolvimento de software/sistemas de informação sequencial, isto é, no qual as fases se sucedem umas às outras de forma constante (como o fluir de uma cascata):
- Análise de requisitos;
- Projeto;
- Implementação;
- Testes (validação);
- Integração;
- Manutenção de software.
Neste modelo, a passagem de uma fase para a seguinte é puramente sequencial. Isto significa que só se inicia uma nova fase quando a anterior está completa. Por isto, é considerado rígido - não permite voltar atrás numa fase para fazer melhoramentos (uma fase só é terminada quando considerada "perfeita") - e monolítico - não inclui a participação dos utilizadores no processo.
Mais ainda, as métricas utilizadas nas estimativas de tempo e recursos são imprecisas, levando a que, quase sempre, o planeamento das atividades tenha que ser revisto. No entanto, devido à sua rigidez, o modelo em cascata não permite os reajustes necessários, causando o não cumprimento dos prazos estipulados inicialmente.
Modelo em Espiral
O modelo em espiral é um modelo de desenvolvimento de software/sistemas de informação cíclico onde, em cada ciclo, existem fases de avaliação e planeamento.
Este modelo foi desenvolvido para abranger as melhores características tanto do ciclo de vida clássico como da prototipação, acrescentando, ao mesmo tempo, um novo elemento - a análise de riscos - que falta a esses paradigmas. Em Modelo em Espiral
Existem diferentes variações do modelo, sendo que todos compreendem entre três e seis tarefas/setores que incluem:
- Comunicação com o cliente;
- Planeamento;
- Análise de risco;
- Engenharia;
- Construção e liberação;
- Avaliação do cliente.
Fonte: Google Images
A dimensão radial representa o custo acumulado actualizado e a dimensão angular representa o progresso através da espiral. Cada sector da espiral corresponde a uma tarefa (fase) do desenvolvimento. Em Modelo em Espiral
Ao contrário do modelo em cascata, este é flexível e inclui a participação dos utilizadores durante todo o processo. É uma abordagem mais realista e evolutiva.
Modelo Agile
O modelo agile é um modelo de desenvolvimento de software/sistemas de informação que tem como objetivo minimizar o risco através do desenvolvimento em janelas de tempo pequenas, chamadas de iterações. Cada iteração é um "mini-projeto" que inclui todas as fases necessárias à criação de novo software:
- Planeamento;
- Análise de Requisitos;
- Projeto;
- Codificação;
- Teste;
- Documentação.
Para cada iteração, que tem uma duração típica de 1 a 4 semanas, é, então, lançada uma versão do SI.
Fonte: Google Images
Na criação de novo software, então, devem estar envolvidas todas as pessoas necessárias ao desenvolvimento do SI, nomeadamente: os programadores, os clientes, os projetistas, os responsáveis pela realização dos testes, etc.
Este método dá uma grande importância à comunicação presencial, desenfatizando o papel da comunicação escrita. Consequentemente, o modelo agile dá origem a pouca documentação, o que pode ser visto como um ponto negativo, uma vez que a criação de documentação pode ser muito útil em iterações futuras ou novos projetos de desenvolvimento.