Escolhendo um Modelo de Ciclo de Vida



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

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

Engenharia de Software

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

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

Desenvolvimento de Projetos

Processos de software

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

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

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

Introdução ao RUP. Livar Correia de O. C. Cunha Effektiv Solutions

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

UNIVERSIDADE FEDERAL DO PARANÁ - UFPR BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO

Princípios da Engenharia de Software aula 03

Processo de Desenvolvimento. Edjandir Corrêa Costa

Processos de Software

Processos de Software

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

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

Professor Emiliano S. Monteiro

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

RUP/PSDS. Introdução e Comparação

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

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

Engenharia de Software

ENGENHARIA DE SOFTWARE

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

Modelos de Ciclo de Vida

Engenharia de Software Processo de Desenvolvimento de Software

Processos de Software

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

Engenharia de Software. Prof. Me. Clodoaldo Brasilino

INTRODUÇÃO A ENGENHARIA DE SOFTWARE

CICLO DE VIDA DE SOFTWARE

Processos de. Desenvolvimento de Software

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

Processos de Software

Prof. Dr. Thiago Jabur Bittar

METODOLOGIAS ÁGEIS FEATURE DRIVEN DEVELOPMENT E AUP

Rational Unified Process (RUP)

PROCESSOS DE SOFTWARE

Administração de Projetos

MODELAGEM DE SISTEMAS Unidade 1 Conceitos Básicos de Modelagem. Luiz Leão

Paradigmas de Software

Gerenciamento do Escopo

Engenharia de Software

CAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS. Tereza Gonçalves Kirner

Projeto de Desenvolvimento de Software

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

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

ENGENHARIA DE SOFTWARE

Unidade II MODELAGEM DE PROCESSOS. Profa. Gislaine Stachissini

Engenharia de Software II

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

Ciclo de Vida de Sistemas de Informação

Modelos de Processo de Software

Processos de Software

Problemas e Práticas Recomendadas no Desenvolvimento de Software

Ciclo de vida do projeto x do

Engenharia de Software

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

<Nome do Projeto> Plano do Projeto

ARQUITETURA E DESENHO

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

MODELOS DE PROCESSOS (PARTE 2)

ENGENHARIA DE SOFTWARE

Processo Unificado. Leonardo Gresta Paulino Murta

Análise de Sistemas Aula 4

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

ICET CURSO: Ciência da Computação e Sistemas de Informação (Engenharia de Software) Campus: Data: / / Nome:

Halison Miguel Edvan Pontes

Engenharia de Software

Gerência e Planejamento de Projeto. Engenharia de Software I Profa. Elisa Yumi Nakagawa 1 o semestre de 2015

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

Processo. Processo unificado. Principais Características do UP. Principais Características do UP RUP. Unified Process (Processo Unificado)

Instituto Federal Sul-rio-grandense. Placa universal para controle de máquinas de lavar roupa Plano de Projeto - versão 1.0

Engenharia de Software II

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

Analista de Sistemas S. J. Rio Preto

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

ISO/IEC Processo de ciclo de vida

Engenharia Software. Ení Berbert Camilo Contaiffer

Qualidade de Software Aula 8 / 2010

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

Gerência de Projetos. Elias Ferreira

Modelo de documentação Universidade de Brasília

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

PROJETO INTEGRADO AULA 4 INTEGRAÇÃO E ESCOPO

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

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

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima

Ciclo de vida do software

Prof. Ms. Ronaldo Martins da Costa

Engenharia de Software II

Desenvolvimento Ágil no Governo. Produtos de Software. Luís Dosso. Outubro/2011. Sistemas e aplicações sob medida para as necessidades do seu negócio.

Análise e Projeto. Prof. Erinaldo Sanches Nascimento

Transcrição:

Escolhendo um Modelo de Ciclo de Vida Ciclos de Vida 1 Ciclo de Vida de um Produto Qualquer desenvolvimento de produto inicia com uma idéia e termina com o produto pretendido. O ciclo de vida de um produto é a definição dos passos que transformam aquela idéia no produto acabado. O modelo de ciclo de vida éocentrodo processo de gerenciamento do produto. Ciclos de Vida 2

