2. modelos de ciclo de vida e métodos de desenvolvimento 2.1 o ciclo de vida em cascata 2.2 o ciclo...

35
2. 2. Modelos de ciclo de vida e métodos de Modelos de ciclo de vida e métodos de desenvolvimento desenvolvimento 2.1 O ciclo de vida em cascata 2.1 O ciclo de vida em cascata 2.2 O ciclo de vida evolucionário 2.2 O ciclo de vida evolucionário 2.3 Prototipagem 2.3 Prototipagem 2.4 Modelo espiral 2.4 Modelo espiral 2.5 Métodos de desenvolvimento 2.5 Métodos de desenvolvimento 2.6 Métodos de quarta geração e novos paradigmas 2.6 Métodos de quarta geração e novos paradigmas 2.7 O exemplo do RUP 2.7 O exemplo do RUP Objetivo: mostrar os modelos de Objetivo: mostrar os modelos de desenvolvimento de software e os desenvolvimento de software e os métodos de desenvolvimeto para que se métodos de desenvolvimeto para que se esclareça a forma como os projetos esclareça a forma como os projetos eram e são desenvolvidos eram e são desenvolvidos

Upload: internet

Post on 17-Apr-2015

145 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 2. Modelos de ciclo de vida e métodos de desenvolvimento 2.1 O ciclo de vida em cascata 2.2 O ciclo de vida evolucionário 2.3 Prototipagem 2.4 Modelo espiral

2. 2. Modelos de ciclo de vida e métodos de desenvolvimentoModelos de ciclo de vida e métodos de desenvolvimento2.1 O ciclo de vida em cascata2.1 O ciclo de vida em cascata2.2 O ciclo de vida evolucionário2.2 O ciclo de vida evolucionário2.3 Prototipagem2.3 Prototipagem2.4 Modelo espiral2.4 Modelo espiral2.5 Métodos de desenvolvimento2.5 Métodos de desenvolvimento2.6 Métodos de quarta geração e novos paradigmas2.6 Métodos de quarta geração e novos paradigmas2.7 O exemplo do RUP2.7 O exemplo do RUP

Objetivo: mostrar os modelos de Objetivo: mostrar os modelos de desenvolvimento de software e os métodos desenvolvimento de software e os métodos de desenvolvimeto para que se esclareça a de desenvolvimeto para que se esclareça a

forma como os projetos eram e são forma como os projetos eram e são desenvolvidosdesenvolvidos

Page 2: 2. Modelos de ciclo de vida e métodos de desenvolvimento 2.1 O ciclo de vida em cascata 2.2 O ciclo de vida evolucionário 2.3 Prototipagem 2.4 Modelo espiral

22 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento COINFO – CEFET-PB COINFO – CEFET-PB

• O estudo e a sistematização do processo de desenvolvimento de software, ou seja, a ES, requer que se conheçam as características do produto desejado e da tecnologia que será utilizada

• A partir dela, surgiram questões relacionadas às práticaspráticas e ao perfilperfil do profissional de informática e à visibilidadevisibilidade do projeto

• PráticasPráticas– Pergunta: Como vocês estão realizando o trabalho de

construção do sistema? (Yourdon)• Respostas dadas: sobre uma ferramenta ou uma marca

– Tais respostas refletem o fracasso de construção do sistema que não leva em consideração melhores práticas:

Page 3: 2. Modelos de ciclo de vida e métodos de desenvolvimento 2.1 O ciclo de vida em cascata 2.2 O ciclo de vida evolucionário 2.3 Prototipagem 2.4 Modelo espiral

33 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento COINFO – CEFET-PB COINFO – CEFET-PB

• Gerenciamento de risco• Especificação• Inspeção e revisão de pares• Cronogramento e rastreamento com métricas• Rastreamento de defeitos e controle de qualidade• Especificações de hardware e software• Responsabilidade gerencial• Visibilidade

• PerfilPerfil do profissional envolve habilidades• Comunicação• Capacidade de análise• Conhecimento da atividade do usuário• Capacidade de negociação• Administração de projetos• Conhecimento técnico

funções específicas para analistaanalista, projetistaprojetista, programadorprogramador

Page 4: 2. Modelos de ciclo de vida e métodos de desenvolvimento 2.1 O ciclo de vida em cascata 2.2 O ciclo de vida evolucionário 2.3 Prototipagem 2.4 Modelo espiral

44 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento COINFO – CEFET-PB COINFO – CEFET-PB

