Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Fabiana Besse | Desenvolvimento Rápido de Aplicações em Python | resumos e exercícios 
 
Análise e Desenvolvimento de Sistemas 
1 
RAD (RAPID APPLICATIONS 
DEVELOPMENT) 
A metodologia de desenvolvimento rápido de 
(RAD) é uma abordagem de desenvolvimento de 
software que se concentra em fornecer resultados 
mais rápidos do que outras metodologias 
tradicionais, como o modelo cascata. O modelo 
RAD foi criado em 1991 por James Martin, como 
uma resposta à demanda crescente por novas 
aplicações de software no mercado competitivo. 
CONCEITOS 
O RAD é baseado em três conceitos principais: 
colaboração, iteração e prototipação. A 
colaboração é a chave para o sucesso do RAD, 
pois envolve a participação de todos os 
stakeholders (indivíduos, grupos ou organizações) 
do projeto, incluindo desenvolvedores, usuários, 
gerentes de projetos e analistas de negócios. A 
iteração envolve a repetição de um ciclo de 
desenvolvimento, onde as funcionalidades são 
implementadas, testadas e refinadas com base no 
feedback dos usuários e outras partes 
interessadas. A prototipação envolve a criação de 
protótipos (versão preliminar ou parcial do que 
está sendo desenvolvido) de software que podem 
ser usados para validar os requisitos do projeto. 
PRINCÍPIOS 
O RAD se baseia em quatro princípios principais: 
rapidez, flexibilidade, qualidade e baixo custo. A 
rapidez refere-se à capacidade de entregar 
software funcional em um período de tempo curto. 
A flexibilidade refere-se à capacidade de adaptar 
o software às mudanças nos requisitos do projeto. 
A qualidade refere-se à capacidade de produzir 
software de alta qualidade que atenda aos 
requisitos do usuário. O baixo custo refere-se à 
capacidade de produzir software com um custo 
reduzido em comparação com outras 
metodologias de desenvolvimento de software. 
A formação de equipes pequenas com poder de 
decisão. Essa abordagem ajuda a reduzir a 
burocracia e a hierarquia, incentivando a 
colaboração e a criatividade na solução de 
problemas. Além disso, permite que a equipe seja 
mais responsável pelo sucesso do projeto e pelo 
cumprimento dos prazos. 
A entrega frequente de produtos. Essa abordagem 
ajuda a minimizar riscos, manter a equipe 
motivada e envolver o usuário final no processo de 
desenvolvimento. No entanto, é importante 
garantir que cada incremento entregue esteja 
completamente testado e funcionando 
corretamente antes de ser enviado para o usuário 
final. 
O desenvolvimento iterativo e incremental é uma 
das principais características dessa metodologia. 
Essa abordagem ajuda a reduzir o tempo de 
desenvolvimento, permitindo a entrega frequente 
de produtos que atendam aos requisitos 
funcionais e aos feedbacks dos usuários. Além 
disso, ajuda a minimizar riscos e a detectar e 
corrigir problemas mais cedo. 
A abordagem top-down significa que o 
desenvolvimento deve ser guiado por um 
planejamento estratégico de cima para baixo, 
começando pelo planejamento de alto nível e 
descendo gradualmente aos detalhes. Isso 
permite que a equipe de desenvolvimento tenha 
uma visão ampla do projeto desde o início e evite 
problemas de última hora. 
Fabiana Besse | Desenvolvimento Rápido de Aplicações em Python | resumos e exercícios 
 