Componentes do Desenvolvimento Fases: passos que indicam o progresso do projeto. Atividades: ações requeridas para criar e entregar o projeto. Subprodutos: produtos tangíveis criados durante o projeto. Milestones (marcos): eventos importantes no projeto (momentos de decisão). Ciclos de Vida 3 Diferentes Modelos Diferentes modelos tem diferentes componentes e não existe um modelo correto. É responsabilidade do gerente de projeto, verificar quais modelos são mais indicados para o projeto. Ao final, o gerente deve combinar estes modelos, criando um modelo que seja adequado às necessidades do projeto. Ciclos de Vida 4

A Escolha do Modelo A escolha de um modelo adequado é crítica. O modelo escolhido será a ferramenta de gerência (visão comum de como o trabalho será feito). Ciclos de Vida 5 Expectativas O ciclo de vida deve viabilizar: a definição de pontos de controle o planejamento e acompanhamento do progresso o planejamento e acompanhamento do orçamento estimativas a gerência de risco Ciclos de Vida 6

Pensando na Equipe de Desenvolvimento A equipe deve conhecer e entender o modelo a ser adotado. DICA: entender como as equipes de desenvolvimento de software realmente trabalham. Ciclos de Vida 7 Considerações A escolha é direcionada pelas características econômicas da situação. Objetivo fundamental de qualquer gerente de projeto: entregar o projeto da forma mais econômica possível, minimizando tempo e esforço. Primeiras técnicas: anos 70 quais eram as prioridades? tamanho do código e tempos de compilação. Ciclos de Vida 8

Habilidades de um Projetista Responder a mudanças nos requisitos Validar continuamente o produto. Gerenciar o conteúdo através do ciclo de desenvolvimento. Ser flexível para resolver problemas com dependências pendentes. Promover soluções através da colaboração do grupo. Estabelecer e assegurar milestones (o grupo deve participar e estar informado). Ciclos de Vida 9 Trabalho em Grupo Ênfase a qualidade no projeto e não através de testes. Projeto mais iterativo. Prevenção mais do que correção. Concorrência de projeto. Ênfase em processos e métricas. Estabelecer a funcionalidade da equipe e os inter-relacionamentos *. Delegar responsabilidades. * Cross-functional design: freqüentemente inclui a participação de clientes e/ou usuários. Ciclos de Vida 10

Modelos de Ciclo de Vida Vários modelos: em cascata em espiral desenvolvimento rápido de aplicações iterativo incremental Conceitos: Release: versão completa do produto Build: versão que atende predeterminados requisitos Fase: os componentes do ciclo de desenvolvimento Integração: versão parcialmente funcional do sistema total que é compilado e linkado como parte do processo de desenvolvimento Ciclos de Vida 11 Modelo em Cascata Ciclos de Vida 12

Modelo em Espiral (Boehm) Iterações através de quatro fases de alto nível: determinação de objetivos: definição do produto, determinação de objetos de negócio, restrições avaliação de alternativas: análise de risco, prototipação desenvolvimento do produto: projeto detalhado, codificação, testes das unidades, integração planejamento da próxima iteração: avaliação do cliente, planejamento do projeto, entrega ao cliente Premissa: 2oumaisbuilds Raio (distância a partir do centro) = esforço gasto Ciclos de Vida 13 Fases e Atividades do Modelo Espiral Revisão Planejamento (Determinação dos objetivos, alternativas e restrições) Avaliação do Cliente e Plano da próxima fase Requisitosiniciaise planejamento do projeto Planoderequisitos plano de ciclo de vida Plano de Desenvolvimento Plano de teste e integração Custos Análise de Risco 2 Análise Protótipo de 1 Risco 1 Conceito de operação Validação dos requisitos Validação e verificação do projeto Implementação Avaliação das alternativas e identificação/resolução e Análise dos riscos Análise de Risco 4 Análise de Risco 3 Protótipo 2 Protótipo 3 Requisitos de Software Projeto do produto de software Teste de Sistema Teste de Integração Protótipo operacional Simulações, modelos, benchmarks Teste de unidade Projeto detalhado Código Engenharia Desenvolvimento e verificação do próximo nível do produto Ciclos de Vida 14

