Modelos de Processo de Software

Documentos relacionados
Modelos de Processo de Software

Modelos de Processo de Software. SSC Engenharia de Software 1 Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Paradigmas da Engenharia de Software AULA PROF. ABRAHAO LOPES

Engenharia de Software. Engenharia de Software

15/03/2018. Professor Ariel da Silva Dias Modelos de Processo de Software

Agenda TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS. Aula 2 19/08/2012

Processos de Desenvolvimento de Software. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 2

Definições e ciclo de vida


Engenharia de Software I

Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados a Objetos Aula 2 O Processo Unificado (PU)

O Processo Unificado (PU) SSC 121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Modelos de Ciclo de Vida (Parte 1)

Análise de Sistemas CONTEXTUALIZAÇÃO

Processos de Software

PDS. Aula 1.6 Modelos de Processo. Prof. Dr. Bruno Moreno

Prof. Ms. Ronaldo Martins da Costa

INSTITUTO FEDERAL DE SÃO PAULO CAMPUS PRESIDENTE EPITÁCIO MODELO DOS PROCESSOS DE SOFTWARE

Processos de software Leitura: Cap3 Sommerville / Cap1: Pressman - Ariadne

Princípios da Engenharia de Software aula 03

Processos de software

Desenvolvimento de Projetos

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1

Engenharia de Software I

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE

Informática I. Aula Aula 21-29/11/06 1

Modelos de Ciclo de Vida

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS

PDS. Aula 1.5 Modelos de Processo. Prof. Dr. Bruno Moreno

PDS. Aula 1.4 Modelos de Processo. Prof. Dr. Bruno Moreno

ENGENHARIA DE SOFTWARE

Ciclo de Vida de Sistemas de Informação

CICLO DE VIDA DE SOFTWARE

INTRODUÇÃO A ENGENHARIA DE SOFTWARE

Bibliografia. Quais são os problemas? capacidade de construção. acompanha a demanda por novos programas. ameaçada por projetos ruins.

Engenharia de Software. Processos. Desenvolvimento de Software Tradicionais 2014/2. Prof. Luís Fernando Garcia

Introdução à Engenharia de Software e Modelos de Processos de Software. Engenharia de Software Profa. Inês A.G.Boaventura 2.

MODELOS DE PROCESSOS (PARTE 2)

PROCESSOS DE SOFTWARE

Engenharia Software. Ení Berbert Camilo Contaiffer

INF014 Análise e Projeto de Sistemas Ciclos de vida e Processos de Software

ENGENHARIA DE SOFTWARE

Engenharia de Software

Engenharia de Software I Modelos de Processo de Software

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS. Nome:

Ainda que muitos modelos sejam semelhantes entre os modelos de ciclo de vida, existem alguns aspectos que os diferenciam:

Engenharia de Software Processo de Desenvolvimento. Ciclo de Vida - Modelo Cascata

Projeto de Desenvolvimento de Software

CICLO DE VIDA DO SOFTWARE. Nas empresas também é difícil adotar apenas um ciclo de vida, na maioria das vezes possui mais de um.

QUESTÕES TESTES. Questão 1. O modelo de ciclo de vida em cascata:

Modelos de Processo de Software. Profª Jocelma Rios

Engenharia de Software

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 03 PROFª BRUNO CALEGARO

Processos de Software

Engenharia de Software

Engenharia de Software I - Aula 04

Prof. Dr. Thiago Jabur Bittar

Engenharia de Software II

Perguntas da Aula 2. Respostas da Pergunta 2. Respostas da Pergunta 1. Respostas da Pergunta 4. Respostas da Pergunta 3. Processos de Software

Análise e Projeto. Prof. Erinaldo Sanches Nascimento

Aula 3 - Modelos de Processo - cascata, iterativo e incremental e ágil

Engenharia de Software

Processo de Desenvolvimento. Edjandir Corrêa Costa

Processos de Software

ENGENHARIA DE SOFTWARE. Aula 03 Processos de Software

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

