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.228 ]

Por: Gustavo Villa em 07/06/2005


Modelo de prototipagem



A abordagem de prototipagem é muito útil para o esclarecimento e formalização do projeto.

Esclarecimento, pois tudo o que será desenvolvido será baseado no que for apresentado em forma de telas para os usuários finais; e formalização, pois depois de aprovado o protótipo, você não corre o risco do cliente alegar que achava que determinada funcionalidade estaria no sistema.

Geralmente quando vamos desenvolver um sistema, o cliente define um conjunto de objetivos gerais para o software, mas não identifica detalhadamente requisitos de entrada, processamento e saída.

Nós, desenvolvedores, podemos também estar inseguros da eficiência de um algoritmo ou da forma que a interação homem/máquina deve assumir.

Como este modelo funciona então?


O modelo de prototipagem começa com a definição de requisitos. O desenvolvedor e o cliente se encontram e definem objetivos gerais do software, identificam as necessidades conhecidas e delineiam áreas que necessitam de mais definições.

Um projeto rápido é então realizado.

Esse projeto concentra-se na representação daqueles aspectos de software que vão ficar visíveis ao cliente/usuário (ex: abordagens de entrada e formatos de saída).

O projeto rápido parte de um protótipo. O protótipo é avaliado pelo cliente/usuário e usado para refinar os requisitos do software que será desenvolvido.

Interações ocorrem a medida que o protótipo é ajustado para satisfazer as necessidades do cliente e ao mesmo tempo permite ao desenvolvedor entender o que precisa ser feito.

O protótipo serve como um mecanismo para a identificação dos requisitos do software. APENAS PARA ISSO!

Você pode desenvolver protótipos executáveis se julgar mais adequado. Neste caso, o desenvolvedor tenta usar partes de programas existentes ou aplica ferramentas (geradores de relatórios, gestores de janelas) que permitem que programas executáveis sejam gerados RAPIDAMENTE.

O protótipo pode servir como o primeiro sistema (segundo Pressman cita, a questão não é se ele será descartado. Ele será pois ninguém é capaz de projetar um sistema perfeito na primeira versão).

Esse tipo de abordagem agrada desenvolvedores e clientes.

O fluxo de desenvolvimento funciona da seguinte maneira:

OUVIR O CLIENTE - > CONSTRUIR/REVISAR PROTÓTIPO -> CLIENTE TESTA -> OUVIR O CLIENTE -> ETC...

Ao final do protótipo, temos o sistema todo delineado e já especificado o que deve ser feito.

A partir daí, o protótipo deverá ser utilizado apenas como um documento base para o que deve ser desenvolvido. O desenvolvimento de um software com qualidade começa a partir deste ponto.

Os problemas da prototipagem são:

1) O cliente vê o que parece ser uma versão executável do software, ignorando que o protótipo apenas consegue funcionar precariamente, sem saber que na pressa de fazê-lo rodar, ninguém considerou a sua qualidade global ou a manutenibilidade a longo prazo. O protótipo não deve ser reutilizado, pois foi feito apenas para que os requisitos do sistema fossem compreendidos.

Quando informado que o produto deve ser refeito de modo que altos níveis de qualidade possam ser atingidos, o cliente reclama e exige "alguns consertos", para transformar o protótipo num produto executável. Erroneamente, mas em geral, os desenvolvedores concordam.

2) O desenvolvedor freqüentemente faz concessões na implementação a fim de conseguir rapidamente um protótipo executável. Um sistema operacional ou uma linguagem de programação inapropriada pode ser usado simplesmente por estar disponível e serem conhecidos; um algoritmo ineficiente pode ser implementado simplesmente para demonstrar uma possibilidade. Com o tempo, o desenvolvedor pode ficar familiarizado com essas escolhas e esquecer todas as razões por que elas eram inadequadas. Temos que tomar muito cuidado com isso. Uma escolha muito abaixo da ideal se tornou parte integral do sistema.

O importante para a prototipagem é definir as regras do jogo no início; isto é, o cliente e o desenvolvedor devem estar de acordo que o protótipo seja construído para servir apenas como um mecanismo para definição dos requisitos e depois ele é descartado, e o software real é submetido à engenharia com o objetivo de buscar qualidade e manutenibilidade.

Página anterior     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

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

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

Polimorfismo - Uma visão em C++ e Java

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

Entendendo POO (História e conceitos)

  
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