Buscar

Slides aula 6 a 10 + aula de revisao

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 150 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 150 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 150 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

AULA 1 – Prof. MARCELO VASQUES
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE 
AULA 5
Prof. MARCELO VASQUES
mvasqueso@gmail.com
1
 Conhecer as atividades de Testes do 
processo de desenvolvimento
 Entender as necessidades da etapa de teste 
na melhoria da qualidade do sistema
 Analisar os diversos tipos de testes
OBJETIVOS DA AULA
2
AS FASES DO PROCESSO 
Requisitos
Testes Desenho
Implementação
Análise 
Manutenção
Implantação
Concepção
3
O CICLO DE VIDA
Requisitos
Testes
Desenho
Implementação
Análise 
Concepção
• Onde estão os erros?
Manutenção
Implantação
4
• A fase de teste tem como objetivo detectar 
possíveis defeitos ou erros que possam 
surgir NA da fase de implementação. 
• Nessa fase, DE TESTES deve-se coletar 
os resultados e analisá-los E 
CONSERTÁ-LOS antes de sua 
implantação. 
• Fase fundamental, muitas vezes rel2gada a 
segundo plano ou mesmo esquecida 
Incremento na QUALIDADE, na medida 
em que avaliamos sob várias óticas.
1ª. DEFINIÇÃO DE TESTE
5
1ª. DEFINIÇÃO DE TESTE
6
FASE: TESTES
• Objetivo: encontrar erros não descobertos
– Bem sucedido: Acha erro não previsto
– É preciso usar o produto
• Análise e verificação de todos os
componentes do sistema.
– Validar se estão em conformidade com os
requisitos anteriormente definidos.
– Para uma melhor analise, o teste deve ser feito
por uma equipe independente, diferente da
equipe desenvolvedora.
7
MODALIDADES DE TESTES
• Classificação quanto ao uso do código
– Testes estáticos ou Verificações
• ANTES da implementação
• Inspeções, revisões, auditorias
• Testes nas fases iniciais – qualidade
• Qualidade no processo
– Testes dinâmicos ou Validações
• DURANTE OU APÓS a implementação
• Precisa de parte ou todo sistema encarnado
• Qualidade no produto
8
MODALIDADES DE TESTES
Requisitos
Testes
Desenho
Implementação
Análise 
Concepção
• Onde estão os erros?
Manutenção Implantação
TESTES ESTÁTICOS
• REVISÕES
• AUDITORIAS
TESTES ESTÁTICOS
• REVISÃO DE CÓDIGOTESTES DINÂMICOS
• EXECUÇÃO 
9
MODALIDADES DE TESTES
• Classificação quanto objetivo
– Teste de Unidade (programação)
• Em Unidades de programas.
• Busca de Erros nos programas individuais
– Teste de Integração (prog / testes)
• Identificar erros na integração dos diversos 
módulos, já testados individualmente
– Teste de Validação (testes)
• Realizado após a integração de TODOS os 
módulos
• Antes de IMPLANTAR
10
ESTRATÉGIAS DE TESTES
• TESTE DA CAIXA PRETA (+ simples)
– Não considera a forma como esta
implementado – detalhes internos
– Objetivo:
• o sw produz os resultados esperados?
• Os requisitos estão sendo atendidos?
– Vantagem: não requer conhecimento
técnico da tecnologia empregada ou da
implementação aplicada  requer
profissional menos capacitado.
11
• TESTE DA CAIXA BRANCA (+ Complexos)
– Baseados na arquitetura interna do software.
• Verificação de código
– Objetivo: identificar defeitos nas estruturas
internas do sw, através da simulação que
“testem” toda a estrutura usada na codificação
– Desvantagem: requer conhecimento técnico da
tecnologia empregada pelo software e
arquitetura interna da solução  requer
profissional BEM capacitado.  Difíceis de
serem implementados.
– Vantagem: eficientes na detecção de erros.
• Casos de testes que cubram TODAS possibilidades
ESTRATÉGIAS DE TESTES
12
TESTE DE UNIDADE
1ª. Etapa do processo de validação.
Testa UMA unidade: modulo/classe
Objetivo: garantir a qualidade dos
componentes do software,
individualmente, avaliando:
Estrutura interna  usar estratégia de
caixa branca
Se a unidade atende aos requisitos –
usar testes da caixa preta
13
TESTE DE INTEGRAÇÃO
Natural continuidade dos testes de
Integração
 Verificar a compatibilidade da nova
unidade com as demais, já prontas.
 Verificar se Juntas e integradas, as
unidades funcionam e realizam o
trabalho que o sistema precisa.
Cuidado: alteração de componentes.
Geralmente aplica-se estratégia da
caixa preta, testando as interfaces entre
as unidades, que se integram
14
TESTES DE SISTEMAS 
(VALIDAÇÃO)
Estágio mais complexo da validação
Validam a solução como um todo.
Aqui: as falhas individuais já estão sanadas
(espera-se).
Ambiente (Hw, SO, rede e etc) bem próximo
da realidade da operação).
Testar: integração com sistemas externos,
dispositivos físicos (hw)
Dificuldade: vislumbrar os vários cenários de
uso.
Várias tipos: stress, volume, performance
15
TESTES DE ACEITE
Homologação: interna e externa
Último estágio do processo de
validação último processo formal de
detecção de erros no sistema.
Uso por clientes e usuários validarem
as funcionalidades
Usuários interagem com sistema
completo.
Reduz o risco da entrega
16
IMPORTANTE
Planejar os testes
Documentar os testes
Validar ao longo do processo.
Não “queimar” etapas de testes
Equipe especializada:
 Preferencialmente: não ser equipe de
desenvolvimento
17
AULA 1 – Prof. MARCELO VASQUES
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE 
AULA 6
Prof. MARCELO VASQUES
mvasqueso@gmail.com
1
OBJETIVOS DA AULA
 Conhecer as atividades de Implementação 
(codificação na linguagem de programação)
 Entender as necessidades da tecnologia 
para transição Projeto  Programa
 Algumas linguagens