Análise e Desenvolvimento de Sistemas 
2 
A utilização de ferramentas de automação (CASE) 
permite que os desenvolvedores criem e 
modifiquem o código-fonte com maior eficiência e 
rapidez. As ferramentas CASE incluem editores de 
diagramas, geradores de código, depuradores, 
entre outras. O uso dessas ferramentas ajuda a 
automatizar tarefas repetitivas, aumentar a 
produtividade e reduzir erros. 
FERRAMENTAS E TÉCNICAS 
Principais categorias de ferramentas que dão 
suporte à RAD: 
Integração de dados: ferramentas que permitem a 
integração e a harmonização de diferentes fontes 
de dados, tais como bancos de dados, arquivos e 
sistemas legados. 
Ambientes de desenvolvimento: ferramentas que 
oferecem um ambiente integrado para o 
desenvolvimento de software, incluindo editores 
de código, depuradores e recursos de 
gerenciamento de projetos. 
Ferramentas de coleta de requisitos: ferramentas 
que auxiliam na coleta e na documentação dos 
requisitos do usuário, permitindo que sejam 
facilmente compartilhados e modificados. 
Ferramentas de modelagem de dados: 
ferramentas que permitem a criação de modelos 
de dados que definem a estrutura e o 
relacionamento entre os dados usados na 
aplicação. 
Ferramentas de geração de código: ferramentas 
que geram automaticamente o código-fonte a 
partir de modelos de dados e especificações de 
requisitos. 
Resumo de algumas das técnicas : 
Modelo CBD: CBD significa Component-Based 
Development, que é um método que permite a 
reutilização de componentes antigos em novos 
projetos de software. Isso permite a redução de 
custos e o aumento da eficiência no 
desenvolvimento de novos sistemas. 
RepoGuard: É um framework que integra 
ferramentas de desenvolvimento com repositórios 
de código-fonte, permitindo a monitoração 
contínua de integridade do repositório e detecção 
de problemas em tempo real. 
Adição dinâmica ágil: Técnicas usadas para 
integrar a abordagem ágil no desenvolvimento de 
software, tornando o projeto mais adaptável às 
mudanças de requisitos ao longo do tempo. 
Método baseado em camadas para 
desenvolvimento rápido de software: Essa técnica 
é baseada no Extreme Programming (XP) e utiliza 
uma abordagem de camadas para a 
implementação de sistemas de software, o que 
pode aumentar a eficiência e escalabilidade do 
desenvolvimento. 
Análise de projeto de sistema baseado em 
simulação: Desenvolvimento de ferramentas ágeis 
baseadas em simulação para ajudar na tomada de 
decisões de design e arquitetura de sistemas de 
software. 
Uso de Ajax no RAD: Permite a prototipagem 
rápida de aplicativos e ferramentas da Web 
usando tecnologia Ajax (Asynchronous JavaScript 
and XML), o que pode acelerar o desenvolvimento 
e melhorar a usabilidade das aplicações. 
Desenvolvimento de aplicativos multiusuário em 
ambiente distribuído rapidamente: O uso de 
middleware de comunicação para desenvolver 
aplicativos multiusuário em ambiente distribuído, 
com a finalidade de acelerar o processo de 
desenvolvimento. 
Programação extrema: Adição de práticas de 
reutilização de código e testes automatizados ao 
Extreme Programming (XP), tornando o processo 
de desenvolvimento mais rápido e eficiente. 
JAD (Joint Application Design): Técnica de 
colaboração utilizada na fase de coleta de 
requisitos do processo de desenvolvimento de 
software. Ela envolve a reunião de um grupo de 
pessoas com diferentes perspectivas e 
Fabiana Besse | Desenvolvimento Rápido de Aplicações em Python | resumos e exercícios 
 
