SlideShare uma empresa Scribd logo
RAD - Wikipédia                                                                                     http://pt.wikipedia.org/wiki/RAD




         RAD
         Origem: Wikipédia, a enciclopédia livre.

         Rapid application development (RAD), também conhecido como Desenvolvimento Rápido de Aplicação, é
         um modelo de processo de desenvolvimento de software iterativo e incremental que enfatiza um ciclo de
         desenvolvimento extremamente curto (entre 60 e 90 dias). O termo foi registrado por James Martin em 1991 e
         tem substituído gradativamente o termo de prototipação rápida que já foi muito utilizada no passado




          Índice


         Histórico
         Os modelos de processo de software apresentados durante a década de 70, cujo o modelo em cascata é um bom
         representante, possuíam longos períodos de desenvolvimento e muitas vezes os requisitos do sistema se
         alteravam antes do fim do processo. Os desenvolvedores de software necessitavam de um modelo mais ágil que
         permitisse um tempo de desenvolvimento mais curto e a mudança dos requisitos durante o processo. Nos anos
         80 os trabalhos de Barry Boehm (modelo de processo em espiral) e Tom Gilb (modelo de processo
         evolucionário) serviram de base para uma metodologia chamada de Rapid Iterative Production Prototyping
         (RIPP) criada por Scott Shultz. James Martin estendeu o RIPP agregando valores de outros processos
         tornando-o maior e mais formal sendo assim denominado de RAD. O RAD foi finalmente formalizado em
         1991 com a publicação de um livro.

         O Processo
         O número de fases do processo varia de acordo com os autores.


         Segundo Kerr, o processo se divide em 5 fases:

               Modelagem de Negócio

         O fluxo de informações entre as funções de negócio é modelado de modo a responder às seguintes questões: -
         Que informação direciona o processo de negócio? - Que informação é gerada? - Quem a gera? - Pra onde vai à
         informação? - Quem a processa? Na modelagem de negócio são levantados os processos suportados pelo
         sistema.

               Modelagem dos dados

         A modelagem de dados responde a um conjunto de questões específicas que são relevantes a qualquer
         aplicação. O fluxo de informação definido na fase de modelagem de negócio refinado e de forma a extrair os
         principais objetos de dados a serem processados pelo sistema, qual a composição de cada um dos objetos de
         dados, onde costumam ficar, qual a relação entre eles e quais as relações entre os objetos e os processos que os
         transformam.

               Modelagem do Processo



1 of 4                                                                                                               8/3/2008 04:11
RAD - Wikipédia                                                                                   http://pt.wikipedia.org/wiki/RAD


         Os objetos de dados definidos na modelagem de dados são transformados para conseguir o fluxo 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.

               Geração da Aplicação

         O RAD considera o uso de técnicas de quarta geração, trabalha com a reutilização de componentes de programa
         existentes quando possível, ou cria componentes reusáveis. São usadas ferramentas automatizadas para facilitar
         a construção do software. Ex: Delphi, Visual Basic, Asp.net, etc.

               Teste e Modificação

         Como o processo do RAD enfatiza o reuso, muitos componentes já estão testados, isso reduz o tempo total de
         teste. Todavia os novos componentes devem ser testados e todas as interfaces devem ser exaustivamente
         exercitadas.

         Esta divisão do processo é compartilhada por diversos autores inclusive Roger S. Pressman , cujo a obra é
         utilizada em diversas faculdades como livro guia para os estudantes.

         Porém existem outras abordagens utilizadas.



         Segundo Stephen E. Cross Diretor do SEI - Software Engineering Institute da Carneggie Mellow, uma
         maneira de abordar o RAD de forma mais eficiente é dividí-lo em 6 passos:

               Projeto e análise baseado no cenário
               Projeto e análise de Arquitetura
               Especificação de Componentes com o máximo de reuso
               Desenvolvimento rápido dos módulos remanescentes
               Testes freqüentes com o usuário final
               Campo com ferramentas de suporte para permitir a evolução

         A proposta de Stephen é disciplinar o RAD, que é muitas vezes criticado por sua suposta informalidade, de
         forma a conseguir até mesmo níveis de CMM - Capability Maturity Model para melhorar e formalizar ainda
         mais o processo.

         Vantagens
               Permite o desenvolvimento rápido e/ou a prototipagem de aplicações;
               Enfatiza um ciclo de desenvolvimento extremamente curto (entre 60 e 90 dias);
               Cada função principal pode ser direcionada para a uma equipe RAD separada e então integrada a formar
               um todo;
               Criação e reutilização de componentes;
               Usado principalmente para aplicações de sistemas de informações;
               Comprar pode economizar recursos se comparado a desenvolver;
               Desenvolvimento é conduzido em um nível mais alto de abstração;
               Visibilidade mais cedo (protótipos);
               Maior flexibilidade (desenvolvedores podem reprojetar praticamente a vontade);
               Grande redução de codificação manual (wizards...);
               Envolvimento maior do usuário;
               Provável custo reduzido(tempo é dinheiro e também devido ao reuso);
               Aparência padronizada (As APIs ae outros componentes reutilizáveis permitem uma aparencia
               consistente).