IMPLEMENTAÇÃO
• A fase de implementação, ou codificação, 
tem como objetivo escrever o programa em 
uma linguagem de programação, seguindo 
normas e diretrizes da empresa à qual o 
desenvolvedor esteja ligado (metodologia = 
qualidade no processo)
• As empresas costumam definir padrões para 
o desenvolvimento.
IMPLEMENTAÇÃO
• Na fase da implementação, o 
programador:
– detalha e implementa o que foi definido 
na etapa de desenho, através de 
componentes de código de programa e 
documentação detalhada.
IMPLEMENTAÇÃO
IMPLEMENTAÇÃO DESENHO
Etapa do processo 
de desenvolvimento 
que realiza a 
transformação do 
desenho em diversos 
tipos de 
componentes de 
código de 
programação
Etapa do processo 
de desenvolvimento 
em que foi definida a 
arquitetura do 
sistema e definida a 
tecnologia usada na 
implementação
COMPONENTES DE CÓDIGO
• Código Fonte: Conjunto de instruções
gerados através de uma L.P., de forma lógica
e estruturada (L.P de alto nível)
• Código Objeto: Resultado da compilação do
código fonte
• Código de máquina: Sequência binária de
instruções, que são executadas diretamente
por um processador (conjunto específico de
instruções).
– Linguagem de baixo nível
– Utiliza a arquitetura do processador
LINGUAGEM DE MÁQUINA
• O Hardware é composto de componentes
eletrônicos, onde passa ou não corrente.
• A ausência ou não de corrente, cria para o
hardware uma linguagem de apenas 2
símbolos: 0 (zero) e 1 (um).
• É a chamada linguagem binária (Bi = dois)
ou linguagem de máquina.
• 0000011000100000 – seria um comando
(instrução) para um processador de 16 bits
de tamanho de palavra.
• Nos primórdios a linguagem era essa. Difícil
!!!!
LINGUAGEM ASSEMBLY
• Trocou-se 0 e 1, por mneumônicos
• Ao invés de endereçar posições físicas
de memória, usou Registradores
• ADD R1, R2, R3 ([R3]=[R1]+[R2])
• Surge o Montador
ADD R1, R2, R3 0001000100010001
Assembly Montador Máquina
LINGUAGEM DE ALTO NÍVEL
• Linguagem que se aproxima da linguagem humana
• Não leva em consideração a arquitetura do
computador, nem as características do processador
e seus registradores.
LINGUAGEM DE ALTO NÍVEL
Algoritmo
Leia (Av1, Av2)
Media (Av1+Av2)/2
Se Media >= 6.00
Então escreva (‘APR’)
Senão escreva (‘REP’)
C++ (Dev C++)
CódigoFonte
Cin>> Av1, Av2;
Media=(Av1+Av2)/2;
If (Media >=6,00)
cout<<“APR”;
else cout<< “REP”;
COMPARAÇÃO LINGUAGENS
COMO CONVERTER ?
• Homem (alto nível)  Máquina (baixo nivel)
• 2 processos fazem esse papel
– Interpretação (Interpretador)
• TRADUZ O CÓDIGO A MEDIDA QUE
EXECUTA
• Python, Pearl, PHP, Javascript, ASP
– Compilação (Compilador)
• TRADUZ E DEPOIS EXECUTA
• C++,
INTERPRETAÇÃO
• Interpretação é a "tradução" do código em
linguagem de máquina em tempo de
execução.
• É utilizada: PHP, ASP, Javascript.
• Uma característica marcante das
linguagens interpretadas são que elas
executam o código até o ponto em que há
um erro.
• Por acontecer em tempo de
execução,tipicamente tem um desempenho
um pouco menor.
INTERPRETAÇÃO
COMPILAÇÃO
• Primeiro, faz uma leitura completa do código,
identificando variáveis e outros elementos e
montando uma tabela com estas informações.
• No segundo passo, a "tradução" do código em
linguagem de máquina. Entretanto, a compilação
difere da tradução porque ela faz alterações no
código, de forma a torná-lo otimizado.
• Enquanto uma linha é sempre uma instrução na
tradução, x linhas no código terão y linhas de
comandos de máquina, de acordo com o
compilador.
• Compiladores modernos conseguem enormes
otimizações em certos códigos.
COMPILADOR / HÍBRIDO
AMBIENTES 
DESENVOLVIMENTO
AMBIENTES 
DESENVOLVIMENTO
JAVA
JAVA
BOA PRÁTICA-
PROGRAMAÇÃO
• Documentar com comentários o código
fonte
– // este procedimento visa calcular o
digito verificar com base no modulo 11
– // Data: Autor: Data alteração:
• Bons nomes – auto-explicativos e
padronizados
– variável: NA ??
– Variável: nome_aluno
PROG. BASEADA EM 
COMPONENTES
• Um componente é uma unidade reutilizável
de software, tipicamente, com fronteiras
bem definidas e encapsulado
– Independente
– Programação: componentes = classe
• Ganho de escala reaproveitamento
• Mais segurança
• Mais agilidade
• Sistema = conjunto de componentes
PROGRAMAÇÃO EM PAR
• Técnica usada nas metodologias ágeis
• 2 programadores trabalham juntos
• Ela sugere que todo e qualquer código
produzido no projeto seja sempre
implementado por duas pessoas juntas,
diante do mesmo computador, revezando-
se no teclado.
• 1 faz (executor) e outro verifica
(observador) / alternam-se nas tarefas
PROGRAMAÇÃO EM PAR
• A programação em par é uma forma eficaz de 
reduzir a incidência de bugs em um sistema.
• Isso se deve em grande parte às visões 
complementares que atuam durante o uso dessa 
prática. 
• Quando dois desenvolvedores estão programando 
em par, um deles está com as mãos no teclado e 
no mouse. O outro está sentado ao lado, olhando 
para a mesma tela e preocupado em resolver o 
mesmo problema. Ambos estão trabalhando juntos 
na solução, embora apenas um esteja com as 
mãos no teclado. Eles conversam o tempo todo e 
trocam idéias sobre a solução. 
PROGRAMAÇÃO EM PAR
• A programação em par explora a diversidade de 
idéias que é rara de ser observada quando se 
programa sozinho – troca de conhecimento
• A programação em par também é uma forma de 
fazer com que o desenvolvedor tenha mais 
confiança no código que produz, reduzindo seu 
stress
• Treinamento de programadores sem experiência.
AULA 1 – Prof. MARCELO VASQUES
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE 
AULA 7
Prof. MARCELO VASQUES
mvasqueso@gmail.com
1
OBJETIVOS DA AULA
Conhecer as atividades de:
 Suporte
 Manutenção
Entender a importância da 
documentação:
 do Processo
 do Produto
MANUTENÇÃO
 Fase que tem:
 Início: quando o sistema é instalado 
no ambiente do usuário, para uso.
 Fim: quando o sistema torna-se 
obsoleto e é substituído.
Motivos da obsolescência:
 Tecnologia ultrapassada
 Custo de manutenção supera 
benefícios
MANUTENÇÃO
Ciclo de Vida do Sistema = Ciclo de 
desenvolvimento + Manutenção
 Logo