Aspectos de Gerência do Modelo Espiral Melhorias do modelo em cascata. Oferece a oportunidade para o usuário/cliente se envolver. Iterativo. Difícil e alto custo para adoção (muitos estágios intermediários: problemas com documentação e treinamento). Custo/benefício duvidoso: muito tempo gasto nas fases 1, 2 e 4. Pode não convergir para uma solução. Ciclos de Vida 15 Desenvolvimento Rápido de Aplicações (RAD) Não é exatamente um modelo e se baseia em: que um modelo de ciclo de vida formal é ineficiente e muitas revisões e documentações geradas pelos modelos em cascata e em espiral são perda de tempo a formalidade dificulta a comunicação com o cliente não há um modelo de ciclo de vida bem definido: há uma seqüência de integrações evolucionárias ou protótipos que são revisados com o cliente (os requisitos são levantados a partir destas iterações) cada integração está associada a um determinado período de tempo, conhecido como Time Box Ciclos de Vida 16

Passos do RAD 1. Analisar requisitos; 2. Desenvolver projeto inicial; 3. Faça até estar pronto { Desenvolver a versão dentro do tempo; Entregar release para o cliente; Receber o feedback; Planejar versão para responder ao feedback; }; Ciclos de Vida 17 Características do RAD Separação entre fases e atividades: cada time box inclui análise, projeto e implementação. Integrações constantes. Ênfase na codificação e não na especificação. Enfoque na reutilização. Envolvimento contínuo do cliente. Ciclos de Vida 18

Atividades para Resolver um Problema Definição do escopo: entender o problema. Projeto: desenvolver uma abordagem para resolver o problema (usualmente usando algum tipo de diagrama). Implementação: executar o projeto. Verificação: confirmar se a solução resolve o problema original. Ciclos de Vida 19 Aspectos Gerenciais do RAD Para o modelo RAD poder ser aplicado com sucesso, devem ser considerados duas premissas: Há um processo eficiente de desenvolvimento acelerado para responder ao feedback Você e o cliente concordarão que o projeto está feito Problemas com riscos, prazos e custos. Ciclos de Vida 20

Modelo Iterativo Controlado Modelo emergente. Procura usar a flexibilidade e modularidade da orientação a objetos. Preocupação com como o pessoal trabalha, mas permitindo o controle da gerência. Divisão em fases e atividades. Ciclos de Vida 21 Características do Iterativo Controlado Processo de gerência disciplinado: as fases são planejadas, orçamentadas, e acompanhadas. os critérios de saída são bem definidos (milestones). controle de custo e riscos. Define 4 fases: Inception (concepção) Elaboração Construção Transição Ciclos de Vida 22

Fases do Iterativo Controlado Inception (concepção): entendimento inicial e concordância da definição do produto (o que será entregue). Elaboração: entendimento inicial e concordância do projeto detalhado (como será feito). Construção: criação do primeiro build totalmente funcional. Transição: entrega do produto de acordo com os requisitos iniciais. Ciclos de Vida 23 Distribuição das Atividades para Cada Fase Inception Elaboração Construção Transição Escopo Escopo Escopo Projeto Escopo Projeto Implem. Projeto Implem. Projeto Verifica. Implem. Implem. Verifica. Verifica Verifica Ciclos de Vida 24

Considerações sobre o Modelo Iterativo Os objetivos não estão amarrados a finalização das atividades A proposta é identificar o momento de entendimento necessário para avançar no projeto (regra 80-20) Os objetivos utilizam a palavra inicial Modificações durante o projeto Como definir os critérios de saída O modelo reflete como as equipes trabalham Flexibilização das mudanças Comunicação Ciclos de Vida 25 Distribuição das Técnicas no Modelo Iterativo Inception Elaboração Construção Transição Use-cases (usuário) DiagramasdePacote(altonível) Use-cases (desenv) Diag. Seqüência Diagramas de classe Implement. das classes Entrega e teste Ciclos de Vida 26

Builds Incrementais Desenvolvimento do ciclo de vida: seqüência de builds (versões funcionais) Pontos a considerar: Satisfação do cliente Planejamento Variação incremental do modelo iterativo Ciclos de Vida 27 Vantagens da Proposta Incremental Problemas complexos não são resolvidos de uma única vez. Maior controle sobre custos e riscos. Facilita a gerência de instabilidade da equipe. Ciclos de Vida 28

Modelo Iterativo Incremental I E C T 1 I E C T 2 I E C T 3 Ciclos de Vida 29