• VisibilidadeVisibilidade– Como um modelo de ciclo de vidamodelo de ciclo de vida contempla o gerenciamento de

software?• Através de um método que permita ver o progresso ou a falta de

progresso em um projeto

• Precisamos então entender esses modelos?

• Por quê?

Page 5: 2. Modelos de ciclo de vida e métodos de desenvolvimento 2.1 O ciclo de vida em cascata 2.2 O ciclo de vida evolucionário 2.3 Prototipagem 2.4 Modelo espiral

55 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento COINFO – CEFET-PB COINFO – CEFET-PB

• Todo processo de desenvolvimento é orientado por modelos de ciclo de vida– As funções primárias são:

• Determinar as fases• Determinar a ordem das atividades e a atividade de cada

etapa• Estabelecer critérios para a transição das fases

• O estudo do desenvolvimento trouxe novas sugestões– O mais primitivo foi o “caótico”, artesanal, “se colar colou”,

codificar e consertar, com um foco na programação

Page 6: 2. Modelos de ciclo de vida e métodos de desenvolvimento 2.1 O ciclo de vida em cascata 2.2 O ciclo de vida evolucionário 2.3 Prototipagem 2.4 Modelo espiral

66 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento COINFO – CEFET-PB COINFO – CEFET-PB

• 2.1 O CICLO DE VIDA EM CASCATA2.1 O CICLO DE VIDA EM CASCATA

– A complexidade e o tamanho dos sistemas ocasionou sugestões mais focadas em sistemas do que em programas

– A primeira dessas sugestões foi baseada na engenharia de sistemas: o modelo em cascata

Análise

Projeto

Construção

Avaliação

Manutenção

Page 7: 2. Modelos de ciclo de vida e métodos de desenvolvimento 2.1 O ciclo de vida em cascata 2.2 O ciclo de vida evolucionário 2.3 Prototipagem 2.4 Modelo espiral

77 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento COINFO – CEFET-PB COINFO – CEFET-PB

• Análise– Requisitos do sistema– Domínio do problema– Requisitos e modelagem conceitual documentados para o

usuário

• Projeto– Vários passos com quatro atributos:

• Estrutura de dados• Arquitetura de software• Detalhe procedural• Projeto da interface• O documento especificação de projeto é baseado na

especificação de requisitos

Page 8: 2. Modelos de ciclo de vida e métodos de desenvolvimento 2.1 O ciclo de vida em cascata 2.2 O ciclo de vida evolucionário 2.3 Prototipagem 2.4 Modelo espiral

88 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento COINFO – CEFET-PB COINFO – CEFET-PB

• Construção– Codificação

• Avaliação• Inspeção• Walkthrough• Prova formal• Testes

– Os testes devem ser devidamente planejadosOs testes devem ser devidamente planejados

• PERGUNTA: Quando o sistema é entregue ao usuário?PERGUNTA: Quando o sistema é entregue ao usuário?o após resultado satisfatório dos testes, mas pode haver erros

– Observados pelo usuário– De adaptação ao ambiente– De desempenho

• Manutenção– Modificações devido a erros, adaptação e desempenho

Page 9: 2. Modelos de ciclo de vida e métodos de desenvolvimento 2.1 O ciclo de vida em cascata 2.2 O ciclo de vida evolucionário 2.3 Prototipagem 2.4 Modelo espiral

99 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento COINFO – CEFET-PB COINFO – CEFET-PB

• O ciclo de vida em cascata ou “clássico” é o paradigma mais antigo e o que mostrou maior evolução até então

• Desvantagens

– Os projetos reais raramente seguem o fluxo sequencial do modelo

• Há necessidade de iterações

– É difícil declarar todas as exigências no início• Há incerteza natural nos projetos

– O cliente precisa de muita paciência• Há problemas terríveis em erros não previstos

Page 10: 2. Modelos de ciclo de vida e métodos de desenvolvimento 2.1 O ciclo de vida em cascata 2.2 O ciclo de vida evolucionário 2.3 Prototipagem 2.4 Modelo espiral

1010 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento COINFO – CEFET-PB COINFO – CEFET-PB

Viabilidade – Viabilidade – é viável?é viável?

• 2.2 CICLO DE VIDA EVOLUCIONÁRIO2.2 CICLO DE VIDA EVOLUCIONÁRIO

– Expansão gradativa com comportamentos do software

– É variante do “cascata” e o projeto foi decomposto em físico e lógico

Requisitos – Requisitos – ok?ok?