2 of 4                                                                                                             8/3/2008 04:11
RAD - Wikipédia                                                                                http://pt.wikipedia.org/wiki/RAD


         O RAD é apropriado quando

             A aplicação é do tipo quot;stand alonequot;;
             Pode-se fazer uso de classes pré-existentes (APIs);
             A performance não é o mais importante;
             A distribuição do produto é pequena;
             O escopo do projeto é restrito;
             O sistema pode ser dividido em vários módulos independentes;
             A tecnologia necessária tem mais de um ano de existência.

         Desvantagens
             Se uma aplicação não puder ser modularizada de modo que cada função principal seja completada em
             menos de 3 meses, não é aconselhável o uso do RAD;
             Para projetos grandes (mas escaláveis) o RAD exige recursos humanos suficientes para criar o número
             correto de equipes, isso implica em um alto custo com a equipe;
             O envolvimento com o usuário tem que ser ativo;
             Comprometimento da equipe do projeto;
             O RAD não é aconselhável quando os riscos técnicos são altos e não é indicada quando se está testando
             novas tecnologias ou quando o novo software exige alto grau de interoperabilidade com programas de
             computador existentes. Falta de prazo pode implicar em qualidade reduzida, e há necessidade de
             habilidade maior dos desenvolvedores, e suporte maior da gerência e dos clientes.
             Desenvolver pode economizar recursos se comparado a comprar;
             Custo do conjunto de ferramentas e hardware para rodar a aplicação;
             Mais difícil de acompanhar o projeto(pois não existe os marcos clássicos);
             Menos eficientes;
             Perda de precisão científica (falta de métodos formais);
             Pode acidentalmente levar ao retorno das práticas caóticas no desenvolvimento;
             Funções reduzidas (reuso, quot;timeboxingquot;);
             Funções desnecessárias (reuso de componentes);
             Problemas legais;
             Requisitos podem não se encaixar (conflitos entre desenvolvedores e clientes)
             Padronização (aparência diferente entre os módulos e componentes)
             Sucessos anteriores são difíceis de se reproduzir

         O RAD deve ser evitado quando

             A aplicação precisa interagir com outros programas;
             Existem poucos plugins e componentes disponíveis;
             Performance é essencial;
             O desenvolvimento não pode tirar vantagem de ferramentas de alto nível;
             A distribuição do produto será em grande escala;
             Para se construir sistemas operacionais (confiabilidade exigida alta demais)
             Jogos de computador (performance exigida muito alta)
             Riscos tecnológicos muito altos devido a tecnologia ter sido recém lançada;
             O sistema não pode ser modularizado

         Ligações externas
             (en) RAD com UML (http://odl-skopje.etf.ukim.edu.mk/UML-Help/html/01day3.html)
             (en) Um artigo sobre RAD na Universidade da California
             (http://sysdev.ucdavis.edu/WEBADM/document/rad_toc.htm)
             (fr) Outils J2EE : Rad or not Rad ? (http://solutions.journaldunet.com/0411/041109_dreamsoft)



3 of 4                                                                                                          8/3/2008 04:11
RAD - Wikipédia                                                                                  http://pt.wikipedia.org/wiki/RAD


              (en) RAD (http://csweb.cs.bgsu.edu/maner/domains/RAD.htm)
              (en) RAD Disciplined (http://www.dacs.dtic.mil/awareness/newsletters/technews2-1/disciplined.html)
              (en) RAD na Blue INK (http://www.blueink.biz/RapidApplicationDevelopment.aspx)


         Obtido em quot;http://pt.wikipedia.org/wiki/RADquot;
         Categoria: Engenharia de software

              Esta página foi modificada pela última vez a 05h02min, 11 de Janeiro de 2008.
              O texto desta página está sob a GNU Free Documentation License.
              Os direitos autorais de todas as contribuições para a Wikipédia pertencem aos seus respectivos autores
              (mais informações em direitos autorais).




4 of 4                                                                                                            8/3/2008 04:11

Mais conteúdo relacionado

Mais procurados

A Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de SoftwareA Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de Software
Robson Silva Espig
 
Aula 2 - Processos de Software
Aula 2 - Processos de SoftwareAula 2 - Processos de Software
Aula 2 - Processos de Software
Rudson Kiyoshi Souza Carvalho
 
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane FidelixModelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Cris Fidelix
 
Modelo em Cascata
Modelo em CascataModelo em Cascata
Modelo em Cascata
Robson Silva Espig
 
Ciclo de vida de software
Ciclo de vida de software Ciclo de vida de software
Ciclo de vida de software
caricati
 
Processos de software
Processos de softwareProcessos de software
Processos de software
Computação Depressão
 
Desenvolvimento Iterativo-Incremental
Desenvolvimento Iterativo-IncrementalDesenvolvimento Iterativo-Incremental
Desenvolvimento Iterativo-Incremental
Ruan Carvalho
 
Modelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane FidelixModelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane Fidelix
Cris Fidelix
 
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane FidelixModelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Cris Fidelix
 
Ciclo de vida de software
Ciclo de vida de softwareCiclo de vida de software
Ciclo de vida de software
diha36
 
Capitulo 02 sommerville
Capitulo 02 sommervilleCapitulo 02 sommerville
Capitulo 02 sommerville
Fabricio Schlag
 
Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane FidelixIntrodução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix
Cris Fidelix
 
Teste de software
Teste de softwareTeste de software
Teste de software
Nécio de Lima Veras
 
DSDM
DSDMDSDM
Modelo cascata apresentação
Modelo cascata apresentaçãoModelo cascata apresentação
Modelo cascata apresentação
erysonsi
 
Es2 modelo de processo de software
Es2 modelo de processo de softwareEs2 modelo de processo de software
Es2 modelo de processo de software
luacal
 
Introdução à Engenharia de Software
Introdução à Engenharia de SoftwareIntrodução à Engenharia de Software
Introdução à Engenharia de Software
elliando dias
 
Modelo V
Modelo VModelo V
Modelo V
Nelson Loia Jr.
 
Modelo em Espiral
Modelo em EspiralModelo em Espiral
Modelo em Espiral
Robson Silva Espig
 

Mais procurados (19)

A Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de SoftwareA Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de Software
 
Aula 2 - Processos de Software
Aula 2 - Processos de SoftwareAula 2 - Processos de Software
Aula 2 - Processos de Software
 
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane FidelixModelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
 
Modelo em Cascata
Modelo em CascataModelo em Cascata
Modelo em Cascata
 
Ciclo de vida de software
Ciclo de vida de software Ciclo de vida de software
Ciclo de vida de software
 
Processos de software
Processos de softwareProcessos de software
Processos de software
 
Desenvolvimento Iterativo-Incremental
Desenvolvimento Iterativo-IncrementalDesenvolvimento Iterativo-Incremental
Desenvolvimento Iterativo-Incremental
 
Modelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane FidelixModelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane Fidelix
 
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane FidelixModelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
 
Ciclo de vida de software
Ciclo de vida de softwareCiclo de vida de software
Ciclo de vida de software
 
Capitulo 02 sommerville
Capitulo 02 sommervilleCapitulo 02 sommerville
Capitulo 02 sommerville
 
Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane FidelixIntrodução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
DSDM
DSDMDSDM
DSDM
 
Modelo cascata apresentação
Modelo cascata apresentaçãoModelo cascata apresentação
Modelo cascata apresentação
 
Es2 modelo de processo de software
Es2 modelo de processo de softwareEs2 modelo de processo de software
Es2 modelo de processo de software
 
Introdução à Engenharia de Software
Introdução à Engenharia de SoftwareIntrodução à Engenharia de Software
Introdução à Engenharia de Software
 
Modelo V
Modelo VModelo V
Modelo V
 
Modelo em Espiral
Modelo em EspiralModelo em Espiral
Modelo em Espiral
 

Destaque

Modelo rad
Modelo radModelo rad
Prototipo evolutivo
Prototipo evolutivoPrototipo evolutivo
Prototipo evolutivo
José Gregorio Calderón
 
Prototipagem
PrototipagemPrototipagem
Prototipagem
jwainer
 
Engenharia De Software Baseada Em Componentes
Engenharia De Software Baseada Em ComponentesEngenharia De Software Baseada Em Componentes
Engenharia De Software Baseada Em Componentes
igordsm
 
Prototipação
PrototipaçãoPrototipação
Prototipação
Daniel Fernandes
 
Eng.ª do Software - 5. Desenvolvimento rápido de software
Eng.ª do Software - 5. Desenvolvimento rápido de softwareEng.ª do Software - 5. Desenvolvimento rápido de software
Eng.ª do Software - 5. Desenvolvimento rápido de software
Manuel Menezes de Sequeira
 

Destaque (6)

Modelo rad
Modelo radModelo rad
Modelo rad
 
Prototipo evolutivo
Prototipo evolutivoPrototipo evolutivo
Prototipo evolutivo
 
Prototipagem
PrototipagemPrototipagem
Prototipagem
 
Engenharia De Software Baseada Em Componentes
Engenharia De Software Baseada Em ComponentesEngenharia De Software Baseada Em Componentes
Engenharia De Software Baseada Em Componentes
 
Prototipação
PrototipaçãoPrototipação
Prototipação
 
Eng.ª do Software - 5. Desenvolvimento rápido de software
Eng.ª do Software - 5. Desenvolvimento rápido de softwareEng.ª do Software - 5. Desenvolvimento rápido de software
Eng.ª do Software - 5. Desenvolvimento rápido de software
 

Semelhante a RAD

Analise aula2
Analise aula2Analise aula2
Analise aula2
Kelvin Wesley
 
RAD - Métodos ágeis
RAD - Métodos ágeisRAD - Métodos ágeis
RAD - Métodos ágeis
Claudio Eckert
 
Reuso de software
Reuso de softwareReuso de software
Reuso de software
rebekinha
 
Reutilização
ReutilizaçãoReutilização
Reutilização
emjorge
 
Metodologias Ageis
Metodologias AgeisMetodologias Ageis
Metodologias Ageis
Rafael França
 
Apresentação: Utilização de Metodologias Ágeis para Adaptação de um Processo ...
Apresentação: Utilização de Metodologias Ágeis para Adaptação de um Processo ...Apresentação: Utilização de Metodologias Ágeis para Adaptação de um Processo ...
Apresentação: Utilização de Metodologias Ágeis para Adaptação de um Processo ...
Felipe Nascimento
 
Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De Software
CursoSENAC
 
IBM Rational Unified Process
IBM Rational Unified ProcessIBM Rational Unified Process
IBM Rational Unified Process
Robson Silva Espig
 
RAD - Métodos ágeis
RAD - Métodos ágeisRAD - Métodos ágeis
RAD - Métodos ágeis
Claudio Eckert
 
Métodos ágeis de desenvolvimento2
Métodos ágeis de desenvolvimento2Métodos ágeis de desenvolvimento2
Métodos ágeis de desenvolvimento2
GrupoAlves - professor
 
Aula2 processos sw
Aula2 processos swAula2 processos sw
Aula2 processos sw
Computação Depressão
 
Analise de Requisitos de Software
Analise de Requisitos de SoftwareAnalise de Requisitos de Software
Analise de Requisitos de Software
Robson Silva Espig
 
Este trabalho trata
Este trabalho trataEste trabalho trata
Este trabalho trata
Roni Reis
 
Artigo23
Artigo23Artigo23
Artigo23
mpaf00 mpaf00
 
Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9
wilsonguns
 
Desenvolvimento ágil de software: análise sintética a partir de KANBAN
Desenvolvimento ágil de software: análise sintética a partir de KANBANDesenvolvimento ágil de software: análise sintética a partir de KANBAN
Desenvolvimento ágil de software: análise sintética a partir de KANBAN
Fernando Palma
 
O uso de frameworks em aplicações desktop baseadas na metodologia de desenvol...
O uso de frameworks em aplicações desktop baseadas na metodologia de desenvol...O uso de frameworks em aplicações desktop baseadas na metodologia de desenvol...
O uso de frameworks em aplicações desktop baseadas na metodologia de desenvol...
Rogério Batista
 
Subm_SamuelPereira_FINAL
Subm_SamuelPereira_FINALSubm_SamuelPereira_FINAL
Reuso desw
Reuso deswReuso desw
Reuso desw
Cristian Stroparo
 
Tendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareTendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de Software
Norberto Santos
 

Semelhante a RAD (20)

Analise aula2
Analise aula2Analise aula2
Analise aula2
 
RAD - Métodos ágeis
RAD - Métodos ágeisRAD - Métodos ágeis
RAD - Métodos ágeis
 
Reuso de software
Reuso de softwareReuso de software
Reuso de software
 
Reutilização
ReutilizaçãoReutilização
Reutilização
 
Metodologias Ageis
Metodologias AgeisMetodologias Ageis
Metodologias Ageis
 
Apresentação: Utilização de Metodologias Ágeis para Adaptação de um Processo ...
Apresentação: Utilização de Metodologias Ágeis para Adaptação de um Processo ...Apresentação: Utilização de Metodologias Ágeis para Adaptação de um Processo ...
Apresentação: Utilização de Metodologias Ágeis para Adaptação de um Processo ...
 
Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De Software
 
IBM Rational Unified Process
IBM Rational Unified ProcessIBM Rational Unified Process
IBM Rational Unified Process
 
RAD - Métodos ágeis
RAD - Métodos ágeisRAD - Métodos ágeis
RAD - Métodos ágeis
 
Métodos ágeis de desenvolvimento2
Métodos ágeis de desenvolvimento2Métodos ágeis de desenvolvimento2
Métodos ágeis de desenvolvimento2
 
Aula2 processos sw
Aula2 processos swAula2 processos sw
Aula2 processos sw
 
Analise de Requisitos de Software
Analise de Requisitos de SoftwareAnalise de Requisitos de Software
Analise de Requisitos de Software
 
Este trabalho trata
Este trabalho trataEste trabalho trata
Este trabalho trata
 
Artigo23
Artigo23Artigo23
Artigo23
 
Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9
 
Desenvolvimento ágil de software: análise sintética a partir de KANBAN
Desenvolvimento ágil de software: análise sintética a partir de KANBANDesenvolvimento ágil de software: análise sintética a partir de KANBAN
Desenvolvimento ágil de software: análise sintética a partir de KANBAN
 
O uso de frameworks em aplicações desktop baseadas na metodologia de desenvol...
O uso de frameworks em aplicações desktop baseadas na metodologia de desenvol...O uso de frameworks em aplicações desktop baseadas na metodologia de desenvol...
O uso de frameworks em aplicações desktop baseadas na metodologia de desenvol...
 
Subm_SamuelPereira_FINAL
Subm_SamuelPereira_FINALSubm_SamuelPereira_FINAL
Subm_SamuelPereira_FINAL
 
Reuso desw
Reuso deswReuso desw
Reuso desw
 
Tendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareTendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de Software
 

Mais de Robson Silva Espig

Master Place - Convenção Bloco D
Master Place - Convenção Bloco DMaster Place - Convenção Bloco D
Master Place - Convenção Bloco D
Robson Silva Espig
 
Aquarelas Envelhecidas
Aquarelas EnvelhecidasAquarelas Envelhecidas
Aquarelas Envelhecidas
Robson Silva Espig
 
[ reference ] Processos - PMBOK
[ reference ] Processos - PMBOK[ reference ] Processos - PMBOK
[ reference ] Processos - PMBOK
Robson Silva Espig
 
[ ref ] Convergência - Mobilidade
[ ref ] Convergência - Mobilidade[ ref ] Convergência - Mobilidade
[ ref ] Convergência - Mobilidade
Robson Silva Espig
 
[ ref ] Normalizing a Data Model in SQL Server
[ ref ] Normalizing a Data Model in SQL Server[ ref ] Normalizing a Data Model in SQL Server
[ ref ] Normalizing a Data Model in SQL Server
Robson Silva Espig
 
Como implementar uma plataforma de ILM com eficiência, reduzindo custos
Como implementar uma plataforma de ILM com eficiência, reduzindo custosComo implementar uma plataforma de ILM com eficiência, reduzindo custos
Como implementar uma plataforma de ILM com eficiência, reduzindo custos
Robson Silva Espig
 
Gestao Projetos - Aula 02
Gestao Projetos - Aula 02Gestao Projetos - Aula 02
Gestao Projetos - Aula 02
Robson Silva Espig
 
Gestao Projetos - Aula 01
Gestao Projetos - Aula 01Gestao Projetos - Aula 01
Gestao Projetos - Aula 01
Robson Silva Espig
 
Aula 01
Aula 01Aula 01
Aula 05
Aula 05Aula 05
Aula 04
Aula 04Aula 04
Aula 02
Aula 02Aula 02
Caso de Desenvolvimento
Caso de DesenvolvimentoCaso de Desenvolvimento
Caso de Desenvolvimento
Robson Silva Espig
 
SOA
SOASOA
Aula 03
Aula 03Aula 03
Desenvolvimento Iterativo e Incremental
Desenvolvimento Iterativo e IncrementalDesenvolvimento Iterativo e Incremental
Desenvolvimento Iterativo e Incremental
Robson Silva Espig
 
Implantacao de Software
Implantacao de SoftwareImplantacao de Software
Implantacao de Software
Robson Silva Espig
 
Manutencao de Software
Manutencao de SoftwareManutencao de Software
Manutencao de Software
Robson Silva Espig
 
UML
UMLUML

Mais de Robson Silva Espig (20)

Master Place - Convenção Bloco D
Master Place - Convenção Bloco DMaster Place - Convenção Bloco D
Master Place - Convenção Bloco D
 
Aquarelas Envelhecidas
Aquarelas EnvelhecidasAquarelas Envelhecidas
Aquarelas Envelhecidas
 
[ reference ] Processos - PMBOK
[ reference ] Processos - PMBOK[ reference ] Processos - PMBOK
[ reference ] Processos - PMBOK
 
[ ref ] Convergência - Mobilidade
[ ref ] Convergência - Mobilidade[ ref ] Convergência - Mobilidade
[ ref ] Convergência - Mobilidade
 
[ ref ] Normalizing a Data Model in SQL Server
[ ref ] Normalizing a Data Model in SQL Server[ ref ] Normalizing a Data Model in SQL Server
[ ref ] Normalizing a Data Model in SQL Server
 
Como implementar uma plataforma de ILM com eficiência, reduzindo custos
Como implementar uma plataforma de ILM com eficiência, reduzindo custosComo implementar uma plataforma de ILM com eficiência, reduzindo custos
Como implementar uma plataforma de ILM com eficiência, reduzindo custos
 
Gestao Projetos - Aula 02
Gestao Projetos - Aula 02Gestao Projetos - Aula 02
Gestao Projetos - Aula 02
 
Gestao Projetos - Aula 01
Gestao Projetos - Aula 01Gestao Projetos - Aula 01
Gestao Projetos - Aula 01
 
Aula 01
Aula 01Aula 01
Aula 01
 
Aula 05
Aula 05Aula 05
Aula 05
 
Aula 04
Aula 04Aula 04
Aula 04
 
Aula 02
Aula 02Aula 02
Aula 02
 
Caso de Desenvolvimento
Caso de DesenvolvimentoCaso de Desenvolvimento
Caso de Desenvolvimento
 
SOA
SOASOA
SOA
 
Aula 03
Aula 03Aula 03
Aula 03
 
Artigo Caso de Uso
Artigo Caso de UsoArtigo Caso de Uso
Artigo Caso de Uso
 
Desenvolvimento Iterativo e Incremental
Desenvolvimento Iterativo e IncrementalDesenvolvimento Iterativo e Incremental
Desenvolvimento Iterativo e Incremental
 
Implantacao de Software
Implantacao de SoftwareImplantacao de Software
Implantacao de Software
 
Manutencao de Software
Manutencao de SoftwareManutencao de Software
Manutencao de Software
 
UML
UMLUML
UML
 

RAD

  • 1. RAD - Wikipédia http://pt.wikipedia.org/wiki/RAD RAD Origem: Wikipédia, a enciclopédia livre. Rapid application development (RAD), também conhecido como Desenvolvimento Rápido de Aplicação, é um modelo de processo de desenvolvimento de software iterativo e incremental que enfatiza um ciclo de desenvolvimento extremamente curto (entre 60 e 90 dias). O termo foi registrado por James Martin em 1991 e tem substituído gradativamente o termo de prototipação rápida que já foi muito utilizada no passado Índice Histórico Os modelos de processo de software apresentados durante a década de 70, cujo o modelo em cascata é um bom representante, possuíam longos períodos de desenvolvimento e muitas vezes os requisitos do sistema se alteravam antes do fim do processo. Os desenvolvedores de software necessitavam de um modelo mais ágil que permitisse um tempo de desenvolvimento mais curto e a mudança dos requisitos durante o processo. Nos anos 80 os trabalhos de Barry Boehm (modelo de processo em espiral) e Tom Gilb (modelo de processo evolucionário) serviram de base para uma metodologia chamada de Rapid Iterative Production Prototyping (RIPP) criada por Scott Shultz. James Martin estendeu o RIPP agregando valores de outros processos tornando-o maior e mais formal sendo assim denominado de RAD. O RAD foi finalmente formalizado em 1991 com a publicação de um livro. O Processo O número de fases do processo varia de acordo com os autores. Segundo Kerr, o processo se divide em 5 fases: Modelagem de Negócio O fluxo de informações entre as funções de negócio é modelado de modo a responder às seguintes questões: - Que informação direciona o processo de negócio? - Que informação é gerada? - Quem a gera? - Pra onde vai à informação? - Quem a processa? Na modelagem de negócio são levantados os processos suportados pelo sistema. Modelagem dos dados A modelagem de dados responde a um conjunto de questões específicas que são relevantes a qualquer aplicação. O fluxo de informação definido na fase de modelagem de negócio refinado e de forma a extrair os principais objetos de dados a serem processados pelo sistema, qual a composição de cada um dos objetos de dados, onde costumam ficar, qual a relação entre eles e quais as relações entre os objetos e os processos que os transformam. Modelagem do Processo 1 of 4 8/3/2008 04:11
  • 2. RAD - Wikipédia http://pt.wikipedia.org/wiki/RAD Os objetos de dados definidos na modelagem de dados são transformados para conseguir o fluxo 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. Geração da Aplicação O RAD considera o uso de técnicas de quarta geração, trabalha com a reutilização de componentes de programa existentes quando possível, ou cria componentes reusáveis. São usadas ferramentas automatizadas para facilitar a construção do software. Ex: Delphi, Visual Basic, Asp.net, etc. Teste e Modificação Como o processo do RAD enfatiza o reuso, muitos componentes já estão testados, isso reduz o tempo total de teste. Todavia os novos componentes devem ser testados e todas as interfaces devem ser exaustivamente exercitadas. Esta divisão do processo é compartilhada por diversos autores inclusive Roger S. Pressman , cujo a obra é utilizada em diversas faculdades como livro guia para os estudantes. Porém existem outras abordagens utilizadas. Segundo Stephen E. Cross Diretor do SEI - Software Engineering Institute da Carneggie Mellow, uma maneira de abordar o RAD de forma mais eficiente é dividí-lo em 6 passos: Projeto e análise baseado no cenário Projeto e análise de Arquitetura Especificação de Componentes com o máximo de reuso Desenvolvimento rápido dos módulos remanescentes Testes freqüentes com o usuário final Campo com ferramentas de suporte para permitir a evolução A proposta de Stephen é disciplinar o RAD, que é muitas vezes criticado por sua suposta informalidade, de forma a conseguir até mesmo níveis de CMM - Capability Maturity Model para melhorar e formalizar ainda mais o processo. Vantagens Permite o desenvolvimento rápido e/ou a prototipagem de aplicações; Enfatiza um ciclo de desenvolvimento extremamente curto (entre 60 e 90 dias); Cada função principal pode ser direcionada para a uma equipe RAD separada e então integrada a formar um todo; Criação e reutilização de componentes; Usado principalmente para aplicações de sistemas de informações; Comprar pode economizar recursos se comparado a desenvolver; Desenvolvimento é conduzido em um nível mais alto de abstração; Visibilidade mais cedo (protótipos); Maior flexibilidade (desenvolvedores podem reprojetar praticamente a vontade); Grande redução de codificação manual (wizards...); Envolvimento maior do usuário; Provável custo reduzido(tempo é dinheiro e também devido ao reuso); Aparência padronizada (As APIs ae outros componentes reutilizáveis permitem uma aparencia consistente). 2 of 4 8/3/2008 04:11
  • 3. RAD - Wikipédia http://pt.wikipedia.org/wiki/RAD O RAD é apropriado quando A aplicação é do tipo quot;stand alonequot;; Pode-se fazer uso de classes pré-existentes (APIs); A performance não é o mais importante; A distribuição do produto é pequena; O escopo do projeto é restrito; O sistema pode ser dividido em vários módulos independentes; A tecnologia necessária tem mais de um ano de existência. Desvantagens Se uma aplicação não puder ser modularizada de modo que cada função principal seja completada em menos de 3 meses, não é aconselhável o uso do RAD; Para projetos grandes (mas escaláveis) o RAD exige recursos humanos suficientes para criar o número correto de equipes, isso implica em um alto custo com a equipe; O envolvimento com o usuário tem que ser ativo; Comprometimento da equipe do projeto; O RAD não é aconselhável quando os riscos técnicos são altos e não é indicada quando se está testando novas tecnologias ou quando o novo software exige alto grau de interoperabilidade com programas de computador existentes. Falta de prazo pode implicar em qualidade reduzida, e há necessidade de habilidade maior dos desenvolvedores, e suporte maior da gerência e dos clientes. Desenvolver pode economizar recursos se comparado a comprar; Custo do conjunto de ferramentas e hardware para rodar a aplicação; Mais difícil de acompanhar o projeto(pois não existe os marcos clássicos); Menos eficientes; Perda de precisão científica (falta de métodos formais); Pode acidentalmente levar ao retorno das práticas caóticas no desenvolvimento; Funções reduzidas (reuso, quot;timeboxingquot;); Funções desnecessárias (reuso de componentes); Problemas legais; Requisitos podem não se encaixar (conflitos entre desenvolvedores e clientes) Padronização (aparência diferente entre os módulos e componentes) Sucessos anteriores são difíceis de se reproduzir O RAD deve ser evitado quando A aplicação precisa interagir com outros programas; Existem poucos plugins e componentes disponíveis; Performance é essencial; O desenvolvimento não pode tirar vantagem de ferramentas de alto nível; A distribuição do produto será em grande escala; Para se construir sistemas operacionais (confiabilidade exigida alta demais) Jogos de computador (performance exigida muito alta) Riscos tecnológicos muito altos devido a tecnologia ter sido recém lançada; O sistema não pode ser modularizado Ligações externas (en) RAD com UML (http://odl-skopje.etf.ukim.edu.mk/UML-Help/html/01day3.html) (en) Um artigo sobre RAD na Universidade da California (http://sysdev.ucdavis.edu/WEBADM/document/rad_toc.htm) (fr) Outils J2EE : Rad or not Rad ? (http://solutions.journaldunet.com/0411/041109_dreamsoft) 3 of 4 8/3/2008 04:11
  • 4. RAD - Wikipédia http://pt.wikipedia.org/wiki/RAD (en) RAD (http://csweb.cs.bgsu.edu/maner/domains/RAD.htm) (en) RAD Disciplined (http://www.dacs.dtic.mil/awareness/newsletters/technews2-1/disciplined.html) (en) RAD na Blue INK (http://www.blueink.biz/RapidApplicationDevelopment.aspx) Obtido em quot;http://pt.wikipedia.org/wiki/RADquot; Categoria: Engenharia de software Esta página foi modificada pela última vez a 05h02min, 11 de Janeiro de 2008. O texto desta página está sob a GNU Free Documentation License. Os direitos autorais de todas as contribuições para a Wikipédia pertencem aos seus respectivos autores (mais informações em direitos autorais). 4 of 4 8/3/2008 04:11