Processos de Desenvolvimento de Software Ricardo Argenton Ramos UNIVASF Engenharia de Software I Aula 3
Modelos de Processo de Software O Modelo Sequencial Linear Aula passada também chamado Modelo Cascata O Paradigma de Prototipação O Modelo Espiral O Modelo de Desenvolvimento Baseado em Componentes Modelos de Processos 2
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. Modelos de Processos 3
O Paradigma de Prototipação para obtenção dos requisitos Obter Requisitos Refinamento do Protótipo Elaborar Projeto Rápido Avaliar Protótipo Construir Protótipo Modelos de Processos 4
O Paradigma de Prototipação para obtenção dos requisitos 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 Modelos de Processos 5
O Paradigma de Prototipação para obtenção dos requisitos Obter Requisitos Refinamento do 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 Avaliar Protótipo Construir Protótipo Modelos de Processos 6
O Paradigma de Prototipação para obtenção dos requisitos Obter Requisitos Elaborar Projeto Rápido Refinamento do Protótipo 3- CONSTRUÇÃO DO PROTÓTIPO: implementação rápida do projeto Avaliar Protótipo Construir Protótipo Modelos de Processos 7
O Paradigma de Prototipação para obtenção dos requisitos Obter Requisitos Refinamento do Protótipo Elaborar Projeto Rápido 4-AVALIAÇÃO DO PROTÓTIPO:cliente e desenvolvedor avaliam o protótipo Avaliar Protótipo Construir Protótipo Modelos de Processos 8
O Paradigma de Prototipação para obtenção dos requisitos Obter Requisitos REFINAMENTO DO PROTÓTIPO: cliente e desenvolvedor refinam os requisitos do software a ser desenvolvido. 5- REFINAMENTO DO PROTÓTIPO: Refinamento do Protótipo Elaborar Projeto Rápido Avaliar Protótipo Construir Protótipo Modelos de Processos 9
O Paradigma de Prototipação para obtenção dos requisitos Obter Requisitos CONSTRUÇÃO DO Refinamento PRODUTOdo Protótipo Elaborar Projeto Rápido Avaliar Protótipo Construir Protótipo Modelos de Processos 10
O Paradigma de Prototipação para obtenção dos requisitos Obter Requisitos 6- CONSTRUÇÃO PRODUTO: CONSTRUÇÃO PRODUTO:identificados os requisitos, o protótipo deve ser descartado e a versão de produção deve Refinamento ser construída do Protótipo considerando os critérios de qualidade. CONSTRUÇÃO DO PRODUTO Elaborar Projeto Rápido Avaliar Protótipo Construir Protótipo Modelos de Processos 11
Problemascom 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 Modelos de Processos 12
Comentários sobre o Paradigma de Prototipação ainda que possam ocorrer problemas, a prototipação é um ciclo de vida eficiente. a chave é definir 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 para definir os requisitos Modelos de Processos 13
Modelos de Processo de Software O Modelo Sequencial Linear também chamado Modelo Cascata O Modelo de Prototipação Modelo Espiral O Modelo de Montagem de Componentes Modelos de Processos 14
O Modelo Espiral (Boehm, 1986) O modelo espiral acoplaa natureza iterativada prototipação com os aspectos controlados e sistemáticos do modelo cascata. O modelo espiral é dividido em uma série de atividades de trabalho ou regiões de tarefa. Existem tipicamente de 3a 6regiões de tarefa. Combina as características positivas da gerência baseline (documentos associados ao processo); Modelos de Processos 15
O Modelo Espiral (com 4 regiões) DETERMINAR OBJETIVOS, ALTERNATIVAS E RESTRIÇÕES PLANEJAR PRÓXIMA FASE REVIEW Requirements plan Life-cycle plan Develop ment plan Integrati on and test p lan analys is analys is analysis Prototy pe 1 Concept of Operati on Requi rement valid ation Desi gn V&V Serv ice analys is AVALIAR ALTERNATIVAS IDENTIFICAR, RESOLVER RISCOS Prototype 3 Prototyp e 2 S/W requi rement s Accep tance test Operati onal protoype Simulations, models, b en chmarks Prod uct desi gn Integr ati on test Code Unit test Detail ed desi gn DESENVOLVER, VERIFICAR O PRODUTO NO PRÓXIMO NÍVEL Modelos de Processos 16
O Modelo Espiral (com 4 regiões) DETERMINAR OBJETIVOS, ALTERNATIVAS E RESTRIÇÕES cada ciclo na espiral representa uma fase do processo de software PLANEJAR PRÓXIMA FASE REVIEW Requirements plan Life-cycle plan Develop ment plan Integrati on and test p lan analys is analys is analysis Prototy pe 1 Concept of Operati on Requi rement valid ation Desi gn V&V Serv ice analys is AVALIAR ALTERNATIVAS IDENTIFICAR, RESOLVER RISCOS Prototype 3 Prototyp e 2 S/W requi rement s Accep tance test Operati onal protoype Simulations, models, b en chmarks Prod uct desi gn Integr ati on test Code Unit test Detail ed desi gn DESENVOLVER, VERIFICAR O PRODUTO NO PRÓXIMO NÍVEL Modelos de Processos 17
O Modelo Espiral de Processo de Software o ciclo mais interno está concentrado nas possibilidades do sistema REVIEW Requirements plan Life-cycle plan analysis Prototy pe 1 Concept of Operati on Modelos de Processos 18
O Modelo Espiral de Processo de Software o próximo ciclo está concentrado na definição dos requisitos do sistema analys is Prototype Simulations, models, benchmarks SW requi rements Development plan Requi rement validati on Modelos de Processos 19
O Modelo Espiral de Processo de Software analys is o ciclo um pouco mais externo está concentrado no projeto do sistema prototype 3 si mul ati ons, models, benchmarks Product desi gn Integrati on and test plan Desi gn V&V Modelos de Processos 20
O Modelo Espiral de Processo de Software nalys is um ciclo ainda mais externo está concentrado na construção do sistema Serv ice Acceptance test Operati onal protoype Simulations, models, benchmarks Integrati on test Code Unit test Detail ed desi gn Modelos de Processos 21
O Modelo Espiral (com 4 regiões) DETERMINAR OBJETIVOS, ALTERNATIVAS E RESTRIÇÕES analys is não existem fases fixas no modelo Concept of Operati on AVALIAR ALTERNATIVAS IDENTIFICAR, RESOLVER RISCOS analys is as fases mostradas na figura são analys is Operati onal Prototyp e 2 protoype exemplos Prototype meramente 3 REVIEW analysis Prototy pe 1 a gerência decide Requirements plan como estruturar Simulations, models, o bprojeto en chmarks Life-cycle plan em fases PLANEJAR PRÓXIMA FASE Develop ment plan Integrati on and test p lan Requi rement valid ation Desi gn V&V Serv ice S/W requi rement s Accep tance test Prod uct desi gn Integr ati on test Code Unit test Detail ed desi gn DESENVOLVER, VERIFICAR O PRODUTO NO PRÓXIMO NÍVEL Modelos de Processos 22
O Modelo Espiral (com 4 regiões) Cada loop do espiral é dividido em 4 setores DETERMINAR OBJETIVOS, ALTERNATIVAS E RESTRIÇÕES ESTABELECIMENTO DE OBJETIVOS PLANEJAMENTO PLANEJAR PRÓXIMA FASE REVIEW Requirements plan Life-cycle plan Develop ment plan Integrati on and test p lan analys is analys is analysis Prototy pe 1 Concept of Operati on Requi rement valid ation Desi gn V&V Serv ice analys is AVALIAR ALTERNATIVAS IDENTIFICAR, RESOLVER RISCOS AVALIAÇÃO E REDUÇÃO DE RISCOS Prototype 3 Prototyp e 2 S/W requi rement s Accep tance test Operati onal protoype Simulations, models, b en chmarks Prod uct desi gn Integr ati on test Code Unit test Detail ed desi gn DESENVOLVIMENTO E VALIDAÇÃO DESENVOLVER, VERIFICAR O PRODUTO NO PRÓXIMO NÍVEL Modelos de Processos 23
O Modelo Espiral de Processo de ESTABELECIMENTO DE OBJETIVOS Software são definidos objetivos específicos para a fase do projeto são identificadas restrições sobre o processo e o produto é projetado um plano de gerenciamento detalhado são identificados riscos do projeto dependendo dos riscos, estratégias alternativas podem ser planejadas Modelos de Processos 24
O Modelo Espiral de Processo de Software para cada um dos riscos COLOCAÇÃO identificados, DE uma análise OBJETIVOS detalhada é executada. passos são tomados para reduzir o risco AVALIAÇÃO E REDUÇÃO DE RISCOS Modelos de Processos 25
O Modelo Espiral de Processo de Software ESTABELECIMENTO DE OBJETIVOS AVALIAÇÃO E REDUÇÃO DE RISCOS depois da avaliação do risco, um modelo de desenvolvimento é escolhido para o sistema DESENVOLVIMENTO E VALIDAÇÃO Modelos de Processos 26
O Modelo Espiral de Processo de Software COLOCAÇÃO DE OBJETIVOS PLANEJAMENTO AVALIAÇÃO E REDUÇÃO DE RISCOS o projeto é revisto e é tomada uma decisão de continuidade se é decidido continuar, são projetados planos DESENVOLVIMENTO para a próxima fase do projeto (próximo E VALIDAÇÃO loop ) Modelos de Processos 27
O Modelo Espiral engloba as melhores características do ciclo de vida Clássico e da Prototipação, adicionando um novo elemento: a Análise de Risco segue a abordagem de passos sistemáticos do Ciclo de Vida Clássico incorporando-os numa estruturaiterativa que reflete mais realisticamente o mundo real usa a Prototipaçãoem todas as etapas da evolução do produto, como mecanismo de redução de riscos Modelos de Processos 28
Comentários sobre o Ciclo de Vida em Espiral é, atualmente, a abordagem mais realística para o desenvolvimento de software em grande escala. usa uma abordagem que capacita o desenvolvedor e o cliente a entender e reagir aos riscos em cada etapa evolutiva pode ser difícil convencer os clientes que uma abordagem "evolutiva" é controlável Modelos de Processos 29
Comentários sobre o Ciclo de Vida em Espiral 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 Modelos de Processos 30
O Modelo Espiral adiciona um novo elemento: a Análise de Risco usa a Prototipação, em qualquer etapa da evolução do produto, como mecanismo de redução de riscos 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. Modelos de Processos 31
Modelos de Processo de Software O Modelo Sequencial Linear também chamado Modelo Cascata O Modelo de Prototipação O Modelo Espiral O Modelo de Desenvolvimento Baseado em Componentes Modelos de Processos 32
O Modelo de Desenvolvimento Baseado em Componentes Utiliza tecnologias orientadas a objeto Quando projetadas e implementadas apropriadamenteas classesorientadasa objeto são reutilizáveis em diferentes aplicações e arquiteturas de sistema O Modelo de Desenvolvimento Baseado em Componentesincorporamuitasdas característicasdo modeloespiral. Modelos de Processos 33
O Modelo de Desenvolvimento Baseado em Componentes Planejamento Análise de Riscos Comunicação com Cliente Avaliação do Cliente Engenharia Construção e Liberação Modelos de Processos 34
O Modelo de Desenvolvimento identificar componentes candidatas Baseado em Componentes procurar componentes na biblioteca Planejamento Construir a n a iteração do sistema Análise de Riscos Comunicação extrair com Cliente componentes se disponíveis colocar os novos componentes na biblioteca Avaliação do Cliente construir os componentes não disponíveis Engenharia Construção e Liberação Modelos de Processos 35
O Modelo de Desenvolvimento Baseado em Componentes O Modelo de Desenvolvimento Baseado em Componentes conduz ao reuso do software a reusabilidade fornece uma série de benefícios: redução de até 70% no tempo de desenvolvimento redução de até 84% no custo do projeto índice de produtividade de até 26.2 (normal da indústria é de 16.9) esses resultados dependem darobustezda bibliotecade componentes Modelos de Processos 36
Para escolha de um Modelo de Processo de Software: natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues Modelos de Processos 37
Exercício Em 3 grupos, cada um terá 30 minutos para ler (bibliografia passada pelo professor) e discutir, entre o grupo, as principais características dos modelos estudados. Obs: cada grupo deverá escolher 1 modelo para estudar O professor apresenta 3 tipos de sistema e cada grupo discute como o modelo estudado pelo grupo poderá se adaptar para a construção de tais sistemas.