Propriedade Intelectual/Industrial do Software:

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

Processos de Software. O que é modelo de processo? Vantagens. Modelos de Processo Gerais. O que é um processo de software?

Análise e Projeto de Sistemas

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS. Nome:

Escolhendo um Modelo de Ciclo de Vida

Engenharia de Software. Prof. Me. Clodoaldo Brasilino

Processos de Software

Engenharia de Software: Uma Visão Geral. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

ENGENHARIA DE SOFTWARE

Disciplina que reúne metodologias, métodos e ferramentas a serem utilizados, desde a percepção do problema até o momento em que o sistema

Modelos Prescritivos de Processo

Modelos de Software. Tema 2. Processo de Software. Modelos Profa. Susana M. Iglesias

Processo devem incorporar uma estratégia desenvolvimento

14/11/2014. Engenharia de Software. Modelos de software. Modelo Clássico - Cascata

Aula 2 Processo de Software

Fábricas de Software. Processos de Software. Fábricas de Software. Fábricas de Software 17/08/2010. Jorge Dias

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

! Introdução. " Motivação para Processos de Software. ! Processo Unificado (USDP) " Definições " RUP x USDP " Características do Processo Unificado

Ciência da Computação ENGENHARIA DE SOFTWARE. Capítulo 1 Introdução

14/11/2013. Capítulo 2. Processos de Software. Tópicos apresentados. Oprocessodesoftware. Modelos de processo de software. Atividades de processo.

Engenharia de Software I Processos de desenvolvimento de SW. profa. Denise Neves

Prof. Luiz A. Nascimento

Paradigmas de Software

4/14/11. Processos de Engenharia de Requisitos. Engenharia de requisitos. Elicitação e análise. A espiral de requisitos

Analista de Sistemas S. J. Rio Preto

Engenharia de Software: Uma Visão Geral. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1 o semestre de 2015

Engenharia de Software: Uma Visão Geral. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1 o semestre de 2017

INF014 Análise e Projeto de Sistemas Processos Unificado -RUP

Aula 3.1 Introdução e Visão Geral do Processo Unificado

Transcrição:

Modelos de Processo de Software Engenharia de Software Profa. Dra. Rosana T. Vaccare Braga 1 o semestre de 2017 (material produzido e atualizado pelos professores do grupo de pesquisa em Engenharia de Software do ICMC-USP)

ENGENHARIA DE SOFTWARE 3 pode ser vista como uma abordagem de desenvolvimento de software elaborada com disciplina e métodos bem definidos.... a construção por múltiplas pessoas de um software de múltiplas versões [Parnas 1987]

Processo de software Conjunto de atividades relacionadas que levam à produção de um produto de software (Sommerville, 2013) Incluem: 1. Produtos gerados em cada atividade 2. Papéis envolvidos 3. Pré e pós-condições das atividades

Motivação Processos de software são complexos e dependem de vários fatores como: Produto a ser desenvolvido Equipe Recursos disponíveis Não existe um processo ideal, ele pode ser adaptado de acordo com o contexto, podendo ser mais formal ou mais flexível.

Motivação Envolvem criatividade e fatores humanos Decisões precisam ser tomadas ao longo do processo Decisões erradas podem levar a prejuizos e perda de oportunidades Como obter uma representação simplificada de um processo de software? Modelos de Processo de Software

Modelos de Processo de Software 7 Existem vários modelos de processo de software (ou paradigmas de engenharia de software) Cada um representa uma tentativa de colocar ordem em uma atividade inerentemente caótica

Modelos de Processo de Software O Modelo Sequencial Linear também chamado Modelo Cascata O Modelo de Prototipação O Modelo RAD (Rapid Application Development) Modelos Evolutivos de Processo de Software O Modelo Incremental O Modelo Ágil O Processo Unificado O Modelo Espiral O Modelo de Montagem de Componentes O Modelo de Desenvolvimento Concorrente Modelo de Métodos Formais Técnicas de Quarta Geração 8

