Modelos de desenvolvimento

Todo sistema a ser desenvolvido possui um ciclo de vida, ou seja, tem começo, meio e fim. A forma como essas etapas serão realizadas já foram discutidas pelos mais conceituados profissionais da área de informática. Este artigo apresenta de forma simples 5 modelos de desenvolvimento diferentes.

[ Hits: 56.140 ]

Por: Gustavo Villa em 07/06/2005


Modelo sequêncial linear



É o modelo em cascata, ou seja, o projeto vai progredindo com o passar do tempo. Semelhante ao TCC.

ANÁLISE -> PROJETO -> CODIFICAÇÃO -> TESTE

Modelagem


Como o software faz parte de um sistema maior (hardware, bd, pessoas, todos interagindo), o trabalho começa pelo estabelecimento de requisitos para todos os elementos do sistema e depois são alocados alguns subconjuntos desses requisitos para o software (por isso "em cascata").

Análise de Requisitos para o Software


O foco da análise volta-se para o software a ser desenvolvido. São levantadas as questões: Domínio da informação (para que o software serve e em que contexto ele está inserido), funções necessárias, comportamentos (sempre que acontecer X, fazer Y), desempenho e interface. Todos esses requisitos são documentados e revistos com o cliente.

Projeto


O processo de desenvolvimento envolve múltiplos passos, que focam: estrutura de dados, arquitetura do software (como ele será construído), protótipo e detalhes procedimentais (algorítmicos). Este processo traduz (agora já pensando em nível técnico) as especificações de requisitos citadas no item anterior.

Geração de código


Se o projeto é realizado detalhadamente, a geração de código vira algo mecânico (aquela velha história que discutimos com maria angélica, hélder, etc).

Teste


O processo de teste focaliza os aspecto lógicos internos do software, garantindo que todos os comandos sejam testados e aspectos externos (descobrir erros na interface com o usuário e garantir que entradas definidas produzirão resultados reais, que estão de acordo com os resultados exigidos (é criada uma tabela de testes, contendo a entrada, o tipo dela - numérica, alfanumérica - e seu tamanho e informações sobre o que é esperado que se obtenha como saída).

Manutenção


A manutenção do software reaplica cada uma das fases anteriores a um programa existente ao invés de a um novo programa.

Este modelo é o mais antigo e o mais utilizado. Porém a crítica levou até mesmo seus atuais adeptos a questionar sua eficácia. Alguns problemas:

1) Projetos reais raramente seguem o fluxo proposto (como acontece em nosso TCC, agora que identificamos várias alterações a serem feitas no início). Como resultado, modificações podem causar confusão à medida que a equipe prossegue.

2) É difícil para o cliente estabelecer todos os requisitos explicitamente (sabemos mais que ninguém que isso sempre acontece. O Você Apita é um exemplo). Este modelo exige isso e tem dificuldade de acomodar a incerteza natural que existe no começo de vários projetos.

3) O cliente precisa ter paciência. Uma versão executável do programa não estará disponível enquanto o projeto não terminar. Um erro grosseiro pode ser desastroso se não for identificado até que o programa executável seja revisto.

    Próxima página

Páginas do artigo
   1. Modelo sequêncial linear
   2. Modelo de prototipagem
   3. Modelo RAD (Rapid Application Development)
   4. Modelos Evolucionários: Incremental
   5. Modelos Evolucionários: Espiral
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Entendendo POO (História e conceitos)

Introdução a eXtreme Programming (XP) e instalação do ANT + JUnit

Certificação Java - 2 - Literals and Ranges of All Primitive Data Types (Exam Objective 4.6)

180 dias sem solução

Certificação Java - 1 - Java Programming Language Keywords (Exam Objective 4.4)

  
Comentários
[1] Comentário enviado por hra em 07/06/2005 - 10:16h

O artigo está bom em certo aspecto, pois dá nomes as técnicas que os programadores já praticam sem nem perceber, mas algumas coisas estranhas no texto me fazem pensar que originalmente não éra um artigo e sim uma comunicação interna de alguma empresa. Me corrija se eu estiver errado, foi só uma impressão. Se for esse o caso então deveria haver créditos e referências, até para não caracterizar pirataria ou plagio.

Na primeira página tem um trecho assim: "(aquela velha história que discutimos com maria angélica, hélder, etc)"

Ainda nessa mesma página é citado algo (um site ?) chamado: "Você Apita"

Na pagina RAD tem mais "coisas":
"(tem mais detalhes aqui no livro sobre modelagem do negócio)"

Faltou uma introdução ao contexto, mas isso não é fundamental. O que faltou mesmo foi uma abordagem sobre XP (eXtreme Programming) que tem sido o modelo predominante no desenvolvimento para Linux, apesar de pouco conhecido e praticado no brasil.


[2] Comentário enviado por guvilla em 07/06/2005 - 10:57h

hra, muito obrigado pela observação!

Você tem razão que o texto está estranho por ter uns comentários.
Este texto eu usei em um estudo sobre Engenharia de Software na faculdade, logo, se existe plágio, estou me auto-plagiando (se é que isso é possível.... rs)

O que aconteceu é que tenho duas versões deste texto. Uma é a versão que utilizei inclusive no artigo sobre metodologia de desenvolvimento de software publicado no PHPBrasil, que está sem os comentários e outro que é este que publiquei aqui.

Procurei no texto a parte com a frase "aquela velha história que discutimos com maria angélica, hélder, etc", mas como não encontrei, achei que esta fosse a versão correta para publicação.

Desculpe minha falha. Na realidade já entrei em contato com o pessoal do vivaolinux para que isso seja corrigido.

Com relação ao XP, concordo que seja necessário comentar sobre ele. É uma metodologia nova e COMPLETAMENTE QUESTIONÁVEL já que exclui a documentação, que é fundamental em sistemas complexos.

Claro que esse tema é muito polêmico e será muito debatido, por isso até é preciso preparar um material bom a respeito do mesmo.

Mais uma vez, obrigado pelas observações.
Gustavo Villa.

[3] Comentário enviado por removido em 07/06/2005 - 23:58h

OPa!,

Parabéns pelo artigo nota 100... Favoritos+

Comentando sobre prótotipos, realmente no ciclo de um desenvolvimento de software acho que não pode foltar. Inclusive implementei recentemente na empresa onde trabalho, a etapa de prótotipo, e já me esta trazendo ótimos resultados.

--
Abs,
guinet gmail com

[4] Comentário enviado por danieldiasc em 30/05/2006 - 09:12h

Tá muito bom, mas 90% desse texto foi retirado do livro do Pressman.


Contribuir com comentário