Quanto maior o tempo da fase de 
manutenção, maior a vida útil do 
sistema
MANUTENÇÃO
A qualidade da manutenção vai 
depender da qualidade no processo de 
desenvolvimento
Documentação atualizada e 
adequada
Código eficiente e bem documentado
Desafio: manter documentação 
atualizada, na medida em que são 
feitas alterações no sistema.
ATIVIDADES DA 
MANUTENÇÃO
• Suporte ao uso do sistema
– Manuais, Help desk, visitas, 
treinamento
• Desenvolvimento
– Correção de erros (início) 
ausência ou má qualidade dos testes
– Melhorias nas funções existentes
– Implementação de novas funções
• Melhorias nas funções existentes
– Comum: efeito dominó  arquitetura 
inadequada
– Soluções
• Separação estática: identificar foco
• Refatoração: modificação da estrutura 
do software, sem alterar o 
comportamento.
ATIVIDADES DA 
MANUTENÇÃO
AFETAM O CUSTO DA 
MANUTENÇÃO
• Tipo de Aplicação
• Rotatividade e disponibilidade-Pessoal
• Duração da vida útil do sistema
• Ambiente (em que o sistema está 
inserido) que se modifica
• Características do hardware
• Qualidade do projeto, do código, da 
documentação e dos testes
• Caracteristicas das L.P. usadas
• O tempo da manutenção define o 
tempo de vida.
• Atentar para o custo.
• Elementos altamente coesos
• Elementos com baixo acoplamento
• Documentação completa e 
atualizada
AFETAM O TEMPO DA 
MANUTENÇÃO
MANUTENÇÃO COMO 
PROJETO
• Cuidado com as novas versões
– Causam instabilidade no ambiente
– Ideal: 
• menos intervenção possível
• acumular demandas que 
justifiquem a intervenção
• tratar as demandas como um 
projeto
–Dificuldade: controle das versões.
COMO ACUMULAR 
DEMANDAS
• Documento de demandas dos 
usuários
– Data, Pedido, Tipo
– Tipo
•emergencial (imediato)
•melhoria e nova função 
(analisar)
DOCUMENTAÇÃO PARA 
SUPORTE
• Manual do usuário
– Linguagem clara e adequado ao perfil 
– Mostrar como o usuário usa as 
funcionalidades
• Manual de Introdução
– Descreve as funcionalidades do sistema, 
sob a ótica do uso (uso)
– Os pré requisitos necessários para operar
DOCUMENTAÇÃO PARA 
SUPORTE
• Manual de Referência
– Descreve as facilidades do uso do 
sistema
– Informa os erros que podem ocorrer e 
como agir quando entregá-los.
• Documento de Instalação
– Descrição de como instalar o programa
– Plataforma de operação 
– Pré-requisitos necessários
DOCUMENTAÇÃO PARA 
SUPORTE
• Referência básica
– Documento com um resumo das 
funcionalidades, atalhos de procedimentos, 
principais funções utilizadas, e mensagens de 
erros mais comuns.
• Documentação do software
– Processo que descreve as partes do código 
fonte, requisitos necessários, arquitetura do 
sistema. Essa documentação é bastante útil 
para o desenvolvedor no processo de melhoria 
ou correção do produto.
DOCUMENTAÇÃO PARA 
SUPORTE
• Manual do Sistema
– Referência
• Facilidades do uso do sistema
• Erros que podem ocorrer e como agir 
– Instalação
• como instalar o sistema, plataformas 
de operação, pré-requisitos 
necessários.
DOCUMENTAÇÃO PARA 
MANUTENÇÃO
• Possibilitar que a equipe entenda o 
que foi pensado e as soluções dadas.
• Possibilitar que as alterações e novas 
funções possam ser documentadas.
• Tipo de documentação: textual e 
modelos (diagramas).
• Ferramenta CASE ajuda a manter a 
documentação VIVA e atualizada.
• Documentação do software
–Descreve as partes do código fonte, 
requisitos necessários, arquitetura 
do sistema. 
–Bastante útil para o desenvolvedor 
no processo de melhoria ou 
correção do produto.
DOCUMENTAÇÃO PARA 
MANUTENÇÃO
DOCUMENTAÇÃO DO 
PROCESSO
• Cronogramas
– Acompanhar o andamento
• Relatórios
– Documentar acompanhamento de 
recursos• Padronização de processos 
– Da empresa 
– Ou referencia nacional / internacional 
• Comunicação entre projetos.
DOCUMENTAÇÃO DO 
PROCESSO
• Documentos técnicos 
– Descreve estratégias de como chegar ao 
resultado final. 
– Registram erros, problemas e idéias que 
ocorrem durante o projeto
– As razões para tomar decisão
AULA 1 – Prof. MARCELO VASQUES
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE 
AULA 8
Prof. MARCELO VASQUES
mvasqueso@gmail.com
1
OBJETIVOS DA AULA
 Conhecer os processos em Cascata 
 Tradicional e 
 Com retroalimentação
 Entender as vantagens e limitações dos 
modelos
 Aplicar as fases do processo ao modelo.
2
CONTEXTO
Anos: 70/80
Antes: Não era usado processo de 
desenvolvimento.
 Programadores baseavam-se nas 
próprias experiências.
Não havia forma definida e 
estruturada
Não haviam testes e os erros eram 
corrigidos após implantação.
3
MODELOS INICIAIS
• Modelo Balburdia
– Base: experiência dos programadores
– 2 fases: Implementação & 
Correção
4
MODELOS INICIAIS
• Modelo Codifica-remenda
– Erros descobertos com o uso
• Ajustes em caráter de urgência
–Insatisfação e pressão dos usuários
– Surge a idéia de necessidades 
após implantação, pois os 
sistemas tornavam-se maiores.
– Confiabilidade e qualidade 
começam a ser contestadas.
5
MODELO CASCATA
• Ciclo de Vida do projeto
–Atividades ordenadas, com fluxo
contínuo para auxiliar o
acompanhamento do projeto.
• Atividades
• Fluxo de informações
• Relacionamento entre atividades
6
MODELO CASCATA
• 1º. Modelo em Engenharia de
Software
• Linear  a atividade é concluída
antes de iniciar a próxima.
–Sequencial e “para frente”
7
MODELO CASCATA
8
MODELO CASCATA
• Útil: pequenos projetos
–Sem padronização e documentação
–Ganho na fase de planejamento.
• Problema:
– Durante o projeto, a fase de
requisitos, está em constante
evolução e mudança
9
MODELO CASCATA
• Características
–base para outros modelos.
–usado até hoje.
• A questão:
–Se o processo somente pode ser
seguido após a finalização da etapa
anterior, este nunca irá se encerrar
10
MODELO CASCATA
Requisitos
Testes
Desenho
Implementação
Análise 
Manutenção Implantação
11
MODELO CASCATA
Requisitos
Testes
Desenho
Implementação
Análise 
D O C U M E N T A Ç Ã O 
12
MODELO CASCATA
• Vantagem
– Permite pontos de controle bem
definidos  facilita gestão do projeto
– Requer documentação todas as
fases.
– Em tese  só avança se cliente Valida
fase atual  Participação do usuário
(primeira tentativa de aproximar)
– Simples de implementar e gerir.
13
MODELO CASCATA - DESVANTAGENS
• Todos os requisitos devem ser descobertos
no início -- > não prevê alteração
• Não é possível corrigir erros em fases já
completas.
• Projeto raramente segue fluxo seqüencial 
iterações (vários ciclos) são necessárias.
• Não prevê manutenção.
• Usuário só vê os resultados ao final(péssimo)
• Dificulta visão de reutilização.
• Se ocorrer atraso , todo processo é afetado;
• Só gestor tem visão do todo.
14
MODELO CASCATA
• EXISTEM MUITAS VARIÁVEIS (FASES)
• AS PRINCIPAIS ATIVIDADES SÃO:
– estudo de viabilidade
– análise e especificação de requisitos
– design da arquitetura
– Design detalhado
– codificação e testes de unidades
– integração e teste do sistema
– Instalação, treinamento e entrega
15
CASCATA 
C/RETROALIMENTAÇÃO
• Variante “cascata tradicional” que
permite a realimentação
• Modelo que permite a revisão de
fases anteriores e a superposição
entre as fases.
• Correções que surgirem durante
outras fases do processo.
• Porem o custo dessa revisão pode ser
alto, dependendo da fase atual e do
quanto se precisa retroceder
16
Requisitos
Testes
Desenho
Implementação
Análise 
Manutenção Implantação
CASCATA 
C/RETROALIMENTAÇÃO
17
• Vantagem
–Possibilita a correção de erros
nas fase(s) anterior(es), durante o
processo de desenvolvimento.
–Prevê manutenção
CASCATA 
C/RETROALIMENTAÇÃO
18
• Desvantagem
–Dependendo da quantidade de
revisões e realimentações, o
processo pode se tornar difícil
de gerenciar.
19
CASCATA 
C/RETROALIMENTAÇÃO
19
AULA 1 – Prof. MARCELO VASQUES
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE 
AULA 9
Prof. MARCELO VASQUES
mvasqueso@gmail.com
1
OBJETIVOS DA AULA
 Conhecer os processos de 