9 O Modelo Cascata modelo mais antigo e o mais amplamente usado da engenharia de software modelado em função do ciclo da engenharia convencional requer uma abordagem sistemática, seqüencial ao desenvolvimento de software o resultado de uma fase se constitui na entrada da outra

10 O Modelo Cascata Engenharia de Sistemas Análise de Requisitos Projeto Codificação Testes Manutenção

11 O Modelo Cascata Engenharia de Sistemas / Informação e Engenharia de Sistemas Análise de Modelagem Requisitos envolve a coleta Projeto de requisitos em nível do sistema, com uma pequena Codificação quantidade de projeto e análise de alto nível Testes Manutenção esta visão é essencial quando o software deve fazer interface com outros elementos (hardware, pessoas e banco de dados)

12 O Modelo Cascata Análise de Requisitos de Software o processo Engenharia de coleta dos requisitos é Sistemas intensificado Análise e concentrado de especificamente no Requisitos software Projeto Codificação deve-se compreender o domínio da informação, Testes a função, desempenho e interfaces exigidos Manutenção os requisitos (para o sistema e para o software) são documentados e revistos com o cliente

13 O Modelo Cascata Projeto Engenharia de Sistemas Análise de Requisitos conjunto de representações Projeto que podem ser avaliadas quanto à qualidade, Codificação antes que a tradução dos requisitos do software para um codificação se inicie Testes Manutenção

14 O Modelo Cascata Codificação Engenharia de Sistemas Análise de Requisitos Projeto uma linguagem artificial resultando em Codificação tradução das representações do projeto para instruções executáveis pelo computador Testes Manutenção

15 O Modelo Cascata Engenharia de Sistemas Análise de Requisitos Concentra-se: Testes nos aspectos lógicos internos do software, Projeto garantindo que todas as instruções tenham sido Codificação testadas Testes nos aspectos funcionais externos, para descobrir Manutenção erros e garantir que a entrada definida produza resultados que concordem com os esperados.

16 O Modelo Cascata Manutenção provavelmente Engenharia de o software deverá sofrer Sistemas mudanças Análise depois que for entregue ao Requisitos cliente Projeto causas das mudanças: Codificação erros, adaptação do software para acomodar mudanças Testes em seu ambiente externo e exigência do Manutenção cliente para acréscimos funcionais e de desempenho

Problemas com o Modelo Cascata 17 Projetos reais raramente seguem o fluxo seqüencial que o modelo propõe Logo no início é difícil estabelecer explicitamente todos os requisitos. No começo dos projetos sempre existe uma incerteza natural O cliente deve ter paciência. Uma versão executável do software só fica disponível numa etapa avançada do desenvolvimento

Problemas com o Modelo Cascata 18 Embora o Modelo Cascata tenha fragilidades, ele é significativamente melhor do que uma abordagem casual ao desenvolvimento de software

Variações do Modelo Cascata (Wazlawick, 2013) 19 CASCATA DUPLA (Royce, 1970)

Variações do Modelo Cascata (Wazlawick, 2013) 20 MODELO V (Spillner, 2002)

Variações do Modelo Cascata (Wazlawick, 2013) 21 Outras variações: Sashimi Modelo W Cascata com subprojetos

22 O Modelo Cascata O modelo Cascata trouxe contribuições importantes para o processo de desenvolvimento de software: Imposição de disciplina, planejamento e gerenciamento a implementação do produto deve ser postergada até que os objetivos tenham sido completamente entendidos

23 O Modelo de Prototipação o objetivo é entender os requisitos do usuário e, assim, obter uma melhor definição dos requisitos do sistema. possibilita que o desenvolvedor crie um modelo (protótipo)do software que deve ser construído apropriado para quando o cliente não definiu detalhadamente os requisitos.

O Paradigma de Prototipação para obtenção dos requisitos 24 Obter Requisitos Refinamento do Protótipo Elaborar Projeto Rápido Avaliar Protótipo Construir Protótipo