projeto – projeto – concluído?concluído?

codificação – codificação – testado?testado?

implantação – implantação – viável?viável?

manutenção – manutenção – problemas?problemas?

lógicológico

físicofísico

Page 11: 2. Modelos de ciclo de vida e métodos de desenvolvimento 2.1 O ciclo de vida em cascata 2.2 O ciclo de vida evolucionário 2.3 Prototipagem 2.4 Modelo espiral

1111 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento COINFO – CEFET-PB COINFO – CEFET-PB

• 2.3 PROTOTIPAGEM2.3 PROTOTIPAGEM

– Forma de desenvolvimento incremental com quatro tipos

• Ilustrativo (telas)

• Simulado (acesso a banco de dados)

• Funcional (subconjunto limitado)

• Evolucionário (começa pequeno e cresce) – não descartável

Page 12: 2. Modelos de ciclo de vida e métodos de desenvolvimento 2.1 O ciclo de vida em cascata 2.2 O ciclo de vida evolucionário 2.3 Prototipagem 2.4 Modelo espiral

1212 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento COINFO – CEFET-PB COINFO – CEFET-PB

Page 13: 2. Modelos de ciclo de vida e métodos de desenvolvimento 2.1 O ciclo de vida em cascata 2.2 O ciclo de vida evolucionário 2.3 Prototipagem 2.4 Modelo espiral

1313 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento COINFO – CEFET-PB COINFO – CEFET-PB

• O que fazer com um protótipo quando ele identificar os requisitos de software?

• Desvantagens

– O cliente pode ver qualquer protótipo como uma versão de trabalho do software

– O desenvolvedor se familiariza com algumas opções de implementação e faz concessões para entregar o produto rapidamente

• A questão é se se deve planejar antecipadamente a construção de algo que se vai jogar fora ou prometer entregar isso ao cliente

– Vale a pena defender a honestidade com o cliente?Vale a pena defender a honestidade com o cliente?

Page 14: 2. Modelos de ciclo de vida e métodos de desenvolvimento 2.1 O ciclo de vida em cascata 2.2 O ciclo de vida evolucionário 2.3 Prototipagem 2.4 Modelo espiral

1414 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento COINFO – CEFET-PB COINFO – CEFET-PB

• Após o modelo evolucionário e de prototipação surgiram outros variantes

– Ciclo de vida com reutilização

– Ciclo de vida com síntese automática

– Modelos de fusão…

– … até o surgimento do que hoje se considera um METAMODELO

Page 15: 2. Modelos de ciclo de vida e métodos de desenvolvimento 2.1 O ciclo de vida em cascata 2.2 O ciclo de vida evolucionário 2.3 Prototipagem 2.4 Modelo espiral

1515 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento COINFO – CEFET-PB COINFO – CEFET-PB

• 2.4 MODELO ESPIRAL2.4 MODELO ESPIRAL

– Baseado em processos e níveis de risco

– Cíclico

– Pode ser considerado incremental

– Os riscos levam em conta “prosseguir” / “não prosseguir”

– O fluxo ao redor da trajetória em espiral leva ao desenvolvimento mais completo distribuído em quatro quadrantes

Page 16: 2. Modelos de ciclo de vida e métodos de desenvolvimento 2.1 O ciclo de vida em cascata 2.2 O ciclo de vida evolucionário 2.3 Prototipagem 2.4 Modelo espiral

1616 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento COINFO – CEFET-PB COINFO – CEFET-PB

Page 17: 2. Modelos de ciclo de vida e métodos de desenvolvimento 2.1 O ciclo de vida em cascata 2.2 O ciclo de vida evolucionário 2.3 Prototipagem 2.4 Modelo espiral

1717 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento COINFO – CEFET-PB COINFO – CEFET-PB

• 2.5 MÉTODOS DE DESENVOLVIMENTO2.5 MÉTODOS DE DESENVOLVIMENTO

• A tabela abaixo resume alguns

TÉCNICASTÉCNICAS ABORDAGENSABORDAGENS FERRAMENTASFERRAMENTAS

 ANÁLISE

TRADICIONAL

 FUNCIONAL

 

•TEXTOS•FLUXOGRAMAS

  

ANÁLISEESTRUTURADA

 

  

•FUNCIONAL•DADOS

 •DIAGRAMA DE FLUXO DE DADOS •DIAGRAMA DE ESTRUTURA DE DADOS•MINIESPECIFICAÇÕES•NORMALIZAÇÃO •DICIONÁRIO DE DADOS  

   

