Buscar

Aula_08 - Processos de Desenv de SW


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 28 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 28 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 28 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

Continue navegando


Prévia do material em texto

PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
Aula 8 – Processos de Desenvolvimento de Software 
 
 
 
 
Processos de Desenvolvimento de Software – Aula 8 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
 
 
 
CONCEITO DE PROCESSO DE DESENVOLVIMENTO 
• Segundo o IEEE é uma “sequência de passos executados com 
determinado objetivo” 
 
• Segundo CMMI é “um conjunto de ações e atividades 
interrelacionadas realizadas para obter um conjunto 
especificado de produtos, serviços ou resultados.” 
 
• Segundo a UML, processo é “ um conjunto de diretrizes e 
procedimentos para o desenvolvimento de um produto.” 
 
• Um processo é uma receita a ser seguida em um projeto. 
 
 
Processos de Desenvolvimento de Software – Aula 8 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
 
 
 
CONCEITO DE PROCESSO DE DESENVOLVIMENTO 
• Segundo o CMMI um processo é definido: 
• Quando “tem uma descrição que é mantida”, ou seja 
tem um documentação que detalha: 
• O que é feito (produto) 
• Quando é feito (etapas) 
• Por quem é feito (papéis) 
• As coisas que usa (insumos) 
• As coisas que produz (resultados) 
• Processos podem ser descritos com mais ou menos 
detalhes. 
• As etapas podem ser em sequencia, em paralelo e até 
iterativas 
Processos de Desenvolvimento de Software – Aula 8 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
 
 
 
MODELO DE CICLO DE VIDA 
 
 
 
 
 
• Em desenvolvimento de SW, as atividades do processão são 
as fases que vimos até então: Concepção, Análise, Projeto 
(ou design), Implementação, Testes e Implantação. 
• O ponto de partida para definir a arquitetura do processo 
que a empresa vai usar é escolher o modelo de Ciclo de Vida 
de desenvolvimento. 
• Os modelos de ciclo de vida que veremos são: 
• Codifica-remenda 
• Cascata 
• Cascata com retroalimentação 
• Espiral 
Processos de Desenvolvimento de Software – Aula 8 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
 
 
 
MODELO DE CICLO DE VIDA: CODIFICA-REMENDA 
• Anos: 60/70 e início dos anos 80 
• Programadores baseavam-se nas próprias experiências. 
• Não havia forma definida e estruturada 
• Não haviam testes 
• Os erros eram corrigidos após implantação, geralmente em 
caráter de urgência  insatisfação dos clientes 
• Apenas 2 fases: 
• Implementação e Correção 
• Confiabilidade e qualidade começam a ser contestadas 
• Vantagem: simples, pois não exigia técnica 
• Desvantagem: Impossível de gerir, pois não se pode assumir 
compromissos com prazos. 
Processos de Desenvolvimento de Software – Aula 8 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
 
 
 
MODELO DE CICLO DE VIDA: CASCATA 
 
• As fases são executadas em sequência, iniciando uma após o 
término da anterior (sequencial para frente, ou linear). 
Concepção 
Testes 
Desenho 
Implementação 
Análise 
Processos de Desenvolvimento de Software – Aula 8 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
 
 
 
• Vantagens 
• Permite demarcar as fases com pontos de controle 
bem definidos  facilita a gestão do projeto 
• Em tese confiável e útil em projetos de qualquer 
escala  na prática, útil em projetos pequenos 
• De fácil entendimento. 
• Requer documentação 
MODELO DE CICLO DE VIDA: EM CASCATA 
Processos de Desenvolvimento de Software – Aula 8 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
 
 
 
• Desvantagens 
• Rígido, já que não prevê correção posterior de 
problemas de fases anteriores. 
• Exemplo: no projeto, não se corrige falha de análise 
• Projeto raramente segue fluxo sequencial 
• Baixa visibilidade para o cliente, que só vê o produto 
pronto, ao final da última fase. 
• Requer que os requisitos sejam todos identificados e 
modelados nas fases iniciais (concepção e análise) 
• Se uma fase atrasa, todas sofrerão também 
• Dificulta a visão de reutilização 
• Só o gestor tem a visão do todo (e analistas que iniciam 
com o projeto e seguem até o final). 
• O modelo inicial não previa manutenção 
 
 
MODELO DE CICLO DE VIDA: EM CASCATA 
Processos de Desenvolvimento de Software – Aula 8 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
MODELO DE CICLO DE VIDA: EM CASCATA 
 
 
 
• Na prática 
• É necessário que possam ser revistos e corrigidos 
resultados das fases anteriores  Requisitos Mudam 
• Modelo útil em pequenos projetos. 
• Em função da complexidade dos modelos usados 
(análise estruturada e essencial) e da dificuldade em 
manter a documentação, pouco se documentou em 
sistemas desenvolvidos nessa fase. 
 
 
 
Processos de Desenvolvimento de Software – Aula 8 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
MODELO DE CICLO DE VIDA: EM CASCATA 
 
 
 
Concepção 
Testes 
Desenho 
Implementação 
Análise 
 D O C U M E N T A Ç Ã O 
Processos de Desenvolvimento de Software – Aula 8 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
 
 
 
• Variante do modelo “Cascata Tradicional” que permite a 
retroalimentação, ou seja retroceder a fases anteriores 
para revisões e ajustes necessários. 
• Por exemplo: modelos da fase de Projeto (ou design) 
podem ser alterados na fase de Implementação, a 
medida que problemas e necessidades são detectados. 
• Permite a superposição de fases (exemplo acima) e a 
realimentação de correções. 
• Modelo mais realista e condizendo com as necessidades do 
processo de desenvolvimento. 
• Porem deve-se atentar ao custo da correção, dependendo 
da fase atual e até que fase será necessário retroceder. 
 
 
MODELO DE CICLO DE VIDA:CASCATA C/RETROALIMENTAÇÃO 
Processos de Desenvolvimento de Software – Aula 8 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
 
 
 