O Paradigma de Prototipação para obtenção dos requisitos 25 1- OBTENÇÃO Obter Requisitos DOS REQUISITOS: desenvolvedor e cliente definem os objetivos gerais do software, identificam quais requisitos são conhecidos e as áreas que necessitam de definições adicionais. Refinamento do Protótipo Elaborar Projeto Rápido Avaliar Protótipo Construir Protótipo

O Paradigma de Prototipação para obtenção dos requisitos 26 Obter Requisitos Refinamento do Protótipo Avaliar Protótipo 2- PROJETO RÁPIDO: representação dos aspectos do software que são visíveis ao usuário (abordagens de entrada e formatos de saída) Elaborar Projeto Rápido Construir Protótipo

O Paradigma de Prototipação para obtenção dos requisitos 27 Obter Requisitos Avaliar Protótipo Elaborar Projeto Rápido Refinamento do Protótipo 3- CONSTRUÇÃO PROTÓTIPO: implementação rápida do projeto Construir Protótipo

O Paradigma de Prototipação para obtenção dos requisitos 28 Obter Requisitos Refinamento do Protótipo Elaborar Projeto Rápido 4- AVALIAÇÃO DO PROTÓTIPO: Construir Protótipo cliente e desenvolvedor avaliam o Avaliar Protótipo protótipo

O Paradigma de Prototipação para obtenção dos requisitos 29 Obter Requisitos Elaborar Projeto Rápido 5- REFINAMENTO DO PROTÓTIPO: cliente Refinamento do Protótipo e desenvolvedor refinam os requisitos do software a ser desenvolvido. Avaliar Protótipo Construir Protótipo

O Paradigma de Prototipação para obtenção dos requisitos 30 Obter Requisitos Refinamento do Protótipo CONSTRUÇÃO DO PRODUTO Elaborar Projeto Rápido Avaliar Protótipo Construir Protótipo

O Paradigma de Prototipação para obtenção dos requisitos 31 Obter Requisitos 6- CONSTRUÇÃO PRODUTO: identificados os requisitos, o protótipo deve ser descartado e a CONSTRUÇÃO DO Refinamento PRODUTO do Protótipo versão de produção deve ser construída considerando os critérios de qualidade. Avaliar Protótipo Elaborar Projeto Rápido Construir Protótipo

32 Problemas com a Prototipação cliente não sabe que o software que ele vê não considerou, durante o desenvolvimento, a qualidade global e a manutenibilidade a longo prazo desenvolvedor freqüentemente faz uma implementação comprometida (utilizando o que está disponível) com o objetivo de produzir rapidamente um protótipo

Comentários sobre o Paradigma de Prototipação 33 ainda que possam ocorrer problemas, a prototipação é um ciclo de vida eficiente. a chave é definir-se as regras do jogo logo no começo. o cliente e o desenvolvedor devem ambos concordar que o protótipo seja construído para servir como um mecanismo a fim de definir os requisitos

Comentários sobre o Paradigma de Prototipação 34 Prototipação descartável X Prototipação evolutiva (ou evolucionária)

35 O Modelo RAD RAD ( Rapid Application Development) é um modelo sequencial linear que enfatiza um ciclo de desenvolvimento extremamente curto O desenvolvimento rápido é obtido usando uma abordagem de construção baseada em componentes.

36 O Modelo RAD Os requisitos devem ser bem entendidos e o alcance do projeto restrito O modelo RAD é usado principalmente para aplicações de sistema de informação Cada função principal pode ser direcionada para uma equipe RAD separada e então integrada para formar o todo.

37 O Modelo RAD Equipe #1 Modelagem do Negócio Modelagem dos Dados 60 a 90 dias Equipe #2 Modelagem do Processo Modelagem do Negócio Modelagem dos Dados Modelagem Geração da Aplicação Equipe #3 Modelagem do Negócio do Processo Geração da Aplicação Teste e Modificação Teste e Modificação Modelagem dos Dados Modelagem do Processo Geração da Aplicação Teste e Modificação