ANÁLISE ESSENCIAL

  

   

•FUNCIONAL•DADOS

•CONTROLE  

 •TABELA DE EVENTOS •DIAGRAMA DE FLUXO DE DADOS •DIAGRAMA DE ENTIDADE-RELACIONAMENTO•DIAGRAMA DE TRANSIÇÃO DE ESTADOS•DIAGRAMA DE ESTRUTURA DE DADOS•NORMALIZAÇÃO •MINIESPECIFICAÇÕES•DICIONÁRIO DE DADOS 

Page 18: 2. Modelos de ciclo de vida e métodos de desenvolvimento 2.1 O ciclo de vida em cascata 2.2 O ciclo de vida evolucionário 2.3 Prototipagem 2.4 Modelo espiral

1818 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento COINFO – CEFET-PB COINFO – CEFET-PB

• 2.6 MÉTODOS DE QUARTA GERAÇÃO E NOVOS 2.6 MÉTODOS DE QUARTA GERAÇÃO E NOVOS PARADIGMASPARADIGMAS

• O modelo do ciclo de espiral é considerado um modelo que engloba os demais e os seus quadrantes envolvem os outros paradigmas– Planejamento– Análise / Avaliação das alternativas / riscos– Desenvolvimento / Engenharia de software– Avaliação do cliente

• Apesar disso tudo, ainda há técnicas de quarta geração e outras formas de combinação de paradigmas que podem não ser contempladas no ciclo de espiral…

Page 19: 2. Modelos de ciclo de vida e métodos de desenvolvimento 2.1 O ciclo de vida em cascata 2.2 O ciclo de vida evolucionário 2.3 Prototipagem 2.4 Modelo espiral

1919 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento COINFO – CEFET-PB COINFO – CEFET-PB

• Técnicas de quarta geração (4GT)– Abrangem um amplo conjunto de ferramentas de software que

possibilitam que o desenvolvedor especifique alguma característica do software em um nível elevado

• Têm desenvolvido bastante mas continuam dependentes do diálogo cliente-desenvolvedor

• Para pequenas aplicações é possível passar diretamente da etapa da coleta de exigências para a implementação usando um linguagem de quarta geração (4GL)

• O uso de 4GL sem planejamento ocasiona os mesmos problemas que ocorrem nos enfoques convencionais

Coleta de requisitos

Estratégia de projeto

Implementação 4GL

Teste

Page 20: 2. Modelos de ciclo de vida e métodos de desenvolvimento 2.1 O ciclo de vida em cascata 2.2 O ciclo de vida evolucionário 2.3 Prototipagem 2.4 Modelo espiral

2020 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento COINFO – CEFET-PB COINFO – CEFET-PB

• Prós– Redução no tempo de desenvolvimento– Produtividade aumentada

• Contras– Não são tão fáceis quanto se imagina– O código produzido é ineficiente– A manutenibilidade é questionável

• Situação atual– São mais voltadas para aplicações comerciais, mas já há uso

para aplicações de engenharia e de tempo real– Tempo reduzido para aplicações pequenas e intermediárias– Para grandes projetos, necessita-se tanto ou mais análise,

planejamento e teste

Page 21: 2. Modelos de ciclo de vida e métodos de desenvolvimento 2.1 O ciclo de vida em cascata 2.2 O ciclo de vida evolucionário 2.3 Prototipagem 2.4 Modelo espiral

2121 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento COINFO – CEFET-PB COINFO – CEFET-PB

• Combinação de paradigmas

– Além do espiral, qualquer paradigma pode constituir uma base sobre a qual outros paradigmas são integrados, incluindo 4GT

– Não há necessidade de ser dogmático em relação a paradigmas para a engenharia de software

• a natureza da aplicação deve ditar a abordagem a ser tomada

– Contudo, para uma prototipagem evolutiva, algumas eventos podem ser priorizados

• O usuário é incapaz ou não deseja examinar modelos abstratos em papel, como os diagramas e fluxos de dados.

• O usuário é incapaz ou não deseja articular seus requisitos de alguma forma e só pode determinar seus requisitos por meio de um processo de tentativa e erro.

• O sistema deverá ser em-linha, com atividades com tela completa em terminal, ao contrário dos sistemas de edição, atualização e relatório em lote.

• O sistema não requer a especificação de muitos detalhes em algoritmos.