Análise e Desenvolvimento de Sistemas 
3 
habilidades, incluindo clientes, usuários finais, 
desenvolvedores e gerentes de projeto, para 
trabalhar juntos na definição de requisitos para um 
sistema de software. 
FASES DA RAD 
O ciclo de vida da RAD a abordagem James Martin 
consiste em quatro fases: planejamento de 
requisitos, design do usuário, construção e 
transição. Na fase de planejamento de requisitos, 
as partes interessadas definem as necessidades 
de negócios e requisitos do sistema. Na fase de 
design do usuário, são desenvolvidos modelos e 
protótipos com a interação de usuários e 
desenvolvedores. Na fase de construção, os 
protótipos são desenvolvidos e a interação 
continua para ajustes e melhorias. Na fase de 
transição, são realizados processamentos de 
dados, testes, mudanças para o novo sistema e 
treinamento do usuário. 
A abordagem de James Kerr para a divisão das 
fases da RAD inclui cinco fases: Modelagem de 
Negócios, Modelagem de Dados, Modelagem de 
Processos, Geração da Aplicação Negócios e 
Teste e Modificação. Na Modelagem de negócios, 
são coletadas informaçõessobre os requisitos 
funcionais do sistema de várias fontes 
relacionadas aos negócios, para modelar o ciclo 
de vida dos dados. Na Modelagem de Dados, as 
informações coletadas são analisadas e 
agrupadas em conjuntos de objetos de dados 
essenciais para os negócios. Na Modelagem de 
Processos, os grupos de dados coletados são 
analisados sob o ponto de vista de 
processamento, para estabelecer o fluxo de 
informações de negócios necessário para atingir 
objetivos de negócios específicos. Na Geração da 
Aplicação, todas as informações coletadas são 
codificadas e é construído o sistema que será 
usado para criar o protótipo. Na fase de Teste e 
Modificação, os protótipos são testados 
independentemente durante cada iteração, com o 
objetivo de identificar e adaptar os componentes 
para criar o produto mais eficaz. 
 
 
QUANDO APLICAR RAD 
A metodologia RAD é adequada para projetos de 
pequena escala com equipes otimizadas de quatro 
a oito pessoas, em que a interatividade do front-
end é uma característica importante. É necessário 
o envolvimento das partes interessadas, além do 
poder das equipes para tomar decisões. 
A metodologia funciona bem para sistemas que 
podem ser divididos em módulos, em que a 
interatividade com o usuário é importante, há 
profissionais qualificados e o cliente entende a 
importância da interatividade com os 
desenvolvedores. É esperado que a RAD funcione 
bem em projetos em que já se sabe que haverá 
mudanças durante o processo de 
desenvolvimento. 
QUANDO NÃO APLICAR RAD 
A RAD não é adequada para sistemas críticos em 
tempo real, sistemas de infraestrutura muito 
grandes e quando os requisitos funcionais 
precisam ser especificados detalhadamente no 
início do projeto. Também não é adequada 
quando o sistema deve interagir com outros 
sistemas já existentes. 
PYTHON E AS FERRAMENTAS 
(FRAMEWORK) PARA O 
DESENVOLVIMENTO RAD 
Python é uma linguagem de programação de alto 
nível, interpretada, orientada a objetos e com 
tipagem dinâmica, que tem sido amplamente 
utilizada em projetos de desenvolvimento rápido 
de software (RAD). 
Facilidade de uso: Python tem uma sintaxe 
simples e intuitiva, o que torna mais fácil para os 
desenvolvedores escreverem e lerem o código. 
Além disso, Python tem uma grande comunidade 
de usuários e muita documentação, o que torna 
mais fácil para os desenvolvedores encontrar 
ajuda e aprender a linguagem. 
Bibliotecas ricas: Python tem uma grande 
variedade de bibliotecas de software que podem 
Fabiana Besse | Desenvolvimento Rápido de Aplicações em Python | resumos e exercícios 
 
