160 likes | 297 Views
Instituto de Computação - Unicamp. RAD – Rapid Application Development. Engenharia de Software - mo409 Alessandra Oliveira Patrick Henrique. Sumário. Definição Abordagem RAD - Fases do desenvolvimento Vantagens e Desvantagens RAD x CASE Considerações Finais. Referências.
E N D
Instituto de Computação - Unicamp RAD – Rapid Application Development Engenharia de Software - mo409 Alessandra Oliveira Patrick Henrique
Sumário • Definição • Abordagem RAD - Fases do desenvolvimento • Vantagens e Desvantagens • RAD x CASE • Considerações Finais
Referências • BOEHM, B.; Making RAD Work for Your Project. Março 1999, IEEE Computer, pp. 113-117 • HIRSCHBERG, Morton A.; Rapid Application Development: A Brief Overview. • CROSS , Stephen E.; Toward Disciplined Rapid Application Development. • SEITES, Christina; RAD and its Uses. • MALLISON, Brenda; Rapid Application Development, 2002 • DEBONI, J. E. Z.; Case e RAD: Concorrência ou Colaboração. • OLIVEIRA, Káthia M.; SILVA, Vilmondes G.; Engenharia de Software.
Definição • RAD é uma metodologia de desenvolvimento de sistemas criada para diminuir radicalmente o tempo necessário para projetar e implementar sistemas. [Mallinson, 2002]
Abordagem RAD (Cont.) Estudos Iniciais Definição Inicial Metodologia RAD Manutenção Implantação Teste de Integração e do Sistema
Equipe 1 Equipe 2 Análise Análise Projeto Projeto Codificação Codificação Testes Testes Abordagem RAD (Cont.) Estudos Iniciais Definição Inicial Metodologia RAD Manutenção Implantação Teste de Integração e do Sistema
Vantagens • Reutilização de componentes; • Redução do tempo de desenvolvimento; • Custos menores; • Alta interação com o usuário; • Respostas rápidas a mudanças;
Vantagens (Cont.) • “Quanto menos se programa, menos se erra”. [Deboni] Reutilização de componentes: mais produtividade e qualidade • Maiores investimentos em testes e V & V • Viável integrar outras ferramentas auxiliares ao desenvolvimento RAD
Desvantagens • A reutilização de componentes não garante a eficiência do código, podendo comprometer a qualidade; • Alta dependência do código em relação à ferramenta; • Preocupação com custo baixo pode comprometer a qualidade;
Desvantagens (Cont.) • Falta de escalabilidade; • Dificuldade com reuso de módulos; • Concentração excessiva na interface do usuário, pode resultar na falta de refinamento dos requisitos funcionais;
Quando usar RAD • Condição: • A aplicação deve poder ser modularizada de forma a permitir que cada função de mais alto nível possa ser desenvolvida em até três meses (cada função pode ser alocada a uma equipe e depois integrada ao todo). [OLIVEIRA, SILVA]
RAD Integrado • Ferramentas CASE podem auxiliar o desenvolvimento de projetos RAD, viabilizando projetos complexos e extensos; • Existem ferramentas no mercado (RAD e CASE) que se integram: • Aproveitamento do código CASE RAD • Atualização de diagramas RAD CASE • Esse tipo de desenvolvimento é combatido por muitos adeptos do RAD, por prolongar o desenvolvimento do software;
Ferramenta Análise Projeto Construção Manutenção CASE Levantamento de requisitos, criação de modelos para facilitar o entendimento do problema. Criação e testes de modelos do sistema como o projeto de uma solução. Geração da estrutura de código do aplicativo, especialmente das regras de negócio. Engenharia reversa de aplicativos criados pelo RAD ajudando na documentação. RAD Elaboração de protótipos para a definição dos requisitos do sistema. Teste, em protótipos das opções de projeto. Projeto de interfaces. Construção do aplicativo integrando o código gerado pelo CASE. Correção nos códigos, e testes dos aplicativos. Outras Ferramentas possíveis Gerenciamento de requisitos. Ferramentas de teste e CRC. Geradores de Aplicativos. Gerenciadores de configurações e de versões. RAD Integrado (Cont.) • Exemplo de descrição de etapas desenvolvidas com RAD integrado com outras ferramentas:
Considerações Importantes • Equipes bem treinada, totalmente colaborativa; • O uso exclusivo do RAD não se adequa a sistemas com alto nível de complexidade ou projetos muitos grandes; • Requer um gerenciamento rígido;
Considerações Finais • Tipos de RAD: • GRAD: Generator RAD; • CRAD: Composition RAD; • FRAD: Full-System RAD; • DRAD: Dumb RAD. • Pontos Críticos: Documentação, Manutenção, Portabilidade, interoperabilidade • Característica: Desenvolvimento em Paralelo