Page 22: 2. Modelos de ciclo de vida e métodos de desenvolvimento 2.1 O ciclo de vida em cascata 2.2 O ciclo de vida evolucionário 2.3 Prototipagem 2.4 Modelo espiral

2222 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento COINFO – CEFET-PB COINFO – CEFET-PB

• 2.7 O EXEMPLO DO RUP2.7 O EXEMPLO DO RUP

• O RUP (Rational Unified Process) é um framework genérico para processos de desenvolvimento de software orientado à arquitetura, funcionalidade, iteração e incrementação, utilizando UML para projeto e documentações

• A sua história está relacionada a métodos aplicados em empresas e suas modificações, realizadas por estudiosos de métodos de desenvolvimento e por outras instituições, incorporando ainda elementos adotados por outros métodos

Page 23: 2. Modelos de ciclo de vida e métodos de desenvolvimento 2.1 O ciclo de vida em cascata 2.2 O ciclo de vida evolucionário 2.3 Prototipagem 2.4 Modelo espiral

2323 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento COINFO – CEFET-PB COINFO – CEFET-PB

Page 24: 2. Modelos de ciclo de vida e métodos de desenvolvimento 2.1 O ciclo de vida em cascata 2.2 O ciclo de vida evolucionário 2.3 Prototipagem 2.4 Modelo espiral

2424 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento COINFO – CEFET-PB COINFO – CEFET-PB

• O RUP e o processo iterativo– O RUP usa uma abordagem iterativa que é uma sequência de

passos incrementais ou iterações– Cada iteração inclui uma ou mais das disciplinas de

desenvolvimento (requisitos, análise, projeto, implementação etc)

Page 25: 2. Modelos de ciclo de vida e métodos de desenvolvimento 2.1 O ciclo de vida em cascata 2.2 O ciclo de vida evolucionário 2.3 Prototipagem 2.4 Modelo espiral

2525 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento COINFO – CEFET-PB COINFO – CEFET-PB

• A abordagem iterativa tem se mostrado superior por várias razões– Envolve mudança de requisitos

– Integração não se torna um “big bang” no final do projeto

– Riscos são normalmente descobertos ou direcionados a uma solução durante as fases iniciais

– Gerenciamento tem meios de fazer mudanças táticas do produto

– Reuso é facilitado

– Defeitos podem ser corrigidos em sucessivas iterações

– É melhor para um projeto pessoal e os membros da equipe aprendem durante o processo

– O desenvolvimento é refinado e melhorado no decurso do projeto

Page 26: 2. Modelos de ciclo de vida e métodos de desenvolvimento 2.1 O ciclo de vida em cascata 2.2 O ciclo de vida evolucionário 2.3 Prototipagem 2.4 Modelo espiral

2626 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento COINFO – CEFET-PB COINFO – CEFET-PB

• O processo do RUP tem duas estruturas ou dimensões

– Estrutura dinâmica – representada pela dimensãa horizontal ou dimensão de tempo do processo (fases)

• Há tantas iterações quanto possíveis para alcançar os objetivos daquela fase suficientemente, mas não MAIS

• Se os objetivos não forem alcançados dentro da fase planejada, outra iteração deve ser adicionada à fase

– Para evitar atrasos, deve-se ter certeza que cada Para evitar atrasos, deve-se ter certeza que cada iteração é formatada focada APENAS no que é iteração é formatada focada APENAS no que é NECESSÁRIO para alcançar os objetivos daquela faseNECESSÁRIO para alcançar os objetivos daquela fase

Page 27: 2. Modelos de ciclo de vida e métodos de desenvolvimento 2.1 O ciclo de vida em cascata 2.2 O ciclo de vida evolucionário 2.3 Prototipagem 2.4 Modelo espiral

2727 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento COINFO – CEFET-PB COINFO – CEFET-PB

Atividades

Page 28: 2. Modelos de ciclo de vida e métodos de desenvolvimento 2.1 O ciclo de vida em cascata 2.2 O ciclo de vida evolucionário 2.3 Prototipagem 2.4 Modelo espiral

2828 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento COINFO – CEFET-PB COINFO – CEFET-PB

– Estrutura estática – elementos do processo (atividades - COMO, disciplinas/workflows - QUANDO, artefatos – O QUE, e papéis - QUEM) são logicamente agrupados

Page 29: 2. Modelos de ciclo de vida e métodos de desenvolvimento 2.1 O ciclo de vida em cascata 2.2 O ciclo de vida evolucionário 2.3 Prototipagem 2.4 Modelo espiral