38 O Modelo RAD Desvantagens: Exige recursos humanos suficientes para todas as equipes Exige que desenvolvedores e clientes estejam comprometidos com as atividades de fogo-rápido a fim de terminar o projeto num prazo curto

39 O Modelo RAD Nem todos os tipos de aplicação são apropriadas para o RAD: Deve ser possível a modularização efetiva da aplicação se alto desempenho é uma característica e o desempenho é obtido sintonizando as interfaces dos componentes do sistema, a abordagem RAD pode não funcionar

Modelos de Processo de Software O Modelo Sequencial Linear também chamado Modelo Cascata O Modelo de Prototipação O Modelo RAD (Rapid Application Development) Modelos Evolutivos de Processo de Software O Modelo Incremental O Modelo Ágil O Processo Unificado O Modelo Espiral O Modelo de Montagem de Componentes O Modelo de Desenvolvimento Concorrente Modelo de Métodos Formais Técnicas de Quarta Geração 40

Modelos Evolutivos de Processo 41 Existem situações em que a engenharia de software necessita de um modelo de processo que possa acomodar um produto que evolui com o tempo.

Modelos Evolutivos de Processo 42 quando os requisitos de produto e de negócio mudam conforme o desenvolvimento procede quando há uma data de entrega apertada (mercado) - impossível a conclusão de um produto completo quando um conjunto de requisitos importantes é bem conhecido, porém os detalhes ainda devem ser definidos

Modelos Evolutivos de Processo 43 modelos evolutivos são iterativos possibilitam o desenvolvimento de versões cada vez mais completas do software

Modelos de Processo de Software O Modelo Sequencial Linear também chamado Modelo Cascata O Modelo de Prototipação O Modelo RAD (Rapid Application Development) Modelos Evolutivos de Processo de Software O Modelo Incremental O Modelo Ágil O Processo Unificado O Modelo Espiral O Modelo de Montagem de Componentes O Modelo de Desenvolvimento Concorrente Modelo de Métodos Formais Técnicas de Quarta Geração 44

45 O Modelo Incremental o modelo incremental combina elementos do modelo cascata (aplicado repetidamente) com a filosofia iterativa da prototipação o objetivo é trabalhar junto do usuário para descobrir seus requisitos, de maneira incremental, até que o produto final seja obtido.

46 O Modelo Incremental Versão Inicial Análise Projeto Descrição geral Engenharia de sistemas/informação Codificação Descrição Versões Intermediárias geral Teste Versão Final

47 O Modelo Incremental a versão inicial é frequentemente o núcleo do produto (a parte mais importante) a evolução acontece quando novas características são adicionadas à medida que são sugeridas pelo usuário Este modelo é importante quando é difícil estabelecer a priori uma especificação detalhada dos requisitos

48 O Modelo Incremental o modelo incremental é mais apropriado para sistemas pequenos As novas versões podem ser planejadas de modo que os riscos técnicos possam ser administrados (Ex. disponibilidade de determinado hardware)

Modelos de Processo de Software O Modelo Sequencial Linear também chamado Modelo Cascata O Modelo de Prototipação O Modelo RAD (Rapid Application Development) Modelos Evolutivos de Processo de Software O Modelo Incremental O Modelo Ágil O Processo Unificado O Modelo Espiral O Modelo de Montagem de Componentes O Modelo de Desenvolvimento Concorrente Modelo de Métodos Formais Técnicas de Quarta Geração 49

O Modelo Espiral Engloba as melhores características do Modelo Cascata e da Prototipação, adicionando um novo elemento: a Análise de Riscos. Risco: algo que pode dar errado. Segue a abordagem de passos sistemáticos do Modelo Cascata, incorporando-os numa estrutura iterativa. É dividido em uma série de regiões, tipicamente de 3 a 6, que delimitam atividades de arcabouço (framework activities) Usa a Prototipação em qualquer etapa da evolução do produto, como mecanismo de redução de riscos.