desenvolvimento:
 Iterativo e Incremental
Prototipação
Espiral
CONTEXTO
Modelo Cascata
 Os projetos não tem características 
sequenciais  várias iterações
 Desenvolvimento de todo sistema
Modelo Iterativo-incremental
 Os projetos são desenvolvidos em 
porções (incremental), em várias 
iterações.
Ideia de melhoramento ou 
refinamentos sucessivos (aos poucos)
PROCESSO ITERATIVO
• Seleção de uma parte do projeto
– Identifica, especifica, implementa, 
testa e implanta a iteração
– Se atender as especificações, 
passa-se a próxima iteração.
PROCESSO ITERATIVO
PROCESSO INCREMENTAL
• Modelo que se baseia na idéia de
aumento do âmbito do sistema.
• Desenvolvimento em partes
–Ou seja, na criação de novas
versões para o modelo proposto.
• As partes podem ser
desenvolvidas em paralelo e
integradas quando completas.
PROCESSO INCREMENTAL
MODELO ITERATIVO E 
INCREMENTAL
• Processo de desenvolvimento de software
que define:
– um subconjunto de requisitos e
– utiliza o modelo em cascata para sua
realização.
• Cada porção do ciclo segue o projeto de 
arquitetura inicial como guia, mas com uma 
abordagem bem menor. 
• Uma vez satisfeitos os requisitos e os 
objetivos da iteração forem completos, o 
desenvolvimento segue para a próxima 
iteração.
MODELO ITERATIVO E 
INCREMENTAL
• Os passos fundamentais são:
– iniciar o desenvolvimento com um 
subconjunto simples de Requisitos de 
Software e 
– iterativamente alcançar evoluções 
subseqüentes das versões até o 
sistema todo estar implementado. 
–A cada iteração, as modificações de 
projeto são feitas e novas 
funcionalidades são adicionadas.
MODELO ITERATIVO E 
INCREMENTAL
MODELO: PROTOTIPAÇÃO
• Criação de um modelo para ser 
analisado e desenvolvido a partir do 
protótipo
• O Analista coletará informações para 
um mini projeto, concentrando-se nas 
entradas e saídas do software.
• Após a criação e aceitação do 
protótipo, o produto final será 
desenvolvido.
• O protótipo serve como mecanismo 
para identificar os requisitos
• Tipos de protótipo:
– em papel ou sistema: retratam a interface e 
interação
– em sistema, implementando algumas funções
• Quando usar?
– O cliente definiu um conjunto de objetivos gerais 
para o software, mas não identificou requisitos 
de entrada, processamento e saída com 
detalhes 
– O desenvolvedor não tem certeza da eficiência 
de um algoritmo ou forma da interação. 
MODELO: PROTOTIPAÇÃO
MODELO: PROTOTIPAÇÃO
• 1- OBTENÇÃO DOS REQUISITOS 
– O desenvolvedor e o cliente definem os 
objetivos gerais do software, identificam quais 
requisitos são conhecidos e as áreas que 
necessitam de definições adicionais. 
• 2- PROJETO RÁPIDO 
– É a representação dos aspectos do software 
que são visíveis ao usuário (entrada e formatos 
de saída). 
• 3- CONSTRUÇÃO PROTÓTIPO 
– É a implementação do projeto rápido. Serve 
como o “primeiro sistema” - recomendado que 
não seja usado como produto final.
MODELO: PROTOTIPAÇÃO
• 4- AVALIAÇÃO DO PROTÓTIPO 
– Cliente e desenvolvedor avaliam o protótipo. 
• 5- REFINAMENTO DOS REQUISITOS: 
– Com base na avaliação, refinam o produto
– Ocorre neste ponto umprocesso de iteração 
que pode conduzir à atividade 1 até que as 
necessidades do cliente sejam satisfeitas e o 
desenvolvedor compreenda o que precisa ser 
feito. 
• 6- CONSTRUÇÃO PRODUTO: 
– A versão de produção deve ser construída 
considerando os critérios de qualidade. 
– Protótipo deve ser descartado
MODELO: PROTOTIPAÇÃO
MODELO: ESPIRAL
• O Modelo espiral se assemelha 
com o propotipação, mas inclui um 
fator: a análise de risco. 
• Funciona de forma iterativa, 
incremental, mas com uma etapa 
onde pode ser tomada a decisão de 
se interromper ou não o processo.
MODELO: ESPIRAL
• Cada volta da espiral representa uma 
fase do processo: 
• Planejamento: Definição os objetivos, 
alternativas e restrições
• Análise de Riscos: Análise de alternativas e 
identificação dos riscos sob o ponto de vista 
técnico e de gerência
• Engenharia: Desenvolvimento do produto
• Avaliação do cliente: Avaliação dos 
resultados
MODELO: ESPIRAL
• Não há fases fixas como especificação e 
desenho - as voltas na espiral são 
determinadas pelo que é requerido. 
• Riscos são explicitamente avaliados e 
resolvidos no processo 
• Engloba as melhores características do ciclo 
de vida Clássico e da Prototipação, 
adicionando um novo elemento: a ANÁLISE 
DOS RISCOS. 
• Usa a Prototipação, em qualquer etapa da 
evolução do produto, como mecanismo de 
redução de riscos. 
MODELO: ESPIRAL
• Vantagens
– Modelo evolutivo, possibilita uma maior 
integração entre as fases e facilita a depuração 
e a manutenção do sistema.
– Permite que o projetista e cliente possam 
entender e reagir aos riscos em cada etapa 
evolutiva.
• Desvantagens
– Avaliação dos riscos exige muita experiência.
– O modelo é relativamente novo e não tem sido 
amplamente utilizado.
MODELO: ESPIRAL
COMPARATIVO
MODELO VANTAGENS DESVANTAGENS
CASCATA • MINIMIZA O TEMPO DE 
PLANEJAMENTO
• FUNCIONA COM EQUIPES 
TECNICAMENTE FRACAS
• INFLEXÍVEL
• DOCUMENTAÇÃO É 
FUNDAMENTAL
• DIFÍCIL VOLTAR ATRAS PARA 
CORREÇÃO DE ERROS
ESPIRAL • AS INTERAÇÕES INICIAS DO 
PROJETO SÃO AS MAIS 
BARATAS, PERMITINDO QUE AS 
TAREFAS DE MAIOR RISCO 
TENHAM CUSTO BAIXO.
• CADA ITERAÇÃO DA ESPIRAL 
PODE SER CUSTOMIZADA PARA 
AS NECESSIDADES ESPECÍFICAS 
DE CADA PROJECTO.
• É COMPLEXO E REQUER 
ATENÇÃO E CONHECIMENTO 
ESPECIAIS PARA SUA
IMPLEMENTAÇÃO
PROTOTIPAÇÃO • OS CLIENTES CONSEGUEM VER 
OS PROGRESSOS.
• É ÚTIL QUANDO OS REQUISITOS 
MUDAM RAPIDAMENTE E O 
CLIENTE ESTÁ RELUTANTE EM 
ACEITAR UM CONJUNTO DE 
REQUISITOS.
• É IMPOSSÍVEL DETERMINAR 
COM EXATIDÃO O TEMPO QUE 
O PROJETO VAI DEMORAR.
• NÃO HÁ FORMA DE SABER O 
NÚMERO DE ITERAÇÕES QUE 
SERÃO NECESSÁRIAS.
AULA 1 – Prof. MARCELO VASQUES
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE 
AULA 10
Prof. MARCELO VASQUES
mvasqueso@gmail.com
1
AULA 1 – Prof. MARCELO VASQUES
OBJETIVOS DA AULA
 Conhecer os processos de 