2929 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento COINFO – CEFET-PB COINFO – CEFET-PB

• Cada ciclo tem quatro fases:– Concepção – escopo e viabilidade econômica

• Compreensão do problema e da tecnologia• Casos de uso críticos• Critérios de sucesso, avaliação de riscos e estimativas

– Elaboração – identificação dos principais riscos e arquitetura• Plano de projeto• Definição de requisitos em casos de uso

– Construção – iteração até o final• Desenvolvimento• Descrição dos critérios de aceitação• Testes conjuntos e manuais de aceitação

– Transição - disponibilidade de uma versão• Dispõe o sistema, treinamento e verificação da satisfação

Page 30: 2. Modelos de ciclo de vida e métodos de desenvolvimento 2.1 O ciclo de vida em cascata 2.2 O ciclo de vida evolucionário 2.3 Prototipagem 2.4 Modelo espiral

3030 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento COINFO – CEFET-PB COINFO – CEFET-PB

• Iterações com fluxos de trabalho organizados em atividades

Page 31: 2. Modelos de ciclo de vida e métodos de desenvolvimento 2.1 O ciclo de vida em cascata 2.2 O ciclo de vida evolucionário 2.3 Prototipagem 2.4 Modelo espiral

3131 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento COINFO – CEFET-PB COINFO – CEFET-PB

• As atividades são divididas em um bloco de suporte e outro de engenharia de software

• Atividades de Engenharia de sofware:– Modelagem do negócio – sociabilização da estrutura, dinâmica e

modelo para que usuários e equipe de desenvolvimento tenham mesma visão organizacional

– Requisitos – Busca, compreensão e requisito dos sistemas e gestão de escopo e mudanças

– Análise e projeto – transformação dos requisitos em especificações técnicas

– Implementação – criação dos programas segundo as especificações técnicas

Page 32: 2. Modelos de ciclo de vida e métodos de desenvolvimento 2.1 O ciclo de vida em cascata 2.2 O ciclo de vida evolucionário 2.3 Prototipagem 2.4 Modelo espiral

3232 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento COINFO – CEFET-PB COINFO – CEFET-PB

– Testes – testes de conjunto e integração e validação

– Entrega – empacotamento, distribuição, instalação e treinamento

• Atividades de suporte:– Gestão de configuração – gerência de todos os artefatos

– Gestão de projeto – planejamento, acompanhamento e gerenciamento dos riscos

– Ambiente – Organização do ambiente de trabalho e da configuração do RUP

Page 33: 2. Modelos de ciclo de vida e métodos de desenvolvimento 2.1 O ciclo de vida em cascata 2.2 O ciclo de vida evolucionário 2.3 Prototipagem 2.4 Modelo espiral

3333 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento COINFO – CEFET-PB COINFO – CEFET-PB

• Conceitos fundamentais do RUP

– Artefato– Informação tangível que é utilizada, criada e modificada Informação tangível que é utilizada, criada e modificada

pelos trabalhadorespelos trabalhadores

– Atividade• Unidade tangível de trabalho realizado por um trabalhador

em uma rotina, implicando uma responsablidade definida, produzindo um resultado que pode ser avaliado a partir de entradas conhecidas

– Modelo• Completa descrição de um sistema a partir de uma

perspectiva particular, da criação de um modelo

Page 34: 2. Modelos de ciclo de vida e métodos de desenvolvimento 2.1 O ciclo de vida em cascata 2.2 O ciclo de vida evolucionário 2.3 Prototipagem 2.4 Modelo espiral

3434 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento COINFO – CEFET-PB COINFO – CEFET-PB

– Atores• Clientes, usuários e analistas

– Funcionalidade• Baseada em casos de uso

Page 35: 2. Modelos de ciclo de vida e métodos de desenvolvimento 2.1 O ciclo de vida em cascata 2.2 O ciclo de vida evolucionário 2.3 Prototipagem 2.4 Modelo espiral

3535 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Modelos de Ciclo de Vida e Métodos de Desenvolvimento COINFO – CEFET-PB COINFO – CEFET-PB

• Espírito do RUP

– Ataque os riscos principais cedo e continuamente… ou eles atacarão você!

– Assegure que você entrega valor ao seu cliente!

– Permaneça focado no software executável!

– Acomode mudanças cedo no projeto!

– Delinear um arquitetura executável logo cedo!

– Construa seu sistema com componentes!

– Trabalhe junto como um único grupo!

– Faça da qualidade um meio de vida e não uma reflexão para a posteridade!