Modelo Espiral É uma abordagem realista para o desenvolvimento de sistemas e software de grande porte. Exige a consideração direta dos riscos técnicos em todos os estágios do projeto. Se aplicado adequadamente, pode reduzir os riscos antes que eles fiquem problemáticos.

O Modelo Espiral Funcionamento: Para cada volta na espiral: Determinar os objetivos, alternativas e restrições relacionadas à iteração que vai se iniciar Identificar e resolver os riscos relacionados Avaliar alternativas disponíveis. Podem ser feitos protótipos para analisar a viabilidade de diferentes alternativas Desenvolver os artefatos relacionados à iteração corrente e valida-los Planejar a próxima iteração Obter concordância em relação ao planejamento

53 O Modelo Espiral (com 4 regiões) DETERMINAR OBJETIVOS, ALTERNATIVAS E RESTRIÇÕES PLANEJAR PRÓXIMA FASE R E V I E W R e q u i r e m e n t s p l a n L i f e - c y c l e p l a n D e v e l o p m e n t p l a n I n t e g r a t i o n a n d t e s t p l a n R i s k a n a l y s i s R i s k a n a l y s i s R i s k a n a l y s i s P r o t o t y p e 2 Risk anal ysis P r o t o - t y p e 1 C o n c e p t o f O p e r a t i o n R e q u i r e m e n t v a l i d a t i o n D e s i g n V & V S e r v i c e S / W r e q u i r e m e n t s A c c e p t a n c e t e s t AVALIAR ALTERNATIVAS IDENTIFICAR, RESOLVER RISCOS P r o t o t y p e 3 O p e r a - t i o n a l p r o t o y p e S i m u l a t i o n s, m o d e l s, b e n c h m a r k s P r o d u c t d e s i g n I n t e g r a t i o n t e s t C o d e U n i t t e s t D e t a i l e d d e s i g n DESENVOLVER, VERIFICAR O PRODUTO NO PRÓXIMO NÍVEL (Sommerville, 9ª edição) (Wazlawick, 2013)

54 O Modelo Espiral (com 6 regiões) Planejamento Análise de Riscos Comunicação com Cliente Engenharia Avaliação do Cliente Construção e Liberação (Pressman, 5ª edição)

55 O Modelo Espiral (com 5 regiões) (Pressman, 6ª edição)

56 O Modelo Espiral (com 4 regiões) No modelo com 4 regiões, cada loop do espiral é dividido em 4 partes DETERMINAR OBJETIVOS, ALTERNATIVAS E RESTRIÇÕES DEFINIÇÃO DE OBJETIVOS PLANEJAMENTO PLANEJAR PRÓXIMA FASE R E V I E W R e q u i r e m e n t s p l a n L i f e - c y c l e p l a n D e v e l o p m e n t p l a n I n t e g r a t i o n a n d t e s t p l a n R i s k a n a l y s i s R i s k a n a l y s i s R i s k a n a l y s i s P r o t o t y p e 2 Risk anal ysis P r o t o - t y p e 1 C o n c e p t o f O p e r a t i o n R e q u i r e m e n t v a l i d a t i o n D e s i g n V & V S e r v i c e S / W r e q u i r e m e n t s A c c e p t a n c e t e s t AVALIAR ALTERNATIVAS IDENTIFICAR, RESOLVER RISCOS AVALIAÇÃO E REDUÇÃO DE O p e r a - RISCOS P r o t o t y p e 3 t i o n a l p r o t o y p e S i m u l a t i o n s, m o d e l s, b e n c h m a r k s P r o d u c t d e s i g n I n t e g r a t i o n t e s t C o d e U n i t t e s t D e t a i l e d d e s i g n DESENVOLVIMENTO E VALIDAÇÃO DESENVOLVER, VERIFICAR O PRODUTO NO PRÓXIMO NÍVEL

