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

Por: Gustavo Villa em 07/06/2005


Modelo RAD (Rapid Application Development)



Modelo de desenvolvimento incremental que enfatiza um ciclo de desenvolvimento extremamente curto. O modelo RAD é uma adaptação de alta velocidade do modelo linear que é conseguido pelo desenvolvimento baseado em componentes.

Se os requisitos são bem compreendidos (aí podemos encaixar a questão do modelo de prototipagem, mas perderia a característica de desenvolvimento rápido) e o objetivo do projeto é restrito, o RAD permite criar sistemas plenamente funcionais dentro de períodos muito curtos (entre 60 e 90 dias - sistemas, não sites. Sites seriam menos tempo ainda).

Usa as seguintes fases:

Modelagem do negócio


O fluxo de informações entre as funções do negócio modelado visa responder as seguintes questões: Que informação dirige o processo do negócio? Que informação é gerada? Quem a gera? Para onde vai a informação? Quem a processa? (tem mais detalhes aqui no livro sobre modelagem do negócio).

Modelagem de dados


O fluxo de informações definido anteriormente é refinado num conjunto de objetos dados que são necessários para dar suporte ao negócio. Os atributos de cada objeto são identificados e as relações entre esses objetos são definidas (ainda é anterior ao Use Case... é como se estivéssemos definindo os atores e os use cases sem definir a relação entre eles... - isso que eu entendi vendo o item seguinte).

Modelagem do processo


Os objetos de dados definidos na fase anterior são transformados para conseguir o fluxo de informação necessário para implementar uma função do negócio. Descrições do processamento são criadas para adicionar, modificar, descartar ou recuperar um objeto de dados (acho que aqui monta-se propriamente o use case).

Geração da aplicação


Ao invés de usar linguagens procedimentais, o RAD usa linguagens de 4ª geração (4GL é um exemplo - permite que defina a especificação do projeto e a FRAMEWORK cria tudo... relatórios, cadastros, etc. - lembra da idéia do gerador de sites? Acho que é por aí, mas para aplicações mesmo). Seu desenvolvimento é feito para reutilizar componentes (quando possível) ou criar novos componentes reutilizáveis. Em todos os casos ferramentas automatizadas são usadas para facilitar a construção do software.

Teste e entrega


Como o processo RAD tem foco nos componentes, muitos dos componentes já devem ter sido testados. Isso reduz o tempo total de teste. Porém novos componentes devem ser testados e as interfaces exaustivamente exercitadas.

Se uma aplicação comercial pode ser modularizada de modo a permitir que cada função principal possa ser completada em menos de 3 meses usando a abordagem anterior, ela é candidata ao RAD. Cada função pode ser tratada por uma equipe RAD distinta e depois integrada para formar um todo.

Desvantagens


1) Para projetos grandes (mensuráveis) o RAD exige muitos recursos humanos.

2) Exige desenvolvedores e clientes compromissados com atividades contínuas e rápidas. Se não houver esse comprometimento, os projetos falharão.

3) Nem todos os tipos de aplicações são apropriadas para o RAD. Se o sistema não puder ser adequadamente modularizado, a construção dos componentes será problemática. Se for preciso um desempenho superior e esse desempenho seja conseguido com o ajuste dos componentes, a abordagem RAD pode não funcionar.

4) Quando riscos técnicos forem elevados, o RAD não é adequado (ex: uso de uma tecnologia nova ou exige comunicação com outros programas).

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

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

Entendendo POO (História e conceitos)

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

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

180 dias sem solução

  
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