MODELO DE CICLO DE VIDA:CASCATA C/ RETROALIMENTAÇÃO 
 
Requisitos 
Testes 
Desenho 
Implementação 
Análise 
Manutenção 
Processos de Desenvolvimento de Software – Aula 8 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
 
 
 
• Vantagens 
• Possibilita a superposição de fases 
• Possibilita a revisão, ajustes e correção de problemas 
identificados, advindos de fases anteriores. 
 
• Desvantagem 
• Dependendo da quantidade de revisões e 
retroalimentações, o processo pode se tornar difícil 
de gerenciar. 
• O custo das revisões e ajustes pode ser alto, 
dependendo da fase em que se esteja e do quanto se 
precisa retroceder. 
MODELO DE CICLO DE VIDA: CASCATA C/ RETROALIMENTAÇÃO 
Processos de Desenvolvimento de Software – Aula 8 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
 
 
 
• 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 
MODELO DE CICLO DE VIDA:ITERATIVO 
Processos de Desenvolvimento de Software – Aula 8 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
 
 
 
MODELO DE CICLO DE VIDA:ITERATIVO 
Processos de Desenvolvimento de Software – Aula 8 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
 
 
 
• Modelo que baseado na ideia 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. 
MODELO DE CICLO DE VIDA: INCREMENTAL 
Processos de Desenvolvimento de Software – Aula 8 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
 
 
 
MODELO DE CICLO DE VIDA:INCREMENTAL 
Processos de Desenvolvimento de Software – Aula 8 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
 
 
 
• Processo de desenvolvimento de softwareque 
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 DE CICLO DE VIDA: ITERATIVO E INCREMENTAL 
Processos de Desenvolvimento de Software – Aula 8 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
 
 
 
MODELO DE CICLO DE VIDA:ITERATIVO E INCREMENTAL 
Processos de Desenvolvimento de Software – Aula 8 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
 
 
 
MODELO DE CICLO DE VIDA: ESPIRAL 
Processos de Desenvolvimento de Software – Aula 8 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
 
 
 
• Nesse modelo o produto é desenvolvido em uma série de 
iterações (repetição) 
• Cada iteração representa uma volta na espiral e pode-se 
decidir entre continuar o desenvolvimento ou não. 
• A Etapa de ENGENHARIA, compreendem todas ou 
algumas das fases dos modelos anteriores: Concepção, 
Análise, Projeto, Design, Implementação e Testes 
• Nesse modelo o sistema é desenvolvido em incrementos 
(pequenas partes do sistema) e os requisitos definidos 
progressivamente 
• Permite a avaliação do usuário ao final de cada iteração 
• Requer muita disciplina e experiência 
MODELO DE CICLO DE VIDA: ESPIRAL 
Processos de Desenvolvimento de Software – Aula 8 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
 
 
 
• O Modelo e suas etapas 
• Planejamento: Definição de objetivos, 
alternativas e restrições 
• Análise de riscos: análise das alternativas e 
identificação dos riscos sob ponto de vista 
técnico e de gerência. 
• Engenharia: Desenvolvimento do produto, e 
sub dividido em fases; 
• Avaliação do cliente: Avaliação do produto e 
feedback das decisões tomadas pelo 
desenvolvimento. 
MODELO DE CICLO DE VIDA: ESPIRAL 
Processos de Desenvolvimento de Software – Aula 8 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
 
 
 
• 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 tem sido 
aplicados em processos ditos “ágeis”, como o 
XP 
MODELO DE CICLO DE VIDA: ESPIRAL 
Processos de Desenvolvimento de Software – Aula 8 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
 
 
 
MODELO DE CICLO DE VIDA: PROTOTIPAÇÃO (EVOLUTIVA) 
Processos de Desenvolvimento de Software – Aula 8 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
 
 
 
• Uma VARIANTE do modelo espiral 
• Nesse modelo a espiral não visa a construção do produto 
completo, mas sim construir versões provisórias. Chamadas 
de protótipos. 
• Os protótipos cobre cada vez mais requisitos (incremental) 
até que atinja a totalidade e estejamos diante do produto 
desejado. 
• Útil quando não se sabe ao certo a especificação do 
produto final. 
• 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 DE CICLO DE VIDA: PROTOTIPAÇÃO (EVOLUTIVA) 
Processos de Desenvolvimento de Software – Aula 8 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
 
 
 
• 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 do Protótipo 
• É a implementação do projeto rápido. Serve 
como o “primeiro sistema” - recomendado que 
não seja usado como produto final. 
MODELO DE CICLO DE VIDA: PROTOTIPAÇÃO (EVOLUTIVA) 
Processos de Desenvolvimento de Software – Aula 8 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
 
 
 
• 4 – Avaliação do protótipo 
• Cliente e desenvolvedor avaliam o protótipo. 
• 5- Refinamento de Requisitos: 
• Com base na avaliação, refinam o produto 
• Ocorre neste ponto um processo 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 do Produto: 
• A versão de produção deve ser construída 
considerando os critérios de qualidade. 
• Protótipo deve ser descartado 
MODELO DE CICLO DE VIDA: PROTOTIPAÇÃO (EVOLUTIVA) 
Processos de Desenvolvimento de Software – Aula 8 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
PRINCIPAIS CONCEITOS APRESENTADOS NA AULA. 
• Conceito de Processo, Processo de 
desenvolvimento 
• Modelo de Ciclo de Vida 
• Codifica - remenda 
• Cascata 
• Cascata com Retroalimentação 
• Iterativo e Incremental 
• Espiral 
• Prototipação (evolutiva).