O Modelo Espiral Determinar objetivos, alternativas e restrições Definição dos Objetivos Revisão Análise de risco Análise de risco Análise de risco Análise de risco Protótipo Protó 2 tipo 1 Protótipo 3 Avaliar alternativas Identificar, resolver riscos Avaliação e Redução Protótipo de Riscos Operacional Planejamento Planejar próxima fase Plano de requisitos Plano de ciclo de vida Plano de desenvolvimento Integração e plano de teste Conceito de operação Validação de requisito Projeto V & V Operação Simulação, modelos, benchmarks Requisitos de SW Projeto do produto Teste de integração Teste de aceitação Código Teste de unidade Projeto detalhado Desenvolvimento e Validação Desenvolver, verificar produto no próximo nível

O Modelo Espiral Determinar objetivos, alternativas e restrições Definição dos Objetivos Planejar próxima fase Plano de requisitos Plano de ciclo de vida Plano de desenvolvimento Análise de risco Análise de risco Análise de risco Análise de risco Validação de requisito Protótipo Protó 2 tipo 1 Protótipo 3 Avaliar alternativas Identificar, resolver riscos Protótipo Operacional São definidos Revisão os objetivos específicos para cada fase do projeto. Operação Simulação, modelos, benchmarks Conceito de São identificadas restrições operação sobre o processo e o produto. Requisitos Projeto de SW do produto Teste de integração Teste de aceitação Código Teste de unidade Projeto detalhado É projetado um plano de gerenciamento detalhado. São identificados Integração os Projeto riscos do projeto e planejadas e plano de teste V & V estratégias alternativas. Desenvolver, verificar produto no próximo nível

O Modelo Espiral Determinar objetivos, alternativas e restrições Planejar próxima fase Revisão Plano de desenvolvimento Integração e plano de teste Análise de risco Análise de risco Análise de risco Análise de risco Projeto V & V Operação Protótipo Protó 2 tipo 1 Protótipo 3 Avaliar alternativas Identificar, resolver riscos Avaliação e Redução Protótipo de Riscos Operacional É realizada Plano de requisitos uma análise detalhada para Plano de ciclo de vida Conceito de cada um dos riscos operação identificados. Simulação, modelos, benchmarks Requisitos Projeto de SW do produto São tomadas providências Validação de para reduzir os riscos. requisito Teste de aceitação Código Teste de unidade Teste de integração Projeto detalhado Desenvolver, verificar produto no próximo nível

O Modelo Espiral Determinar objetivos, alternativas e restrições Revisão Análise de risco Análise de risco Análise de risco Depois da avaliação dos riscos, é Análise escolhido um modelo risco de desenvolvimento para o sistema. Protó tipo 1 Protótipo 2 Avaliar alternativas Identificar, resolver riscos Protótipo Operacional Protótipo 3 Planejar próxima fase Plano de requisitos Plano de ciclo de vida Plano de desenvolvimento Integração e plano de teste Conceito de operação Validação de requisito Projeto V & V Operação Simulação, modelos, benchmarks Requisitos de SW Projeto do produto Teste de integração Teste de aceitação Código Teste de unidade Projeto detalhado Desenvolvimento e Validação Desenvolver, verificar produto no próximo nível

O Modelo Espiral Determinar objetivos, alternativas e restrições Planejar próxima fase Avaliar alternativas Identificar, resolver riscos Análise de risco Análise Protótipo sobre continuar com de risco o próximo loop. Operacional Protótipo Protótipo 3 Análise Protó 2 planos para Revisão a próxima de risco tipo fase 1 do projeto. Plano de requisitos Plano de ciclo de vida Plano de desenvolvimento Integração e plano de teste Conceito de operação Análise de risco O projeto é revisto e é tomada uma decisão Se a decisão for continuar, são traçados os Planejamento Validação de requisito Projeto V & V Operação Simulação, modelos, benchmarks Requisitos Projeto de SW do produto Teste de aceitação Código Teste de unidade Teste de integração Projeto detalhado Desenvolver, verificar produto no próximo nível