desenvolvimento:
Ágeis – XP e SCRUM
RUP – Processo Unificado
2
AULA 1 – Prof. MARCELO VASQUES
CONTEXTO:ESTADO DA ARTE
 Engenharias Tradicionais valorizam o 
Projetar ANTES de Construir
 Engenharias Tradicionais não exergam
o processo de desenvolvimento de SW 
como ele é: Com mudanças sempre
 Necessidade: Metodologia que permita
alteração frequente do SW sem afetar sua
qualidade.
 Um grupo de desenvolvedores QUER
processo menos burocrático e + prático
3
AULA 1 – Prof. MARCELO VASQUES
ENGENHARIA DE SOFTWARE
4
AULA 1 – Prof. MARCELO VASQUES
DESEJO DAS METOD. ÁGEIS
5
AULA 1 – Prof. MARCELO VASQUES
PROCESSO DE DESENV. ÁGIL
Baseado em um MANIFESTO, criado 
por desenvolvedores experientes
Estamos descobrindo maneiras 
melhores de desenvolver software, 
fazendo-o nós mesmos e ajudando 
outros a fazerem o mesmo. 
 Foco em pessoas e não em 
ferramentas
Mudanças nos valores;
6
AULA 1 – Prof. MARCELO VASQUES
MANIFESTO ÁGIL
Valoriza-se:
Indivíduos e interações mais que 
processos e ferramentas
Software em funcionamento mais 
que documentação abrangente
Colaboração com o cliente mais 
que negociação de contratos
Responder a mudanças mais que 
seguir um plano 
7
AULA 1 – Prof. MARCELO VASQUES
PROCESSO DE DESENV. ÁGIL
 Nossa maior prioridade é satisfazer o cliente 
 Mudanças nos requisitos são bem-vindas, 
mesmo tardiamente no desenvolvimento 
 Entregar frequentemente software 
funcionando – na menor escala de tempo 
possível.
 Pessoas de negócio e desenvolvedores 
devem trabalhar diariamente em conjunto 
por todo o projeto. 
8
AULA 1 – Prof. MARCELO VASQUES
 Construa projetos em torno de indivíduos 
motivados. Dê a eles o ambiente e o suporte 
necessário 
 O método mais eficiente e eficaz de 
transmitir informações para e entre uma 
equipe de desenvolvimento é através de 
conversa
 Software funcionando é a medida primária de 
progresso 
PROCESSO DE DESENV. ÁGIL
9
AULA 1 – Prof. MARCELO VASQUES
Em intervalos regulares, a equipe 
reflete sobre como se tornar mais 
eficaz e então refina e ajusta seu 
comportamento
PROCESSO DE DESENV. ÁGIL
10
AULA 1 – Prof. MARCELO VASQUES
• XP= eXtreme Programming.
• Baseado em 5 valores
– Comunicação, 
– Coragem (para lidar c/ mudança 
requisito) 
– Feedback, 
– Respeito (entre membros da equipe) 
– Simplicidade (fazer o necessário).
MÉTODO XP
11
AULA 1 – Prof. MARCELO VASQUES
PRÁTICAS DO MÉTODO XP
12
AULA 1 – Prof. MARCELO VASQUES
PRÁTICAS DO MÉTODO XP
13
AULA 1 – Prof. MARCELO VASQUES
MÉTODO SCRUM
O Scrum é um processo de
desenvolvimento iterativo e incremental
para gerenciamento de projetos e
desenvolvimento ágil de software
Uso: trabalhos complexos, onde não há
previsão exata do que se pretende
desenvolver
O projeto é dividido em ciclos (sprints)
O sprint é a iteração, no caso do
SCRUM
14
AULA 1 – Prof. MARCELO VASQUES
MÉTODO SCRUM
15
AULA 1 – Prof. MARCELO VASQUES
MODELO SCRUM
 Product Backlog
Lista com Funcionalidades a serem
implementadas.
 Sprint Backlog
Análise dos requisitos para informar equipe
como será implementado.
 Sprint
Período para finalização de cada requisito
 Scrum
Reunião diária para análise de andamento
 Scrum Master coordenador (não estourar o
sprint)
16
AULA 1 – Prof. MARCELO VASQUES
RUP - Rational Unified Process
Processo proprietário de desenvolvimento de
software, criado pela Rational, que foi adquirida
pela IBM.
Baseado em OO.
Processo pesado
Uso em grandes projetos
Desenvolver iterativamente
Gerenciar requerimentos  uso de casos de uso
Foca arquitetura baseada em componentes
Utiliza UML modelagem visual
Qualidade durante todo o processo
Gestão e controle de mudanças
17
AULA 1 – Prof. MARCELO VASQUES
RUP - Rational Unified Process
 Disciplinas + fases + iterações.
 Disciplinas