Análise e Desenvolvimento de Sistemas 
4 
ser usadas para uma variedade de tarefas, como 
desenvolvimento web, ciência de dados, 
inteligência artificial, processamento de imagem e 
som, entre outras. Essas bibliotecas ajudam a 
acelerar o desenvolvimento e tornam mais fácil 
para os desenvolvedores criar funcionalidades 
complexas com rapidez. 
Frameworks para desenvolvimento web: Python 
tem uma grande variedade de frameworks 
(pacotes de códigos) para desenvolvimento web, 
como o Django, Flask, Pyramid, entre outros. 
Esses frameworks fornecem uma estrutura para o 
desenvolvimento web, o que permite que os 
desenvolvedores criem aplicativos web com 
rapidez, facilidade e segurança. 
Produtividade: A combinação de facilidade de uso, 
bibliotecas ricas e frameworks de 
desenvolvimento web torna Python uma excelente 
escolha para o desenvolvimento RAD. Com 
Python e seus frameworks, os desenvolvedores 
podem criar sistemas funcionais rapidamente, 
permitindo que o projeto evolua iterativamente, 
baseado no feedback do usuário. 
EXERCÍCIOS RESOLVIDOS 
As fases da metodologia RAD estão 
interrelacionadas entre si no sentido que apenas 
quando uma fase estiver concluída, a próxima 
pode iniciar. Em relação às fases da metodologia 
de desenvolvimento RAD, É CORRETO DIZER 
QUE: 
A resposta correta é: O agrupamento dos dados 
em objetos de negócio é feito na fase de 
modelagem de dados; 
A metodologia do RAD possui diversas vantagens 
e desvantagens em relação às metodologias de 
desenvolvimento tradicionais. Nesse sentido, 
selecione a opção CORRETA sobre as 
características da metodologia RAD: 
A resposta correta é: Diferente de métodos 
tradicionais de desenvolvimento, a RAD demanda 
por intensa colaboração entre desenvolvedores e 
usuários; 
A Modelagem de Negócios é uma das fases da 
RAD. Nela, aspectos como necessidades do 
negócio e propósito do sistema são tratadas. 
Nesse sentido, selecione a opção CORRETA a 
respeito da Modelagem de Negócios: 
A resposta correta é: Identifica as informações 
relevantes sobre o negócio. 
A RAD é uma metodologia de desenvolvimento 
que se adequa bem a processos dinâmicos. 
Portanto é natural que a aplicação de 
metodologias tradicionais de engenharia de 
requisitos tenha restrições de aplicação para ela. 
Nesse sentido, selecione a opção CORRETA a 
respeito dessas restrições: 
A resposta correta é: Na RAD, o projeto vai 
incorporando sugestões dos usuários ao longo 
das iterações. 
A escolha da linguagem Python para um projeto 
RAD tem diversas justificativas, entre elas está a 
possibilidade de usar frameworks com diversas 
finalidades. Entre esses frameworks, está o 
Django. Nesse sentido, selecione a opção 
CORRETA sobre o framework Django: 
A resposta correta é: Possui licença de software 
livre e é aplicado para aplicações WEB. 
A metodologia RAD trabalha com iterações e 
incrementos ao longo do desenvolvimento do 
software para que seja entregue rapidamente e 
com a minimização de erros. Apesar das diversas 
vantagens, também possui desvantagens. Nesse 
sentido, selecione a opção CORRETA a respeito 
das vantagens da metodologia RAD: 
A resposta correta é: Podem ocorrer rápidas 
revisões iniciais; 
A Modelagem de Dados é uma das fases da RAD 
que por objetivo identificar entidades, detalhá-las, 
relacioná-las entre si e evoluir até o detalhe de 
como será implementada. Nesse sentido, 
selecione a opção CORRETA a respeito da 
Modelagem de Dados: 
Fabiana Besse | Desenvolvimento Rápido de Aplicações em Python | resumos e exercícios 
 
Análise e Desenvolvimento de Sistemas 
5 
A resposta correta é: O diagrama de entidade-
relacionamento pode ser utilizado nessa fase. 
Um dos princípios do RAD é "Todas as mudanças 
durante o desenvolvimento são reversíveis". 
Nesse sentido, selecione a opção CORRETA: 
A resposta correta é: A versão atual do protótipo 
pode não corresponder à expectativa do cliente, 
portanto é adequado retornar a versão anterior 
que já está aprovada pelo cliente; 
A metodologia de desenvolvimento RAD possui 
diversas fases, cada uma com objetivos 
específicos de modo a desenvolver o sistema 
rápido e em conformidade com os requisitos de 
negócio. Nesse sentido, selecione a opção 
CORRETA as fases do RAD: 
A resposta correta é: A modelagem de negócios é 
obtida através das análises do fluxo e da 
distribuição de informações. 
A JAD (Joint Application Development) é a 
principal técnica aplicada para levantamento de 
requisitos em projetos que utilizam RAD. A 
respeito da JAD, selecione a opção CORRETA: 
Trata-se de oficinas de trabalho onde 
desenvolvedores e usuários discutem sobre o 
projeto e suas necessidades. 
REFERÊNCIAS 
 
BERGER, H.; BEYNON-DAVIES, P.: The utility 
of rapid application development in large-
scale, complex projects. Information Systems 
Journal, 2009. 19 (6), 549– 570. 
Fitzgerald, B. A Preliminary Investigation of 
Rapid Application Development in Practice, 
Proceedings of 6th International Conference 
on Information Systems Methodologies, editors 
Wood-Harper AT, Jayarantna N., Wood J R G, pp. 
77–87, 1998. 
Kerr, J.; Hunter, R. Inside RAD: How to Build Fully 
Functional Computer Systems in 90 Days or Less. 
New York: McGraw-Hill, 1994. 
Martin, J. Rapid Application Development,Macmillan, USA, 1991. 
NAZ, R.; KHAN, M. N. A. Rapid applications 
development techniques: A critical review, Int. J. 
Softw. Eng. its Appl., vol. 9, nº. 11, pp. 163–176, 
2015.

Mais conteúdos dessa disciplina