O Modelo Espiral Determinar objetivos, alternativas e restrições Planejar próxima fase Avaliar alternativas Identificar, resolver riscos Plano de requisitos Simulação, modelos, benchmarks A gerência decide Plano de ciclo de vida Conceito como operação Requisitos de SW Projeto estruturar o projeto em Projeto do fases. produto detalhado Plano de Validação de desenvolvimento requisito Integração e plano de teste Análise de risco Análise de risco Projeto V & V Análise de risco Não existem fases fixas no Protótipo Análise Protó 2 modelo. Revisão de risco tipo 1 Operação Teste de aceitação Protótipo Operacional Protótipo 3 Código Teste de unidade Teste de integração Desenvolver, verificar produto no próximo nível

63 DETERMINAR OBJETIVOS, ALTERNATIVAS E RESTRIÇÕES cada loop no espiral representa uma fase do processo de software PLANEJAR PRÓXIMA FASE R E V I E W R e q u i r e m e n t s p l a n L i f e - c y c l e p l a n D e v e l o p m e n t p l a n I n t e g r a t i o n a n d t e s t p l a n R i s k a n a l y s i s R i s k a n a l y s i s R i s k a n a l y s i s P r o t o t y p e 2 Risk anal ysis P r o t o - t y p e 1 C o n c e p t o f O p e r a t i o n R e q u i r e m e n t v a l i d a t i o n D e s i g n V & V S e r v i c e S / W r e q u i r e m e n t s A c c e p t a n c e t e s t AVALIAR ALTERNATIVAS IDENTIFICAR, RESOLVER RISCOS P r o t o t y p e 3 O p e r a - t i o n a l p r o t o y p e S i m u l a t i o n s, m o d e l s, b e n c h m a r k s P r o d u c t d e s i g n I n t e g r a t i o n t e s t C o d e U n i t t e s t D e t a i l e d d e s i g n DESENVOLVER, VERIFICAR O PRODUTO NO PRÓXIMO NÍVEL

64 R E V I E W R e q u i r e m e n t s p l a n L i f e - c y c l e p l a n Risk anal ysis P r o t o - t y p e 1 C o n c e p t o f O p e r a t i o n o loop mais interno está concentrado nas possibilidades do sistema

65 o próximo loop está concentrado na definição dos requisitos do sistema D e v e l o p m e n t p l a n R i s k a n a l y s i s R e q u i r e m e n t v a l i d a t i o n P r o t o t y p e SW r e q u i r e m e n t s S i m u l a t i o n s, m o d e l s, b e n c h m a r k s

66 R i s k a n a l y s i s o loop um pouco mais externo está concentrado no projeto do sistema prot o t y p e 3 si m u l a t i o n s, m o d e l s, b e n c h m a r k s P r o d u c t d e s i g n I n t e g r a t i o n a n d t e s t p l a n D e s i g n V & V

67 R i s k n a l y s i s um loop ainda mais externo está concentrado na construção do sistema S e r v i c e A c c e p t a n c e t e s t O p e r a - t i o n a l p r o t o y p e S i m u l a t i o n s, m o d e l s, b e n c h m a r k s I n t e g r a t i o n t e s t C o d e U n i t t e s t D e t a i l e d d e s i g n

Comentários sobre o Ciclo de Vida em Espiral 68 Se o projeto não puder ser concluído por razões técnicas, isso é descoberto cedo, antes de um grande investimento ser feito As primeiras voltas da espiral são mais baratas Porém, exige gerência complexa e eficiente

Comentários sobre o Ciclo de Vida em Espiral 69 pode ser difícil convencer os clientes que uma abordagem "evolutiva" é controlável exige considerável experiência na determinação de riscos e depende dessa experiência para ter sucesso o modelo é relativamente novo e não tem sido amplamente usado. Demorará muitos anos até que a eficácia desse modelo possa ser determinada com certeza absoluta

Atividade Considerando os modelos de processo de software vistos até aqui, você consegue pensar em um exemplo típico de sistema adequado para cada um deles? Justifique a escolha!!