Modelagem de negócios
Requisitos
Análise e design
 Implementação
Teste
 Implantação
Configuração e mudanças
Projeto (gestão de pessoas, orçamento e
contratos)
Ambiente (servidores, ferramentas, Bds..)
18
AULA 1 – Prof. MARCELO VASQUES
As FASES do RUP
19
AULA 1 – Prof. MARCELO VASQUES
RUP
20
AULA 1 – Prof. MARCELO VASQUES
RUP - Rational Unified Process
2 dimensões
 Eixo horizontal
 Representa o TEMPO
 Mostra os aspectos do ciclo de
vida a medida que se desenvolve:
FASES E ITERAÇÕES
 Eixo vertical
 Representa as DISCIPLINAS,
que agrupam as atividades.
21
AULA 1 – Prof. MARCELO VASQUES
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE 
AULA Revisão AV2 – Aulas 1 a 10
Prof. MARCELO VASQUES
mvasqueso@gmail.com
1
 1: Ciclo de Vida e Processo de SW
 2: Viabilidade, Levantamento de Requisitos 3: Fase de Análise: conceitos e modelos
 4. Fase de Desenho: conceitos e modelos
 5. Fase de Testes: conceitos e tipos
 6. Implementação
 7. Suporte e Manutenção
 8. Processos Clássicos (todo sistema)
 9. Processos Iterativo incremental
 10. Processos Ágeis e RUP
