Escolar Documentos
Profissional Documentos
Cultura Documentos
Desenvolvimento
Equipe Null_Void( )
Processo de Desenvolvimento
➔ Um processo de desenvolvimento de software tem como objetivo a
formalização e sistematização de atividades relacionadas a elaboração de
sistemas. Nele são definidos:
◆ As atividades a serem executadas ao longo do projeto
● quando, como e por quem serão executadas
◆ Prover pontos de controle para verificar o andamento
◆ Padronizar o desenvolvimento de software
Processo de Desenvolvimento
➔ Do que é composto?
◆ Um processo de desenvolvimento de software possui 4 etapas básicas:
Validação: validação do software para verificar se ele atende as necessidades dos usuários;
➔ Processos permitem :
◆ organizar;
◆ instrumentar;
◆ planejar;
◆ acompanhar projetos;
◆ treinar equipes.
Processo de Desenvolvimento
➔ Sem o uso de processos....
◆ Procedimentos existentes na organização não são documentados e usados de forma
consistente na prática;
◆ Erros são cometidos repetidamente;
◆ Dificuldade de prever cronogramas e orçamentos;
◆ Alto índice de defeitos, retrabalho e desperdício;
◆ Dificuldade de implementar boas práticas e lições aprendidas;
◆ Dificuldade de realizar ações para prevenção de defeitos.
Componentes de Processos
Componentes de Processos
➔ Artefato: é um resultado de uma atividade, exemplos:
◆ documento revisto e aceito
◆ módulo implementado, testado e aceito
◆ construto integrado, testado e aceito
◆ framework documentado, implementado, testado e aceito
◆ quando entregue ao usuário (cliente) o artefato é um produto
➔ Insumo
◆ elemento necessário para a realização de uma tarefa ou atividade
◆ pode ser um elemento de saída de outras atividades ou tarefas
Componentes de Processos
➔ Tarefa
◆ é uma ação desempenhada por alguma pessoa visando a realização ou monitoramento
do projeto
◆ não representa uma evidência de progresso no desenvolvimento
◆ consome recursos - consumo real
● esforço (tempo de pessoa)
● equipamento
● financeiro
Componentes de Processos
➔ Atividade
◆ conjunto de tarefas que levam a um ou mais artefatos de qualidade controlada
◆ representa uma evidência de progresso no desenvolvimento
◆ permite o controle da qualidade do resultado
◆ o esforço é medido através das tarefas constituintes
➔ Papel
◆ descreve como as pessoas se comportam no processo e quais são as
◆ responsabilidades que elas têm
◆ requer habilidades específicas necessárias
● papéis não são pessoas
○ pessoas executam papéis
Exemplo de Atividades Relacionadas a Papel
Exemplo de Atividade
➔ Atividade: Realizar estimativas para o projeto
➔ Descrição
◆ A partir do escopo preliminar do projeto, detalhar as atividades necessárias a sua
realização, as estimativas de consumo de recursos, os prazos e orçamentos.
➔ Papel:
◆ Gerente de Projeto
➔ Artefatos de Entrada:
◆ Escopo do projeto; Plano do projeto; Acordo de serviço; Estrutura analítica do projeto
➔ Artefatos de Saída:
◆ Estimativas de custo da atividades; Estimativa de esforço das atividades, Cronograma e
Plano do projeto atualizados
➔ Tarefas:
◆ Detalhar atividades e recursos; Detalhar cronograma; Detalhar estimativa de custo das
atividades; Detalhar orçamento do projeto
Modelos de Ciclos de Vida
➔ O que é ciclo de vida?
◆ Conjuntos de fases que devem ser executadas para o desenvolvimento de um produto
de software. O ciclo de vida determina a ordem e interação entre as fases e atividades.
➔ Modelos de ciclo de vida
◆ são representações abstratas de processos
◆ descrevem processos a partir de uma perspectiva específica
◆ podem ser vistos como frameworks de processos
◆ devem ser aplicados e personalizados segundo necessidades específicas
➔ Alguns exemplos:
◆ Cascata
◆ Incremental
◆ Espiral
Modelo Cascata
➔ Fases
◆ Definição e análise de requisitos
◆ Projeto do sistema e do software
◆ Implementação e testes de unidade
◆ Integração e testes do sistema
◆ Operação e manutenção
Modelo Cascata
➔ Vantagens
◆ Torna o processo de desenvolvimento estruturado;
◆ Tem uma ordem sequencial de fases;
◆ Cada fase cai em cascata na próxima e cada fase deve estar
terminada antes do início da seguinte;
◆ Todas as atividades identificadas nas fases do modelo são
fundamentais e estão na ordem certa.
Modelo Cascata
➔ Desvantagens
◆ Dificuldade de acomodar as mudanças após o processo ter sido
iniciado;
◆ Particionamento inflexível do projeto em fases distintas;
◆ Dificuldade de responder a requisitos do usuário que mudam.
Modelo Cascata
Modelo Incremental
➔ Também chamado desenvolvimento iterativo.
➔ Objetivos principais
◆ comprometimento dos envolvidos
◆ estabelecimento de uma estratégia para
alcançar os objetivos da fase que se inicia
Modelo Espiral - 2º Quadrante
➔ Na segunda tarefa, “Avaliação de
alternativas, identificação e solução de Análise de riscos
Engenharia
Modelo Espiral - 3º Quadrante
➔ Na terceira tarefa ocorre o
desenvolvimento do produto.
Construção
➔ Objetivos principais e
◆ definir e validar os requisitos adaptação
◆ projetar o software
◆ projetar a validação e verificação
◆ codificar
◆ realizar testes
Avaliação do cliente
● integração
● unidade
● aceitação
Modelo Espiral - 4º Quadrante
➔ Na quarta tarefa o produto é avaliado e
se prepara para iniciar um novo ciclo
➔ O projeto é revisado e a próxima fase da
espiral é planejada
➔ Objetivos principais
◆ planejar requisitos
◆ planejar ciclo de vida
◆ planejar desenvolvimento
◆ planejar integração e testes
Planejamento
Modelo Espiral
➔ Problemas do modelo espiral:
◆ O modelo em espiral, por suas características de avaliação e
planejamento baseadas em risco, exige que se tenha gerentes e
técnicos experientes.
◆ As tarefas gerenciais para acompanhamento e controle do projeto
tornam-se mais difíceis, uma vez que o modelo em espiral pode levar
ao desenvolvimento em paralelo de múltiplas partes do projeto, cada
uma sendo abordada de modo diferenciado.
Considerações Finais
➔ Definir o ciclo de vida adequado às características do projeto é essencial
para o seu sucesso
➔ Deve-se analisar os pontos fortes e fracos de cada modelo de ciclo de
vida e escolher o que ofereça melhores condições para o
desenvolvimento do software
➔ Pontos importantes
◆ variação da especificação dos requisitos ao longo do projeto
◆ complexidade do sistema a ser desenvolvido
◆ características específicas do projeto
Referências
● http://protocoloti.blogspot.com.br/2012/03/os-modelos-de-desenvolvimento-de.html
● http://engenhariadesoftwareuesb.blogspot.com.br/2012/12/blog-post.html
● https://www.youtube.com/watch?v=Wq9hH8vwV00
Equipe Null_Void( ) é…
➔ Ana Melissa void Null() {
String null = null;
➔ Filipe Silva if (null == null) {
return null;
➔ João Paulo
} else {
➔ Mattheus Peixoto return null;
}
➔ Yuri Alencar }
VALEU!
Exercícios
1) São exemplos de modelos de ciclo de vida de softwares:
a) Modelo incremental
b) Modelo espiral
c) Modelo cascata
d) Modelo RUP
Exercícios
5) Um analista desenvolve um software e identifica que os seus requisitos iniciais estão
razoavelmente bem definidos, mas o escopo geral do desenvolvimento não permite um
processo puramente linear. Ele sabe que precisa, em curtíssimo prazo, prover um
conjunto limitado de funcionalidades do software para os usuários, que serão refinadas
e expandidas em versões futuras.
a) Incremental.
b) Cascata.
c) Espiral.
d) Formal.
e) Prototipação.