A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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.

Apresentações semelhantes


Apresentação em tema: "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."— Transcrição da apresentação:

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.5 Métodos de desenvolvimento 2.6 Métodos de quarta geração e novos paradigmas 2.7 O exemplo do RUP Objetivo: mostrar os modelos de desenvolvimento de software e os métodos de desenvolvimeto para que se esclareça a forma como os projetos eram e são desenvolvidos

2 2 - 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 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 práticasperfil visibilidadeA partir dela, surgiram questões relacionadas às práticas e ao perfil do profissional de informática e à visibilidade 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:

3 3 - 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 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 analistaprojetistaprogramador funções específicas para analista, projetista, programador

4 4 - 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 VisibilidadeVisibilidade modelo de ciclo de vida –Como um modelo 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ê?

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

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

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

8 8 - 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 Construção –Codificação Avaliação Inspeção Walkthrough Prova formal Testes –Os testes devem ser devidamente planejados PERGUNTA: Quando o sistema é entregue ao usuário?PERGUNTA: Quando o sistema é entregue ao usuário? oapó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

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

10 10 - 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 Viabilidade – é 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 – ok? projeto – concluído? codificação – testado? implantação – viável? manutenção – problemas? lógico físico

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

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

13 13 - 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 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?

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

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

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

17 17 - 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 2.5 MÉTODOS DE DESENVOLVIMENTO 2.5 MÉTODOS DE DESENVOLVIMENTO A tabela abaixo resume alguns TÉCNICASABORDAGENSFERRAMENTAS ANÁLISE TRADICIONAL FUNCIONAL TEXTOS FLUXOGRAMAS ANÁLISE ESTRUTURADA 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

18 18 - 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 2.6 MÉTODOS DE QUARTA GERAÇÃO E NOVOS PARADIGMAS2.6 MÉTODOS DE QUARTA GERAÇÃO E NOVOS PARADIGMAS 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…

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

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

21 21 - 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 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.

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

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

24 24 - 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 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)

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

26 26 - 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 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 iteração é formatada focada APENAS no que é NECESSÁRIO para alcançar os objetivos daquela fase

27 27 - 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 Atividades

28 28 - 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 –Estrutura estática – elementos do processo (atividades - COMO, disciplinas/workflows - QUANDO, artefatos – O QUE, e papéis - QUEM) são logicamente agrupados

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

30 30 - 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 Iterações com fluxos de trabalho organizados em atividades

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

32 32 - 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 –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

33 33 - 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 Conceitos fundamentais do RUP –Artefato –Informação tangível que é utilizada, criada e modificada pelos 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

34 34 - 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 –Atores Clientes, usuários e analistas –Funcionalidade Baseada em casos de uso

35 35 - 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 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!


Carregar ppt "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."

Apresentações semelhantes


Anúncios Google