Modelo em cascata

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
Question book.svg
Esta página ou se(c)ção não cita fontes fiáveis e independentes (desde julho de 2013). Por favor, adicione referências e insira-as no texto ou no rodapé, conforme o livro de estilo. Conteúdo sem fontes poderá ser removido.
Encontre fontes: Google (notícias, livros, acadêmico)Yahoo!Bing.

O modelo em cascata é um modelo de desenvolvimento de software seqüencial no qual o desenvolvimento é visto como um fluir constante para frente (como uma cascata) através das fases de análise de requisitos, projeto, implementação, testes (validação), integração, e manutenção de software. A origem do termo cascata é frequentemente citado como sendo um artigo publicado em 1970 por W. W. Royce; ironicamente, Royce defendia um abordagem iterativa para o desenvolvimento de software e nem mesmo usou o termo cascata. Royce originalmente descreve o que é hoje conhecido como o modelo em cascata como um exemplo de um método que ele argumentava ser um risco e um convite para falhas.

História do modelo em cascata[editar | editar código-fonte]

Em 1970 Royce propôs o que é agora popularmente designado no modelo em cascata como um conceito inicial, um modelo no qual ele argumentava ser defeituoso. Seu trabalho então explorou como o modelo inicial poderia ser desenvolvido em um modelo iterativo, com feedback de cada fase influenciando as próximas, de modo similar a muitos métodos amplamente utilizados hoje. Ironicamente, foi somente o modelo inicial que mereceu destaque; e sua crítica ao modelo inicial sendo amplamente ignorada. O modelo em cascata rapidamente não se tornou o que Royce pretendia, um projeto iterativo, mas ao invés disto um modelo puramente sequencialmente ordenado. Este artigo ira tratar o significado popular para o modelo em cascata. Para um modelo iterativo similar a versão final de Royce, ver o modelo em espiral.

A despeito das intenções de Royce para o modelo em cascata ser modificado para um modelo iterativo, o uso do modelo em cascata como um processo puramente sequencial é ainda popular, e, para alguns, o termo modelo em cascata veio se referir a uma abordagem para criação de software a qual é vista como inflexível e não iterativa. Aqueles que usam o termo modelo em cascata de forma pejorativa para modelos não iterativos aos quais não apreciam usualmente veem o modelo em cascata em si como ingênuo e inadequado para um processo do mundo real.

Uso do modelo cascata[editar | editar código-fonte]

O Modelo em cascata estático. O andamento do processo flui de cima para baixo, como uma cascata.

No modelo em cascata original de Royce, as seguintes fases são seguidas em perfeita ordem:

  1. Elicitação de requisitos
  2. Projeto
  3. Construção (implementação ou codificação)
  4. Integração
  5. Teste e depuração
  6. Instalação
  7. Manutenção de software

Para seguir um modelo em cascata, o progresso de uma fase para a próxima se dá de uma forma puramente sequencial. Por exemplo, inicialmente completa-se a especificação de requisitos — elaborando um conjunto rígido de requisitos do software (Por exemplo, os requisitos para Wikipédia devem permitir edições anônimas de artigos; Wikipédia deve permitir às pessoas procurar pelas informações), embora as especificações dos requisitos reais sejam mais detalhados, em um procedimento para projeto. O software em questão é projetado e um blueprint é desenhado para implementadores seguirem — este projeto deve ser um plano para implementação dos requisitos dados. Quando e somente quando o projeto está terminado, uma implementação para este projeto é feita pelos codificadores. Encaminhando-se para o próximo estágio da fase de implementação, inicia-se a integração dos componentes de software construídos por diferentes times de projeto. (Por exemplo, um grupo pode estar trabalhando no componente de página web da Wikipedia e outros grupos pode estar trabalhando no componente servidor da Wikipedia. Estes componentes devem ser integrados para juntos produzirem um sistema como um todo). Após as fases de implementação e integração estarem completas, o produto de software é testado e qualquer problema introduzido nas fases anteriores é removida aqui. Com isto o produto de software é instalado, e mais tarde mantido pela introdução de novas funcionalidades e remoção de defeitos.

Portanto o modelo em cascata move-se para a próxima fase somente quando a fase anterior está completa e perfeita. Desenvolvimento de fases no modelo em cascata são discretas, e não há pulo para frente, para trás ou sobreposição entre elas.

Contudo, há vários modelos em cascata modificados (incluindo o modelo final de Royce) que podem ser incluídos como variações maiores ou menores deste processo.