Sunteți pe pagina 1din 26

RAPID APLICATION

DEVELOPMENT

Débora Kelly
Herval Freire
RAD – O que são ?

RAD - Rapid Aplication


Development - São técnicas que
permitem que produtos sejam
desenvolvidos rapidamente.
Desenvolvimento rápido nem
sempre significa trabalho “sujo”
Características

Rad usa equipes híbridas:


– Que consiste de aproximadamente 6
pessoas, incluindo desenvolvedores,
clientes e alguém que dê entrada nos
requisitos.
– Com pessoas “multi-talentosas” que sejam
programadores, designers e analistas
– Envolvimento dos usuários (full-time) no
design do sistema para a diminuição dos
custos
Características

Incentivo a:
– Desenvolvimento “Visual”;
– Protótipos e Testes de usabilidade de
design;
– Uso de linguagens OO;
– Equipes de planejamento;
– Equipes de Trabalho e Colaboração;
– Reutilização de componentes de software;
Características
– Controle de Versões
– Reunião dos requisitos usando workshops
ou grupos de focalização (focus groups)
Características

Utiliza “TimeBoxing”
– Algumas características secundárias
são retiradas para a permanência do
cronograma.
Características

Usa interatividade e evolução de


Protótipos
– JAD (Joint Application Development )
– Usuários e desenvolvedores numa
seção de brainstorming se reúnem
para a geração dos requisitos
Características
– Iteração até o final:
• Desenvolvedores constróem um protótipo com os
correntes requisitos
• Designers revêem o protótipo
• Os clientes testam e elaboram novos requisitos
• Reune-se o grupo de focalização (Design e
Desenvolvedores que juntos refinam os requisitos
e geram novas solicitações)
• requisitos e Mudança no pedido sofrem
“TimeBoxing”
• Finalizam o sistema
Características

Observações:
– As Iterações dura de 1 dia à 3
semanas;
– Reuniões de Focus Groups têm um
facilitador e duram menos de 2 horas
Estágios de
Desenvolvimento – RAD
Estágios de
Desenvolvimento – RAD
Planos de requisitos
– Nesse estágio se produz uma larga
definição dos requisitos do sistema e as
funcionalidades que o mesmo suportará.
– Inclui um esboço da modelagem de
entidades e processos, a definição do
escopo do sistema e uma justificativa de
custos.
Estágios de
Desenvolvimento – RAD
User Design
– Consiste numa análise detalhada da
lógica do sistema, completando a
análise inicial e criando diagramas de
ações definindo a relação entre os
processos e os dados.
– Um Protótipo é criado e revisado.
– Um plano para implementação é
preparado.
Estágios de
Desenvolvimento – RAD
Construção
– Um pequeno grupo de desenvolvedores
trabalhando diretamente com os usuários,
finalizam o design e constróem o sistema
– O software é construído em fases
permitindo um refinamento dos requisitos e
testes.
– Nessa fase, também inclui documentação e
instruções necessárias para operar o novo
sistema
Estágios de
Desenvolvimento – RAD
Transição
– Neste último estágio é que é feito
uma ponte de ligação entre o sistema
antigo e o novo, conversão de dados
e o treinamento dos usuários finais.
Por que usar RAD ?

Razões Erradas:
– Para prevenir custos com overruns
(Já que RAD necessita de grupos
treinados em gerenciamento de
custos)
– Para prevenir fuga de planejamento
(Já que RAD necessita de grupos
treinados em gerenciamento de
planejamento)
Por que usar RAD ?

Boas Razões:
– Para convergir um design aceitável
pelo cliente e executável pelos
desenvolvedores.
– Para limitar a exposição do projeto a
mudanças tardias
– Para diminuir tempo de
desenvolvimento, economizando e
aumentando qualidade.
RAD
Pontos a Considerar :
– Possibilidade de alguns defeitos – Porque
alguns desenvolvedores não têm
conhecimento certo para mudar o fonte de
alguns componentes de plug-ins (Síndrome
do code-like-hell).
– Alguns requisitos secundários podem ser
sacrificados em virtude do cronograma.
– O custo de desenvolvimento pode aumentar
– Porque às vezes reutilização é mais caro
que partir do zero.
RAD – Quando usar ?
Em aplicações standalone
Pode se fazer maior uso de APIs
Performance não é fundamental
Escopo do projeto (macro-planejamento) é bem
definido
Confiabilidade não é fundamental
Quando o produto tem como objetivo sistemas de
informação com alta especialização no mercado
Projetos que tenham fortes obstáculos em micro-
planejamento (TimeBoxing)
A tecnologia requerida tiver mais de 1 ano.
RAD – Quando não usar ?

Aplicações que necessitam interoperar com outros


programas
Poucos componentes plug-in são permitidos
Requer ótima performance
Quando RAD se tornar um QADAD (Quick And Dirty
Application Development)
Quando métodos Rad são usados para desenvolver
sistemas operacionais (Requerem muita
confiabilidade) e jogos (Requerem muita
performance)
O sistema não pode ser modularizado
Avaliação
Vantagens:
– Às vezes comprar componentes é mais barato
que construí-los
– O programa é, às vezes, fácil de migrar, pois
faz-se uso de um alto nível de abstração,scripts
e código intermediário
– Desenvolvedores constróem em alto nível de
abstração, já que RAD opera nesse nível
– Fácil visibilidade, devido os protótipos
– Grande flexibilidade, porque os desenvolvedores
podem redesenhar sempre que desejarem
– Redução de codificação manual, devido as
janelas, geradores de código e reutilização dos
mesmos
Avaliação

– Pequenos ciclos de desenvolvimento


– Padronização de Look e Feel (APIs
dão aparência consistente)
Avaliação
Desvantagens:
– Às vezes comprar componentes é mais caro que
construí-los
– Custos integrados de ferramenta e
hardware
– Dificuldade para medir adiantamento,
devido a inexistência dos clássicos
milestones
– Baixa eficiência (não-geração de códigos
manuais)
– Menor precisão, devido ao desuso de
métodos formais
– Mais defeitos (Síndrome do code-like-hell)
Avaliação
– Protótipos podem não ser escaláveis – Um
grande problema
– Confiança em componentes de terceiros
pode sacrificar funcionalidades necessárias,
adicionar de funcionalidades desnecessárias
e criar de problemas
– Padronização de Look e Feel (Sem distinção
e sem “Brilho”)
– Características indesejáveis (reutilização de
componentes já existentes)
Aplicações

Ambiente Linux
– Kylix (O Delphi do Linux)
– OpenRAD (Ferramenta de
desenvolvimento para Web)
– KDevelop
Aplicações

Ambiente Windows
– Delphi
– Visual Basic
– Jbuilder
– C++ Builder
– Visual Studio .NET
– Macromedia Dreamweaver

S-ar putea să vă placă și