As Aulas
2
•Aula 6: Implementação
As Aulas
3
1. Com relação a fase de implementação, analise as assertivas
I. Na fase de programação é feito projeto da arquitetura do 
SW
II. As empresas precisam seguir padrões para programar
III. As instruções do programa na LP constituem o código fonte
IV. O Código de maquina resulta da compilação do código fonte
Com base em sua análise, assinale a opção correta
a) Estão corretas as opções I, II e III
b) Estão corretas as opções II e III
c) Estão corretas as opções II e IV
d) Estão corretas as opções I, II e III
e) Estão corretas as opções III e IV
AULA 6
4
2. Com relação as linguagens de programação, analise
I. A linguagem de máquina é uma e linguagem binária é outra, 
porém há uma relação entre elas.
II. A linguagem assembly dificultou a vida do programador, 
pois é mais complexa que a linguagem de máquina
III. Um programa em linguagem de alto nível tem menos 
instruções que o mesmo programa em linguagem de 
máquina
IV. O Montador converte linguagem assembly em linguagem de 
máquina
Com base em sua análise, assinale a opção correta
a) Estão corretas as opções I, II e III
b) Estão corretas as opções II e III
c) Estão corretas as opções III e IV
d) Estão corretas as opções I e II
AULA 6
5
3. A conversão da linguagem de alto nível em linguagem de 
baixo nível (máquina) pode ser realizada por 2 processos 
distintos. Assinale a opção que contém esses processos
a) Compilador e montador
b) Montador e tradutor
c) Compilador e interpretador
d) Interpretador e link-editor
AULA 6
6
4. Um dos processos de conversão de linguagens de alto nível 
em linguagem de máquina chama-se interpretação e o outro 
compilação. Marque C a descrição do processo de compilação 
e I na descrição do processo de Interpretação
a) Traduz o código a medida em que o executa _______
b) Traduz o código e depois o executa _______
c) Param quando encontram um erro, na execução ______
d) Tem desempenho menor que o outro processo _______
e) Faz otimização no código fonte _______
5) Como se chama o programa que converte código assembly
em código de máquina R: __________________________
6) Como se chama o programa que converte vários códigos 
objetos (maquina) em um executável: R: _______________
AULA 6
7
AULA 6
8
6) Um único compilador poder gerar código de máquina para 
diferentes sistemas operacionais? E para diferentes 
processadores?
Resp: Não. O compilador é dependente do hardware e do SO, 
ou seja para a linguagem X, existira um compilador Y para 
Windows e um compilador Z para MAC 
7) E como então a linguagem JAVA é dita portável (entre 
sistemas operacionais, por exemplo)?
Resp: Ela tem um único compilador, lê o código fonte em 
linguagem de alto nível que gera um código intermediário 
chamado BYTECODE e para cada plataforma existirá um 
interpretador JAVA, que transforma o bytecode em linguagem 
de máquina para cada plataforma.
- Esse interpretador é a chamada máquina virtual em JAVA.
AULA 6
9
AULA 6
10
8) Um componente á a menor unidade de software, que pode e 
deve ser reaproveitada. Sobre o conceito de componente e 
programação baseada em componentes, assinale a opção 
INCORRETA
a) O componente deve ser o mais independente possível
b) Ganha-se em agilidade com uso de componentes
c) O custo aumenta com uso de componentes
d) Aumenta a segurança com o uso de componentes.
9) Sobre a programação em PAR assinale a assertiva Correta:
a) Dois ou mais programadores trabalham juntos
b) Um programador é o líder e os demais submissos
c) Tende a aumentar a incidência de bugs em sistemas
d) Explora a diversidade de idéias e é útil para treinamento de 
programadores inexperientes.
AULA 6
11
Aula 7: Suporte e 
Manutenção
AULA 7
12
1) Com relação a fase de manutenção, assinale a ÚNICA 
resposta INCORRETA
a) Inicia quando o usuário começa a usar o sistema.
b) Termina quando instala-se a 1ª. Versão de correção 
c) O custo da manutenção historicamente tem sido alto
d) O Ciclo de vida do sistema inclui a manutenção, além do 
seu ciclo de desenvolvimento 
2) Analise cada assertiva e diga se V ou F
a) Quanto maior o tempo da fase de manutenção de um 
sistema, maior será sua vida útil..
b) Quanto mais qualidade houver no desenvolvimento, mais 
qualidade tende a ter a manutenção
c) O grande desafio da manutenção é manter a documentação 
atualizada
AULA 7
13
3) Com relação a fase de manutenção, analise as assertivas
I. A fase de manutenção só cuida de erros
II. O sistema so possui a fase de manutenção quando ter novas 
implementações a serem desenvolvidas
III. A manutenção envolve ajustes de erros, melhorias das 
funções existentes, e implementação de novas funções 
a) Estão corretas as opções I, II e III
b) Estão corretas as opções I e II
c) Apenas opção II está correta
d) Apenas opção III está correta.
AULA 7
14
4) Assinale a opção que expressa o nome da técnica que 
permite alterar a estrutura de um software, sem alterar o seu 
comportamento
a) Efeito dominó
b) Arquitetura flexível.
c) Comportamento linear
d) Refatoração
5) Dentre as opções abaixo, qual não afeta o custo de 
manutenção de um sistema
a) Rotatividade e disponibilidade de pessoal.
b) Linguagem de programação que poucos conhecem
c) Qualidade do projeto e de sua documentação
d) Ambiente do sistema, que não se modifica.
AULA 7
15
6) O efeito dominó é um problema que ocorre quando se altera 
um programa em que a mudança em uma parte do sistema 
reflete no comportamento de outras partes, aparentemente sem 
relação entre si. Esse problema acontece quando:
a) O sistema tem alto acoplamento e coesão
b) O sistema tem alto acoplamento e alta coesão
c) O sistema tem baixo acoplamento e alta coesão
d) O sistema tem alto acoplamento e baixa coesão
7) Como as demandas de manutenção devem ser tratadas?
a) Tratar cada demanda imediatamente após seu relato 
b) Tratar as demandas como um projeto
c) Tratar as demandas sempre uma vez ao mês
d) Tratar apenas as demandas de novas implementações.
AULA 7
16
8) Com relação as intervenções para atender demandas da 
fase de manutenção, analise as assertivas abaixo:
I. Intervenções podem e devem acontecer sempre que 
necessário
II. Intervenções causam instabilidade no ambiente
III. Intervenções devem acontecer de forma controlada
IV. As demandas de manutenção devem ser acumuladas até 
que justifiquem uma intervenção
Com base em sua análise, assinale apção correta
a) Estão corretas apenas I, II e III
b) Estão corretas apenas II e III
c) Estão corretas apenas II, III e IV
d) Estão corretas I e II
AULA 7
17
9) Com relação ao período que antecedeu o processo de 
desenvolvimento clássico, NÃO podemos afirmar
a) Os programadores baseavam-se praticamente em suas 
experiências, apenas.
b) Partia-se direto para desenvolver o código em linguagem de 
programação
c) Haviam testes de qualidade desde sempre
d) Não havia procedimento claramente definido.
10) Com relação ao ciclo de desenvolvimento (ou de projeto) de 
um sistema, assinale a opção correta
a) É o mesmo que ciclo de vida
b) É o período que vai da concepção a “morte” do sistema
c) É o período que inicia com a concepção e termina com a 
implantação do sistema
d) Inclui a fase de manutenção
AULA 8
18
11) Com relação ao modelo em Cascata Clássico, analise as 
assertivas abaixo
I. Tipicamente linear, ou seja sequencial e para frente.
II. Demandava “congelamento” dos requisitos levantados, sempossibilitar novos ou alterações dos iniciais.
III. Sem padronização e documentação eficiente
IV. Usuário recebe parte do sistema, de tempos em tempos
Assinale a assertiva correta com base em sua análise
a) Estão corretas apenas as opções II e III
b) Estão corretas apenas as opções I e III
c) Estão corretas apenas as opções I e II
d) Estão corretas apenas as opções I, II e III
e) Estão corretas apenas as opções I, II e IV
AULA 8
19
12) Analise cada assertiva quanto a ser V ou F
I. O processo Em cascata com retroalimentação ajusta o 
principal problema do processo Em cascata Clássico, que 
era a aceitação de mudanças nos requisitos.
II. O retrocesso no processo com retroalimentação só 
acontecia até a fase anterior.
III. Não prevê manutenção
IV. Facilmente gerenciável, mesmo com os retrocessos a fases 
anteriores.
Com base em sua análise, marque a correta sequencia de V/ F
a) V, F, F, F
b) F,F,F.F,F
c) V,V,V,F
d) V,V,F,V
AULA 8
20
13) Com relação aos processos de desenvolvimento de SW, 
analise a assertiva falsa
a) Os projetos não tem características sequencias, como 
requerido pelos processos em cascata (clássico e com 
retroalimentação)
b) Os modelos de processo em cascata não pressupõem o 
desenvolvimento de todo o sistema, em cada fase.
c) No processo iterativo o sistema é dividido em várias 
porções (interações)
d) No processo incremental a cada iteração o sistema sofre 
acréscimo de tamanho , até que fique pronto.
AULA 9
21
14) Sobre o modelo iterativo-incremental, diga se V ou F
a) Usa o modelo em cascata para desenvolver cada iteração.
b) Uma iteração deve começar definindo um conjunto de 
requisitos do software e termina com sua implantação
c) O usuário só faz contato com o sistema após a última 
iteração estar pronta
d) As modificações do projeto não podem ocorrer a cada 
iteração e sim apenas ao final de todas as iterações prontas.
Assinale a correta sequencia de V e F
a) V,V.V,V
b) V,V,F,F
c) V,V,V,F
d) F,F,V,F
AULA 9
22
15) Assinale a opção que representa a correta divisão de 
TODAS as fases do modelo de prototipação.
a) Obtenção de requisitos, projeto rápido, construção do 
protótipo, refinamento de requisitos, Construção do produto **
b) Obtenção de requisitos, projeto rápido, construção do 
protótipo, refinamento de requisitos
c) Obtenção de requisitos, construção do protótipo, 
Refinamento de requisitos, construção do produto
d) Obtenção de requisitos, projeto rápido, construção do 
protótipo, construção do produto
AULA 9
23
16) Com relação a prototipação, assinale a opção INCORRETA
a) O protótipo é um meio para que sejam definidos os 
requisitos, em tipos de projetos onde esses não são claros 
desde o inicio.
b) O produto final é ultimo protótipo gerado.
c) Pode-se usar protótipos em papel, para que aconteça o 
mais cedo possível.
d) É do tipo iterativo-incremental.
17) O que de melhor trás de novidade o processo espiral
R: a análise de riscos
18) O processo espiral usa a prototipação.
AULA 9
24
AULA 9
MODELO VANTAGENS DESVANTAGENS
CASCATA • MINIMIZA O TEMPO DE 
PLANEJAMENTO
• FUNCIONA COM EQUIPES 
TECNICAMENTE FRACAS
• INFLEXÍVEL
• DOCUMENTAÇÃO É 
FUNDAMENTAL
• DIFÍCIL VOLTAR ATRAS PARA 
CORREÇÃO DE ERROS
ESPIRAL • AS INTERAÇÕES INICIAS DO 
PROJETO SÃO AS MAIS 
BARATAS, PERMITINDO QUE AS 
TAREFAS DE MAIOR RISCO 
TENHAM CUSTO BAIXO.
• CADA ITERAÇÃO DA ESPIRAL 
PODE SER CUSTOMIZADA PARA 
AS NECESSIDADES ESPECÍFICAS 
DE CADA PROJECTO.
• É COMPLEXO E REQUER 
ATENÇÃO E CONHECIMENTO 
ESPECIAIS PARA SUA
IMPLEMENTAÇÃO
PROTOTIPAÇÃO • OS CLIENTES CONSEGUEM VER 
OS PROGRESSOS.
• É ÚTIL QUANDO OS REQUISITOS 
MUDAM RAPIDAMENTE E O 
CLIENTE ESTÁ RELUTANTE EM 
ACEITAR UM CONJUNTO DE 
REQUISITOS.
• É IMPOSSÍVEL DETERMINAR 
COM EXATIDÃO O TEMPO QUE 
O PROJETO VAI DEMORAR.
• NÃO HÁ FORMA DE SABER O 
NÚMERO DE ITERAÇÕES QUE 
SERÃO NECESSÁRIAS.
25
19) Marque a opção que NÃO representa uma característica 
dos processos de desenvolvimento ágeis, onde valoriza-se
a) Mais indivíduos e interações do que processos e ferramentas
b) Menos documentação abrangente e mais software em 
funcionamento
c) Mais colaboração com cliente do que negociação de 
contratos.
d) Mais seguir um plano do que responder a mudanças **
AULA 10
26
20) Com relação aos métodos XP e Scrum, representantes dos 
processos de desenvolvimento ágeis, associe as 2 colunas.
I. ( ) Iteração no Scrum a. Feedback
II ( ) Sprint backlog b. Dividem o código a 
implementar
III ( ) Um dos valores do XP c. Requisitos a serem 
implementados no Scrum
IV ( ) Programação em par d. Sprint
I-d; II-c; III-a IV-b 
AULA 10
27
21) 0) Como funciona a programação em par, proposta 
pelo método ágil, de nome XP (extremme 
programming).
resp: Formada por uma dupla no papel de iniciante e 
de instrutor. Como utilizam um único computador, o 
código passa 
automaticamente pelo crivo de duas pessoas, 
enriquecendo o código.
AULA 10
28
	Aula_05
	Número do slide 1
	Número do slide 2
	AS FASES DO PROCESSO 
	O CICLO DE VIDA
	1ª. DEFINIÇÃO DE TESTE
	1ª. DEFINIÇÃO DE TESTE
	FASE: TESTES
	MODALIDADES DE TESTES
	MODALIDADES DE TESTES
	MODALIDADES DE TESTES
	ESTRATÉGIAS DE TESTES
	Número do slide 12
	TESTE DE UNIDADE
	TESTE DE INTEGRAÇÃO
	TESTES DE SISTEMAS (VALIDAÇÃO)
	TESTES DE ACEITE
	IMPORTANTE
	Aula_06
	Número do slide 1
	OBJETIVOS DA AULA
	IMPLEMENTAÇÃO
	IMPLEMENTAÇÃO
	IMPLEMENTAÇÃO
	COMPONENTES DE CÓDIGO
	LINGUAGEM DE MÁQUINA
	LINGUAGEM ASSEMBLY
	LINGUAGEM DE ALTO NÍVEL
	LINGUAGEM DE ALTO NÍVEL
	COMPARAÇÃO LINGUAGENS
	COMO CONVERTER ?
	INTERPRETAÇÃO
	INTERPRETAÇÃO
	COMPILAÇÃO
	COMPILADOR / HÍBRIDO
	AMBIENTES DESENVOLVIMENTO
	AMBIENTES DESENVOLVIMENTO
	JAVA
	JAVA
	BOA PRÁTICA- PROGRAMAÇÃO
	PROG. BASEADA EM COMPONENTES
	PROGRAMAÇÃO EM PAR
	PROGRAMAÇÃO EM PAR
	PROGRAMAÇÃO EM PAR
	Aula_07
	Número do slide 1
	OBJETIVOS DA AULA
	MANUTENÇÃO
	MANUTENÇÃO
	MANUTENÇÃO
	ATIVIDADES DA MANUTENÇÃO
	ATIVIDADES DA MANUTENÇÃO
	AFETAM O CUSTO DA MANUTENÇÃO
	AFETAM O TEMPO DA MANUTENÇÃO
	MANUTENÇÃO COMO PROJETO
	COMO ACUMULAR DEMANDAS
	DOCUMENTAÇÃO PARA SUPORTE
	DOCUMENTAÇÃO PARA SUPORTE
	DOCUMENTAÇÃO PARA SUPORTE
	DOCUMENTAÇÃO PARA SUPORTE
	DOCUMENTAÇÃO PARA MANUTENÇÃO
	DOCUMENTAÇÃO PARA MANUTENÇÃO
	DOCUMENTAÇÃO DO PROCESSO
	DOCUMENTAÇÃO DO PROCESSO
	Aula_08
	Número do slide 1
	OBJETIVOS DA AULA
	CONTEXTO
	MODELOS INICIAIS
	MODELOS INICIAIS
	MODELO CASCATA
	MODELO CASCATA
	MODELO CASCATA
	MODELO CASCATA
	MODELO CASCATA
	MODELO CASCATA
	MODELO CASCATA
	MODELO CASCATA
	MODELO CASCATA - DESVANTAGENS
	MODELO CASCATA
	CASCATA C/RETROALIMENTAÇÃO
	CASCATA C/RETROALIMENTAÇÃO
	CASCATA C/RETROALIMENTAÇÃO
	CASCATA C/RETROALIMENTAÇÃO
	Aula_09
	Número do slide 1
	OBJETIVOS DA AULA
	CONTEXTO
	PROCESSO ITERATIVO
	Número do slide 5
	PROCESSO INCREMENTAL
	PROCESSO INCREMENTAL
	MODELO ITERATIVO E INCREMENTAL
	MODELO ITERATIVO E INCREMENTAL
	MODELO ITERATIVO E INCREMENTAL
	MODELO: PROTOTIPAÇÃO
	MODELO: PROTOTIPAÇÃO
	MODELO: PROTOTIPAÇÃO
	MODELO: PROTOTIPAÇÃO
	MODELO: PROTOTIPAÇÃO
	MODELO: ESPIRAL
	MODELO: ESPIRAL
	MODELO: ESPIRAL
	MODELO: ESPIRAL
	MODELO: ESPIRAL
	COMPARATIVO
	Aula_10
	Número do slide 1
	OBJETIVOS DA AULA
	CONTEXTO:ESTADO DA ARTE
	ENGENHARIA DE SOFTWARE
	DESEJO DAS METOD. ÁGEIS
		PROCESSO DE DESENV. ÁGIL
	MANIFESTO ÁGIL
	PROCESSO DE DESENV. ÁGIL
	PROCESSO DE DESENV. ÁGIL
	PROCESSO DE DESENV. ÁGIL
	MÉTODO XP
	PRÁTICAS DO MÉTODO XP
	PRÁTICAS DO MÉTODO XP
	MÉTODO SCRUM
	MÉTODO SCRUM
	MODELO SCRUM
	RUP - Rational Unified Process
	RUP - Rational Unified Process
	As FASES do RUP
	RUP
	RUP - Rational Unified Process
	revisaoav2
	Número do slide 1
	Número do slide 2
	Número do slide 3
	AULA 6
	AULA 6
	AULA 6
	AULA 6
	AULA 6
	AULA 6AULA 6
	AULA 6
	AULA 7
	AULA 7
	AULA 7
	AULA 7
	AULA 7
	AULA 7
	AULA 8
	AULA 8
	AULA 8
	AULA 9
	AULA 9
	AULA 9
	AULA 9
	AULA 9
	AULA 10
	AULA 10
	AULA 10

Outros materiais